文件名称:snakebird-solver:益智游戏Snakebird的蛮力解算器
文件大小:61KB
文件格式:ZIP
更新时间:2024-05-19 22:11:34
C++
蛇鸟求解器 该存储库包含用于令人愉快的益智游戏的C ++广度优先求解器。 Theb代码已获得MIT许可,但第三方/ src下的文件除外。 对于那些文件,请参阅文件以获取许可信息。 感谢提出的关于如何在拼图定义和漂亮印刷中以及在关卡定义中以ASCII图形表示蛇的想法。 表现 求解器具有针对游戏状态和处理游戏物理的非常优化的内部表示形式。 在i7-6700k上,为游戏中最困难的难题生成平均状态的所有输出状态大约需要1-2微秒。 程序运行时间的大部分时间用于确定已经访问了哪些输出状态。 单个状态的表示通常约为8-10字节,但是数据格式+压缩技术的组合将其压缩到平均0.7位。 在状态最终会溢出到磁盘的前提下优化了所有内存访问模式。 因此,即使工作集不能完全放入RAM中,性能也不会完全下降。 但是,即使对于较大的难题,实际的RAM需求实际上也很小。 为了使状态状态易于管理,对状态进行规范化以
【文件预览】:
snakebird-solver-master
----src()
--------compress.h(10KB)
--------search.h(18KB)
--------third-party()
--------snakebird()
--------file-backed-array.h(7KB)
--------util.h(5KB)
--------bit-packer.h(3KB)
----CMakeLists.txt(806B)
----README.org(2KB)
----LICENSE(1KB)