人工智能经典逻辑推理ppt课件.ppt
人工智能Artificial Intelligence主讲:杨利英主讲:杨利英西安电子科技大学西安电子科技大学E_mail:第三章第三章 经典逻辑推理经典逻辑推理3.1 基本概念基本概念3.2 自然演绎推理自然演绎推理3.3 归结演绎推理归结演绎推理3.4 与或形演绎推理与或形演绎推理3.1 基本概念3.1.1 什么是推理什么是推理所谓推理就是按某种策略由已知判断所谓推理就是按某种策略由已知判断推出另一个判断的思维过程。推出另一个判断的思维过程。在人工智能中,推理是由程序实现的,称在人工智能中,推理是由程序实现的,称为推理机。为推理机。3.1.2 推理方式及其分类1. 演绎推理、归纳推理、默认推理演绎推理、归纳推理、默认推理演绎推理:从一般到特殊。例如三段论。演绎推理:从一般到特殊。例如三段论。归纳推理:从个体到一般。归纳推理:从个体到一般。默认推理:缺省推理,在知识不完全情况下默认推理:缺省推理,在知识不完全情况下假设某些条件已经具备所进行的推理。假设某些条件已经具备所进行的推理。2. 确定性、不确定性推理确定性、不确定性推理3.1.2 推理方式及其分类3. 单调推理、非单调推理单调推理、非单调推理推出的结论是否单调增加推出的结论是否单调增加 5. 基于知识的推理(专家系统)基于知识的推理(专家系统) 、统计、统计推理、直觉推理(常识性推理)推理、直觉推理(常识性推理)4. 启发式、非启发式推理启发式、非启发式推理 所谓启发性知识是指与问题有关且能加所谓启发性知识是指与问题有关且能加快推理进程、求得问题最优解的知识。快推理进程、求得问题最优解的知识。3.1.3 推理的控制策略推理的控制策略主要包括:推理方向、推理的控制策略主要包括:推理方向、搜索策略、冲突消解策略、求解策略及搜索策略、冲突消解策略、求解策略及限制策略。限制策略。1. 正向推理正向推理(数据驱动推理)基本思想:基本思想:从用户提供的初始已知事实出发,在知识从用户提供的初始已知事实出发,在知识库库KBKB中找出当前可适用的知识,构成可适用的知中找出当前可适用的知识,构成可适用的知识集识集KSKS,然后按某种冲突消解策略从,然后按某种冲突消解策略从KSKS中选出一中选出一条知识进行推理,并将推出的新事实加入到数据条知识进行推理,并将推出的新事实加入到数据库库DBDB中,作为下一步推理的已知事实。在此之后,中,作为下一步推理的已知事实。在此之后,再在知识库中选取可适用的知识进行推理。如此再在知识库中选取可适用的知识进行推理。如此重复进行这一过程,直到求得所要求的解。重复进行这一过程,直到求得所要求的解。正正向向推推理理示示意意图图开始退出把初始已知事实送入DBDB中包含问题的解?KB中有可适用的知识?把KB中所有使用知识都选出来送入KSKS为空?按冲突消解策略从KS中选出一条知识进行推理推出的是新事实?将该新事实加入DB中用户可补充新事实?把用户提供的新事实加入DB中YNNYNYNYNY成功失败2 逆向推理基本思想基本思想 首先选定一个假设目标,然后寻找支持该假设首先选定一个假设目标,然后寻找支持该假设的证据,若所需的证据都能找到,则说明原假的证据,若所需的证据都能找到,则说明原假设是成立的;若找不到所需要的证据,则说明设是成立的;若找不到所需要的证据,则说明原假设不成立,此时需要另作新的假设。原假设不成立,此时需要另作新的假设。逆向推理示意图逆向推理示意图开始退出提出假设该假设在DB中?该假设是证据?在KB中找出所有能导出该假设的知识送入KS有此事实?该假设成立该假设成立,并将此事实存入数据库YNYNNNY从KS中选出一条知识,并将该知识的一个运用条件作为新的假设目标还有假设?询问用户Y 动物识别的例子动物识别的例子(正向推理正向推理)已知事实:一动物已知事实:一动物有毛,吃草,黑条纹有毛,吃草,黑条纹nR1:动物有毛:动物有毛 哺乳类哺乳类 nR2:动物产奶:动物产奶 哺乳类哺乳类 nR3:哺乳类:哺乳类 吃肉吃肉 食肉类食肉类 nR4:哺乳类:哺乳类 吃草吃草 有蹄类有蹄类 nR5:食肉类:食肉类 黄褐色黄褐色 有斑点有斑点 猎狗猎狗 nR6:食肉类:食肉类 黄褐色黄褐色 黑条纹黑条纹 虎虎 nR7:有蹄类:有蹄类 长脖长脖 长颈鹿长颈鹿 nR8:有蹄类:有蹄类 黑条纹黑条纹 斑马斑马3.1.3 推理的控制策略3. 混合推理混合推理先正向推理后逆向推理先正向推理后逆向推理先逆向推理后正向推理先逆向推理后正向推理4. 双向推理双向推理正向推理与逆向推理同时进行,且在推理过程正向推理与逆向推理同时进行,且在推理过程中的某一步上中的某一步上“碰头碰头”。5. 求解策略求解策略只求一个解,还是求所有解以及最优解。只求一个解,还是求所有解以及最优解。6. 限制策略限制策略限制搜索的深度、宽度、时间、空间等等。限制搜索的深度、宽度、时间、空间等等。模式匹配模式匹配是指对两个知识模式是指对两个知识模式(例如两例如两个谓词公式、框架片断、语义网络片断个谓词公式、框架片断、语义网络片断)进行比较,检查这两个知识模式是否完进行比较,检查这两个知识模式是否完全一致或者近似一致。全一致或者近似一致。3.1.4 模式匹配模式匹配可分为模式匹配可分为确定性匹配确定性匹配与与不确定性匹配不确定性匹配。3.1.4 模式匹配确定性匹配确定性匹配是指两个知识模式完全一致,或者是指两个知识模式完全一致,或者经过变量代换后变得完全一致。经过变量代换后变得完全一致。 知识:知识:IF father(x,y) and man(y) THEN son(y,x) 事实:事实:father(李四,李小四李四,李小四) and man(李小四李小四)不确定性匹配不确定性匹配是指两个知识模式不完全一致,是指两个知识模式不完全一致,但是它们的相似程度又在规定的限度内。但是它们的相似程度又在规定的限度内。变量代换(置换)定义定义 代换是一个形如代换是一个形如t1/x1,t2/x2,tn/xn的有限集合。的有限集合。 其中其中t1,t2,tn是项(常量、变量、函数);是项(常量、变量、函数); x1,x2,xn是(某一公式中)互不相同的变元;是(某一公式中)互不相同的变元; ti/xi表示用表示用ti代换代换xi 不允许不允许ti与与xi相同,也不允许变元相同,也不允许变元xi循环地出现在循环地出现在另一个另一个tj中。中。例如:例如:a/x,f(b)/y,w/z是一个代换是一个代换g(y)/x,f(x)/y不是代换不是代换g(a)/x,f(x)/y是代换是代换令令= t1/x1,t2/x2,tn/xn为一个代换,为一个代换,F为表达为表达式,则式,则F表示对表示对F用用ti代换代换xi后得到的表达式。后得到的表达式。F称为称为F的特例。的特例。 规则规则: IF father(x,y) and man(y) THEN son(y,x)事实事实: father(李四,李小四李四,李小四) and man(李小四李小四) F=father(x,y) man(y) = 李四李四/X,李小四李小四/Y F= father(李四,李小四李四,李小四) man(李小四李小四) 结论结论: son(李小四李小四,李四李四)代换的复合定义定义 设设= t1/x1,t2/x2,tn/xn= u1/y1,u2/y2,um/ym是两个代换,则这两个代换的复合也是一个代换,它是是两个代换,则这两个代换的复合也是一个代换,它是从从t1/x1,t2/x2,tn/xn,u1/y1,u2/y2,um/ym中删去如下两种元素:中删去如下两种元素:ti/xi当当ti=xiui/yi当当yix1,x2,xn后剩下的元素所构成的集合,记为后剩下的元素所构成的集合,记为 。注注 (1) ti表示对表示对ti运用运用进行代换。进行代换。 (2)就是对一个公式就是对一个公式F先运用先运用进行代换,然后再进行代换,然后再运用运用进行代换:进行代换:F( )=(F )代换复合的例子例如,设有代换例如,设有代换= f(y)/x,z/y= a/x,b/y,y/z则则=? =f(y)/x, z/y, a/x, b/y, y/z =f(b)/x, y/y, a/x, b/y, y/z =f(b)/x,y/z公式集的合一定义定义 设有公式集设有公式集F=F1,F2,Fn,若存在一,若存在一个代换个代换使得使得F1=F2=Fn则称则称为公式集为公式集F的一个合一,且称的一个合一,且称F1,F2,Fn是可合一的。是可合一的。例如,设有公式集例如,设有公式集F=P(x,y,f(y),P(a,g(x),z)则下式是它的一个合一:则下式是它的一个合一:=a/x,g(a)/y,f(g(a)/z一个公式集的合一一般不唯一一个公式集的合一一般不唯一。 最一般合一定义定义 设设是公式集是公式集F的一个合一,如果对任的一个合一,如果对任一个合一一个合一都存在一个代换都存在一个代换,使得,使得=则称则称是一个最一般的合一。是一个最一般的合一。最一般合一是唯一的最一般合一是唯一的。求取最一般合一差异集差异集:两个公式中相同位置处不同符号的集合。:两个公式中相同位置处不同符号的集合。例如:例如:F=F1:P(x,y,z), F2:P(x,f(a),h(b)则则D1=y,f(a), D2=z,h(b)求取最一般合一的算法:求取最一般合一的算法:1.令令k=0,Fk=F, k=,是空代换。是空代换。2.若若Fk只含一个表达式,则算法停止,只含一个表达式,则算法停止,k就是最一般合一。就是最一般合一。3.找出找出Fk的差异集的差异集Dk。4.若若Dk中存在元素中存在元素xk和和tk,其中,其中xk是变元,是变元,tk是项,且是项,且xk不在不在tk中出现,则置:中出现,则置:Fk+1=Fktk/xkK+1=ktk/xkk=k+1然后转然后转(2)。若不存在这样的。若不存在这样的xk和和tk则算法停止。则算法停止。5.算法终止,算法终止,F的最一般合一不存在。的最一般合一不存在。求取最一般合一的例子求公式集求公式集 F=P(a,x,f(g(y),P(z,f(z),f(u)的最一般合一。的最一般合一。求取最一般合一的例子F=P(a,x,f(g(y),P(z,f(z),f(u)求其最一般合一的过程:求其最一般合一的过程:1.令令F0=F, 0=。 F0中有两个表达式,所以中有两个表达式,所以0不是最一般合一。不是最一般合一。2.差异集:差异集:D0=a,z。代换:。代换: a/z3.F1= F0 a/z=P(a,x,f(g(y),P(a,f(a),f(u) 。 1=0a/z=a/zwD1=x,f(a) 。代换:。代换: f(a)/xwF2=F1f(a)/x=P(a,f(a),f(g(y),P(a,f(a),f(u) 。 2=1f(a)/x=a/z,f(a)/x D2=g(y),u 。代换:。代换: g(y)/uwF3=F2g(y)/u=P(a,f(a),f(g(y),P(a,f(a),f(g(y) 。 3=2g(y)/u=a/z,f(a)/x,g(y)/u 至此,求得最一般合一至此,求得最一般合一 a/z,f(a)/x,g(y)/u 3.1.5 冲突消解策略冲突冲突:多个知识都匹配成功。:多个知识都匹配成功。正向推理正向推理:n多条产生式前件都与已知事实匹配成功多条产生式前件都与已知事实匹配成功逆向推理逆向推理:n多条规则后件都和同一个假设匹配成功多条规则后件都和同一个假设匹配成功冲突消解的基本思想都是冲突消解的基本思想都是对知识进行排序对知识进行排序。几种冲突消解策略1.按针对性排序按针对性排序优先选用针对性强的产生式规则。优先选用针对性强的产生式规则。2.按已知事实的新鲜性排序按已知事实的新鲜性排序优先选用与较多新事实匹配的规则。优先选用与较多新事实匹配的规则。3.按匹配度排序按匹配度排序在不确定性匹配中,计算两个知识模式的相似度在不确定性匹配中,计算两个知识模式的相似度(匹配度匹配度),并对其排序,相似度高的规则先推。并对其排序,相似度高的规则先推。4.按领域问题特点排序按领域问题特点排序5.按上下文限制排序按上下文限制排序把规则按照下上文分组,并只能选取组中的规则。把规则按照下上文分组,并只能选取组中的规则。6.按冗余限制排序按冗余限制排序冗余知识越少的规则先推。冗余知识越少的规则先推。7.按条件个数排序按条件个数排序条件少的规则先推。条件少的规则先推。3.2 自然演绎推理从一组已知为真的事实出发,直接运用从一组已知为真的事实出发,直接运用经典逻辑的推理规则推出结论的过程,经典逻辑的推理规则推出结论的过程,称为自然演绎推理。其中,基本的推理称为自然演绎推理。其中,基本的推理规则是规则是P规则、规则、T规则、假言推理、拒取规则、假言推理、拒取式推理等。式推理等。假言推理的一般形式假言推理的一般形式拒取式推理的一般形式拒取式推理的一般形式,P PQQ,PQQP P P规则规则:在推理的任何步骤都可以引入前提。:在推理的任何步骤都可以引入前提。T T规则规则:推理时,如果前面步骤中有一个或者多:推理时,如果前面步骤中有一个或者多个公式永真蕴含公式个公式永真蕴含公式S S,则可把,则可把S S引入推理过程引入推理过程中。中。3.2 自然演绎推理3.3 归结演绎推理归结演绎推理定理证明:要证明定理证明:要证明PQ(PQ)的永真性。的永真性。根据反证法,只要证明其否定根据反证法,只要证明其否定(PQ) 不不可满足性即可。可满足性即可。归结:归结:Resolution,也称为消解,消解原理,也称为消解,消解原理海伯伦海伯伦(Herbrand)定理为自动定理证明定理为自动定理证明奠定了理论基础;鲁滨逊奠定了理论基础;鲁滨逊(Robinson)提提出的归结原理使机器定理证明成为现实。出的归结原理使机器定理证明成为现实。3.3.1 子句子句w在谓词逻辑中,把原子谓词公式及其否定在谓词逻辑中,把原子谓词公式及其否定统称为统称为文字文字。 如:如:P(x), P(x,f(x), Q(x,g(x)定义:定义: 不包含任何文字的子句称为不包含任何文字的子句称为空子句空子句。定义:定义: 任何文字的析取式称为任何文字的析取式称为子句子句。 例如:例如: P(x)Q(x), P(x,f(x)Q(x,g(x) 子句集子句集(1) 合取范式:合取范式:C1 C2 C3 Cn(2) 子句集子句集: S= C1 ,C2 ,C3 ,Cn(3)任何谓词公式任何谓词公式F都可通过等价关系及推都可通过等价关系及推理规则化为相应的子句集理规则化为相应的子句集S把谓词公式化成子句集的步骤(1)1. 利用等价关系消去利用等价关系消去“”和和“”例如公式例如公式可等价变换成可等价变换成2. 利用等价关系把利用等价关系把“”移到紧靠谓词的位置上移到紧靠谓词的位置上上式经等价变换后上式经等价变换后3. 重新命名变元,使不同量词约束的变元有不同的名字重新命名变元,使不同量词约束的变元有不同的名字上式经变换后上式经变换后()() ( , )()( ( , )( , )xy P x yy Q x yR x y ()( () ( , )()( , )( , )xy P x yyQ x yR x y ()()( , ) ()( ( , )( , )xyP x yy Q x yR x y ()()( , ) ()( ( , )( , )xyP x yz Q x zR x z 把谓词公式化成子句集的步骤(2)4. 消去存在量词消去存在量词a.存在量词前面没有全称量词时,则只要用一个新的个体存在量词前面没有全称量词时,则只要用一个新的个体常量替换受该量词约束的变元。常量替换受该量词约束的变元。b.存在量词前面有一个或者多个全称量词时,要用函数存在量词前面有一个或者多个全称量词时,要用函数f(x1,x2,xn)替换受该存在量词约束的变元。替换受该存在量词约束的变元。上式中存在量词上式中存在量词( y)及及( z)都位于都位于( x)的后面,所以需的后面,所以需要用要用函数函数替换,设替换替换,设替换y和和z的函数分别是的函数分别是f(x)和和g(x),则,则替换后得到替换后得到5. 把全称量词全部移到公式的左边把全称量词全部移到公式的左边()( , ( ) ( ( , ( )( , ( )xP x f xQ x g xR x g x()()( , ) ()( ( , )( , )xyP x yz Q x zR x z 把谓词公式化成子句集的步骤把谓词公式化成子句集的步骤(3)6. 利用等价关系把公式化为利用等价关系把公式化为Skolem标准形标准形Skolem标准形的一般形式是标准形的一般形式是其中,其中,M是子句的合取式,称为是子句的合取式,称为Skolem标准形的母式。标准形的母式。上式化为上式化为Skolem标准形后得到标准形后得到7. 消去全称量词消去全称量词8. 对变元更名,使不同子句中的变元不同名对变元更名,使不同子句中的变元不同名上式化为上式化为9. 消去合取词,就得到子句集消去合取词,就得到子句集()() ()PQ RP QP R12()()()nxxx M()( , ( )( , ( ) ( , ( )( , ( )xP x f xQ x g xP x f xR x g x ( , ( )( , ( ) ( , ( )( , ( )P x f xQ x g xP y f yR y g y ( , ( )( , ( )( , ( )( , ( )P x f xQ x g xP y f yR y g y()( , ( ) ( ( , ( )( , ( )xP x f xQ x g xR x g x 子句集的性质子句集的性质(1)子句集中子句之间是合取关系。)子句集中子句之间是合取关系。(2)子句集中的变元受全称量词的约束。)子句集中的变元受全称量词的约束。 子句集的意义子句集子句集S的不可满足性的不可满足性:对于任意论域中:对于任意论域中的任意一个解释,的任意一个解释,S中的子句不能同时取中的子句不能同时取得真值得真值T。定理定理 设有谓词公式设有谓词公式F,其子句集为,其子句集为S,则,则F不不可满足的充要条件是可满足的充要条件是S不可满足。不可满足。要证明要证明PQ永真,只需证明公式永真,只需证明公式F=(PQ)永假,即永假,即S P , Q不可满足。不可满足。3.3.2 海伯伦理论(Herbrand)为了判断子句集的不可满足性,需要对所有可能论域上的所为了判断子句集的不可满足性,需要对所有可能论域上的所有解释进行判定。只有当子句集对任何非空个体域上的任何有解释进行判定。只有当子句集对任何非空个体域上的任何一个解释都是不可满足的时候,才可断定该子句集是不可满一个解释都是不可满足的时候,才可断定该子句集是不可满足的。足的。海伯伦构造了一个特殊的论域海伯伦构造了一个特殊的论域(海伯伦域海伯伦域),并证明只要对这个特殊域上的一切解释进并证明只要对这个特殊域上的一切解释进行判定,就可知子句集是否不可满足。行判定,就可知子句集是否不可满足。海伯伦域海伯伦域定义定义 设设S为子句集,则按下述方法构造的为子句集,则按下述方法构造的域域H称为海伯伦域,记为称为海伯伦域,记为H域:域:(1)令令H0是是S中所有个体常量的集合,若中所有个体常量的集合,若S中不包含个体常量,则令中不包含个体常量,则令H0a,其,其中中a为任意指定的一个个体常量。为任意指定的一个个体常量。(2)令令Hi+1=HiS中所有中所有n元函数元函数f(x1,xn)|xj(j=1,n)是是Hi中的元中的元素素,其中,其中i=0,1,2,。海伯伦域的例子例例 求子句集求子句集S=P(x)Q(x),R(f(y)的的H域。域。解:此例中没有个体常量,任意指定一个常量解:此例中没有个体常量,任意指定一个常量a作为个体作为个体常量,得到常量,得到H0=aH1=a,f(a)H2=a,f(a),f(f(a)H3=a,f(a),f(f(a),f(f(f(a)H=a,f(a),f(f(a),f(f(f(a), 子句集子句集S在在H域上的解释就是对域上的解释就是对S中出现的常量、中出现的常量、函数及谓词进行指派。函数及谓词进行指派。子句集在子句集在H域上的解释域上的解释定义定义 子句集子句集S在在H域上的一个解释域上的一个解释I满足下列条件:满足下列条件:(1)在解释在解释I下,常量映射到自身;下,常量映射到自身;(2)S中的任一个中的任一个n元函数是元函数是HnH的映射。即设的映射。即设 h1,h2,H,则,则f(h1,h2,hn)H;(3)S中的任一个中的任一个n元谓词是元谓词是HnT,F的映射。的映射。谓词的真值可以指派为谓词的真值可以指派为T,也可为,也可为F。在H域上进行解释的意义意义意义:对于对于S任意可能论域任意可能论域D上的任意一个解释上的任意一个解释I,总存,总存在在H域上的一个解释域上的一个解释I与它对应,且子句集在这两个解与它对应,且子句集在这两个解释下具有相同的真值。释下具有相同的真值。定理定理 子句集子句集S不可满足的充要条件是不可满足的充要条件是S对对H域上一域上一 切解释都为假。切解释都为假。基子句集的基子句集的概念基原子、基文字、基子句、基子句集基原子、基文字、基子句、基子句集没有变量出现的原子、文字、子句、子句集,没有变量出现的原子、文字、子句、子句集,分别称作基原子、基文字、基子句、基子句分别称作基原子、基文字、基子句、基子句集集如:如: P(a), P(f(a) 都称作子句都称作子句CP(x)的基例的基例Herbrand 定理定理 子句集子句集S不可满足的充要条件是存在一个不可满足的充要条件是存在一个有限的不可满足的基子句集有限的不可满足的基子句集S 。注:注: Herbrand 定理给出了一阶逻辑的半可判定算法。即,定理给出了一阶逻辑的半可判定算法。即,仅当被证明定理成立时,使用该算法可以得证,而当被仅当被证明定理成立时,使用该算法可以得证,而当被证明定理不成立时,使用该算法得不出任何结果。证明定理不成立时,使用该算法得不出任何结果。3.3.3 鲁滨逊归结原理子句集子句集S的不可满足性:的不可满足性:对于任意论域中的任意对于任意论域中的任意一个解释,一个解释,S中的子句不能同时取得真值中的子句不能同时取得真值T。一旦一旦S中包含空子句,则中包含空子句,则S必不可满足必不可满足。 鲁滨逊归结原理的基本思想鲁滨逊归结原理的基本思想:检查子句集:检查子句集S中是否中是否包含空子句。若包含,则包含空子句。若包含,则S不可满足;若不包含,不可满足;若不包含,就在子句集中选择合适的子句进行归结,一旦就在子句集中选择合适的子句进行归结,一旦通过归结能推出空子句,就说明子句集通过归结能推出空子句,就说明子句集S是不可是不可满足的。满足的。命题逻辑中的归结原理定义定义 若若P是原子谓词公式,则称是原子谓词公式,则称P与与P为互补文字。为互补文字。在命题逻辑中,在命题逻辑中,P为命题。为命题。定义定义 设设C1与与C2是子句集中的任意两个子句。如果是子句集中的任意两个子句。如果C1中的文中的文字字L1与与C2中文字中文字L2互补,那么从互补,那么从C1和和C2中分别消去中分别消去L1和和L2,并将两个子句中余下的部分析取,构成一个新子句,并将两个子句中余下的部分析取,构成一个新子句C12,则称这一过程为归结。称,则称这一过程为归结。称C12为为C1和和C2的归结式,的归结式,C1和和C2为为C12的亲本子句。的亲本子句。例例 设设C1=PQ, C2=QR, C3=PC1与与C2归结得到:归结得到:C12=PRC12与与C3归结得到:归结得到:C123=R归结原理中的重要定理归结原理中的重要定理定理定理 C12是其亲本子句是其亲本子句C1与与C2的逻辑结论。的逻辑结论。111222() ()1212() ()12121212121212CCLCLCL CLCCCCLLCCLLCCCCCCCCCCC 由假言三段论证明:设C1=LC1, C2=LC2, 则C12=C1C2两个推论两个推论推论推论1 1 设设C C1 1与与C C2 2是子句集是子句集S S中的两个子句,中的两个子句,C C1212是它们的归是它们的归结式。若结式。若用用C C1212代替代替C C1 1和和C C2 2后得到新子句集后得到新子句集S S1 1,则由,则由S S1 1的的不可满足性可推出原子句集不可满足性可推出原子句集S S的不可满足性,即的不可满足性,即S S1 1的不可满足性的不可满足性SS的不可满足性的不可满足性推论推论2 2 设设C1C1与与C2C2是子句集是子句集S S中的两个子句,中的两个子句,C12C12是它们是它们 的归结式。若把的归结式。若把C12C12加入加入S S中得到新子句集中得到新子句集S2S2,则,则S S与与S2S2在不可满足的意义上是等价的,即在不可满足的意义上是等价的,即S2S2的不可满足性的不可满足性 SS的不可满足性的不可满足性在命题逻辑中应用归结原理在命题逻辑中应用归结原理推论推论1 1及推论及推论2 2保证了我们可以用归结的方法来证明子句集保证了我们可以用归结的方法来证明子句集S S的的不可满足性。不可满足性。为了要证明子句集为了要证明子句集S S的不可满足性,只要对其中可进行归的不可满足性,只要对其中可进行归结的子句进行归结,并把归结式加入子句集结的子句进行归结,并把归结式加入子句集S S,或者用归,或者用归结式替换它的亲本子句,然后对新子句集结式替换它的亲本子句,然后对新子句集(S1(S1或者或者S2)S2)证明证明不可满足性就可以了。如果经过归结能得到空子句,则立不可满足性就可以了。如果经过归结能得到空子句,则立即可得原子句集即可得原子句集S S是不可满足的结论。是不可满足的结论。在命题逻辑中,对不可满足的子句集在命题逻辑中,对不可满足的子句集S S,归结原理是完备,归结原理是完备的。即,若子句集不可满足,则必然存在一个从的。即,若子句集不可满足,则必然存在一个从S S到空子到空子句的归结演绎;若存在一个从句的归结演绎;若存在一个从S S到空子句的归结演绎,则到空子句的归结演绎,则S S一定是不可满足的。一定是不可满足的。谓词逻辑中的归结原理谓词逻辑中的归结原理 在谓词逻辑中,由于子句中含有变元,所以不在谓词逻辑中,由于子句中含有变元,所以不能像命题逻辑那样直接消去互补文字,而需要能像命题逻辑那样直接消去互补文字,而需要先用最一般合一对变元进行代换,然后才能进先用最一般合一对变元进行代换,然后才能进行归结。行归结。例如例如,设有两个子句设有两个子句C1=P(x)Q(x), C2= P(a)R(y)由于由于P(x)与与P(a)不同,所以不同,所以C1与与C2不能直接进行归结。但是不能直接进行归结。但是若用最一般合一若用最一般合一 =a/x 对两个子句分别进行代换:对两个子句分别进行代换:C1 =P(a)Q(a)C2 = P(a)R(y)就可对它们进行归结,得到归结式:就可对它们进行归结,得到归结式:Q(a)R(y)二元归结式的定义二元归结式的定义定义定义 设设C C1 1与与C C2 2是两个没有相同变元的子句,是两个没有相同变元的子句,L L1 1和和L L2 2分别是分别是C C1 1和和C C2 2中的文字。若中的文字。若是是L L1 1和和LL2 2的最一般合一,则称的最一般合一,则称C C1212=(C=(C1 1-L-L1 1)(C)(C2 2-L-L2 2) 为为C C1 1和和C C2 2的二元归结式,的二元归结式,L L1 1和和L L2 2称为归结式上的文字。称为归结式上的文字。例例 设设C1=P(a)Q(x)R(x), C2=P(y)Q(b)若选若选L1=P(a),L2=P(y),则有:,则有:L1=P(a), L2=P(y),=a/y就是就是L1与与L2的最一般合的最一般合一。可得:一。可得: C12=(C1-L1)(C2-L2)= Q(x)R(x)Q(b)若参加归结的子句内部含有可合一的文字,则在若参加归结的子句内部含有可合一的文字,则在进行归结之前应先对这些文字进行合一。一般来进行归结之前应先对这些文字进行合一。一般来说,如果子句说,如果子句C中有两个或者两个以上的文字具有中有两个或者两个以上的文字具有最一般合一最一般合一,则称,则称C是是子句子句C的因子。如果的因子。如果C为一个单文字,则称它为为一个单文字,则称它为C的单元因子。的单元因子。例子例子: C1=P(x)VP(f(a)VQ(x) C2= P(y) VR(b) = f(a)/x C1=P(f(a) VQ(f(a) C12 = Q(f(a) VR(b)定义定义 子句子句C1和和C2的归结式是下列二元归结式之一:的归结式是下列二元归结式之一:1.C1与与C2的二元归结式;的二元归结式;2.C1与与C2的因子的因子C22的二元归结式;的二元归结式;3.C1的因子的因子C11与与C2的二元归结式;的二元归结式;4.C1的因子的因子C11与与C2的因子的因子C22的二元归结式。的二元归结式。对于一阶谓词逻辑,归结原理也是完备的。对于一阶谓词逻辑,归结原理也是完备的。即,若子句集即,若子句集S不可满足,则必然存在一不可满足,则必然存在一个从个从S到空子句的归结演绎;若存在一个到空子句的归结演绎;若存在一个从从S到空子句的归结演绎,则到空子句的归结演绎,则S一定是不一定是不可满足的。可满足的。特别注意求归结式时不能同时消去两个互补对求归结式时不能同时消去两个互补对一个简单的例子一个简单的例子 C1=P V Q C2= P V Q3.3.4 归结反演如欲证明如欲证明Q为为P1,P2,Pn的逻辑结论,只需证的逻辑结论,只需证(P1P2Pn)Q是不可满足的,或证明其子句集是不可满足的。是不可满足的,或证明其子句集是不可满足的。而子句集的不可满足性可用归结原理来证明。而子句集的不可满足性可用归结原理来证明。应用归结原理证明定理的过程称为归结反演。应用归结原理证明定理的过程称为归结反演。归结反演的步骤设设F为已知前提的公式集,为已知前提的公式集,Q为目标公式为目标公式(结论结论),用归结反演证明用归结反演证明Q为真的步骤是:为真的步骤是:1.1.否定否定Q Q,得到,得到QQ;2.2.把把QQ并入到公式集并入到公式集F F中,得到中,得到F, Q;F, Q;3.3.把公式集把公式集F, QF, Q化为子句集化为子句集S S;4.4.应用归结原理对子句集应用归结原理对子句集S S中的子句进行归结,并把中的子句进行归结,并把每次归结得到的归结式都并入每次归结得到的归结式都并入S S中。如此反复进行,中。如此反复进行,若出现了空子句,则停止归结,此时就证明了若出现了空子句,则停止归结,此时就证明了Q Q为为真。真。例例3.12 已知已知 求证:求证:G是是F的逻辑结论。的逻辑结论。: ()()( ( , )( )()( ( )( , ):() ( )()()( ( , )( )Fxy A x yB yy C yD x yGx C xxy A x yB y A(x,y)B(y)C(f(x)A(x,y)B(y)B(b)NILC(z)A(a,b)B(b)证明证明:首先把:首先把F和和G化为子句集:化为子句集:( , )( )( ( ),( , )( )( , ( )( ), ( , ),( )FA x yB yC f xA x yB yD x f xGC zA a b B b 然后进行归结:然后进行归结:(6)A(x,y)B(y)由由(1)与与(3)归结,归结,f(x)/z(7)B(b)由由(4)与与(6)归结,归结,a/x,b/y(8)NIL由由(5)与与(7)归结归结所以所以G是是F的逻辑结论。的逻辑结论。上述归结过程如右图归结树所示上述归结过程如右图归结树所示:自动定理证明举例证明证明:梯形的对角线与上下底构成的内梯形的对角线与上下底构成的内错角相等错角相等证明过程证明过程: (1)定义谓词)定义谓词 (2)建立子句集)建立子句集 (3)运用归结原理进行推理)运用归结原理进行推理(1)定义谓词设梯形的顶点为设梯形的顶点为a、b、c、d,定义谓词,定义谓词如下:如下:T(x,y,u,v): 表示以表示以x,y为上底、为上底、u,v为下为下底的梯形底的梯形P(x,y,u,v): 表示边表示边xy平行于边平行于边uvT(x,y,z,u,v,w): 表示表示xyz= uvw(2)建立子句集()()()()( ( , , , )( , , , )()()()()( ( , , , )( , , , , , )( , , , )( , , , , , )( , , , )( , , , )( , , , )( , , , , , )( , , , )(xyuv T x y u vP x y u vxyuv P x y u vE x y v u v yT a b c dE a b d c d bT x y u vP x y u vP x y u vE x y v u v yT a b c dE a梯形的上下底平行平行内错角相等已知 待证明的结论 相应的字句为:, , , , , )b d c d b(3)运用归结原理进行推理1( , , , )( , , , )2( , , , )( , , , , , )3( , , , )4( , , , , , )5( , , , ) (2)(4)(6)( , , , ) (1)(3)7(5)(6)T x y u vP x y u vP x y u vE x y v u v yT a b c dE a b d c d bP a b c dP a b c dNIL()( )()( )()归结归结( )归结3.3.5 应用归结原理求取问题的答案1.把已知前提用谓词公式表示出来,并且化为相应的子句把已知前提用谓词公式表示出来,并且化为相应的子句集。设该子句集的名字为集。设该子句集的名字为S。2.把待求解的问题也用谓词公式表示出来,然后把它否定把待求解的问题也用谓词公式表示出来,然后把它否定并与谓词并与谓词Answer构成析取式。构成析取式。Answer是一个为了求解是一个为了求解问题而专设的谓词,其变元须与问题公式的变元完全一问题而专设的谓词,其变元须与问题公式的变元完全一致。致。3.把此析取式化为子句集,并且把该子句集并入到子句集把此析取式化为子句集,并且把该子句集并入到子句集S中,得到子句中,得到子句集集S。4.对对S应用归结原理进行归结。应用归结原理进行归结。5.若得到归结式若得到归结式Answer,则答案就在,则答案就在Answer中。中。求解的步骤:用归结原理求解问题的例子例3.16 设设A,B,C三人中有人从不说真话,也有人从不说假话。三人中有人从不说真话,也有人从不说假话。某人向这三人分别提出同一个问题:谁是说谎者?某人向这三人分别提出同一个问题:谁是说谎者?A答:答:“B和和C都是说谎者都是说谎者”;B答:答:“A和和C都是说谎者都是说谎者”;C答:答:“A和和B中至少有一个是说谎者中至少有一个是说谎者”。求谁是老实人,谁是。求谁是老实人,谁是说谎者?说谎者?解解:设用:设用T(x)表示表示x说真话说真话, T(C)T(A)T(B)T(C)T(A)T(B) T(A)T(B)T(C) T(A)T(B)T(C) T(B)T(A)T(C) T(B)T(A)T(C) T(C)T(A)T(B) T(C)T(A)T(B)把上述公式化成子句集,得到把上述公式化成子句集,得到S:(1)T(A)T(B)(2)T(A)T(C)(3)T(C)T(A)T(B)(4)T(B)T(C)(5)T(C)T(A)T(B)(6) T(A)T(C)(7)T(B)T(C)把把T(x)Ansewer(x)并入并入S得到得到S1。即多一个子句:。即多一个子句:(8)T(x)Ansewer(x)应用归结原理对应用归结原理对S1进行归