Sriram Rajamani based on notesslides by Matt Fredrickson Andre Platzer Emina Torlak and Leonardo De Moura Modern SAT solvers First convert a formula to CNF Conjunctive Normal Form Use variant of DPLL Davis Putnam ID: 1048620
Download Presentation The PPT/PDF document "SAT Solvers Lecture 2(b)" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
1. SAT SolversLecture 2(b)Sriram Rajamani(based on notes/slides by Matt Fredrickson, Andre Platzer, Emina Torlak and Leonardo De Moura)
2. Modern SAT solversFirst convert a formula to CNF (Conjunctive Normal Form)Use variant of DPLL (Davis Putnam Logeman Loveland procedure, from 1962, with a few new insights)
3. Davis Putnam Logeman Loveland (DPLL) with PLP
4. Let us try out DPLL on an example
5. Let us try out DPLL on an example
6. Let us try out DPLL on an example
7. Let us try out DPLL on an example
8. Let us try out DPLL on an example
9. Let us try out DPLL on an example
10. Let us try out DPLL on an example
11. Let us try out DPLL on an example
12. Let us try out DPLL on an example
13. Let us try out DPLL on an example
14. Let us try out DPLL on an example
15. Let us try out DPLL on an example
16. Let us try out DPLL on an example
17. Let us try out DPLL on an example
18. Let us try out DPLL on an example
19. Improvements to DPLLConflict clauses “memorize” the reasons for UNSAT and prevent repeating the same explorations in future searchesWhen a search fails, it is better to back track to the right level. This is called “non-chronological” backtracking Picking a good ordering of variables to split can greatly improve efficiency
20. CDCL: Conflict Driven Clause LearningConflict clauses “memorize” the reasons for UNSAT and prevent repeating the same explorations in future searchesWhen a search fails, it is better to back track to the right level. This is called “non-chronological” backtracking
21. Abstract DPLL (with CDCL) in declarative styleBinary Constraint Propagation (BCP): if and is unassigned in Pure Literal Propagation (PLP): if is unassigned in occurs in and does not occur in Decision: if is unassigned in both and occur in , d is next decision levelBacktrack: if , N has no decision literals, is the conflict clause, is the backtracking level from conflict graph, and is prefix of upto decision level , is the literal at decision level Sat:, if all variables are in , and for all in Unsat:, if and has no decision literals
22. Try out abstract DPLLBinary Constraint Propagation (BCP): if and is unassigned in Pure Literal Propagation (PLP): if is unassigned in occurs in and does not occur in Decision: if is unassigned in both and occur in , d is next decision levelBacktrack: if , N has no decision literals, is the conflict clause, is the backtracking level from conflict graph, and is prefix of upto decision level , is the literal at decision level Sat:, if all variables are in , and for all in Unsat:, if and has no decision literals
23. Try out DPLL+CDCLBinary Constraint Propagation (BCP): if and is unassigned in Pure Literal Propagation (PLP): if is unassigned in occurs in and does not occur in Decision: if is unassigned in both and occur in , d is next decision levelBacktrack: if , N has no decision literals, is the conflict clause, is the backtracking level from conflict graph, and is prefix of upto decision level , is the literal at decision level Sat:, if all variables are in , and for all in Unsat:, if and has no decision literals
24. Homework1. Read Lecture notes on SAT solvers and DPLL by Fredrikson & Platzerhttps://www.cs.cmu.edu/~15414/f17/lectures/10-dpll.pdf 2. Try downloading and playing with SAT solvers (look at SAT competition site for winning solvers as well as benchmarks)3. Formulate suitable problems from your research interests, and convert them to SAT and try existing SAT solvers on them
25. SAT solvers and SAT competitionsMinisat: www.minisat.se Open sourced SAT solver, with a big community Has won many competitions in the past The SAT competition: http://www.satcompetition.org Search the WEB: “SAT benchmarks”