CDCL SAT Solvers & SAT-Based Problem Solving
Joao Marques-Silva1,2 & Mikolas Janota2
1University College Dublin, Ireland 2IST/INESC-ID, Lisbon, Portugal
CDCL SAT Solvers & SAT-Based Problem Solving Joao Marques-Silva 1 - - PowerPoint PPT Presentation
CDCL SAT Solvers & SAT-Based Problem Solving Joao Marques-Silva 1 , 2 & Mikolas Janota 2 1 University College Dublin, Ireland 2 IST/INESC-ID, Lisbon, Portugal SAT/SMT Summer School 2013 Aalto University, Espoo, Finland The Success of SAT
1University College Dublin, Ireland 2IST/INESC-ID, Lisbon, Portugal
[C71]
I {r, s, a, b, c, d} I {r, s, ¯
[DP60,R65]
[DP60,R65]
[DP60,R65]
[e.g. SP04,EB05]
Level Dec. Unit Prop. 1 2 3 4 ∅ w x y z a b c d r s
Level Dec. Unit Prop. 1 2 3 4 ∅ w x y z a b c d r s
I (¯
I w = 1 @ 1, x = 1 @ 2, y = 1 @ 3, z = 1 @ 4 I r = 1 @ 0, d = 1 @ 4, ...
Assign value to variable Unassigned variables ? Unit propagation Conflict ? Can undo decision ? Backtrack & flip variable Unsatisfiable Satisfiable Y N Y N Y N
Assign value to variable Unassigned variables ? Unit propagation Conflict ? Can undo decision ? Backtrack & flip variable Unsatisfiable Satisfiable Y N Y N Y N
Assign value to variable Unassigned variables ? Unit propagation Conflict ? Can undo decision ? Backtrack & flip variable Unsatisfiable Satisfiable Y N Y N Y N
Level Dec. Unit Prop. 1 2 3 ∅ x y a b ⊥ a ¯ a y a ¯ a ¯ y x a ¯ a ¯ x
Assign value to variable Unassigned variables ? Unit propagation Conflict ? Can undo decision ? Backtrack & flip variable Unsatisfiable Satisfiable Y N Y N Y N
Level Dec. Unit Prop. 1 2 3 ∅ x y ¯ a ¯ b ⊥ a ¯ a y a ¯ a ¯ y x a ¯ a ¯ x
Assign value to variable Unassigned variables ? Unit propagation Conflict ? Can undo decision ? Backtrack & flip variable Unsatisfiable Satisfiable Y N Y N Y N
Level Dec. Unit Prop. 1 2 3 ∅ x ¯ y a b ⊥ a ¯ a y a ¯ a ¯ y x a ¯ a ¯ x
Assign value to variable Unassigned variables ? Unit propagation Conflict ? Can undo decision ? Backtrack & flip variable Unsatisfiable Satisfiable Y N Y N Y N
Level Dec. Unit Prop. 1 2 3 ∅ x ¯ y ¯ a ¯ b ⊥ a ¯ a y a ¯ a ¯ y x a ¯ a ¯ x
Assign value to variable Unassigned variables ? Unit propagation Conflict ? Can undo decision ? Backtrack & flip variable Unsatisfiable Satisfiable Y N Y N Y N
Level Dec. Unit Prop. 1 2 ∅ ¯ x a y b ⊥ a ¯ a y a ¯ a ¯ y x a ¯ a ¯ x
Assign value to variable Unassigned variables ? Unit propagation Conflict ? Can undo decision ? Backtrack & flip variable Unsatisfiable Satisfiable Y N Y N Y N
Level Dec. Unit Prop. 1 2 ∅ ¯ x ¯ a y ¯ b ⊥ a ¯ a y a ¯ a ¯ y x a ¯ a ¯ x
[DP60,DLL62]
[MSS96,BS97,Z97] I Exploit UIPs [MSS96,SSS12] I Minimize learned clauses [SB09,VG09] I Opportunistically delete clauses [MSS96,MSS99,GN02]
[GSK98,BMS00,H07,B08]
I Watched literals [MMZZM01]
I Lightweight branching heuristics [MMZZM01] I Phase saving [PD07]
200 400 600 800 1000 1200 20 40 60 80 100 120 140 160 180 200 CPU Time (in seconds) Number of problems solved Results of the SAT competition/race winners on the SAT 2009 application benchmarks, 20mn timeout Limmat (2002) Zchaff (2002) Berkmin (2002) Forklift (2003) Siege (2003) Zchaff (2004) SatELite (2005) Minisat 2 (2006) Picosat (2007) Rsat (2007) Minisat 2.1 (2008) Precosat (2009) Glucose (2009) Clasp (2009) Cryptominisat (2010) Lingeling (2010) Minisat 2.2 (2010) Glucose 2 (2011) Glueminisat (2011) Contrasat (2011) Lingeling 587f (2011)
Level Dec. Unit Prop. 1 2 3 ∅ x x y z z a b ⊥
Level Dec. Unit Prop. 1 2 3 ∅ x y z a b ⊥ (¯ a ∨ ¯ b) (¯ z ∨ b) (¯ x ∨ ¯ z ∨ a) (¯ a ∨ ¯ z) (¯ x ∨ ¯ z)
I Decision variable & literals assigned at lower decision levels
ab -> false = !(ab) + false = !a + !b z -> b = !z + b xz -> a. =. !(xz) + a =. !x + !z + a
Level Dec. Unit Prop. 1 2 3 ∅ x y z z a b ⊥ z
Level Dec. Unit Prop. 1 2 3 ∅ x y z a b ⊥ z
Level Dec. Unit Prop. 1 2 3 ∅ x y z a b ⊥ z Level Dec. Unit Prop. 1 ∅ x ¯ z
Level Dec. Unit Prop. 1 2 3 ∅ x y z a b ⊥ z Level Dec. Unit Prop. 1 ∅ x ¯ z
[MSS96,MSS99]
[MMZZM01]