人工智能考试重点总结Word文档格式.docx
《人工智能考试重点总结Word文档格式.docx》由会员分享,可在线阅读,更多相关《人工智能考试重点总结Word文档格式.docx(45页珍藏版)》请在冰豆网上搜索。
i表示船上的修道士人数
j表示船上的野人数
操作集
本问题有10种操作可供选择:
F={P01,P10,P11,P02,P20,Q01,Q10,Q11,Q02,Q20}
下面以P01和Q01为例来说明这些操作的条件和动作。
操作符号条件动作
P01b=1,m=0或3,c≥1b=0,c=c-1
Q01b=0,m=0或3,c≤2b=1,c=c+1
于是,从初始状态出发,可画出该问题的状态空间有向图,见图1.1。
二阶梵塔问题
⏹设用Sk=(Sk0,Sk1)表示问题的状态,Sk0表示金片A所在钢针号,Sk1表示金片B所在钢针号,全部可能的状态有九种:
S0=(1,1),S1=(1,2),S2=(1,3)
S3=(2,1),S4=(2,2),S5=(2,3)
S6=(3,1),S7=(3,2),S8=(3,3)
问题的初始状态集合为S={S0}
目标状态集合为G={S4,S8}
初始状态S0和目标状态S4、S8如图所示
操作分别用A(i,j)和B(i,j)表示
A(i,j)表示把金片A从第i号钢针移到j号钢针上;
B(i,j)表示把金片B从第i号钢针一到第j号钢针上。
共有12种操作,它们分别是:
A(1,2)A(1,3)A(2,1)A(2,3)A(3,1)A(3,2)
B(1,2)B(1,3)B(2,1)B(2,3)B(3,1)B(3,2)
根据上述9种可能的状态和12种操作,可构成二阶梵塔问题的状态空间图,如下图所示。
s---指示初始状态节点;
G---指示搜索图;
OPEN---用于存放待扩展节点的表;
CLOSE---用于存放已扩展节点的表;
FIRST(OPEN)---指示取OPEN表首的节点作为当前要被扩展的节点n;
REMOVE(n,OPEN)---将节点n从OPEN表中删去;
ADD(n,CLOSE)---把节点n加入到CLOSE表中;
EXPAND(n)---扩展节点n。
深度优先
宽度优先
在3×
3的方格棋盘上,分别放置了表有数字1、2、3、4、5、6、7、8的八张牌,初始状态S0,目标状态Sg,如下图所示。
可以使用的操作有
空格左移,空格上移,空格右移,空格下移
即只允许把位于空格左、上、右、下方的牌移入空格。
要求应用宽度优先和深度优先搜索策略寻找从初始状态到目标状态的解路径。
评价函数的格式:
f(n)=g(n)+h(n)
f(n):
评价函数
h(n):
启发函数
g*(n):
从初始结点s到结点n的最短路径的耗散值;
h*(n):
从结点n到目标结点g的最短路径的耗散值;
f*(n)=g*(n)+h*(n):
从初始结点s经过结点n到目标结点g的最短路径的耗散值;
g(n)、h(n)、f(n)分别是g*(n)、h*(n)、f*(n)的估计值。
在A算法中,如果满足条件:
h(n)≤h*(n)
则A算法称为A*算法。
解树的耗散值可按如下规则计算:
(1)若n为终止节点,则其代价h(n)=0;
(2)若n为或节点,且子节点为n1,n2,…,nk,则n的代价为:
其中,c(n,ni)是节点n到其子节点ni的边代价。
(3)若n为与节点,且子节点为n1,n2,…,nk,则n的代价可用和代价法或最大代价法。
若用和代价法,则其计算公式为:
若用最大代价法,则其计算公式为:
(4)若n是端节点,但又不是终止节点,则n不可扩展,其代价定义为h(n)=∝。
(5)根节点的代价即为解树的代价。
知识表示方法部分参考答案
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)有人每天下午都去打篮球。
定义谓词
B(x):
x打篮球
A(y):
y是下午
a
x)(
y)(A(y)→B(x)∧P(x))
(3)新型计算机速度又快,存储容量又大。
NC(x):
x是新型计算机
F(x):
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)凡是喜欢编程序的人都喜欢计算机。
L(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
占有权
计算机
学生
AKO
ISA
F
Owns
Owner
c
o
(2)高老师从3月到7月给计算机系学生讲《计算机网络》课。
7月
8月
Start
End
老师
Object
Subject
高老师
计算机系学生
讲课事件
Action
Caurse
计算机网络
讲课
(3)学习班的学员有男、有女、有研究生、有本科生。
参例2.14
(4)创新公司在科海大街56号,刘洋是该公司的经理,他32岁、硕士学位。
参例2.10
(5)红队与蓝队进行足球比赛,最后以3:
2的比分结束。
比赛
Participants1
Outcome
3:
2
足球赛
红队
Participants2
蓝队
2.19请把下列命题用一个语义网络表示出来:
(1)树和草都是植物;
植物
草
树
(2)树和草都有叶和根;
根
叶
Have
是一种
(3)水草是草,且生长在水中;
Live
水草
水中
(4)果树是树,且会结果;
Can
果树
结果
(5)梨树是果树中的一种,它会结梨。
梨树
结梨
2.25假设有以下一段天气预报:
“北京地区今天白天晴,偏北风3级,最高气温12º
,最低气温-2º
,降水概率15%。
”请用框架表示这一知识。
Frame<
天气预报>
地域:
北京
时段:
今天白天
天气:
晴
风向:
偏北
风力:
3级
气温:
最高:
12度
最低:
-2度
降水概率:
15%
2.26按“师生框架”、“教师框架”、“学生框架”的形式写出一个框架系统的描述。
师生框架
Frame<
Teachers-Students>
Name:
Unit(Last-name,First-name)
Sex:
Area(male,female)
Default:
male
Age:
Unit(Years)
Telephone:
HomeUnit(Number)
MobileUnit(Number)
教师框架
Teachers>
AKO<
Teachers-Students>
Major:
Unit(Major-Name)
Lectures:
Unit(Course-Name)
Field:
Unit(Field-Name)
Project:
Area(National,Provincial,Other)
Provincial
Paper:
Area(SCI,EI,Core,General)
Core
学生框架
Students>
Teachers-Students>
Classes:
Unit(Classes-Name)
Degree:
Area(doctor,mastor,bachelor)
bachelor
第4章搜索策略部分参考答案
4.5有一农夫带一条狼,一只羊和一框青菜与从河的左岸乘船倒右岸,但受到下列条件的限制:
(1)船太小,农夫每次只能带一样东西过河;
(2)如果没有农夫看管,则狼要吃羊,羊要吃菜。
请设计一个过河方案,使得农夫、浪、羊都能不受损失的过河,画出相应的状态空间图。
题示:
(1)用四元组(农夫,狼,羊,菜)表示状态,其中每个元素都为0或1,用0表示在左岸,用1表示在右岸。
(2)把每次过河的一种安排作为一种操作,每次过河都必须有农夫,因为只有他可以划船。
第一步,定义问题的描述形式
用四元组S=(f,w,s,v)表示问题状态,其中,f,w,s和v分别表示农夫,狼,羊和青菜是否在左岸,它们都可以取1或0,取1表示在左岸,取0表示在右岸。
第二步,用所定义的问题状态表示方式,把所有可能的问题状态表示出来,包括问题的初始状态和目标状态。
由于状态变量有4个,每个状态变量都有2种取值,因此有以下16种可能的状态:
S0=(1,1,1,1),S1=(1,1,1,0),S2=(1,1,0,1),S3=(1,1,0,0)
S4=(1,0,1,1),S5=(1,0,1,0),S6=(1,0,0,1),S7=(1,0,0,0)
S8=(0,1,1,1),S9=(0,1,1,0),S10=(0,1,0,1),S11=(0,1,0,0)
S12=(0,0,1,1),S13=(0,0,1,0),S14=(0,0,0,1),S15=(0,0,0,0)
其中,状态S3,S6,S7,S8,S9,S12是不合法状态,S0和S15分别是初始状态和目标状态。
第三步,定义操作,即用于状态变换的算符组F
由于每次过河船上都必须有农夫,且除农夫外船上只能载狼,羊和菜中的一种,故算符定义如下:
L(i)表示农夫从左岸将第i样东西送到右岸(i=1表示狼,i=2表示羊,i=3表示菜,i=0表示船上除农夫外不载任何东西)。
由于农夫必须在船上,故对农夫的表示省略。
R(i)表示农夫从右岸将第i样东西带到左岸(i=1表示狼,i=2表示羊,i=3表示菜,i=0表示船上除农夫外不载任何东西)。
同样,对农夫的表示省略。
这样,所定义的算符组F可以有以下8种算符:
L(0),L
(1),L
(2),L(3)
R(0),R
(1),R
(2),R(3)
第四步,根据上述定义的状态和操作进行求解。
该问题求解过程的状态空间图如下:
(1,1,l,1)
L
(2)
(0,1,0,1)
R(0)
(1,1,0,1)
L(3)
L
(1)
(0,1,0,0)
(0,0,0,1)
R
(2)
(1,1,1,0)
(1,0,1,1)
(0,0,1,0)
(1,0,1,0)
(0,0,0,0)
4.7圆盘问题。
设有大小不等的三个圆盘A、B、C套在一根轴上,每个盘上都标有数字1、2、3、4,并且每个圆盘都可以独立的绕轴做逆时针转动,每次转动90°
,其初始状态S0和目标状态Sg如图4-31所示,请用广度优先搜索和深度优先搜索,求出从S0到Sg的路径。
C
1
B
A
4
3
初始状态S0目标状态Sg
图431圆盘问题
设用qA,qB和qC分别表示把A盘,B盘和C盘绕轴逆时针转动90º
,这些操作(算符)的排列顺序是qA,qB,qC。
应用广度优先搜索,可得到如下搜索树。
在该搜索树中,重复出现的状态不再划出,节点旁边的标识Si,i=0,1,2,…,为按节点被扩展的顺序给出的该节点的状态标识。
由该图可以看出,从初始状态S0到目标状态Sg的路径是
S0→2→5→13(Sg)
S3
其深度优先搜索略。
4.8图4-32是5个城市的交通图,城市之间的连线旁边的数字是城市之间路程的费用。
要求从A城出发,经过其它各城市一次且仅一次,最后回到A城,请找出一条最优线路。
A10B
28
9C116
3128
D9E
432交通费用图
这个问题又称为旅行商问题(travellingsalesmanproblem,TSP)或货郎担问题,是一个较有普遍性的实际应用问题。
根据数学理论,对n个城市的旅行商问题,其封闭路径的排列总数为:
(n!
)/n=(n-1)!
其计算量相当大。
例如,当n=20时,要穷举其所有路径,即使用一个每秒一亿次的计算机来算也需要350年的时间。
因此,对这类问题只能用搜索的方法来解决。
下图是对图4-32按最小代价搜索所得到的搜索树,树中的节点为城市名称,节点边上的数字为该节点的代价g。
其计算公式为
g(ni+1)=g(ni)+c(ni,ni+1)
其中,c(ni,ni+1)为节点ni到ni+1节点的边代价。
11
9
10
D
E
8
6
12
20
19
17
18
21
5
16
22
23
32
29
25
31
27
24
26
14
33
28
35
34
30
图4.32的最小代价搜索树
可以看出,其最短路经是
A-C-D-E-B-A
或
A-B-E-D-C-A
其实,它们是同一条路经。
4.11设有如下结构的移动将牌游戏:
W
其中,B表示黑色将牌,W表是白色将牌,E表示空格。
游戏的规定走法是:
(1)任意一个将牌可移入相邻的空格,规定其代价为1;
(2)任何一个将牌可相隔1个其它的将牌跳入空格,其代价为跳过将牌的数目加1。
游戏要达到的目标什是把所有W都移到B的左边。
对这个问题,请定义一个启发函数h(n),并给出用这个启发函数产生的搜索树。
你能否判别这个启发函数是否满足下解要求?
再求出的搜索树中,对所有节点是否满足单调限制?
设h(x)=每个W左边的B的个数,f(x)=d(x)+3*h(x),其搜索树如下:
f(x)=0+12=12
f(x)=1+12=13
E
f(x)=2+12=14
f(x)=2+9=11
f(x)=3+9