使用Visual Studio C# 2008编程实现八数码游戏.docVIP

  • 5
  • 0
  • 约 8页
  • 2016-04-11 发布于江苏
  • 举报

使用Visual Studio C# 2008编程实现八数码游戏.doc

使用Visual Studio C# 2008编程实现八数码游戏.doc

基于Visual Studio C# 2008的八数码游戏的设计与实现 龙之梦 1 引言 搜索是人工智能中的一个基本问题,也是模拟仿真中研究的一般性问题,是推理不可分割的一部分。现实世界中的大多数问题都是结构不良或非结构化的问题,一般不存在现成的求解方法,而只能利用已有的知识一步步地摸索着前进,如梵塔问题、MC问题、猴子摘香蕉、八数码难题等。 八数码难题一般描述:在3×3的方格棋盘上,分别放置标有数字1、2、3、4、5、6、7、8的八张牌,第九张牌不标数字,记为空格,给定一种初始状态和目标状态,通过移动空格,使得棋盘从初始状态向目标状态转换(其中操作空格可用的操作有:左移、上移、右移、下移,但不能移出棋盘之外),通过搜索策略寻找从初始状态到目标状态的解路径。 解决八数码问题的搜索策略有很多,归纳起来主要有三种:深度优先搜索(Depth First Search,DFS)、宽度优先搜索(Breadth First Search,BFS)、A*算法。前两种是经典的盲目搜索算法,后一种是经典的启发式搜索算法。对于八数码问题,深度优先搜索一般不能保证得到最优解,A*算法又与其启发式函数息息相关,也无法保证得到最优解。而宽度优先搜索算法可以得到从初始状态到目标状态的最短解路径。虽然宽度搜索算法效率相对较低,搜索点数较多,但考虑到计算机技术的飞速发展,运算速度已经不是影响搜索效率的重要瓶颈了。

文档评论(0)

1亿VIP精品文档

相关文档