1 / 2
文档名称:

猴子摘香蕉.docx

格式:docx   大小:10KB   页数:2页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

猴子摘香蕉.docx

上传人:xiaobaizhua 2022/5/6 文件大小:10 KB

下载得到文件列表

猴子摘香蕉.docx

文档介绍

文档介绍:: .
猴子摘香蕉
1. 实验分析定义描述环境状态的谓词。
Monkey(a):猴子在a点,本题中取: .
猴子摘香蕉
1. 实验分析定义描述环境状态的谓词。
Monkey(a):猴子在a点,本题中取a,b,c。
Hold(x,t):x手中拿着toOnbox(a):a在box上。
Box(a):box在a点oBanana(a):banana在a点。
2. 使用谓词、连结词、量词来表示环境状态。
问题的初始状态可表示为:
So:Monkey(a)?Box(c)?Banana(b)要达到的目标状态为:
S:Monkey(b)?Box(b)?Onbox(monkey)?Hold(monkey,banana)谓词:
goto(a,b):猴子从a走到b处。
push(a,b):猴子把b推到a处。
climb(a):猴子爬上a。
reach(a):猴子去拿a。
猴子的路线是:
goto(a,c)Tpush(c,box)Tclimb(box)—reach(banana)
在上述过程中,我们应该注意,当猴子执行某一个操作之前,需要检查当前状态是否可使所要求的条件得到满足,即证明当前状态是否蕴涵操作所要求的状态的过程。在行动过程中,检查条件的满足性后才进行变量的代换。代入新条件后的新状态如果是目标状态,则问题解决;否则看是否满足下面的操作,如果不满足或即使满足却又回到了原来的状态,那么代入无效。
源代码
#include<>structState{
intmonkey;/*0:MonkeyatA;1:MonkeyatB;2:MonkeyatC;*/
intbox;/*0:boxatA;1:boxatB;2:boxatC;*/
intmonbox;/*1:monkeyonthebox;0:monkeyarenotonthebox;*/};char*routesave[10];voidnextStep(structStateStates,inti){
if(==){if(==1){if(==1){printf("you'vegottheresult:\n");rou