Solving Difficult SAT Instances Using Greedy Clique Decomposition Pavel Surynek Faculty of.

Slides:



Advertisements
Similar presentations
NP-Hard Nattee Niparnan.
Advertisements

Constraint Based Reasoning over Mutex Relations in Graphplan Algorithm Pavel Surynek Charles University, Prague Czech Republic.
Projection Global Consistency: Application in AI Planning Pavel Surynek Charles University, Prague Czech Republic.
IBM Labs in Haifa © 2005 IBM Corporation Adaptive Application of SAT Solving Techniques Ohad Shacham and Karen Yorav Presented by Sharon Barner.
The Theory of NP-Completeness
Tractable Class of a Problem of Finding Supports Pavel Surynek Roman Barták Charles University, Prague Czech Republic.
© The McGraw-Hill Companies, Inc., Chapter 8 The Theory of NP-Completeness.
CS21 Decidability and Tractability
Graphs 4/16/2017 8:41 PM NP-Completeness.
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 21 Instructor: Paul Beame.
Efficient SAT Solving for Non- clausal Formulas using DPLL, Graphs, and Watched-cuts Himanshu Jain Edmund M. Clarke.
1 Satisfiability Checking of Non-clausal Formulas using General Matings Himanshu Jain Constantinos Bartzis Edmund Clarke Carnegie Mellon University.
State-of-the-art in SAT solvers
NP-Completeness (2) NP-Completeness Graphs 4/17/2017 6:25 AM x x x x x
SAT Solving Presented by Avi Yadgar. The SAT Problem Given a Boolean formula, look for assignment A for such that.  A is a solution for. A partial assignment.
SAT Solver Math Foundations of Computer Science. 2 Boolean Expressions  A Boolean expression is a Boolean function  Any Boolean function can be written.
Slide 1 CSPs: Arc Consistency & Domain Splitting Jim Little UBC CS 322 – Search 7 October 1, 2014 Textbook §
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Compact Representations of Cooperative Path-Finding as SAT Based on Matchings in Bipartite Graphs Pavel Surynek presented by Filip Dvořák Faculty of Mathematics.
Lecture 22 More NPC problems
CHAPTERS 7, 8 Oliver Schulte Logical Inference: Through Proof to Truth.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: SAT SAT applied in equivalence checking.
Tractable Class of a Problem of Goal Satisfaction in Mutual Exclusion Network Pavel Surynek Faculty of Mathematics and Physics Charles University, Prague.
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.
Motivation & Goal SAT and Constraint Processing (CP) are fundamental areas of Computer Science that address the same computational questions. Compare SAT.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
CSC401 – Analysis of Algorithms Chapter 13 NP-Completeness Objectives: Introduce the definitions of P and NP problems Introduce the definitions of NP-hard.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
Domain-Dependent View of Multiple Robots Path Planning Pavel Surynek Charles University, Prague Czech Republic.
SAT 2009 Ashish Sabharwal Backdoors in the Context of Learning (short paper) Bistra Dilkina, Carla P. Gomes, Ashish Sabharwal Cornell University SAT-09.
CSCI 3130: Formal languages and automata theory Andrej Bogdanov The Chinese University of Hong Kong The Cook-Levin.
Optimality FPGA Technology Mapping: A Study of Optimality Andrew C. Ling M.A.Sc. Candidate University of Toronto Deshanand P. Singh Ph.D. Altera Corporation.
Making Path-Consistency Stronger for SAT Pavel Surynek Faculty of Mathematics and Physics Charles University in Prague Czech Republic.
CSE 6311 – Spring 2009 ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS Lecture Notes – Feb. 3, 2009 Instructor: Dr. Gautam Das notes by Walter Wilson.
Satisfiability and SAT Solvers CS 270 Math Foundations of CS Jeremy Johnson.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
Complexity ©D.Moshkovits 1 2-Satisfiability NOTE: These slides were created by Muli Safra, from OPICS/sat/)
Computability Examples. Reducibility. NP completeness. Homework: Find other examples of NP complete problems.
TU/e Algorithms (2IL15) – Lecture 10 1 NP-Completeness, II.
NP-Completeness (2) NP-Completeness Graphs 4/13/2018 5:22 AM x x x x x
Inference and search for the propositional satisfiability problem
Richard Anderson Lecture 26 NP-Completeness
Parallelism in SAT Solvers
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
NP-Completeness Proofs
Richard Anderson Lecture 26 NP-Completeness
Hard Problems Introduction to NP
(xy)(yz)(xz)(zy)
NP-Completeness Yin Tat Lee
CS21 Decidability and Tractability
Where Can We Draw The Line?
NP-Completeness (2) NP-Completeness Graphs 11/23/2018 2:12 PM x x x x
ECE 667 Synthesis and Verification of Digital Circuits
Resolution Proofs for Combinational Equivalence
NP-Complete Problems.
NP-Completeness Yin Tat Lee
More on NP-completeness
CS21 Decidability and Tractability
More NP-complete problems
Canonical Computation without Canonical Data Structure
Decision heuristics based on an Abstraction/Refinement model
NP-Completeness (2) NP-Completeness Graphs 7/9/2019 6:12 AM x x x x x
Solving Non-clausal Formulas with DPLL search
Lecture 23 NP-Hard Problems
Presentation transcript:

Solving Difficult SAT Instances Using Greedy Clique Decomposition Pavel Surynek Faculty of Mathematics and Physics Charles University, Prague Czech 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) simplification or decision of 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

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

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 xC c(x) ∑ Ccliques c(C)<number of clauses Pavel Surynek, SARA 2007 All the cliques together do not contribute enough to satisfy the input formula ►► the input formula is unsatisfiable

Clique consistency  Generalization of “∑ Ccliques 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 xC c(x,B) when ∑ Ccliques c(C,B)<number of clauses in B ►► B is unsatisfiable ⇒ input formula is unsatisfiable  Singleton approach...literal x inconsistent ∑ Ccliques ∌ x c(C,B)<(#clauses of B)-c(x,B) Pavel Surynek, SARA 2007

 Inconsistency (basic case - not singleton): “∑ Ccliques 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 ∑ Ccliques c(C,B) = 2; #clauses in B = 3  The original formula has no satisfying valuation. Clique consistency (example) Pavel Surynek, SARA 2007

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

How does it look like (2)  After inferring new 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

 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

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_ > chnl10_ > chnl10_ > chnl11_120.70> > urq3_ N/A urq4_5> N/A urq5_5> N/A urq6_5> N/A hole hole > hole110.20> > hole120.30> > fpga10_ > fpga10_ > fpga10_ > fpga10_151.39> > Opteron 1600 MHz, Mandriva Linux 10.1

 Examine “∑ Ccliques c(C,B)<#clauses in B” much information may be lost in the expression ∑ Ccliques 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 ∑ Ccliques 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

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