我编写了一个解算器/生成器,它可以相对快速地为我提供 25 条或更多线索的不同难度的谜题。然而,如果我尝试生成一个线索数量少于该数量(从 17 到 24 条)的数独,则需要很长时间。
这是我的算法的样子:
我看到的可能问题:
我看到一些谜题创作者提到他们在几次通过中删除线索,并在每一次通过中尝试解决方案。我已经用我的求解器尝试了类似的方法,但我并没有真正看到任何变化。
我只实施了17个策略,有鳍鱼和n=4以下的鱼(水母)。我缺少更强大的技术,例如着色。这也能成为问题吗?
动态生成 100,000 个填充板不是问题。我测量了时间,当然生成器创建它们需要一些时间,但这对我试图解决的问题确实没有影响。
有什么想法可以改进我的求解器吗?根据您的经验,我应该在哪些方面花费最多的时间来改进它?是在求解器本身上,还是在板生成过程中,还是在线索删除过程中?
我注意到起始数字少于 25 个的数独在某些时候需要猜测。我已经解决过几次 24 的问题,但从来没有解决过 23 或更少的问题。为什么要用计算机程序来解决谜题——那一点也不有趣。我用铅笔和我。