170 likes | 273 Vues
This paper introduces SupportSAT, a simulated-annealing algorithm that considers support in solving satisfiability problems efficiently. The algorithm is part of the Support Paradigm, where greedy decisions are based on the notion of support. Experimental and rigorous results show SupportSAT's effectiveness compared to traditional WalkSAT and Random 3SAT algorithms. The study aims to improve the lower bound on the satisfiability threshold. With a thorough analysis of the Planted 3SAT distribution, SupportSAT demonstrates the capability to find satisfying assignments in polynomial time. This research contributes to advancing the understanding and practicality of satisfiability algorithms.
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