高级数理逻辑第7讲解析.doc

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

归结策略 归结算法::: 用归结原理来证明定理,我们最终倒出空子句。怎么样最快的得到空子句是我们考虑的最主要问题。如果人用归结的方法,得到空子句通常是根据人们对子句集中子句的认识,可以最快的得到空子句。 然而,归结原理的主要思想是用机械的方法使计算机能够快速得到空子句。这需要我们考虑高效的计算算法来提高得到空子句的效率。本节主要目的是给出各种得到空子的算法,这些算法都从不同角度提高了得到空子句的归结效率。这些算法又称作为归结策略。 宽度优先 宽度优先是归结策略中最简单的算法。下图说明了,宽度优先策略的主要思想: S 将S重所有能归结的子句间都归结 S1 归结产生的子句集 S∨S1 将归结产生的子句集与原子句集析取 将S∨S1与S1上能归结的子句间都归结 S2 归结产生的子句集 ┆ 重复以上过程 □ 这样的归结过程中,有大量的冗余存在。因为,在每个归结步骤中,将有所能够归结的子句之间都归结,从而避免不了产生大量多余的归结步骤。 例如:对于子句集{,,,},宽度优先归结策略将产生以下步骤完成: {Q,~Q,~P,P } 对子句集中,能够归结的子句之间进行归结。归结产生的子句集为:{,,,,} 将归结得到的子句集与原子句集合并得到{,,,,,,,,},与{,,, }子句进行归结。 在进行归结得到{□,…}. 这个归结过程中存在了,两个多余的归结步骤。 虽然,这种归结的方法存在了大量的冗余归结步骤,但是这个归结能够保持归结的完备性。既对于不能满足的子句集,一定能够得到空子句。 删除策略 为了提高归结的效率,我们首先考虑的是按着宽度优先方法得到各个归结集合之间的关系。也就是考虑那些归结步骤是没有用的。 首先,任何子句与重言式都不可能归结出空子句。因此,对于重言式没有必要考虑其与其他子句之间的归结。 其次,设子句,,对于子句能够与得到逻辑结果c4, A({c1^c2} 如果赋值映射f,使得f(C2)=f(C3)=1,则f(C4)=1。 如果赋值映射f,使得f(C1)=f(C3)=1, f(C4)=1 则一定是和归结结果;并且与归结序列的长度一定小于与归结序列的长度。 {,} 用数学的方法来表述以上的观点: 设子句集不可满足,若为重言式,为不可满足,反之成立; {C1,..Cn-1,Cn=1}=C1C2,…Cn-1= { C1,..Cn-1} 设子句集不可满足,若中,(称嵌入到中)(,则为不可满足的,反之成立;C1=C2 {C1,C2,…Cn}=C1^C3…^Cn=0;;;; C1C3…Cn=0 S是不可满足的充分必要条件S-Ci是不可满足。 根据这两点,我们可以从宽度优先归结策略中删除一些没有必要的步骤,从而提高归结的效率。这种方法,我们称之为删除策略。对于给定的子句集,删除策略我们可以表述如下: 在S中将可被嵌入的子句删除得到子句集; 对中可以归结的子句之间进行归结得到; 将中的重言式和可被嵌入的子句删除得到; 上的子句进行归结; 重复以上过程,最终得到空子句。 删除策略同样是完备的,主要是因为删除后的子句集与原子句集是同不可满足的。 下面例子说明了删除策略的过程: 例子:对于子句集, (1) (2) (3) (4) (5) step1:删除(1),因为(1)可被(4)嵌入;得到S1={2, 3, 4, 5}; step2:在S1上归结,得到 (2,3) (7)~P(a)vQ(a) (8) (4,5) step3:在S1∨S中删除(3)可被(6)嵌入,删除(5)可被(7)嵌入; step4:在S2中,(6),(8)归结 {□}; S是不可满足的,用删除策略是否一定能找到空子句? 支持集策略 我们知道人们在进行子句的归结时候,主要是通过感觉上,那些子句之间有可能产生空子句来归结,从而效率非常高。 支持集策略从人们在归结时的一些想法出发,首先把子句集进行划分。划分成支持集和非支持集两个部分。空子句一定是由支持集中的子句参与得到的。 定义:设子句集S为不可满足的,如果,且集合是可满足,则称子句集T为子句集S的支持集。 支撑集策略:在S中求导出空子句的归结序列时,在每一归结母式中至少有一个子句不在中。意味着,可以在T中或者归结结果中。 支持集策略,也是一种完备的归结策略。即对于不可满足的子句集S,利

文档评论(0)

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

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

1亿VIP精品文档

相关文档