1 / 17

MiniSAT: World fastest SAT solver (2005 and 2006)

Learn about MiniSAT, the fastest SAT solver (2005 and 2006), and its Conflict Analysis Algorithm for efficient clause inference and space pruning. Explore conflict minimizing techniques and timeline of SAT solvers. Presented by Tamir Heyman.

theresak
Download Presentation

MiniSAT: World fastest SAT solver (2005 and 2006)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MiniSAT: World fastest SAT solver (2005 and 2006) Niklas Sorensson, Niklas Een and Armin Biere Presenting: Tamir Heyman Some slides are from Niklas Sorensson presentation

  2. DPLL SAT Solving • Branching • Unit propagation • Backtracking • Learning

  3. Learning in SAT Solver • A conflict happens when one clause is falsified by unit propagation • Analyze the conflict to infer a clause • This clause is a logical consequence of the problem • The inferred clause is a new knowledge

  4. Conflict Clause • Inferred by conflict analysis • Helps prune future parts of the search space • Actually drives backtracking

  5. Conflict Clause Requirements • Consequence of the clause set • Falsified by current assignment • Contains exactly one literal implied by last assumption

  6. Conflict Analysis Algorithm • Begin with conflicting clause • Resolve on the most recently propagated literal • Using the antecedent as side clause • Repeat until the clause contains exactly one literal from the last assumption

  7. Example e=F a=T Conflict : b _:c _:d

  8. Example e=F a=T : b _:c _:d

  9. Example e=F a=T : b _:c _:d : b _:c _ h

  10. Example e=F a=T : b _:c _:d : b _:c_ h

  11. Example e=F a=T : b _:c _:d : b _:c _ h : b _ e _ f _ h

  12. Example e=F a=T b=F : b _:c _:d : b _:c _ h : b _ e _ f _ h

  13. Conflict Minimizing • Traditional Conflict Analysis is minimal in the number of derivations • Balance between time spent and usefulness of the conflict clause • Is a shorter clause always better?

  14. Basic Conflict Minimizing • Start from an ordinary conflict clause • Apply resolution greedily • Works because there are no cyclic dependencies • Also uses antecedent clauses from other levels • Very cheap, almost for free

  15. Example e=F a=T b=F : b _:c _:d : b _:c _ h : b _ e _ h Çf

  16. Example e=F a=T b=F : b _:c _:d : b _:c _ h : b _ e _ h Çf : b _ e Ç h

  17. TimeLine 1996 GRASP 1k var 1994 Hannibal  3k var 1960 DP 10 var 1988 SOCRATES  3k var 2005-6 Minisat 100k var 1996 SATO 1k var 1996 Stålmarck  1000 var 1962 DLL  10 var 1986 BDD  100 var 1992 GSAT  300 var 2001 Chaff 10k var

More Related