39
Accelerating Random Walks Wei Wei and Bart Selman Dept. of Computer Science Cornell University

Accelerating Random Walks

  • Upload
    bruis

  • View
    40

  • Download
    0

Embed Size (px)

DESCRIPTION

Accelerating Random Walks. Wei Wei and Bart Selman Dept. of Computer Science Cornell University. Introduction – local search. Local search methods are a viable alternative to backtrack style methods for solving Boolean satisfiability (SAT) problems. - PowerPoint PPT Presentation

Citation preview

Page 1: Accelerating Random Walks

Accelerating Random Walks

Wei Wei and Bart SelmanDept. of Computer Science

Cornell University

Page 2: Accelerating Random Walks

Introduction – local search

Local search methods are a viable alternative to backtrack style methods for solving Boolean satisfiability (SAT) problems.

First, such methods were based purely on greedy hill-climb search (e.g., GSAT).

Later, random “walk-style” methods (WalkSat and its variants) substantially improved performance

— such methods combine a random walk strategy with a greedy search bias.

Page 3: Accelerating Random Walks

Introduction - practice

Random walk-style methods are successful on hard randomly generated instances, as well as on a number of real-world benchmarks.

However, they are generally less effective in highly structured domains compared to backtrack methods such as DPLL.

Key issue: random walk needs O(N2) flips to propagate dependencies among variables, while in unit-propagation in DPLL takes only O(N).

In this talk, we will show how one can accelerate random walk search methods.

Page 4: Accelerating Random Walks

Overview

Random Walk Strategies

- unbiased random walk

- biased random walk Chain Formulas

- binary chains

- ternary chains Practical Problems Conclusion and Future Directions

Page 5: Accelerating Random Walks

Unbiased (Pure) Random Walk for SAT

Procedure Random-Walk (RW)Start with a random truth assignmentRepeat

c:= an unsatisfied clause chosen at randomx:= a variable in c chosen at randomflip the truth value of x

Until a satisfying assignment is found

Page 6: Accelerating Random Walks

Unbiased RW on any satisfiable 2SAT Formula

Given a satisfiable 2SAT formula with n variables, a satisfying assignment will be reached by Unbiased RW in O(n2) steps with high probability. (Papadimitriou, 1991)

Elegant proof! (next)

Page 7: Accelerating Random Walks

Given a satisfiable 2-SAT formula F.RW starts with a random truth assignment A0.Consider an unsatisfied clause: (x_3 or (not x_4))A0 must have x_3 False and x_4 True (both “wrong”)

A satisfying truth assignment, T, must have x_3 True or x_4 False (or both)

Now, “flip” truth value of x_3 or x_4.With (at least) 50% chance, Hamming distance tosatisfying assignment T is reduced by 1. I.e., we’re moving the right direction! (of course, with 50%(or less) we are moving in the wrong direction… doesn’t matter!)

Page 8: Accelerating Random Walks

We have an unbiased random walk with a reflecting barrier at distance N from T (max Hamming distance) and an absorbing barrier (satisfying assignment) at distance 0.

We start at a Hamming distance of approx. ½ N.

Property of unbiased random walks: after N^2 flips, with high probability, we will hit the origin (the satisfying assignment).

So, O(N^2) randomized algorithm (worst-case!) for 2-SAT.

T A0T A0

Page 9: Accelerating Random Walks

Unfortunately, does not work for k-SAT withk>= 3.

Reason: example unsat clause: (x_1 or (not x_4) or x_5) now only 1/3 chance (worst-case) of making the right flip!

(Also, Schoening 1999.)

Page 10: Accelerating Random Walks

Unbiased RW on 3SAT Formulas

Random walk takes exponential number of steps to reach 0. (Also, Parkes CP-2002.)

T A0

Page 11: Accelerating Random Walks

Comments on RW

1) Random Walk is highly “myopic” does not take into account any gradient of the objective function (= number of unsatisfied clauses)!

Purely “local” fixes.

2) Can we make RW practical for SAT?

Yes --- inject greedy bias into walk

biased Random Walk.

Page 12: Accelerating Random Walks

