3-人工智能经典逻辑推理剖析优秀PPT.ppt
人工智能Artificial Intelligence主讲:杨利英主讲:杨利英西安电子科技高校西安电子科技高校E_mail:yangliying1208163 第三章第三章 经典逻辑推理经典逻辑推理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.正向推理正向推理(数据驱动推理)基本思想:从用户供应的初始已知事实动身,在学问库基本思想:从用户供应的初始已知事实动身,在学问库KB中找出当前可适用的学问,构成可适用的学问集中找出当前可适用的学问,构成可适用的学问集KS,然,然后按某种冲突消解策略从后按某种冲突消解策略从KS中选出一条学问进行推理,中选出一条学问进行推理,并将推出的新事实加入到数据库并将推出的新事实加入到数据库DB中,作为下一步推理中,作为下一步推理的已知事实。在此之后,再在学问库中选取可适用的学问的已知事实。在此之后,再在学问库中选取可适用的学问进行推理。如此重复进行这一过程,直到求得所要求的解。进行推理。如此重复进行这一过程,直到求得所要求的解。正正向向推推理理示示意意图图2 逆向推理基本思想基本思想 首先选定一个假设目标,然后找寻支持该假设首先选定一个假设目标,然后找寻支持该假设的证据,若所需的证据都能找到,则说明原假的证据,若所需的证据都能找到,则说明原假设是成立的;若找不到所须要的证据,则说明设是成立的;若找不到所须要的证据,则说明原假设不成立,此时须要另作新的假设。原假设不成立,此时须要另作新的假设。逆向推理示意图逆向推理示意图 动物识别的例子动物识别的例子(正向推理正向推理)已知事实:一动物已知事实:一动物有毛,吃草,黑条纹有毛,吃草,黑条纹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)/uF3=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 冲突消解策略冲突:多个学问都匹配成功。冲突:多个学问都匹配成功。正向推理:正向推理:多条产生式前件都与已知事实匹配成功多条产生式前件都与已知事实匹配成功逆向推理:逆向推理:多条规则后件都和同一个假设匹配成功多条规则后件都和同一个假设匹配成功冲突消解的基本思想都是对学问进行排序。冲突消解的基本思想都是对学问进行排序。几种冲突消解策略1.按针对性排序按针对性排序2.优先选用针对性强的产生式规则。优先选用针对性强的产生式规则。3.按已知事实的簇新性排序按已知事实的簇新性排序4.优先选用与较多新事实匹配的规则。优先选用与较多新事实匹配的规则。5.按匹配度排序按匹配度排序6.在不确定性匹配中,计算两个学问模式的相像度在不确定性匹配中,计算两个学问模式的相像度(匹配度匹配度),并对其排序,相像度高的规则先推。,并对其排序,相像度高的规则先推。7.按领域问题特点排序按领域问题特点排序8.按上下文限制排序按上下文限制排序9.把规则依据下上文分组,并只能选取组中的规则。把规则依据下上文分组,并只能选取组中的规则。10.按冗余限制排序按冗余限制排序11.冗余学问越少的规则先推。冗余学问越少的规则先推。12.按条件个数排序按条件个数排序13.条件少的规则先推。条件少的规则先推。3.2 自然演绎推理从从一一组组已已知知为为真真的的事事实实动动身身,干干脆脆运运用用经经典典逻逻辑辑的的推推理理规规则则推推出出结结论论的的过过程程,称称为为自自然然演演绎绎推推理理。其其中中,基基本本的的推推理理规规则则是是P规规则则、T规规则则、假假言言推推理理、拒拒取取式推理等。式推理等。假言推理的一般形式假言推理的一般形式拒取式推理的一般形式拒取式推理的一般形式P P规则:在推理的任何步骤都可以引入前提。规则:在推理的任何步骤都可以引入前提。T T规则:推理时,假如前面步骤中有一个或者多规则:推理时,假如前面步骤中有一个或者多个公式永真蕴含公式个公式永真蕴含公式S S,则可把,则可把S S引入推理过程引入推理过程中。中。3.2 自然演绎推理3.3 归结演绎推理归结演绎推理定理证明:要证明定理证明:要证明PQ(PQ)的永真性。的永真性。依据反证法,只要证明其否定依据反证法,只要证明其否定(PQ)不不行满足性即可。行满足性即可。归结:归结:Resolution,也称为消解,消解原理,也称为消解,消解原理海伯伦海伯伦(Herbrand)定理为自动定理证明奠定理为自动定理证明奠定了理论基础;鲁滨逊定了理论基础;鲁滨逊(Robinson)提出的提出的归结原理使机器定理证明成为现实。归结原理使机器定理证明成为现实。3.3.1 子句子句在谓词逻辑中,把原子谓词公式及其否定在谓词逻辑中,把原子谓词公式及其否定统称为统称为文字文字。如:如: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.重新命名变元,使不同量词约束的变元有不同的名字重新命名变元,使不同量词约束的变元有不同的名字上式经变换后上式经变换后把谓词公式化成子句集的步骤(2)4.消去存在量词消去存在量词a.存在量词前面没有全称量词时,则只要用一个新的个体存在量词前面没有全称量词时,则只要用一个新的个体常量替换受该量词约束的变元。常量替换受该量词约束的变元。b.存在量词前面有一个或者多个全称量词时,要用函数存在量词前面有一个或者多个全称量词时,要用函数f(x1,x2,xn)替换受该存在量词约束的变元。替换受该存在量词约束的变元。上式中存在量词上式中存在量词(y)及及(z)都位于都位于(x)的后面,所以须的后面,所以须要用函数替换,设替换要用函数替换,设替换y和和z的函数分别是的函数分别是f(x)和和g(x),则,则替换后得到替换后得到5.把全称量词全部移到公式的左边把全称量词全部移到公式的左边把谓词公式化成子句集的步骤把谓词公式化成子句集的步骤(3)6.利用等价关系把公式化为利用等价关系把公式化为Skolem标准形标准形Skolem标准形的一般形式是标准形的一般形式是其中,其中,M是子句的合取式,称为是子句的合取式,称为Skolem标准形的母式。标准形的母式。上式化为上式化为Skolem标准形后得到标准形后得到7.消去全称量词消去全称量词8.对变元更名,使不同子句中的变元不同名对变元更名,使不同子句中的变元不同名上式化为上式化为9.消去合取词,就得到子句集消去合取词,就得到子句集 子句集的性质子句集的性质(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的逻辑结论。的逻辑结论。证明:设C1=LC1,C2=LC2,则C12=C1C2两个推论两个推论推论推论1 1 设设C1C1与与C2C2是子句集是子句集S S中的两个子句,中的两个子句,C12C12是它们的是它们的归结式。若用归结式。若用C12C12代替代替C1C1和和C2C2后得到新子句集后得到新子句集S1S1,则由,则由S1S1的不行满足性可推出原子句集的不行满足性可推出原子句集S S的不行满足性,即的不行满足性,即S1S1的不行满足性的不行满足性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的逻辑结论。的逻辑结论。A(x,y)B(y)C(f(x)A(x,y)B(y)B(b)NILC(z)A(a,b)B(b)证明证明:首先把:首先把F和和G化为子句集:化为子句集:然后进行归结:然后进行归结:(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)建立子句集(3)运用归结原理进行推理3.3.5 应用归结原理求取问题的答案把已知前提用谓词公式表示出来,并且化为相应的子句集。设该子句集的名字为S。把待求解的问题也用谓词公式表示出来,然后把它否定并与谓词Answer构成析取式。Answer是一个为了求解问题而专设的谓词,其变元须与问题公式的变元完全一样。把此析取式化为子句集,并且把该子句集并入到子句集S中,得到子句集S。对S应用归结原理进行归结。若得到归结式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进行归结:进行归结:(9)T(A)T(C)(1)和和(7)归结归结(10)T(C)(6)和和(9)归结归结(11)Ansewer(C)(8)和和(10)归结归结所以所以C是醇厚人,即是醇厚人,即C从不说假话。从不说假话。下面先求谁是醇厚人。下面先求谁是醇厚人。(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(A)进行否定,并入进行否定,并入S中,得到子句集中,得到子句集S2,即,即S2比比S多如多如下子句:下子句:(8)(T(A),即即T(A)应用归结原理对应用归结原理对S2进行归结:进行归结:(9)T(A)T(C)(1)和和(7)归结归结(10)T(A)(2)和和(9)归结归结(11)NIL(8)和和(10)归结归结所以所以A不是醇厚人。同样可以证明不是醇厚人。同样可以证明B也不是醇厚人。也不是醇厚人。在上面的归结中,归结不出在上面的归结中,归结不出Ansewer(A)和和Ansewer(B)。下面证明下面证明A不是醇厚人,即证明不是醇厚人,即证明T(A)。两点留意两点留意归结时,并不要求把子句集中全部的子句都用到。在归结过程中,一个子句可以多次被用来进行归结。3.3.6 归结策略归结策略可分为两大类:归结策略可分为两大类:(1)删除策略删除策略删除某些无用的子句来缩小归结的范围。删除某些无用的子句来缩小归结的范围。(2)限制策略限制策略通过对参与归结的子句进行种种限制,通过对参与归结的子句进行种种限制,尽可能减小归结的盲目性,使其尽快地归尽可能减小归结的盲目性,使其尽快地归结出空子句。结出空子句。归结的一般过程归结的一般过程设有子句集设有子句集S=C1,C2,C3,C4,则对此子句集归结的一般过程:,则对此子句集归结的一般过程:1.S内随意子句两两逐一进行归结,得到一组归结内随意子句两两逐一进行归结,得到一组归结式,称为第一级归结式,记为式,称为第一级归结式,记为S1。2.把把S与与S1内的随意子句两两逐一进行归结,得到内的随意子句两两逐一进行归结,得到一组归结式,称为其次级归结式,记为一组归结式,称为其次级归结式,记为S2。3.S和和S1内的子句与内的子句与S2内的随意子句两两逐一进行内的随意子句两两逐一进行归结,得到一组归结式,称为第三级归结式,记归结,得到一组归结式,称为第三级归结式,记为为S3。4.如此接着,直到出现了空子句或者不能再接着归如此接着,直到出现了空子句或者不能再接着归结为止。结为止。一个归结的例子例例 设有子句集设有子句集S=P,R,PQ,QR。归结过程为:。归结过程为:S:(1)P(2)R(3)PQ(4)QRS1:(5)Q(1)与与(3)归结归结(6)Q(2)与与(4)归结归结(7)PR(3)与与(4)归结归结S2:(8)R(1)与与(7)归结归结(9)P(2)与与(7)归结归结(10)P(3)与与(6)归结归结(11)R(4)与与(5)归结归结S3:(12)NIL (1)与与(9)归结归结删除策略纯文字删除法纯文字删除法假如某文字假如某文字L在子句集中不存在可与之互补的在子句集中不存在可与之互补的文字文字L,则称该文字为纯文字。包含纯文字的子,则称该文字为纯文字。包含纯文字的子句可以删除。句可以删除。重言式删除法重言式删除法假如一个子句中同时包含互补文字对,则该字假如一个子句中同时包含互补文字对,则该字句称为重言式。重言式是恒久为真的子句,可以句称为重言式。重言式是恒久为真的子句,可以删除。删除。包孕删除法包孕删除法设有子句设有子句C1和和C2,假如存在一个代换,假如存在一个代换,使,使得得 ,则称,则称C1包孕于包孕于C2。C2可删除。可删除。支持集策略对参与归结的子句提出如下限制:每一次对参与归结的子句提出如下限制:每一次归结时,亲本子句中至少有一个是由目标归结时,亲本子句中至少有一个是由目标公式的否定所得到的子句,或者是它的后公式的否定所得到的子句,或者是它的后裔。可以证明,支持集策略是完备的。裔。可以证明,支持集策略是完备的。支持集策略用支持集策略进行归结的过程是:用支持集策略进行归结的过程是:S S:(1)(1)I(x)R(x)(2)(2)I(a)(3)(3)R(y)L(y)(4)L(a)(4)L(a)S S1 1:(5)R(a):(5)R(a)(1)(1)与与(2)(2)归结归结(6)(6)I(x)L(x)(1)(1)与与(3)(3)归结归结S S2 2:(7):(7)L(a)(2)(2)与与(6)(6)归结归结(8)(8)L(a)(3)(3)与与(5)(5)归结归结(9)(9)I(a)(4)(4)与与(6)(6)归结归结S S3 3:(10)NIL:(10)NIL(2)(2)与与(9)(9)归结归结例 设有子句集设有子句集S=I(x)R(x),I(a),R(y)L(y),L(a)其中其中I(x)R(x)是目标公式否定后得到的子句。是目标公式否定后得到