150 likes | 176 Views
Learn about resolving challenging SAT instances by interpreting formulas as conflict graphs and identifying cliques. Discover the efficiency of clique consistency in simplifying formulas and uncovering hidden conflicts to determine unsatisfiability.
E N D
SolvingDifficult SAT Instances Using Greedy Clique Decomposition Pavel Surynek pavel.surynek@mff.cuni.cz http://ktiml.mff.cuni.cz/~surynek Faculty of Mathematicsand PhysicsCharles University, PragueCzech Republic
What is it about ? (outline) • Solving difficult SAT instances • difficult for today’s SAT solvers • Consistency technique • formula interpreted as a graph • searching for structures in the graph - complete sub-graphs (cliques) • simplificationordecisionof the input formula • Comparison with state-of-the-art SAT solving systems Pavel Surynek, SARA 2007
Difficult SAT instances • Difficult instances for today’s SAT solving systems • impossible to (heuristically) guess the solution • heuristics do not succeed ►► search • Typical example: unsatisfiable SAT instances encoding Dirichlet’s box principle (Pigeon-hole principle) • Valuations of variables = certificate(small witness for satisfiability) • Unsatisfiability - no (small) witness Pavel Surynek, SARA 2007
Ourapproach • Input - Boolean formula in CNF • Interpret as a graph of conflicts • vertices = literals • edges = conflicts between literals • example:x and ¬x are in conflict (cannot be satisfied both) • Apply consistency • Singleton arc-consistency ►► new conflicts • Consistency based on conflict graph • Output - equivalent (simpler) formula or the answer “unsatisfiable“ Pavel Surynek, SARA 2007
Details of the consistency • Make the graph of conflicts denser • apply singleton arc consistency • discover hidden conflicts between literals • denser conflict graph = better for the subsequent step • (Greedily) find cliques in conflict graph • at most one literal from a clique can be satisfied • contribution of literalx...c(x) = number of clauses containing x • contribution of cliqueC...c(C) = maxxC c(x) • ∑Ccliquesc(C)<number of clauses All the cliques together do not contribute enough to satisfy the input formula ►► the input formula is unsatisfiable Pavel Surynek, SARA 2007
Clique consistency • Generalization of “∑Ccliquesc(C)<#clauses” • Choose asub-formula B = subset of clauses • contribution of literalx tosub-formulaB ... ...c(x,B)=numberof clauses ofBcontaining x • contributionof cliqueCtosub-formula B ... ...c(C,B) = maxxCc(x,B) • when∑Ccliquesc(C,B)<number of clauses in B ►► B is unsatisfiable ⇒ input formula is unsatisfiable • Singleton approach...literal x inconsistent • ∑Ccliques∌xc(C,B)<(#clauses of B)-c(x,B) Pavel Surynek, SARA 2007
Clique consistency (example) • Inconsistency (basic case - not singleton):“∑Ccliquesc(C,B)<#clauses in B” • example: clique C1={a,b,c} clique C2={p,q,r} • ( {a,b,c} are pair-wise conflicting {p,q,r} are pair-wise conflicting)sub-formulaB = (a v p) & (b v q) & (c v r) c(C1,B)=1; c(C2,B)=1 • ∑Ccliquesc(C,B) = 2; #clauses in B = 3 • The original formula has no satisfying valuation. Pavel Surynek, SARA 2007
How does it look like (1) • „Insert 7 pigeonsinto 6 holes“ Pavel Surynek, SARA 2007
How does it look like (2) • After inferringnew conflicts - SAC Pavel Surynek, SARA 2007
How does it look like (3) • After enforcing clique consistency:UNSAT Pavel Surynek, SARA 2007
Complexity • Construction of graph of conflicts • polynomial • Singleton arc-consistency • polynomial (however, too time consuming for large real-life problems) • Clique consistency with respect to a single sub-formula • polynomial • Problem: clique consistency with respect to multiple sub-formulas (we cannot try all the sub-formulas) Pavel Surynek, SARA 2007
winnersinSAT Competition2005andSAT Race 2006 Competitivecomparison • Tested SAT solving systems • MiniSAT • zChaff • HaifaSAT • selection criterion: source code available • Testing instances (by Fadi Aloul) • Pigeon Hole Principle • Urquhart (resists resolution) • Field Programmable Gate Array Pavel Surynek, SARA 2007
Experimental results Opteron 1600 MHz, Mandriva Linux 10.1 Pavel Surynek, SARA 2007
Future improvements • Examine “∑Ccliquesc(C,B)<#clauses in B” • much information may be lost in the expression ∑Ccliquesc(C,B) • example: clique C1={a,b} clique C2={p,q} clique C3={x,y}sub-formulaB = (a v p) & (a v q) & (b v p) & x & yc(C1,B)=2; c(C2,B)=2; c(C3,B)=1 • ∑Ccliquesc(C,B) = 5; #clauses in B = 5 • c(C1,B)+c(C2,B) ≤ 3 • (c(C1,B)+c(C2,B))+c(C3,B)=3+1=4 Pavel Surynek, SARA 2007
Summary andconclusion • Processing of SAT instance using clique consistency • formula interpreted as agraph of conflicts • greedy detection of cliques • inference of new conflicts • output: equivalent formula or decision • Experiments • speed-upin order of magnitudes compared to state-of-the-art SAT solvers (on difficult problems) Pavel Surynek, SARA 2007