人工智能 猴子摘香蕉问题

1.定义描述环境状态的谓词。
AT(x,w):x在w处,个体域: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};
BOX(u):u是箱子,个体域:u {box};
BANANA(v):v是香蕉,个体域:v {banana};
2.初始状态
AT(monkey,a):猴子在a处
EMPTY(monkey):猴子手中是空的
ON(box,b):箱子在b处
ON(banana,c):香蕉在c处
BOX(box)
BANANA(banana)
问题的终止状态
AT(monkey,box) HOLD(monkey,banana) ON(box,c)
BOX(box) BANANA(banana)
3.动作。
WALK(m,n):猴子从m走到n处,个体域:m,n {a,b,c};
CARRY(s,r):猴子在r处拿到s,个体域:r {c},s {box,banana};
CLIMB(u,b):猴子在b处爬上u;
操作
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)^ON(s,r),增加HOLD(monkey,s)
CLIMB(u,b):猴子在b处爬上u
条件:AT(monkey,b) HOLD(monkey,u) BOX(box) BANANA(banana)
动作:删除AT(monkey,b)HOLD(monkey)CLEAR©,增加AT(monkey)EMPTY(monkey)ON(u,c)
4.按照行动计划, 一步步进行状态替换, 直至目标状态
AT(monkey,a) EMPTY(monkey) ON(box,b) ON(banana,c)BOX(box) BANANA(banana)猴子在a处,没香蕉,盒在b,香蕉在c
AT(monkey,b) EMPTY(monkey) ON(box,b) ON(banana,c) BOX(box) BANANA(banana) 猴子到b,没香蕉 ,盒在b,香蕉在c
AT(monkey,b) HOLD(monkey,box) ON(banana,c) BOX(box) BANANA(banana) 猴子在b,猴拿盒子,香蕉在c
AT(monkey,c) HOLD(monkey,box) ON(banana,c) BOX(box) BANANA(banana) 猴拿盒到c,香蕉在c
AT(monkey,box) EMPTY(monkey) ON(box,c) ON(banana,c) BOX(box) BANANA(banana),猴站盒,没拿香蕉,盒在c,香蕉在c处
AT(monkey,box) HOLD(monkey,banana) ON(box,c) BOX(box) BANANA(banana)猴站盒,拿到香蕉,盒子在c(目标得解)
猴子行动的规则序列是:WALK(a,b)→CARRY(b,box)→WALK(b,c)→CLIMB(box,c)→CARRY(banana,c)

你可能感兴趣的