SAT-Solving:DPLL vs.?

时间:2015-06-07 17:32:27

标签: random brute-force stochastic sat-solvers sat

现在我正在撰写有关SAT解决的文章,我陷入了困境。我希望你能帮助我。

我想描述一些解决SAT-Problems的方法。现在我有三种不同的方式:

  1. 猜解
  2. 随机(天真)
  3. DPLL(具有不同的启发式方法)
  4. ?失踪?
  5. ...
  6. 我的问题是唯一有效的算法是DPLL(以及其他一些与DPLL略有不同的算法)。因此我没有什么比较DPLL。

    我的问题:如果你能告诉我一些不基于DPLL(DP)的算法,我可以将它与之进行比较,那将会很棒。

    以下是我发现的一些但无法确定它们是否是一个不错的选择,或者是否有更好的选择:

    • Monien-Speckenmeyer
    • Dantsin,Goerdt,Hirsch和Schöning
    • 的大小床-Pudlák-赞恩-Algorithmus
    • Hofmeister,Schöning,Schuler和Watanabe

    感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

最先进的sat解算器目前使用基于DPLL的CDCL(冲突驱动条款学习)。

答案 1 :(得分:1)

在您建议的SAT求解算法中,bruteforce和DPLL都是完整的算法,只要有足够的时间,就可以保证找到令人满意的任务或证明问题不可满足。正如百万提到的那样,CDCL是DPLL的进步,也是完整的。

如果您正在寻找替代方案,我建议您查看不完整算法。这些通常基于随机本地搜索,包括GSAT和WalkSAT。虽然这些算法无法保证找到答案,但它们传统上非常擅长解决随机(与工业相关)SAT问题。它们也被用于解决比实现基于DPLL的算法已经能够解决的任何求解器更大的SAT问题。

为了进一步研究,我推荐Biere的精彩书籍“可满足性手册”。