A fast SAT solver algorithm best suited to reconfigurable hardware

The majority of the existing reconfigurable hardware SAT solvers employ some variation of the Davis-Putnam algorithm; we propose a new algorithm for organizing the search in SAT Solvers best suited to reconfigurable architectures due to its vector-like operations. Its essence is to view each negated clause as a cube in the n-dimensional Boolean search space, and realizing that each of these clause-cubes denotes a sub-region of the search space where no satisfying assignments can be found. Starting from the universal cube, which represents the whole space, we systematically subtract all clause-cubes until we end up with a satisfying cube or an empty cube if the SAT formula is unsatisfiable. The algorithm for cube subtraction is the D-Sharp algorithm. We implemented this strategy in the well-known zChaff SAT solver. Improvements in execution time and number of aborted instances have been observed for the new algorithm. The test suite includes several instances from IBM-CNF BMC and Microprocessor's Formal Verification benchmarks. Given the breadth of the experimental software evaluation, we claim that D-Sharp subtraction search is an effective algorithm for improving the performance of SAT solvers and due to its data structure and bit-to-bit operations it is very well suited to reconfigurable hardware implementations. Design Automation (EDA).

[1]  Nachum Dershowitz,et al.  A Clause-Based Heuristic for SAT Solvers , 2005, SAT.

[2]  James E. Smith Detection of Faults in Programmable Logic Arrays , 1979, IEEE Transactions on Computers.

[3]  Marco Platzner,et al.  Dynamic circuit generation for Boolean satisfiability in an object-oriented design environment , 1999, Proceedings of the 32nd Annual Hawaii International Conference on Systems Sciences. 1999. HICSS-32. Abstracts and CD-ROM of Full Papers.

[4]  J. A. Robinson,et al.  Review: Martin Davis, George Logemann, Donald Loveland, A Machine Program for Theorem-Proving , 1967 .

[5]  Sharad Malik,et al.  Using configurable computing to accelerate Boolean satisfiability , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[6]  Daniel G. Saab,et al.  Satisfiability on reconfigurable hardware , 1997, FPL.

[7]  Iouliia Skliarova,et al.  Reconfigurable Hardware SAT Solvers: A Survey of Systems , 2003, FPL.

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

[9]  Roland H. C. Yap,et al.  Hardware Implementations of Real-Time Reconfigurable WSAT Variants , 2003, FPL.

[10]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[11]  William H. Mangione-Smith,et al.  Dynamic circuit generation for solving specific problem instances of Boolean satisfiability , 1998, Proceedings. IEEE Symposium on FPGAs for Custom Computing Machines (Cat. No.98TB100251).

[12]  Tracy Larrabee,et al.  A scalable, loadable custom programmable logic device for solving Boolean satisfiability problems , 2000, Proceedings 2000 IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00871).

[13]  M. Abramovici,et al.  A Configware/Software Approach to SAT Solving , 2001 .

[14]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[15]  Joao Marques-Silva,et al.  A Configurable Hardware/Software Approach to SAT Solving , 2001, The 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'01).

[16]  Philip Heng Wai Leong,et al.  A Runtime Reconfigurable Implementation of the GSAT Algorithm , 1999, FPL.

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

[18]  Monk-Ping Leong,et al.  A bitstream reconfigurable FPGA implementation of the WSAT algorithm , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[19]  Henry A. Kautz,et al.  Towards Understanding and Harnessing the Potential of Clause Learning , 2004, J. Artif. Intell. Res..

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

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

[22]  Daniel L. Ostapko,et al.  Fault Analysis and Test Generation for Programmable Logic Arrays (PLA's) , 1979, IEEE Transactions on Computers.

[23]  Viktor K. Prasanna,et al.  Run-time performance optimization of an FPGA-based deduction engine for SAT solvers , 2001, TODE.

[24]  Makoto Yokoo,et al.  Solving satisfiability problems using reconfigurable computing , 2001, IEEE Trans. Very Large Scale Integr. Syst..

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

[26]  Youssef Hamadi,et al.  Reconfigurable Architectures: A New Vision for Optimization Problems , 1997, CP.

[27]  Iouliia Skliarova,et al.  A software/reconfigurable hardware SAT solver , 2004, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[28]  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).