人工智能实验一题目_第1页
人工智能实验一题目_第2页
人工智能实验一题目_第3页
人工智能实验一题目_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

人工智能实验一题目人工智能实验一题目 一 实验目的一 实验目的 掌握产生式系统解决汉诺塔算法的基本思想 掌握产生式系统解决汉诺塔算法的基本思想 二 问题描述 如图所示放置 3 根柱子 其中一根从上往下按由小到大顺序串有若干个圆 盘 要求通过 3 根柱子移动圆盘 若规定每次只能移动 1 片 且不许大盘放在 小盘之上 最后要将圆盘从一根柱子移动到另一根柱子上 三 问题分析及基本思想 汉诺塔 也被称为梵塔 问题有很多解决方法 比较典型的是使用递归算法 而 本次设计的算法则是应用人工智能中产生式相关知识进行的求解 数学模型描 述如下 1 设计该问题的状态 使用了二维数组描述汉诺塔的状态 对 n 个盘子由大到 小分别用数组 n n 1 2 1 描述 例如 当 n 4 时 二维数组为 100 200 300 400 2 定义目标状态 当 n 4 时 这里是 001 002 003 004 依据如下规则定义产生式规则 1 在移动盘子时 每次只移动 A B C 柱子上可以移动的盘子中最大的盘子 2 如果上一次已经移动了某个盘子 则下一次不能继续移动 即 一个盘子不 能被连续移动两次 如 某次操作将 1 号盘子由 A 柱子移动到 B 柱子 那么在 选择下一个要移动的盘子时应不在考虑 1 号盘 3 当某个可以移动的盘子摆放位置不唯一时要将当前状态入栈 并选择盘子移 动前所在的柱子的左侧 同理 反方向选择也可 柱子作为移动的目标柱子 为提高程序运行过程中的空间利用率 产生式规则在汉诺塔移动过程中依据以 上规则自动生成 控制策略依据如下 1 根据以上产生式规则依据 在每次移动盘子时可选择产生式唯一 所以不需 要考虑路径选择 2 当移动的是一组盘子中的最大盘子 即 在要移动的一组盘子中的最下面的 盘子 时 观察目标柱子是否是 C 柱子 最终结果所在柱子 如果是则表示 当前盘子移动成功 并清空栈 转移问题 即减小一层盘子 如果移动目标 错误 即移动到了 A 或 B 柱子 则执行回溯 栈顶状态出栈 向右选择目标柱 子产生新的产生式规则 并按此执行移动操作 3 如果要移动的一组盘子中最大的是 1 号盘 最后一个盘子 执行的移动操 作是将盘子移动到 C 柱子 则算法结束 四 主要功能流程图如下 注意 本设计控制盘子为九个 五 运行示例 4 层汉诺塔移动过程演示 六 实验报告内容 1 实验题目 2 根据实验题目所编写的源程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论