猴子拿香蕉逻辑谓词

时间:2023-01-01 10:24:37 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
房内有一只猴子、一个箱子,天花板上挂了一串香蕉,其位置关系如图所示,猴子为了拿到香蕉,它必须把箱子推到香蕉下面,然后再爬到箱子上。请定义必要的谓词,写出问题的初始状态(即图示的状态)、目标状态(猴子拿到了香蕉,站在箱子上,箱子位于位置b



定义谓词

AT(x,y) xy位置上 BOX(y) 箱子在y的位置。 OVERx x被挂在天花板上 EMPTY(x) x手中是空的 HOLD(x, z) x拿着z

ON (x,w) xw的上面 NOT_on (x,w) xw的上面 BAN(y) 香蕉在y的位置 猴子的位置为: a 香蕉位置为:b

箱子的位置为:c 问题的初始状态:

AT(monkey, a)BOX(c) BAN(b) OVERbEMPTY(monkey)NOT_on (monkey, box)

问题的目标状态是:

AT(monkey, b)BOX(b)BAN(b)HOLD(monkey, banana)ONmonkey, box) 操作:

GOTO(x, y) x处走到y处。

PUSH(x, y) 把箱子从x处推倒y处。 CLIMB(x) x处爬上箱子。 GET(x) x处得到香蕉。 操作对应的条件与动作如下: GOTO(x, y)

条件:AT(monkey, x)NOT_on (monkey, box) 动作:删除:AT(monkey, x) 添加:AT(monkey, y) PUSH(x, y)

条件:AT(monkey, x)BOX(x)NOT_on (monkey, box)


动作:删除:AT(monkey, x)BOX(x) 添加:AT(monkey, y)BOX(y) CLIMB(x)

条件:AT(monkey, x)BOX(x) NOT_on (monkey, box) 动作:删除:NOT_on (monkey, box) 添加:ON (monkey, box) GET(x)

条件:AT(monkey, x)BOX(x)ON (monkey, box) 动作:删除:EMPTY(monkey)

添加:HOLD(monkey, banana)


本文来源:https://www.wddqw.com/doc/444576717175a417866fb84ae45c3b3567ecdd81.html