Improving SAT Solver Efficiency Using a Multi-Core Approach

Many practical problems in multiple fields can be converted to a SAT problem, or a sequence of SAT problems, such that their solution immediately implies a solution to the original problem. Despite the enormous progress achieved over the last decade in the development of SAT solvers, there is strong demand for higher algorithm efficiency to solve harder and larger problems. The widespread availability of multi-core, shared memory parallel environments provides an opportu- nity for such improvements. In this paper we present our re- sults on improving the effectiveness of standard SAT solvers on such architectures, through a portfolio approach. Multiple instances of the same basic solver using different heuristic strategies, for search-space exploration and problem analy- sis, share information and cooperate towards the solution of a given problem. Results from the application of our methodol- ogy to known problems from SAT competitions show relevant improvements over the state of the art and yield the promise of further advances.

[1]  Armin Biere Lingeling, Plingeling, PicoSAT and PrecoSAT at SAT Race 2010 , 2010 .

[2]  Bernd Becker,et al.  PaMira - A Parallel SAT Solver with Knowledge Sharing , 2005, 2005 Sixth International Workshop on Microprocessor Test and Verification.

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

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

[5]  Lakhdar Sais,et al.  ManySAT: a Parallel SAT Solver , 2009, J. Satisf. Boolean Model. Comput..

[6]  Bernd Becker,et al.  PaMiraXT: Parallel SAT Solving with Threads and Message Passing , 2009, J. Satisf. Boolean Model. Comput..

[7]  Bart Selman,et al.  Boosting Combinatorial Search Through Randomization , 1998, AAAI/IAAI.

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

[9]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[10]  Nachum Dershowitz,et al.  Parallel Multithreaded Satisfiability Solver: Design and Implementation , 2005, PDMC.

[11]  Armando Tacchella,et al.  Theory and Applications of Satisfiability Testing , 2003, Lecture Notes in Computer Science.

[12]  Paulo F. Flores,et al.  PMSat: a parallel version of MiniSAT , 2008, J. Satisf. Boolean Model. Comput..

[13]  Julian Stecklina,et al.  A short overview on modern parallel SAT-solvers , 2011, 2011 International Conference on Advanced Computer Science and Information Systems.

[14]  Kazunori Ueda,et al.  c-sat: A Parallel SAT Solver for Clusters , 2009, SAT.

[15]  Eric Horvitz,et al.  Dynamic restart policies , 2002, AAAI/IAAI.

[16]  Vasco M. Manquinho,et al.  Improving Search Space Splitting for Parallel SAT Solving , 2010, 2010 22nd IEEE International Conference on Tools with Artificial Intelligence.