Push_Box

所属分类:其他智力游戏
开发工具:Visual Basic
文件大小:47KB
下载次数:21
上传日期:2005-09-07 14:08:44
上 传 者Mythical
说明:  推箱子程序,为了写这个程序,花了我好长时间,无奈水平有限,是初学,请多指教
(viewing procedures, in order to write this procedure, I spent a good long time, the limited level of frustration is beginner, please enlighten)

文件列表:
Push_Box (0, 2003-05-24)
Push_Box\Pushbox.frm (179538, 2002-11-03)
Push_Box\pushbox.vbw (50, 2005-01-13)
Push_Box\pushbox_370M.exe (61440, 2002-11-01)
Push_Box\pushbox_60M.exe (61440, 2002-11-01)
Push_Box\pushbox_6M.exe (61440, 2002-11-01)
Push_Box\pushbox.vbp (714, 2005-01-13)

人工智能课作业,用VB编的推箱子程序. by funlove 生成的3个可执行文件,分别对应最大生成节点数的不同(当时还不会动态扩展和释放内存,只好这样了). pushbox_6M.exe对应6M内存,100000个节点 pushbox_60M.exe对应60M内存,1000000个节点 pushbox_370M.exe对应370M内存,6553500个节点. 在程序上,几乎没有任何技巧可言,看看好玩就行了. 由于我的算法以找到最短路径解为目的,又由于VB本身的计算效率不高,所以速度比较慢,而且时间复杂度是O(4^n),n是箱子的数目.所以箱子数目一多计算就会非常慢.不过4个箱子以下的情况都可以很快地找到解,5个箱子也能在可以忍受的时间内找到解 使用方法: 输入行列数以后,看见格子阵列,在上面点鼠标的左右键即可改变格子的设置,黑色是墙壁,黄色是目标点,设置完了以后按"开始求解",后下的状态栏显示的是节点数和当前搜索的步数.找到解以后可以点"向前","向后",输入步数点"Go"直接看,或者拖动滚动条,查看结果 算法: 我的主要算法是以箱子为研究对象的,访问每个节点时,查看该节点共有哪些箱子可以动,生成新的节点.节点与节点之间的权值另加一重广度搜索来计算,这个搜索换成以人为研究对象.

近期下载者

相关文件


收藏者