第二章基于谓词逻辑的机器推理.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章基于谓词逻辑的机器推理

* [例] 已知某些病人喜欢所有的医生,没有一个病人喜欢任意一个骗子。证明:任意一个医生都不是骗子。 证明:令:P(x):x是病人 D(x):x是医生 Q(x):x是骗子 L(x,y):x喜欢y A1:?x(P(x)??y(D(y)?L(x,y))) 某些病人喜欢所有的医生 A2:?x(P(x)??y(Q(y)?~L(x,y))) 没有一个病人喜欢任意一个骗子 B: ?x(D(x) ?~Q(x)) 任意一个医生都不是骗子 为证明公式A1? A2 ?~B是不可满足的,先求出A1? A2 ?~B的子句集。 A1 =?x(P(x)??y(D(y)?L(x,y))) =?x(P(x)??y(~D(y) ? L(x,y))) =?x?y(P(x)? (~D(y) ? L(x,y))) =?y(P(a)? (~D(y) ? L(a,y))) A2 =?x(P(x)??y(Q(y)?~L(x,y))) =?x(P(x)??y(~Q(y) ? ~L(x,y))) =?x(~P(x) ? ?y(~Q(y) ? ~L(x,y))) =?x?y(~P(x) ? ~Q(y) ? ~L(x,y)) ~B= ~?x(D(x) ?~Q(x)) = ? x ~(D(x) ?~Q(x)) = ? x ~(~D(x) ? ~Q(x)) = ? x (D(x) ? Q(x)) = D(b) ? Q(b) 得到公式A1? A2 ?~B的子句集: S={P(a), ~D(y) ? L(a,y), ~P(x) ? ~Q(y) ? ~L(x,y), D(b) , Q(b)} * 对子句集 S={P(a), ~D(y) ? L(a,y), ~P(x) ? ~Q(y) ? ~L(x,y), D(b) , Q(b)} 应用归结原理: 1. P(a) 2. ~D(y) ? L(a,y) 3. ~P(x) ? ~Q(y) ? ~L(x,y) 4.D(b) 5.Q(b) 6.L(a,b) 由2,4归结 7. ~Q(y) ? ~L(a,y) 由1,3归结 8.~ L(a,b) 由5,7归结 9. ? 由6,8归结 对应的演绎树: ~D(y) ? L(x,y) D(b) P(a) ~P(x) ? ~Q(y) ? ~L(x,y) Q(b) L(a,b) ~Q(y) ? ~L(a,y) ~L(a,b) ? * [例] 若A1= ?x(A(x)?B(x)?C(x)) A2=?x(A(x)?D(x)) B= ?x(D(x)?C(x)) 求证 B是A1 ? A2的逻辑结论。 证明 求证A1 ? A2 ?B,就是证明公式A1 ? A2 ? ~B是不可满足的。 将A1 , A2 , ~B分别化成Skolem标准型,求子句集S。 A1= ?x(A(x)?B(x)?C(x)) = ?x(~A(x) ? (B(x)?C(x))) = ?x((~A(x) ? B(x))?(~A(x) ? C(x) )) A2=?x(A(x)?D(x)) Skolem范式:A(a) ?D(a) ~B= ~?x(D(x)?C(x)) = ?x(~D(x) ? ~C(x)) 公式A1 ? A2 ? ~B对应的子句集为: S={~A(x) ? B(x), ~A(x) ? C(x) , A(a) ,D(a), ~D(x) ? ~C(x)} * 对 S={~A(x) ? B(x), ~A(x) ? C(x) , A(a) ,D(a), ~D(x) ? ~C(x)} 应用归结原理: 1. ~A(x) ? B(x), 2. ~A(x) ? C(x) 3. A(a) 4. D(a) 5. ~D(x) ? ~C(x) 7.~ C(a) [由4、5] 6.C(a) [由2、3] 8. ? [由6、7] * 3.5 归结控制策略 计算机在对子句集进行归结时,由于事先不知道哪两个子句可以进行归结,更不知道通过哪些子句的归结可以尽快得到空子句,因而必须对子句集中的所有子句逐对地进行比较,对任何一对可以归结的子句都进行归结。 这样不仅耗费时间,而且会导致大量不必要的无用的归结式产生。为提高归结效率,就需要给出归结控制策略,使归结过程中避免多余的不必要的归结式出现。 * 1. 归结的一般过程 [例] 设含有四个子句的子句集 S={C1, C2, C3, C4,} ={P,~R,~P?Q,~Q?R} 用计算机进行归结,如果不给控制策略,一般归结过程如下: P ~R ~P?Q ~Q?R Q ~Q ~P ?R R R ~P ~P ? 原

文档评论(0)

骨干 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档