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

用状态空间法求猴子香蕉问题_猴子摘香蕉状态空间图猴子和香蕉问题(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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机信息计量单位中的1k代表多少字节,1k等于多少字节

    计算机信息计量单位中的1k代表多少字节,1k等于多少字节一、1K字节等于多少字节1KB=1024B,其中1024=2的10次方。字节(Byte/bait/n.)是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位,也表示一些计算机编程语言中的数据类型和语言字符。国际单位制(SI)1KB=1024B;1MB=1024KB=1024*1024B。1B(byte,字节)=8bit;1KB(Kilobyte,千字节)=1000B…

    2022年5月26日
    219
  • r语言同时画两张图(如何用布局和视口出图)

    ​01—图形组合布局par(mfrow=c(2,2))par(mfrow=c(2,2)),可以理解将绘图区域分割为2×2的矩阵区域,另可参照《R语言实战》3.5图形的组合##################par(mfrow=c(2,2))####################attach(iris)opar<-par(no.readonly=TRUE)#data(iris)#head(iris)#>head(iri…

    2022年4月16日
    88
  • 超分辨率重建之SRCNN整理总结

    白驹微过隙,指上细流沙。时间飞逝啊!转眼之间,四五个月过去了,伴随着中国迈进2020的新时代的元旦的步伐声,我的考研生活暂时告了一个小段落。距今的这些天,忙完了各种小事情,也是时候整理整理之前一些由于时间紧张而没有细细梳理的知识体系和小知识点了。又恰巧应CSDN上朋友的需求,今天就将之前的一些笔记和补充大致梳理一下,一来以供自己今后学习笔记,二来可以与大家共同学习参考。目录…

    2022年4月8日
    45
  • java找不到符号解决办法

    java找不到符号解决办法一、java找不到符号如果你的代码里没有报错,明明是存在的。但是java报错找不到符号。像下面这样子。二、解决步骤1.清除编码工具缓存本人用的idea,eclipse清除缓存方式有需要的可以百度一下!2.如果是mavne项目的先clean再package总结提示:一定要package本人刚开始就是知道clean了,没有package导致问题一直没有解决。在此记录一下!…

    2022年7月8日
    986
  • clion2022.01.4激活码【中文破解版】2022.03.07

    (clion2022.01.4激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月2日
    234
  • oracle创建数据库文件时出错_oracle错误代码大全

    oracle创建数据库文件时出错_oracle错误代码大全一、创建数据库时报必须运行Netca以配置监听程序,然后才能继续。     解决方法:     1、停止Oracle该服务;    2、用系统管理员身份运行netmanager删除监听程序;    3、用netconfigurationassistant添加监听程序;    4、用系统管理员身份运行databaseconf…

    2022年9月15日
    0

发表回复

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

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