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,
在对偶超图中引入了一种新的观点。 译文:满足性测试的总体目标要求的标准与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- |
|
|
|
文献学习--Partitioning Methods for Satisfiability Testing on Large Formulas