Biased Random Walk (1st minimal greedy bias)

Procedure Random-Walk-with-Freebie (RWF)Start with random truth assignmentRepeat

c:= an unsatisfied clause chosen at random

if there exist a variable x in c with break value = 0 // greedy biasflip the value of x (a “freebie” flip)

else x:= a variable in c chosen at random // pure walkflip the value of x

Until a satisfying assignment is found

break value == # of clauses that become unsatisfied because of flip.

Page 13: Accelerating Random Walks

Biased Random Walk(adding more greedy bias)

Procedure WalkSatRepeat

c:= an unsatisfied clause chosen at random

if there exist a variable x in c with break value = 0 // greedy biasflip the value of x (freebie move)

else with probability p // pure walk

x:= a variable in c chosen at random flip the value of x

with probability (1-p)x:= a variable in c with smallest break value // more greedy

biasflip the value of x

Until a satisfying assignment is found

Note: tune parameter p.

Page 14: Accelerating Random Walks

Chain Formulas

To better understand the behavior of pure and biased RW procedures on SAT instances, we introduce Chain Formulas.

These formulas have long chains of dependencies between variables.

They effectively demonstrate the extreme properties of RW style algorithms.

Page 15: Accelerating Random Walks

Binary Chains

Consider formulas 2-SAT chain, F2chain

x1 x2

x2 x3

xn-1 xn

xn x1 Note: Only two satisfying assignments ---TTTTTT … and FFFFFF…

Page 16: Accelerating Random Walks

Binary Chains

Walk is exactly balanced.

Page 17: Accelerating Random Walks

Binary Chains

We obtain the following theoremTheorem 1. The RW procedure takes n2) steps to find a satisfying assignment of F2chain.

DPLL algorithm’s unit propagation mechanism finds an assignment for F2chain in linear time.

Greedy bias does not help in this case: both RWF and WalkSat takes n2) flips to reach a satisfying assignment on these formulas.

Page 18: Accelerating Random Walks

Speeding up Random Walks on Binary Chains

Pure binary chain Binary chain with redundancies (implied clauses)

Aside: Note small-world flavor (Watts & Strogatz 99, Walsh 00).

Page 19: Accelerating Random Walks

Results: Speeding up Random Walks on Binary Chains

*: empirical results**: theoretical proof available

Pure binary chain

Chain with

redundancies

RW (n2)** (n2)**

RWF (n2)** (n1.2)*

WalkSat (n2)* (n1.1)*

Becomesalmost likeunit prop.

Page 20: Accelerating Random Walks

Ternary Chains

In general, even a small bias in the wrong direction leads to exponential time to reach 0.

Page 21: Accelerating Random Walks

Ternary Chains

Consider formulas F3chain, low(i)

x1

x2

x1 x2 x3

xlow(i) xi-1 xi

xlow(n) xn-1 xn Note: Only one satisfying assign.: TTTTT…

*These formulas are inspired by Prestwich [2001]

Page 22: Accelerating Random Walks

Ternary Chains

long link

short link

medium link

Effect of X1 and X2 needs to propagate through chain.

Page 23: Accelerating Random Walks

Theoretical Results on 3-SAT Chains

Function low(i) Expected run time of pure RW

i-2 (highly local) ~ Fib(n) (i.e., exp.)

i/2 (interm. reach) O(n . nlog n) (i.e., quasi-poly)

log i (interm. reach) O(n2 . (log n)2) (i.e., poly)

1 (full back reach) O(n2)

low(i) captures how far back the clauses reach.

Page 24: Accelerating Random Walks

Proof

The proofs of these claims are quite involved, and are available at http://www.cs.cornell.edu/home/selman/weiwei.pdf

Here, just the intuitions. Each RW process on these formulas can be

decomposed into a series of decoupled, simpler random walks.

Page 25: Accelerating Random Walks

Example: Decomposition 110101 111111

110101010101

110001010001

100001

111001110001

101001111001

111111111101

110101010101

110001100001

111001110001

110101

010001

101001111001111101111111

110111010111

110111100111

111111110111

111101

111001

101001111001111101111111

110111 111111

111101 111111

Start

Sat assign.

