Download presentation

Presentation is loading. Please wait.

Published byHugh Merring Modified over 2 years ago

1
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

2
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) simplification or decision of the input formula Comparison with state-of-the-art SAT solving systems Pavel Surynek, SARA 2007

3
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

4
Our approach 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

5
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 literal x...c(x) = number of clauses containing x contribution of clique C...c(C) = max xC c(x) ∑ Ccliques c(C)

6
Clique consistency Generalization of “∑ Ccliques c(C)<#clauses” Choose a sub-formula B = subset of clauses contribution of literal x to sub-formula B......c(x,B)=number of clauses of B containing x contribution of clique C to sub-formula B......c(C,B) = max xC c(x,B) when ∑ Ccliques c(C,B)

7
Inconsistency (basic case - not singleton): “∑ Ccliques c(C,B)<#clauses in B” example:clique C 1 ={a,b,c} clique C 2 ={p,q,r} ({a,b,c} are pair-wise conflicting {p,q,r} are pair-wise conflicting) sub-formula B = (a v p) & (b v q) & (c v r) c(C 1,B)=1; c(C 2,B)=1 ∑ Ccliques c(C,B) = 2; #clauses in B = 3 The original formula has no satisfying valuation. Clique consistency (example) Pavel Surynek, SARA 2007

8
How does it look like (1) „Insert 7 pigeons into 6 holes“ Pavel Surynek, SARA 2007

9
How does it look like (2) After inferring new conflicts - SAC Pavel Surynek, SARA 2007

10
How does it look like (3) After enforcing clique consistency: UNSAT Pavel Surynek, SARA 2007

11
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

12
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 Competitive comparison Pavel Surynek, SARA 2007 winners in SAT Competition 2005 and SAT Race 2006

13
Experimental results Pavel Surynek, SARA 2007 Instance Decision (seconds) Speedup ratio w.r.t. MiniSAT Speedup ratio w.r.t zChaff Speedup ratio w.r.t HaifaSAT chnl10_110.4379.7617.53> 1395.34 chnl10_120.60169.688.51> 1000.00 chnl10_130.78256.7914.70> 769.23 chnl11_120.70> 857.1447.84> 857.14 urq3_5130.150.73N/A urq4_5> 600.00N/A urq5_5> 600.00N/A urq6_5> 600.00N/A hole90.0845.518.255977.00 hole100.13301.8457.92> 4615.38 hole110.20> 3000.00161.8> 3000.00 hole120.30> 2000.001240.6> 2000.00 fpga10_110.4697.3227.34> 1304.34 fpga10_120.64186.3452.84> 937.50 fpga10_130.84431.2390.65> 714.28 fpga10_151.39> 431.65197.72> 431.65 Opteron 1600 MHz, Mandriva Linux 10.1

14
Examine “∑ Ccliques c(C,B)<#clauses in B” much information may be lost in the expression ∑ Ccliques c(C,B) example:clique C 1 ={a,b} clique C 2 ={p,q} clique C 3 ={x,y} sub-formula B = (a v p) & (a v q) & (b v p) & x & y c(C 1,B)=2; c(C 2,B)=2; c(C 3,B)=1 ∑ Ccliques c(C,B) = 5; #clauses in B = 5 c(C 1,B)+c(C 2,B) ≤ 3 (c(C 1,B)+c(C 2,B))+c(C 3,B)=3+1=4 Future improvements Pavel Surynek, SARA 2007

15
Summary and conclusion Processing of SAT instance using clique consistency formula interpreted as a graph of conflicts greedy detection of cliques inference of new conflicts output: equivalent formula or decision Experiments speed-up in order of magnitudes compared to state-of-the-art SAT solvers (on difficult problems) Pavel Surynek, SARA 2007

Similar presentations

OK

NP Complexity By Mussie Araya. What is NP Complexity? Formal Definition: NP is the set of decision problems solvable in polynomial time by a non- deterministic.

NP Complexity By Mussie Araya. What is NP Complexity? Formal Definition: NP is the set of decision problems solvable in polynomial time by a non- deterministic.

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google