CNF简化

时间:2014-05-04 20:27:16

标签: optimization satisfiability cnf

鉴于一系列条款,我想首先检查它们是否令人满意。如果它们是,我想简化它们并创建CNF,例如,(a OR b)^(NOT b)应简化为:a ^(NOT b)。我只使用命题公式。我试图使用Java SAT4j库来做到这一点。它可以告诉我这些条款是否可以满足,但似乎没有任何方法可以让我返回简化的CNF。我能做些什么来有效地简化CNF?是否有任何Java或Python实现?

1 个答案:

答案 0 :(得分:3)

您可以使用Norbert Manthey的 Riss3g Coprocessor来简化您的CNF

SAT解算器minisat 2允许store the preprocessed CNF in a file

Lingeling,来自奥地利的SAT求解程序有一个选项"-s"来简化CNF条款。

要将布尔表达式转换为简化的CNF,您可以使用bc2cnf