Grid-Based SAT Solving with Iterative Partitioning and Clause Learning

  • Antti E. J. Hyvärinen
  • Tommi Junttila
  • Ilkka Niemelä
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6876)


This work studies the solving of challenging SAT problem instances in distributed computing environments that have massive amounts of parallel resources but place limits on individual computations. We present an abstract framework which extends a previously presented iterative partitioning approach with clause learning, a key technique applied in modern SAT solvers. In addition we present two techniques that alter the clause learning of modern SAT solvers to fit the framework. An implementation of the proposed framework is then analyzed experimentally using a well-known set of benchmark instances. The results are very encouraging. For example, the implementation is able to solve challenging SAT instances not solvable in reasonable time by state-of-the-art sequential and parallel SAT solvers.


Partition Tree Unit Clause Portfolio Approach Distribute Computing Environment Work Stealing 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Asín, R., Nieuwenhuis, R., Oliveras, A., Rodríguez-Carbonell, E.: Practical algorithms for unsatisfiability proof and core generation in SAT solvers. AI Communications 23(2-3), 145–157 (2010)MathSciNetzbMATHGoogle Scholar
  2. 2.
    Biere, A.: Lingeling, Plingeling, PicoSAT and PrecoSAT at SAT race 2010. Technical Report 10/1, Institute for Formal Models and Verification, Johannes Kepler University (2010)Google Scholar
  3. 3.
    Blochinger, W., Sinz, C., Küchlin, W.: Parallel propositional satisfiability checking with distributed dynamic learning. Parallel Computing 29(7), 969–994 (2003)CrossRefGoogle Scholar
  4. 4.
    Böhm, M., Speckenmeyer, E.: A fast parallel SAT-solver: Efficient workload balancing. Annals of Mathematics and Artificial Intelligence 17(4-3), 381–400 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Chrabakh, W., Wolski, R.: GridSAT: a system for solving satisfiability problems using a computational grid. Parallel Computing 32(9), 660–687 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Chu, G., Schulte, C., Stuckey, P.J.: Confidence-based work stealing in parallel constraint programming. In: Gent, I.P. (ed.) CP 2009. LNCS, vol. 5732, pp. 226–241. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  7. 7.
    Eén, N., Sörensson, N.: Temporal induction by incremental SAT solving. Electronic Notes in Theoretical Computer Science 89(4) (2003)Google Scholar
  8. 8.
    Fuhs, C., Schneider-Kamp, P.: Synthesizing shortest linear straight-line programs over GF(2) using SAT. In: Strichman, O., Szeider, S. (eds.) SAT 2010. LNCS, vol. 6175, pp. 71–84. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  9. 9.
    Hamadi, Y., Jabbour, S., Sais, L.: ManySAT: a parallel SAT solver. Journal on Satisfiability, Boolean Modeling and Computation 6, 245–262 (2009)zbMATHGoogle Scholar
  10. 10.
    Hamadi, Y., Jabbour, S., Sais, L.: Constrol-based clause sharing in parallel SAT solving. In: Proc. IJCAI 2009, pp. 499–504 (2009)Google Scholar
  11. 11.
    Heule, M., van Maaren, H.: Look-ahead based SAT solvers. In: Handbook of Satisfiability. Frontiers in Artificial Intelligence and Applications, vol. 185, pp. 155–184. IOS Press, Amsterdam (2009)Google Scholar
  12. 12.
    Huberman, B.A., Lukose, R.M., Hogg, T.: An economics approach to hard computational problems. Science 275(5296), 51–54 (1997)CrossRefGoogle Scholar
  13. 13.
    Hyvärinen, A.E.J., Junttila, T., Niemelä, I.: A distribution method for solving SAT in grids. In: Biere, A., Gomes, C.P. (eds.) SAT 2006. LNCS, vol. 4121, pp. 430–435. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Hyvärinen, A.E.J., Junttila, T., Niemelä, I.: Incorporating clause learning in grid-based randomized SAT solving. Journal on Satisfiability, Boolean Modeling and Computation 6, 223–244 (2009)zbMATHGoogle Scholar
  15. 15.
    Hyvärinen, A.E.J., Junttila, T., Niemelä, I.: Partitioning SAT instances for distributed solving. In: Fermüller, C.G., Voronkov, A. (eds.) LPAR-17. LNCS, vol. 6397, pp. 372–386. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  16. 16.
    Hyvärinen, A.E.J., Junttila, T., Niemelä, I.: Partitioning search spaces of a randomized search. Fundamenta Informaticae 107(2-3), 289–311 (2011)MathSciNetzbMATHGoogle Scholar
  17. 17.
    Jurkowiak, B., Li, C., Utard, G.: A parallelization scheme based on work stealing for a class of SAT solvers. Journal of Automated Reasoning 34(1), 73–101 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Luby, M., Sinclair, A., Zuckerman, D.: Optimal speedup of Las Vegas algorithms. Information Processing Letters 47(4), 173–180 (1993)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Marques-Silva, J., Lynce, I., Malik, S.: Conflict-driven clause learning SAT solvers. In: Handbook of Satisfiability. IOS Press, Amsterdam (2009)Google Scholar
  20. 20.
    Marques-Silva, J., Sakallah, K.: GRASP: A search algorithm for propositional satisfiability. IEEE Transactions on Computers 48(5), 506–521 (1999)MathSciNetCrossRefGoogle Scholar
  21. 21.
    Martins, R., Manquinho, V., Lynce, I.: Improving search space splitting for parallel SAT solving. In: Proc. ICTAI 2010, pp. 336–343. IEEE Press, Los Alamitos (2010)Google Scholar
  22. 22.
    Michel, L., See, A., van Hentenryck, P.: Parallelizing constraint programs transparently. In: Bessière, C. (ed.) CP 2007. LNCS, vol. 4741, pp. 514–528. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  23. 23.
    Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Proc. DAC 2001, pp. 530–535. ACM, New York (2001)Google Scholar
  24. 24.
    Schubert, T., Lewis, M., Becker, B.: PaMiraXT: Parallel SAT solving with threads and message passing. Journal on Satisfiability, Boolean Modeling and Computation 6, 203–222 (2009)zbMATHGoogle Scholar
  25. 25.
    Speckenmeyer, E., Monien, B., Vornberger, O.: Superlinear speedup for parallel backtracking. In: Houstis, E.N., Polychronopoulos, C.D., Papatheodorou, T.S. (eds.) ICS 1987. LNCS, vol. 297, pp. 985–993. Springer, Heidelberg (1988)CrossRefGoogle Scholar
  26. 26.
    Wieringa, S., Niemenmaa, M., Heljanko, K.: Tarmo: A framework for parallelized bounded model checking. In: Proc. PDMC 2009. EPTCS, vol. 14, pp. 62–76 (2009)Google Scholar
  27. 27.
    Zhang, H., Bonacina, M., Hsiang, J.: PSATO: A distributed propositional prover and its application to quasigroup problems. Journal of Symbolic Computation 21(4), 543–560 (1996)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Antti E. J. Hyvärinen
    • 1
  • Tommi Junttila
    • 1
  • Ilkka Niemelä
    • 1
  1. 1.Department of Information and Computer ScienceAalto UniversityAALTOFinland

Personalised recommendations