On Finding All Minimally Unsatisfiable Subformulas Mark Liffiton and Karem Sakallah University of Michigan {liffiton, June 21, 2005.

Slides:



Advertisements
Similar presentations
Model Checking Base on Interoplation
Advertisements

Exploiting SAT solvers in unbounded model checking
Introduction to Formal Methods for SW and HW Development 09: SAT Based Abstraction/Refinement in Model-Checking Roberto Sebastiani Based on work and slides.
Traveling Salesperson Problem
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
“Using Weighted MAX-SAT Engines to Solve MPE” -- by James D. Park Shuo (Olivia) Yang.
IBM Labs in Haifa © 2005 IBM Corporation Adaptive Application of SAT Solving Techniques Ohad Shacham and Karen Yorav Presented by Sharon Barner.
EE 553 Integer Programming
Towards More Efficient SAT-Based Model Checking Joao Marques-Silva Electronics & Computer Science University of Southampton LAA C&V Workshop, Isaac Newton.
Reduction of Interpolants for Logic Synthesis John Backes Marc Riedel University of Minnesota Dept.
SAT and Model Checking. Bounded Model Checking (BMC) A.I. Planning problems: can we reach a desired state in k steps? Verification of safety properties:
Data Transmission and Base Station Placement for Optimizing Network Lifetime. E. Arkin, V. Polishchuk, A. Efrat, S. Ramasubramanian,V. PolishchukA. EfratS.
CS21 Decidability and Tractability
Searching for Autarkies to Trim Unsatisfiable Clause Sets Mark H. Liffiton and Karem A. Sakallah University of Michigan {liffiton,
1 Predicate Abstraction of ANSI-C Programs using SAT Edmund Clarke Daniel Kroening Natalia Sharygina Karen Yorav (modified by Zaher Andraus for presentation.
Implicit Hitting Set Problems Richard M. Karp Harvard University August 29, 2011.
Computational Methods for Management and Economics Carla Gomes
Approximation Algorithms
Formal Verification Group © Copyright IBM Corporation 2008 IBM Haifa Labs SAT-based unbounded model checking using interpolation Based on a paper “Interpolation.
Identifying Conflicts in Overconstrained Temporal Problems Mark H. Liffiton, Michael D. Moffitt, Martha E. Pollack, and Karem A. Sakallah University of.
Integer Programming Difference from linear programming –Variables x i must take on integral values, not real values Lots of interesting problems can be.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
Derivation of Monotonic Covers for Standard C Implementation Using STG Unfoldings Victor Khomenko.
1 Combinatorial Problems in Cooperative Control: Complexity and Scalability Carla Gomes and Bart Selman Cornell University Muri Meeting March 2002.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
272: Software Engineering Fall 2012 Instructor: Tevfik Bultan Lecture 4: SMT-based Bounded Model Checking of Concurrent Software.
Functional Timing Analysis Made Fast and General Presenter: Yi-Ting Chung Advisor: Jie-Hong Roland Jiang 03/09/2012 Graduate Institute of Electronics Engineering,
Decision Procedures An Algorithmic Point of View
Fixed Parameter Complexity Algorithms and Networks.
Optimization and Relaxation in SAT Search Sharad Malik Princeton University Symposium on Satisfiability Solvers and Program Verification (SSPV) Seattle.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
The Complexity of Optimization Problems. Summary -Complexity of algorithms and problems -Complexity classes: P and NP -Reducibility -Karp reducibility.
Robust Low Power VLSI ECE 7502 S2015 Fault Diagnosis and Logic Debugging Using Boolean Satisfiability ECE 7502 Class Discussion Benjamin Melton Thursday.
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 TexPoint fonts used in EMF. Read the TexPoint manual before you.
Exact methods for ALB ALB problem can be considered as a shortest path problem The complete graph need not be developed since one can stop as soon as in.
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.
Combination of Exact and Approximate Methods for SAT and MAX-SAT Problems Frédéric Lardeux, Frédéric Saubion and Jin-Kao Hao Metaheuristics and Combinatorial.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
Linear Programming Revised Simplex Method, Duality of LP problems and Sensitivity analysis D Nagesh Kumar, IISc Optimization Methods: M3L5.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Boolean Satisfiability Present and Future
Linear Program Set Cover. Given a universe U of n elements, a collection of subsets of U, S = {S 1,…, S k }, and a cost function c: S → Q +. Find a minimum.
Chapter 2) CSP solving-An overview Overview of CSP solving techniques: problem reduction, search and solution synthesis Analyses of the characteristics.
SAT 2009 Ashish Sabharwal Backdoors in the Context of Learning (short paper) Bistra Dilkina, Carla P. Gomes, Ashish Sabharwal Cornell University SAT-09.
Finding Models for Blocked 3-SAT Problems in Linear Time by Systematical Refinement of a Sub- Model Gábor Kusper Eszterházy Károly.
C OMPUTING U NSAT C ORES O F B OOLEAN A ND SMT F ORMULAS Computing Small Unsatisfiable Cores in Satisfiability Modulo Theories Alessandro Cimatti, Alberto.
Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002.
Non-LP-Based Approximation Algorithms Fabrizio Grandoni IDSIA
1 Chapter 6 Reformulation-Linearization Technique and Applications.
Solving Weakened Cryptanalysis Problems for the Bivium Keystream Generator in the Volunteer Computing Project Oleg Zaikin, Alexander Semenov,
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Extracting Minimum Unsatisfiable Cores with a Greedy Genetic Algorithm Jianmin Zhang, Sikun Li, and Shengyu Shen School of Computer Science, National University.
© 2012 IBM Corporation Perfect Hashing and CNF Encodings of Cardinality Constraints Yael Ben-Haim Alexander Ivrii Oded Margalit Arie Matsliah SAT 2012.
Chapter 10 NP-Complete Problems.
Traveling Salesperson Problem
Minimizing Unsatisfiable Formulas
The minimum cost flow problem
Recovering and Exploiting Structural Knowledge from CNF Formulas
Canonical Computation without Canonical Data Structure
Canonical Computation Without Canonical Data Structure
Chapter 11 Limitations of Algorithm Power
On the Designing of Popular Packages
Canonical Computation without Canonical Data Structure
Canonical Computation without Canonical Data Structure
Improved Design Debugging using Maximum Satisfiability
SAT/SMT seminar 18/02/2018 Computing multiple MUSes (Minimal Unsatisfiable Subformulas) and MSISes (Minimal Safe Inductive Subsets) Alexander Ivrii IBM.
Faster Extraction of High-Level Minimal Unsatisfiable Cores
Presentation transcript:

On Finding All Minimally Unsatisfiable Subformulas Mark Liffiton and Karem Sakallah University of Michigan {liffiton, June 21, 2005

2 Problem Description Given: Infeasible set of constraints C Goal: All Minimal Unsatisfiable Subsets of C AKA “MUSes” Minimal Unsat.: All proper subsets satisfiable Compact explanations of infeasibility {C 1,C 2,C 3,C 4,C 5 }  UNSAT {C 1,C 3,C 4 }  UNSAT { C 3,C 4 }  SAT {C 1, C 4 }  SAT {C 1,C 3 }  SAT (MUS)

3 Running Example Boolean CNF example: 4 constraints (clauses) 2 MUSes: MUS 1 = {(a),(a)} MUS 2 = {(a),(a  b),(b)}  = (a) (a) (a  b) (b)

4 Outline Problem Description Motivation Maximal Satisfiability / Minimal Unsatisfiability Algorithms Experimental Results Future Work

5 Motivation Diagnosis of infeasibility User feedback User creates constraint system. Infeasible when expect/require feasibility. MUSes point user to minimized causes of infeasibility. Aid understanding of large, infeasible systems Automatic processes Generally: Any process that needs to reason about infeasible constraint systems Counterexample-guided abstraction refinement (CEGAR) in model checking systems

6 Why All MUSes? Generally: A set of constraints is infeasible as long as it contains any MUSes Correcting one MUS may leave others Optimal corrections could require knowledge of all MUSes Specific example: CEGAR Abstraction used to reduce state space MUSes used to generalize spurious counterexamples for refinement of abstraction Many generalizations possible, many of them induce poor refinement

7 First Step: Max-SAT and MSSes Max-SAT Maximum cardinality satisfiable set of clauses Maximal Satisfiable Subsets (MSSes) Inaugmentable satisfiable set of clauses  = (a) (a) (a  b) (b) (a) (a)(a  b)(b)  (a) (a)(a  b)(b)   (a) (a)(a  b)(b)   

8 A Hint of Duality MSS Satisfiable Cannot be made larger MUS Unsatisfiable Cannot be made smaller

9 Another Step: CoMSSes A CoMSS is the complement of an MSS Each CoMSS provides an irreducible “fix” to the formula: removing its clauses makes the formula satisfiable (turns it into an MSS).  = (a) (a) (a  b) (b) (a) (a)(a  b)(b)     =element of MSS  =element of CoMSS

10 The Link: CoMSSes and MUSes Known: 1. A formula is SAT iff it contains no MUSes 2. Removing the clauses in a CoMSS from a formula makes it SAT  Removing the clauses in a CoMSS removes at least one clause from every MUS in a formula. Every CoMSS is an irreducible hitting set of the collection of all MUSes.

11 Hitting Sets in the Example CoMSS 1 = {(a)} CoMSS 2 = {(a),(a  b)} CoMSS 3 = {(a),(b)} MUS 1 = {(a),(a)} MUS 2 = {(a),(a  b),(b)}  = (a) (a) (a  b) (b) Given a collection of sets M, a hitting set of M is a set that contains at least one element from each set in M.

12 The Duality: CoMSSes and MUSes Additionally, each MUS is an irreducible hitting set of the collection of all CoMSSes Hitting sets provide a transformation from one collection to the other MUSesCoMSSes hitting sets

13 Exploiting the Relationship In practice, finding satisfiable subsets of constraints is easier than unsatisfiable i.e., MSSes easier to find than MUSes Because SAT is “easier” than UNSAT How to Find All MUSes: Find CoMSSes Compute minimal hitting sets of the CoMSSes

14 Outline Problem Description Motivation Maximal Satisfiability / Minimal Unsatisfiability Algorithms Experimental Results Conclusions and Future Work

15 Algorithms for Finding All MUSes Separate stepsCAMUS (Compute All Minimal Unsatisfiable Subsets – Liffiton & Sakallah) Interleaved stepsDAA (Dualize and Advance – Bailey & Stuckey)

16 CAMUS: Finding All CoMSSes Augment CNF with clause selector variables C i = x i1  x i2  …  x in becomes C i = y i  x i1  x i2  …  x in Y-variables permit enabling/disabling constraints within DPLL-style search A CoMSS can be obtained by solving an optimization problem Find a solution to the augmented formula with the fewest y-variables assigned FALSE Add blocking clauses to block old solutions

17 CAMUS: Finding All CoMSSes Optimization: Solve incrementally using a sliding objective Start by finding all CoMSSes w/ 1 clause, then all w/ 2, etc… until all found Implemented with an AtMost constraint Within a single bound, the algorithm can utilize a single incremental search, exploiting all common SAT techniques (esp. learned clauses)

18 1.Add clause-selector variables 2.Add AtMost constraint 3.First solution – y 1 is FALSE Add blocking clause and COMSS 4.No further solutions, increment AtMost 5.Second solution – y 2 and y 3 are FALSE Add blocking clause and CoMSS 6.Third solution – y 2 and y 4 are FALSE Add blocking clause and CoMSS 7.No further solutions, even without AtMost constraint AtMost({y 1,y 2,y 3,y 4 }, 1) Clauses a aa a  b bb Clauses y 1  a y2  ay2  a y 3  a  b y4  by4  b Clauses y 1  a y2  ay2  a y 3  a  b y4  by4  b y1y1 Clauses y 1  a y2  ay2  a y 3  a  b y4  by4  b y1y1 y 2  y 3 Clauses y 1  a y2  ay2  a y 3  a  b y4  by4  b y1y1 y 2  y 3 y 2  y 4 AtMost({y 1,y 2,y 3,y 4 }, 2) CoMSSes {a} CoMSSes {a} {a, a  b} CoMSSes {a} {a, a  b} {a, b} CAMUS: Finding All CoMSSes  = (a) (a) (a  b) (b)

19 CAMUS: Obtaining a Single MUS Goal: Irreducible Hitting Set Straightforward construction, no search Iteratively choose clauses to add to MUS Choice can be arbitrary For each chosen clause, alter remaining problem to make that clause essential

20 CAMUS: Obtaining a Single MUS  = (a) (a) (a  b) (b) CoMSS 1 = {(a)} CoMSS 2 = {(a),(a  b)} CoMSS 3 = {(a),(b)} 1.Select a clause to add to the MUS(a  b)

21 CAMUS: Obtaining a Single MUS  = (a) (a) (a  b) (b) CoMSS 1 = {(a)} CoMSS 2 = {(a),(a  b)} CoMSS 3 = {(a),(b)} 1.Select a clause to add to the MUS(a  b) 2.Select a CoMSS in which it appears(CoMSS 2 )

22 CAMUS: Obtaining a Single MUS  = (a) (a) (a  b) (b) CoMSS 1 = {(a)} CoMSS 2 = {(a),(a  b)} CoMSS 3 = {(a),(b)} 1.Select a clause to add to the MUS(a  b) 2.Select a CoMSS in which it appears(CoMSS 2 ) 3.Remove any other clauses in that CoMSS from the problem This makes the chosen clause essential for that CoMSS

23 CAMUS: Obtaining a Single MUS  = (a) (a) (a  b) (b) CoMSS 1 = {(a)} CoMSS 2 = {(a  b)} CoMSS 3 = {(b)} 1.Select a clause to add to the MUS(a  b) 2.Select a CoMSS in which it appears(CoMSS 2 ) 3.Remove any other clauses in that CoMSS from the problem This makes the chosen clause essential for that CoMSS 4.Remove any CoMSSes in which the clause appears They are now “hit” by the MUS

24 CAMUS: Obtaining a Single MUS  = (a) (a) (a  b) (b) CoMSS 1 = {(a)} CoMSS 3 = {(b)} 1.Select a clause to add to the MUS(a  b) 2.Select a CoMSS in which it appears(CoMSS 2 ) 3.Remove any other clauses in that CoMSS from the problem This makes the chosen clause essential for that CoMSS 4.Remove any CoMSSes in which the clause appears They are now “hit” by the MUS 5.Iterate until no CoMSSes remain

25 CAMUS: Obtaining All MUSes Use general form of single MUS method Branch on choice of clause and CoMSS to make all possible MUSes Tree is not irredundant, so ordering heuristics and memoization are used to prune / limit the tree size Very fast in practice: Millions of MUSes in minutes

26 Bailey & Stuckey’s Algorithm Dualize And Advance (DAA) Finds CoMSSes by “growing” MSSes Interleaves MUS construction w/ MSS search

27 aaaa abababab bbbb DAA: Finding CoMSSes Grow MSS from a satisfiable seed Add corresponding CoMSS to collection a MSS={a, ab}  = (a) (a) (a  b) (b)

28 DAA: Computing Hitting Sets Calculate irreducible hitting sets of CoMSSes after each additional CoMSS is found Incremental cross-product Minimize results HS 1 ={a} HS 2 ={ab, b} New CoMSS {a} {a, a} {ab, b, a} New Hitting Sets Minimize (remove subsumed)  = (a) (a) (a  b) (b)

29 DAA: Computing Hitting Sets Check each new hitting set for satisfiability If UNSAT, add to collection of MUSes If SAT, use as seed for growing next MSS {a, a} {ab, b, a} New Hitting Sets Both are UNSAT, both are MUSes None are SAT, thus done

30 Comparison for Boolean CNF Overall: CAMUS is much faster than DAA for Boolean CNF (Usually about 2-3 orders of magnitude faster) Mostly due to: Integration with SAT solver Calculating hitting sets once, not checking them for SAT/UNSAT

31 Experimental Results >600

32 Future Work Relaxations / approximations Trade off completeness/correctness for speed Find fewer than all MUSes Find non-minimal USes Utilize ideas from Dualize and Advance Investigating further applications of the algorithm Anywhere that constraints are used, potentially New territory, due to novelty of solution

33 Thank You

34 Related Work Finding a single US (potentially multiple) Bruni & Sassano, zCore, AMUSE, others Boolean CNF Modify or use information from a standard SAT search Chinneck, et al Linear programs “Irreducible Infeasible Subset” (IIS) None guarantee minimality (irreducibility) Minimizing a US to an MUS Jinbo Huang: “A Minimal Unsatisfiability Prover”

35 Related Work (cont.) Theoretical work Complexity of identifying MUSes Deciding whether a CNF formula is minimally unsatisfiable is DP-Complete Complexity bounds on identifying certain classes of MUSes