/
SAT Solvers Lecture 2(b) SAT Solvers Lecture 2(b)

SAT Solvers Lecture 2(b) - PowerPoint Presentation

jaena
jaena . @jaena
Follow
0 views
Uploaded On 2024-03-15

SAT Solvers Lecture 2(b) - PPT Presentation

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

decision dpll level sat dpll decision sat level unassigned conflict literal occur propagation backtracking solvers unsat plp variables clause

Share:

Link:

Embed:

Download Presentation from below link

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.


Presentation Transcript

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”