广州大学人工智能原理实验五:基于汉诺塔的问题规约图实现

相关资料

广州大学人工智能原理实验一:知识的表示与推理实验
广州大学人工智能原理实验二:八数码问题
广州大学人工智能原理实验三:产生式系统推理
广州大学人工智能原理实验四:TSP问题的遗传算法实现
广州大学人工智能原理实验五:基于汉诺塔的问题规约图实现
五份实验报告下载链接

基于汉诺塔的问题规约图实现

      • 相关资料
    • 一、实验目的
    • 二、基本要求
    • 三、实验软件
    • 四、实验内容

一、实验目的

本实验课程是计算机、智能、物联网等专业学生的一门专业课程,通过实验,帮助学生更好地掌握人工智能相关概念、技术、原理、应用等;通过实验提高学生编写实验报告、总结实验结果的能力;使学生对智能程序、智能算法等有比较深入的认识。要掌握的知识点如下:
1.用相关的一些技术,根据问题规约表示法,解决汉诺塔的难题;
2.通过此实验让学生了解问题规约表示法和问题规约图。
3.使学生加强对知识表达法的了解。

二、基本要求

1.实验前,复习《人工智能》课程中的有关内容。
2.准备好实验数据。

三、实验软件

推荐使用C或C++(Visual studio等平台)(不限制语言使用,如Java,matlab,Python等都可以)。

四、实验内容

  1. 设计一个汉诺塔的小程序
  2. 根据程序的结果,画出汉诺塔问题规约图(圆盘的个数为4)。

提示:
汉诺塔问题规约如下图所示(课本36页):

汉诺塔问题规约图如下图所示(课本37页):

注意,规约图中的(x1,x2,x3)表示的是圆盘A在柱子x3上,圆盘B在x2上,圆盘C在x1上。

五、学生实验报告要求
(1)本实验采用开放授课形式,每个同学独立完成上述实验要求。
A,B,C三个圆柱,分别为初始位,过渡位,目标位,设A柱为初始位,C位为最终目标位。

① 将最上面的n-1个圆盘从初始位移动到过渡位
② 将初始位的最底下的一个圆盘移动到目标位
③ 将过渡位的n-1个圆盘移动到目标位

递归执行以上三步即可,终止条件为到达最后一层。

(2)程序清单

def move(n, a, b, c):
    if n == 1:
        print(f'圆盘{n}:',a, '->', c)
    else:
        move(n - 1, a, c, b)
        print(f'圆盘{n}:',a, '->', c)
        move(n - 1, b, a, c)

move(4,'x1','x2','x3')

(3)规约图(可以手写拍照附上)。

广州大学人工智能原理实验五:基于汉诺塔的问题规约图实现_第1张图片
广州大学人工智能原理实验五:基于汉诺塔的问题规约图实现_第2张图片

广州大学人工智能原理实验五:基于汉诺塔的问题规约图实现_第3张图片

你可能感兴趣的:(比赛+项目开源方案,人工智能,python,编程语言,汉诺塔问题)