Searching for Autarkies to Trim Unsatisfiable Clause Sets Mark H. Liffiton and Karem A. Sakallah University of Michigan {liffiton,

Slides:



Advertisements
Similar presentations
Introduction to MiniSat v1.14 Presented by Yunho Kim Provable Software Lab, KAIST.
Advertisements

Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
“Using Weighted MAX-SAT Engines to Solve MPE” -- by James D. Park Shuo (Olivia) Yang.
Using Problem Structure for Efficient Clause Learning Ashish Sabharwal, Paul Beame, Henry Kautz University of Washington, Seattle April 23, 2003.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View SAT.
1/30 SAT Solver Changki PSWLAB SAT Solver Daniel Kroening, Ofer Strichman.
Properties of SLUR Formulae Ondřej Čepek, Petr Kučera, Václav Vlček Charles University in Prague SOFSEM 2012 January 23, 2012.
ULTIMATELY INCREMENTAL SAT Alexander Nadel 1, Vadim Ryvchin 1,2, and Ofer Strichman 2 1 – Intel, Haifa, Israel 2 – Technion, Haifa, Israel SAT’14, Vienna,
© The McGraw-Hill Companies, Inc., Chapter 8 The Theory of NP-Completeness.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Boolean Satisfiability Solvers Wonhong Nam
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
Ryan Kinworthy 2/26/20031 Chapter 7- Local Search part 1 Ryan Kinworthy CSCE Advanced Constraint Processing.
Formal Verification Group © Copyright IBM Corporation 2008 IBM Haifa Labs SAT-based unbounded model checking using interpolation Based on a paper “Interpolation.
A Compressed Breadth-First Search for Satisfiability DoRon B. Motter and Igor L. Markov University of Michigan, Ann Arbor.
Identifying Conflicts in Overconstrained Temporal Problems Mark H. Liffiton, Michael D. Moffitt, Martha E. Pollack, and Karem A. Sakallah University of.
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar.
Pruning techniques for the SAT-based Bounded Model-Checking problem Ofer Shtrichman Weizmann Institute of Science & IBM - HRL.
On Proof Systems Behind Efficient SAT Solvers DoRon B. Motter and Igor L. Markov University of Michigan, Ann Arbor.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
SAT Solver Math Foundations of Computer Science. 2 Boolean Expressions  A Boolean expression is a Boolean function  Any Boolean function can be written.
Logics for Data and Knowledge Representation Propositional Logic: Reasoning Originally by Alessandro Agostini and Fausto Giunchiglia Modified by Fausto.
Optimization and Relaxation in SAT Search Sharad Malik Princeton University Symposium on Satisfiability Solvers and Program Verification (SSPV) Seattle.
Boolean Satisfiability and SAT Solvers
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
Explorations in Artificial Intelligence Prof. Carla P. Gomes Module 3 Logic Representations (Part 2)
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 TexPoint fonts used in EMF. Read the TexPoint manual before you.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
Explorations in Artificial Intelligence Prof. Carla P. Gomes Module Logic Representations.
Fitting a Function to the Difficulty of Boolean Formulas Greg Dennis NMM Final Project.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
On Finding All Minimally Unsatisfiable Subformulas Mark Liffiton and Karem Sakallah University of Michigan {liffiton, June 21, 2005.
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.
Preprocessing in Incremental SAT Alexander Nadel 1, Vadim Ryvchin 1,2, and Ofer Strichman 2 1 – Intel, Haifa, Israel 2 – Technion, Haifa, Israel SAT’12,
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
Making Path-Consistency Stronger for SAT Pavel Surynek Faculty of Mathematics and Physics Charles University in Prague Czech Republic.
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.
Satisfiability and SAT Solvers CS 270 Math Foundations of CS Jeremy Johnson.
NPC.
NP Completeness Piyush Kumar. Today Reductions Proving Lower Bounds revisited Decision and Optimization Problems SAT and 3-SAT P Vs NP Dealing with NP-Complete.
Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
Inference in Propositional Logic (and Intro to SAT) CSE 473.
1 Boolean Satisfiability (SAT) Class Presentation By Girish Paladugu.
Complexity ©D.Moshkovits 1 2-Satisfiability NOTE: These slides were created by Muli Safra, from OPICS/sat/)
Sudoku Solutions Using Logic Equations Christian Posthoff The University of The West Indies, Trinidad & Tobago Bernd Steinbach Freiberg University of Mining.
Extracting Minimum Unsatisfiable Cores with a Greedy Genetic Algorithm Jianmin Zhang, Sikun Li, and Shengyu Shen School of Computer Science, National University.
Decision Procedures in First Order Logic
Inference and search for the propositional satisfiability problem
Parallelism in SAT Solvers
(xy)(yz)(xz)(zy)
Deriving small unsatisfiable cores with dominators
Mining backbone literals in incremental SAT
SAT-Based Area Recovery in Technology Mapping
Canonical Computation without Canonical Data Structure
ECE 667 Synthesis and Verification of Digital Circuits
Canonical Computation Without Canonical Data Structure
Unit Propagation and Variable Ordering in MiniSAT
SAT-based Methods for Scalable Synthesis and Verification
A Progressive Approach for Satisfiability Modulo Theories
Unit Propagation and Variable Ordering in MiniSAT
Resolution Proofs for Combinational Equivalence
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:

Searching for Autarkies to Trim Unsatisfiable Clause Sets Mark H. Liffiton and Karem A. Sakallah University of Michigan {liffiton, May 12, 2008

2 (a)(¬a  b)(¬a  ¬b)(¬b  c)(d  e)(¬d  ¬e) c:TRUE d:TRUE e:FALSE Autarkies Autarky: Self-sufficiency, Independence. A partial assignment satisfying all clauses containing one of the assigned variables. In this talk: “Autarky” = the satisfied clauses.

3 (a)(¬a  b)(¬a  ¬b)(¬b  c)(d  e)(¬d  ¬e) Autarkies and Infeasibility Autarkies are disjoint from any clauses involved with the infeasibility of an instance. (Resolution proofs, minimal unsatisfiable subsets, etc.) [O. Kullmann. Investigations on autark assignments. Discrete Applied Mathematics, 107(1-3):99–137, 2000.] (a)(¬a  b)(¬a  ¬b)(¬b  c)(d  e)(¬d  ¬e) AutarkyMinimal Unsatisfiable Subset (MUS); Leaves of any resolution refutation.

4 Outline Introduction Previous work Encoding MaxAutarky to SAT Optimization Comparison to previous work Autarkies in industrial instances Trimming autarkies Conclusion

5 Previous Work Early work used autarkies within SAT algorithms (Monien and Speckenmeyer, Van Gelder) Dealt mainly with "conditional autarkies“ Not developed for finding maximal autarkies This work is motivated mainly by Kullmann's work on autarkies Showed that clauses in a formula are partitioned into 1) the maximal autarky and 2) clauses in any resolution proof Developed an algorithm for MaxAutarky based on this concept

6 1.: UNSAT Previous Work: Finding Autarkies [O. Kullmann. On the use of autarkies for satisfiability decision. (SAT-2001), pages 231–253.] Kullmann’s method for MaxAutarky Given a formula F: 1.If F is SAT, return the satisfying assignment. 2.Form a resolution refutation, T, of F. 3.Remove variables in T from F. 4.Goto 1. (a)(¬a  b)(¬a  ¬b)(¬b  c)(d  e)(¬d  ¬e) (a) (¬a  b) (¬a  ¬b) (¬b) (b) Т {a,b} (c)(d  e)(¬d  ¬e) c=TRUE d=TRUE e=FALSE SAT

7 An Encoding to SAT Deciding whether a formula has an autarky is NP-complete, thus it can be reduced to SAT. A SAT encoding turns MaxAutarky into a SAT optimization problem. Our MaxAutarky algorithm “Sifter”: Instrument CNF with extra variables that enable/disable variables and clauses. Variables and clauses enabled in a satisfying assignment indicate an autark assignment. Maximize enabled clauses to find maximal autarky.

8 An Encoding to SAT 1. Replace literals with literal substitutes: 2. Add clause-selector variables: 3. Link literal substitutes to variable-selectors: 4. Link clause-selectors with variable-selectors: (a)(¬a  b)(¬a  ¬b)(¬b  c)(d  e)(¬d  ¬e) (a 1 )(a 0  b 1 )(a 0  b 0 )(b 0  c 1 )(d 1  e 1 )(d 0  e 0 ) (¬y 1  a 1 )(¬y 2  a 0  b 1 )(¬y 3  a 0  b 0 )... (a 1 = a  a + ) (a 0 = ¬a  a + ) (b 1 = b  b + ) (b 0 = ¬b  b + )... (¬y 1  a 1 )(¬y 2  a 0  b 1 )(¬y 3  a 0  b 0 )... (a 1 = a  a + ) (a 0 = ¬a  a + ) (b 1 = b  b + ) (b 0 = ¬b  b + )... (a +  y 1 )(a +  y 2 )(a +  y 3 )... (e +  y 5 )(e +  y 6 )

9 An Encoding to SAT, Optimization Objective: Maximize ∑ y i Solved incrementally using a sliding objective Implemented with AtMost constraints AtMost({l 1,l 2,…,l n },k) = ∑ assign(l i ) ≤ k Employs a single incremental search, exploiting common SAT techniques. (¬y 1  a 1 )(¬y 2  a 0  b 1 )(¬y 3  a 0  b 0 )... (a 1 = a  a + ) (a 0 = ¬a  a + ) (b 1 = b  b + ) (b 0 = ¬b  b + )... (a +  y 1 )(a +  y 2 )(a +  y 3 )... (e +  y 5 )(e +  y 6 )

10 Removing Pure Literals Pure literals: Variables appearing in one polarity (pos./neg.) throughout a formula. Pure literal = [partial] autark assignment First steps for MaxAutarky: 1. Scan for and remove clauses w/ pure literals 2. Repeat until no pure literals remain (a)(¬a  b)(¬a  ¬b)(¬b  c)(d  e)(¬d  ¬e)

11 Comparison: Experimental “Scraper” (Kullmann’s MaxAutarky) vs “Sifter” Both use same pure literal code (C++) Scraper Perl script Calls zchaff and zverify_df (zchaff.64bit ) Measured CPU time (excludes I/O time) Sifter C++ Built on MiniSAT v.1.12b

12 Comparison: Experimental Scraper (seconds) Sifter (seconds) Benz Miter Dimacs nPipe BMC:Barrel BMC:Longmult BMC:Queueinvar 600 sec. timeout 600 sec. timeout

13 Autarkies in Industrial Instances Family Variables Clauses |autarky| minmaxminmaxminmax Benz1,5131,8914,0139,9572,0977,025 Miter1,26617,3031,02734,23811,831 Dimacs3897,7671,11520,81200 nPipe86115,4696,695394,73900 BMC:Barrel508, ,60600 BMC:Longmult4377,8071,20624,35122 BMC:Queueinvar1162, ,67100

14 Comparison: Qualitative Both are built around standard SAT solvers, picking up advances as they are made The encoding used in Sifter is a simple base for future work (e.g., local search) Sifter is an anytime algorithm Sifter can be easily modified to find approximations (modify the optimization technique)

15 Trimming Autarkies as Preprocessing Remove independent portions independent before analyzing infeasibility Only possibly useful in cases where complexity of MaxAutarky is less than that of the analysis. No: Single US, Single MUS Yes: Smallest MUS, All MUSes Tested on “Benz” instances (manageable size, substantial autarkies)

16 Trimming Autarkies for SMUS Without trimming autarkies (seconds) Autarkies trimmed (seconds) 600 sec. timeout

17 Trimming Autarkies for CAMUS (phase 1) Without trimming autarkies (seconds) Autarkies trimmed (seconds) 600 sec. timeout

18 Conclusion Novel encoding of MaxAut to SAT Experimental evaluation of Autarky algorithms Investigating autarkies for several industrial benchmarks Investigation of trimming autarkies for infeasibility analysis

Thank you Mark Liffiton

20 CAMUS Compute All Minimal Unsatisfiable Subsets 1. Finds all MCSes of a constraint system 2. Computes minimal hitting sets of the MCSes Constraints Find MCSesMCSes Compute Minimal Hitting Sets All MUSes CAMUS