Page 26: Accelerating Random Walks

So, the process decomposes into a series of decoupled walks of the form (requires detailed proof):

11…101…11 11…111…11

111101

111001

1/3

101101

1/3

111111

1/3

zi

zi+zlow(i)zi+zi-1

Page 27: Accelerating Random Walks

Recurrence Relations

Our formula structure gives us:

E(f(zi)) = (E(f(zlow(i)) + E(f(zi) + 1)/3

+ (E(f(zi-1) + E(f(zi) + 1)/3

+ 1/3

E(f(zi)) = E(f(zlow(i)) + E(f(zi-1) + 3

Page 28: Accelerating Random Walks

Recurrence Relations

Solving this recurrence for different low(i)’s, we get

Function low(i) E(f(zi))

i-2 Fib(i)

i/2 ilog i

log i i . (log i)2

1 i

This leads to the complexity results for the overall RW.

Page 29: Accelerating Random Walks

Results for RW on 3-SAT chains.

Function low(i) Expected Running time of pure RW

i-2 ~ Fib(n)

i/2 O(n . nlog n)

log i O(n2 . (log n)2)

1 O(n2)

Page 30: Accelerating Random Walks

Recap Chain Formula Results

Adding implied constraints capturing long-range dependencies speeds random walk on 2-Chain to near linear time.

Certain long-range dependencies in 3-SAT lead to poly-time convergence of random walks.

Can we take advantage of these results on practical problem instances? Yes! (next)

Page 31: Accelerating Random Walks

Results on Practical Benchmarks

Idea: Use a formula preprocessor to uncover long-range dependencies and add clauses capturing those dependencies to the formula.

We adapted Brafman’s formula preprocessor to do so. (Brafman 2001)

Experiments on recent verification benchmark.

(Velev 1999)

Page 32: Accelerating Random Walks

Empirical Results

SSS-SAT-1.0 instances (Velev 1999). 100 total. level of redundancy added (20% near optimal)

Formulas(redun. level)

<40 sec <400 sec <4000 sec

= 0.0 15 26 42

= 0.2 85 98 100

= 1.0 13 33 64

Page 33: Accelerating Random Walks

Conclusions

We introduced a method for speeding up random walk style SAT algorithms based on the addition of constraints that capture long range dependencies.

On a binary chain, we showed how by adding implied clauses, biased RW becomes almost as effective as unit-propagation.

Page 34: Accelerating Random Walks

Conclusions, Cont.

In our formal analysis of ternary chains, we showed how the performance of RW varies from exponential to polynomial depending on the range of dependency links. We identified the first subclass of 3-SAT problems solvable in poly-time by unbiased RW

We gave a practical validation of our approach.

Page 35: Accelerating Random Walks

Future Directions

It seems likely that many other dependency structures could speed up random walk style methods.

It should be possible to develop preprocessor to uncover other dependencies. For example, in graph coloring problem we have:

x1 x4 , x2 x5 , x3 x6, …

x1 x4 x7 x10, …

Page 36: Accelerating Random Walks

The end.

Page 37: Accelerating Random Walks

Practical Problems

Brafman’s 2-Simplify method is an ideal tool to help us discover long-range dependencies

It simplifies a CNF formula in the following steps:1. It constructs an implication graph from binary clauses, and

collapses strongly connected components in this graph2. It generates transitive closure of the graph, deduces

through binary and hyper-resolutions, and removes assigned variables

3. It removes transitively redundant links to keep the number of edge minimal

4. It translates the graph back to binary clauses

Page 38: Accelerating Random Walks

Practical Problems

1. constructs an implication graph from binary clauses, and collapses strongly connected components in this graph

2. generates transitive closure of the graph, deduces through binary and hyper-resolutions, and removes assigned variables

3. steps through the redundancy removal steps, and removes each implied link with probability (1-)

4. translates the graph back to binary clauses

Page 39: Accelerating Random Walks

Related Work

Cha and Iwama (1996) studied the effect of adding clauses during local search process. But they focus on resolvents of unsat clauses at local minima, and their selected neighbors. Our results suggested long range dependencies may be more important to uncover