我试过跳舞、链接和其他一些搜索算法,但它们不能在1秒的给定时间限制内工作。对于一个有大约100万个解决方案的数独游戏来说,计算所有解决方案大约需要10秒。
发布于 2012-07-08 20:13:00
1M结果听起来有点可怕,但为了快速求解,基本上你必须使用消除/约束传播过程和对具有最小可能值的字段进行穷举搜索。
Peter Norvig的一篇优秀文章:Solving Every Sudoku Puzzle。
发布于 2012-07-09 05:01:04
数独(所有解决方案)的标准求解算法使用backtracking。数独的经典变体只有一个解决方案(或者至少应该有),因此您可以使用类似于人类的技术,但在这种情况下这是不可能的。因此,回溯可能是唯一的方法。
但您可能希望使用以下几个技巧
https://stackoverflow.com/questions/11382781
复制相似问题