下载此文档

猴子摘香蕉实验报告.docx


文档分类:IT计算机 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)
猴子摘香蕉实验报告
实验1:猴子摘香蕉问题的VC编程实现
一、实验目的
  利用一阶谓词逻辑求解猴子摘香蕉问题并通过编程来实现
二、编程环境

三、问题描述
  房内有一个猴子,一个箱子,天花板上挂了一串香蕉,其位置如图所示,猴子为了拿到香蕉,它必须把箱子搬到香蕉下面,然后再爬到箱子上。请定义必要的谓词,列出问题的初始化状态(即下图所示状态),目标状态(猴子拿到了香蕉,站在箱子上,箱子位于位置b)。
四、解决方案
定义描述环境状态的谓词。
AT(x,y):x在y处,个体域:x{monkey,box,banana},y{a,b,c};
HAND(s):猴子手中拿着s,个体域:s{box,banana};
ONBOX(monkey):猴子在箱子上;
使用谓词、连结词、量词来表示环境状态。
问题的初始状态可表示为:
So:AT(monkey,a)~HAND(s)AT(box,c)~ONBOX(monkey)AT(banana,b)
要达到的目标状态为:
Sg:AT(box,b)ONBOX(monkey)HAND(banana)AT(monkey,b)AT(banana,b)
从初始状态到目标状态的转化,猴子需要完成一系列操作,定义操作类谓词表示其动作。
go(m,n):猴子从m走到n处,个体域:m,n{a,b,c};
movebox(m,n):猴子把箱子从m处移动到n处,个体域:m,n{a,b,c};
onbox(m):猴子在m处爬上箱子,个体域:m{a,b,c};
catch(banana):猴子摘到香蕉;
这3个操作也可分别用条件和动作来表示。条件直接用谓词公式表示,是为完成相应操作所必须具备的条件;当条件中的事实使其均为真时,则可激活操作规则,于是可执行该规则中的动作部分。动作通过前后状态的变化表示,即通过从动作前删除或增加谓词公式来描述动作后的状态。
go(m,n):猴子从m走到n处
条件:AT(monkey,m)
动作:
movebox(m,n):猴子把箱子从m处移动到n处
条件:AT(monkey,m))~HAND(s)AT(box,m)
动作:
onbox(m):猴子在m处爬上箱子
条件:AT(monkey,m)~HAND(s)AT(box,m)AT(banana,m)~ONBOX(monkey)
动作:
catch(m):猴子摘到香蕉
条件:AT(monkey,m)~HAND(s)AT(box,m)AT(banana,m)ONBOX(monkey)
动作:
按照行动计划,一步步进行状态替换,直至目标状态。
AT(monkey,a)~HAND(s)AT(box,c)~ONBOX(monkey)AT(banana,b)
AT(monkey,c)HAND(box)AT(box,c)~ONBOX(monkey)AT(banana,b)
AT(monkey,b)~HAND(s)AT(box,b)~ONBOX(monk

猴子摘香蕉实验报告 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人琪昕
  • 文件大小80 KB
  • 时间2021-06-10
最近更新