应用归结原理例讲课教学文案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5
6/19/2020
应用归结原理进行定理证明-习题3
练习: (1)马科斯(Marcus)是男人;(2)马科斯是庞贝人; (3)所有庞贝人都是罗马人;(4)恺撒(Caesar)是一位统治者; (5)所有罗马人忠于或仇恨恺撒;(6)每个人都忠于某个人; (7)男人们只想暗杀他们不忠于的统治者;(8)马科斯试图暗杀恺撒。 证明:马科斯仇恨恺撒。
练习:“快乐学生”问题 假设:任何通过计算机考试并获奖的人都是快乐的;
任何肯学习或幸运的人都可以通过所有考试; 张不肯学习但他是幸运的; 任何幸运的人都能获奖。 证明:张是快乐的。
定义谓词 Pass(x,y):x通过考试y;Win(x,prize):x获奖;Happy(x):x快乐;
7 Study(x):x肯学习; 6/19L/20u20cky(x):x幸运。
(3)把(2)中的析取式化为子句集,并把该子句集与S1合并构成 子句集S。
9
6/19/2020
(4)对子句集S应用归结原理进行归结,在归 结的过程中,通过合一,改变ANSWER中的 变元。
(5)如果得到归结式ANSWER,则问题的答案 即在ANSWER谓词中。
10
6/19/2020
利用归结原理求取问题答案-习题1
2
6/19/2020
A1=x (P(x) y(~D(y) L(x, y))) =x y (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)) ~B=~(x(D(x) ~Q(x)))
(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)
4
6/19/2020
应用归结原理进行定理证明-习题2
应用归结原理进行定理证明-习题5
练习--“激动人心的生活”问题 假设:
所有不贫穷并且聪明的人都是快乐的; 那些看书的人是聪明的; 李明能看书且不贫穷; 快乐的人过着激动人心的生活。 求证:李明过着激动人心的生活。
定义谓词:
Poor(x):x贫穷; Smart(x):x聪明; Happy(x):x快乐; Read(x):x看书; Exciting(x):x过着激动人心的生活。
应用归结原理例讲课
应用归结原理进行定理证明-习题1
例.已知:某些病人喜欢所有的医生, 没有一个病人喜欢任意一个骗子。
证明: 任意一个医生都不是骗子。 证明: 知识表示:令
P(x):x是病人 D(x):x是医生 Q(x):x是骗子 L(x, y):x喜欢y
A1: 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的逻辑结果,即公式A1A2~B是不可满足的。
=x (D(x) Q(x))
--- D(b) Q(b) 因此,公式A1A2~B的子句集为 S={P(a),~D(y)L(a,y),~P(x)~Q(y)~L(x, y),D(b),Q(b)}
3
6/19/2020
S不可满足的归结演绎序列为:
(1) P(a)
(2) ~D(y) L(a, y)
(3) ~P(x) ~Q(y) ~L(x, y)
8
6/19/2020
(二)利用归结原理求取问题答案
利用归结原理求取问题答案的步Biblioteka Baidu:
(1)把已知前提条件用谓词公式表示出来,并化成相应的子句集, 设该子句集的名字为S1。
(2)把待求解的问题也用谓词公式表示出来,然后将其否定,并 与一谓词ANSWER构成析取式。谓词ANSWER是一个专为求 解问题而设置的谓词,其变量必须与问题公式的变量完全一致。
G:~Father(u,Peter)∨ANSWER(u)
13
6/19/2020
第三步:将上述公式G化为子句集S2,并将S1和S2合并到S。 S2 ={~Father(u,Peter)∨ANSWER(u)} S= S1∪S2
练习:设有下列知识: F1:自然数都是大于等于零的整数; F2:所有整数不是偶数就是奇数; F3:偶数除以2是整数。 求证:所有自然数不是奇数就是其一半为整数的数。
定义谓词:
N(x):x是自然数;I(x):x是整数;GZ(x):x大于等于零;
E(x):x是偶数; O(x):x是奇数。
定义函数f(x):x除以2。
例. 任何兄弟都有同一个父亲,
John和Peter是兄弟,且John的父亲是David,
问:Peter的父亲是谁?
解 第一步:将已知条件用谓词公式表示出来,并化成子 句集,那么要先定义谓词。
(1) 定义谓词:
设Father(x,y)表示x是y的父亲。
Brother(x,y)表示x和y是兄弟。
11
6/19/2020
(3) 将它们化成子句集得:
S1={~Brother(x,y)∨~Father(z,x)∨Father(z,y),
Brother(John,Peter), Father(David,John)}
12
6/19/2020
第二步:把问题用谓词公式表示出来, 并将其否定与谓词ANSWER作析取。
设Peter的父亲是u,则有:Father(u,Peter)。 将其否定与ANSWER作析取,得:
定义谓词:
Man(x):x是男人; Pompeian(x):x是庞贝人;
Roman(x):x是罗马人; Ruler(x):x是统治者;
Loyalto(x,y):x忠于y; Hate(x,y):x仇恨y;
Tryassassinate(x,y):x试图暗杀y。
6
6/19/2020
应用归结原理进行定理证明 -习题4
(2) 将已知事实用谓词公式表示出来。
F1 :任何兄弟都有同一个父亲。 xyz (Brother(x,y)∧Father(z,x)→Father(z,y))
F2:John和Peter是兄弟。 Brother(John,Peter)
F3: John的父亲是David。 Father(David, John)