人工智能 猴子摘香蕉问题[通俗易懂]

人工智能 猴子摘香蕉问题[通俗易懂]人工智能猴子摘香蕉问题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):猴子手中是空的O

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

Jetbrains全系列IDE稳定放心使用

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)

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

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

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


相关推荐

  • linux文件操作之cat、more、less、head、tail、wc命令

    linux文件操作之cat、more、less、head、tail、wc命令

    2021年9月9日
    53
  • 更改QT程序的图标

    更改QT程序的图标

    2021年8月17日
    59
  • 零基础学Java(2)数据类型与变量

    零基础学Java(2)数据类型与变量前言Java是一种强类型语言。这就意味着必须为每一个变量声明一种类型。在Java中,一共8种基本类型,其中有4种整型、2种浮点型、1种字符串类型char(用于表示Unicode编码的代码单元)和1种

    2022年7月31日
    4
  • mysql时序性数据库_时序数据库入门[通俗易懂]

    mysql时序性数据库_时序数据库入门[通俗易懂]数据库的模型包含关系型、key-value型、Document型等很多种,那么为什么新型的时序数据库成为监控数据存储的新宠呢?下面就会从为什么需要时序数据库?时序数据库的数据结构两个方面来介绍一下时序数据库。1.为什么需要时序数据库1.1时序数据特点时序数据有如下几个特点:基本上是插入操作较多且无更新的需求数据带有时间属性,且数据量随着时间递增插入数据多,每秒钟插入需要可到达千万甚至是上…

    2022年10月5日
    0
  • idea激活码2022-激活码分享2022.02.14

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

    2022年4月1日
    1.6K
  • C 单向链表排序_单向链表排序java

    C 单向链表排序_单向链表排序java链表排序链表排序的两种方式一、交换结点的数据域二、断开链表,重新形成方法示例链表排序的两种方式一、交换结点的数据域有很多种方法,比如冒泡排序,选择排序等其他排序方法structNode*link_sort(structNode*head){ intvalue; structNode*p=head; structNode*q=NULL; while(p) { q=p->next; while(q) { if(p->data&g

    2022年10月11日
    0

发表回复

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

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