Artificial intelligence 用启发式解决数独问题:好主意?

Artificial intelligence 用启发式解决数独问题:好主意?,artificial-intelligence,drools,heuristics,simulated-annealing,tabu-search,Artificial Intelligence,Drools,Heuristics,Simulated Annealing,Tabu Search,我试图用“Drools Planner”软件包解决一个部分初始化的数独难题(报纸上出现的那种)。虽然它可以在3秒内从零开始生成一个(随机)拼图,但它却陷入了一个循环中,无法解决部分初始化的拼图 问题:禁忌搜索和模拟退火等启发式方法从根本上说是数独的错误选择吗?我说的是完整性(解决方案能否达成)和效率(是否过份) 我的怀疑来自这样一个事实:数独游戏总是有一个精确的单一解,而启发式算法(AFAIK)并不是为“达到它们”而设计的 对于数独来说,禁忌搜索和模拟退火等启发式方法从根本上来说是一个糟糕的选择

我试图用“Drools Planner”软件包解决一个部分初始化的数独难题(报纸上出现的那种)。虽然它可以在3秒内从零开始生成一个(随机)拼图,但它却陷入了一个循环中,无法解决部分初始化的拼图

问题:禁忌搜索和模拟退火等启发式方法从根本上说是数独的错误选择吗?我说的是完整性(解决方案能否达成)和效率(是否过份)

我的怀疑来自这样一个事实:数独游戏总是有一个精确的单一解,而启发式算法(AFAIK)并不是为“达到它们”而设计的

对于数独来说,禁忌搜索和模拟退火等启发式方法从根本上来说是一个糟糕的选择吗


是的,如果仅仅因为一个好的约束传播算法可以非常快地解决数独问题,那么根本不需要启发式。此外,你(确实)不想得到数独的部分解。

我对你的是/否问题的回答是肯定的,如果禁忌搜索和模拟退火等启发式方法是解决数独的错误选择的话

这个问题有太多的限制,使得局部搜索策略无法有效执行


数独是约束满足问题(CSP)的一个很好的例子,CSP求解者非常擅长解决它。这并不意味着局部搜索不起作用,也不意味着启发式通常是个坏主意,但通过传播约束可以很容易地解决这个问题。

对于像9x9数独这样的问题,一个加密的暴力搜索可以很快找到解决方案。此外,由于可以确定找到所有解,它还将确定数独是否正确形成,因为它有一个唯一的解。

数独谜题可以有多个solution@Sentry-关键是他们没有。至少不是精心设计的。将问题更新为“报纸上出现的那种”,以澄清问题misconception@atornblad如果你在报纸上发现数独谜语,你可能是对的。但是数独的一般问题类也包括一个9x9的网格,其中只有一个初始数字。我刚刚看到更新的问题;)