人工智能第六章6.3-6.5课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《人工智能第六章6.3-6.5课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人工智能 第六 6.3 6.5 课件
- 资源描述:
-
1、8/10/202216.3 合一算法合一算法8/10/20222例:例:C1:P(x)Q(x)C2:P(f(x)R(x)没有互补对没有互补对;C1:P(y)Q(y)y/x C1:P(f(x)Q(f(x)f(x)/y C3:R(x)Q(f(x)l替换和合一是为了处理谓词逻辑中子句之间的模式匹配而引进.8/10/20223一、替换与最一般合一替换一、替换与最一般合一替换l定义定义(替换替换)一个替换是形如一个替换是形如t1/v1,tn/vn 的一个有限集合,其中的一个有限集合,其中vi是变量符号,是变量符号,ti是不是不同于同于vi的项。并且在此集合中没有在斜线符的项。并且在此集合中没有在斜线符号
2、后面有相同变量符号的两个元素,称号后面有相同变量符号的两个元素,称ti为为替换的分子,替换的分子,vi为替换的分母。为替换的分母。例例.a/x,g(y)/y,f(g(b)/z是是替换替换;x/x,y/f(x),a/x,g(y)/y,f(g(b)/y不是不是替换替换;基替换基替换:当当t1,tn是基项时,称此替换为基替换。是基项时,称此替换为基替换。空替换:空替换:没有元素的替换称为空替换,记为没有元素的替换称为空替换,记为。8/10/20224替换定义(改名)定义(改名)设替换设替换 =t1/x1,tn/xn 如果如果t1,tn是不同的变量符号,则称是不同的变量符号,则称 为一个改为一个改名替
3、换,简称改名。名替换,简称改名。替换作用对象:替换作用对象:表达式表达式(项、项集、原子、原子集、(项、项集、原子、原子集、文字、子句、子句集)。文字、子句、子句集)。基表达式:基表达式:没有变量符号的表达式。没有变量符号的表达式。子表达式:子表达式:出现在表达式出现在表达式E中的表达式称为中的表达式称为E的子的子表达式。表达式。8/10/20225E的例l 定义(定义(E的例)的例)设设 =t1/v1,tn/vn 是一个是一个替换,替换,E是一个表达式。将是一个表达式。将E中出现的每一个中出现的每一个变量符号,变量符号,vi(1 i n),都用项,都用项ti替换,这样替换,这样得到的表达式记
4、为得到的表达式记为E。称。称E 为为E的例。的例。若若E 不含变量,则不含变量,则E 为为E的基例。的基例。例例.令令 =a/x,f(b)/y,c/z,E=P(x,y,z)于是于是E的例(也是的例(也是E的基例)为的基例)为 E =P(a,f(b),c)8/10/20226练习:l E=P(x,g(y),h(x,z),=a/x,f(b)/y,g(w)/zE=P(a,g(f(b),h(a,g(w)l E=P(x,y,z),=y/x,z/y E=P(y,z,z).EP(z,z,z).8/10/20227替换的乘积替换的乘积 l定义(替换的乘积)定义(替换的乘积)设设 =t1/x1,tn/xn,=u
5、1/y1,um/ym 是两个替换。将下面集合是两个替换。将下面集合 t1/x1,tn/xn,u1/y1,um/ym 中任意符合下面条件的元素删除:中任意符合下面条件的元素删除:1)ui/yi,当,当yi x1,xn 时;时;2)ti/xi,当,当ti =xi 时。时。如此得到一个替换,称为如此得到一个替换,称为 与与 的乘积,记为的乘积,记为 。l例例.令令 =f(y)/x,z/y =a/x,b/y,y/z 于是得集合于是得集合 t1/x1,t2/x2,u1/y1,u2/y2,u3/y3 =f(b)/x,y/y,a/x,b/y,y/z 与与 的乘积为的乘积为 =f(b)/x,y/z 8/10/
6、20228=a/x,=b/x =a/x =b/x可见:8/10/20229 例子例子:E=P(x,y,z)=a/x,f(z)/y,w/z E=P(a,f(z),w)=t/z,g(b)/w(E)=P(a,f(t),g(b)=a/x,f(t)/y,g(b)/z,g(b)/w E=P(a,f(t),g(b)8/10/202210引理引理 若若E是表达式,是表达式,是两个替换,是两个替换,则则E()=(E)证明:证明:设设vi是是E中任意一个变量符号,而中任意一个变量符号,而 =t1/x1,tn/xn,=u1/y1,um/ym l若若vi既不在既不在 x1,xn 中,也不在中,也不在 y1,ym 中,
7、则中,则vi在在E()中和在中和在(E)中都不变。中都不变。l若若vi=xj(1 j n),则,则E中的中的vi,在,在(E)中先变成中先变成tj,然后,然后再变成再变成tj;E中的中的vi在在E()中立即就变成了中立即就变成了tj。故。故E中中vi在在(E)中和在中和在E()中有相同变化。中有相同变化。l若若vi=yj(1 j m),且,且yj x1,xn,则,则E中中vi在在(E)中中变为变为uj;E中中vi在在E()中也变为中也变为uj(注意注意:yj x1,xn,所,所以以uj/yj),故),故E中中vi在在(E)中和在中和在E()中有相同变中有相同变化。化。由于由于vi的任意性,故引
8、理得证。的任意性,故引理得证。8/10/202211引理引理 设设,是三个替换,是三个替换,于是于是()()证明:证明:设设E是任一表达式,由上面引理知是任一表达式,由上面引理知 E()=(E()=(E)E()=(E)()=(E)所以所以 E()=E()由于由于E的任意性,故的任意性,故()()8/10/202212l定义定义(合一合一)称替换称替换 是表达式集合是表达式集合E1,Ek的的合一,当且仅当合一,当且仅当E1 E2=Ek。表达式集合表达式集合E1,Ek称为可合一的,如果称为可合一的,如果存在关于此集合的一个合一。存在关于此集合的一个合一。l定义定义(最一般合一最一般合一)表达式集合
9、表达式集合E1,Ek的合一的合一 称为是最一般合一称为是最一般合一(most general unifier,简写为简写为mgu),当且仅当对此集合的每,当且仅当对此集合的每一个合一一个合一,都存在替换,都存在替换,使得,使得 8/10/202213二、合一算法二、合一算法定义(差异集合)定义(差异集合)设W是非空表达式集合,W的差异集合是如下一个集合:首先找出W的所有表达式中不是都相同的第一个符号,然后从W的每一个表达式中抽出占有这个符号位置的子表达式。所有这些子表达式组成的集合称为这步找到的W的差异集合D。8/10/202214W不可合一的三种情况不可合一的三种情况(1)若D中无变量符号为
10、元素,则W是不可合一的。l例例.W=P(f(x),P(g(x)D=f(x),g(x)(2)若D中有奇异元素和非奇异元素,则W是不可合一的。l例例.W=P(x),P(x,y)D=,y(3)若D中元素有变量符号x和项t,且x出现在t中,则W是不可合一的。l例例.W=P(x),P(f(x)D=x,f(x)8/10/202215l换名换名:P(f(x),x),P(x,a);如果不换名:D=f(x),x.换名:P(f(y),y),P(x,a);mgu:f(a)/x,a/y8/10/202216步骤1:置 k=0,Wk=W,k=步骤2:若Wk只有一个元素,则停止,k是W的最一般合一;否则,找出Wk的差异集
11、合。步骤3:若Dk非奇异,Dk中存在元素vk和tk,其中vk是变量符号,并且 不出现在tk中,则转步骤4;否则,算法停止,W是不可合一的。步骤4:令 k+1=ktk/vk,Wk+1=Wk (注:Wk+1=W )步骤5:置 k=k+1,转步骤2。合一算法(合一算法(Unification algorithm)/kkvt1k8/10/202217例例.令 W=Q(f(a),g(x),Q(y,y),求W的mgu。l步骤1:k=0,W0=W,0=。l步骤2:D0=f(a),y。l步骤3:有v0=y D0,v0不出现在t0f(a)中。l步骤4:令 1=0t0/v0=f(a)/y,W1=Q(f(a),g(
12、x),Q(f(a),f(a)l步骤5:k=k+1=1l步骤2:D1=g(x),f(a)。l步骤3:D1中无变量符号,算法停止,W不可合一。8/10/202218例例 令令 W=P(a,x,f(g(y),P(z,f(z),f(u),求出求出W的的mgu。步骤1:k=0,W0=W,0=。步骤2:D0=a,z。步骤3:有v0=z D0,v0不出现在t0a中。步骤4:令 1=0t0/v0=a/z=a/z,W1=W0t0/v0=P(a,x,f(g(y),P(z,f(z),f(u)a/z=P(a,x,f(g(y),P(a,f(a),f(u)步骤5:k=k+1=1步骤2:D1=x,f(a)。步骤3:有v1=
13、x D1,且v1不出现在t1f(a)中。步骤4:令 2=1t1/v1=a/z f(a)/x=a/z,f(a)/x,W2=W1t1/v1=P(a,x,f(g(y),P(a,f(a),f(u)f(a)/x =P(a,f(a),f(g(y),P(a,f(a),f(u)8/10/202219例例.步骤步骤5:k=k+1=2步骤步骤2:D2=g(y),u。步骤步骤3:有:有v2=u D2,且,且v2不出现在不出现在t2g(y)中。中。步骤步骤4:令:令 3=2 t2/v2=a/z,f(a)/x g(y)/u =a/z,f(a)/x,g(y)/u,W3=W2t2/v2=P(a,f(a),f(g(y),P(
14、a,f(a),f(u)g(y)/u =P(a,f(a),f(g(y)步骤步骤5:k=k+1=3步骤步骤2:W3只有一个元素。算法停止。只有一个元素。算法停止。3=a/z,f(a)/x,g(y)/u 是是W的最一般合一。的最一般合一。8/10/202220定理定理 若若W是关于表达式的是关于表达式的有限非空可合一有限非空可合一集合,则合一集合,则合一算法终将结束在步骤算法终将结束在步骤2,并且最后的,并且最后的 k是是W的最一般合一。的最一般合一。证明:(1)终止性。否则将产生一个无穷序列:W,W ,W ,其中每一个直接后继集合比它的前任都少一个变量符号(注意:W 包含vk,而W 不包含vk)。
展开阅读全文