On Solving Boolean Optimization with Satisfiability-Based Algorithms

This paper proposes new algorithms for the Binate Covering Problem (BCP), a well-known restriction of Boolean Optimization. Binate Covering finds application in many areas of Computer Science and Engineering. In Artificial Intelligence, BCP can be used for computing minimum-size prime implicants of Boolean functions, of interest in Automated Reasoning and Non-Monotonic Reasoning. Binate Covering is also an essential modeling tool in Electronic Design Automation (EDA). The objectives of the paper are to briefly review algorithmic solutions for BCP, and to describe how to apply search pruning techniques from the Boolean Satisfiability (SAT) domain to BCP. Furthermore, we generalize these pruning techniques, in particular the ability to backtrack non-chronologically, to exploit the actual formulation of the binate covering problem. Experimental results, obtained on representative instances indicate that the proposed techniques provide significant performance gains for different classes of instances.

[1]  Giovanni De Micheli,et al.  Synthesis and Optimization of Digital Circuits , 1994 .

[2]  Clara Pizzuti Computing prime implicants by integer programming , 1996, Proceedings Eighth IEEE International Conference on Tools with Artificial Intelligence.

[3]  Fabio Somenzi,et al.  Logic synthesis and verification algorithms , 1996 .

[4]  Tiziano Villa,et al.  Explicit and implicit algorithms for binate covering problems , 1997, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[5]  Tiziano Villa,et al.  Negative thinking by incremental problem solving: application to unate covering , 1997, 1997 Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[6]  CoudertOlivier Two-level logic minimization: an overview , 1994 .

[7]  Vasco M. Manquinho,et al.  Prime implicant computation using satisfiability algorithms , 1997, Proceedings Ninth IEEE International Conference on Tools with Artificial Intelligence.

[8]  Journal of the Association for Computing Machinery , 1961, Nature.

[9]  Olivier Coudert,et al.  Two-level logic minimization: an overview , 1994, Integr..

[10]  Olivier Coudert,et al.  New Ideas for Solving Covering Problems , 1995, 32nd Design Automation Conference.

[11]  Paulo F. Flores,et al.  An exact solution to the minimum size test pattern problem , 1998, Proceedings International Conference on Computer Design. VLSI in Computers and Processors (Cat. No.98CB36273).

[12]  Olivier Coudert,et al.  On solving covering problems , 1996, DAC '96.

[13]  Paulo F. Flores,et al.  An exact solution to the minimum size test pattern problem , 2001, TODE.

[14]  Srinivas Devadas,et al.  Solving Covering Problems Using LPR-based Lower Bounds , 1997, Proceedings of the 34th Design Automation Conference.

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

[16]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

[17]  P. Barth A Davis-Putnam based enumeration algorithm for linear pseudo-Boolean optimization , 1995 .

[18]  Hantao Zhang,et al.  SATO: An Efficient Propositional Prover , 1997, CADE.

[19]  James F. Gimpel A Reduction Technique for Prime Implicant Tables , 1964, IEEE Trans. Electron. Comput..

[20]  Roberto J. Bayardo,et al.  Using CSP Look-Back Techniques to Solve Real-World SAT Instances , 1997, AAAI/IAAI.

[21]  Tiziano Villa,et al.  Negative thinking by incremental problem solving: application to unate covering , 1997, ICCAD 1997.