170 likes | 265 Views
It’s all about the support: a new perspective on the satisfiability problem. Danny Vilenchik. SAT – Basic Notions. 3CNF form: F = ( x 1 Ç x 2 Ç ¬x 5 ) Æ ( x 3 Ç ¬x 4 Ç ¬x 1 ) Æ ( x 1 Ç x 2 Ç x 6 ) Æ … Ã F = ( F Ç F Ç T ) Æ ( T Ç T Ç T ) Æ ( T Ç F Ç T ) Æ ….
E N D
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 )Æ… The supporter (if exists) is always unique x5supports this clause w.r.t. à Goal: algorithm that produces optimal result, efficient, and works for all inputs
SAT – Some Background • Finding a satisfying assignment is NP Hard [Cook’71] • Noapproximationfor MAX-SAT with factor better than 7/8 [Hastad’01] • How to proceed? • Hardness results only show that there existhard instances • The heuristical approach - relaxes the universality requirement • Typical instance? • One possibility: random models Heuristic is a polynomial time algorithm that produces optimal results on 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 • RWalkSAT(F) [Papa91] • Set à à random assignment • While(à doesn't satisfy F) • Pick a random unsatisfied clause C • Flip a random variable in C • Experimental results show: takes super-polynomial time for m/n¸2.65 • WalkSAT(F) • Set à à random assignment • While(à doesn't satisfy F) • Pick a random unsatisfied clause C • If C contains x s.t. supportÃ(x)=0, flip x • Else, • w.p. p flip variable with least support • w.p. (1-p) flip a random variable Simulated annealing
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.
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.
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 • WalkSAT(F) • Set à à random assignment • While(à doesn't satisfy F) • Pick a random unsatisfied clause C • If C contains x s.t. supportÃ(x)=0, flip x • Else, • w.p. p flip variable with least support • w.p. (1-p) flip a random variable • RWalkSAT(F) • Set à à random assignment • While(à doesn't satisfy F) • Pick a random unsatisfied clause C • Flip a random variable in C • SupportSAT(F) • Start with a random assignment • Iteratively flip variables with low support (O(log n) steps) • 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 • xsupports (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’s x is suspicious
Analysis Sampler cont. • SupportSAT(F) • Iteratively flip variables with low support (O(log n) steps) • Exhaustively search the subformula induced by “suspicious” variables • Step 1 sets correctly the typical variables (large support w.r.t. ) • Step 2 completes the assignment of suspicious variables • There are whpe-£(m/n)nsuspicious variables • They tpyically induce a “simple” formula (efficiently searchable) • One may not expect any “sophisticated” procedure to set them
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 frozencluster 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 0support: 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