使用启发式方法解决数独:一个好主意吗?

我尝试使用’Drools Planner’软件包来解决一个部分初始化的数独谜题(报纸上常见的那种)。虽然它可以在3秒内从头生成一个(随机的)谜题,但它在解决部分初始化的谜题时会陷入循环。

问题:禁忌搜索和模拟退火等启发式方法在根本上是否不适合解决数独?我指的是完整性(是否能找到解)和效率(是否过于复杂)。

我的疑问源于数独谜题总是有确切且唯一的解,而启发式算法(据我所知)并不是设计来“达到这些解”的。


回答:

对于你的“是”或“不是”的问题,如果禁忌搜索和模拟退火等启发式方法不适合解决数独,我的回答是“是”。

这个问题对于局部搜索策略来说约束条件太多,效率不高。

数独是一个约束满足问题(CSP)的好例子,而CSP求解器非常擅长解决它。这并不意味着局部搜索不会起作用,或者启发式方法在一般情况下是坏主意,但这个问题可以通过传播约束条件来轻松解决。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注