实 验 报 告
一、实验问题
八数码问题求解
二、实验软件
VC6.0 编程语言或其它编程语言
三、实验目的
1. 熟悉
人工智能系统中的问题求解过程;
2. 熟悉状态空间的盲目搜索和启发式搜索算法的应用;
3. 熟悉对八数码问题的建模、求解及编程语言的应用。
四、实验数据及步骤
(一、) 实验内容
八数码问题:在 3×3 的方格棋盘上,摆放着 1 到 8 这八个数码,有 1 个
方格是空的,其初始状态如图 1 所示,要求对空格执行空格左移、空格右移、
空格上移和空格下移这四个操作使得棋盘从初始状态到目标状态。
2 8 3 1 2 3
1 4 8 4
7 6 5 7 6 5
(a) 初始状态 (b) 目标状态
图 1 八数码问题示意图
(二、)基本数据结构分析和实现
1.结点状态
我采用了 struct Node 数据类型
typedef struct _Node{
int digit[ROW][COL];
int ...