Abstract
In this chapter, we show how competition and cooperation can be integrated in Parallel SAT Solving. We describe ManySAT, a portfolio-based parallel SAT solver which runs a set of complementary sequential algorithms obtained through careful variations of the standard CDCL algorithm. Additionally, each sequential algorithm shares clauses to improve the overall performance of the whole system. We also report on two innovative policies to dynamically adjust the size of shared clauses between any pair of processing units.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
G. Audemard, L. Bordeaux, Y. Hamadi, S. Jabbour, L. Sais, A generalized framework for conflict analysis, in Theory and Applications of Satisfiability Testing, SAT 2008, ed. by H.K. Büning, X. Zhao. Lecture Notes in Computer Science, vol. 4996 (Springer, Berlin, 2008), pp. 21–27
A. Arbelaez, Y. Hamadi, Improving parallel local search for SAT, in Learning and Intelligent Optimization, 5th International Conference (LION’11), Rome, Italy, ed. by C.A.C. Coello. Lecture Notes in Computer Science, vol. 6683 (Springer, Berlin, 2011), pp. 46–60
L. Brisoux, E. Grégoire, L. Sais, Improving backtrack search for SAT by means of redundancy, in Foundations of Intelligent Systems, 11th International Symposium, ISMIS’99. Lecture Notes in Computer Science, vol. 1609 (Springer, Berlin, 1999), pp. 301–309
L. Bordeaux, Y. Hamadi, H. Samulowitz, Experiments with massively parallel constraint solving, in IJCAI 2009, Proceedings of the 21st International Joint Conference on Artificial Intelligence, ed. by C. Boutilier (2009), pp. 443–448
L. Bordeaux, Y. Hamadi, L. Zhang, Propositional satisfiability and constraint programming: a comparative survey. ACM Comput. Surv. 9(2), 135–196 (2006)
A. Biere, Adaptive restart strategies for conflict driven SAT solvers, in Theory and Applications of Satisfiability Testing—Proceedings of the 11th International Conference, SAT 2008, ed. by H.K. Büning, X. Zhao. Lecture Notes in Computer Science, vol. 4996 (Springer, Berlin, 2008), pp. 28–33
M. Böhm, E. Speckenmeyer, A fast parallel SAT-solver—efficient workload balancing. Ann. Math. Artif. Intell. 17(3–4), 381–400 (1996)
W. Blochinger, C. Sinz, W. Küchlin, Parallel propositional satisfiability checking with distributed dynamic learning. Parallel Comput. 29(7), 969–994 (2003)
F. Corblin, L. Bordeaux, Y. Hamadi, E. Fanchon, L. Trilling, A SAT-based approach to decipher gene regulatory networks, in Integrative Post-Genomics, RIAMS, Lyon (2007)
G. Chu, P.J. Stuckey, Pminisat: a parallelization of Minisat 2.0. Technical Report, Sat-race 2008, solver description (2008)
W. Chrabakh, R. Wolski, GridSAT: a system for solving satisfiability problems using a computational grid. Parallel Comput. 32(9), 660–687 (2006)
O. Dubois, G. Dequen, A backbone-search heuristic for efficient solving of hard 3-SAT formulae, in Proceedings of the International Joint Conference on Artificial Intelligence, IJCAI’01 (2001), pp. 248–253
M. Davis, G. Logemann, D.W. Loveland, A machine program for theorem-proving. Commun. ACM 5(7), 394–397 (1962)
L.M. de Moura, N. Bjørner, Z3: an efficient SMT solver, in TACAS, ed. by C.R. Ramakrishnan, J. Rehof. Lecture Notes in Computer Science, vol. 4963 (Springer, Berlin, 2008), pp. 337–340
N. Eén, A. Biere, Effective preprocessing in SAT through variable and clause elimination, in Theory and Applications of Satisfiability Testing, SAT 2005, ed. by F. Bacchus, T. Walsh. Lecture Notes in Computer Science, vol. 3569 (Springer, Berlin, 2005), pp. 61–75
N. Eén, N. Sörensson, An extensible SAT-solver, in 6th International Conference on Theory and Applications of Satisfiability Testing (SAT’03), Santa Margherita Ligure, Italy, ed. by E. Giunchiglia, A. Tacchella. Lecture Notes in Computer Science, vol. 2919 (Springer, Berlin, 2003), pp. 502–518
D. Frost, R. Dechter, In search of the best constraint satisfaction search, in Proceedings of the 12th National Conference on Artificial Intelligence, AAAI’94 (1994), pp. 301–306
S.L. Forman, A.M. Segre, Nagsat: a randomized, complete, parallel solver for 3-SAT, in Proceedings of Theory and Applications of Satisfiability Testing, SAT’02 (2002), pp. 236–243
L. Gil, P. Flores, L.M. Silveira, PMSat: a parallel version of minisat. J. Satisf. Boolean Model. Comput. 6, 71–98 (2008)
L. Guo, Y. Hamadi, S. Jabbour, L. Sais, Diversification and intensification in parallel SAT solving, in CP, ed. by D. Cohen. Lecture Notes in Computer Science, vol. 6308 (Springer, Berlin, 2010), pp. 252–265
C. Gomes, B. Selman, N. Crato, H. Kautz, Heavy-tailed phenomena in satisfiability and constraint satisfaction problems. J. Autom. Reason. 24(1/2), 67–100 (2000)
C. Gomes, B. Selman, H. Kautz, Boosting combinatorial search through randomization, in AAAI/IAAI (1998), pp. 431–437
Y. Hamadi, S. Jabbour, C. Piette, L. Sais, Deterministic parallel DPLL. J. Satisf. Boolean Model. Comput. 7(4), 127–132 (2011)
Y. Hamadi, S. Jabbour, L. Sais, ManySAT: solver description. Technical Report MSR-TR-2008-83, Microsoft Research (2008)
Y. Hamadi, S. Jabbour, L. Sais, Control-based clause sharing in parallel SAT solving, in IJCAI 2009, Proceedings of the 21st International Joint Conference on Artificial Intelligence, ed. by C. Boutilier (2009), pp. 499–504
Y. Hamadi, S. Jabbour, L. Sais, ManySAT: a parallel SAT solver. J. Satisf. Boolean Model. Comput. 6(4), 245–262 (2009)
Y. Hamadi, J. Marques-Silva, C.M. Wintersteiger, Lazy decomposition for distributed decision procedures, in PDMC, ed. by J. Barnat, K. Heljanko. EPTCS, vol. 72 (2011), pp. 43–54
J. Huang, The effect of restarts on the efficiency of clause learning, in IJCAI, ed. by M.M. Veloso (2007), pp. 2318–2323
M.J.H. Heule, H. van Maaren, March dl: adding adaptive heuristics and a new branching strategy. J. Satisf. Boolean Model. Comput. 2, 47–59 (2006)
Y. Hamadi, C.M. Wintersteiger, Seven challenges in parallel SAT solving, in AAAI, ed. by J. Hoffmann, B. Selman (AAAI Press, Menlo Park, 2012)
Y. Hamadi, C.M. Wintersteiger, Seven challenges in parallel SAT solving. AI Mag. 34(2) (2013)
V. Jacobson, Congestion avoidance and control, in SIGCOMM (1988), pp. 314–329
B. Jurkowiak, C.M. Li, G. Utard, A parallelization scheme based on work stealing for a class of SAT solvers. J. Autom. Reason. 34(1), 73–101 (2005)
H.A. Kautz, E. Horvitz, Y. Ruan, C.P. Gomes, B. Selman, Dynamic restart policies, in AAAI/IAAI (2002), pp. 674–681
C.M. Li, Anbulagan, Heuristics based on unit propagation for satisfiability problems, in Proceedings of the International Joint Conference on Artificial Intelligence, IJCAI’97 (1997), pp. 366–371
M. Lewis, T. Schubert, B. Becker, Multithreaded SAT solving, in 12th Asia and South Pacific Design Automation Conference (2007)
M. Luby, A. Sinclair, D. Zuckerman, Optimal speedup of Las Vegas algorithms. Inf. Process. Lett. 47, 173–180 (1993)
M.W. Moskewicz, C.F. Madigan, Y. Zhao, L. Zhang, S. Malik, Chaff: engineering an efficient SAT solver, in 38th Design Automation Conference (DAC’01), Las Vegas, NV, USA (ACM, New York, 2001), pp. 530–535
J. Marques-Silva, K.A. Sakallah, GRASP—a new search algorithm for satisfiability, in Proceedings of IEEE/ACM International Conference on Computer-Aided Design (1996), pp. 220–227
R. Nieuwenhuis, A. Oliveras, C. Tinelli, Solving SAT and SAT modulo theories: from an abstract Davis–Putnam–Logemann–Loveland procedure to DPLL(t). J. ACM 53(6), 937–977 (2006)
K. Pipatsrisawat, A. Darwiche, A lightweight component caching scheme for satisfiability solvers, in Theory and Applications of Satisfiability Testing SAT 2007, ed. by J. Marques-Silva, K.A. Sakallah. Lecture Notes in Computer Science, vol. 4501 (Springer, Berlin, 2007), pp. 294–299
J. Rintanen, Heuristics for planning with SAT and expressive action definitions, in ICAPS, ed. by F. Bacchus, C. Domshlak, S. Edelkamp, M. Helmert (AAAI Press, Menlo Park, 2011)
V. Ryvchin, O. Strichman, Local restarts, in Theory and Applications of Satisfiability Testing—Proceedings of the 11th International Conference, SAT 2008, ed. by H.K. Büning, X. Zhao. Lecture Notes in Computer Science, vol. 4996 (Springer, Berlin, 2008), pp. 271–276
C.M. Wintersteiger, Y. Hamadi, L.M. de Moura, A concurrent portfolio approach to SMT solving, in CAV, ed. by A. Bouajjani, O. Maler. Lecture Notes in Computer Science, vol. 5643 (Springer, Berlin, 2009), pp. 715–720
H. Zhang, M.P. Bonacina, J. Hsiang, PSATO: a distributed propositional prover and its application to quasigroup problems. J. Symb. Comput. 21(4), 543–560 (1996)
L. Zhang, C.F. Madigan, M.W. Moskewicz, S. Malik, Efficient conflict driven learning in boolean satisfiability solver, in ICCAD (2001), pp. 279–285
H. Zhang, M.E. Stickel, Implementing the Davis-Putnam algorithm by tries. Technical Report, Artificial Intelligence Center, SRI International, Menlo (1994)
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Hamadi, Y. (2013). Parallel Tree Search for Satisfiability. In: Combinatorial Search: From Algorithms to Systems. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41482-4_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-41482-4_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-41481-7
Online ISBN: 978-3-642-41482-4
eBook Packages: Computer ScienceComputer Science (R0)