人工智能原理及其应用 习题2及复习资料(四)
- 前言
- (补充)【常用等价式】
- (补充)【常用永真蕴涵式】
- 2.31 什么是置换?什么是合一?
- 2.32 判断下列公式是否为可合一,若可合一,则求出其相应的置换。
- 2.33 什么是自然演绎推理?它所依据的推理规则是什么?
- 2.34 什么是谓词公式的可满足性?什么是谓词公式的不可满足性?
- 2.35 什么是谓词公式的前束范式?什 么是谓词公式的Skolem 范式?
- 2.36 什么是子句集?如何将谓词公式化为子句集?
- 2.37 把下列谓词公式化成子句集
- 2.38 鲁滨逊归结原理的基本思想是什么?
- 2.39 判断下列子句集中哪些是不可满足的。
- 2.40 对下列各题分别证明G是否为F1,F2,···,Fn的逻辑结论:
- 2.41 设已知【v是u的祖父】
- 2.42 设已知【有些很聪明的人并不识字】
- (补充)【假设张被盗,公安局派出5个人去调查】
- (补充)【例2.34 “快乐学生”问题】
- (补充)【例2.35 “激动人心的生活”问题。】
前言
参考/参照书籍:
《人工智能原理及其应用(第4版)》,王万森编著,北京-电子工业出版社,2018.8
ISBN 978-7-121-34443-5
(补充)【常用等价式】
①¬ ¬P⇔P
②P∨Q⇔Q∨P,P∧Q⇔Q∧P
③(P∨Q)∨R⇔P∨(Q∨R)
(P∧Q)∧R⇔P∧(Q∧R)
④P∨(Q∧R)⇔(P∨Q)∧(P∨R)
P∧(Q∨R)⇔(P∧Q)∨(P∧R)
⑤¬P∨Q⇔¬P∧¬Q
¬P∧Q⇔¬P∨¬Q
⑥P∨(P∧Q)⇔P,P∧(P∨Q)⇔P
⑦P∨¬P⇔T,P∧¬P⇔F
⑧P→Q⇔¬P∨Q
P↔Q⇔(P→Q)∧(Q→P)
P↔Q⇔(P∧Q)∨(¬Q∧¬P)
⑨¬(∃x)P(x)⇔(∀x)(¬P(x))
¬(∀x)P(x)⇔(∃x)(¬P(x))
⑩(∀x)(P(x)∧Q(x))⇔(∀x)P(x)∧(∀x)Q(x)
(∃x)(P(x)∨Q(x))⇔(∃x)P(x)∨(∃x)Q(x)
(补充)【常用永真蕴涵式】
①P∧Q⇒P,P∧Q⇒Q
②P⇒P∨Q,Q⇒P∨Q
③¬P,P∨Q⇒Q
④P,P→Q⇒Q
⑤¬Q,P→Q⇒¬P
⑥P→Q,Q→R⇒P→R
⑦P∨Q,P→R,Q→R⇒R
⑧(∀x)P(x)⇒P(y)
⑨(∃x)P(x)⇒P(y)
2.31 什么是置换?什么是合一?
置换:
在不同谓词公式中,往往会出现多个谓词的谓词名相同但个体不同的情况,此时推理过程是不能直接进行匹配的,需要先进行变元的替换。这种利用项对变元进行替换叫置换。
合一:
利用置换使两个或多个谓词的个体一致。
2.32 判断下列公式是否为可合一,若可合一,则求出其相应的置换。
(1)P(a,b),P(x,y)
(2)P(f(x),b),P(y,z)
(3)P(f(x),y), P(y,f(b))
(4)P(f(y),y,x),P(x,f(a),f(b))
(5)P(x,y),P(y,x)
(1)可合一,其置换为:θ={a/x,b/y}。
(2)可合一,其置换为:θ={y/f(x),b/z}。
(3)可合一,其置换为:θ={f(b)/y,b/x}。
(4)不可合一。
(5)可合一,其置换为:θ={y/x}。
2.33 什么是自然演绎推理?它所依据的推理规则是什么?
自然演绎推理:从一组已知为真的事实出发,运用经典逻辑中的推理规则得到的结论。
依据的推理规则:假言推理、拒取式推理、假言三段论等经典逻辑中的推理规则。
2.34 什么是谓词公式的可满足性?什么是谓词公式的不可满足性?
对于谓词公式P,如果至少存在D上的一个解释,使得公式P在此解释下的真值为T,则称公式P在D上是可满足的。按照此定义,对谓词公式P,如果不存在任何解释,使得P的取值为T,则称公式为不可满足的。
2.35 什么是谓词公式的前束范式?什 么是谓词公式的Skolem 范式?
设F为一谓词公式,如果其中的所有量词均非否定地出现在公式的最前面,而它们的辖域为整个公式,则称F为前束范式。一般地,前束范式可写成:(Q1x1)(Q2x2)(Qmxm)M(x1, x2, ···, xn)
如果前束范式中所有的存在量词都在全称量词之前,则称这种形式的谓词公式Skolem范式。
2.36 什么是子句集?如何将谓词公式化为子句集?
文字:原子谓词公式及其否定。
子句:任何文字的析取式。
空子句:不含任何文字的子句。
子句集:由空子句构成的集合。
子句集的化简步骤:
(1)消去谓词公式中的连接词“→”和“↔”符号
(2)把否定符号移到紧靠谓词的位置上
(3)变量标准化
(4)化为前束范式
(5)消去存在量词
(6)化为Skolem标准形
(7)消去全称量词
(8)消去合取词
(9)子句变量标准化,即,使每个子句中的变量符号不同
2.37 把下列谓词公式化成子句集
(1)(∀x)(∀y)(P(x,y)∧Q(x,y))
(2)(∀x)(∀y)(P(x,y)→Q(x,y))
(3)(∀x)(∃y)(P(x,y)∨(Q(x,y)→R(x,y)))
(4)(∀x)(∀y)(∃z)(P(x,y)→Q(x,y)∨R(x,z))
(1)由于(∀x)(∀y)(P(x,y)∧Q(x,y))已经是Skolem标准型,且P(x,y)∧Q(x,y)已经是合取范式,所以可直接消去全称量词、合取词,得
{P(x,y),Q(x,y)}
再进行变元换名得子句集:
S={P(x,y),Q(u,v)}
(2)对谓词公式(∀x)(∀y)(P(x,y)→Q(x,y)),先消去连接词“→”得:
(∀x)(∀y)(¬P(x,y)∨Q(x,y))
此公式已为Skolem标准型,再消去全称量词得子句集:
S={¬P(x,y)∨Q(x,y)}
(3)对谓词公式(∀x)(∃y)(P(x,y)∨(Q(x,y)→R(x,y))),先消去连接词“→”得:
(∀x)(∃y)(P(x,y)∨(¬Q(x,y)∨R(x,y)))
此公式已为前束范式,再消去存在量词即用Skolem函数f(x)替换y得:
(∀x)(P(x,f(x))∨¬Q(x,f(x))∨R(x,f(x)))
此公式已为Skolem标准型,再消去全称量词得子句集:
S={P(x,f(x))∨¬Q(x,f(x))∨R(x,f(x))}
(4)对谓词公式(∀x)(∀y)(∃z)(P(x,y)→Q(x,y)∨R(x,z)),先消去连接词“→”得:
(∀x)(∀y)(∃z)(¬P(x,y)∨Q(x,y)∨R(x,z))
此公式已为前束范式,再消去存在量词即用Skolem函数f(x,y)替换z得:
(∀x)(∀y)(¬P(x,y)∨Q(x,y)∨R(x,f(x,y)))
此公式已为Skolem标准型,再消去全称量词得子句集:
S={¬P(x,y)∨Q(x,y)∨R(x,f(x,y))}
2.38 鲁滨逊归结原理的基本思想是什么?
鲁滨逊归结原理的基本思想是:
首先把欲证明问题的结论否定,并加入子句集,得到一个扩充的子句集S’;然后设法检验子句集S’是否含有空子句,若含有空子句,则表明S是不可满足的;若不含有空子句,则继续使用归结法,在子句集中选择合适的子句进行归结,直至导出空子句或不能继续归结为止。
2.39 判断下列子句集中哪些是不可满足的。
(1){¬P∨Q,¬Q,P,¬P}
(2){P∨Q,¬P∨Q,P∨¬Q,¬P∨¬Q}
(3){P(y)∨Q(y),¬P(f(x))∨R(a)}
(4){¬P(x)∨Q(x),¬P(y)∨R(y),P(a),S(a),¬S(z)∨¬R(z)}
(5){¬P(x)∨Q(f(x),a),¬P(h(y))∨Q(f(h(y)),a)∨¬P(z)}
(6){P(x)∨Q(x)∨R(x),¬P(y)∨R(y),¬Q(a),¬R(b)}
(1)是不可满足,其归结过程为:
(2)是不可满足,其归结过程为:
(3)不是不可满足,原因是不能由它导出空子句
(4)是不可满足,其归结过程为:
(5)不是不可满足,原因是不能由它导出空子句
(6)是不可满足,其归结过程为:
2.40 对下列各题分别证明G是否为F1,F2,···,Fn的逻辑结论:
(1)F:(∃x)(∃y)P(x,y)
G:(∀y)(∃x)P(x,y)
(2)F:(∀x)(P(x)∧(Q(a)∨Q(b)))
G:(∃x)(P(x)∧Q(x))
(3)F:(∃x)(∃y)(P(f(x))∧(Q(f(y)))
G: P(f(a))∧P(y)∧Q(y)
(4)F1:(∀x)(P(x)→(∀y)(Q(y)→¬L(x,y)))
F2:(∃x)(P(x)∧(∀y)(R(y)→L(x,y)))
G:(∀x)(R(x)→¬Q(x))
(5)F1:(∀x)(P(x)→(Q(x)∧R(x)))
F2:(∃x)(P(x)∧S(x))
G:(∃x)(S(x)∧R(x))
(1)先将F和G化成子句集:
S={P(a,b),P(x,b)}再对S进行归结:
所以,G是F的逻辑结论
(2)先将F和G化成子句集
由F得:S1={P(x),(Q(a)∨Q(b))}
由于G为:(∃x)(P(x)AQ(x)),即
(∀x)(P(x)∨Q(x)),
可得:S2={P(x)∨Q(x)}
因此,扩充的子句集为:
S={P(x),(Q(a)∨Q(b)),P(x)∨Q(x)}再对S进行归结:
所以,G是F的逻辑结论
同理可求得(3)、(4)和(5),其求解过程略。
2.41 设已知【v是u的祖父】
(1)如果x是y的父亲,y是z的父亲,则x是z的祖父;
(2)每个人都有一个父亲。
试用归结演绎推理证明:对于某人u,一定存在一个人v,v是u的祖父。
先定义谓词
F(x,y):x是y的父亲
GF(x,z):x是z的祖父
P(x):x是一个人
再用谓词把问题描述出来:
已知
F1:(∀x)(∀y)(∀z)(F(x,y)∧F(y,z))→GF(x,z))
F2:(∀y)(P(x)→F(x,y))
求证结论G:(∃u)(∃v)(P(u)→GF(v,u))
然后再将F1,F2和G化成子句集:
①¬F(x,y)∨¬F(y,z)∨GF(x,z)
②¬P®∨F(s,r)
③P(u)
④¬GF(v,u))
对上述扩充的子句集,其归结推理过程如下:
2.42 设已知【有些很聪明的人并不识字】
(1)能阅读的人是识字的;
(2)海豚不识字;
(3)有些海豚是很聪明的。
请用归结演绎推理证明:有些很聪明的人并不识字。
解:第一步,先定义谓词,
设R(x):x是能阅读的;
K(y):y是识字的;
W(z):z是很聪明的;
第二步,将已知事实和目标用谓词公式表示出来
能阅读的人是识字的:(∀x)(R(x))→K(x))
海豚不识字:(∀y)¬K(y)
有些海豚是很聪明的:(∃z)W(z)
有些很聪明的人并不识字:(∃x)(W(z)∧¬K(x))
第三步,将上述已知事实和目标的否定化成子句集:
①¬R(x))∨K(x)
②¬K(y)
③W(z)
④¬W(z)∨K(x)
第四步,用归结演绎推理进行证明
(补充)【假设张被盗,公安局派出5个人去调查】
案情分析时,侦查员A说:“赵与钱中至少有一个人作案”,侦查员B说:“钱与孙中至少有一个人作案”,侦查员C说:“孙与李中至少有一个人作案”,侦查员D说:“赵与孙中至少有一个人与此案无关”,侦查员E说:“钱与李中至少有一个人与此案无关”。如果这5个侦察员的话都是可信的,使用归结演绎推理求出谁是盗窃犯。
解:(1)先定义谓词和常量
设C(x)表示x作案,Z表示赵,Q表示钱,S表示孙,L表示李
(2)将已知事实用谓词公式表示出来
赵与钱中至少有一个人作案:C(Z)∨C(Q)
钱与孙中至少有一个人作案:C(Q)∨C(S)
孙与李中至少有一个人作案:C(S)∨C(L)
赵与孙中至少有一个人与此案无关:(C(Z)∧C(S)),即C(Z)∨C(S)
钱与李中至少有一个人与此案无关:(C(Q)∧C(L)),即C(Q)∨C(L)
(3)将所要求的问题用谓词公式表示出来,并与其否定取析取。
设作案者为u,则要求的结论是C(u)。将其与其否)取析取,得:
¬C(u)∨C(u)
(4)对上述扩充的子句集,按归结原理进行归结,其修改的证明树如下:
因此,钱是盗窃犯。实际上,本案的盗窃犯不止一人。根据归结原理还可以得出:
因此,孙也是盗窃犯。
(补充)【例2.34 “快乐学生”问题】
假设:任何通过计算机考试并获奖的人都是快乐的,任何肯学习或幸运的人都可以通过所有考试,马不肯学习但他是幸运的,任何幸运的人都能获奖。求证:马是快乐的。
先将问题用谓词表示如下:
“任何通过计算机考试并获奖的人都是快乐的”
(∀x)(Pass(x,computer)∧Win(x,prize)→Happy(x))
“任何肯学习或幸运的人都可以通过所有考试”
(∀x)(∀y)(Study(x)∨Lucky(x)→Pass(x,y))
“马不肯学习但他是幸运的”
¬Study(Ma)∧Lucky(Ma)
“任何幸运的人都能获奖”
(∀x)(Lucky(x)→Win(x,prize))
目标“马是快乐的”的否定
¬Happy(Ma)
将上述谓词公式转化为子句集如下:
①¬Pass(x,computer)∨¬Win(x,prize)∨Happy(x)
②Study(y)∨Pass(y,z)
③¬Lucky(u)∨Pass(u,v)
④¬Study(Ma)
⑤Lucky(Ma)
⑥¬Lucky(w)∨Win(w,prize)
⑦¬Happy(Ma)(本子句为结论的否定)
按谓词逻辑的归结原理对此子句集进行归结,其归结反演树如图2.37所示。
(补充)【例2.35 “激动人心的生活”问题。】
假设:所有不贫穷并且聪明的人都是快乐的。那些看书的人是聪明的。黎明能看书且不贫穷。快乐的人过着激动人心的生活。求证:黎明过着激动人心的生活。
解:先将问题用谓词表示如下:
“所有不贫穷并且聪明的人都是快乐的”
(∀x)((¬Poor(x)∧Smart(x))→Happy(x))“那些看书的人是聪明的”
(∀y)(Read(y)→Smart(y))“黎明能看书且不贫穷”
Read(LiMing)-Poor(LiMing)“快乐的人过着激动人心的生活”
(∀z)(Happy(z)→Exciting(z))
目标“黎明过着激动人心的生活”的否定
¬Exciting(LiMing)
将上述谓词公式转化为子句集如下:
①Poor(x)∨-Smart(x)∨Happy(x)
②¬Ready)∨ Smart(y)
③Read(LiMing)
④-Poor(LiMing)
⑤¬Happy(z)∨Exciting(z)
⑥¬Exciting(LiMing)
按谓词逻辑的归结原理对此子句集进行归结,其归结反演树如图2.38所示。