15-Puzzle:15-Puzzle 游戏的 C++ 实现。 亮点 A* 搜索算法

时间:2024-07-15 05:13:19
【文件属性】:

文件名称:15-Puzzle:15-Puzzle 游戏的 C++ 实现。 亮点 A* 搜索算法

文件大小:20KB

文件格式:ZIP

更新时间:2024-07-15 05:13:19

C++

概述 是一种游戏,它由一帧随机排列的编号方块组成,其中缺少一个方块。 目标是重新排列块,使它们有序,使用尽可能少的移动。 执行 它被实现为最佳优先搜索。 该问题的解决方案说明了一种称为的通用人工智能方法。 游戏的SEACH节点由板的组合来表示,的移动次数作出到达板和前一搜索节点。 首先,将初始搜索节点(初始板)插入到优先队列中。 然后,从优先级队列中删除具有最小优先级的搜索节点,并插入其所有相邻的搜索节点。 重复此过程,直到目标板从优先级队列中出队。 这种方法的成功取决于搜索节点的优先级函数的选择。 我们考虑两个优先级函数: 汉明优先功能。 错误位置的块数,加上到目前为止到达搜索节点的移动次数。 曼哈顿优先函数。 从块到其目标位置的曼哈顿距离的总和(垂直和水平距离的总和),加上到目前为止到达搜索节点的移动次数。 发展 创建一个构建目录,假设您在此存储库的根目录中创建它(不推荐,顺便说一


【文件预览】:
15-Puzzle-master
----LICENSE.txt(1KB)
----src()
--------Solver.cc(717B)
--------Solver.h(493B)
--------Board.h(1KB)
--------CMakeLists.txt(372B)
--------TestClient.cc(2KB)
--------Board.cc(5KB)
----CMakeLists.txt(352B)
----cmake()
--------add_test.cmake(550B)
----README.md(2KB)
----tests()
--------BoardTest.h(964B)
--------Test.cc(7KB)
--------CMakeLists.txt(350B)
--------Test.h(2KB)
--------README.md(2KB)
--------testfiles()
--------BoardTest.cc(3KB)
----.gitignore(66B)
----include()
--------Puzzle15Macros.h(637B)
--------MinHeap.h(2KB)
--------CMakeLists.txt(0B)
--------Queue.h(2KB)

网友评论