猴子摘香蕉实验报告(含代码).doc华彳科技火修
《人工碧炀与模式彼纳》
卖
验
报
告
院 系:电子与信息工程系
班 级:
姓 名:
同组人:
指导老师:
电 话:
邮 箱:
日 期:2013年12月24日
—、实验内容
利用一阶谓词逻辑求解猴子摘香蕉问题:房内有一个猴子,一个箱子,天花板上挂了一 串香蕉,其位置如图所示,猴子为了拿到香蕉,它必须把箱子搬到香蕉下面,然后再爬到箱 子上。请定义必要的谓词,列出问题的初始化状态(即下图所示状态),目标状态(猴子拿 到了香蕉,站在箱子上,箱子位于位置b)。(附加:从初始状态到目标状态的谓词演算过程。)
二、 实验平台
三、 实验分析
定义描述环境状态的谓词。
AT(x,w): x 在 t 处,个体域:x {monkey}, w {a,b,c,box};
HOLD(x,t): x 手中拿着 t,个体域:t (box,banana};
EMPTY(x): x手中是空的;
ON(t,y): t 在 y 处,个体域:y {b,c,ceiling};
CLEAR(y): y上是空的;
BOX(u): u是箱子,个体域:u {box};
BANANA(v): v 是香蕉,个体域:v {banana};
使用谓词、连结词、量词来表示环境状态。
问题的初始状态可表示为:
So
AT(monkey,a) EMPTY (monkey) ON(box,c) ON(banana,ceiling) CLEAR(b) BOX(box)
BANANA(banana)
要达到的目标状态为:
Sg: AT (monkey,box) HOLD(monkey,banana) ON(box,b) CLEAR(ceiling) CLEAR(c)
BOX(box) □ BANANA(banana)
从初始状态到目标状态的转化,猴子需要完成一系列操作,定义操作类谓词表示其动 作。
WALK(m,n):猴子从m走到n处,个体域:m,n {a,b,c};
CARRY(s,r):猴子在 1•处拿到 s,个体域:r {c,ceiling}, s {box,banana};
CLIMB(u,b):猴子在b处爬上u;
这3个操作也可分别用条件和动作来表示。条件直接用谓词公式表示,是为完成相应操 作所必须具备的条件;当条件中的事实使其均为真时,则可激活操作规则,于是可执行该规 则中的动作部分。动作通过前后状态的变化表示,即通过从动作前删除或增加谓词公式来描 述动作后的状态。
WALK(m,n):猴子从m走到n处
条件:AT(monkey,m)
一 「删除:AT (monkey, m)
动作:〈、
增加:AT (monkey,n)
CARRY(s,r):猴子在r处拿到s
条件:AT(monkey,r) EMPTY (monkey) ON(s,r) BOX(box) BANANA(banana)
「删除:EMPTY (monkey) a ON(s. r)
动作:〈
增加:HOLD(monkey, s) a CLEARS
CLIMB(u,b):猴子在b处爬上u
条件:AT(monkey,b) HOLD(monkey,u) CLEAR(b) BOX(box) BANANA(banana)
一 〃 「删除:AT (monkey,b) a HOLD(jnonkey, u) a CLEAR(c) 动作:〈u ,
增加:AT (monkey EM PTY (monkey) a ON Qi, c)
按照行动计划,一步步进行状态替换,直至目标状态。
AT(monkey,a) EMPTY (monkey) ON(box,c) ON(banana,ceiling) CLEAR(b) BOX(box)
BANANA(banana)
U WALK (q, c)用q代换用c代换〃
AT(monkey,c) EMPTY (monkey) ON(box,c) ON (banana,ceiling) CLEAR(b) BOX(box)
BANANA(banana)
U CARRY(c,box)用c代换s,用%x代换,
AT(monkey,c) HOLD(monkey,box) ON(banana,ceiling) CLEAR(b) CLEAR(c) BOX(box)
BANANA(banana)
^WALK(c,b)用c代换用时弋换如
AT(monkey,b) HOLD(monkey,box) ON(banana,ceiling) CLEAR(b) CLEAR(c) BOX(box)
BANANA(banana)
U CLIMB(box
猴子摘香蕉实验报告(含代码) 来自淘豆网m.daumloan.com转载请标明出处.