It’s all about the support: a new perspective on the satisfiability problem Danny Vilenchik.
-
date post
21-Dec-2015 -
Category
Documents
-
view
212 -
download
0
Transcript of It’s all about the support: a new perspective on the satisfiability problem Danny Vilenchik.
It’s all about the support: a new perspective on the satisfiability problem
Danny Vilenchik
SAT – Basic Notions
3CNF form:
F = (x1Çx2Ǭx5) Æ (x3Ǭx4Ǭx1) Æ (x1Çx2Çx6) Æ…
Ã
F = ( F ÇF Ç T ) Æ ( T Ç T Ç T ) Æ ( T Ç F Ç T )Æ…
x1x2x3x4x5x6
FFTFFT
x5 supports this clause w.r.t. Ã
The supporter (if exists) is always unique
Goal: algorithm that produces optimal result, efficient, and works for all inputsGoal: algorithm that produces optimal result, efficient, and works for all inputs
SAT – Some Background
Finding a satisfying assignment is NP Hard [Cook’71]
No approximation for MAX-SAT with factor better than 7/8 [Hastad’01]
How to proceed?
Hardness results only show that there exist hard instances
The heuristical approach - relaxes the universality requirement
Typical instance?
One possibility: random models
Heuristic is a polynomial time algorithm that produces optimal resultson typical instances
Heuristic is a polynomial time algorithm that produces optimal resultson typical instances
Random 3SAT
Random 3SAT:
Fix m,n
Pick m clauses uniformly at random (over the n variables)
Threshold: there exists a constant d such that [Fri99]
m/n¸d: most 3CNFs are not satisfiable (4.506)
m/n<d : most 3CNFs are satisfiable (3.42)
Near-threshold 3CNFs are apparently “hard” for many SAT heuristics
Possible reason: complicated structure of solution space (clustering)
Motivation – part 1
Experimental results show: takes super-polynomial time for m/n¸2.65
RWalkSAT(F) [Papa91]1. Set à à random assignment2. While(à doesn't satisfy F)
a. Pick a random unsatisfied clause Cb. Flip a random variable in C
RWalkSAT(F) [Papa91]1. Set à à random assignment2. While(à doesn't satisfy F)
a. Pick a random unsatisfied clause Cb. Flip a random variable in C
Simulated annealing
WalkSAT(F)1. Set à à random assignment2. While(à doesn't satisfy F)
a. Pick a random unsatisfied clause Cb. If C contains x s.t. supportÃ(x)=0, flip x
c. Else, - w.p. p flip variable with least support- w.p. (1-p) flip a random variable
WalkSAT(F)1. Set à à random assignment2. While(à doesn't satisfy F)
a. Pick a random unsatisfied clause Cb. If C contains x s.t. supportÃ(x)=0, flip x
c. Else, - w.p. p flip variable with least support- w.p. (1-p) flip a random variable
Motivation cont.
WalkSAT was suggested by Seizt, Alava, Orponen, 2005.
For p=0.57, experimental results show polynomial time for m/n¸4.2
Already above the clustering threshold (~3.92)
What makes this possible?
We suggest: taking the support into account
WalkSAT is part of the Support Paradigm
Support Paradigm: a simulated-annealing heuristic H is part of
the Support Paradigm if it bases its greedy decisions (which variable
to flip) on the notion of support.
Support Paradigm: a simulated-annealing heuristic H is part of
the Support Paradigm if it bases its greedy decisions (which variable
to flip) on the notion of support.
Our Result – Part 1
We present a simulated-annealing algorithm – SupportSAT
In some sense a variation on RWalkSAT that considers the support
The algorithm is part of the Support Paradigm
Proving rigorously that WalkSAT “works” is a very ambitious task
Improving lower bound on the sat threshold from 3.42 to 4.21
Theorem: the algorithm SupportSAT finds whp a satisfying assignment
for 3CNF formulas in the planted 3SAT distribution with m/n¸c0,
c0 some sufficiently large constant.
Theorem: the algorithm SupportSAT finds whp a satisfying assignment
for 3CNF formulas in the planted 3SAT distribution with m/n¸c0,
c0 some sufficiently large constant.
Our Result cont.
RWalkSAT disregards the support – fails on such instances [AB04]
Staying at distance ¸ n/3 form any satisfying assignment
This rigorously mirrors the near-threshold picture for Random 3SAT
Experimental results show (random 3SAT):
RWalkSAT takes super-polynomial time for m/n¸2.65
WalkSAT (Support Paradigm) stays efficient until m/n¸4.21
Rigorous results show (Planted 3SAT) :
RWalkSAT takes super-polynomial time for m/n¸c0
SupportSAT finds whp a satisfying assignment in polynomial time
The Algorithms
RWalkSAT(F)1. Set à à random assignment2. While(à doesn't satisfy F)
a. Pick a random unsatisfied clause Cb. Flip a random variable in C
RWalkSAT(F)1. Set à à random assignment2. While(à doesn't satisfy F)
a. Pick a random unsatisfied clause Cb. Flip a random variable in C
WalkSAT(F)1. Set à à random assignment2. While(à doesn't satisfy F)
a. Pick a random unsatisfied clause Cb. If C contains x s.t. supportÃ(x)=0, flip x
c. Else, - w.p. p flip variable with least support- w.p. (1-p) flip a random variable
WalkSAT(F)1. Set à à random assignment2. While(à doesn't satisfy F)
a. Pick a random unsatisfied clause Cb. If C contains x s.t. supportÃ(x)=0, flip x
c. Else, - w.p. p flip variable with least support- w.p. (1-p) flip a random variable
SupportSAT(F)
1. Start with a random assignment
2. Iteratively flip variables with low support (O(log n) steps)
3. Exhaustively search the subformula induced by “suspicious” variables
SupportSAT(F)
1. Start with a random assignment
2. Iteratively flip variables with low support (O(log n) steps)
3. Exhaustively search the subformula induced by “suspicious” variables
The Planted Distribution
Planted 3SAT distribution with parameters m,n:
Fix an assignment
Pick u.a.r. m clauses out of all clauses that are satisfied by
We consider the case m/n=O(1)
Planted models also “fashionable” for graph coloring, max clique, max independent set, min bisection, SAT …
Planted 3SAT was analyzed in several papers
[Fla03] shows a spectral algorithm for solving sparse instances
We use the planted 3SAT as a case study for rigorous analysis to show:
“Simple” algorithms can be rigorously analyzed
Analysis of an algorithm in the Support Paradigm
Analysis Sampler
Every variable x is expected to appear in 3m/n clauses
x supports (w.r.t. planted) a clause in which it appears w.p. 1/7
E[Support(x)]=3m/(7n) (O(1) in our setting)
Take à s.t. Ã(x)(x), but equal otherwise
SupportÃ(x)=0 then x will be flipped
After flip, SupportÃ(x) is typically large: x will not be flipped again
If Support(x) is small, then also after flip in à – remains small
In “reality”: Ã is random and therefore Ã(x)(x) for half of the x’sx is suspicious
Analysis Sampler cont.
Step 1 sets correctly the typical variables (large support w.r.t. )
Step 2 completes the assignment of suspicious variables
There are whp e-£(m/n)n suspicious variables
They tpyically induce a “simple” formula (efficiently searchable)
One may not expect any “sophisticated” procedure to set them
SupportSAT(F)
1. Iteratively flip variables with low support (O(log n) steps)
2. Exhaustively search the subformula induced by “suspicious” variables
SupportSAT(F)
1. Iteratively flip variables with low support (O(log n) steps)
2. Exhaustively search the subformula induced by “suspicious” variables
Motivation – part 2
Conjectured solution space of Random 3SAT just below the threshold:
(rigorously proved for k¸8, [AR06,MMZ05])
All assignments within a cluster are “close” A linear number of variables are “frozen”
Every two clusters are “far” from each other Exponentially many clusters
Motivation – cont.
[A. Coja-Oghlan, M. Krivelevich, V. 2007]
Solution space of Planted 3SAT, m/n some constant above the threshold:
(and also uniformly random satisfiable 3CNFs with same ratio)
Single cluster of satisfying assignments Size of the cluster is exponential in n (1-e-(m/n))n variables are frozen
Our Result – part 2
Observation: if 9Ã SupportÃ(x)=0, x can not be frozen in that
cluster
Going over the proof in [CKV07]:
Combinatorial characterization of the single frozen cluster is completely based on the support
The analysis of SupportSAT reveals:
The “WalkSAT” part of SupportSAT sets the frozen variables in the cluster correctly - (1-e-(m/n))n variables
The non-frozen variables induce a simple formula:
can be identified and searched efficiently
Further Research
Rigorous analysis of “simple” and “practical” heuristics
WalkSAT on near-threshold random 3SAT
For starters, analyze it on the planted distribution
See if the components used in SupportSAT can be useful in practice
For example, for near-threhold random 3SAT
Any other interesting phenomena can be explained by the support ?
Motivation – Part 3 (philosophical) 3CNF formulas can be seen as physical objects (spin glass system)
Every assignment corresponds to a an energy level of the system
EF(Ã)= the number of unsatisfied clauses by à (free energy)
Goal: reach 0 temperature (freeze)
Connection to support?
Flipping variable with 0 support: making a move that can only decrease energy
Flipping variable with lowest support: a move which incurs the least increment of free energy
Flipping a variable in an unsatisfied clause: if it reduces the energy of the system then it increases the support of this variable