1、第2章 知识表示方法部分2.8 设有如下语句,请用相应的谓词公式分别把他们表示出来:(1) 有的人喜欢梅花,有的人喜欢菊花,有的人既喜欢梅花又喜欢菊花 。解:定义谓词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是下午将知识用谓词表示为:(x )(y) (A(y)B(x)P(x)(3) 新型计算机速度又快,存储容量又大。解:定义谓词NC(x):x是新型计算机F(x):x速度快B(x)
2、: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.9 用谓词表示法求解机器人摞积木问题。设机器人有一只机械手,
3、要处理的世界有一张桌子,桌上可堆放若干相同的方积木块。机械手有4个操作积木的典型动作:从桌上拣起一块积木;将手中的积木放到桌之上;在积木上再摞上一块积木;从积木上面拣起一块积木。积木世界的布局如下图所示。ABCCAB图 机器人摞积木问题解:(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) CLE
4、AR(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)
5、,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)
6、 (3) 问题求解过程利用上述谓词和操作,其求解过程为:ONTABLE(A)ONTABLE(B)ONTABLE(C)CLEAR(A)CLEAR(B)CLEAR(C)HANDEMPTYONTABLE(A) ONTABLE(B)ON(C, A)CLEAR(B)CLEAR(C) HANDEMPTYONTABLE(A)ONTABLE(B) HOLDING(C)CLEAR(A)CLEAR(B)CLEAR(C)Upstack(A,C)Putdown(C)Pickup(B)ONTABLE(A)ONTABLE(C)ON(B,C)CLEAR(A)CLEAR(B)HANDEMPTYONTABLE(A)ONTABL
7、E(C)HOLDING(B)CLEAR(A)CLEAR(B)CLEAR(C)ONTABLE(C)ON(B,C)ON(A,B)CLEAR(A)HANDEMPTONTABLE(C)ON(B,C)CLEAR(A)CLEAR(B)HOLDING(A)Stack(B,A)Stack(C,B)Pickup(A)2.10 用谓词表示法求解农夫、狼、山羊、白菜问题。农夫、狼、山羊、白菜全部放在一条河的左岸,现在要把他们全部送到河的右岸去,农夫有一条船,过河时,除农夫外船上至多能载狼、山羊、白菜中的一种。狼要吃山羊,山羊要吃白菜,除非农夫在那里。似规划出一个确保全部安全过河的计划。请写出所用谓词的定义,并给出每
8、个谓词的功能及变量的个体域。解:(1) 先定义描述状态的谓词要描述这个问题,需要能够说明农夫、狼、羊、白菜和船在什么位置,为简化问题表示,取消船在河中行驶的状态,只描述左岸和右岸的状态。并且,由于左岸和右岸的状态互补,因此可仅对左岸或右岸的状态做直接描述。本题选择对左岸进行直接描述的方法,即定义谓词如下:AL(x):x在左岸其中,x的个体域是农夫,船,狼,羊,白菜。对应地,AL(x)表示x在右岸。 问题的初始状态:AL(农夫)AL(船)AL(狼)AL(羊)AL(白菜) 问题的目标状态:AL(农夫)AL(船)AL(狼)AL(羊)AL(白菜) (2) 再定义描述操作的谓词本题需要以下4个描述操作的
9、谓词:L-R:农夫自己划船从左岸到右岸L-R(x):农夫带着x划船从左岸到右岸R-L:农夫自己划船从右岸到左岸R-L(x) :农夫带着x划船从右岸到左岸其中,x的个体域是狼,羊,白菜。对上述每个操作,都包括条件和动作两部分。它们对应的条件和动作如下:L-R:农夫划船从左岸到右岸 条件:AL(船),AL(农夫),AL(狼)AL(羊),AL(羊)AL(白菜) 动作:删除表:AL(船),AL(农夫) 添加表:AL(船),AL(农夫)L-R(狼):农夫带着狼划船从左岸到右岸 条件:AL(船),AL(农夫),AL(狼),AL(羊) 动作:删除表:AL(船),AL(农夫),AL(狼) 添加表:AL(船),
10、AL(农夫),AL(狼)L-R(羊):农夫带着羊划船从左岸到右岸 条件:AL(船),AL(农夫),AL(羊), AL(狼),AL(白菜) 或:AL(船),AL(农夫),AL(羊),AL(狼),AL(白菜) 动作:删除表:AL(船),AL(农夫),AL(羊) 添加表:AL(船),AL(农夫),AL(羊)L-R(白菜):农夫带着白菜划船从左岸到右岸 条件:AL(船),AL(农夫),AL(白菜),AL(狼) 动作:删除表:AL(船),AL(农夫),AL(白菜) 添加表:AL(船),AL(农夫),AL(白菜)R-L:农夫划船从右岸到左岸 条件:AL(船),AL(农夫),AL(狼)AL(羊),AL(羊)
11、AL(白菜) 或:AL(船),AL(农夫) ,AL(狼),AL(白菜),AL(羊) 动作:删除表:AL(船),AL(农夫) 添加表:AL(船),AL(农夫)R-L(羊) :农夫带着羊划船从右岸到左岸 条件:AL(船),AL(农夫),AL(羊) ,AL(狼),AL(羊),AL(白菜) 动作:删除表:AL(船),AL(农夫),AL(羊) 添加表:AL(船),AL(农夫),AL(羊)(3) 问题求解过程AL(白菜)AL(农夫)AL(船)AL(狼)AL(羊)AL(农夫)AL(船)AL(狼)AL(白菜)AL(羊)AL(狼)AL(白菜)AL(农夫)AL(船)AL(羊)AL(农夫)R-L R-L(羊) L-
12、R(狼)L-R(羊)AL(船)AL(狼)AL(羊)AL(白菜)AL(农夫)AL(船)AL(羊)AL(白菜)AL(狼)AL(农夫)AL(船)AL(羊)AL(白菜)AL(狼)AL(羊)AL(农夫)AL(船)AL(白菜)AL(狼)L-R(羊)AL(农夫)AL(船)AL(羊)AL(白菜)AL(狼)R-L L-R(白菜)2.11 用谓词表示法求解修道士和野人问题。在河的北岸有三个修道士、三个野人和一条船,修道士们想用这条船将所有的人都运过河去,但要受到以下条件限制:(1) 修道士和野人都会划船,但船一次只能装运两个人。(2) 在任何岸边,野人数不能超过修道士,否则修道士会被野人吃掉。假定野人愿意服从任何
13、一种过河安排,请规划出一种确保修道士安全的过河方案。要求写出所用谓词的定义、功能及变量的个体域。解:(1)定义谓词先定义修道士和野人人数关系的谓词:G(x,y,S): 在状态S下x大于yGE(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
14、,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个野人渡船从河的左岸到河的右岸
15、条件: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,
16、 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,S
17、6)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(
18、R,3,3,S11)Boat(R,S11)2.18 请对下列命题分别写出它们的语义网络:(1) 每个学生都有一台计算机。gGSgGSGS解:占有权计算机学生AKOISAISAFOwnsOwnercosg(2) 高老师从3月到7月给计算机系学生讲计算机网络课。 解:7月8月StartEnd老师ISAObjectSubject高老师计算机系学生讲课事件ActionCaurse计算机网络讲课(3) 学习班的学员有男、有女、有研究生、有本科生。 解:参例2.14(4) 创新公司在科海大街56号,刘洋是该公司的经理,他32岁、硕士学位。 解:参例2.10(5) 红队与蓝队进行足球比赛,最后以3:2的比分
19、结束。 解:比赛AKOParticipants1Outcome3:22足球赛红队Participants 2蓝队2.19 请把下列命题用一个语义网络表示出来:(1) 树和草都是植物;植物解:AKOAKO草树(2) 树和草都有叶和根;根叶 解:HaveHave植物是一种是一种草树(3) 水草是草,且生长在水中; 解:LiveAKOAKO水草水中植物草(4) 果树是树,且会结果; 解:CanAKOAKO果树结果植物树(5) 梨树是果树中的一种,它会结梨。 解:CanAKOAKO梨树树果树结梨2.25 假设有以下一段天气预报:“北京地区今天白天晴,偏北风3级,最高气温12,最低气温-2,降水概率15
20、%。”请用框架表示这一知识。解:Frame 地域:北京 时段:今天白天 天气:晴 风向:偏北 风力:3级 气温:最高:12度 最低:-2度 降水概率:15%2.26 按“师生框架”、“教师框架”、“学生框架”的形式写出一个框架系统的描述。解:师生框架Frame Name:Unit(Last-name,First-name) Sex:Area(male,female) Default:male Age:Unit(Years)Telephone:Home Unit(Number)Mobile Unit(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 9