《应用归结原理例-讲.ppt》由会员分享,可在线阅读,更多相关《应用归结原理例-讲.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、应用归结原理的习题应用归结原理的习题在在谓词逻辑谓词逻辑中,中,对对子句子句进进行行归结归结推理推理时时,要注意以下几个,要注意以下几个问题问题:(1)若若被被归归结结的的子子句句C1 和和C2中中具具有有相相同同的的变变元元时时,需需要要将将其其中中一一个子句的个子句的变变元更名,否元更名,否则则可能无法合一,从而没有可能无法合一,从而没有办办法法进进行行归结归结。(2)在在求求归归结结式式时时,不不能能同同时时消消去去两两个个互互补补文文字字对对,消消去去两两个个互互补补文字文字对对所得的所得的结结果不是两个果不是两个亲亲本子句的本子句的逻辑逻辑推推论论。(3)如如果果在在参参加加归归结结
2、的的子子句句内内含含有有可可合合一一的的文文字字,则则在在进进行行归归结结之之前,前,应对这应对这些文字些文字进进行合一,以行合一,以实现这实现这些子句内部的化些子句内部的化简简。5/27/20231(一)应用归结原理进行定理证明应用归结原理进行定理证明的步骤:应用归结原理进行定理证明的步骤:设要被证明的定理可用谓词公式表示为如下的形式:A1A2AnB(1)首先否定结论B,并将否定后的公式B与前提公式集组成如下形式的谓词公式:G=A1A2AnB(2)求谓词公式G的子句集S。(3)应用归结原理,证明子句集S的不可满足性。5/27/20232应用归结原理进行定理证明-习题1 例.已知:某些病人喜欢
3、所有的医生,没有一个病人喜欢任意一个骗子。证明:任意一个医生都不是骗子。证明:知识表示:令 P(x):x是病人 D(x):x是医生 Q(x):x是骗子 L(x,y):x喜欢yA1:x(P(x)y(D(y)L(x,y)A2:x(P(x)y(Q(y)L(x,y)B:x(D(x)Q(x)我们要证明B是A1和A2的逻辑结果,即公式A1A2B是不可满足的。5/27/20233A1=x(P(x)y(D(y)L(x,y)=xy(P(x)(D(y)L(x,y)-y(P(a)(D(y)L(a,y)A2=x(P(x)y(Q(y)L(x,y)=x(P(x)y(Q(y)L(x,y)=xy(P(x)Q(y)L(x,y)
4、B=(x(D(x)Q(x)=x(D(x)Q(x)-D(b)Q(b)因此,公式A1A2B的子句集为SP(a),D(y)L(a,y),P(x)Q(y)L(x,y),D(b),Q(b)5/27/20234S不可满足的归结演绎序列为:(1)P(a)(2)D(y)L(a,y)(3)P(x)Q(y)L(x,y)(4)D(b)(5)Q(b)(6)L(a,b)由(2)、(4)mgu:b/y(7)Q(y)L(a,y)由(1)、(3)mgu:a/x(8)L(a,b)由(5)、(7)mgu:b/y(9)由(6)、(8)5/27/20235应用归结原理进行定理证明-习题2练习:设有下列知识:练习:设有下列知识:F1:
5、自然数都是大于等于零的整数;:自然数都是大于等于零的整数;F2:所有整数不是偶数就是奇数;:所有整数不是偶数就是奇数;F3:偶数除以:偶数除以2是整数。是整数。求证:所有自然数不是奇数就是其一半为整数的数。求证:所有自然数不是奇数就是其一半为整数的数。定义谓词:定义谓词:N(x):x是自然数;是自然数;I(x):x是整数;是整数;GZ(x):x大于等于零大于等于零;E(x):x是偶数是偶数;O(x):x是奇数。是奇数。定义函数定义函数f(x):x除以除以2。5/27/20236应用归结原理进行定理证明-习题3练习练习:(1)马马科斯科斯(Marcus)是男人;是男人;(2)马马科斯是科斯是庞贝
6、庞贝人;人;(3)所有所有庞贝庞贝人都是人都是罗马罗马人;人;(4)恺恺撒撒(Caesar)是一位是一位统统治者;治者;(5)所有所有罗马罗马人忠于或仇恨人忠于或仇恨恺恺撒;撒;(6)每个人都忠于某个人;每个人都忠于某个人;(7)男人男人们们只想暗只想暗杀杀他他们们不忠于的不忠于的统统治者;治者;(8)马马科斯科斯试图试图暗暗杀恺杀恺撒。撒。证证明:明:马马科斯仇恨科斯仇恨恺恺撒。撒。定定义谓词义谓词:Man(x):x是男人;是男人;Pompeian(x):x是是庞贝庞贝人;人;Roman(x):x是是罗马罗马人人;Ruler(x):x是是统统治者治者;Loyalto(x,y):x忠于忠于y;
7、Hate(x,y):x仇恨仇恨y;Tryassassinate(x,y):x试图试图暗暗杀杀y。5/27/20237练习:练习:“快乐学生快乐学生”问题问题假假设设:任何通:任何通过计过计算机考算机考试试并并获奖获奖的人都是快的人都是快乐乐的;的;任何肯学任何肯学习习或幸运的人都可以通或幸运的人都可以通过过所有考所有考试试;张张不肯学不肯学习习但他是幸运的;但他是幸运的;任何幸运的人都能任何幸运的人都能获奖获奖。证证明:明:张张是快是快乐乐的。的。定定义谓词义谓词Pass(x,y):x通通过过考考试试y;Win(x,prize):x获奖获奖;Happy(x):x快快乐乐;Study(x):x肯
8、学肯学习习;Lucky(x):x幸运。幸运。应用归结原理进行定理证明-习题45/27/20238应用归结原理进行定理证明-习题5练习练习-“激激动动人心的生活人心的生活”问题问题假假设设:所有不所有不贫穷贫穷并且并且聪聪明的人都是快明的人都是快乐乐的;的;那些看那些看书书的人是的人是聪聪明的;明的;李明能看李明能看书书且不且不贫穷贫穷;快快乐乐的人的人过过着激着激动动人心的生活。人心的生活。求求证证:李明:李明过过着激着激动动人心的生活。人心的生活。定定义谓词义谓词:Poor(x):x贫穷贫穷;Smart(x):x聪聪明;明;Happy(x):x快快乐乐;Read(x):x看看书书;Excit
9、ing(x):x过过着激着激动动人心的生活。人心的生活。5/27/20239(二)利用归结原理求取问题答案(二)利用归结原理求取问题答案利用归结原理求取问题答案的步骤:利用归结原理求取问题答案的步骤:(1)把把已已知知前前提提条条件件用用谓谓词词公公式式表表示示出出来来,并并化化成成相相应应的的子子句句集集,设该子句集的名字为设该子句集的名字为S1。(2)把把待待求求解解的的问问题题也也用用谓谓词词公公式式表表示示出出来来,然然后后将将其其否否定定,并并与与一一谓谓词词ANSWER构构成成析析取取式式。谓谓词词ANSWER是是一一个个专专为为求求解解问题而设置的谓词,其变量必须与问题公式的变量
10、完全一致。问题而设置的谓词,其变量必须与问题公式的变量完全一致。(3)把把(2)中中的的析析取取式式化化为为子子句句集集,并并把把该该子子句句集集与与S1合合并并构构成成子句集子句集S。5/27/202310(4)对对子子句句集集S应应用用归归结结原原理理进进行行归归结结,在在归归结结的的过过程程中中,通通过过合合一一,改改变变ANSWER中中的的变元。变元。(5)如如果果得得到到归归结结式式ANSWER,则则问问题题的的答答案案即在即在ANSWER谓词中。谓词中。5/27/202311利用归结原理求取问题答案利用归结原理求取问题答案-习题习题1例例.任何兄弟都有同一个父亲,任何兄弟都有同一个
11、父亲,John和和Peter是兄弟,且是兄弟,且John的父亲是的父亲是David,问问:Peter的父亲是谁?的父亲是谁?解解 第第一一步步:将将已已知知条条件件用用谓谓词词公公式式表表示示出出来来,并并化化成成子子句集,那么要先定义谓词。句集,那么要先定义谓词。(1)定义谓词:定义谓词:设设Father(x,y)表示表示x是是y的父亲。的父亲。Brother(x,y)表示表示x和和y是兄弟。是兄弟。5/27/202312(2)将已知事实用谓词公式表示出来。将已知事实用谓词公式表示出来。F1:任何兄弟都有同一个父亲。:任何兄弟都有同一个父亲。x y z(Brother(x,y)Father(
12、z,x)Father(z,y)F2:John和和Peter是兄弟。是兄弟。Brother(John,Peter)F3:John的父亲是的父亲是David。Father(David,John)(3)将它们化成子句集得:将它们化成子句集得:S1=Brother(x,y)Father(z,x)Father(z,y),Brother(John,Peter),Father(David,John)5/27/202313第二步:把问题用谓词公式表示出来,第二步:把问题用谓词公式表示出来,并将其否定与谓词并将其否定与谓词ANSWER作析取。作析取。设设Peter的父亲是的父亲是u,则有:,则有:Father(
13、u,Peter)。将其否定与将其否定与ANSWER作析取,得:作析取,得:G:Father(u,Peter)ANSWER(u)5/27/202314第三步:将上述公式第三步:将上述公式G化为子句集化为子句集S2,并将并将S1和和S2合并到合并到S。S2=Father(u,Peter)ANSWER(u)S=S1 S2将将S中各子句列出如下:中各子句列出如下:(1)Brother(x,y)Father(z,x)Father(z,y)。(2)Brother(John,Peter)。(3)Father(David,John)。(4)Father(u,Peter)ANSWER(u)。5/27/20231
14、5第四步:应用归结原理进行归结第四步:应用归结原理进行归结(5)Brother(John,y)Father(David,y)(1)与()与(3)归结)归结=David/z,John/x(6)Brother(John,Peter)ANSWER(David)(4)与()与(5)归结)归结=David/u,Peter/y(7)ANSWER(David)(2)与()与(6)归结)归结第第五五步步:得得到到了了归归结结式式ANSWER(David),答答案案即即在在其其中中,所所以以u=David。即。即Peter的父亲是的父亲是David。5/27/202316利用归结原理求取问题答案利用归结原理求取
15、问题答案-习题习题2练习:练习:已知:已知:F1:王先生是小李的老师;王先生是小李的老师;F2:小李与小张是同班同学;小李与小张是同班同学;F3:如果如果x与与y是同班同学,则是同班同学,则x的老师也是的老师也是y的老师。的老师。求:小张的老师是谁?求:小张的老师是谁?定义谓词:定义谓词:T(x,y):x是是y的老师;的老师;C(x,y):x与与y是同班同学。是同班同学。5/27/202317利用归结原理求取问题答案利用归结原理求取问题答案-习题习题3 练习:某记者到一个孤岛上采访,遇到了一个难题,即岛上有许练习:某记者到一个孤岛上采访,遇到了一个难题,即岛上有许多人说假话,因而难以保证新闻报
16、道的正确性。不过有一点她是多人说假话,因而难以保证新闻报道的正确性。不过有一点她是清楚的,这个岛上的人有一特点,说假话的人从来不说真话,说清楚的,这个岛上的人有一特点,说假话的人从来不说真话,说真话的人也从来不说假话。有一次,记者遇到了孤岛上的三个人,真话的人也从来不说假话。有一次,记者遇到了孤岛上的三个人,为了弄清楚谁说真话,谁说假话,她向三个人中的每一个都提了为了弄清楚谁说真话,谁说假话,她向三个人中的每一个都提了同样的问题,即同样的问题,即“谁是说谎者?谁是说谎者?”结果,结果,a 回答:回答:“b和和c都是说谎都是说谎者者”;b回答:回答:“a和和c都是说谎者都是说谎者”;c回答:回答
17、:“a和和b至少有一个是至少有一个是说谎者说谎者”。试问记者如何才能从这些回答中理出头绪。试问记者如何才能从这些回答中理出头绪。定义谓词:定义谓词:T(x):x说真话。说真话。5/27/202318利用归结原理求取问题答案利用归结原理求取问题答案-习题习题4破案问题:在一栋房子里发生了一件神秘的谋杀破案问题:在一栋房子里发生了一件神秘的谋杀案,现在可以肯定以下几点事实:案,现在可以肯定以下几点事实:(1)在这栋房子里仅住有在这栋房子里仅住有A,B,C三人;三人;(2)是住在这栋房子里的人杀了是住在这栋房子里的人杀了A;(3)谋杀者非常恨受害者;谋杀者非常恨受害者;(4)A所恨的人,所恨的人,C一定不恨;一定不恨;(5)除了除了B以外,以外,A恨所有的人;恨所有的人;(6)B恨所有不比恨所有不比A富有的人;富有的人;5/27/202319(7)A所恨的人,所恨的人,B也恨;也恨;(8)没有一个人恨所有的人;没有一个人恨所有的人;(9)杀人嫌疑犯一定不会比受害者富有。杀人嫌疑犯一定不会比受害者富有。为了推理需要,增加如下常识:为了推理需要,增加如下常识:(10)A不等于不等于B。问:谋杀者是谁?问:谋杀者是谁?定义谓词:定义谓词:L(x):住在这栋房子里;住在这栋房子里;SK(x,y):x杀了杀了y;H(x,y):x恨恨y;R(x,y):x比比y富有。富有。5/27/202320
限制150内