从x处走到y处。
条件:
(,x)
动作:
删除(,x);增加(,y)
(2)(x,y):
将箱子从x处推到y处。
条件:
(,x)∧(,x)∧()
动作:
删除(,x),(,x);增加(,y),(,y)
(3):
爬到箱子顶上。
条件:
()
动作:
删除();增加()
(4):
摘下香蕉。
条件:
()∧()∧(,b)
动作:
删除();增加()
在执行某一操作前,先检查当前状态是否满足其前提条件。
若满足,则执行该操作。
否则,检查另一操作的条件是否被满足。
检查的方法就是当前的状态中是否蕴含了操作所要求的条件。
在定义了操作谓词后,就可以给出从初始状态到目标状态的求解过
程。
在求解过程中,当进行条件检查时,要进行适当的变量代换。
(,a)
(,c)
()
()
(x,y),用a代x,用c代y
(,c)
(,c)
()
()
(x,y),用c代x,用b代y
(,b)
(,b)
()
()
(,b)
(,b)
()
()
(,b)
(,b)
()
()
2.16.用语义网络表示下列知识:
(1)所有的鸽子都是鸟;
(2)所有的鸽子都有翅膀;
(3)信鸽是一种鸽子,它有翅膀。
解:
本题涉及对象有信鸽、鸽子和鸟。
鸽子和信鸽的属性是有翅膀。
鸽子和鸟是关系,信鸽和鸽子是关系。
根据分析得到本题的语义网络如下:
2.17.请对下列命题分别写出它的语义网络:
(1)每个学生都有多本书。
解:
根据题意可得本题的语义网络如下:
(2)孙老师从2月至7月给计算机应用专业讲《网络技术》课程。
解:
根据题意可得本题的语义网络如下:
(3)雪地上留下一串串脚印,有的大,有的小,有的深,有的浅。
解:
根据题意可得本题的语义网络如下:
(4)王丽萍是天发电脑公司的经理,她35岁,住在南内环街68号。
解:
根据题意可得本题的语义网络如下:
2.18.请把下列命题用一个语义网络表示出来:
(1)猪和羊都是动物;
(2)猪和羊都是偶蹄动物和哺乳动物;
(3)野猪是猪,但生长在森林中;
(4)山羊是羊,且头上长着角;
(5)绵羊是一种羊,它能生产羊毛。
解:
本题涉及对象有猪、羊、动物、野猪、山羊和绵羊。
猪和羊的属性是偶蹄和哺乳。
野猪的属性是生长在森林中。
山羊的属性是头上长着角。
绵羊的属性是产羊毛。
根据对象之间的关系得到本题的语义网络如下:
2.27有一农夫带一条狼,一只羊和一框青菜与从河的左岸乘船倒右岸,但受到下列条件的限制:
(1)船太小,农夫每次只能带一样东西过河;
(2)如果没有农夫看管,则狼要吃羊,羊要吃菜。
请设计一个过河方案,使得农夫、浪、羊都能不受损失的过河,画出相应的状态空间图。
题示:
(1)用四元组(农夫,狼,羊,菜)表示状态,其中每个元素都为0或1,用0表示在左岸,用1表示在右岸。
(2)把每次过河的一种安排作为一种操作,每次过河都必须有农夫,因为只有他可以划船。
解:
第一步,定义问题的描述形式
用四元组(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样东西送到右岸(1表示狼,2表示羊,3表示菜,0表示船上除农夫外不载任何东西)。
由于农夫必须在船上,故对农夫的表示省略。
R(i)表示农夫从右岸将第i样东西带到左岸(1表示狼,2表示羊,3表示菜,0表示船上除农夫外不载任何东西)。
同样,对农夫的表示省略。
这样,所定义的算符组F可以有以下8种算符:
L(0),L
(1),L
(2),L(3)
R(0),R
(1),R
(2),R(3)
第四步,根据上述定义的状态和操作进行求解。
该问题求解过程的状态空间图如下:
L
(2)
(0,1,0,1)
(1,1,0,1)
(0,0,1,0)
(1,0,1,0)
(0,0,0,0)
3.5什么是谓词公式?
什么是谓词公式的解释?
设D={1,2},试给出谓词公式(x)(y)(P()Q())的所有解释,并且对每一种解释指出该谓词公式的真值。
解:
谓词公式是按照下述五个规则由原子公式、连接词、量词及圆括号所组成的字符串。
(1)原子谓词公式是合式公式。
(2)若A是合式公式,则A也是合式公式。
(3)若A和B都是合式公式,则AB、AB、AB、AB也都是合式公式。
(4)若A是合式公式,x是任一个体变元,则(x)A和(x)A也都是合式公式。
(5)只有按
(1)(4)所得的公式才是合式公式。
谓词公式的解释:
设D为谓词公式P的个体域,若对P中的个体常量、函数和谓词按照如下规定赋值:
(1)为每个个体常量指派D中的一个元素;
(2)为每个n元函数指派一个从到D的映射,其中{(x1,x2,…,)|x1,x2,…,D}(3)为每个n元谓词指派一个从到{F,T}的映射;则这些指派称为公式P在D上的解释。
下面给出本题的所有解释:
1.对谓词指派的真值为:
P(1,1),P(1,2),P(2,1),P(2,2),Q(1,1),Q(1,2),Q(2,1),Q(2,2),在此解释下,1时,P(1,1)Q(1,1)为T,P(1,2)Q(1,2)为T;2时,P(2,1)Q(2,1)为T,P(2,2)Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为T。
2.对谓词指派的真值为:
P(1,1),P(1,2),P(2,1),P(2,2),Q(1,1),Q(1,2),Q(2,1),Q(2,2),在此解释下,1时,P(1,1)Q(1,1)为T,P(1,2)Q(1,2)为T;2时,P(2,1)Q(2,1)为T,P(2,2)Q(2,2)为F。
所以在此解释下,本题谓词公式的真值为T。
3.对谓词指派的真值为:
P(1,1),P(1,2),P(2,1),P(2,2),Q(1,1),Q(1,2),Q(2,1),Q(2,2),在此解释下,1时,P(1,1)Q(1,1)为T,P(1,2)Q(1,2)为F;2时,P(2,1)Q(2,1)为T,P(2,2)Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为T。
4.对谓词指派的真值为:
P(1,1),P(1,2),P(2,1),P(2,2),Q(1,1),Q(1,2),Q(2,1),Q(2,2),在此解释下,1时,P(1,1)Q(1,1)为T,P(1,2)Q(1,2)为F;2时,P(2,1)Q(2,1)为T,P(2,2)Q(2,2)为F。
所以在此解释下,本题谓词公式的真值为F。
5.对谓词指派的真值为:
P(1,1),P(1,2),P(2,1),P(2,2),Q(1,1),Q(1,2),Q(2,1),Q(2,2),在此解释下,1时,P(1,1)Q(1,1)为T,P(1,2)Q(1,2)为T;2时,P(2,1)Q(2,1)为F,P(2,2)Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为T。
6.对谓词指派的真值为:
P(1,1),P(1,2),P(2,1),P(2,2),Q(1,1),Q(1,2),Q(2,1),Q(2,2),在此解释下,1时,P(1,1)Q(1,1)为F,P(1,2)Q(1,2)为T;2时,P(2,1)Q(2,1)为T,P(2,2)Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为T。
7.对谓词指派的真值为:
P(1,1),P(1,2),P(2,1),P(2,2),Q(1,1),Q(1,2),Q(2,1),Q(2,2),在此解释下,1时,P(1,1)Q(1,1)为F,P(1,2)Q(1,2)为T;2时,P(2,1)Q(2,1)为F,P(2,2)Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为F。
8.对谓词指派的真值为:
P(1,1),P(1,2),P(2,1),P(2,2),Q(1,1),Q(1,2),Q(2,1),Q(2,2),在此解释下,1时,P(1,1)Q(1,1)为T,P(1,2)Q(1,2)为T;2时,P(2,1)Q(2,1)为T,P(2,2)Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为T。
9.对谓词指派的真值为:
P(1,1),P(1,2),P(2,1),P(2,2),Q(1,1),Q(1,2),Q(2,1),Q(2,2),在此解释下,1时,P(1,1)Q(1,1)为F,P(1,2)Q(1,2)为T;2时,P(2,1)Q(2,1)为T,P(2,2)Q(2,2)为F。
所以在此解释下,本题谓词公式的真值为F。
10.对谓词指派的真值为:
P(1,1),P(1,2),P(2,1),P(2,2),Q(1,1),Q(1,2),Q(2,1),Q(2,2),在此解释下,1时,P(1,1)Q(1,1)为F,P(1,2)Q(1,2)为T;2时,P(2,1)Q(2,1)为T,P(2,2)Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为T。
11.对谓词指派的真值为:
P(1,1),P(1,2),P(2,1),P(2,2),Q(1,1),Q(1,2),Q(2,1),Q(2,2),在此解释下,1时,P(1,1)Q(1,1)为T,P(1,2)Q(1,2)为F;2时,P(2,1)Q(2,1)为F,P(2,2)Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为F。
12.对谓词指派的真值为:
P(1,1),P(1,2),P(2,1),P(2,2),Q(1,1),Q(1,2),Q(2,1),Q(2,2),在此解释下,1时,P(1,1)Q(1,1)为T,P(1,2)Q(1,2)为T;2时,P(2,1)Q(2,1)为T,P(2,2)Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为T。
13.对谓词指派的真值为:
P(1,1),P(1,2),P(2,1),P(2,2),Q(1,1),Q(1,2),Q(2,1),Q(2,2),在此解释下,1时,P(1,1)Q(1,1)为T,P(1,2)Q(1,2)为T;2时,P(2,1)Q(2,1)为F,P(2,2)Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为T。
14.对谓词指派的真值为:
P(1,1),P(1,2),P(2,1),P(2,2),Q(1,1),Q(1,2),Q(2,1),Q(2,2),在此解释下,1时,P(1,1)Q(1,1)为T,P(1,2)Q(1,2)为F;2时,P(2,1)Q(2,1)为T,P(2,2)Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为T。
15.对谓词指派的真值为:
P(1,1),P(1,2),P(2,1),P(2,2),Q(1,1),Q(1,2),Q(2,1),Q(2,2),在此解释下,1时,P(1,1)Q(1,1)为T,P(1,2)Q(1,2)为T;2时,P(2,1)Q(2,1)为T,P(2,2)Q(2,2)为F。
所以在此解释下,本题谓词公式的真值为F。
16.对谓词指派的真值为:
P(1,1),P(1,2),P(2,1),P(2,2),Q(1,1),Q(1,2),Q(2,1),Q(2,2),在此解释下,1时,P(1,1)Q(1,1)为T,P(1,2)Q(1,2)为T;2时,P(2,1)Q(2,1)为T,P(2,2)Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为T。
3.9判断以下公式对是否可合一;若可合一,则求出最一般的合一。
(1)P(), P()
解:
依据算法:
(1)令{P(),P()}。
(2)令0=,W0。
(3)W0未合一。
(4)从左到右找不一致集,得D0={a,x}。
(5)取x0,t0,则
1=0{t0/x0}=0{x}={x}
W1=W01={P(),P()}
(3’)W1未合一。
(4’)从左到右找不一致集,得D1={b,y}。
(5’)取x1,t1,则
2=1{t1/x1}=1{y}={x}{y}={,}
W2=W12={P(),P()}
(3’’)W2已合一,因为其中包含相同的表达式,这时2={,}即为所求的。
(2)P(f(z))), P()
解:
依据算法:
(1)令{P(f(z)),P()}。
(2)令0=,W0。
(3)W0未合一。
(4)从左到右找不一致集,得D0={f(z),y}。
(5)取x0,t0(z),则
1=0{t0/x0}=0{f(z)/y}={f(z)}
W1=W01={P(f(z)),P(f(z))}
(3’)W1未合一。
(4’)从左到右找不一致集,得D1={b,x}。
(5’)取x1,t1,则
2=1{t1/x1}=1{x}={f(z)/y}{x}={f(z),}
W2=W12={P(f(z)),P(f(z))}
(3’’)W2已合一,因为其中包含相同的表达式,这时2={f(z),}即为所求的。
(3)P(f(x)), P((a))
解:
依据算法:
(1)令{P(f(x)),P((a))}。
(2)令0=,W0。
(3)W0未合一。
(4)从左到右找不一致集,得D0={f(x),y}。
(5)取x0,t0(x),则
1=0{t0/x0}=0{f(x)/y}={f(x)}
W1=W01={P(f(x)(x)),P(f(x)(a))}
(3’)W1未合一。
(4’)从左到右找不一致集,得D1={y,f(a)}。
(5’)取x1,t1(a),则
2=1{t1/x1}=1{f(a)/y}={f(x)/y}{f(a)/y}={f(x)}
W2=W12={P(f(x)(x)),P(f(x)(a))}
(6)算法终止,W的不存在。
(4)P(f(y)), P((a)(b))
解:
依据算法:
(1)令{P(f(y)),P((a)(b))}。
(2)令0=,W0。
(3)W0未合一。
(4)从左到右找不一致集,得D0={f(y),x}。
(5)取x0,t0(y),则
1=0{t0/x0}=0{f(y)/x}={f(y)}
W1=W01={P(f(y)(y)),P(f(y)(a)(b))}
(3’)W1未合一。
(4’)从左到右找不一致集,得D1={y,f(a)}。
(5’)取x1,t1(a),则
2=1{t1/x1}=1{f(a)/y}={f(y)/x}{f(a)/y}={f(f(a))(a)}
W2=W12={P(f(f(a))(a)(f(a))),P(f(f(a))(a)(b))}
(6)算法终止,W的不存在。
(5)P(), P()
解:
依据算法:
(1)令{P(),P()}。
(2)令0=,W0。
(3)W0未合一。
(4)从左到右找不一致集,得D0={x,y}。
(5)取x0,t0,则
1=0{t0/x0}=0{x}={x}
W1=W01={P(),P()}
(3’)W2已合一,因为其中包含相同的表达式,这时1={}即为所求的。
3.13把下列谓词公式分别化为相应的子句集:
(1)(z)(y)(P()Q())
解:
所求子句集为{P(),Q()}
(2)(x)(y)(P()Q())
解:
原式(x)(y)(P()Q())
所求子句集为{P()Q()}
(3)(x)(y)(P()(Q()R()))
解:
原式(x)(y)(P()(Q()R()))
(x)(P((x))(Q((x))R((x))))
所求子句集为{P((x))(Q((x))R((x)))}
(4)(x)(y)(z)(P()Q()R())
解:
原式(x)(y)(z)(P()Q()R())
(x)(y)(P()Q()R(()))
所求子句集为{P()Q()R(())}
(5)(x)(y)(z)(u)(v)(w)(P()(Q()R()))
解:
原式(x)(y)(z)(u)(v)(P(())(Q(())R(())))
(x)(y)(z)(v)(P((z)())(Q((z)())R(())))
(z)(v)(P((z)())(Q((z)())R(())))
所求子句集为{P((z)()),Q((z)())R(())}
3.14判断下列子句集中哪些是不可满足的:
(1){PQ,,P}
解:
使用归结推理:
(1)PQ
(2)Q(3)P(4)P
(3)与(4)归结得到,因此S是不可满足的。
(2){PQ,PQ,PQ}
解:
使用归结推理:
(1)PQ
(2)PQ(3)PQ(4)PQ
(1)与
(2)归结得(5)Q
(3)与(5)归结得(6)P
(4)与(6)归