谓词演算中的归结.ppt
《谓词演算中的归结.ppt》由会员分享,可在线阅读,更多相关《谓词演算中的归结.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、谓词演算中的归结现在学习的是第1页,共31页合一合一 合合式式公公式式(1 1,2 2,n n)()(1 12 2k k),可可缩缩写写为为1 12 2k k,其其中中11,22,k k是是可可能能包包含含变变量量1 1,2 2,n n的的文文字字。也也就就是是说说,仅仅仅仅去去掉掉了了全全称称量量词词,并并假假定定i i中中任任何何变变量量全全称称量量化化。这这种种缩缩写写形形式式的的合合式式公公式式叫叫做做子子句句。有有时时,用用集集合合符符号号(1 1,2 2,k k)表表达达一一个个子子句句,并并假假定定集集合合中的元素是析取的。中的元素是析取的。如果两个子句的文字相匹配但是互补,我们
2、能如果两个子句的文字相匹配但是互补,我们能归结归结它们它们就像在命题演算中一样。如果一个子句中有一个文字就像在命题演算中一样。如果一个子句中有一个文字()()(是一个变量是一个变量),而另一个子句中有一个互补文字,而另一个子句中有一个互补文字()(),是是不包含不包含的某个项的某个项,我们能把第一个子句中的所有,我们能把第一个子句中的所有用用代替;代替;然后对互补文字进行命题归结以产生那两个子句的归结式。然后对互补文字进行命题归结以产生那两个子句的归结式。现在学习的是第2页,共31页合一合一 举例举例:考虑两个子句:考虑两个子句:P(f(y)P(f(y),A)Q(B A)Q(B,C)C)P(x
3、P(x,A)R(x A)R(x,C)S(A C)S(A,B)B)。用用f(y)f(y)代替第二个子句中的代替第二个子句中的x x产生产生:P(f(y)P(f(y),A)R(f(y)A)R(f(y),C)S(AC)S(A,B)B)。现现在在,两两个个子子句句中中的的第第一一个个文文字字刚刚好好互互补补,因因此此我我们们能能对文字对文字(f(y)f(y),A)A)执行一次归结,产生归结式执行一次归结,产生归结式:R(f(y)R(f(y),C)S(A C)S(A,B)Q(B B)Q(B,C)C)。用一个被称为用一个被称为合一合一的方法计算适当的置换。合一在的方法计算适当的置换。合一在AIAI中是一中
4、是一个极其重要的方法。个极其重要的方法。现在学习的是第3页,共31页合一合一 为了描述合一,必须先讨论一下置换为了描述合一,必须先讨论一下置换:一一个个表表达达式式项项可可能能是是变变量量符符号号、对对象象常常量量或或者者函函数数表表达达式式,后后者者包包含含函函数数常常量量和和表表达达式式项项。一一个个表表达达式式的的置置换换实实例例通通过过置置换换那那个个表表达达式式中中的的变变量量项项而而得得到到。因因此此,P Pxx,f(y)f(y),B B的四个置换实例是:的四个置换实例是:PzPz,f(w)f(w),B B Px Px,f(A)f(A),B B Pg(z)Pg(z),f(A)f(A
5、),B B PC PC,f(A)f(A),B B 上面第一个实例称为原始文字的上面第一个实例称为原始文字的字母变种字母变种(alphabetic variant)alphabetic variant),因为我们因为我们仅仅用另外的变量代替了仅仅用另外的变量代替了PxPx,f(y)f(y),B B中出现的变量。第中出现的变量。第4 4个叫个叫基例基例(ground ground instance)instance),因为文字中没有一项包含变量因为文字中没有一项包含变量(一个基项是一个不包含任何变量的项一个基项是一个不包含任何变量的项)。现在学习的是第4页,共31页合一合一 我我们们能能通通过过一
6、一组组有有序序对对s=s=1 1/1 1,2 2/2 2,n n/n n 来来表表达达任任何何置置换换。i i/i i对对意意思思是是说说i i项项替替换换在在整整个个置置换换范范围围内内的的i i的的每每次次出出现现。而而且且,变变量量不不能能被被一一个个包包含含相相同同变变量量的的项项代代替。使用前面替。使用前面PxPx,f(y)f(y),B B的四个实例的置换是:的四个实例的置换是:s1s1z/xz/x,w/y w/y s2 s2A/yA/y s3 s3g(z)/xg(z)/x,A/y A/y s4 s4C/xC/x,A/y A/y 上面是用上面是用ss来指称一个使用置换来指称一个使用置
7、换s s的表达式的表达式的一个置换实例。的一个置换实例。因此,因此,PzPz,f(w)f(w),B=Px B=Px,f(y)f(y),Bs1Bs1。Pz Pz,f(w)f(w),B B Px Px,f(A)f(A),B B Pg(z)Pg(z),f(A)f(A),B B PC PC,f(A)f(A),B B现在学习的是第5页,共31页合一合一 两个置换两个置换s1s1和和s2s2的组合用的组合用s1s2s1s2指称,它指的是这个置换通过指称,它指的是这个置换通过先把先把s2s2应用到应用到s1s1各项,再加上不含出现在各项,再加上不含出现在s1s1中变量的所有中变量的所有s2s2对而得对而得到
8、到,因此;,因此;g(xg(x,y)/z y)/z A/x A/x,B/yB/y,C/w C/w,D/z D/z g(A g(A,B)/zB)/z,A/xA/x,B/y B/y,C/w C/w f(y)/x,z/y f(y)/x,z/y a/x,b/y,y/z=a/x,b/y,y/z=f(b)/x,y/z f(b)/x,y/z可以看出,可以看出,把把s1s1和和s2s2连续地应用到连续地应用到表达式和把表达式和把s1s2s1s2应用到应用到是是相同的,即:相同的,即:(s1)s2 s1)s2(sls2)(sls2)。也能看出,置换组合是符也能看出,置换组合是符合结合律的。即:合结合律的。即:(
9、s1s2)s3s1s2)s3s1(s2s3)s1(s2s3)。举例举例:是是P(xP(x,y)y),s1 s1是是 f(y)f(y)xx,s2 s2是是 A Ayy。那么那么 (s1)s2s1)s2p(f(y)p(f(y),y)y)A Ayy P(f(A)P(f(A),A)A)和和 (s1s2)(s1s2)P(xP(x,y)y)f(A)f(A)x x,A Ayy P(f(A)P(f(A),A)A)现在学习的是第6页,共31页合一合一 一一般般地地讲讲,置置换换不不符符合合交交换换律律,即即s1s2s1s2s2s1s2s1是是不不成成立立的的。因因此,改变应用置换顺序会产生差异。此,改变应用置换
10、顺序会产生差异。例如:例如:是是P(xP(x,y)y),s1 s1是是 f(y)f(y)xx,s2 s2是是A Ayy。那么那么 (s1s2)(s1s2)P(f(A)P(f(A),A)A)(s2s1)(s2s1)P(xP(x,y)y)A Ay y,f(y)f(y)xx P(f(y)P(f(y),A)A)现在学习的是第7页,共31页合一合一 当一个置换当一个置换s s被应用到一个表达式集合被应用到一个表达式集合 i i 的每一个成员的每一个成员时,用时,用i iss表示置换实例集合。如果存在一个置换表示置换实例集合。如果存在一个置换s s,它使它使1 1s=s=2 2s=s=3 3s s,我们说
11、表达式集合我们说表达式集合i i 是可以是可以合一的合一的(unifiable)unifiable)。在这种情况下,在这种情况下,s s被称为被称为i i 的一个的一个合一式合一式(unifier)unifier),因为它的使用把集合压缩成为一个单元素集合。因为它的使用把集合压缩成为一个单元素集合。例如:例如:s s A Ax x,B Byy把集合把集合pxpx,f(y)f(y),BB,Px Px,f(B)f(B),BB合一产生合一产生 pApA,f(B)f(B),BB。最一般最一般(或最简单或最简单)的合一式的合一式(mgu)mgu)i i 的的g g有下面的特性:有下面的特性:如果如果s
12、s是产生是产生i iss的的i i 的任意合一式,那么存在一个置换的任意合一式,那么存在一个置换ss以使以使i iss i igs gs 。而且,经一个最一般的合一而且,经一个最一般的合一式产生的通用实例除了字母变化外是惟一的。式产生的通用实例除了字母变化外是惟一的。现在学习的是第8页,共31页合一合一 有很多算法可以用来找到一个可以合一的表达式的有限集合的有很多算法可以用来找到一个可以合一的表达式的有限集合的mgumgu,并且当那个并且当那个集合不能被合一时能返回失败。这里给出的算法集合不能被合一时能返回失败。这里给出的算法UNIFYUNIFY工作在一个列表结构的表工作在一个列表结构的表达式
13、集合上,在这些表达式中,每个文字和项作为一个列表项。例如:达式集合上,在这些表达式中,每个文字和项作为一个列表项。例如:P(xP(x,f(A f(A,y)y)写为写为(P x (f A y)P x (f A y)列表结构形式,表达式列表结构形式,表达式P P是列表中是列表中的第一个顶级表达式,的第一个顶级表达式,(f A y)f A y)是第三个顶级表达式。是第三个顶级表达式。UNIFY UNIFY的基础是的基础是分歧集分歧集(disagreement set)disagreement set)的思想。一个非空的表达式集合的思想。一个非空的表达式集合W W的分歧集由下面的方法得到:的分歧集由下
14、面的方法得到:首先定位第一个符号首先定位第一个符号(从左边计数从左边计数),如果在这个位置不是,如果在这个位置不是W W中的所有表达式有中的所有表达式有完全相同的符号,那么从完全相同的符号,那么从W W的每个表达式中提取从占据那个位置的符号开始的子表的每个表达式中提取从占据那个位置的符号开始的子表达式,各个子表达式集合构成达式,各个子表达式集合构成W W的分歧集。的分歧集。例如,两个列表例如,两个列表(P x(f A y)P x(f A y),(P x(f z B)P x(f z B)集合的分歧集是集合的分歧集是 A A,zz。分歧集能用置换分歧集能用置换A Az z产生协调。产生协调。现在学
15、习的是第9页,共31页合一合一 UNIFY()(UNIFY()(是一个列表表达式集合是一个列表表达式集合)1)1)k0k0,k k,k k(初始化步骤;初始化步骤;是空的置换是空的置换)。2)2)如果如果k k是一个单元素集合,用是一个单元素集合,用的的mgu mgu k k退出;否则继续。退出;否则继续。3)3)D Dk kk k的分歧集。的分歧集。4)4)如如果果在在 D Dk k中中存存在在元元素素 v vk k和和t tk k,v vk k 是是一一个个不不会会出出现现在在t tk k 中中的的变变量量,则则继继续;否则,失败退出,续;否则,失败退出,是不可以合一的。是不可以合一的。5
16、)5)k+1k+1k kttk k/v/vk k,k+1k+1ttk kv vk k(注意注意k+1k+1=k kk+1k+1)。6)kk+1 6)kk+1 7)7)转到第转到第2 2步。步。现在学习的是第10页,共31页合一合一 例:例:设设 F=P(a,x,f(g(y),P(z,f(z),f(u),求其合一。求其合一。1)令令0 0=,F,F0 0=F,=F,因因F F0 0中含有两个表达式,所以中含有两个表达式,所以0 0不是最一般合不是最一般合一。一。2 2)分歧集)分歧集D D0 0=a a,z.z.3)3)1 1=0 0 a/z=a/z=a/za/z F F1 1=P(aP(a,x
17、 x,f(g(y)f(g(y),P(aP(a,f(a)f(a),f(u)f(u)4)D1=4)D1=x,f(a)x,f(a)5)5)2 2=1 1 f(a)/x=f(a)/x=a/z,f(a)/xa/z,f(a)/x F F2 2=F=F1 1 f(a)/x=f(a)/x=P(a,f(a),f(g(y),P(a,f(a),f(u)P(a,f(a),f(g(y),P(a,f(a),f(u)6)D 6)D2 2=g(y),ug(y),u 7)7)3 3=2 2 g(y)/u=g(y)/u=a/z,f(a)/x,g(y)/ua/z,f(a)/x,g(y)/u现在学习的是第11页,共31页合一合一 8
18、)F 8)F3 3=F=F2 2 g(y)/u=g(y)/u=P(a,f(a),f(g(y).P(a,f(a),f(g(y).因为因为F F3 3只含一个表达式,所以只含一个表达式,所以0 0就是最一般合一,就是最一般合一,即即 a/z,f(a)/x,g(y)/ua/z,f(a)/x,g(y)/u是最一般合一。是最一般合一。现在学习的是第12页,共31页谓词演算归结谓词演算归结 假假如如1 1和和2 2是是两两个个子子句句(表表示示为为文文字字集集合合)。如如果果1 1中中有有一一个个原原子子,2 2中中有有一一个个文文字字,并并使使和和有有一一个个最最一一般般合合一一式式(mgu)mgu),
19、那那么么这这两两个个子子句句有有一一个个归归结结式式,它它通通过过把把置置换换与与1 1和和2 2减减去去互互补补其其文文字字的的并并集而得到。集而得到。即:即:=(1 1-)(2 2-)现在学习的是第13页,共31页谓词演算归结谓词演算归结 在在两两个个子子句句被被归归结结前前,为为了了避避免免变变量量混混淆淆,我我们们对对每每个个子子句句中中的的变变量量重重命命名名以以使使一一个个子子句句中中的的变变量量不不会会出出现现在在另另一一个个中中。例例如如:假假如如我我们们正正在在归归结结P(x)P(x)Q(f(x)Q(f(x)与与R(g(x)R(g(x)Q(f(A)Q(f(A),首首先先重重写
20、写第第二二个个子子句句,比比如如说说为为R(g(y)R(g(y)Q(f(A)Q(f(A),然然后后执执行行归归结结获获得得P(A)P(A)R(g(y)R(g(y)。变变量量重重命命名名被被称称为为对对变变量量进进行行标准化标准化(standardizing the variables apart)standardizing the variables apart)。下面是一些例子下面是一些例子:P(x)P(x),Q(xQ(x,y)y)和和P(A)P(A),R(BR(B,z)z)归结产生归结产生:Q(AQ(A,y)y),R(BR(B,z)z)。P(xP(x,x)x),Q(x)Q(x),R(x)R
21、(x)和和P(AP(A,z)z),Q(B)Q(B)可用两种不可用两种不同的方式归结,分别产生同的方式归结,分别产生Q(A)Q(A),R(A)R(A),Q(B)Q(B)和和P(BP(B,B)B),R(B)R(B),P(AP(A,z)z)。现在学习的是第14页,共31页谓词演算归结谓词演算归结 有有时时需需要要对对谓谓词词演演算算归归结结有有一一个个稍稍强强的的定定义义。例例如如,考考虑虑两两个个子子句句P(u)P(u),P(v)P(v)和和P(x)P(x),P(y)P(y)。这这两两个个子子句句各各自自有有基基例例P(A)P(A)和和P(A)(P(A)(由由置置换换A Au u,A Av v,A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 谓词演算 中的 归结
限制150内