1 / 41

State-of-the-art in SAT solvers

State-of-the-art in SAT solvers. Vibhav Gogate. SAT formulas. A set of propositional variables and clauses involving variables (x1+x2’+x3) and (x2+x1’+x4) x1,x2, x3 and x4 are variables (True or false) Literals: Variable and its negation x1 and x1’

gpomeroy
Download Presentation

State-of-the-art in SAT solvers

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. State-of-the-art in SAT solvers Vibhav Gogate

  2. SAT formulas • A set of propositional variables and clauses involving variables • (x1+x2’+x3) and (x2+x1’+x4) • x1,x2, x3 and x4 are variables (True or false) • Literals: Variable and its negation • x1 and x1’ • A clause is satisfied if one of the literals is true • x1=true satisfies clause 1 • x1=false satisfies clause 2 • Solution: An assignment that satisfies all clauses

  3. SAT solvers • Given 10 minutes of time • Started with DPLL (1962) • Able to solve 10-15 variable problems • Satz (Chu Min Li, 1995) • Able to solve some 1000 variable problems • Chaff (Malik et al., 2001) • Intelligently hacked DPLL , Won the 2004 competition • Able to solve some 10000 variable problems • Current state-of-the-art • Minisat and SATELITEGTI (Chalmer’s university, 2004-2006) • Jerusat and Haifasat (Intel Haifa, 2002) • Ace (UCLA, 2004-2006)

  4. DPLL Example {p,r},{p,q,r},{p,r} p=T p=F {T,r},{T,q,r},{T,r} {F,r},{F,q,r},{F,r} SIMPLIFY SIMPLIFY {q,r} {r},{r} SIMPLIFY {}

  5. DPLL Algorithm as seen by SAT solver While (1) { if (decide_next_branch()) { //1. Branching while (deduce()==conflict) { //2. Deducing blevel=analyze_conflicts() // 3. Learning if (blevel < 0) return UNSAT else backtrack(blevel) // 4. Backtracking } else RETURN UNSAT; }

  6. Chaff implementation While (1) { if (decide_next_branch()) { //1. Branching while (deduce()==conflict) { //2. Deducing blevel=analyze_conflicts() // 3. Learning if (blevel < 0) return UNSAT else backtrack(blevel) // 4. Backtracking } else RETURN UNSAT; } Use conflict-directed backjumping + Learning

  7. Learning • Adding information about the instance into the solution process without changing the satisfiability of the problem. • In CNF representation it is accomplished by adding clauses into the clause database • Knowledge of failure may help search in other spaces • Learning is very effective in pruning the search space for structured problems • It is of limited use for random instances • Why? Still an open question

  8. Chaff implementation While (1) { if (decide_next_branch()) { //1. Branching while (deduce()==conflict) { //2. Deducing blevel=analyze_conflicts() // 3. Learning if (blevel < 0) return UNSAT else backtrack(blevel) // 4. Backtracking } else RETURN UNSAT; } Boolean constraint propagation: Main factor

  9. Naive Implementation of Deduce or Unit propagation • Check every clause after an assignment is made and reduce it if possible • Repeat if a unit clause is generated (implication) • After backtrack, revert all clauses to their original form as they were before. • Very slow. • A solver would spend 85-90% of the time doing unit propagation • Why not speed it up?

  10. Chaff implementation While (1) { if (decide_next_branch()) { //1. Branching while (deduce()==conflict) { //2. Deducing blevel=analyze_conflicts() // 3. Learning if (blevel < 0) return UNSAT else backtrack(blevel) // 4. Backtracking } else RETURN UNSAT; } Variable ordering heuristics

  11. Other issues Clause Deletion • Learned clauses slows down the bcp and eat up memory • Delete clauses periodically • Various heuristics for this purpose • Winner of SAT competition 2004.

  12. But Chaff no longer State of the Art • More hacking • Minisat (2006, winner of SAT RACE 2006) • Based on chaff but a better faster implementation • Some new things like conflict analysis and minimization but basically same as chaff

  13. Benchmarks • Random • Crafted • Industrial

  14. SAT race 2006

  15. SAT race 2006

More Related