- 4
- 0
- 约1.3万字
- 约 21页
- 2016-05-30 发布于湖北
- 举报
西电人工智能大作业
八数码难题
一.实验目的
八数码难题:在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 八数码问题示意图
请任选一种盲目搜索算法(深度优先搜索或宽度优先搜索)或 任选一种启发式搜索方法(A 算法或 A* 算法)编程求解八数码问题(初始状态任选),并对实验结果进行分析,得出合理的结论。
本实验选择宽度优先搜索:选择一个起点,以接近起始点的程度依次扩展节点,逐层搜索,再对下一层节点搜索之前,必先搜索完本层节点。
二.实验设备及软件环境
Microsoft Visual C++,(简称Visual C++、MSVC、VC++或VC)微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言。
实验方法
算法描述:
(1)将起始点放到OPEN表;
(2)若OPEN空,无解,失败;否则继续;
(3)把第一个点从OPEN移出,放到
原创力文档

文档评论(0)