- 2
- 0
- 约1.34万字
- 约 28页
- 2019-07-02 发布于浙江
- 举报
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
装
┊
┊
┊
┊
┊
订
┊
┊
┊
┊
┊
线
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
┊
实验报告
PAGE
人工智能实验一报告
题目:采用A*算法解决八数码问题
成 员: 李文、郭弯弯
学 号: 1452288、1452264
专 业: 计算机科学与技术
完成日期: 2016/04/09
第 PAGE \* Arabic 1页
实验要求、目的及分工
1.1实验要求
使用A*算法实现八数码问题,并用图形界面展示。
1.2实验目的
a. 熟悉人工智能系统中的问题求解过程;
b. 熟悉状态空间的盲目搜索和启发式搜索算法的应用;
c. 熟悉对八数码问题的建模、求解及编程语言的应用。
1.3实验分工
我们小组共两个人,共同查找背景资料,李文同学主要负责源代码,郭弯弯同学主要负责实验报告以及演示文稿的完成。
实验问题
2.1问题描述
所谓八数码问题是指这样一种游戏:将分别标有数字1,2,3,…,8 的八块正方形数码牌任意地放在一块3×3 的数码盘上。放牌时要求不能重叠。于是,在3×3 的数码盘上出现了一个空格。现在要求按照每次只能将与空格相邻的数码牌与空格交换的原则,不断移动该空格方块以使其和相邻的方块互换,直至达到所定义的目标状态。空格方块在中间位置时有上、下、左、右4个方向可移动,在四个角落上有2个方向可移动,在其他位置上有3个方向可移动,问题描述如下图所示:
1
5
0
4
7
8
3
2
6
8
3
2
4
5
1
6
7
0
(a) 初始状态 (b) 目标状态
图1 八数码问题示意图
2.2问题解释
首先,八数码问题包括一个初始状态(START) 和目标状态(TRAGET),所谓解决八数码问题就是在两个状态间寻找一系列可过渡状态:
(STARTSTATE1STATE2...TARGET)
这个状态是否存在就是我们要解决的第一个问题;第二个问题是我们要求出走的路径是什么。
2.3八数码问题形式化描述
初始状态:
初始状态向量:规定向量中各分量对应的位置,各位置上的数字。把3×3的棋盘写成一个二维向量。我们可以设定初始状态:1,5,2,4,0,3,6,7,8
后继函数:
按照某种规则移动数字得到的新向量。例如:
1,5,2,4,0,3,6,7,8?1,0,2,4,5,3,6,7,8
路径耗散函数:
规定每次移动代价为1,即每执行一条规则后总代价加1。
2.4解决方案选择
该问题是一个搜索问题。它是一种状态到另一种状态的变换。要解决这个问题,必须先把问题转化为数字描述。由于八数码是一个3*3的矩阵,但在算法中不是用矩阵,而是将这个矩阵转化为一个二维数组,使用这个二维数组来表示八数码,但是移动时要遵守相关规则。
按规则,每一次可以将一个与空格相邻的棋子移动到空格中,实际上也可以看做空格的相反方向移动。空格的移动方向可以是上下左右,当然不能出边界。棋子的位置,也就是保存状态的数组元素的下标,空格移动后,相应位置发生变化。
经分析,问题的求解实际上就是在这个图中找到一条路径可以从开始到结果。这个寻找的过程就是状态空间搜索。常用的状态空间搜索有深度优先和广度优先。广度优先是从初始状态一层一层向下找,直到找到目标为止。深度优先是按照一定的顺序前查找完一个分支,再查找另一个分支,以至找到目标为止。
启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标。这样可以省略大量无畏的搜索路径,提高了效率。所以,本实验采用启发式A*搜索算法来实现。
A*算法
3.1算法介绍
A*算法是一种常用的启发式搜索算法。
在A*算法中,一个结点位置的好坏用估价函数来对它进行评估。A*算法的估价函数可表示为:
f(n) = g(n) + h(n)
这里,f(n)是估价函数,g(n)是起点到终点的最短路径值(也称为最小耗费或最小代价),h(n)是n到目标的最短路经的启发值。由于这个f(n)其实是无法预先知道的,所以实际上使用的是下面的估价函数:
f(n) = g(n) + h(n)
其中g(n)是从初始结点到节点n的实际代价,h(n)是从结点n到目标结点的最佳路径的估计代价。在这里主要是h(n)体现了搜索的启发信息,因为g(n)是已知的。用f(n)作为f(n)的近似,也就是用g(n)代替g(n),h(n)代替h(n)。这样必须满足两个条件:(1)g(n)=g(n)(大
您可能关注的文档
- 百科知识竞赛试题(答案).doc
- 财务人员轮岗制度.doc
- 百科知识竞赛试题.docx
- 百万家长疯抢的儿童英语分级教材.doc
- 柏拉图的“迷狂说”与庄子的“心斋说”.doc
- 必修三:Unit-4-Astronomy-the-science-of-the-stars导学案及答案.doc
- 班本课程手抄报教学计划.doc
- 必修三第二单元理解默写.doc
- 班干部会议-记录-内容超全-实用.doc
- 必修三古文重点翻译句子.doc
- (正式版)DB51∕T 1867-2014 《袋栽黑木耳生产技术规程》.docx
- (正式版)DB51∕T 2413-2023 《油橄榄密植丰产栽培技术规程》.docx
- (正式版)DB51∕T 2436-2017 《川菜东坡一品肉烹饪工艺技术规范》.docx
- (正式版)DB51∕T 2396-2017 《农村电子商务服务站(点)服务与管理规范》.docx
- (正式版)DB51∕T 2419-2017 《桢楠扦插育苗技术规程》.docx
- CN105145773B 一种无花果曲奇饼干及其制作方法 (江苏农林职业技术学院).docx
- CN105203825A 微测量电极的制作方法和热电势的测量方法及相关装置 (国家纳米科学中心).docx
- CN105137533B 一种啁啾光纤光栅及其制作方法 (南京航空航天大学).docx
- (正式版)DB51∕T 2453-2018 《巴山新居公共管理指南》.docx
- (正式版)DB51∕T 1892-2014 《川西北地区沙化土地治理技术规程》.docx
原创力文档

文档评论(0)