3

最近我在读一本名为《编程挑战》的书。它基本上是一本关于算法的书。本书的其中一章专门讨论回溯技术,在本章末尾有来自 UVA Online Judge 的示例问题。问题之一是著名的15 谜题

尽管在专门讨论回溯的章节中介绍了这个问题,但我非常怀疑这个问题是否可以在给定的时间限制内通过回溯来解决。

我的问题是:这里有没有人设法通过仅包含回溯的解决方案获得 UVA 在线法官接受?我的意思是你收到了一个接受,没有花哨的 A* 算法,也没有使用动态编程中的记忆或一些需要巧妙递归的花哨的解决方案。我的意思是回溯。可能吗?

4

2 回答 2

0

我想我今天很幸运,我在 youtube 上找到了写这本书的人的一系列讲座。其中一堂课是关于回溯部分的问题。这是视频。他实际上表明这是一个回溯问题,只需要一些巧妙的修剪。

于 2013-06-11T16:02:09.060 回答
0

15 Puzzle 就像国际象棋或魔方一样,是一个需要搜索可能性树的 NP 难题。这种问题只能通过蛮力加剪枝来解决,这就是回溯。我同意你的观点,很难在短时间内解决这个问题,因为你可能必须使用某种启发式方法才能在合理的时间内解决它。此外,您是对的,必须使用一些额外的逻辑,因为您必须记住以前访问过的位置,否则您可能最终会永远搜索,一遍又一遍地重复相同的位置。

于 2013-06-11T19:56:01.637 回答