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编码在枚举中也同样有效。在本文中,我们从理论和实证两方面研究CNF转化在SAT枚举问题中的有效性。在负面方面,我们表明:(i)Tseitin 变换阻止求解器产生短的部分满足分配方案,从而严重影响枚举的有效性;(ii) Plaisted&Greenbaum 变换只在部分方面解决了这个问题。在积极的方面,我们表明将 Plaisted&Greenbaum 变换与NNF预处理一起使用(通常不用于求解),可以完全解决这个问题,可以显著减少部分分配的数量和执行时间。