人工智能经典习题集.docx
《人工智能经典习题集.docx》由会员分享,可在线阅读,更多相关《人工智能经典习题集.docx(39页珍藏版)》请在冰豆网上搜索。
人工智能经典习题集
人工智能各章小结及习题解答
第2部分知识与知识表示
习题解答:
1.有三条规则,设其可信度因子分别是CF1=0.21,CF2=0.5,CF3=-0.4,
求:
结论H的综合可信度CF1,2,3(H)。
解:
首先计算CF1,2(H)。
此时CF1>0,CF2>0,所以使用组合函数公式中的第
一个分支,即:
CF1,2(H)=CF1+CF2(1-CF1)=0.21+0.5×(1-0.21)=0.605(4分)
然后再计算CF1,2(H)和CF3的组合。
因为CF3<0,所以应该使用组合函数公式的
第三个分支,即:
CF1,2,3(H)=(CF1,2+CF3)/(1-min{∣CF1,2∣,∣CF3∣})=0.34(4
分)
2.二阶Hanoi塔问题。
已知三个柱子1、2、3和两个盘子A、B(A比B小)。
初始
状态A、B在柱1,目标状态时A、B在柱3。
每次可以移动一个柱子上部的一个盘
子,任何时候大盘都不能放在小盘之上。
(1)画出其状态空间图;
(2)从初始状态
S0到目标状态Sg的最短的解路径长度是多少?
由哪些算符组成?
解:
(1)设用SK=(SKA,SKB)表示问题的状态,SKA表示盘子A所在的柱号,SKB表示盘
子B所在的柱号。
问题的初始状态集合为S={S0},目标状态集合为G={S8}。
定义
算符A(i,j)表示把盘子A从第i号柱子移到第j号柱子上的操作;算符B(i,j)表
示把盘子B从第i号柱子移到第j号柱子上的操作。
得到二阶Hanoi塔的状态空间图如下:
(5分)
(2)从初始状态S0到目标状态Sg的最短的解路径长度是3;(1分)
它由3个算符组成,这3个算符是A(1,2)、B(1,3)、A(2,3)。
(2分)
1设有如下问题:
(1)有五个相互可直达且距离已知的城市A、B、C、D、E,如图所示;
(2)某人从A地出发,去其它四个城市各参观一次后回到A;
(3)找一条最短的旅行路线
请用产生式规则表示旅行过程。
解:
①综合数据库(x)
(x)中x可以是一个字母,也可以是一个字符串。
②初始状态(A)
③目标状态(Ax1x2x3x4A)
④规则集:
r1:
IFL(S)=5THENGOTO(A)
r2:
IFL(S)<5THENGOTO(B)
r3:
IFL(S)<5THENGOTO(C)
r4:
IFL(S)<5THENGOTO(D)
r5:
IFL(S)<5THENGOTO(E)
其中L(S)为走过的城市数,GOTO(x)为走向城市x
⑤路线如下图所示:
目标
最短旅行路线为:
A->C->D->E->B->A
总距离为5+6+8+10+7=36
2神州大学和东方大学两校篮球队在东方大学进行一场比赛,结局的比分是85:
89,用语义网络表示。
第3部分推理
习题解答:
1张某被盗,公安局派出五个侦察员去调查。
研究案情时,侦察员A说“赵与钱中至少有一人作案”;侦察员B说“钱与孙中至少有一人作案”;侦察员C说“孙与李中至少有一人作案”;侦察员D说“赵与孙中至少有一人与此案无关”;侦察员E说“钱与李中至少有一人与此案无关”。
如果这五个侦察员的话都是可信的,试用归结演绎推理求出谁是盗窃犯。
(课本P91)
解:
第一步:
将5位侦察员的话表示成谓词公式,为此先定义谓词。
设谓词P(x)表示是作案者,所以根据题意:
A:
P(zhao)∨P(qian)B:
P(qian)∨P(sun)
C:
P(sun)∨P(li)D:
﹁P(zhao)∨﹁P(sun)
E:
﹁P(qian)∨﹁P(li)
以上每个侦察员的话都是一个子句。
第二步:
将待求解的问题表示成谓词。
设y是盗窃犯,则问题的谓词公式为P(y),将其否定并与ANSWER(y)做析取:
﹁P(y)∨ANSWER(y)
第三步:
求前提条件及﹁P(y)∨ANSWER(y)的子句集,并将各子句列表如下:
(1)P(zhao)∨P(qian)
(2)P(qian)∨P(sun)
(3)P(sun)∨P(li)
(4)﹁P(zhao)∨﹁P(sun)
(5)﹁P(qian)∨﹁P(li)
(6)﹁P(y)∨ANSWER(y)
第四步:
应用归结原理进行推理。
(7)P(qian)∨﹁P(sun)
(1)与(4)归结
(8)P(zhao)∨﹁P(li)
(1)与(5)归结
(9)P(qian)∨﹁P(zhao)
(2)与(4)归结
(10)P(sun)∨﹁P(li)
(2)与(5)归结
(11)﹁P(zhao)∨P(li)(3)与(4)归结
(12)P(sun)∨﹁P(qian)(3)与(5)归结
(13)P(qian)
(2)与(7)归结
(14)P(sun)
(2)与(12)归结
(15)ANSWER(qian)(6)与(13)归结,σ={qian/y}
(16)ANSWER(sun)(6)与(14)归结,σ={sun/y}
所以,本题的盗窃犯是两个人:
钱和孙。
2任何兄弟都有同一个父亲,John和Peter是兄弟,且John的父亲是David,问Peter的父亲是谁?
解:
第一步:
将已知条件用谓词公式表示出来,并化成子句集。
那么,要先定义谓词。
(1)定义谓词:
设Father(x,y)表示x是y的父亲。
设Brother(x,y)表示x和y是兄弟。
(2)将已知事实用谓词公式表示出来:
F1:
任何兄弟都有同一个父亲。
(x)(y)(z)(Brother(x,y)∧Father(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)}
第二步:
把问题用谓词公式表示出来,并将其否定与谓词ANSWER做析取。
设Peter的父亲是u,则有:
Father(u,Peter)
将其否定与ANSWER做析取,得
G:
﹁Father(u,Peter)∨ANSWER(u)
第三步:
将上述公式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)﹁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。
1.已知:
能阅读的人是识字的;海豚不识字;有些海豚是很聪明的。
第40页共60页
用归结策略证明:
有些很聪明的人并不识字。
证明:
首先定义谓词和常量:
(2分)
Read(x)表示x是能阅读的;Know(y)表示y是识字的;Wise(z)表示z是很聪
明的;r表示人类,h表示海豚。
然后将已知事实和目标的否定用谓词公式表示出来,并将它们化成子句集:
(2
分)
(1)~Read(r)∨Know(r)
(2)~Know(h)
(3)Wise(a)
(4)~Wise(r)∨Know(r)
最后对以上子句集进行归结。
(4分)
(5)Know(a)(3)与(4)归结,σ={a/r}
(6)NIL
(2)与(5)归结,σ={a/h}
从而命题得证。
第4部分搜索策略
本章小结:
α-β剪枝技术
博弈问题:
极大极小分析法:
计算出端节点的估值,再推算出父节点的得分。
推算的方法是:
对“或”节点,选其子节点中一个最大的得分作为父节点的得分,这是为了使自己在可供选择的方案中选一个对自己最有利的方案;对“与”节点,选其子节点中一个最小的得分作为父节点的得分,这是为了立足于最坏的情况。
这样计算出的父节点的得分称为倒推值。
α-β剪枝技术:
对于一个“与”节点来说,它取当前子节点中的最小倒推值作为它倒推值的上界,称此值为
β值。
对于一个“或”节点来说,它取当前子节点中的最大倒推值作为它倒推值的下界,称此值为α值。
其一般规律为:
(1)任何“或”节点x的α值如果不能降低其父节点的β值,则对节点x以下的分枝可停止搜索,并使x的倒推值为α。
这种剪枝成为β剪枝。
(2)任何“与”节点x的β值如果不能升高其父节点的α值,则对节点x以下的分枝可停止搜索,并使x的倒推值为β。
这种剪枝成为α剪枝。
习题解答:
2 如下图4-5所示,分别用代价树的广度优先搜索策略和代价树的深度优先搜索策略,
求A到E的最短费用路径。
7
解:
先将其化成代价树,如图4-6:
图4-6
(1)代价树的广度优先搜索,步骤如下:
7
图4-7-1
11
图4-7-2
5
15
图4-7-3
E为目标节点,路径为A->C->E,代价为15。
(2)代价树的深度优先搜索,步骤如下:
17
11
图4-8-2
图4-8-1
虽然C1代价低于D1,但按照代价树的深度优先搜索策略,对D1进行扩展,放入closed表中,因为B1扩展的节点为D1,而C1是A节点扩展得到的。
E出栈,为目标节点,结束。
故解路径为A->B->D->E,代价为17,不是最优解。
注:
深度优先搜索是不完备的,即使问题有解,也不一定能求得解。
得到的解也不一定是最优解(因为是局部优先搜索)。
3下图是五城市间的交通费用图,若从西安出发,要求把每个城市都访问一遍,最后到达广州,请找一条最优路线。
边上的数字是两城市间的交通费用。
图4-9
解:
先画出代价树:
图4-10
按代价树的广度优先搜索即可得出最优路线,步骤如下:
150
240
185
185
190
375
故由此得出最优路线为A->B1->D2->C4->E12
即A->B->D->C->E,交通费用为375。
4设有如图所示的一棵与/或树,请分别用与/或树的广度优先搜索及与/或树的深度优先搜索求出解树。
D
解:
(1)与/或树的广度优先搜索
先扩展节点A,得到节点B和C,再扩展节点B,得节点t1、t2,因为t1、t2为可解节点,故节点B可解,从而可节点A可解。
A
所以求得解树为:
(2)与/或树的深度优先搜索
先扩展节点A,得到节点B和C,再扩展节点C,得节点D和t5,t5为可解节点,再扩展节D,得节点t3、t4,因为t3、t4为可解节点,故节点D可解,因为节点D和t5可解,故节点C可解,从而可节点A可解。
所以求得解树为:
D
5设有如图所示的与/或树,请分别按和代价法及最大代价法求解树代价。
1
(1)按和代价法:
h(B)=7,h(C)=3,h(A)=7+3+5+6=21
(2)按最大代价法:
h(B)=5,h(C)=2,h(A)=5+5=10
21.八皇后问题:
答案:
用八元组(X0,X1,X2,X3,X4,X5,X6,X7)表示第1~8行的棋子,值(x0,x1,x2,x3,x4,x5,x6,x7)表示其在列上的位置。
状态可表示为八元组的一组值。
22.有两个最优解树
左解树:
为最优解右解树
按和代价法,代价为:
g(S0)=12,g(A)=7,g(D)=4.
按最大代价法,代价为:
g(S0)=10,g(A)=5,g(D)=2.
第2章知识表示方法部分参考答案
2.8设有如下语句,请用相应的谓词公式分别把他们表示出来:
s
(1)有的人喜欢梅花,有的人喜欢菊花,有的人既喜欢梅花又喜欢菊花。
解:
定义谓词d
P(x):
x是人
L(x,y):
x喜欢y
其中,y的个体域是{梅花,菊花}。
将知识用谓词表示为:
(
x)(P(x)→L(x,梅花)∨L(x,菊花)∨L(x,梅花)∧L(x,菊花))
(2)有人每天下午都去打篮球。
解:
定义谓词
P(x):
x是人
B(x):
x打篮球
A(y):
y是下午
将知识用谓词表示为:
a
(
x)(
y)(A(y)→B(x)∧P(x))
(3)新型计算机速度又快,存储容量又大。
解:
定义谓词
NC(x):
x是新型计算机
F(x):
x速度快
B(x):
x容量大
将知识用谓词表示为:
(
x)(NC(x)→F(x)∧B(x))
(4)不是每个计算机系的学生都喜欢在计算机上编程序。
解:
定义谓词
S(x):
x是计算机系学生
L(x,pragramming):
x喜欢编程序
U(x,computer):
x使用计算机
将知识用谓词表示为:
¬(
x)(S(x)→L(x,pragramming)∧U(x,computer))
(5)凡是喜欢编程序的人都喜欢计算机。
解:
定义谓词
P(x):
x是人
L(x,y):
x喜欢y
将知识用谓词表示为:
(
x)(P(x)∧L(x,pragramming)→L(x,computer))
2.11用谓词表示法求解修道士和野人问题。
在河的北岸有三个修道士、三个野人和一条船,修道士们想用这条船将所有的人都运过河去,但要受到以下条件限制:
(1)修道士和野人都会划船,但船一次只能装运两个人。
(2)在任何岸边,野人数不能超过修道士,否则修道士会被野人吃掉。
假定野人愿意服从任何一种过河安排,请规划出一种确保修道士安全的过河方案。
要求写出所用谓词的定义、功能及变量的个体域。
解:
(1)定义谓词
先定义修道士和野人人数关系的谓词:
G(x,y,S):
在状态S下x大于y
GE(x,y,S):
在状态S下x大于或等于y
其中,x,y分别代表修道士人数和野人数,他们的个体域均为{0,1,2,3}。
再定义船所在岸的谓词和修道士不在该岸上的谓词:
Boat(z,S):
状态S下船在z岸
EZ(x,S):
状态S下x等于0,即修道士不在该岸上
其中,z的个体域是{L,R},L表示左岸,R表示右岸。
再定义安全性谓词:
Safety(z,x,y,S)≡(G(x,0,S)∧GE(x,y,S))∨(EZ(x,S))
其中,z,x,y的含义同上。
该谓词的含义是:
状态S下,在z岸,保证修道士安全,当且仅当修道士不在该岸上,或者修道士在该岸上,但人数超过野人数。
该谓词同时也描述了相应的状态。
再定义描述过河方案的谓词:
L-R(x,x1,y,y1,S):
x1个修道士和y1个野人渡船从河的左岸到河的右岸
条件:
Safety(L,x-x1,y-y1,S’)∧Safety(R,3-x+x1,3-y+y1,S’)∧Boat(L,S)
动作:
Safety(L,x-x1,y-y1,S’)∧Safety(R,3-x+x1,3-y+y1,S’)∧Boat(R,S’)
R-L(x,x1,y,y1,S):
x2个修道士和y2个野人渡船从河的左岸到河的右岸
条件:
Safety(R,3-x-x2,3-y-y2,S’)∧Safety(L,x+x2,y+y2,S’)∧Boat(R,S)
动作:
Safety(R,3-x-x2,3-y-y2,S’)∧Safety(L,x+x2,y+y2,S’)∧Boat(L,S’)
(2)过河方案
Safety(L,3,3,S0)∧Safety(R,0,0,S0)∧Boat(L,S0)
L-R(3,1,3,1,S0)L-R(3,0,3,2,S0)
Safety(L,2,2,S1)∧Safety(R,1,1,S1)∧Boat(R,S1)
Safety(L,3,1,S1’)∧Safety(R,0,2,S1’)∧Boat(R,S1’)
R-L(2,1,2,0,S1)R-L(3,0,1,1,S1’)
Safety(L,3,2,S2)∧Safety(R,0,1,S2)∧Boat(L,S2)
L-R(3,0,2,2,S2)
Safety(L,3,0,S3)∧Safety(R,0,3,S3)∧Boat(R,S3)
R-L(3,0,0,1,S3)
Safety(L,3,1,S4)∧Safety(R,0,2,S1)∧Boat(L,S4)
L-R(3,2,1,0,S4)
Safety(L,1,1,S5)∧Safety(R,2,2,S5)∧Boat(R,S5)
R-L(1,1,1,1,S5)
Safety(L,2,2,S6)∧Safety(R,1,1,S6)∧Boat(L,S6)
L-R(2,2,2,0,S6)
Safety(L,0,2,S7)∧Safety(R,3,1,S7)∧Boat(R,S7)
R-L(0,0,2,1,S7)
Safety(L,0,3,S8)∧Safety(R,3,0,S8)∧Boat(L,S8)
L-R(0,0,3,2,S8)
Safety(L,0,1,S9)∧Safety(R,3,2,S9)∧Boat(R,S9)
R-L(0,1,1,0,S9)
Safety(L,1,1,S10)∧Safety(R,2,2,S10)∧Boat(L,S10)
L-R(1,1,1,1,S10)
Safety(L,0,0,S11)∧Safety(R,3,3,S11)∧Boat(R,S11)
2.18请对下列命题分别写出它们的语义网络:
(1)每个学生都有一台计算机。
g
GS
g
GS
GS
解:
占有权
计算机
学生
AKO
ISA
ISA
F
Owns
Owner
c
o
s
g
(2)高老师从3月到7月给计算机系学生讲《计算机网络》课。
解:
7月
8月
Start
End
老师
ISA
Object
Subject
高老师
计算机系学生
讲课事件
Action
Caurse
计算机网络
讲课
(5)红队与蓝队进行足球比赛,最后以3:
2的比分结束。
解:
比赛
AKO
Participants1
Outcome
3:
2
2
足球赛
红队
Participants2
蓝队
2.19请把下列命题用一个语义网络表示出来:
(1)树和草都是植物;
植物
解:
AKO
AKO
草
树
(2)树和草都有叶和根;
根
叶
解:
Have
Have
植物
是一种
是一种
草
树
(3)水草是草,且生长在水中;
解:
Live
AKO
AKO
水草
水中
植物
草
(4)果树是树,且会结果;
解:
Can
AKO
AKO
果树
结果
植物
树
(5)梨树是果树中的一种,它会结梨。
解:
Can
AKO
AKO
梨树
树
果树
结梨
2.25假设有以下一段天气预报:
“北京地区今天白天晴,偏北风3级,最高气温12º,最低气温-2º,降水概率15%。
”请用框架表示这一知识。
解:
Frame<天气预报>
地域:
北京
时段:
今天白天
天气:
晴
风向:
偏北
风力:
3级
气温:
最高:
12度
最低:
-2度
降水概率:
15%
2.26按“师生框架”、“教师框架”、“学生框架”的形式写出一个框架系统的描述。
解:
师生框架
Frame
Name:
Unit(Last-name,First-name)
Sex:
Area(male,female)
Default:
male
Age:
Unit(Years)
Telephone:
HomeUnit(Number)
MobileUnit(Number)
教师框架
Frame
AKO
Major:
Unit(Major-Name)
Lectures:
Unit(Course-Name)
Field:
Unit(Field-Name)
Project:
Area(National,Provincial,Other)
Default:
Provincial
Paper:
Area(SCI,EI,Core,General)
Default:
Core
学生框架
Frame
AKO
Major:
Unit(Major-Name)
Classes:
Unit(Classes-Name)
Degree:
Area(doctor,mastor,bachelor)
Default:
bachelor
第3章确定性推理部分参考答案
3.8判断下列公式是否为可合一,若可合一,则求出其最一般合一。
(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}。
3.11把下列谓词公式化成子句集:
(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)),先消去连