Dynamic symmetry-breaking for Boolean satisfiability

With impressive progress in Boolean Satisfiability (SAT) solving and several extensions to pseudo-Boolean (PB) constraints, many applications that use SAT, such as high-performance formal verification techniques are still restricted to checking satisfiability of certain conditions. However, there is also frequently a need to express a preference for certain solutions. Extending SAT-solving to Boolean optimization allows the use of objective functions to describe a desirable solution. Although recent work in 0–1 Integer Linear Programming (ILP) offers extensions that can optimize a linear objective function, this is often achieved by solving a series of SAT or ILP decision problems. Our work articulates some pitfalls of this approach. An objective function may complicate the use of any symmetry that might be present in the given constraints, even when the constraints are unsatisfiable and the objective function is irrelevant. We propose several new techniques that treat objective functions differently from CNF/PB constraints and accelerate Boolean optimization in many practical cases. We also develop an adaptive flow that analyzes a given Boolean optimization problem and picks the symmetry-breaking technique that is best suited to the problem characteristics. Empirically, we show that for non-trivial objective functions that destroy constraint symmetries, the benefit of static symmetry-breaking is lost but dynamic symmetry-breaking accelerates problem-solving in many cases. We also introduce a new objective function, Localized Bit Selection (LBS), that can be used to specify a preference for bit values in formal verification applications.

[1]  Rudy Lauwereins,et al.  Design, Automation, and Test in Europe , 2008 .

[2]  Andreas Kuehlmann,et al.  A fast pseudo-Boolean constraint solver , 2003, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[3]  Joao Marques-Silva,et al.  GRASP-A new search algorithm for satisfiability , 1996, Proceedings of International Conference on Computer Aided Design.

[4]  Neil Yorke-Smith,et al.  Dynamic Symmetry Breaking in Constraint Programming and Linear Programming Hybrids , 2004 .

[5]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002 .

[6]  Igor L. Markov,et al.  Generic ILP versus specialized 0-1 ILP: an update , 2002, IEEE/ACM International Conference on Computer Aided Design, 2002. ICCAD 2002..

[7]  Steve Linton,et al.  Conditional Symmetry Breaking , 2005, CP.

[8]  Joao Marques-Silva,et al.  GRASP: A Search Algorithm for Propositional Satisfiability , 1999, IEEE Trans. Computers.

[9]  Igor L. Markov,et al.  Efficient symmetry breaking for Boolean satisfiability , 2003, IEEE Transactions on Computers.

[10]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002, Discret. Appl. Math..

[11]  Igor L. Markov,et al.  Symmetry breaking for pseudo-Boolean formulas , 2008, JEAL.

[12]  Rob A. Rutenbar,et al.  A comparative study of two Boolean formulations of FPGA detailed routing constraints , 2001, IEEE Transactions on Computers.

[13]  Randal E. Bryant,et al.  Effective use of boolean satisfiability procedures in the formal verification of superscalar and VLIW , 2001, DAC '01.

[14]  Igor L. Markov,et al.  Shatter: efficient symmetry-breaking for Boolean satisfiability , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[15]  Randal E. Bryant,et al.  Effective use of Boolean satisfiability procedures in the formal verification of superscalar and VLIW microprocessors , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[16]  James M. Crawford,et al.  Symmetry-Breaking Predicates for Search Problems , 1996, KR.

[17]  K. Sakallah,et al.  Generic ILP versus specialized 0-1 ILP: an update , 2002, ICCAD 2002.

[18]  Igor L. Markov,et al.  ShatterPB: symmetry-breaking for pseudo-Boolean formulas , 2004 .

[19]  Igor L. Markov,et al.  Solving difficult SAT instances in the presence of symmetry , 2002, Proceedings 2002 Design Automation Conference (IEEE Cat. No.02CH37324).

[20]  Igor L. Markov,et al.  Solving difficult instances of Boolean satisfiability in the presence of symmetry , 2003, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[21]  Karem A. Sakallah,et al.  GRASP—a new search algorithm for satisfiability , 1996, ICCAD 1996.

[22]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).