失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 用python语言实现人工智能猴子摘香蕉的问题_人工智能 猴子香蕉问题

用python语言实现人工智能猴子摘香蕉的问题_人工智能 猴子香蕉问题

时间:2020-04-25 03:08:07

相关推荐

用python语言实现人工智能猴子摘香蕉的问题_人工智能 猴子香蕉问题

1

1.

问题描述

在一个房间内有一只猴子(可把这只猴子看做一个机器人)

、一个箱子和一束香蕉。

香蕉挂在天花板下方,但猴子的高度不足以碰到它。那么这只猴子怎样才能摘到香蕉呢?

1

表示出猴子、香蕉和箱子在房间内的相对位置。用四元表列(

W,x,Y

,z

)来表示这个问

题的状态。

其中,

W

-猴子的水平位置

x

-当猴子在箱子顶上时取

x=1

;否则取

x=0

Y

-箱子的水平位置

z

-当猴子摘到香蕉时取

z=1

;否则取

z=0

这个问题中的操作(算符)如下:

1

goto(U)

猴子走到水平位置

U

,表示为

Goto(U)

(W

0

Y

z)-------------->(U

0

Y

z)

即把状态

(W

0

Y

z)

变换为状态

(U

0

Y

z)

2

pushbox(V)

猴子把箱子推到水平位置

V

,即有

Pushbox(V)

(W

0

W

z)---------------->(V

0

V

z)

条件:猴子与箱子必须在同一位置上,并且,猴子不是在箱子顶上。

应当注意的是,要应用算符

pushbox

(

V

)

,就要求

产生式规则的左边,猴子与箱子必

须在同一位置上,并且,

猴子不是在箱子顶上。这种强加于操作的适用性条件,叫做产生式

规则的先决条件

3

climbbox

猴子爬上箱顶,即有

Climbbox

(W

0

W

z)------------------>(W

1

W

z)

条件:猴子和箱子应当在同一位置上,而且猴子不在箱顶上。

4

grasp

猴子摘到香蕉,即有

Grasp

(c

1

c

0)------------------->(c

1

c

1)

条件:猴子和箱子都在位置

c

上,并且猴子已在箱子顶上。

求解过程

令初始状态为

(a,0,b,0)

。这时,

goto(U)

是唯一适用的操作,并导致下一状

(U

0

b,0)

。现在有

3

个适用的操作,即

goto(U)

pushbox(V)

climbbox(

U=b)

c

goto(b),pushbox(c),climbbox,grasp

应当说明的是,在这种情况下,算符(操作)的适用性及作用均由产生式规则表示。例

如,对于规则(

2

)

,只有当算符

pushbox(V)

的先决条件,即猴子与箱子在同一位置上而且

猴子不在箱顶上这些条件得到满足时,算符

pushbox(V)

才是适用的。这一操作算符的

作用

是猴子把箱子推到位置v。

在这一表示中,

目标状态的集合可由任何最后元素为

1

的表列来

描述。

2.

源代码

如果觉得《用python语言实现人工智能猴子摘香蕉的问题_人工智能 猴子香蕉问题》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。