A Propagation Rate Based Splitting Heuristic for Divide-and-Conquer Solvers

  • Saeed Nejati
  • Zack Newsham
  • Joseph Scott
  • Jia Hui Liang
  • Catherine Gebotys
  • Pascal Poupart
  • Vijay Ganesh
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10491)


In this paper, we present a divide-and-conquer SAT solver, MapleAmpharos, that uses a novel propagation-rate (PR) based splitting heuristic. The key idea is that we rank variables based on the ratio of how many propagations they cause during the run of the worker conflict-driven clause-learning solvers to the number of times they are branched on, with the variable that causes the most propagations ranked first. The intuition here is that, in the context of divide-and-conquer solvers, it is most profitable to split on variables that maximize the propagation rate. Our implementation MapleAmpharos uses the AMPHAROS solver as its base. We performed extensive evaluation of MapleAmpharos against other competitive parallel solvers such as Treengeling, Plingeling, Parallel CryptoMiniSat5, and Glucose-Syrup. We show that on the SAT 2016 competition Application benchmark and a set of cryptographic instances, our solver MapleAmpharos is competitive with respect to these top parallel solvers. What is surprising that we obtain this result primarily by modifying the splitting heuristic.


  1. 1.
    Audemard, G., Hoessen, B., Jabbour, S., Lagniez, J.-M., Piette, C.: Revisiting clause exchange in parallel SAT solving. In: Cimatti, A., Sebastiani, R. (eds.) SAT 2012. LNCS, vol. 7317, pp. 200–213. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-31612-8_16 CrossRefGoogle Scholar
  2. 2.
    Audemard, G., Lagniez, J.-M., Szczepanski, N., Tabary, S.: An adaptive parallel SAT solver. In: Rueher, M. (ed.) CP 2016. LNCS, vol. 9892, pp. 30–48. Springer, Cham (2016). doi: 10.1007/978-3-319-44953-1_3 CrossRefGoogle Scholar
  3. 3.
    Audemard, G., Simon, L.: Lazy clause exchange policy for parallel SAT solvers. In: Sinz, C., Egly, U. (eds.) SAT 2014. LNCS, vol. 8561, pp. 197–205. Springer, Cham (2014). doi: 10.1007/978-3-319-09284-3_15 Google Scholar
  4. 4.
    Audemard, G., Simon, L.: Glucose and syrup in the sat 2016. SAT Compet. pp. 40–41 (2016)Google Scholar
  5. 5.
    Balyo, T., Sanders, P., Sinz, C.: HordeSat: A massively parallel portfolio SAT solver. In: Heule, M., Weaver, S. (eds.) SAT 2015. LNCS, vol. 9340, pp. 156–172. Springer, Cham (2015). doi: 10.1007/978-3-319-24318-4_12 CrossRefGoogle Scholar
  6. 6.
    Biere, A.: Yet another local search solver and lingeling and friends entering the sat competition 2014. SAT Compet. 2014(2), 65 (2014)Google Scholar
  7. 7.
    Biere, A.: Splatz, lingeling, plingeling, treengeling, yalsat entering the sat competition 2016. SAT Compet. 2016, 44 (2016)Google Scholar
  8. 8.
    Biere, A., Cimatti, A., Clarke, E.M., Strichman, O., Zhu, Y.: Bounded model checking. Adv. Comput. 58, 117–148 (2003)CrossRefGoogle Scholar
  9. 9.
    Biere, A., Heule, M., van Maaren, H.: Handbook of Satisfiability, vol. 185. IOS press, Amsterdam (2009)zbMATHGoogle Scholar
  10. 10.
    Cadar, C., Ganesh, V., Pawlowski, P.M., Dill, D.L., Engler, D.R.: EXE: Automatically generating inputs of death. ACM Trans. Inf. Syst. Secur. 12(2), 10 (2008)CrossRefGoogle Scholar
  11. 11.
    Chu, G., Stuckey, P.J., Harwood, A.: Pminisat: a parallelization of minisat 2.0. SAT race (2008)Google Scholar
  12. 12.
    Fujii, H., Fujimoto, N.: Gpu acceleration of bcp procedure for sat algorithms. In: Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA), The Steering Committee of The World Congress in Computer Science, Computer Engineering and Applied Computing (WorldComp), p. 1 (2012)Google Scholar
  13. 13.
    Greenlaw, R., Hoover, H.J., Ruzzo, W.L.: Limits to Parallel Computation: P-Completeness Theory. Oxford University Press on Demand, New York (1995)zbMATHGoogle Scholar
  14. 14.
    Guo, L., Hamadi, Y., Jabbour, S., Sais, L.: Diversification and intensification in parallel SAT solving. In: Cohen, D. (ed.) CP 2010. LNCS, vol. 6308, pp. 252–265. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-15396-9_22 CrossRefGoogle Scholar
  15. 15.
    Hamadi, Y., Jabbour, S., Sais, L.: Manysat: a parallel SAT solver. J. Satisf. Boolean Model. Comput. 6, 245–262 (2008)zbMATHGoogle Scholar
  16. 16.
    Heule, M.J.H., Kullmann, O., Wieringa, S., Biere, A.: Cube and conquer: guiding CDCL SAT solvers by lookaheads. In: Eder, K., Lourenço, J., Shehory, O. (eds.) HVC 2011. LNCS, vol. 7261, pp. 50–65. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-34188-5_8 CrossRefGoogle Scholar
  17. 17.
    Hyvärinen, A.E.J., Junttila, T., Niemelä, I.: Partitioning SAT instances for distributed solving. In: Fermüller, C.G., Voronkov, A. (eds.) LPAR 2010. LNCS, vol. 6397, pp. 372–386. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-16242-8_27 CrossRefGoogle Scholar
  18. 18.
    Hyvärinen, A.E.J., Manthey, N.: Designing scalable parallel SAT solvers. In: Cimatti, A., Sebastiani, R. (eds.) SAT 2012. LNCS, vol. 7317, pp. 214–227. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-31612-8_17 CrossRefGoogle Scholar
  19. 19.
    Liang, J.H., Ganesh, V., Poupart, P., Czarnecki, K.: Learning rate based branching heuristic for SAT solvers. In: Creignou, N., Le Berre, D. (eds.) SAT 2016. LNCS, vol. 9710, pp. 123–140. Springer, Cham (2016). doi: 10.1007/978-3-319-40970-2_9 Google Scholar
  20. 20.
    Luby, M., Sinclair, A., Zuckerman, D.: Optimal speedup of Las Vegas algorithms. In: 1993 Proceedings of the 2nd Israel Symposium on the Theory and Computing Systems, pp. 128–133. IEEE (1993)Google Scholar
  21. 21.
    Manthey, N.: Towards next generation sequential and parallel SAT solvers. KI-Künstliche Intelligenz 30(3–4), 339–342 (2016)CrossRefGoogle Scholar
  22. 22.
    Nejati, S., Liang, J.H., Ganesh, V., Gebotys, C., Czarnecki, K.: Adaptive restart and cegar-based solver for inverting cryptographic hash functions. arXiv preprint (2016). arXiv:1608.04720
  23. 23.
    Nossum, V.: SAT-based preimage attacks on SHA-1. Master’s thesis (2012)Google Scholar
  24. 24.
    Nossum, V.: Instance generator for encoding preimage, second-preimage, and collision attacks on SHA-1. In: Proceedings of the SAT competition, pp. 119–120 (2013)Google Scholar
  25. 25.
    Rintanen, J.: Planning and SAT. Handb. Satisf. 185, 483–504 (2009)Google Scholar
  26. 26.
    Semenov, A., Zaikin, O.: Using Monte Carlo method for searching partitionings of hard variants of boolean satisfiability problem. In: Malyshkin, V. (ed.) PaCT 2015. LNCS, vol. 9251, pp. 222–230. Springer, Cham (2015). doi: 10.1007/978-3-319-21909-7_21 CrossRefGoogle Scholar
  27. 27.
    Sohanghpurwala, A.A., Hassan, M.W., Athanas, P.: Hardware accelerated SAT solvers a survey. J. Parallel Distrib. Comput. 106, 170–184 (2016)CrossRefGoogle Scholar
  28. 28.
    Soos, M.: The cryptominisat 5 set of solvers at SAT competition 2016. SAT Compet. 2016, 28 (2016)Google Scholar
  29. 29.
    Tak, P., Heule, M.J.H., Biere, A.: Concurrent cube-and-conquer. In: Cimatti, A., Sebastiani, R. (eds.) SAT 2012. LNCS, vol. 7317, pp. 475–476. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-31612-8_42 CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Saeed Nejati
    • 1
  • Zack Newsham
    • 1
  • Joseph Scott
    • 1
  • Jia Hui Liang
    • 1
  • Catherine Gebotys
    • 1
  • Pascal Poupart
    • 1
  • Vijay Ganesh
    • 1
  1. 1.University of WaterlooWaterlooCanada

Personalised recommendations