我有兴趣将部分加权最大SAT转换为SAT。我被推荐通过CIRCUIT SAT。
部分加权最大SAT由一组硬条款和一组加权软条款组成。我们寻求一个满足所有硬条款的任务,并从软条款中获得至少一个k的权重。
我如何将其编码为布尔组合电路?
我可以看到如何轻松编码硬条款。但是我如何编码软条款,并将权重与它们相关联,并确保通过令人满意的赋值来实现至少为k的权重?
由于
答案 0 :(得分:1)
您需要将Partial Weighted Max SAT编码为伪布尔问题。
只需将硬条款视为权重较高的加权条款,并调整目标值(总和)。
要将其编码为SAT公式,您可以使用SMT求解器中嵌入的技术,例如:
要了解如何,这是一篇来自MiniSAT +创作者的文章(Translating Pseudo-Boolean Constraints into SAT),他将帮助您理解。
从SAT到Circuit SAT,你将不得不使用Tseitin transformation,你的问题将得到解决:)。