用状态空间法求猴子香蕉问题_猴子摘香蕉状态空间图

用状态空间法求猴子香蕉问题_猴子摘香蕉状态空间图猴子和香蕉问题(monkeyandbananaproblem)在一个房间内有一只猴子(可把这只猴子看做一个机器人)、一个箱子和一束香蕉。香蕉挂在天花板下方,但猴子的高度不足以碰到它。那么这只猴子怎样才能摘到香蕉呢?图2.1.1表示出猴子、香蕉和箱子在房间内的相对位置。用一个四元表列(W,x,Y,z)来表示这个问题的状态,其中W-猴子的水平位置x-当猴子在箱子顶上时取x=1;否则取x=0Y-箱…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

猴子和香蕉问题(monkey and banana problem)

在一个房间内有一只猴子(可把这只猴子看做一个机器人)、一个箱子和一束香蕉。香蕉挂在天花板下方,但猴子的高度不足以碰到它。那么这只猴子怎样才能摘到香蕉呢?图2.1.1

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

表列(W,x,Y,z)来表示这个问题的状态,

其中

W-猴子的水平位置

x-当猴子在箱子顶上时取x=1;否则取x=0

Y-箱子的水平位置

z-当猴子摘到香蕉时取z=1;否则取z=0

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

(1) goto(U)猴子走到水平位置U,或者用产生式规则表示为

(W,0,Y,z) (U ,0 ,Y ,z )(2.3)

即应用操作goto(U),能把状态(W,0,Y,z)变换为状态(U,0,Y,z)。

(2) pushbox(V)猴子把箱子推到水平位置V,即有

(W,0,W,z)(V ,0 ,V ,z )(2.4)

应当注意的是,要应用算符 pushbox(V),就要求

产生式规则的左边,猴子与箱子必须在同一位置上,并且,猴子不是在箱子顶上。这种强加于操作的适用性条件,叫做产生式规则的先决条件。

(3)climbbox猴子爬上箱顶,即有

(W,0,W,z)(W,1,W,z)   (2.5)

在应用算符climbbox

时也必须注意到,猴子和箱子应当在同一位置上,而且猴子不在箱顶上。

(4) grasp猴子摘到香蕉,即有

(c,1,c,0) (c,1,c,1)   (2.6)

其中,c是香蕉正下方的地板位置,在应用算符grasp时,要求猴子和箱子都在位置c上,并且猴子已在箱子顶上。

应当说明的是,在这种情况下,算符(操作)的适用性及作用均由产生式规则表示。例如,对于规则(2),只有当算符pushbox(V)的先决条件,即猴子与箱子在同一位置上而且猴子不在箱顶上这些条件得到满足时,算符pushbox(V)才是适用的。这一操作算符的

作用是猴子把箱子推到位置v。在这一表示中,目标状态的集合可由任何最后元素为1的表列来描述。

令初始状态

为(a,0,b,0)。这时,goto(U)是唯一适用的操作,并导致

下一状态(U,0,b,0)。现在有3个适用的操作,即goto(U),pushbox(V)和climbbox(若U=b)。

把所有适用的 操作继续应用于每个状态,我们

就能够得到状态空间图,如图图2-1-2所示。从图图2-1-2不难看出,把该初始状态变换为目标状态的操作序列为

猴子与香蕉的问题

状态空间表示

用四元组(W,x,y,z)其中:W-猴子的水平位置;x-当猴子在箱子顶上时取x=1;否则取x=0;Y-箱子的水平位置;z-当猴子摘到香蕉时取z=1;否则取z=0。

算符

(1) goto(U)猴子走到水平位置U;

(2) pushbox(V)猴子把箱子推到水平位置V;

(3) climbbox猴子爬上箱顶;

(4) grasp猴子摘到香蕉。

求解过程

令初始状态为(a,0,b,0)。这时,goto(U)是唯一适用的操作,并导致下一状态(U,0,b,0)。现在有3个适用的操作,即goto(U),pushbox(V)和climbbox(若U=b)。把所有适用的操作

继续应用于每个状态,我们就能够得到状态空间图,如图所示。从图不难看出,把该初始状态变换为目标状态的操作序列为:

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189243.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea修改properties文件编码_idea使用maven

    idea修改properties文件编码_idea使用maven结果图:

    2022年9月21日
    3
  • 什么是DDR3_DDR3 SDRAM

    什么是DDR3_DDR3 SDRAMODT是什么鬼?为什么要用ODT?在很多关于DDR3的博文和介绍中都没有将清楚。在查阅了很多资料并仔细阅读DDR3的官方标准(JESD79-3A)之后,总算有点了头绪,下面来整理整理。1、首先ODT是什么?ODT(On-DieTermination),是从DDR2SDRAM时代开始新增的功能。其允许用户通过读写MR1寄存器,来控制DDR3SDRAM中内部的终端电阻的连接或者断开。在DDR3…

    2025年10月16日
    2
  • com.jcraft.jsch.JSchException: Auth fail

    背景服务器信息: 服务器A:10.102.110.1 服务器B:10.102.110.2 需要从服务器A通过Sftp传输文件到服务器B。应用项目中有一个功能,要通个关Sftp进行日志文件的传输,在部署的时候,服务器之间已经配置了免认证(密),也就sftp免密登录,但是部署完项目后,启动服务,在需要传输的时候还是报了下面的错误: com.jcraft.jsch.JSchExcep…

    2022年2月27日
    339
  • CSP-J2011模拟赛#3—-考试总结

    CSP-J2011模拟赛#3—-考试总结​​​​​T1-面试说起这道题其实我刚看到的时候感觉挺简单的——但不得不说木有事情是绝对的;我看到一个0分时我蒙了。错因(挺可悲):没清空计数器加上一个a=b=c=d=0后一百分拿到手。不得不说细节决定成败-;反思:注意严谨做题,注意细节(例如:清空计数器)​​​​​T2-Excel计数器思路:刚看到这道题的时候几乎没有思路(大概我太菜了)。盲点主要集中在不会把数字转成字母以下klz大佬的方法(看懂了)——先用一个数​​​​​组把A-Z存起来,接着用一个while数…

    2025年11月4日
    3
  • jboss项目文件路径_java读取一个文件夹下的所有文件

    jboss项目文件路径_java读取一个文件夹下的所有文件==========转自:https://blog.csdn.net/tomcat_2014/article/details/50624120===========JavaWeb中读取文件资源的路径问题转载 2016年02月02日15:34:4916757在做javaweb开发的时候,我们可能会需要从本地硬盘上读取某一个文件资源,或者修改某一个文件,这个时候就需要先找到这个文件,然后用FileI…

    2022年9月19日
    2
  • 线程同步的四种方式

    线程同步的四种方式转载地址: http://blog.csdn.net/ebowtang/article/details/29905309一,什么是线程同步和互斥同步就是协同步调,按预定的先后次序进行运行。如:你说完,我再说。这里的同步千万不要理解成那个同时进行,应是指协同、协助、互相配合。线程同步是指多线程通过特定的设置(如互斥量,事件对象,临界区)来控制线程之间的执行顺序(即所谓的同步)也可以说是在线程之间通过…

    2022年7月15日
    16

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号