人工智能习题及答案-第2章-知识表示方法
第二章知识表示方法
2-1状态空间法、问题归约法、谓词逻辑法和语义网络法的要点是什么?它们有何本质上的联系及异同点?
2-2设有3个传教士和3个野人来到河边,打算乘一只船从右岸渡到左岸去。
该船的负载能力为两人。
在任何时候,如果野人人数超过传教士人数,那么野人就会把传教士吃掉。
他们怎样才能用这条船安全地把所有人都渡过河去?
用S i(nC,nY)表示第i次渡河后,河对岸的状态,nC表示传教士的数目,nY表示野人的数目,由于总人数的确定的,河对岸的状态确定了,河这边的状态也即确定了。
考虑到题目的限制条件,要同时保证,河两岸的传教士数目不少于野人数目,故在整个渡河的过程中,允许出现的状态为以下3种情况:
1.nC=0
2.nC=3
3.nC=nY>=0(当nC不等于0或3)
用d i(dC,dY)表示渡河过程中,对岸状态的变化,dC表示,第i次渡河后,对岸传教士数目的变化,dY表示,第i次渡河后,对岸野人数目的变化。
当i为偶数时,dC,dY同时为非负数,表示船驶向对岸,i为奇数时,dC,dY同时为非正数,表示船驶回岸边。
初始状态为S0(0,0),目标状态为S0(3,3),用深度优先搜索的
方法可寻找渡河方案。
在此,用图求法该问题,令横坐标为nY,纵坐标为nC,可行状态为空心点表示,每次可以在格子上,沿对角线移动一格,也可以沿坐标轴方向移动1格,或沿坐标轴方向移动2格。
第奇数次数状态转移,沿右方,上方,或右上方移动,第偶数次数状态转移,沿左方,下方,或左下方移动。
从(0,0)开始,依次沿箭头方向改变状态,经过11步之后,即可以到达目标状态(3,3),相应的渡河方案为:
d1(1,1)--àd2(-1,0)--àd3(0,2)--àd4(0,-1)--àd5(2,0)--àd6(-1,-1)--àd7(2,0)--àd8(0,-1)--àd9(0,2)--àd10( -1,0)--àd11(1,1)2-3
利用图2.3,用状态空间法规划一个最短的旅行路程:此旅程从城市A开始,访问其
他城市不多于一次,并返回A。
选择一个状态表示,表示出所求得的状态空间的节点及弧线,标出适当的代价,并指明图中从
起始节点到目标节点的最佳路径。
2-4试说明怎样把一棵与或解树用来表达图2.28所示的电网络阻抗的计算。
单独的R、L
或C可分别用R、jωL或1/jωC来计算,这个事实用作本原问题。
后继算符应以复合并联和串联阻抗的规则为基础。
7
10
710
139
66
5
10
B
E
D
A
C图 2.3
图 2.28
约定,用原来的与后继算法用来表达并联关系,用原来的或后继算法用来表达串联关系
2-5试用四元数列结构表示四圆盘梵塔问题,并画出求解该问题的与或图。
用四元数列(nA,nB,nC,nD)来表示状态,其中nA表示A盘落在第nA号柱子上,nB表示B盘落在第nB号柱子上,nC表示C盘落在第nC号柱子上,nD表示D盘落在第nD号柱子上。
初始状态为1111,目标状态为3333
如图所示,按从上往下的顺序,依次处理每一个叶结点,搬动圆盘,问题得解。
2-6把下列句子变换成子句形式:
(1)
(x){P(x)→P(x)}
(2)
x y(On(x,y)→Above(x,y))
(3)
x y z(Above(x,y)∧Above(y,z)→Above(x,z))
(4)~{(x){P(x)→{(y)[p(y)→p(f(x,y))]∧(y)[Q(x,y)→P(y)]}}}(1)(ANY x){P(x)àP(x)}
(ANY x){~P(x)OR P(x)}
~P(x)OR P(x)
最后子句为
~P(x)OR P(x)
(2)(ANY x)(ANY y){On(x,y)àAbove(x,y)}
(ANY x)(ANY y){~On(x,y)OR Above(x,y)}
~On(x,y)OR Above(x,y)
最后子句为
~On(x,y)OR Above(x,y)
(3)(ANY x)(ANY y)(ANY z){Above(x,y)AND Above(y,z)àAbove(x,z)}
(命题联结词之优先级如下:否定→合取→析取→蕴涵→等价) (ANY x)(ANY y)(ANY z){~[Above(x,y)AND Above(y,z)]OR Above(x,z)}
~[Above(x,y)AND Above(y,z)]OR Above(x,z)
最后子句为
~[Above(x,y),Above(y,z)]OR Above(x,z)
(4)~{(ANY x){P(x)à{(ANY y)[p(y)àp(f(x,y))]AND(ANY y)[Q(x,y)àP(y)]}}}
~{(ANY x){~P(x)OR{(ANY y)[~p(y)OR p(f(x,y))]AND(ANY y)[~Q(x,y)OR P(y)]}}}
(EXT x){P(x)AND{(EXT x)[p(y)AND~p(f(x,y))]OR(EXT y)[Q(x,y)AND~P(y)]}}
(EXT x){P(x)AND{(EXT w)[p(y)AND~p(f(w,y))]OR(EXT v)[Q(x,v)AND~P(v)]}}
P(A)AND{[p(y)AND~p(f(B,y))]OR[Q(A,C)AND~P(C)]}
P(A)AND{[p(y)AND~p(f(B,y))OR
Q(A,C)]AND[p(y)AND~p(f(B,y))OR~P(C)]}
P(A)AND{{p(y),~p(f(B,y))}OR
Q(A,C)}AND{{p(y),~p(f(B,y))}OR~P(C)}
最后子句为
P(A)
{p(x),~p(f(B,x))}OR Q(A,C)
{p(y),~p(f(B,y))}OR~P(C)
2-7用谓词演算公式表示下列英文句子(多用而不是省用不同谓词和项。
例如不要用单一的谓词字母来表示每个句子。
)
A computer system is intelligent if it can perform a task which,if performed by a human,requires intelligence.
先定义基本的谓词
INTLT(x)means x is intelligent
PERFORM(x,y)means x can perform y
REQUIRE(x)means x requires intelligence
CMP(x)means x is a computer system
HMN(x)means x is a human
上面的句子可以表达为
(任意x)
{(存在t)(存在y)[HMN(y)合取PERFORM(y,t)合取REQUIRE(t)合取CMP(x)合取PERFORM(x,t)]àINTLT(x)}
2-8把下列语句表示成语义网络描述:
(1)All man are mortal.
(2)Every cloud has a silver lining.
(3)All branch managers of DEC participate in a profit-sharing plan.
(1)
(2)
(3)
2-9作为一个电影观众,请你编写一个去电影院看电影的剧本。
(1)开场条件
(a)顾客想看电影
(b)顾客在足够的钱
(2)角色
顾客,售票员,检票员,放映员
(3)道具
钱,电影票
(4)场景
场景1购票
(a)顾客来到售票处
(b)售票员把票给顾客
(c)顾客把钱给售票员
(d)顾客走向电影院门
场景2检票
(a)顾客把电影票给检票员
(b)检票员检票
(c)检票员把电影票还给顾客
(d)顾客进入电影院
场景3等待
(a)顾客找到自己的座位
(b)顾客坐在自己座位一等待电影开始场景4观看电影
(a)放映员播放电影
(b)顾客观看电影
场景5离开
(a)放映员结束电影放映
(b)顾客离开电影院
(5)结果
(a)顾客观看了电影
(b)顾客花了钱
(c)电影院赚了钱
2-10试构造一个描述你的寝室或办公室的框架系统。