Dynamics of DPLL algorithm
description
Transcript of 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