实验一 启发式搜索算法
姓名:徐维坚 学号:2220103484 日期:2012/6/29
一、实验目的:
熟练掌握启发式搜索算法及其可采纳性。
二、实验内容:
使用启发式搜索算法求解8数码问题。
编制程序实现求解8数码问题算法,采用估价函数
,
其中:是搜索树中结点的深度;为结点的数据库中错放的棋子个数;为结点的数据库中每个棋子与其目标位置之间的距离总和。
分析上述⑴中两种估价函数求解8数码问题的效率差别,给出一个是的上界
的的定义,并测试使用该估价函数是否使算法失去可采纳性。
三、实验原理:
问题描述:
八数码问题也称为九宫问题。在3×3的棋盘,摆有八个棋子,每个棋子上标有1至8的某一数字,不同棋子上标的数字不相同。棋盘上还有一个空格(以数字0来表示),与空格相邻的棋子可以移到空格中。
要求解决的问题是:给出一个初始状态和一个目标状态,找出一种从初始转变成目标状态的移动棋子步数最少的移动步骤。
所谓问题的一个状态就是棋子在棋盘上的一种摆法。解八数码问题实际上就是找出从初始状态到达目标状态所经过的一系列中间过渡状态。
原理描述:
2.1 有序搜索算法:
(1)原理:
在搜索过程中,OPEN表中节点按照其估价函数值以递增顺序排列,选择OPEN表中具有最小估价函数值的节点作为下一个待扩展的节点,这种搜索方法称为有序搜索。
在本例中,估价函数中的取节点深度,为节点n的状态与目标状态
原创力文档

文档评论(0)