用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语言实现人工智能猴子摘香蕉的问题_人工智能 猴子香蕉问题相关推荐
- c语言编程物理实验,大学物理实验报告大全C语言编程在大学物理实验中处理数据的研究...
大学物理实验报告大全C语言编程在大学物理实验中处理数据的研究 摘要 用C语言编程的方法处理比较复杂的实验数据,简捷准确且避免了传统方法的弊端,与用Excel处理数据的方法相比,其结果更符合误差理论. ...
- 用python语言实现人工智能猴子摘香蕉的问题_人工智能实验报告大全:猴子摘香蕉问题的VC编程实现等八次.docx...
人工智能课内实验报告(8次)学 院: 自动化学院 班 级: 智能1501 姓 名: 刘少鹏(34) 学 号: 目 录课内实验1:猴子摘香蕉问题的VC编程实现--------1课内实验2:编程实现简单动 ...
- 用python语言实现人工智能猴子摘香蕉的问题_人工智能实验报告大全:猴子摘香蕉问题的VC编程实现等八次 -...
人工智能课内实验报告 (8次) 学 院:自动化学院 班 级: 智能1501 姓 名: 刘少鹏(34) 学 号:06153034 目 录 课内实验1:猴子摘香蕉问题的VC编程实现????????1 课内 ...
- python语言在命名上是什么敏感的_一文轻松掌握python语言命名规范规则
和C/C++.Java等语言一样,python在命名上也有一套约定俗成的规则,符合规范的命名可以让程序的可读性大大增加,从而使得代码的逻辑性增强,易于自己和其他协作者在以后的拓展中理解代码的意义,从而 ...
- python语言中不属于组合数据类型的是_下列不属于组合数据类型的是()。
[判断题]Francewas the first country to begin a railway tunnel project, along the Vienna-Trieste line. [ ...
- 下列关于python语言中缩进的说法正确的是_关于Python程序中与“缩进”有关的说法中,以下选项中正确的是 _________ 。_学小易找答案...
[单选题]表达式 'x' or 'y' or [] 的返回值为______. [判断题]( )中国与金砖国家贸易互补性强. [判断题]( ).中国是世界上最大的纺织品生产国和出口国,约占世界纺织品贸易 ...
- python语言的计算生态规模有多大_【单选题】Python 语言的一个重要特点是它有较多的计算生态,简单理解为第三方提供的可用编程模块 / 函数库 / 组件,这个规模有多大?...
[单选题]Python 语言的一个重要特点是它有较多的计算生态,简单理解为第三方提供的可用编程模块 / 函数库 / 组件,这个规模有多大? 更多相关问题 [问答题,简答题] 顾客关系管理系统如何给企业 ...
- 关于python语言的注释以下描述错误的是_关于 Python 注释,以下选项中描述错误的是 ( )_学小易找答案...
[单选题]关于 Python 程序格式框架的描述,以下选项中错误的是 ( ) [简答题]2014年22JAVA_B场参考答案.doc [简答题]Java2006试卷.doc 1.请提供每题的详细分析; ...
- python人工智能课程对孩子的好处_人工智能课堂给中学生带来了什么好处
当人工智能课走进中学课堂,对中学课堂带来的影响有哪些,中学生做好应对人工智能课堂的准备了吗? 广东最顶尖的中学正在为应对人工智能时代的来临做好准备.昨日,记者从华南师范大学附属中学了解到,该校面向奥班 ...
- 《Java语言程序设计——坦克大战单机游戏》源码以及实验报告
一.引言 游戏本身是一种娱乐方式,带给人无尽的乐趣,而且游戏行业的发展前景也将会是是带动周边相关行业的发展.为了去满足不同的游戏爱好者的要求,对做游戏开发的人的要求也会越来越高.本次Java语言程序设 ...
最新文章
- css里dom宽度,2019-08-23 DOM中各种高度、宽度
- Boost:加载评估WebSocket服务器的性能测试程序
- 几本推荐的Java书
- php中empty(), is_null(), isset()函数区别
- JEPaas代码_((列表)输入字段值而计算
- php中时间轴开发,即显示为“刚刚”、“5分钟前”、“昨天10:23”等
- 1.[数据结构和算法分析笔记]数组
- 彻底理解position与anchorPoint - Wonderffee's Blog(转)
- 用户空间缺页异常pte_handle_fault()分析--(上)【转】
- 数学分析:Taylor多项式
- 在Mac上更安全的搜索和下载BT
- 知识点四 图论:dijkstra (HDU 2544 +HDU 1874)
- 随机过程之一——关于条件数学期望
- js实现flappybird解析
- SPA、MPA 的优缺点
- 2020.08.11 【ABAP随笔】-ITS Mobile 配置
- 学习总结和方法经验一
- 使用谷歌浏览器控制台提示[DOM] Password field is not contained in a form:
- python-cmd安装环境
- 反向交易: 减少最大回撤以及在其它市场上测试
热门文章
- 遥感辐射亮度单位转换
- 电商宝:做最懂电商卖家的财务管理“小秘书”
- 计算机中计算平均数的函数是什么,Excel里怎么求平均数的?函数是什么?!excle2010怎么求平均数...
- 工控机上位机软件的开发历程(四)
- 248 中心对称数 III
- 微型计算机步进电机控制,使用微机对步进电机进行控制方式主要有两种
- canal 记录 ROWDATA TRANSACTIONBEGIN
- 计算机打印机删除文件,怎么取消打印机文档|打印机任务无法删除解决方法
- 如何让小孩练得一手好字?这5个小方法,家长不妨试试
- 字段名的映射的三种方式