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,
with the goal of producing a set of smaller formulas whose satisfiability
can be determined within reasonable time frames by known algorithms.
CNF formula partitioning can be viewed as hypergraph partitioning,
which has been studied extensively in VLSI design.

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. 译文:对几种启发式进行了描述和实验研究。


Some formulas from circuit applications that were extremely difficult or impossible for existing algorithms have been solved. 译文:一些电路应用中的公式对于现有的算法来说是极其困难的或不可能的。

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
is to partition a large difficult formula into smaller formulas that (in the worst case)
must each be solved. 译文:其主要思想是将一个大而难的公式分解成较小的公式,(在最坏的情况下)每个公式都必须求解。

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
that, if these clauses are removed from the formula, the remaining variables (the vertices of the hypergraph) fall into two or more groups (connected components) that are not related by any remaining clause. This natural method has not proven successful on large formulas, for reasons discussed in Section 2.

 

译文:从这个观点来看,超图切割问题包括找到一组有利的“切割”子句,这样,如果这些子句从公式中删除,剩下的变量(超图的顶点)就会落入两个或更多的组(连接组件),这些组与任何剩余子句都不相关

   
 

The approach introduced here considers the dual of the above hypergraph, which is
also a hypergraph. 译文:本文所介绍的方法考虑了上述超图的对偶,它也是一个超图。

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
in the eventual application. 译文:选择超图的双视图而不是常规方法的原因在于最终的应用。

At a high level, the partition is used as follows: For
each partial assignment required by the cut set, apply the assignment to the induced
subformulas F1 and F2 , making them independent. Now try to find models of F1
and F2 independently. A model in this context is a partial truth assignment that
satisfies the formula. If this process ever succeeds, a model for the entire formula
has been found. However, to demonstrate unsatisfiability it is necessary to show
that the process fails for all required partial assignments.

   
 

The difference between the two hypergraph views lies in what partial assignments are
required. For the usual view, the cut set is a set of clauses, and all partial assignments that 

satisfy this set of clauses are required. The number of variables in this cut set can be
significantly larger than the number of clauses, and the number of satisfying partial
assignments can be exponential in the number of variables involved. The number of
required partial assignments is not directly related to the cardinality of the cut set.

   
   

For the new view, the cut set is a set of variables. The required partial
assignments are all partial assignments to these variables that satisfy the clauses (if
any) that consist entirely of variables (positive or negative) in the cut set. While this
number is exponential also, it is directly related to the cardinality of the cut set, so
an algorithm to find small cut sets is more likely to achieve a useful partition.

   
   

As further motivation for the new hypergraph view, consider that a formula typi-
cally has more clauses than variables. In VLSI design, there are many more gates,
which correspond to vertices, than wires, which correspond to hyperedges. Thus we
expected that partitioning algorithms from that domain would transfer more
effectively for the new hypergraph view.

   
   

 

   

 

   

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
hypergraph partitioning algorithms (see [PVG96] for detail), we implemented the
hypergraph min-cut algorithm by Fiduccia and Mattheyses [FM82]. 

译文:在众多可用的超图划分算法中(详见[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
compatible assignment is found or no more assignments can be generated.

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变量。


Then the don't-care variables (unassigned cut variables) can have any binding when searching for a model of F2 . 译文:然后,在搜索F2模型时,不关心的变量(未分配的切割变量)可以有任何绑定。

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 .
Thus, only the bound cut variables in the model of F1 are forced on F2 as a set of
unit clauses constraints.

译文: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-
proving, Commun. Assoc. Comput. Mach. 5, 394-397.


[DP60] Davis, M., and Putnam, H. (1960), A computing procedure for quantification theory,
J. Assoc. Comput. Mach. 7, 201-215.


[FM82] Fiduccia, C., and Mattheyses, R. (1982), A linear-time heuristic for improving network
partition, in ``ACM IEEE 19th Design Automation Conference Proceedings,'' pp. 175-181.


[GLP93] Gallo, G., Longo, G., and Pallottino, S. (1993), Directed hypergraph and applications,
Discrete Appl. Math. 42, 177-201.


[GU89] Gallo, G., and Urbani, G. (1989), Algorithms for testing the satisfiability of propositional
formulae, J. Logic Progr. 7, 45-61.


[PVG96] Park, T. J., and Van Gelder, A. (1996), Partitioning methods for satisfiability testing on large
formulas, in ``Proceedings 13th International Conference on Automated Deduction, New
Brunswick,'' Lecture Notes in Artificial Intelligence, Vol. 1104, pp. 748762, Springer-Verlag,
Berlin.


[VGT96] Van Gelder, A., and Tsuji, Y. K. (1996), Satisfiability testing with more reasoning and less
guessing, in ``Cliques, Coloring, and Satisfiability: Second DIMACS Implementation and
Challenge'' (D. S. Johnson and M. Trick, Eds.), DIMACS Series in Discrete Mathematics
and Theoretical Computer Science, Amer. Math. Soc., New York.

   
posted on 2021-09-19 10:30  海阔凭鱼跃越  阅读(91)  评论(0编辑  收藏  举报