SAT-解决一个热门约束系统

时间:2013-05-28 05:29:50

标签: satisfiability sat-solvers

我正在尝试解决仅由单热约束组成的SAT问题。现在我正在使用Claessen在Sec中提出的单热编码。 [1]的4.2和MiniSAT。

我想知道是否有更好的方法来解决这样的问题,例如:与基于CNF的SAT求解器相比,这类求解器更能匹配这类问题。我搜索了一下但是找不到关于SAT和一热限制的信息。

[1] Successful SAT Encoding Techniques. Magnus Bjiirk. 25th July 2009

1 个答案:

答案 0 :(得分:1)

Satisfiability modulo theorem解算器通常是表达数学问题的好选择,否则最终会使用单热CNF编码。一个关键的见解是,单独使用CNF和基于DPLL的求解器,您只能限制单元传播可以有效发现的内容。在更高的抽象层次上,有一些数字和集合理论可用于在选择性地将SAT求解器应用于更合适的子问题之前修剪搜索空间。这就是SMT给你的东西,以及表达能力和表达关系的更愉快的语言。

但是,如果您遇到没有相关更高级数学问题的单热约束,那么有更有效的方法来编码onehot约束,这些约束只需要线性数量的新子句来表示关系,而不是通常的二次增加。参见

Klieber和Kwon

Efficient CNF Encoding for Selecting 1 from N Objects