逻辑学教授的3个得意门生ABC,前一晚在酒吧喝多了,结果第二天3人集体迟到。教授说:“作为对你们迟到的惩罚,你们3人必须比其他同学多做一道作业,完成了这道作业才可以离开教室。”这道附加的作业是一道帽子题,教授给每人戴了顶帽子,帽子不是红色就是白色,不是白色就是红色。每人都能看见其他2人帽子的颜色,却不能看见自己帽子的颜色。每人都看到其他2人帽子的颜色后,每思考5分钟为一轮,谁猜出自己帽子的颜色了就可以说出来并离开。教授还说:“你们3人中至少有1人戴了红色帽子。” 第一轮下来,A说:“我没猜出来。”B说“我也没猜出来”C说:“我也猜不出。” 第二轮下来,还是没人能猜出自己帽子的颜色。 第三轮,3人都猜出了自己帽子的颜色。
问:ABC三人头顶都是什么颜色的帽子?然后用谓词逻辑写出推理过程。
最一般合一及归结反演相关
已知w={P(f(x,g(A,y)),z), P(f(x,z),z),求MGU
令δ0=ε,w0=w,因w中含有两个表达式,因此δ0不是最一般合一 差异集D0={g(A,y)/z} δ1=δ0oD0={g(A,y)/z}
w1={P(f(x,g(A,y)),g(A,y)), P(f(x,g(A,y)),g(A,y)) w1中仅含有一个表达式,所以δ1就是最一般合一。 证明G是否是F1、F2的逻辑结论。 F1:(?x)(P(x)→(Q(x)∧R(x))) F2:(?x)(P(x)∧S(x)) G: (?x)(S(x)∧R(x))
F1: ?P(x)∨(Q(x)∧R(x)) ? (?P(x)∨Q(x)) ∧ (?P(x)∨R(x)) F2: P(x)∧S(x)
?G: ?(?x)(S(x)∧R(x)) ? (?x)(?(S(x)∧R(x))) ? ?S(x)∨?R(x)
子句集:
1 ?P(x)∨Q(x) 2 ?P(x)∨R(x) 3 P(x) 4 S(x)
5 ?S(x)∨?R(x)
其中2与3规约,4与5归结,其结果再归结得到空子句,证明G是F1与F2的结论。
农夫过河问题
(1)农夫每次只能带一样东西过河
(2)如果没有农夫看管,狼吃羊,羊吃菜 要求:
设计一个过河方案,使得农夫、狼、羊、菜都能过河,画出相应的状态空间图。 四元组S表示状态,即S=(农夫,狼,羊,菜) 用0表示在左岸,1表示在右岸 初始S=(0,0,0,0) 目标G=(1,1,1,1)
定义操作符L(i)表示农夫带东西到右岸: i=0 农夫自己到右岸; i=1 农夫带狼到右岸; i=2 农夫带羊到右岸; i=3 农夫带菜到右岸;
定义操作符R(i)表示农夫带东西到左岸: i=0 农夫自己到左岸; i=1 农夫带狼到左岸; i=2 农夫带羊到左岸; i=3 农夫带菜到左岸; 约束状态如下:
(1,0,0,X)狼、羊在左岸; (1,X,0,0)羊、菜在左岸; (0,1,1,X)狼、羊在右岸; (0,X,1,1)羊、菜在右岸;
(0,0,0,0) / L(2) (1,0,1,0) / R(0)
(0,0,1,0)
/ L(1) \\ R(3) (1,1,1,0) (1,0,1,1)
/ R(2) \\ R(2) (0,1,0,0) (0,0,0,1) \\ L(3) / L(1) (1,1,0,1) \\ R(0) (0,1,0,1) \\ L(2) (1,1,1,1)
解一:
1.带羊过河 (1,0,1,0) 2.农夫回来 (0,0,1,0) 3.带狼过河 (1,1,1,0) 4.带羊回来 (0,1,0,0) 5.带菜过河 (1,1,0,1) 6.农夫回来 (0,1,0,1) 7.带羊过河 (1,1,1,1) 解二:
1.带羊过河 (1,0,1,0) 2.农夫回来 (0,0,1,0) 3.带菜过河 (1,0,1,1) 4.带羊回来 (0,0,0,1)
5.带狼过河 (1,1,0,1) 6.农夫回来 (0,1,0,1) 7.带羊过河 (1,1,1,1)