母驴舒吧 关注:7贴子:1,028
  • 15回复贴,共1

Logic Patterns

只看楼主收藏回复

Logic Patterns


IP属地:上海来自Android客户端1楼2020-06-18 00:38回复
    逻辑图式就是在某种活动中经常出现的逻辑推理形式。
    比如说:在围棋中,小尖可以连通两串棋子。
    这是因为无论对方从哪一边端,我们都可以从另一边连,因此两串棋子是连通的。
    对于双关同理。
    这里的逻辑图式就是
    A→C
    B→C
    A∨B
    _______
    C


    IP属地:上海来自Android客户端2楼2020-06-18 00:41
    回复
      一个值得讨论的问题是:什么才是逻辑?
      按照Random thoughts帖子里的说法,分类,排列,划分,都是广义“逻辑”中的一种,当然还包括aba^(-1)的操作。
      但它们不好统一。
      因此暂定“逻辑图式”=“命题逻辑定理”


      IP属地:上海来自Android客户端3楼2020-06-18 00:48
      回复
        这么说∃∀推∀∃也不行了?
        最终的答案大概介于命题逻辑和一阶逻辑之间,但是我对这两者之间的逻辑种类不太熟悉。


        IP属地:上海来自Android客户端4楼2020-06-18 00:53
        回复
          逆合成分析算不算logic pattern?
          αβ搜索呢?
          迭代加深呢?
          人们通常认为计算机只能给出某道题的答案,但不能从中总结知识。Logic Pattern算不算知识?


          IP属地:上海来自Android客户端5楼2020-06-18 01:00
          回复
            考虑以下游戏:在所有 • 的位置填入1,2,3使得任何一个横着或竖着的长方形的四个顶点数字不全相同
            • • 2 • • 2 2 • 1
            • • • 1 • 1 3 3 •
            • • • • 3 • • • 1
            3 2 • • • • 1 • 2
            2 • 3 • • 2 • • 1
            • • • 3 • • 2 2 1
            1 • 1 2 • 2 3 • 3
            • • • • • 2 3 1 (•)
            • 2 • • • • • 1 •
            目前不能直接唯一确定任何格子的数值,但是可以确定(•)=1或2 ((7,7) (7,9) (8,7)都是3,因此(8,9)不可能是3)


            IP属地:上海6楼2020-11-20 22:05
            回复
              如果(•)=1,那么(9,9)=(1,8)=3, 从而这些数字是唯一确定的
              • • 2 • • 2 2 3 1
              • • • 1 • 1 3 3 •
              • • • • 3 • • • 1
              3 2 • • • • 1 • 2
              2 • 3 • • 2 • • 1
              • • • 3 • • 2 2 1
              1 • 1 2 • 2 3 • 3
              • • • • • 2 3 1 1
              • 2 • • • • • 1 3
              此时如果能证明这个局面不能填完,那么就可以说明(•)=2.


              IP属地:上海7楼2020-11-20 22:08
              回复
                有14个点只有两种可能性:
                ⅓ • 2 ⅓ • 2 2 3 1
                • • • 1 • 1 3 3 ½
                • • • • 3 • • ⅔ 1
                3 2 • • • • 1 • 2
                2 • 3 ⅓ • 2 ⅓ ⅔ 1
                • • ⅓ 3 • ⅓ 2 2 1
                1 • 1 2 • 2 3 ½ 3
                ⅓ • ⅓ ⅓ • 2 3 1 1
                • 2 • • • • ½ 1 3
                任取两个点,就有四种可能性,但是有些可能性可以快速排除。如果给某两个点赋某种值能快速推出矛盾(比如说(8,1) (8,3)),那么就在这两个点之间连一条边,从而我们就得到了一个图G=(V,E),其中V为这14个点。


                IP属地:上海8楼2020-11-20 22:25
                回复
                  黑色表示两个点的四种可能性有一种能够被快速排除,蓝色为两种,红色为三种。
                  红色边的两个点为(5,7),(2,9),四种可能性中唯一没有被排除的是(5,7)=1,(2,9)=2
                  因此(5,7)=1,(2,9)=2.
                  • • 2 • • 2 2 3 1
                  • • • 1 • 1 3 3 2
                  • • • • 3 • • • 1
                  3 2 • • • • 1 • 2
                  2 • 3 • • 2 1 • 1
                  • • • 3 • • 2 2 1
                  1 • 1 2 • 2 3 • 3
                  • • • • • 2 3 1 1
                  • 2 • • • • • 1 3


                  IP属地:上海9楼2020-11-20 22:29
                  回复

                    再次画图并研究蓝色边(仅仅是边,而不是边构成的图),可得(1,4)=3, (6,3)=1


                    IP属地:上海11楼2020-11-20 22:52
                    收起回复
                      再经过直接推理得到
                      1 • 2 3 • 2 2 3 1
                      • • • 1 • 1 3 3 2
                      2 • 3 2 3 • 2 3 1
                      3 2 • • • • 1 • 2
                      2 • 3 3 • 2 1 2 1
                      3 • 1 3 • • 2 2 1
                      1 • 1 2 • 2 3 1 3
                      3 • 3 1 • 2 3 1 1
                      • 2 • • • • • 1 3


                      IP属地:上海12楼2020-11-20 22:54
                      回复
                        此时讨论(2,2)和(5,5)的所有取值,可推出矛盾,因此(•)=2.


                        IP属地:上海13楼2020-11-20 23:00
                        回复
                          由此可归(ti)纳(chu)解决约束问题的以下策略:
                          1.找到所有约束。
                          2.找出这些约束中可能取值比较少的约束X,作multigraph(就是两个点可以连不止一条边的图)G=(X,E),其中每条边上有一个标记,表示与它相连的两个顶点的一种共同取值。
                          比如说A,B∈X, A,B可以取值(1,1)(1,2),那么就在A,B之间连两条边(A,B,(1,1)) (A,B,(1,2)) (前两个指标为顶点,第三个指标为标记)
                          3.从这个图里找到一个子图,使得其边比较稠密。在这个子图上解决满足性的子问题(i.e.给每个点分配一个取值,使得对于任何一对点,它们的取值在某条连接它们的边上)
                          4.如果子问题是不可解的,那么就说明原问题不可解。
                          5.即使不能证明子问题不可解,这个multigraph仍然可以发挥作用。因为约束问题是用深度搜索解的,而在哪个变量上分类讨论是深度搜索的关键问题。
                          我们的建议是:再画一个带权有向图Y,Y的顶点是X,Y的每条边(A→B)的权重是KL-divergence (B||A) (意为(A,B)随机取值,看到A的值平均能够降低B的多少不确定性,用信息熵度量),然后找到权重和最大的节点作为分支!
                          (当然可以考虑normalized KL-divergence,就是把(B||A)除以B的信息熵)
                          6.我们也可以考虑把"在哪个变量上分类讨论"换成"在哪些变量上分类讨论",也就是找到X的子图,其满足(3)提到的子图子问题的解比较少,然后把每个子图子问题的解作为分类讨论的一类。
                          比如变量A,B,C满足(A,B,C)=(1,1,1)或(1,2,2)或(2,1,2)或(2,2,1),那么就把这四类作为分类的标准,分四类。


                          IP属地:上海14楼2020-11-20 23:31
                          回复
                            使用子图有两个好处:
                            1. 从复杂的原问题里找到简单的子问题(这步要用图论算法)
                            2. 子问题无解→原问题无解
                            子问题有解→把所有解列下来,作为原问题分类讨论的标准


                            IP属地:上海15楼2020-11-20 23:36
                            回复