NPuzzle:用几种基于树的搜索算法解决了 N-Puzzle

时间:2024-06-29 17:24:26
【文件属性】:

文件名称:NPuzzle:用几种基于树的搜索算法解决了 N-Puzzle

文件大小:10KB

文件格式:ZIP

更新时间:2024-06-29 17:24:26

Python

描述 有许多名称,例如 8-puzzle、15-puzzle、滑动瓷砖拼图等。它是一种将n瓷砖放置在n+1个格子中,留下一个空格的拼图。 必须通过将瓷砖滑入空白区域来按顺序移动瓷砖。 某些变体使用必须未打乱的图像; 这里考虑的变化有编号的瓷砖。 没有已知的算法可以解决 N-Puzzle,因此我们必须使用蛮力技术来找到解决方案。 作为一个有n瓷砖的拼图有(n+1)! / 2 (n+1)! / 2可能的状态 [1] 并且找到任何给定 N-Puzzle 的最短可能解决方案已被证明是 NP-complete [1],为了解决更大的谜题,必须告知蛮力技术。 已经实施了一系列基于树的搜索算法来解决 N-Puzzle。 有些比其他的更有效,但由于内存或时间限制,当给出足够大的谜题时,所有这些最终都会失败。 有些算法是完整的和/或最佳的,有些则不是。 有关这方面的更多信息,请参阅search_stra


【文件预览】:
NPuzzle-master
----main.py(2KB)
----helpers.py(399B)
----search_strategies.py(10KB)
----puzzles()
--------3x5.txt(77B)
--------6x6.txt(203B)
--------2x3.txt(28B)
--------3x3.txt(45B)
--------2x2.txt(20B)
--------10x10.txt(586B)
--------10x10hard.txt(586B)
--------7x7.txt(278B)
----setup.py(679B)
----.gitignore(702B)
----heuristics.py(1KB)
----README.md(2KB)
----actions.py(1KB)

网友评论