相关:CNF simplification(事实上,我认为该问题的提交者可能已经在我想要的地方之后)
存在许多工具用于简化(或在解决之前“预处理”)DIMACS格式CNF公式,并且大多数SAT求解器包含一些。然而,我所知道的只是将一个简单可满足的公式简化为具有零个或一个变量的平凡可满足的CNF,即它们仅试图保持公式的可满足性。我至少尝试过SatELite和cryptominisat的预处理模式。
然而,对于构建一个大问题的CNF,在我看来,一次简化一个明确定义的问题子集是非常有用的,这可能会在最后一次重复很多次CNF在这些子公式中的某些变量之间存在额外的约束。
那么,是否存在任何工具,或者普通的SAT求解器(或其他求解器,如我用来制作CNF的其他求解器,我想最小化)可以某种方式用于某些聪明,以简化CNF公式保留给定变量集的所有解?
答案 0 :(得分:2)
Coprocessor SAT预处理器可以做你想要的。它可以给出一个可选的变量范围,并且只在该范围内应用等效保留的简化。在该范围之外,它将应用更强大,可满足的保留简化。至少在版本2中就是这种情况。
答案 1 :(得分:1)
也许不是你想要的,但espresso系统(http://embedded.eecs.berkeley.edu/pubs/downloads/espresso/)可以做布尔简化。它已经有20多年的历史了,但它仍然在行业中用于它的作用。
答案 2 :(得分:1)