accelerating random walks wei wei and bart selman

Post on 06-Jan-2018

225 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Introduction – theory  On theory side, Papadimitriou (1991) shows unbiased random walk reach a satisfying assignment in O(N 2 ) on an arbitrary satisfiable 2SAT formula  Schoening (1999) shows a series of short unbiased random walk on a 3-SAT problem will find a solution in O(1.334 N ) flips  Parkes (CP 2002) shows empirically for random 3-sat, when clause/variable

TRANSCRIPT

Accelerating Random Walks

Wei Wei and Bart Selman

Introduction – local search

Local Search methods have become viable alternative to backtrack style methods

For SAT, the first local methods are based on greedy hill-climbing search

Later, random walk style methods (WalkSat and its variants) provide great improvements

— these methods combine a random walk strategy with a greedy bias

Introduction – theory

On theory side, Papadimitriou (1991) shows unbiased random walk reach a satisfying assignment in O(N2) on an arbitrary satisfiable 2SAT formula

Schoening (1999) shows a series of short unbiased random walk on a 3-SAT problem will find a solution in O(1.334N) flips

Parkes (CP 2002) shows empirically for random 3-sat, when clause/variable <2.65, unbiased RW finds a solution in linear flips. Otherwise, it appears to take greater than polynomial time

Introduction - practice

Random walk style methods are successful in randomly generated instances, as well as in a bunch of real-world domains

However, they are generally less effective in highly structured domains compared to DPLL

One of the reasons is random walk needs O(N2) flips to propagate dependencies among variables, while in DPLL, unit-propagation takes linear time

Overview

Introduction Random Walk Strategies - unbiased random walk

1. on 2SAT formulas2. on 3SAT formulas

- biased random walk1. RWF2. WalkSat

Chain Formulas - binary chains - ternary chains Practical Problems Conclusion and Future Directions

Unbiased (Pure) Random Walk Strategy

Procedure RWRepeat

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

Until a satisfying assignment is found

Unbiased RW on any satisfiable 2SAT Formula

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

Unbiased RW on any satisfiable 2SAT Formula

T T’

Reach T in O(n2) time with probability going to 1

Unbiased RW on 3SAT Formulas

Unbiased RW on 3SAT Formulas

RW is heavily biased away from the solution under consideration

Exponential number of flips required to reach the solution

In practice, pure RW performs poorly on hard random 3SAT formula (Parkes, CP2002)

Biased Random Walk

Procedure RWFRepeat

c:= an unsatisfied clause chosen at randomif there exist a variable x in c with break value = 0

flip the value of x (freebie move)else

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

Until a satisfying assignment is found

Biased Random Walk

Procedure WalkSatRepeat

c:= an unsatisfied clause chosen at randomif there exist a variable x in c with break value = 0flip the value of x (freebie move)else with probability px:= a variable in c chosen at randomflip the value of xwith probability (1-p)x:= a variable in c with smallest break valueflip the value of x

Until a satisfying assignment is found

Chain Formulas

To 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 demonstrate the extreme properties of RW style algorithms

Binary Chains

Consider formulas F2chain

x1 x2

x2 x3

xn-1 xn

xn x1

Binary Chains

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.

Our experiments and theoretic analysis show that adding a greedy bias to random walk does not help in this case: both RWF and WalkSat takes n2) flips to reach a satisfying assignment on these formulas

Speeding up Random Walks on Binary Chains

Pure binary chain BCR

Speeding up Random Walks on Binary Chains

*: empirical results**: theoretical proof available

Pure binary chain

BCR

RW (n2)** (n2)**

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

WalkSat (n2)* (n1.1)*

Formulas of Different Sizes and Redundancy Rates

Redundant rate = # redundant clauses / n

WalkSat vs. RWF

Empirically Determine Optimal Redundancy Rate

Ternary Chains

Ternary Chains

Consider formulas F3chain, low(i) x1

x2

x1 x2 x3

…xlow(i) xi-1 xi

xlow(n) xn-1 xn

*These formulas are inspired by Prestwich [2001]

Ternary Chains

Theoretical Results

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)

Proof

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

But the intuition behind the proofs are simple. Namely, each RW process on these formulas can be decomposed into a bunch of components, which are in turn solved by solving a series of recurrence relations

Decomposition of RW110101 111111

110101010101

110001010001

100001

111001110001

101001111001

111111111101

110101010101

110001100001

111001110001

110101

010001

101001111001111101111111

110111010111

110111100111

111111110111

111101

111001

101001111001111101111111

110111 111111

111101 111111

Recurrence Relations

Therefore, we haveE(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

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

From this table, it is easy to get the complexity results shown

Theoretical Results

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)

Empirical Results: Unbiased Random Walks

Empirical Results: Biased and Unbiased 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 variables3. It removes transitively redundant links to keep the number of

edge minimal4. It translates the graph back to binary clauses

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

Practical Problems

Number of instance WalkSat (noise = 0.5) solved (SSS-SAT-1.0 by Velev)

Formulas <40 sec <400 sec <4000 sec

= 0.0 15 26 42 = 0.2 85 98 100 = 1.0 13 33 64

Optimal Redundancy Rate

Time vs Redundancy Rate Flips vs Redundancy Rate

WalkSat(noise=50) on dlx2_cc_bug01.cnf from SAT-1.0 Suite

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

Conclusions

We show how to speed up random walk style algorithms – introduce constraints that capture long range dependencies

In our formal analysis of ternary chains, we show performance of RW varies from exponential to polynomial depending on the range of dependency links. We identify a sub-case that is solvable in poly-time by unbiased RW

In binary chain, we show with added implied clauses, biased RW becomes almost as effective as unit-propagation

We use practical problems to validate our approach

Future Directions

It should be possible to develop preprocessor to uncover other type of dependencies, for example, in graph coloring problem, etcx1 x4 , x2 x5 , x3 x6, …

x1 x4 x7 x10, …

top related