(完整版)人工智能(部分习题答案及解析)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.什么是人类智能?它有哪些特征或特点?
定义:人类所具有的智力和行为能力。
特点:主要体现为感知能力、记忆与思维能力、归纳与演绎能力、学习能力以及行为能力。
2.人工智能是何时、何地、怎样诞生的?
解:人工智能于1956年夏季在美国Dartmouth大学诞生。
此时此地举办的关于用机器模拟人类智能问题的研讨会,第一次使用“人工智能”这一术语,标志着人工智能学科的诞生。
3.什么是人工智能?它的研究目标是?
定义:用机器模拟人类智能。
研究目标:用计算机模仿人脑思维活动,解决复杂问题;从实用的观点来看,以知识为对象,研究知识的获取、知识的表示方法和知识的使用。
4.人工智能的发展经历了哪几个阶段?
解:第一阶段:孕育期(1956年以前);第二阶段:人工智能基础技术的研究和形成(1956~1970年);第三阶段:发展和实用化阶段(1971~1980年);第四阶段:知识工程和专家系统(1980年至今)。
5.人工智能研究的基本内容有哪些?
解:知识的获取、表示和使用。
6.人工智能有哪些主要研究领域?
解:问题求解、专家系统、机器学习、模式识别、自动定论证明、自动程序设计、自然语言理解、机器人学、人工神经网络和智能检索等。
7.人工智能有哪几个主要学派?各自的特点是什么?
主要学派:符号主义和联结主义。
特点:符号主义认为人类智能的基本单元是符号,认识过程就是符号表示下的符号计算,从而思维就是符号计算;联结主义认为人类智能的基本单元是神经元,认识过程是由神经元构成的网络的信息传递,这种传递是并行分布进行的。
8.人工智能的近期发展趋势有哪些?
解:专家系统、机器人学、人工神经网络和智能检索。
9.什么是以符号处理为核心的方法?它有什么特征?
解:通过符号处理来模拟人类求解问题的心理过程。
特征:基于数学逻辑对知识进行表示和推理。
11.什么是以网络连接为主的连接机制方法?它有什么特征?
解:用硬件模拟人类神经网络,实现人类智能在机器上的模拟。
特征:研究神经网络。
1.请写出用一阶谓词逻辑表示法表示知识的步骤。
步骤:(1)定义谓词及个体,确定每个谓词及个体的确切含义;(2)根据所要表达的事物或概念,为每个谓词中的变元赋予特定的值;(3)根据所要表达的知识的语义用适当的联接符号将各个谓词联接起来,形成谓词公式。
2.设有下列语句,请用相应的谓词公式把它们表示出来:
(1)有的人喜欢梅花,有的人喜欢菊花,有的人既喜欢梅花又喜欢菊花。
解:定义谓词如下:
Like(x,y):x喜欢y。
Club(x):x是梅花。
Human(x):x是人。
Mum(x):x是菊花。
“有的人喜欢梅花”可表达为:(∃x)(Human(x)∧Like(x,Club(x)))
“有的人喜欢菊花”可表达为:(∃x)(Human(x)∧Like(x,Mum(x)))
“有的人既喜欢梅花又喜欢菊花”可表达为:(∃x)(Human(x)∧Like(x,Club(x))∧ Like(x,Mum(x))) (1)他每天下午都去玩足球。
解:定义谓词如下:
PlayFootball(x):x玩足球。
Day(x):x是某一天。
则语句可表达为:(∀x)(D(x)→PlayFootball(Ta))
(2)太原市的夏天既干燥又炎热。
解:定义谓词如下:
Summer(x):x的夏天。
Dry(x):x是干燥的。
Hot(x):x是炎热的。
则语句可表达为:Dry(Summer(Taiyuan))∧Hot(Summer(Taiyuan))
(3)所有人都有饭吃。
解:定义谓词如下:
Human(x):x是人。
Eat(x):x有饭吃。
则语句可表达为:(∀x)(Human(x)→Eat(x))
(4)喜欢玩篮球的人必喜欢玩排球。
解:定义谓词如下:
Like(x,y):x喜欢y。
Human(x):x是人。
则语句可表达为:(∀x)((Human(x)∧Like(x,basketball))→Like(x,volleyball))
(5)要想出国留学,必须通过外语考试。
解:定义谓词如下:
Abroad(x):x出国留学。
Pass(x):x通过外语考试。
则语句可表达为:Abroad(x)→Pass(x)
、
猴子问题:
2.7解:根据谓词知识表示的步骤求解问题如下:
解法一:
(1)本问题涉及的常量定义为:
猴子:Monkey,箱子:Box,香蕉:Banana,位置:a,b,c
(2)定义谓词如下:
SITE(x,y):表示x在y处;
HANG(x,y):表示x悬挂在y处;
ON(x,y):表示x站在y上;
HOLDS(y,w):表示y手里拿着w。
(3)根据问题的描述将问题的初始状态和目标状态分别用谓词公式表示如下:
问题的初始状态表示:
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)
解法二:
本问题涉及的常量定义为:
猴子:Monkey,箱子:Box,香蕉:Banana,位置:a,b,c
定义谓词如下:
SITE(x,y):表示x在y处;
ONBOX(x):表示x站在箱子顶上;
HOLDS(x):表示x摘到了香蕉。
(3)根据问题的描述将问题的初始状态和目标状态分别用谓词公式表示如下:
问题的初始状态表示:
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)
在执行某一操作前,先检查当前状态是否满足其前提条件。
若满足,则执行该操作。
否则,检查另一操作的条件是否被满足。
检查的方法就是当前的状态中是否蕴含了操作所要求的条件。
在定义了操作谓词后,就可以给出从初始状态到目标状态的求解过
程。
在求解过程中,当进行条件检查时,要进行适当的变量代换。
SITE(Monkey,a)
SITE(Box,c)
~ONBOX(Monkey)
~HOLDS(Monkey)
⇓goto(x,y),用a代x,用c代y
SITE(Monkey,c)
SITE(Box,c)
~ONBOX(Monkey)
~HOLDS(Monkey)
⇓ pushbox(x,y),用c代x,用b代y
SITE(Monkey,b)
SITE(Box,b)
~ONBOX(Monkey)
~HOLDS(Monkey)
⇓climbbox
SITE(Monkey,b)
SITE(Box,b)
ONBOX(Monkey)
~HOLDS(Monkey)
grasp
SITE(Monkey,b)
SITE(Box,b)
ONBOX(Monkey)
HOLDS(Monkey)
2.16. 用语义网络表示下列知识:
(1)所有的鸽子都是鸟;
(2)所有的鸽子都有翅膀;
(3)信鸽是一种鸽子,它有翅膀。
解:本题涉及对象有信鸽、鸽子和鸟。
鸽子和信鸽的属性是有翅膀。
鸽子和鸟是ISA关系,信鸽和鸽子是AKO关系。
根据分析得到本题的语义网络如下:
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) 把每次过河的一种安排作为一种操作,每次过河都必须有农夫,因为只有他可以划船。
解:第一步,定义问题的描述形式
用四元组S=(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样东西送到右岸(i=1表示狼,i=2表示羊,i=3表示菜,i=0表示船上除农夫外不载任何东西)。
由于农夫必须在船上,故对农夫的表示省略。
R (i)表示农夫从右岸将第i样东西带到左岸(i=1表示狼,i=2表示羊,i=3表示菜,i=0表示船上除农夫外不载任何东西)。
同样,对农夫的表示省略。
这样,所定义的算符组F 可以有以下8种算符:
L (0),L (1),L (2),L (3)
R(0),R(1),R (2),R (3)
第四步,根据上述定义的状态和操作进行求解。
该问题求解过程的状态空间图如下:
3.5什么是谓词公式?什么是谓词公式的解释?设D ={1,2},试给出谓词公式(∃x)(∀y)(P(x,y)→Q(x,y))的所有解释,并且对每一种解释指出该谓词公式的真值。
解:谓词公式是按照下述五个规则由原子公式、连接词、量词及圆括号所组成的字符串。
(1)原子谓词公式是合式公式。
(2)若A 是合式公式,则~A 也是合式公式。
(3)若A 和B 都是合式公式,则A ∧B 、A ∨B 、A →B 、A ↔B 也都是合式公式。
(4)若A 是合式公式,x 是任一个体变元,则(∀x)A 和(∃x)A 也都是合式公式。
(5)只有按(1) − (4)所得的公式才是合式公式。
谓词公式的解释:设D 为谓词公式P 的个体域,若对P 中的个体常量、函数和谓词按照如下规定赋值:(1)为每个个体常量指派D 中的一个元素;(2)为每个n 元函数指派一个从Dn 到D 的映射,其中Dn={(x1,x2,…,xn)| x1,x2,…,xn ∈D } (3)为每个n 元谓词指派一个从Dn 到{F ,T}的映射;则这些指派称为公式P 在D 上的解释。
下面给出本题的所有解释:
1. 对谓词指派的真值为:P(1,1)=T ,P(1,2)=F ,P(2,1)=T ,P(2,2)=F ,Q(1,1)=T ,Q(1,2)=F ,
Q(2,1)=T ,Q(2,2)=F ,在此解释下,x=1时,P(1,1)→Q(1,1)为T ,P(1,2)→Q(1,2)为T ;x=2
时,P(2,1)→Q(2,1)为T ,P(2,2)→Q(2,2)为T 。
所以在此解释下,本题谓词公式的真值为T 。
2. 对谓词指派的真值为:P(1,1)=T ,P(1,2)=F ,P(2,1)=F ,P(2,2)=T ,Q(1,1)=T ,Q(1,2)=F ,
Q(2,1)=T ,Q(2,2)=F ,在此解释下,x=1时,P(1,1)→Q(1,1)为T ,P(1,2)→Q(1,2)为T ;x=2
时,P(2,1)→Q(2,1)为T ,P(2,2)→Q(2,2)为F 。
所以在此解释下,本题谓词公式的真值为T 。
3. 对谓词指派的真值为:P(1,1)=F ,P(1,2)=T ,P(2,1)=T ,P(2,2)=F ,Q(1,1)=T ,Q(1,2)=F ,
Q(2,1)=T ,Q(2,2)=F ,在此解释下,x=1时,P(1,1)→Q(1,1)为T ,P(1,2)→Q(1,2)为F ;x=2
时,P(2,1)→Q(2,1)为T ,P(2,2)→Q(2,2)为T 。
所以在此解释下,本题谓词公式的真值为T 。
4. 对谓词指派的真值为:P(1,1)=F ,P(1,2)=T ,P(2,1)=F ,P(2,2)=T ,Q(1,1)=T ,Q(1,2)=F ,L(2) (0,1,0,1) (1,1,0,1) R(0) (0,0,0,1) L(1) (0,1,0,0) L(3) (1,0,1,1) R(2) (1,1,1,0) R(2) (0,0,1,0) L(3) L(2)
(1,0,1,0) R(0) (0,0,0,0) L(2)
Q(2,1)=T,Q(2,2)=F,在此解释下,x=1时,P(1,1)→Q(1,1)为T,P(1,2)→Q(1,2)为F;x=2
时,P(2,1)→Q(2,1)为T,P(2,2)→Q(2,2)为F。
所以在此解释下,本题谓词公式的真值为F。
5.对谓词指派的真值为:P(1,1)=T,P(1,2)=F,P(2,1)=T,P(2,2)=F,Q(1,1)=T,Q(1,2)=F,
Q(2,1)=F,Q(2,2)=T,在此解释下,x=1时,P(1,1)→Q(1,1)为T,P(1,2)→Q(1,2)为T;x=2
时,P(2,1)→Q(2,1)为F,P(2,2)→Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为T。
6.对谓词指派的真值为:P(1,1)=T,P(1,2)=F,P(2,1)=T,P(2,2)=F,Q(1,1)=F,Q(1,2)=T,
Q(2,1)=T,Q(2,2)=F,在此解释下,x=1时,P(1,1)→Q(1,1)为F,P(1,2)→Q(1,2)为T;x=2
时,P(2,1)→Q(2,1)为T,P(2,2)→Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为T。
7.对谓词指派的真值为:P(1,1)=T,P(1,2)=F,P(2,1)=T,P(2,2)=F,Q(1,1)=F,Q(1,2)=T,
Q(2,1)=F,Q(2,2)=T,在此解释下,x=1时,P(1,1)→Q(1,1)为F,P(1,2)→Q(1,2)为T;x=2
时,P(2,1)→Q(2,1)为F,P(2,2)→Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为F。
8.对谓词指派的真值为:P(1,1)=T,P(1,2)=F,P(2,1)=F,P(2,2)=T,Q(1,1)=T,Q(1,2)=F,
Q(2,1)=F,Q(2,2)=T,在此解释下,x=1时,P(1,1)→Q(1,1)为T,P(1,2)→Q(1,2)为T;x=2
时,P(2,1)→Q(2,1)为T,P(2,2)→Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为T。
9.对谓词指派的真值为:P(1,1)=T,P(1,2)=F,P(2,1)=F,P(2,2)=T,Q(1,1)=F,Q(1,2)=T,
Q(2,1)=T,Q(2,2)=F,在此解释下,x=1时,P(1,1)→Q(1,1)为F,P(1,2)→Q(1,2)为T;x=2
时,P(2,1)→Q(2,1)为T,P(2,2)→Q(2,2)为F。
所以在此解释下,本题谓词公式的真值为F。
10.对谓词指派的真值为:P(1,1)=T,P(1,2)=F,P(2,1)=F,P(2,2)=T,Q(1,1)=F,Q(1,2)=T,
Q(2,1)=F,Q(2,2)=T,在此解释下,x=1时,P(1,1)→Q(1,1)为F,P(1,2)→Q(1,2)为T;x=2
时,P(2,1)→Q(2,1)为T,P(2,2)→Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为T。
11.对谓词指派的真值为:P(1,1)=F,P(1,2)=T,P(2,1)=T,P(2,2)=F,Q(1,1)=T,Q(1,2)=F,
Q(2,1)=F,Q(2,2)=T,在此解释下,x=1时,P(1,1)→Q(1,1)为T,P(1,2)→Q(1,2)为F;x=2
时,P(2,1)→Q(2,1)为F,P(2,2)→Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为F。
12.对谓词指派的真值为:P(1,1)=F,P(1,2)=T,P(2,1)=T,P(2,2)=F,Q(1,1)=F,Q(1,2)=T,
Q(2,1)=T,Q(2,2)=F,在此解释下,x=1时,P(1,1)→Q(1,1)为T,P(1,2)→Q(1,2)为T;x=2
时,P(2,1)→Q(2,1)为T,P(2,2)→Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为T。
13.对谓词指派的真值为:P(1,1)=F,P(1,2)=T,P(2,1)=T,P(2,2)=F,Q(1,1)=F,Q(1,2)=T,
Q(2,1)=F,Q(2,2)=T,在此解释下,x=1时,P(1,1)→Q(1,1)为T,P(1,2)→Q(1,2)为T;x=2
时,P(2,1)→Q(2,1)为F,P(2,2)→Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为T。
14.对谓词指派的真值为:P(1,1)=F,P(1,2)=T,P(2,1)=F,P(2,2)=T,Q(1,1)=T,Q(1,2)=F,
Q(2,1)=F,Q(2,2)=T,在此解释下,x=1时,P(1,1)→Q(1,1)为T,P(1,2)→Q(1,2)为F;x=2
时,P(2,1)→Q(2,1)为T,P(2,2)→Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为T。
15.对谓词指派的真值为:P(1,1)=F,P(1,2)=T,P(2,1)=F,P(2,2)=T,Q(1,1)=F,Q(1,2)=T,
Q(2,1)=T,Q(2,2)=F,在此解释下,x=1时,P(1,1)→Q(1,1)为T,P(1,2)→Q(1,2)为T;x=2
时,P(2,1)→Q(2,1)为T,P(2,2)→Q(2,2)为F。
所以在此解释下,本题谓词公式的真值为F。
16.对谓词指派的真值为:P(1,1)=F,P(1,2)=T,P(2,1)=F,P(2,2)=T,Q(1,1)=F,Q(1,2)=T,
Q(2,1)=F,Q(2,2)=T,在此解释下,x=1时,P(1,1)→Q(1,1)为T,P(1,2)→Q(1,2)为T;x=2
时,P(2,1)→Q(2,1)为T,P(2,2)→Q(2,2)为T。
所以在此解释下,本题谓词公式的真值为T。
3.9判断以下公式对是否可合一;若可合一,则求出最一般的合一。
(1)P(a,b),P(x,y)
解:依据算法:
(1) 令W={P(a,b),P(x,y)}。
(2) 令σ0=ε,W0=W。
(3) W0未合一。
(4) 从左到右找不一致集,得D0={a,x}。
(5) 取x0=x,t0=a,则
σ1=σ0⋅{ t0/ x0}=σ0⋅{a/ x}={a/ x}
W1= W0σ1={P(a,b),P(a,y)}
(3’) W1未合一。
(4’) 从左到右找不一致集,得D1={b,y}。
(5’) 取x1=y,t1=b,则
σ2=σ1⋅{ t1/ x1}=σ1⋅{b/ y}={a/ x}⋅{b/ y}={a/x,b/y}
W2= W1σ2={P(a,b),P(a,b)}
(3’’) W2已合一,因为其中包含相同的表达式,这时σ2={a/x,b/y}即为所求的mgu。
(2)P(f(z)),b),P(y,x)
解:依据算法:
(1) 令W={P(f(z),b),P(y,x)}。
(2) 令σ0=ε,W0=W。
(3) W0未合一。
(4) 从左到右找不一致集,得D0={f(z),y}。
(5) 取x0=y,t0=f(z),则
σ1=σ0⋅{ t0/ x0}=σ0⋅{f(z)/ y}={f(z)/y}
W1= W0σ1={P(f(z),b),P(f(z),x)}
(3’) W1未合一。
(4’) 从左到右找不一致集,得D1={b,x}。
(5’) 取x1=x,t1=b,则
σ2=σ1⋅{ t1/ x1}=σ1⋅{b/ x}={ f(z)/ y}⋅{ b/ x}={f(z)/y,b/x}
W2= W1σ2={P(f(z),b),P(f(z),b)}
(3’’) W2已合一,因为其中包含相同的表达式,这时σ2={f(z)/y,b/x}即为所求的mgu。
(3)P(f(x),y),P(y,f(a))
解:依据算法:
(1) 令W={P(f(x),y),P(y,f(a))}。
(2) 令σ0=ε,W0=W。
(3) W0未合一。
(4) 从左到右找不一致集,得D0={f(x),y}。
(5) 取x0=y,t0=f(x),则
σ1=σ0⋅{ t0/ x0}=σ0⋅{f(x)/ y}={f(x)/y}
W1= W0σ1={P(f(x),f(x)),P(f(x),f(a))}
(3’) W1未合一。
(4’) 从左到右找不一致集,得D1={y,f(a)}。
(5’) 取x1=y,t1=f(a),则
σ2=σ1⋅{ t1/ x1}=σ1⋅{f(a)/ y}={ f(x)/ y}⋅{ f(a)/ y}={f(x)/y}
W2= W1σ2={P(f(x),f(x)),P(f(x),f(a))}
(6) 算法终止,W的mgu不存在。
(4)P(f(y),y,x),P(x,f(a),f(b))
解:依据算法:
(1) 令W={P(f(y),y,x),P(x,f(a),f(b))}。
(2) 令σ0=ε,W0=W。
(3) W0未合一。
(4) 从左到右找不一致集,得D0={f(y),x}。
(5) 取x0=x,t0=f(y),则
σ1=σ0⋅{ t0/ x0}=σ0⋅{f(y)/ x}={f(y)/x}
W1= W0σ1={P(f(y),y,f(y)),P(f(y),f(a),f(b))}
(3’) W1未合一。
(4’) 从左到右找不一致集,得D1={y,f(a)}。
(5’) 取x1=y,t1=f(a),则
σ2=σ1⋅{ t1/ x1}=σ1⋅{f(a)/ y}={ f(y)/ x}⋅{ f(a)/ y}={f(f(a))/x,f(a)/y}
W2= W1σ2={P(f(f(a)),f(a),f(f(a))),P(f(f(a)),f(a),f(b))}
(6) 算法终止,W的mgu不存在。
(5)P(x,y),P(y,x)
解:依据算法:
(1) 令W={P(x,y),P(y,x)}。
(2) 令σ0=ε,W0=W。
(3) W0未合一。
(4) 从左到右找不一致集,得D0={x,y}。
(5) 取x0=x,t0=y,则
σ1=σ0⋅{ t0/ x0}=σ0⋅{y/ x}={y/ x}
W1= W0σ1={P(y,y),P(y,y)}
(3’) W2已合一,因为其中包含相同的表达式,这时σ1={y/x}即为所求的mgu。
3.13把下列谓词公式分别化为相应的子句集:
(1)(∀z)(∀y)(P(z,y)∧Q(z,y))
解:所求子句集为S={P(z,y),(z,y)}
(2)(∀x)(∀y)(P(x,y)→Q(x,y))
解:原式⇒(∀x)(∀y)(~P(x,y)∨Q(x,y))
所求子句集为S={~P(x,y)∨Q(x,y)}
(3)(∀x)(∃y)(P(x,y)∨(Q(x,y)→R(x,y)))
解:原式⇒(∀x)(∃y)(P(x,y)∨(~Q(x,y)∨R(x,y)))
⇒(∀x)(P(x,f(x))∨(~Q(x,f(x))∨R(x,f(x))))
所求子句集为S={ P(x,f(x))∨(~Q(x,f(x))∨R(x,f(x)))}
(4)(∀x) (∀y) (∃z)(P(x,y)→Q(x,y)∨R(x,z))
解:原式⇒(∀x) (∀y) (∃z)(~P(x,y)∨Q(x,y)∨R(x,z))
⇒(∀x) (∀y) (~P(x,y)∨Q(x,y)∨R(x,f(x,y)))
所求子句集为S={~P(x,y)∨Q(x,y)∨R(x,f(x,y))}
(5)(∃x) (∃y) (∀z) (∃u) (∀v) (∃w)(P(x,y,z,u,v,w)∧(Q(x,y,z,u,v,w)∨~R(x,z,w)))
解:原式⇒(∃x) (∃y) (∀z) (∃u) (∀v) (P(x,y,z,u,v,f(z,v))∧(Q(x,y,z,u,v,f(z,v))∨~R(x,z,f(z,v))))
⇒(∃x) (∃y) (∀z)(∀v) (P(x,y,z,f(z),v,f(z,v))∧(Q(x,y,z,f(z),v,f(z,v))∨~R(x,z,f(z,v))))
⇒(∀z)(∀v) (P(a,b,z,f(z),v,f(z,v))∧(Q(a,b,z,f(z),v,f(z,v))∨~R(a,b,f(z,v)))) 所求子句集为S={ P(a,b,z,f(z),v,f(z,v)),Q(a,b,z,f(z),v,f(z,v))∨~R(a,b,f(z,v))}
3.14判断下列子句集中哪些是不可满足的:
(1)S={~P∨Q, ~Q,P, ~P }
解:使用归结推理:
(1) ~P∨Q (2) ~Q (3)P (4) ~P
(3)与(4)归结得到NIL,因此S是不可满足的。
(2)S={P∨Q, ~P∨Q,P∨~Q, ~P∨~Q }
解:使用归结推理:
(1) P∨Q (2) ~P∨Q (3) P∨~Q (4) ~P∨~Q
(1)与(2)归结得 (5)Q
(3)与(5)归结得 (6)P
(4)与(6)归结得 (7) ~Q
(5)与(7)归结得NIL,因此S是不可满足的。
(3)S={P(y)∨Q(y), ~P(f(x)) ∨R(a) }
解:使用归结推理:
设C1= P(y)∨Q(y),C2=~P(f(x)) ∨R(a),选L1= P(y),L2=~P(f(x)),则
L1与L2的mgu是σ={f(x)/y},C1 与C2的二元归结式C12=Q(f(x))∨R(a),因此S是可满足的。
(4)S={~P(x)∨Q(x), ~P(y)∨R(y),P(a), S(a), ~S(z)∨~R(z) }
解:使用归结推理:
(1) ~P(x)∨Q(x) (2) ~P(y)∨R(y) (3) P(a) (4) S(a) (5) ~S(z)∨~R(z)
(2)与(3)归结得到 (6)R(a)
(4)与(5)归结得到 (7) ~R(a)
(6)与(7)归结得到NIL,因此S是不可满足的。
(5)S={~P(x)∨~Q(y) ∨~L(x,y), P(a), ~R(z) ∨ L(a,z) ,R(b),Q(b) }
解:使用归结推理:
(1) ~P(x)∨~Q(y) ∨~L(x,y) (2) P(a) (3) ~R(z) ∨ L(a,z) (4) R(b) (5) Q(b) (1)与(2)归结得到 (6) ~Q(y) ∨~L(a,y)
(5)与(6)归结得到 (7) ~L(a,b)
(3)与(4)归结得到 (8) L(a,b)
(7)与(8)归结得到NIL,因此S是不可满足的。
(6)S={~P(x)∨Q(f(x),a), ~P(h(y))∨Q(f(h(y)),a) ∨~P(z) }
解:使用归结推理:
令C1= ~P(x)∨Q(f(x),a),C2= ~P(h(y))∨Q(f(h(y)),a) ∨~P(z) 则
C2内部的mgu是σ={h(y)/z},合一后C2’=~P(h(y))∨Q(f(h(y)),a)
选L1=~P(x),L2=~P(h(y)) 则
L1与L2的mgu是σ={h(y)/x},
C1 与C2’的二元归结式C12=~P(h(y))∨Q(f(h(y)),a),因此S是可满足的。
(7)S={P(x)∨ Q(x) ∨ R(x), ~P(y) ∨ R(y) , ~Q(a), ~R(b) }
解:使用归结推理:
(1) P(x)∨ Q(x) ∨ R(x) (2) ~P(y) ∨ R(y) (3) ~Q(a) (4) ~R(b)
(1)与(3)归结得到 (5) P(a) ∨ R(a)
(2)与(4)归结得到 (6) ~P(b)
(5)与(6)归结得到 (7) R(b)
(4)与(7)归结得到NIL,因此S是不可满足的。
(8)S={P(x)∨Q(x), ~Q(y)∨R(y), ~P(z)∨Q(z) , ~R(u)}
解:使用归结推理:
(1) P(x)∨Q(x) (2) ~Q(y)∨R(y) (3) ~P(z)∨Q(z) (4) ~R(u)
(2)与(4)归结得到 (5) Q(u)
(1)与(5)归结得到 (6) P(u)
(3)与(6)归结得到 (7)Q(u)
(5)与(7)归结得到NIL,因此S是不可满足的。
4.5类似:设有如下一组推理规则:
r1: IF E1 THEN E2 (0.6)
r2: IF E2 AND E3 THEN E4 (0.7)
r3: IF E4 THEN H (0.8)
r4: IF E5 THEN H (0.9)
且已知CF(E1)=0.5, CF(E3)=0.6, CF(E5)=0.7。
求CF(H)=?
解:(1) 先由r1求CF(E2)
CF(E2)=0.6 × max{0,CF(E1)}
=0.6 × max{0,0.5}=0.3
(2) 再由r2求CF(E4)
CF(E4)=0.7 × max{0, min{CF(E2 ), CF(E3 )}}
=0.7 × max{0, min{0.3, 0.6}}=0.21
(3) 再由r3求CF1(H)
CF1(H)= 0.8 × max{0,CF(E4)}
=0.8 × max{0, 0.21)}=0.168
(4) 再由r4求CF2(H)
CF2(H)= 0.9 ×max{0,CF(E5)}
=0.9 ×max{0, 0.7)}=0.63
(5) 最后对CF1(H )和CF2(H)进行合成,求出CF(H)
CF(H)= CF1(H)+CF2(H)+ CF1(H) × CF2(H)
=0.692
4.9设有如下推理规则
r1: IF E1 THEN (2, 0.00001) H1
r2: IF E2 THEN (100, 0.0001) H1
r3: IF E3 THEN (200, 0.001) H2
r4: IF H1 THEN (50, 0.1) H2
且已知P(E1)= P(E2)= P(H3)=0.6, P(H1)=0.091, P(H2)=0.01, 又由用户告知:
P(E1| S1)=0.84, P(E2|S2)=0.68, P(E3|S3)=0.36
请用主观Bayes方法求P(H2|S1, S2, S3)=?
解:(1) 由r1计算O(H1| S1)
先把H1的先验概率更新为在E1下的后验概率P(H1| E1)
P(H1| E1)=(LS1× P(H1)) / ((LS1-1) × P(H1)+1)
=(2 × 0.091) / ((2 -1) × 0.091 +1)
=0.16682
由于P(E1|S1)=0.84 > P(E1),使用P(H | S)公式的后半部分,得到在当前观察S1下的后验概率P(H1| S1)和后验几率O(H1| S1)
P(H1| S1) = P(H1) + ((P(H1| E1) –P(H1)) / (1 - P(E1))) ×(P(E1| S1) –P(E1)) = 0.091 + (0.16682 –0.091) / (1 – 0.6)) × (0.84 – 0.6)
=0.091 + 0.18955 × 0.24 = 0.136492
O(H1| S1) = P(H1| S1) / (1 - P(H1| S1))
= 0.15807
(2) 由r2计算O(H1| S2)
先把H1的先验概率更新为在E2下的后验概率P(H1| E2)
P(H1| E2)=(LS2× P(H1)) / ((LS2-1) × P(H1)+1)
=(100 × 0.091) / ((100 -1) × 0.091 +1)
=0.90918
由于P(E2|S2)=0.68 > P(E2),使用P(H | S)公式的后半部分,得到在当前观察S2下的后验概率P(H1| S2)和后验几率O(H1| S2)
P(H1| S2) = P(H1) + ((P(H1| E2) –P(H1)) / (1 - P(E2))) ×(P(E2| S2) –P(E2)) = 0.091 + (0.90918 –0.091) / (1 – 0.6)) × (0.68 – 0.6)
=0.25464
O(H1| S2) = P(H1| S2) / (1 - P(H1| S2))
=0.34163
(3) 计算O(H1| S1,S2)和P(H1| S1,S2)
先将H1的先验概率转换为先验几率
O(H1) = P(H1) / (1 - P(H1)) = 0.091/(1-0.091)=0.10011
再根据合成公式计算H1的后验几率
O(H1| S1,S2)= (O(H1| S1) / O(H1)) × (O(H1| S2) / O(H1)) × O(H1)
= (0.15807 / 0.10011) × (0.34163) / 0.10011) × 0.10011
= 0.53942
再将该后验几率转换为后验概率
P(H1| S1,S2) = O(H1| S1,S2) / (1+ O(H1| S1,S2))
= 0.35040
(4) 由r3计算O(H2| S3)
先把H2的先验概率更新为在E3下的后验概率P(H2| E3)
P(H2| E3)=(LS3× P(H2)) / ((LS3-1) × P(H2)+1)
=(200 × 0.01) / ((200 -1) × 0.01 +1)
=0.09569
由于P(E3|S3)=0.36 < P(E3),使用P(H | S)公式的前半部分,得到在当前观察S3下的后验概率P(H2| S3)和后验几率O(H2| S3)
P(H2| S3) = P(H2 | ¬ E3) + (P(H2) – P(H2| ¬E3)) / P(E3)) × P(E3| S3) 由当E3肯定不存在时有
P(H2 | ¬ E3) = LN3× P(H2) / ((LN3-1) × P(H2) +1)
= 0.001 × 0.01 / ((0.001 - 1) × 0.01 + 1)
= 0.00001
因此有
P(H2| S3) = P(H2 | ¬ E3) + (P(H2) – P(H2| ¬E3)) / P(E3)) × P(E3| S3)
=0.00001+((0.01-0.00001) / 0.6) × 0.36
=0.00600
O(H2| S3) = P(H2| S3) / (1 - P(H2| S3))
=0.00604
(5) 由r4计算O(H2| H1)
先把H2的先验概率更新为在H1下的后验概率P(H2| H1)
P(H2| H1)=(LS4× P(H2)) / ((LS4-1) × P(H2)+1)
=(50 × 0.01) / ((50 -1) × 0.01 +1)
=0.33557
由于P(H1| S1,S2)=0.35040 > P(H1),使用P(H | S)公式的后半部分,得到在当前观察S1,S2下H2的后验概率P(H2| S1,S2)和后验几率O(H2| S1,S2)
P(H2| S1,S2) = P(H2) + ((P(H2| H1) – P(H2)) / (1 - P(H1))) × (P(H1| S1,S2) –P(H1))
= 0.01 + (0.33557 –0.01) / (1 – 0.091)) × (0.35040 – 0.091) =0.10291
O(H2| S1,S2) = P(H2| S1, S2) / (1 - P(H2| S1, S2))
=0.10291/ (1 - 0.10291) = 0.11472
(6) 计算O(H2| S1,S2,S3)和P(H2| S1,S2,S3)
先将H2的先验概率转换为先验几率
O(H2) = P(H2) / (1 - P(H2) )= 0.01 / (1-0.01)=0.01010
再根据合成公式计算H1的后验几率
O(H2| S1,S2,S3)= (O(H2| S1,S2) / O(H2)) × (O(H2| S3) / O(H2)) ×O(H2)
= (0.11472 / 0.01010) × (0.00604) / 0.01010) × 0.01010
=0.06832
再将该后验几率转换为后验概率
P(H2| S1,S2,S3) = O(H1| S1,S2,S3) / (1+ O(H1| S1,S2,S3))
= 0.06832 / (1+ 0.06832) = 0.06395
可见,H2原来的概率是0.01,经过上述推理后得到的后验概率是0.06395,它相当于先验概率的6倍多。
4.10设有如下推理规则
r1: IF E1 THEN (100, 0.1) H1
r2: IF E2 THEN (50, 0.5) H2
r3: IF E3 THEN (5, 0.05) H3
且已知P(H1)=0.02, P(H2)=0.2, P(H3)=0.4,请计算当证据E1,E2,E3存在或不存在时P(H i| E i)或P(H i |﹁E i)的值各是多少(i=1, 2, 3)?
解:(1) 当E1、E2、E3肯定存在时,根据r1、r2、r3有
P(H1 | E1) = (LS1× P(H1)) / ((LS1-1) × P(H1)+1)
= (100 × 0.02) / ((100 -1) × 0.02 +1)
=0.671
P(H2 | E2) = (LS2× P(H2)) / ((LS2-1) × P(H2)+1)
= (50 × 0.2) / ((50 -1) × 0.2 +1)
=0.9921
P(H3 | E3) = (LS3× P(H3)) / ((LS3-1) × P(H3)+1)
= (5 × 0.4) / ((5 -1) × 0.4 +1)
=0.769
(2) 当E1、E2、E3肯定存在时,根据r1、r2、r3有
P(H1 | ¬E1) = (LN1× P(H1)) / ((LN1-1) × P(H1)+1)
= (0.1 × 0.02) / ((0.1 -1) × 0.02 +1)
=0.002
P(H2 | ¬E2) = (LN2× P(H2)) / ((LN2-1) × P(H2)+1)
= (0.5 × 0.2) / ((0.5 -1) × 0.2 +1)
=0.111
P(H3 | ¬E3) = (LN3× P(H3)) / ((LN3-1) × P(H3)+1)
= (0.05 × 0.4) / ((0.05 -1) × 0.4 +1)
=0.032
A*算法:
修道士和野人问题。
解:用m表示左岸的修道士人数,c表示左岸的野人数,b表示左岸的船数,用三元组(m, c, b)表示问题的状态。
对A*算法,首先需要确定估价函数。
设g(n)=d(n),h(n)=m+c-2b,则有
f(n)=g(n)+h(n)=d(n)+m+c-2b
其中,d(n)为节点的深度。
通过分析可知h(n)≤h*(n),满足A*算法的限制条件。
M-C问题的搜索过程如下图所示。