- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
人工智能-第2章知识表示和推理(2.4--2.8)解析
2.4 归结推理 2.4.1 命题演算中的归结推理 2.4.2 谓词演算中的归结推理 2.4.3 谓词演算归结反演的合理性和完备性 2.4 归结推理 归结方法,1965年Robinson提出 归结方法的基本思想 命题逻辑归结原理 谓词逻辑归结原理 什么是归结原理 在定理证明系统中,已知一公式集F1,F2,…,Fn,要证明一个公式W (定理)是否成立,即要证明W是公式集的逻辑推论时,一种证明法就是要证明F1∧F2∧…∧Fn→W为永真式。 思路: 设法检验扩充的子句集Si是否含有空子句,若S集中存在空子句,则S不可满足。 若没有空子句,则就进一步用归结法从S导出S1。然后再检验S1是否有空子句。 用归结法导出的扩大子句集S1,其不可满足性是不变的,所以若S1中有空子句, 也就证得了S的不可满足性。 2.4.1 命题逻辑的归结原理 (1)归结式的定义及性质 对子句C1和C2,若C1中有一个文字L1,而C2中有一个与L1成互补的文字L2,则分别从C1,C2中删去L1和L2,并将其剩余部分组成新的析取式,则称该子句为归结式。 证:设C1=L∨C1,C2=(┐L)∨C2关于解释I为真,则需证明C= Cl’∨C2’关于解释I也为真。 关于解释I,L和┐L二者中必有一个为假。若L为假,则C1’必为真,否则C1为假,这与前提假设矛盾,所以只能是C1’为真。 同理,若┐L为假,则C2’必为真。最后有C=C1’∨C2’关于解释I为真,即C是C1和C2的逻辑推论。 推论:子句集S={C1,C2,…,Cn}与子句集S1={C,C1,C2,…,Cn}的不可满足性是等价的 (其中C是C1和C2的归结式)。 同理可证Si和Si+1(由Si导出的扩大的子句集)的不可满足性也是等价的,其中i=1,2,…。 归结原理就是从子句集S出发,应用归结推理规则导出子句集S1。再从S1出发导出S2,依此类推,直到某一个子句集Sn出现空子句为止。 根据不可满足性等价原理,已知若Sn为不可满足的,则可逆向依次推得S必为不可满足的。 用归结法,过程比较单钝,只涉及归结推理规则的应用问题,因而便于实现机器证明。 (2)命题逻辑的归结过程 命题逻辑中,若给定前提集F和命题P,则归结证明过程可归纳如下: (1)把F转化成子句集表示,得子句集S0; (2) 把命题P的否定式┐P也转化成子句集表示,并将其加到S0中,得S=S0∪S┐P, 证明:化成子句集 S={P, ┐P∨ ┐Q∨R, ┐S∨Q, ┐T∨Q,T, ┐R} 归结可用图的演绎树表示,由于根部出现空子句,因此命题R得证。 证明:化成子句集 S={P, ┐P∨ ┐Q∨R, ┐S∨Q, ┐T∨Q,T, ┐R} 归结可用图的演绎树表示,由于根部出现空子句,因此命题R得证。 2.4.2 谓词逻辑的归结原理 在应用归结法时,要对公式作变量置换和合一等处理,才能得到互补的基本式,以使进行归结。 合一和归结 (1)合一(Unify) 在谓词逻辑的归结过程中,寻找项之间合适的变量置换使表达式一致,这个过程称为合一。 例表达式P[x,f(y),B],对应于不同的变换si,可得到不同的例: 置换 置换的例 sl={z/x,w/y}, P[x,f(y),B]s1=P[z,f(w),B] s2={A/y}, P[x,f(y),B]s2=P[x,f(A),B] s3={g(z)/x,A/y}, P[x,f(y),B]s3=P[g(z),f(A),B] s4={C/x,A/y}, P[x,f(y),B]s4=P[C,f(A),B] 置换 置换的例 sl={z/x,w/y}, P[x,f(y),B]s1=P[z,f(w),B] s2={A/y}, P[x,f(y),B]s2=P[x,f(A),B] s3={g(z)/x,A/y}, P[x,f(y),B]s3=P[g(z),f(A),B] s4={C/x,A/y}, P[x,f(y),B]s4=P[C,f(A),B] ti/vi的含义——表达式中的变量vi处以项ti来替换,但不允许vi用与vi有关的项ti (vi)作置换。 对表达式多次置换,如用s1,s2依次进行置换 (即(Es1)s2),可以将这两个置换合成为一个置换 (记为 s1 s2 )。 合成置换s1s2 是由两部分的置换对组成: 1)s1 的置换对,只是s1 的项被 s2作了置换; 2)s2中与s1 变量不同的那些变量对。 如 s1={g(x,y)/z},s2={A/x,B/y,C/w,D/z} s1s2 ={g(A,B)/z,A/x,B/y,C/w }
文档评论(0)