Upload
emmet
View
59
Download
1
Tags:
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
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 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
Conflict Clause Inferred by conflict analysis Helps prune future parts of the
search space Actually drives backtracking
Conflict Clause Requirements
Consequence of the clause set Falsified by current assignment Contains exactly one literal implied
by last assumption
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
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
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
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
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
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
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
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?
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
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
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
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