Modern SAT solvers are designed to handle problems expressed in Conjunctive Normal Form (CNF) so that non-CNF problems must be CNF-ized upfront, typically by using variants of either Tseitin or Plaisted&Greenbaum transformations. When passing from solving to enumeration, however, the capability of producing partial satisfying assignment that are as small as possible becomes crucial, which raises the question of whether such CNF encodings are also effective for enumeration. In this paper, we investigate both theoretically and empirically the effectiveness of CNF conversions for SAT enumeration. On the negative side, we show that: (i) Tseitin transformation prevents the solver from producing short partial assignments, thus seriously affecting the effectiveness of enumeration; (ii) Plaisted&Greenbaum transformation overcomes this problem only in part. On the positive side, we show that combining Plaisted&Greenbaum transformation with NNF preprocessing upfront -- which is typically not used in solving -- can fully overcome the problem and can drastically reduce both the number of partial assignments and the execution time.
翻译:现代SAT求解器被设计用于处理以合取范式(CNF)表示的问题,因此非CNF问题必须事先通过Tseitin或Plaisted&Greenbaum变换的变体进行转换。然而,当从求解转到枚举时,产生尽可能小的部分满足赋值的能力变得至关重要,这引发了一个问题:这种CNF编码在枚举中是否也有效。在本文中,我们从理论和实证两方面探讨了CNF转换用于SAT枚举的效果。在负面方面,我们展示了:(i)Tseitin转换阻止求解器生成短的部分满足赋值,从而严重影响了枚举的效力;(ii)Plaisted&Greenbaum转换在一定程度上克服了这个问题。在正面方面,我们证明了将Plaisted&Greenbaum转换与未经常用的NNF预处理相结合可以充分克服这个问题,并且可以极大地减少部分赋值的数量和执行时间。