Partitioning Methods for Satisfiability Testing on Large Formulas
Tai Joon Park and Allen Van Gelder
Computer Science Department, 237 BE, University of California, Santa Cruz, California 95064
E-mail: avgcse.ucsc.edu
第三节提出的两种划分方法,将现有的可满足性测试程序合并为子程序,用于大规模集成电路设计(VLSI的设计方法)。
Abstract
Methods for partitioning large propositional formulas are investigated, Although CNF formulas have been considered as hypergraphs before, we found that this viewpoint was not productive for partitioning, and we introduce a new viewpoint in the dual hypergraph. 译文:虽然CNF公式以前也被认为是超图,但我们发现这种观点对划分并不有效,因此我们在对偶超图中引入了一种新的观点。 Hypergraph partitioning technology from VLSI design is adapted to this problem. 译文:超大规模集成电路设计中的超图划分技术就是为了解决这一问题。 The overall goal of satisfiability testing requires criteria different from those used in VLSI design. 译文:满足性测试的总体目标要求的标准与VLSI设计中使用的标准不同。 Several heuristics are described and investigated experimentally. 译文:对几种启发式进行了描述和实验研究。
However, the method is not useful on formulas with little or no structure, such as randomly generated formulas. 译文:然而,该方法对结构很少或没有结构的公式是没有用的,如随机生成的公式。
在对偶超图中引入了一种新的观点。 译文:满足性测试的总体目标要求的标准与VLSI设计中使用的标准不同。 译文:对几种启发式进行了描述和实验研究。 译文:该方法对于结构很少或没有结构的公式,如随机生成的公式是没有用的。
|
|
1. INTRODUCTION
The propositional satisfiability decision problem arises frequently as a subproblem in other applications, such as automated verification and automated theorem proving. 译文:命题可满足性决策问题在自动验证和定理自动证明等应用中经常作为子问题出现。 Such applications may generate very large formulas, some of which are beyond the capabilities of known algorithms. 译文:这样的应用程序可能会生成非常大的公式,其中一些公式超出了已知算法的能力。 Typically, these applications incorporate a satisfiability tester, as a subroutine, that performs well for most of the formulas generated by the application. 译文:通常,这些应用程序将满足性测试器作为子例程合并在一起,该子例程对应用程序生成的大多数公式执行良好。 However, for some formulas it keeps on running beyond acceptable time limits. 译文:然而,对于某些公式,它会持续运行超过可接受的时间限制。 What can the application do? Some applications can afford to give up and try something else. In other cases, failure to solve this formula is critical and the whole application fails. Our research is directed toward providing a satisfiability tester of last resort to be brought in on critical formulas where standard methods have failed. 译文:我们的研究是为了提供一个最后的可满足性测试器,用于标准方法失败的临界公式。 |
|
This paper summarizes results presented at CADE-13 [PVG96]. The main idea However, due to the exponential behavior of all known satisfiability decision algorithms, the smaller formulas may be many orders of magnitude easier for the standard satisfiability subroutine. 译文:然而,由于所有已知的可满足性决策算法的指数行为,对于标准可满足性子程序来说,更小的公式可能更容易多个数量级。 Because of the overhead of formula partitioning, this method would only be invoked when the standard subroutine was unable to solve a problem within reasonable resource limits. 译文:由于公式划分的开销,只有当标准子例程无法在合理的资源限制内解决问题时,才会调用此方法。 |
|
The two partitioning methods (see Section 3) incorporate an existing satisfiability tester as a subroutine. 译文:这两种划分方法(见第3节)将现有的可满足性测试程序合并为子程序。 The first heuristic can be combined with any complete satisfiability algorithm. However, the second heuristic requires limited interaction with the underlying satisfiability algorithm and can be combined with most model searching algorithms, such as variants of the DavisPutnamLovelandLogemann (DPLL) scheme [DP60, DLL62].译文:第二种启发式算法需要与底层满足度算法进行有限的交互,并且可以与大多数模型搜索算法相结合 Our study combined with an existing tester program showed greatly increased efficiency on several circuit formulas that were extremely difficult or impossible for other known methods (see Fig. 3). 译文:我们的研究结合了一个现有的测试程序,在一些电路公式上大大提高了效率,这对于其他已知方法来说是极其困难或不可能的(见图3)。 |
|
Both heuristics are based on partitioning the input formula into two or more subformulas. Partitioning an input formula naturally fits into the hypergraph cut problem, and it represents a process that analyzes the input formula structure. Methods from VLSI design have been adapted to this problem effectively. 译文:VLSI的设计方法已经有效地适应了这个问题。 To be useful, the cut must achieve some degree of balance in the resulting connected components and must be small in some sense. 译文:为了有用,切割必须在最终连接的部件中达到某种程度的平衡,并且在某种意义上必须很小。 Except for the hyperedges that occur in multiple subformulas, the structural analysis of the input formula results in subformulas that are independent of each other. 译文:对输入公式进行结构分析,除了多个子公式中出现超边外,还得到了相互独立的子公式。 |
|
CNF formulas have been studied as hypergraphs before [GU89, GLP93]. The normal approach is to define each clause as a hyperedge connecting all the variables, or perhaps the literals, that occur in the clause. 译文:通常的方法是将每个子句定义为连接子句中出现的所有变量或字面量的超边。 From this viewpoint the hypergraph cut problem consists of finding a favorable set of ``cut'' clauses, such
译文:从这个观点来看,超图切割问题包括找到一组有利的“切割”子句,这样,如果这些子句从公式中删除,剩下的变量(超图的顶点)就会落入两个或更多的组(连接组件),这些组与任何剩余子句都不相关。 |
|
The approach introduced here considers the dual of the above hypergraph, which is In this new viewpoint, each variable is defined as a hyperedge connecting all the clauses in which it occurs. 译文:在这种新的观点中,每个变量都被定义为连接它所在的所有子句的超边。 Each clause is a vertex now. In this context the hypergraph cut problem consists of finding a favorable set of cut variables, such that, if these variables are removed from the formula, the remaining clauses fall into two or more groups (connected components) that are not related by any remaining variable. 译文:在这种情况下,超图切割问题包括找到一组有利的切割变量,这样,如果这些变量从公式中移除,其余的子句就会落入两个或更多组(连通分量),这些组与任何剩余的变量都不相关。 |
|
2. CNF FORMULA PARTITIONING
The reason to prefer the dual view of a hypergraph over the normal approach lies At a high level, the partition is used as follows: For |
|
The difference between the two hypergraph views lies in what partial assignments are satisfy this set of clauses are required. The number of variables in this cut set can be |
|
For the new view, the cut set is a set of variables. The required partial |
|
As further motivation for the new hypergraph view, consider that a formula typi- |
|
|
|
|
|
The partition of F into F1 and F2 can be viewed as a hypergraph cut problem, and it has been studied extensively in VLSI、PCB CAD. 译文:将F划分为F1和F2可以看作是一个超图切割问题,在超大规模集成电路(VLSI)、PCB CAD中得到了广泛的研究。
Among the many available 译文:在众多可用的超图划分算法中(详见[PVG96]),我们实现了由Fiduccia和Mattheyses [FM82]实现的超图最小切割算法。 |
|
3. THE TWO PARTITIONING HEURISTICS
3.1. Motivation | |
|
|
3.2. Exploring the Cut-Set Search Space | |
For each assignment to the cut variables, F1 and F2 simplify into formulas that have no variables in common. They can then be tested independently. F is satisfiable if and only if there is some compatible assignment to the cut variables that makes the resulting simplifications of F1 and F2 satisfiable. 译文:F是可满足的,当且仅当对cut变量有某种相容的赋值,使得到的简化F1和F2是可满足的. |
|
The first heuristic exhaustively generates assignments to the cut variables until a However, the second heuristic--the main innovation presented--begins by trying to satisfy one of the partitioned formulas while delaying the bindings to cut variables.译文:然而,第二个启发式方法——提出的主要创新——首先尝试满足一个划分公式,同时延迟对绑定切割变量。 When the formula can be satisfied with just a few cut variables bound, there is a potential to greatly reduce the search space for a compatible assignment.译文:当公式仅满足几个截断变量的界时,就有可能大大减少相容赋值的搜索空间。 When the subformula F1 is satisfiable, the model of F1 may not have bindings to all cut variables. 译文:当子公式F1是可满足的,F1的模型可能没有绑定到所有cut变量。
No matter what truth assignments are made to the don't-care variables in F2 , those assignments cannot be conflict variables between. 译文:不管对F2中的无关变量做了什么赋值,这些赋值都不能是冲突变量。 |
|
|
|
F1 and F2 since there are no truth assignments made to don't-care variables in F1 . 译文:F1和F2,因为F1中有无真相赋值给不关心的变量。因此,仅将F1模型中的界割变量作为一组单位子句约束强加到F2上。 |
|
4. EXPERIMENTAL RESULTS
The result of partitioning test formulas is shown in Fig. 2 (see [PVG96] for more detail). All of the test formulas are unsatisfiable instances. A comparison of the running time between 2cl (a model-searching method [VGT96]) and MSAT (our partitioning method, built over 2cl, and using the second heuristic in Section 3.2) is shown in Fig. 3. In general, MSAT resulted in significant speed gain. 译文:总的来说,MSAT带来了显著的速度增益 For example, 2cl spent about 200 CPU hours to determine the satisfiability of c5315-3, but for MSAT it took less than 5 CPU minutes. The extreme increase of efficiency for some formulas was possible because the partitioning step extracts the structural information of the input formulas, and MSAT avoids forcing unnecessary combinations of truth assignments on the cut set. 译文:由于分块步骤提取了输入公式的结构信息,MSAT避免了切割集上强加不必要的真值赋值组合,因此某些公式的效率有可能得到极大提高。 |
|
|
|
5. CONCLUSION
We have introduced two heuristics that are based on partitioning an input formula. These two heuristics are control programs that can incorporate an existing SAT tester as a subroutine. For some of the circuit formulas, the two heuristics showed a significant gain of efficiency with little (or no) modification of the existing SAT tester. 译文:我们已经介绍了两种基于输入公式划分的启发式方法。这两个启发式是控制程序,可以合并现有的SAT测试程序作为子程序。对于一些电路公式,这两种启发式方法显示了显著的效率增益,几乎(或没有)修改现有的SAT测试器。
This supports our intuition that dealing with subformulas can be within the reach of existing SAT testers although the original formula may not be. 译文:这支持了我们的直觉,即现有的SAT考生可以处理子公式,尽管原始公式可能不是。 |
|
REFERENCES
[DLL62] Davis, M., Logemann, G., and Loveland, D. (1962), A machine program for theorem-
|
|