人工智能教程习题及答案第2章习题参考解答文档格式.docx
《人工智能教程习题及答案第2章习题参考解答文档格式.docx》由会员分享,可在线阅读,更多相关《人工智能教程习题及答案第2章习题参考解答文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
![人工智能教程习题及答案第2章习题参考解答文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/16/2d77f8b1-37cd-43fc-b53b-629c087e0fcc/2d77f8b1-37cd-43fc-b53b-629c087e0fcc1.gif)
图2.11猴子摘香蕉问题
2.8对习题2.7中的猴子摘香蕉问题,利用一阶谓词逻辑表述一个行动规划,使问题从初始状态变化到目标状态。
2.9产生式的基本形式是什么?
它与谓词逻辑中的蕴含式有什么共同处及不同处?
2.10何谓产生式系统?
它由哪几部分组成?
2.11产生式系统中,推理机的推理方式有哪几种?
在产生式推理过程中,如果发生策略冲突,如何解决?
2.12设有下列八数码难题:
在一个3×
3的方框内放有8个编号的小方块,紧邻空位的小方块可以移入到空位上,通过平移小方块可将某一布局变换为另一布局(如图2.12所示)。
请用产生式规则表示移动小方块的操作。
图2.12习题2.12的图图2.13习题2.13的图
2.13推销员旅行问题:
设有五个相互可直达且距离已知的城市A、B、C、D、E,如图2.13所示,推销员从城市A出发,去其它四城市各旅行一次,最后再回到城市A,请找出一条最短的旅行路线。
用产生式规则表示旅行过程。
2.14何谓语义网络?
语义网络表示法的特点是什么?
2.15语义网络表示法与产生式表示法、谓词逻辑表示法之间的关系如何?
2.16用语义网络表示下列知识:
(1)所有的鸽子都是鸟;
(2)所有的鸽子都有翅膀;
(3)信鸽是一种鸽子,它有翅膀,能识途。
2.17请对下列命题分别写出它的语义网络:
(1)每个学生都有多本书。
(2)孙老师从2月至7月给计算机应用专业讲《网络技术》课程。
(3)雪地上留下一串串脚印,有的大,有的小,有的深,有的浅。
(4)王丽萍是天发电脑公司的经理,她35岁,住在南内环街68号。
2.18请把下列命题用一个语义网络表示出来:
(1)猪和羊都是动物;
(2)猪和羊都是偶蹄动物和哺乳动物;
(3)野猪是猪,但生长在森林中;
(4)山羊是羊,且头上长着角;
(5)绵羊是一种羊,它能生产羊毛。
2.19何谓框架?
框架的一般表示形式是什么?
2.20框架表示法有何特点?
请叙述用框架表示法表示知识的步骤。
2.21试写出“学生框架”的描述。
2.22框架系统中求解问题的一般过程是什么?
2.23何谓对象?
何谓类?
封装及继承的含义是什么?
2.24什么是状态空间?
状态空间是怎样构成的?
2.25请写出用状态空间表示法表示问题的一般步骤。
2.26修道士和野人问题。
设有3个修道士和3个野人来到河边,打算用一条船从河的左岸渡到河的右岸。
但该船每次只能装载两个人,在任何岸边野人的数目都不得超过修道士的人数,否则修道士就会被野人吃掉。
假设野人服从任何一种过河安排,请问如何规划过河计划才能把所有人都安全地渡过河去。
2.27农夫、狐狸、鸡和小米过河问题。
农夫、狐狸、鸡、小米都在一条河的左岸,现在要把它们全部送到右岸去,农夫有一条船,过河时,除农夫外,船上至多能载狐狸、鸡和小米中的一样。
狐狸要吃鸡,鸡要吃小米,除非农夫在那里。
试规划出一个确保全部安全的过河计划。
(提示:
a.用四元组(农夫,狐狸,鸡,小米)表示状态,其中每个元素都可为0或1。
1表示在左岸,0表示在右岸。
b.把每次过河的一种安排作为一个算符,每次过河都必须有农夫,因为只有他可以划船。
)
2.28用状态空间表示法表示2.7题的“猴子摘香蕉问题”。
2.2习题参考解答
2.1答:
(略)
2.2答:
(略)
2.3答:
2.4答:
(略)
2.5答:
用一阶谓词逻辑法表示知识的步骤如下:
(1)定义谓词及个体,确定每个谓词及个体的确切含义。
(2)根据所要表达的事物或概念,为每个谓词中的变元赋以特定的值。
(3)根据所要表达的知识的语义,用适当的联接符号将各个谓词联接起来,形成谓词公式。
2.6解:
定义谓词及个体。
设LIKE(x,y)表示x喜欢y,Meihua表示梅花,Juhua表示菊花,则:
(2)李明每天下午都去玩足球。
设PLAYFB(x,y)表示x在y下午玩足球,Liming表示李明,则:
设STATE(x,y,z)表示x市在y季节气候处于z状态。
这是一个三元一阶谓词,所涉及的个体有:
太原,夏天,干燥,炎热。
将个体代入谓词:
STATE(太原,夏天,干燥),STATE(太原,夏天,炎热),
根据题意将各谓词用适当的连接符连接起来。
STATE(太原,夏天,干燥)∧STATE(太原,夏天,炎热)
设Havefood(x)表示x有饭吃,则根据题意有:
设Likeplay(x,y)表示x喜欢玩y。
所涉及的个体有:
篮球,排球。
将个体代入谓词,并根据题意将各谓词用适当的连接符连接起来。
定义谓词及个体。
设Want(x,y)表示x想y,Pass(x,y)表示x通过y。
定义个体:
goabrod表示出国学习,flanguage表示外语。
2.7解:
根据谓词知识表示的步骤求解问题如下:
解法一:
本问题涉及的常量定义为:
猴子:
Monkey,箱子:
Box,香蕉:
Banana,位置:
a,b,c
定义谓词如下
SITE(x,y):
表示x在y处;
HANG(x,y):
表示x悬挂在y处;
ON(x,y):
表示x站在y上;
HOLDS(y,w):
表示y手里拿着w。
根据问题的描述将问题的初始状态和目标状态分别用谓词公式表示如下:
问题的初始状态表示:
SITE(Monkey,a)∧HANG(Banana,b)∧SITE(Box,c)∧~ON(Monkey,Box)∧~HOLDS(Monkey,Banana)
问题的目标状态表示:
SITE(Monkey,b)∧~HANG(Banana,b)∧SITE(Box,b)∧ON(Monkey,Box)∧HOLDS(Monkey,Banana)
解法二:
猴子:
ONBOX(x):
表示x站在箱子顶上;
HOLDS(x):
表示x摘到了香蕉。
SITE(Monkey,a)∧SITE(Box,c)∧~ONBOX(Monkey)∧~HOLDS(Monkey)
SITE(Box,b)∧SITE(Monkey,b)∧ONBOX(Monkey)∧HOLDS(Monkey)
从上述两种解法可以看出,只要谓词定义不同,问题的初始状态和目标状态就不同,所以,对于同样的知识,不同的人表示的结果可能不同。
2.8解:
本问题的关键就是制定一组操作,将初始状态转换为目标状态。
为了用谓词公式表示操作,可将操作分为条件(为完成相应操作所必须具备的条件)和动作两部分。
条件易于用谓词公式表示,而动作则可通过执行它前后的状态变化表示出来,即由于动作的执行,当前状态中删去了某些谓词公式而又增加一些谓词公式从而得到了新的状态,通过这种状态中谓词公式的增减来描述动作。
定义四个操作谓词如下,操作的条件和动作可用谓词公式的增删表示:
1.goto(x,y):
从x处走到y处。
条件:
SITE(Monkey,x)
动作:
删除SITE(Monkey,x);
增加SITE(Monkey,y)
2.pushbox(x,y):
将箱子从x处推到y处。
SITE(Monkey,x)∧SITE(Box,x)∧~ONBOX(Monkey)
删除SITE(Monkey,x),SITE(Box,x);
增加SITE(Monkey,y),SITE(Box,y)
3.climbbox:
爬到箱子顶上。
~ONBOX(Monkey)
删除~ONBOX(Monkey);
增加ONBOX(Monkey)
4.grasp:
摘下香蕉。
~HOLDS(Monkey)∧ONBOX(Monkey)∧SITE(Monkey,b)
删除~HOLDS(Monkey);
增加HOLDS(Monkey)
在执行某一操作前,先检查当前状态是否满足其前提条件,若满足,则执行该操作,否则,检查另一操作的条件是否被满足。
检查的方法就是当前的状态中是否蕴含了操作所要求的条件。
在定义了操作谓词后,就可以给出从初始状态到目标状态的求解过程。
在求解过程中,当进行条件检查时,要进行适当的变量代换。
goto(x,y),用a代x,用c代y
pushbox(x,y),用c代x,用b代y
climbox
grasp
2.9答:
2.10答:
2.11答:
2.12解:
首先,建立棋盘变换的产生式规则。
如果把棋盘的每一种布局看作是一个状态矩阵,本题就变成了从初始状态矩阵到目标状态矩阵的一种变化。
所谓棋盘状态的变化就是希望棋盘上空格周围的棋子能走进空格,这也可以理解为移动空格,只要实现空格的上、下、左、右四种移动即可。
可通过建立四个条件-操作型的产生式规则,来实现这四种移动。
设Sij为状态矩阵中的第i行和第j列的数码,i0,j0表示空格所在的行和列,如果在状态矩阵中用0来表示空格的话,则建立如下四条产生式规则:
R1:
if(j0-1≥1)thenbeginSi0j0:
=Si0(j0-1);
Si0(j0-1):
=0end空格左移
R2:
if(i0-1≥1)thenbeginSi0j0:
=S(i0-1)j0;
S(i0-1)j0:
=0end空格上移
R3:
if(j0+1≤3)thenbeginSi0j0:
=Si0(j0+1);
Si0(j0+1):
=0end空格右移
R4:
if(i0+1≤3)thenbeginSi0j0:
=S(i0+1)j0;
S(i0+1)j0:
=0end空格下移
然后,建立综合数据库。
将棋盘的布局表示为状态矩阵的形式存入综合数据库,例如,可以将本题的初始布局和目标布局以矩阵形式表示为:
S0=
Sg=
综