注意:黑色加粗为习题答案,其余为笔记
5.用归结原理证明,G是否可肯定是F的逻辑结果。
证明:利用归结反演法证明,先证明F1∧F2∧F3∧ ¬G是不可满足的。
求子句集:
注:
求子句集策略:
(1)消->
(2)内移¬,消量词
注:变元变更准则:
不同量词约束元不同
不同子句用不同变元
(3)先消存在、后消全称量词
F1:
(1)¬A(x)∨B(x) ∨D(x,w)
(2)¬A(y)∨B(y) ∨C(t)
F2:
(3)E(a)
(4)A(a)
(5)¬ D(a,z) ∨E(z)
F3:
(6)¬E(u) ∨¬B(u)
¬G:
(7)¬E(v) ∨¬C(v)
对子句集进行归结:
(8)¬B(a) (3)与(6)归结,{a/u}
(9)¬C(a) (3)与(7)归结,{a/v}
(10)B(a) ∨C(t) (2)与(4)归结,{a/y}
(11)C(a) (8)与(10)归结,{a/t}
(12)Nil (9)与(11)归结
因为F1∧F2∧F3∧ ¬G是不可满足的,所以G是F1、F2、F3的逻辑结论。
8.张某被盗,公安局派五个侦察员去调查,研究案情时,侦察员A说:“赵与钱中至少有一人作案”;侦察员B说:“钱与孙至少有一人作案”;侦察员C说:“孙与李中至少有一人作案”;侦察员D说:“赵与孙中至少有一人与此案无关”;侦察员E说:“钱与李中至少有一人与此案无关”。如果这五个侦察员说的都可信,试用消解原理求出谁是盗窃犯。
解:定义谓词用P(x)表示x作案,a,b,c,d分别代表赵、钱、孙、李,则五个侦察员的话可用谓词公式表示为 :
(1)P(a)∨P(b)
(2)P(b)∨P(c)
(3)P(c)∨P(d)
(4)¬P(a)∨¬P(c)
(5)¬P(b)∨¬P(d)
要求的公式为:
G:xP(x) (即存在 x,x 是罪犯 )
将其化为否定形式再析取一个辅助谓词PA(x)得
(6)P(x)∨PA(x)
对上面式子进行归结得:
(7) ¬P(d)∨P(c) (2)与(5)归结
(8)P(c) (3)与(5)归结
(9)PA(c) (8)与(6)归结,{c/x}
(10)¬P(c)∨P(d) (1)与(4)归结
(11)P(b) (3)与(5)归结
(12)PA(b) (8)与(6)归结,{b/x}
所以,罪犯为钱和孙两个人。
10. 对第5题中的子句集,选用线性归结策略或祖先过滤型策略进行归结。
(线性归结策略通俗来说就是下一条归结必须用上一步归结的结果进行归结)
(祖先过滤型策略就是,参加归结的两个子句,要么至少有一条是初始子句集中的子句,要么一个是另一个的祖先[大概例如:A和B归结出C,C和D归结出E,C和E归结出F(这里C是E的祖先)])
(最开始以为子句不能重复用来归结,其实是可以重复的!!!o(╥﹏╥)o)
解:
利用线性归结策略进行归结:
求子句集:
F1:
(1)¬A(x)∨B(x) ∨D(x,w)
(2)¬A(y)∨B(y) ∨C(t)
F2:
(3)E(a)
(4)A(a)
(5)¬ D(a,z) ∨E(z)
F3:
(6)¬E(u) ∨¬B(u)
¬G:
(7)¬E(v) ∨¬C(v)
对子句集进行归结:
(8)¬B(a) (3)与(6)归结,{a/u}
(9)¬A(a) ∨C(t) (2)与(8)归结,{a/y}
(10)¬A(a) ∨¬E(t) (7)与(9)归结,{t/v}
(11)¬A(a) (3)与(10)归结,{a/t}
(12)Nil (4)与(11)归结
因为F1∧F2∧F3∧ ¬G是不可满足的,所以G是F1、F2、F3的逻辑结论。