Download - Dynamics of DPLL algorithm
Dynamics of DPLL algorithm
Rigorous analysis of search heuristics
Quantitative studyof search trees
(with backtracking)
Distribution of resolution times
(left tail)
resolutiontime
probability
2 N
?
S. Cocco (Strasbourg), R. Monasson (Paris)Articles available on http://www.lpt.ens.fr/~monasson
Analysis of the GUC heuristic
t
t,αp,Fdt
αd
t,αp,Fdt
dp
α0α,10p
α
p
0
(ODE)
(unsat)
sat
Chao,Franco ‘90
Frieze,Suen ‘96
p,
p’,’
Complete search trees ( > 4.3)
DPLL induces a non Markovianevolution of the search tree
Imaginary, and parallel building upof the search tree
one branch: p(t) , (t) many branches: (p,,t) ODE PDE
Analysis of the search tree growth (I)
Branching matrix
Average number of branches with
clause populations C1, C2, C3
• B(C1, C2, C3;T) exp[ N (c2, c3;t) ] where ci = Ci/N , t = T/N
• Distribution of C1 becomes stationary over O(1) time scale
Analysis of the search tree growth (II)
(PDE)
t
t+dt
+ moving frontier between alive and dead branches
Analysis of the search tree growth (III)
(sat)
unsat
Halt line(Delocalization transition
in C1 space)
t = 0.01
t = 0.05
t = 0.09
100
Comparison to numerical experiments
(nodes) (leaves)
292.01
2
51ln
2ln6
532
Beame, Karp, Pitassi, Saks ‘98
unsat
sat
N2Q
The polynomial/exponentiel crossover
sat (poly)
sat (exp)
unsat (exp)
“dynamical” transition(depends on the heuristic)
sat
unsat
G
Satisfiable, hard instances 3.003< < 4.3
Vardi et al. ’00Cocco, R.M. ‘01
Achlioptas, Beame, Molloy ‘02
Fluctuations of complexity for finite instance size
Histograms of solving times
Exponentialregime
Complexity= 2 0.035 N
Linear regime Very rare! frequence = 2-0.011 N
Application to Stop & Restart resolution
Contradictoryregion Easy resolution
trajectoriesmanage to survive in
the contradictory region!
Halt line for first branch = accumulation of unitary clauses
Resolution through systematic stop-and-restart of the search:
- stop algorithm after time N;
- restart until a solution is found.
Time of resolution : 2 0.035 N 2 0.011 N
Cocco, R.M. ‘02
Analysis of the probability of survival (I)
Transition matrix
Probability of survival of the first branch with
clause populations C1, C2, C3
• B(C1, C2, C3;T) exp[ - N (c1, c2, c3;t) ] where ci = Ci/N , t = T/N
• two cases: C1=O(1) (safe regime), C1=O(N) (dangerous regime).
*(1-C1/2/(N-T))C1-1
Analysis of the probability of survival (II)
(PDE)
tt+dt
= log(probability)/N = 0
• Safe regime: c1= 0
• Dangerous regime: c1=O(1) , < 0