文件名称:八数码问题实现的几种算法
文件大小:1023KB
文件格式:RAR
更新时间:2013-01-14 04:58:20
八数码问题几种算法
问题描述: 有一个3×3的棋盘,其中有0~8九个数字,0表示空格,其他的数字可以和0交换位置。求由初始状态到达目标状态步数最少的解。 解决八数码问题的常用方法A*算法实现,其中A*算法又因估价函数的不同而有着不同的搜索时间。 程序说明: 在本程序中A*算法分别实现了八数码问题,其中A*算法的估价函数选择的是“不在位”数和当前层数之和,初始状态和目标状态均可由用户设定,目标状态默认为: 1 2 3 4 5 6 7 8 0 这里是A*算法的可执行程序,由用户输入一组数码,如: 8 3 5 1 2 7 4 6 0 然后程序会询问用户是否要更改目标,输入N即可。等一会儿(几秒到几十秒)后便可得到结果以及消耗的时间和空间。程序中的Block是指生成的8数码块,以此来衡量空间消耗的多少。
【文件预览】:
8数码问题
----宋建生S090503035.rar(256KB)
----20051004深度优先()
--------8_num()
----20051004广度优先()
--------8_num()
----宋建生S090503035()
--------说明.txt(686B)
--------8_num()
----可解问题.txt(70B)