17
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

MiniSAT: World fastest SAT solver (2005 and 2006)

  • Upload
    emmet

  • View
    59

  • Download
    1

Embed Size (px)

DESCRIPTION

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. DPLL SAT Solving. Branching Unit propagation Backtracking Learning. Learning in SAT Solver. - PowerPoint PPT Presentation

Citation preview

Page 1: MiniSAT: World fastest SAT solver (2005 and 2006)

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

Page 2: MiniSAT: World fastest SAT solver (2005 and 2006)

DPLL SAT Solving Branching Unit propagation Backtracking Learning

Page 3: MiniSAT: World fastest SAT solver (2005 and 2006)

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

Page 4: MiniSAT: World fastest SAT solver (2005 and 2006)

Conflict Clause Inferred by conflict analysis Helps prune future parts of the

search space Actually drives backtracking

Page 5: MiniSAT: World fastest SAT solver (2005 and 2006)

Conflict Clause Requirements

Consequence of the clause set Falsified by current assignment Contains exactly one literal implied

by last assumption

Page 6: MiniSAT: World fastest SAT solver (2005 and 2006)

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

Page 7: MiniSAT: World fastest SAT solver (2005 and 2006)

ExampleAssignments

antecedent

e=F assumption

f=F ¬f _ eg=F ¬g _ fh=F ¬h _ ga=T assumpti

onb=T b _ ¬a _ ec=T c _ e _ fd=T d _ ¬b _ h

e=F

a=T

: b _ :c _ :dConflict

Page 8: MiniSAT: World fastest SAT solver (2005 and 2006)

ExampleAssignments

antecedent

e=F assumption

f=F ¬f _ eg=F ¬g _ fh=F ¬h _ ga=T assumpti

onb=T b _ ¬a _ ec=T c _ e _ fd=T d _ ¬b _ h

e=F

a=T

: b _ :c _ :d

Page 9: MiniSAT: World fastest SAT solver (2005 and 2006)

ExampleAssignments

antecedent

e=F assumption

f=F ¬f _ eg=F ¬g _ fh=F ¬h _ ga=T assumpti

onb=T b _ ¬a _ ec=T c _ e _ fd=T d _ ¬b _ h

e=F

a=T

: b _ :c _ :d: b _ :c _ h

Page 10: MiniSAT: World fastest SAT solver (2005 and 2006)

ExampleAssignments

antecedent

e=F assumption

f=F ¬f _ eg=F ¬g _ fh=F ¬h _ ga=T assumpti

onb=T b _ ¬a _ ec=T c _ e _ fd=T d _ ¬b _ h

e=F

a=T

: b _ :c _ :d: b _ :c _ h

Page 11: MiniSAT: World fastest SAT solver (2005 and 2006)

ExampleAssignments

antecedent

e=F assumption

f=F ¬f _ eg=F ¬g _ fh=F ¬h _ ga=T assumpti

onb=T b _ ¬a _ ec=T c _ e _ fd=T d _ ¬b _ h

e=F

a=T

: b _ :c _ :d

: b _ e _ f _ h: b _ :c _ h

Page 12: MiniSAT: World fastest SAT solver (2005 and 2006)

ExampleAssignments

antecedent

e=F assumption

f=F ¬f _ eg=F ¬g _ fh=F ¬h _ ga=T assumpti

onb=T b _ ¬a _ ec=T c _ e _ fd=T d _ ¬b _ h

e=F

a=T

: b _ :c _ :d: b _ :c _ h

b=F

: b _ e _ f _ h

Page 13: MiniSAT: World fastest SAT solver (2005 and 2006)

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?

Page 14: MiniSAT: World fastest SAT solver (2005 and 2006)

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

Page 15: MiniSAT: World fastest SAT solver (2005 and 2006)

ExampleAssignments

antecedent

e=F assumption

f=F ¬f _ eg=F ¬g _ fh=F ¬h _ ga=T assumpti

onb=T b _ ¬a _ ec=T c _ e _ fd=T d _ ¬b _ h

e=F

a=T

: b _ :c _ :d

: b _ e _ h Ç f : b _ :c _ h

b=F

Page 16: MiniSAT: World fastest SAT solver (2005 and 2006)

ExampleAssignments

antecedent

e=F assumption

f=F ¬f _ eg=F ¬g _ fh=F ¬h _ ga=T assumpti

onb=T b _ ¬a _ ec=T c _ e _ fd=T d _ ¬b _ h

e=F

a=T

: b _ :c _ :d: b _ :c _ h

b=F

: b _ e Ç h: b _ e _ h Ç f

Page 17: MiniSAT: World fastest SAT solver (2005 and 2006)

TimeLine

1986BDD

100 var

1992GSAT

300 var

1996Stålmarck 1000 var

1996GRASP1k var

1960DP

10 var

1988SOCRATES

3k var

1994Hannibal 3k var

1962DLL

10 var

2001Chaff

10k var

1996SATO

1k var

2005-6Minisat100k

var