有没有算法可以解决任何传统的数独游戏,没有猜测(或类似的技术)?

时间:2011-08-20 23:56:19

标签: sudoku

是否有任何算法可以解决任何传统的数独谜题,而无需猜测?

在这里猜测意味着尝试一个候选人,看看它有多远,如果发现与猜测的矛盾,回溯到猜测步骤并尝试另一个候选人;当所有候选人都筋疲力尽而没有成功时,回溯到上一个猜测步骤(如果有一个;否则拼图证明无效。)等等。

EDIT1:谢谢你的回复。

传统的数独意味着81-box数独,没有任何其他限制。让我们说我们知道解决方案是独一无二的,是否有任何算法可以保证在没有回溯的情况下解决它?回溯是一种通用工具,我没有任何问题,但是,使用通用工具来解决数独游戏会降低解密(手动或通过计算机)数独谜题的价值和乐趣。

人类如何解决所谓的“世界上最难的数独”,他需要猜测吗?

我听到一些研究人员意外发现他们的算法可以解决所有数据分析问题。这是真的,他们也必须猜测吗?

4 个答案:

答案 0 :(得分:3)

您可以使用人类用来解决sudokus的技术。如果只有一种可能性,只需跟踪每个方格中的每个可能的数字并放置一个数字。继续更新可能性,直到数独解决。您可以通过使用规则排除可能性或使用更复杂的推理。例如,如果在一行中两个正方形具有可能性1和2,则该行中的所有其他正方形不能为1或2.

但是,请记住,并非每个数独游戏都有独特的解决方案,并且并非每个数独游戏都能通过此方法解决。

编辑:可以在这里找到更复杂的人类技术:

http://www.sudokudragon.com/sudokustrategy.htm

答案 1 :(得分:2)

不是一个可靠的答案,只是FYI:

有一个online Sudoku solver解决问题,如人(而不是计算机),具有以下策略。

  

1:隐藏的单身人士   2:裸对/三对

  3:隐藏对/三元组
  4:裸体四边形
  5:指向对   6:箱/线减少
  艰难的策略==========
  7:X-Wing
  8:简单着色
  9:Y-Wing
  10:剑鱼   11:XYZ Wing
  恶魔般的策略==========
  12:X循环
  13:XY链
  14:3D美杜莎
  15:果冻鱼
  16:独特的矩形
  17:扩展的唯一矩形。
  18:隐藏的独特矩形
  19:WXYZ Wing
  20:对齐排除对   极端策略==========
  21:分组X循环
  22:空矩形
  23:Fin-X-Wing
  24:Finned Sword-Fish
  25:Altern。推理链
  26:Sue-de-Coq
  27:数字强制链
  28:西尾强迫链子   29:细胞强迫链
  30:单位强制链
  31:几乎锁定的组件   32:死亡之花   33:模式叠加方法
  34:四强迫链
  “试验和错误”==========
  35:鲍曼的宾果

我通过导入从Android Sudoku应用程序的“非常难”级别中选择的数独来尝试它,我坚持了很长一段时间。解决方案解决了这个问题,使用的最先进的策略是“3D Medusa”,真的令人印象深刻。

关于最后一个策略,

  Bowman的Bingo并没有解决所有'分叉'的Sudokus,但如果彻底应用它将破解超过80%的。它不是Tabling或Nishio的灵丹妙药,但它更容易做,并且如果你的最后二十个左右未解决的方块,它会更好。

答案 2 :(得分:1)

如果您只想要任何算法而无需猜测,您可以在大型查找表中编写所有传统的sudokus及其解决方案。您的算法将进行查找。没有猜测(但查找表对我来说仍然很脏)。

" [...]贾维斯/拉塞尔计算出基本不同(对称不同)解的数量为5,472,730,538。" (来自https://en.wikipedia.org/wiki/Mathematics_of_Sudoku#Enumerating_essentially_different_Sudoku_solutions

答案 3 :(得分:0)

已发现一种确定性的算法(即没有回溯),并保证找到所有数独问题的解决方案,但它非常复杂。

详细信息可以在这里找到: http://www.nature.com/srep/2012/121011/srep00725/full/srep00725.html