150 likes | 176 Views
Solving Difficult SAT Instances Using Greedy Clique Decomposition. Pavel Surynek pavel.surynek@mff.cuni.cz http://ktiml.mff.cuni.cz/~surynek Faculty of Mathematics and Physics Charles University , Prague Czech Republic. What is it about ? (outline). Solving difficult SAT instances
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