现在我正在撰写有关SAT解决的文章,我陷入了困境。我希望你能帮助我。
我想描述一些解决SAT-Problems的方法。现在我有三种不同的方式:
我的问题是唯一有效的算法是DPLL(以及其他一些与DPLL略有不同的算法)。因此我没有什么比较DPLL。
我的问题:如果你能告诉我一些不基于DPLL(DP)的算法,我可以将它与之进行比较,那将会很棒。
以下是我发现的一些但无法确定它们是否是一个不错的选择,或者是否有更好的选择:
感谢您的帮助。
答案 0 :(得分:4)
最先进的sat解算器目前使用基于DPLL的CDCL(冲突驱动条款学习)。
答案 1 :(得分:1)
在您建议的SAT求解算法中,bruteforce和DPLL都是完整的算法,只要有足够的时间,就可以保证找到令人满意的任务或证明问题不可满足。正如百万提到的那样,CDCL是DPLL的进步,也是完整的。
如果您正在寻找替代方案,我建议您查看不完整算法。这些通常基于随机本地搜索,包括GSAT和WalkSAT。虽然这些算法无法保证找到答案,但它们传统上非常擅长解决随机(与工业相关)SAT问题。它们也被用于解决比实现基于DPLL的算法已经能够解决的任何求解器更大的SAT问题。
为了进一步研究,我推荐Biere的精彩书籍“可满足性手册”。