Incorporating Learning in Grid-Based Randomized SAT Solving

Computational Grids provide a widely distributed computing environment suitable for randomized SAT solving. This paper develops techniques for incorporating learning, known to yield significant speed-ups in the sequential case, in such a distributed framework. The approach exploits existing state-of-the-art clause learning SAT solvers by embedding them with virtually no modifications. We show that for many industrial SAT instances, the expected run time can be decreased by carefully combining the learned clauses from the distributed solvers. We compare different parallel learning strategies by using a representative set of benchmarks, and exploit the results to devise an algorithm for learning-enhanced randomized SAT solving in Grid environments. Finally, we experiment with an implementation of the algorithm in a production level Grid and solve several problems which were not solved in the SAT 2007 solver competition.

[1]  Ilkka Niemelä,et al.  Strategies for Solving SAT in Grids by Randomized Search , 2008, AISC/MKM/Calculemus.

[2]  Ewald Speckenmeyer,et al.  A fast parallel SAT-solver — efficient workload balancing , 2005, Annals of Mathematics and Artificial Intelligence.

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

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

[5]  Armin Biere,et al.  Theory and Applications of Satisfiability Testing - SAT 2006, 9th International Conference, Seattle, WA, USA, August 12-15, 2006, Proceedings , 2006, SAT.

[6]  Ilkka Niemelä,et al.  A Distribution Method for Solving SAT in Grids , 2006, SAT.

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

[8]  Petteri Kaski,et al.  Hard Satisfiable Clause Sets for Benchmarking Equivalence Reasoning Techniques , 2006, J. Satisf. Boolean Model. Comput..

[9]  Sean Forman NagSAT; A Randomized Complete, Parallel Solver for 3-SAT , 2002 .

[10]  Alan K. Long,et al.  A computer program: As a specific example of the broadening use of computers in chemistry covered in the previous News Focus by C&EN's Joe Haggin, three chemists discuss in detail one system for computer- assisted organic synthesis. , 1983 .

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

[12]  Maria Paola Bonacina,et al.  PSATO: a Distributed Propositional Prover and its Application to Quasigroup Problems , 1996, J. Symb. Comput..

[13]  Bart Selman,et al.  Heavy-Tailed Phenomena in Satisfiability and Constraint Satisfaction Problems , 2000, Journal of Automated Reasoning.

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

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

[16]  Sharad Malik,et al.  Efficient conflict driven learning in a Boolean satisfiability solver , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[17]  R. Wolski,et al.  GridSAT: A Chaff-based Distributed SAT Solver for the Grid , 2003, ACM/IEEE SC 2003 Conference (SC'03).

[18]  Katsumi Inoue,et al.  A competitive and cooperative approach to propositional satisfiability , 2006, Discret. Appl. Math..

[19]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[20]  Gil Utard,et al.  A Parallelization Scheme Based on Work Stealing for a Class of SAT Solvers , 2005, Journal of Automated Reasoning.

[21]  Wolfgang Küchlin,et al.  PaSAT - Parallel SAT-Checking with Lemma Exchange: Implementation and Applications , 2001, Electron. Notes Discret. Math..

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

[23]  Wolfgang Küchlin,et al.  ZetaSAT - Boolean SATisfiability solving on Desktop Grids , 2005, CCGrid 2005. IEEE International Symposium on Cluster Computing and the Grid, 2005..