人工智能第2章课后习题 参考答案docx.docx
《人工智能第2章课后习题 参考答案docx.docx》由会员分享,可在线阅读,更多相关《人工智能第2章课后习题 参考答案docx.docx(14页珍藏版)》请在冰豆网上搜索。
人工智能第2章课后习题参考答案docx
第2章知识表示方法部分参考答案
2.8设有如下语句,请用相应的谓词公式分别把他们表不出来:
(1)有的人喜欢梅花,有的人喜欢菊花,有的人既喜欢梅花又喜欢菊花。
解:
定义谓词
P(x):
x是人
L(x,y):
x喜欢y
其中,y的个体域是{梅花,菊花}。
将知识用谓词表示为:
(x)(P(x)—L(x,梅花)VL(x,菊花)VL(x,梅花)AL(x,菊花))
(2)有人每天下午都去打篮球。
解:
定义谓词
P(x):
x是人
B(x):
x打篮球
A(y):
y是下午
将知识用谓词表示为:
(3x)(Vy)(A(y)-B(x)AP(x))
(3)新型计算机速度又快,存储容量又大。
解:
定义谓词
NC(x):
x是新型计算机
F(x):
x速度快
B(x):
x容量大
将知识用谓词表示为:
(Vx)(NC(x)-F(x)AB(x))
(4)不是每个计算机系的学生都喜欢在计算机上编程序。
解:
定义谓词
S(x):
x是计算机系学生
L(x,pragramming):
x喜欢编程序
U(x,computer):
x使用计算机
将知识用谓词表示为:
r(Vx)(S(x)-^L(x,pragramming)AU(x,computer))
(5)凡是喜欢编程序的人都喜欢计算机。
解:
定义谓词
P(x):
x是人
L(x,y):
x喜欢y
将知识用谓词表不为:
(Vx)(P(x)AL(x,pragramming)^L(x,computer))
2.9用谓词表示法求解机器人摞积木问题。
设机器人有一只机械手,要处理的世界有一张桌子,桌上可堆放若干相同的方积木块。
机械手有4个操作积木的典型动作:
从桌上拣起一块积木;将手中的积木放到桌之上;在积木上再摞上一块积木;从积木上面拣起一块积木。
积木世界的布局如下图所示。
图机器人摞积木问题
解:
(1)先定义描述状态的谓词
CLEAR(x):
积木x上面是空的。
ON(x,y):
积木x在积木y的上面。
ONTABLE(x):
积木x在桌子上。
HOLDING(x):
机械手抓住X。
HANDEMPTY:
机械手是空的。
其中,x和y的个体域都是{A,B,C}。
问题的初始状态是:
ONTABLE(A)
ONTABLE(B)
ON(C.A)
CLEAR(B)
CLEAR(C)
HANDEMPTY
问题的目标状态是:
ONTABLE(C)
ON(B,C)
ON(A,B)
CLEAR(A)
HANDEMPTY
(2)再定义描述操作的谓词
在本问题中,机械手的操作需要定义以下4个谓词:
Pickup(x):
从桌面上拣起一块积木x。
Putdown(x):
将手中的积木放到桌面上。
Stack(x,y):
在积木x上面再摞上一块积木y。
Upstack(x,y):
从积木x上面拣起一块积木y。
其中,每一个操作都可分为条件和动作两部分,具体描述如下:
Pickup(x)
条件:
ONTABLE(x),HANDEMPTY,CLEAR(x)
动作:
删除表:
ONTABLE(x),HANDEMPTY
添加表:
HANDEMPTY(x)
Putdown(x)
条件:
HANDEMPTY(x)
动作:
删除表:
HANDEMPTY(x)
添加表:
ONTABLE(x),CLEAR(x),HANDEMPTYStack(x,y)
条件:
HANDEMPTY(x),CLEAR(y)
动作:
删除表:
HANDEMPTY(x),CLEAR(y)
添加表:
HANDEMPTY,ON(x,y),CLEAR(x)
Upstack(x,y)
条件:
HANDEMPTY,CLEAR(y),ON(y,x)
动作:
删除表:
HANDEMPTY,ON(y,x)
添加表:
HOLDING(y),CLEAR(x)
(3)问题求解过程
(4)
利用上述谓词和操作,其求解过程为:
ONTABLE(A)
Upstack(A,C)ONTABLE(B)Putdown(C)
—HOLDING(C)■>
CLEAR(A)
CLEAR(B)
CLEAR(C)
2.10用谓词表示法求解农夫、狼、山羊、白菜问题。
农夫、狼、山羊、白菜全部放在一条河的左岸,现在要把他们全部送到河的右岸去,农夫有一条船,过河时,除农夫外船上至多能载狼、山羊、白菜中的一种。
狼要吃山羊,山羊要吃白菜,除非农夫在那里。
似规划出一个确保全部安全过河的计划。
请写出所用谓词的定义,并给出每个谓词的功能及变量的个体域。
解:
(1)先定义描述状态的谓词
要描述这个问题,需要能够说明农夫、狼、羊、白菜和船在什么位置,为简化问题表不,取消船在河中行驶的状态,只描述左岸和右岸的状态。
并且,由于左岸和右岸的状态互补,因此可仅对左岸或右岸的状态做直接描述。
本题选择对左岸进行直接描述的方法,即定义谓词如下:
AL(x):
x在左岸
其中,x的个体域是{农夫,船,狼,羊,白菜}。
对应地,「AL(x)表示x在右岸。
问题的初始状态:
AL(农夫)
AL(船)
AL(狼)
AL(羊)
AL(白菜)
问题的目标状态:
「AL(农夫)
「AL(船)
「AL(狼)
「AL(羊)
「AL(白菜)
(2)再定义描述操作的谓词
本题需要以下4个描述操作的谓词:
L-R:
农夫自己划船从左岸到右岸
L-R(x):
农夫带着x划船从左岸到右岸
R-L:
农夫自己划船从右岸到左岸
R-L(x):
农夫带着x划船从右岸到左岸
其中,x的个体域是{狼,羊,白菜}。
对上述每个操作,都包括条件和动作两部分。
它们对应的条件和动作如下:
L-R:
农夫划船从左岸到右岸
条件:
AL(船),AL(农夫),「AL(狼)V「AL(羊),「AL(羊)V「AL(白菜)
动作:
删除表:
AL(船),AL(农夫)
添加表:
「AL(船),「AL(农夫)
L-R(狼):
农夫带着狼划船从左岸到右岸
条件:
AL(船),AL(农夫),AL(狼),「AL(羊)
动作:
删除表:
AL(船),AL(农夫),AL(狼)
添加表:
「AL(船),「AL(农夫),「AL(狼)
L-R(羊):
农夫带着羊划船从左岸到右岸
条件:
AL(船),AL(农夫),AL(羊),AL(狼),AL(白菜)
或:
AL(船),AL(农夫),AL(羊),「AL(狼),「AL(白菜)
动作:
删除表:
AL(船),AL(农夫),AL(羊)
添加表:
^AL(船),rAL(农夫),「AL(羊)
L-R(白菜):
农夫带着白菜划船从左岸到右岸
条件:
AL(船),AL(农夫),AL(白菜),「AL(狼)
动作:
删除表:
AL(船),AL(农夫),AL(白菜)
添加表:
「AL(船),「AL(农夫),「AL(白菜)
R-L:
农夫划船从右岸到左岸
条件:
SL(船),「AL(农夫),AL(狼)VAL(羊),AL(羊)VAL(白菜)
或:
rAL(船),rAL(农夫),rAL(狼),-XL(白菜),AL(羊)
动作:
删除表:
「AL(船),「AL(农夫)
添加表:
AL(船),AL(农夫)
R-L(羊):
农夫带着羊划船从右岸到左岸
条件:
SL(船),「AL(农夫),「AL(羊),「AL(狼),「AL(羊),AL(白菜)
动作:
删除表:
「AL(船),「AL(农夫),「AL(羊)
添加表:
AL(船),AL(农夫),AL(羊)
(3)问题求解过程
AL(农夫)
AL(船)L-R(羊)
AL(狼)
AL(羊)③
AL(白菜)
AL(狼)AL(农夫)AL(白菜)
AL(白采)R_LAL(船)L-R(狼)「AL侬夫)R-L(羊)
「AL(农夫)|AL(狼),>“L(船)
「AL(船)AL(白菜)「AL(狼)
「AL(羊)」AL(羊)「AL(羊)
AL侬夫)
AL(船)L-R(白菜)
AL(羊)1A
AL(白菜)
「AL(狼)
AL(羊)AL(农夫)g(农夫)
「AL(农夫)R-L入侦船)L-R(羊)*(船)
「AL(船)1AL(羊)「AL(羊)
「AL(白菜)「AL(白菜)「al(白菜)
“L(狼)"L(狼)“L(狼)
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,O,S)AGE(x,y,S))V(EZ(x,S))
其中,z,x,y的含义同上。
该谓词的含义是:
状态S下,在z岸,保证修道士安全,当且仅当修道士不在该岸上,或者修道士在该岸上,但人数超过野人数。
该谓词同时也描述了相应的状态。
再定义描述过河方案的谓词:
L-R(x,xl,y,yl,S):
xl个修道士和yl个野人渡船从河的左岸到河的右岸
条件:
Safety(L,x-x1,y-y1,S')ASafety(R,3-x+xl,3-y+y1,S')ABoat(L,S)
动作:
Safety—,x-xl,y-yl,S')ASafety(R,3-x+xl,3-y+yl,S')ABoat(R,S')
R-L(x,xl,y,yl,S):
x2个修道士和y2个野人渡船从河的左岸到河的右岸条件:
Safety(R,3-x-x2,3-y-y2,S')ASafety(L,x+x2,y+y2,S')ABoat(R,S)动作:
Safety(R,3-x-x2,3-y-y2,S')ASafety(L,x+x2,y+y2,S')ABoat(L,S,)
(2)过河方案
Safety(L,3.3.S0)ASafety(R,0,0,SQ)/\Boat(L,S0)
JL-R(3,1,3,1,SO)L-R(3,0,3,2,S0)
Safety(L,2.2.S1)ASafety(R,l,l,Sl)ABoat(R,S
Safety(L,3.1,Sr)ASafety(R,0,2,S1')ABoat(R,S1')
vR-L(2,1,2,O,S1)],S1‘)
Safety(L,3,2,S2)ASafety(R,0,1,S2)ABoat(L,S2)
JL-R(3,0,2,2,S2)
Safety(L,3,0,S3)ASafety(R,0,3.S3)ABoat(R,S3)
IR-L(3,0,0,1,S3)
Safety(L,3,l,S4)ASafety(R,0,2,S1)ABoat(L,S4)
]L-R(3,2,1,0,S4)
Safety(L,l,l,S5)ASafety(R,2,2,S5)ABoat(R,S5)
JR-L(l,1,1,1,S5)
Safety(L,2.2.S6)ASafety(R,l,l,S6)ABoat(L,S6)
|L-R(2,2,2,0.S6)
Safety(L,0,2.S7)ASafety(R,3,l,S7)ABoat(R,S7)
JR-L(0,0,2,1,S7)
Safety(L,0,3,S8)ASafety(R,3,0,S8)ABoat(L,S8)
JL-R(0,0,3,2,S8)
Safety(L,0,l,S9)ASafety(R,3,2,S9)ABoat(R,S9)
]R-L(0,1,l,0,S9)
Safety(L,l,l,S10)ASafety(R,2,2,S10)ABoat(L,S10)
JL-R(l,1,1,l,S10)
Safety(L,0,0,S11)ASafety(R,3,3,S11)ABoat(R,S11)
(3)学习班的学员有男、有女、有研究生、有本科生。
解:
参例2.14
(4)创新公司在科海大街56号,刘洋是该公司的经理,他32岁、硕士学位。
解:
参例2.10
2.18请对下列命题分别写出它们的语义网络:
(1)每个学生都有一台计算机。
解:
⑵高老师从3月到7月给计算机系学生讲《计算机网络》课。
解:
蓝队
(3)水草是草,解:
2.19请把下列命题用一个语义网络表示出来:
(1)树和草都是植物;
解:
⑵树和草都有叶和根;
解:
(5)果树是树,且会结果;
解:
(6)梨树是果树中的一种,它会结梨。
解:
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(SCLEl,Core,General)
Default:
Core
学生框架
Frame
AKO
Major:
Unit(Major-Name)
Classes:
Unit(Classes-Name)
Degree:
Area(doctor,mastor,bachelor)
Default:
bachelor