State-of-the-art in SAT solvers Vibhav Gogate. SAT formulas A set of propositional variables and...
-
date post
15-Jan-2016 -
Category
Documents
-
view
217 -
download
0
Transcript of State-of-the-art in SAT solvers Vibhav Gogate. SAT formulas A set of propositional variables and...
![Page 1: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/1.jpg)
State-of-the-art in SAT solvers
Vibhav Gogate
![Page 2: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/2.jpg)
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
![Page 3: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/3.jpg)
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)
![Page 4: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/4.jpg)
DPLL Example
{p,r},{p,q,r},{p,r}
{T,r},{T,q,r},{T,r}
{F,r},{F,q,r},{F,r}
p=T p=F
{q,r} {r},{r}{}
SIMPLIFY
SIMPLIFY
SIMPLIFY
![Page 5: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/5.jpg)
DPLL Algorithm as seen by SAT solver
While (1) {if (decide_next_branch()) { //1. Branching
while (deduce()==conflict) { //2. Deducingblevel=analyze_conflicts() // 3. Learningif (blevel < 0)
return UNSATelse backtrack(blevel) // 4. Backtracking
}else RETURN UNSAT;
}
![Page 6: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/6.jpg)
![Page 7: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/7.jpg)
![Page 8: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/8.jpg)
Chaff implementation
While (1) {if (decide_next_branch()) { //1. Branching
while (deduce()==conflict) { //2. Deducingblevel=analyze_conflicts() // 3. Learningif (blevel < 0)
return UNSATelse backtrack(blevel) // 4. Backtracking
}else RETURN UNSAT;
}Use conflict-directed backjumping + Learning
![Page 9: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/9.jpg)
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
![Page 10: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/10.jpg)
Chaff implementation
While (1) {if (decide_next_branch()) { //1. Branching
while (deduce()==conflict) { //2. Deducingblevel=analyze_conflicts() // 3. Learningif (blevel < 0)
return UNSATelse backtrack(blevel) // 4. Backtracking
}else RETURN UNSAT;
}Boolean constraint propagation: Main factor
![Page 11: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/11.jpg)
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?
![Page 12: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/12.jpg)
![Page 13: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/13.jpg)
![Page 14: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/14.jpg)
![Page 15: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/15.jpg)
![Page 16: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/16.jpg)
![Page 17: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/17.jpg)
![Page 18: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/18.jpg)
![Page 19: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/19.jpg)
![Page 20: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/20.jpg)
![Page 21: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/21.jpg)
![Page 22: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/22.jpg)
![Page 23: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/23.jpg)
![Page 24: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/24.jpg)
![Page 25: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/25.jpg)
![Page 26: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/26.jpg)
![Page 27: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/27.jpg)
![Page 28: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/28.jpg)
Chaff implementation
While (1) {if (decide_next_branch()) { //1. Branching
while (deduce()==conflict) { //2. Deducingblevel=analyze_conflicts() // 3. Learningif (blevel < 0)
return UNSATelse backtrack(blevel) // 4. Backtracking
}else RETURN UNSAT;
}Variable ordering heuristics
![Page 29: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/29.jpg)
![Page 30: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/30.jpg)
![Page 31: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/31.jpg)
![Page 32: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/32.jpg)
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.
![Page 33: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/33.jpg)
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
![Page 34: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/34.jpg)
Benchmarks
Random Crafted Industrial
![Page 35: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/35.jpg)
![Page 36: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/36.jpg)
![Page 37: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/37.jpg)
![Page 38: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/38.jpg)
![Page 39: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/39.jpg)
![Page 40: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/40.jpg)
SAT race 2006
![Page 41: 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)](https://reader036.fdocuments.in/reader036/viewer/2022062409/56649d555503460f94a31d39/html5/thumbnails/41.jpg)
SAT race 2006