(1)P(a,b) (2)?P(x,b)
(1)与(2)归结得到NIL,?={a/x},因此G是F1的逻辑结论。 (2)F1:(?x)(P(x)?(Q(a)?Q(b))) G:(?x)(P(x)?Q(x)) 解:首先将F1和?G化为子句集:
(1)P(x) (2)Q(a)?Q(b) (3) ?P(x)? ?Q(x) (2)自身合一得到 (4)Q(a),?={a/b} (1)与(3)归结得到 (5) ?Q(x)
(4)与(5)归结得到NIL,?={a/ x},因此G是F1的逻辑结论。 (3)F1:(?x)(?y)(P(f(x))?Q(f(b))) G:P(f(a))?P(y)?Q(y) 解:首先将F1和?G化为子句集:
(1)P(f(a)) (2)Q(f(b)) (3)?P(f(a))??P(y)??Q(y) (3)自身合一得到 (4) ?P(f(a))??Q(f(a)),?={f(a)/y} (1)与(4)归结得到 (5) ?Q(f(a))
(2)与(5)归结得到NIL,?={f(a)/ f(b)},因此G是F1的逻辑结论。
(4)F1:(?x)(P(x)?(?y)(Q(y)??L(x,y))) F2:(?x)(P(x)?(?y)(R(y)?L(x,y)))
G:(?x)(R(x)??Q(x))
解:首先将F1、F2和?G化为子句集:
(1) ?P(x)? ?Q(y)??L(x,y) (2) P(a) (3)?R(y)?L(a,y) (4)R(a) (5)Q(a) (1)与(2)归结得到 (6) ?Q(y)??L(a,y),?={a/ x} (3)与(6)归结得到 (7) ?R(y)? ?Q(y) (4)与(7)归结得到 (8) ?Q(a),?={a/ y}
(5)与(8)归结得到NIL,因此G是F1、F2的逻辑结论。
(5)F1:(?x)(P(x)?(Q(x)?R(x))) F2:(?x)(P(x)?S(x)) G:(?x)(S(x)?R(x)) 解:首先将F1、F2和?G化为子句集:
(1) ?P(x)?Q(x) (2) ?P(x)?R(x) (3) P(a) (4)S(a) (5) ?S(x)??R(x) (2)与(3)归结得到 (6)R(a),?={a/ x} (4)与(5)归结得到 (7) ?R(a),?={a/ x}
(6)与(7)归结得到NIL,因此G是F1、F2的逻辑结论。 (6)F1:(?z)(A(z)??B(z)?(?y)(D(z,y)?C(y)))
F2:(?z)(E(z)?A(z)?(?y)(D(z,y)?E(y))) F3:(?z)(E(x)??B(z)) G:(?z)(E(z)?C(z))
解:首先将F1、F2、F3和?G化为子句集:
(1)A(z) (2)B(z)?D(z,f(z)) (3) B(z)?C(f(z)) (4)E(a) (5)A(a) (6)?D(a,y)?E(y) (7)? E(x)??B(z) (8) ?E(z)??C(z) (4)与(7)归结得到 (9) ?B(z),?={a/ x} (4)与(8)归结得到 (10) ?C(a),?={a/ z} (3)与(9)归结得到 (11)C(f(z))
(10)与(11)归结得到NIL,?={a/ f(z)},因此G是F1、F2、F3的逻辑结论。 24. 证明:(?y)(Q(y)?(B(y)?C(y)))?(?y)(Q(y)?D(y))?(?y)(D(y)?C(y))
解:对结论否定并与前提合并得谓词公式G:
G=(?y)(Q(y)?(B(y)?C(y)))?(?y)(Q(y)?D(y))??(?y)(D(y)?C(y)) 将谓词公式G化为子句集:
(1)?Q(y)?B(y) (2) ?Q(y)?C(y) (3)Q(a) (4)D(a) (5) ?D(y)??C(y) 使用归结推理:
13
(2)与(3)归结得到 (6)C(a),?={a/ y} (4)与(5)归结得到 (7) ?C(a),?={a/ y}
(6)与(7)归结得到NIL,因此G是不可满足的,从而命题得证。 25. 已知:(1)如果x是y的父亲,y是z的父亲,则x是z的祖父。 (2)每个人都有一个父亲。
试用归结推理证明:对于john,一定存在一个人w,w是john的祖父。 证明:定义谓词如下:
Father(x,y):x是y的父亲。 Grandfather(x,y):x是y的祖父。
将前提条件和要求证的问题用谓词公式表示: F1:Father(x,y)?Father(y,z)?Grandfather(x,z) F2:(?x)(?y)(Father(x,y)) G:(?w)(Grandfather(w,john)) 把F1、F2和?G化为子句集:
(1)?Father(x,y)??Father(y,z)?Grandfather(x,z) (2)Father(x,a) (3)?Grandfather(w,john)
(1)自身合一得到 (4) ?Father(x,x)?Grandfather(x,x),?={x/ y,x/z} (2)与(4)归结得到 (5) Grandfather(a,a),?={a/ x} (3)与(5)归结得到NIL,?={a/john,a/w},因此命题得证。 28. 请写出利用归结原理求解问题答案的步骤。
解:(1) 把已知前提条件用谓词公式表示出来,并化成相应的子句集,设该子句集的名字为S1。
(2) 把待求解的问题也用谓词公式表示出来,然后将其否定,并与一谓词ANSWER构成析取式。谓词ANSWER是一个专为求
解问题而设置的谓词,其变量必须与问题公式的变量完全一致。
(3) 把问题公式与谓词ANSWER构成的析取式化为子句集,并把该子句集与S1合并构成子句集S。 (4) 对子句集S应用谓词归结原理进行归结,在归结的过程中,通过合一置换,改变ANSWER中的变元。 (5) 如果得到归结式ANSWER,则问题的答案即在ANSWER谓词中。
30. 已知樊臻的老师是张先生,樊臻与李伟是同班同学。如果x与y是同班同学,则x的老师也是y的老师。请问李伟的老师
是谁?
解:定义谓词公式如下:
Teacher(x,y):x是y的老师。 Classmate(x,y):x与y是同班同学。 将前提条件表示成谓词公式:
F1:Teacher(Zhang, FanZhen) F2:Classmate(FanZhen,LiWei)
F3:Classmate(x,y)?(Teacher(z,x)?Teacher(z,y))
将待求解的问题表示成谓词公式:Teacher(u,LiWei) 将前提条件和?Teacher(x,LiWei)?Answer(x)化为子句集:
(1) Teacher(Zhang, FanZhen) (2) Classmate(FanZhen,LiWei) (3) ?Classmate(x,y)?Teacher(z,x) (4) ?Classmate(x,y)?Teacher(z,y) (5) ?Teacher(x,LiWei)?Answer(x) 使用归结推理:
(1)与(5)归结得到Answer(Zhang),?={Zhang/ x,LiWei/FanZhen} 因此李伟的老师是张先生。
31. 什么是完备的归结控制策略?有哪些归结控制策略是完备的?
解:若子句集是不可满足的,则必存在一个从该子句集到空子句的归结推理过程的归结控制策略是完备的归结控制策略。 完备的归结控制策略有:删除策略、线性归结策略、支持集策略。 32. 设有子句集:
14
S={?R(x)?T(x,d),R(c)??T(c,d),?T(c,f(c)),?R(x)?T(x,x)} 试用各种归结策略求出S的归结式。 解:1)线性归结策略:
选取顶子句C0= ?R(x)?T(x,d),则线性归结过程如下:
(1) ?R(x)?T(x,d) (2) R(c)??T(c,d) (3) ?T(c,f(c)) (4) ?R(x)?T(x,x) (1)与(3)归结得到 (5) ?R(c),?={c/x,d/f(c)} (5)与(2)归结得到 (6) ?T(c,d)
(6)与(4)归结得到 (7)?R(c),?={c/x,d/x} 2)单文字归结策略:
(1) ?R(x)?T(x,d) (2) R(c)??T(c,d) (3) ?T(c,f(c)) (4) ?R(x)?T(x,x) (3)与(1)归结得到 (5) ?R(c),?={c/x,d/f(c)} (3)与(4)归结得到 (6) ?R(c),?={c/x,f(c)/x}
(5)与(2)归结得到 (6) ?T(c,d)
(6)与(4)归结得到 (7)?R(c),?={c/x,d/x} 3)输入归结策略:
(1) ?R(x)?T(x,d) (2) R(c)??T(c,d) (3) ?T(c,f(c)) (4) ?R(x)?T(x,x) (1)与(3)归结得到 (5) ?R(c),?={c/x,d/f(c)} (5)与(2)归结得到 (6) ?T(c,d)
(6)与(4)归结得到 (7)?R(c),?={c/x,d/x} 4)支持集策略:
设?T(c,f(c))是目标公式否定后得到的子句,则支持集归结过程如下:
(1) ?R(x)?T(x,d) (2) R(c)??T(c,d) (3) ?T(c,f(c)) (4) ?R(x)?T(x,x) (3)与(1)归结得到 (5) ?R(c),?={c/x,d/f(c)} (3)与(4)归结得到 (6) ?R(c),?={c/x,f(c)/x}
(5)与(2)归结得到 (6) ?T(c,d)
(6)与(4)归结得到 (7)?R(c),?={c/x,d/x} 34. 用输入归结策略是否可证明下列子句集的不可满足性? S={P?Q,Q?R,R?W,?R??P,?W??Q,?Q??R}
解:使用输入归结策略时,子句集中必须有单文字子句,而所给子句集不满足此条件,故用输入归结策略不能证明该子句
集的不可满足性。
15

