Efficient SAT Solving Under Assumptions Alexander Nadel 1 and Vadim Ryvchin 1,2 1 – Intel, Haifa, Israel 2 – Technion, Haifa, Israel SAT’12, Trento, Italy.

Slides:



Advertisements
Similar presentations
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Advertisements

Presented by Monissa Mohan 1.  A highly optimized BCP algorithm  Two watched literals  Fast Backtracking  Efficient Decision Heuristic  Focused on.
1 Local Restarts in SAT Solvers Vadim Ryvchin and Ofer Strichman Technion, Haifa, Israel.
Introduction to MiniSat v1.14 Presented by Yunho Kim Provable Software Lab, KAIST.
Methods of Proof Chapter 7, second half.. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound)
Solving Difficult SAT Instances Using Greedy Clique Decomposition Pavel Surynek Faculty of.
IBM Labs in Haifa © 2005 IBM Corporation Adaptive Application of SAT Solving Techniques Ohad Shacham and Karen Yorav Presented by Sharon Barner.
Interpolants from Z3 proofs Ken McMillan Microsoft Research TexPoint fonts used in EMF: A A A A A.
A Scalable Algorithm for Minimal Unsatisfiable Core Extraction Nachum Dershowitz¹ Ziyad Hanna² Alexander Nadel¹, ² 1 Tel-Aviv University 2 Intel SAT’06.
Automatic Tuning1/33 Boosting Verification by Automatic Tuning of Decision Procedures Domagoj Babić joint work with Frank Hutter, Holger H. Hoos, Alan.
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,
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:
Hrinking hrinking A signment tack tack. Agenda Introduction Algorithm Description Heuristics Experimental Results Conclusions.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
On-The-Fly Resolve Trace Minimization Ohad Shacham and Karen Yorav IBM Haifa Research Laboratory.
Efficient SAT Solving for Non- clausal Formulas using DPLL, Graphs, and Watched-cuts Himanshu Jain Edmund M. Clarke.
State-of-the-art in SAT solvers
Efficient Reachability Checking using Sequential SAT G. Parthasarathy, M. K. Iyer, K.-T.Cheng, Li. C. Wang Department of ECE University of California –
A Compressed Breadth-First Search for Satisfiability DoRon B. Motter and Igor L. Markov University of Michigan, Ann Arbor.
Quantum Search Heuristics: Tad Hogg’s Perspective George Viamontes February 4, 2002.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
Ryan Kinworthy 2/26/20031 Chapter 7- Local Search part 2 Ryan Kinworthy CSCE Advanced Constraint Processing.
1 Message Passing and Local Heuristics as Decimation Strategies for Satisfiability Lukas Kroc, Ashish Sabharwal, Bart Selman (presented by Sebastian Brand)
1 SAT Genealogy Alexander Nadel, Intel, Haifa, Israel The Technion, Haifa, Israel July,
On Bridging Simulation and Formal Verification Eugene Goldberg Cadence Research Labs (USA) VMCAI-2008, San Francisco, USA.
Boolean Satisfiability and SAT Solvers
CMU, Oct 4 DPLL-based Checkers for Satisfiability Modulo Theories Cesare Tinelli Department of Computer Science The University of Iowa Joint work with.
Ranking Queries on Uncertain Data: A Probabilistic Threshold Approach Wenjie Zhang, Xuemin Lin The University of New South Wales & NICTA Ming Hua,
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
Enhancing and Integrating Model Checking Engines Robert Brayton Alan Mishchenko UC Berkeley June 15, 2009.
CHAPTERS 7, 8 Oliver Schulte Logical Inference: Through Proof to Truth.
1 Agenda Modeling problems in Propositional Logic SAT basics Decision heuristics Non-chronological Backtracking Learning with Conflict Clauses SAT and.
Benefits of Bounded Model Checking at an Industrial Setting F.Copty, L. Fix, R.Fraer, E.Giunchiglia*, G. Kamhi, A.Tacchella*, M.Y.Vardi** Intel Corp.,
Incremental formal verification of hardware Hana Chockler Alexander Ivrii Arie Matsliah Shiri Moran Ziv Nevo IBM Research - Haifa.
Tao Lin Chris Chu TPL-Aware Displacement- driven Detailed Placement Refinement with Coloring Constraints ISPD ‘15.
BIT-VECTOR REWRITING WITH AUTOMATIC RULE GENERATION Alexander Nadel Intel Haifa, Israel CAV 2014 Vienna, Austria July 22 th, 2014.
Survey Propagation. Outline Survey Propagation: an algorithm for satisfiability 1 – Warning Propagation – Belief Propagation – Survey Propagation Survey.
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
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.
SAT Solver Heuristics. SAT-solver History Started with David-Putnam-Logemann-Loveland (DPLL) (1962) –Able to solve variable problems Satz (Chu Min.
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.
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.
Finding Conflicting Instances of Quantified Formulas in SMT Andrew Reynolds Cesare Tinelli Leonardo De Moura July 18, 2014.
A Decision-Making Procedure for Resolution-Based SAT-solvers Eugene Goldberg Cadence Research Labs (USA) SAT-2008, Guangzhou, P.R. China.
REU 2007-ParSat: A Parallel SAT Solver Christopher Earl, Mentor: Dr. Hao Zheng Department of Computer Science & Engineering Introduction Results and Conclusions.
Efficient Generation of Small Interpolants in CNF (for Model Checking)
Hybrid BDD and All-SAT Method for Model Checking
Hardware Acceleration of A Boolean Satisfiability Solver
Chih-Fan Lai1, J.-H. Roland Jiang1, and Kuo-Hua Wang2
Inference and search for the propositional satisfiability problem
EA C461 – Artificial Intelligence Logical Agent
Parallelism in SAT Solvers
Recovering and Exploiting Structural Knowledge from CNF Formulas
SAT’07 Conference, Lisbon;
Deriving small unsatisfiable cores with dominators
Simple Circuit-Based SAT Solver
Mining backbone literals in incremental SAT
SAT-Based Area Recovery in Technology Mapping
Improvements to Combinational Equivalence Checking
GLA: Gate-Level Abstraction Revisited
Resolution Proofs for Combinational Equivalence
Efficient MUS Extraction with Resolution
Canonical Computation without Canonical Data Structure
Canonical Computation without Canonical Data Structure
Faster Extraction of High-Level Minimal Unsatisfiable Cores
Integrating AIG Package, Simulator, and SAT Solver
Presentation transcript:

Efficient SAT Solving Under Assumptions Alexander Nadel 1 and Vadim Ryvchin 1,2 1 – Intel, Haifa, Israel 2 – Technion, Haifa, Israel SAT’12, Trento, Italy

Motivation: Real-Life Experience at Intel  Critical non-incremental property unsolved in 48 hours by the SAT solver during FV of Intel’s latest design  The default flow: Minisat-like incremental SAT solving under assumptions The negation of the property is the only assumption in our case  Solution: model the property as a unit clause  solved in 30 minutes! Propagation of the single assumption by SatELite was extremely helpful: resulted in “chain reaction”  Our paper generalizes the case-study to incremental SAT solving under assumptions

Basic Definitions

Recall: Clause Database Simplification 1. Propagation of unit clauses 2. Elimination of satisfied clauses 3. Removal of falsified literals from clauses  Used in leading SAT solvers  Compliant with incremental solving

Recall: SatELite Preprocessing 1. Variable Elimination 2. Subsumption 3. Self-subsuming resolution  Used in leading SAT solvers  Non-Compliant with incremental solving

Approaches to Incremental SAT Solving under Assumption  Literal-based Single instance (LS): One incremental solver instance Assumptions are chosen as first decisions  Clause-based Multiple instances (CM): Multiple solver instances Assumptions are provided as temporary unit clauses LS is the current state-of-the-art

Literal-based Single instance (LS)

Clause-based Multiple instances (CM)

Temporary vs. Pervasive C1C1 C1C1 C2C2 C2C2 C3C3 C3C3 C4C4 C4C4 C5C5 C5C5 C6C6 C6C6 C7C7 C7C7 C8C8 C8C8 C 10 C 11 C 12 C 13 C 14 C 15 C 20 C 19 C 21 C 17 C 18 C 22 C 23 =() C9C9 C9C9 C 16 Input clauses Legend: Derived clauses Temporary input clauses

Temporary vs. Pervasive C1C1 C1C1 C2C2 C2C2 C3C3 C3C3 C4C4 C4C4 C5C5 C5C5 C6C6 C6C6 C7C7 C7C7 C8C8 C8C8 C 10 C 11 C 12 C 13 C 14 C 15 C 20 C 19 C 21 C 17 C 18 C 22 C 23 =() C9C9 C9C9 C 16 Input clauses Legend: Derived clauses Temporary input clauses Temporary conflict clauses

Temporary vs. Pervasive C1C1 C1C1 C2C2 C2C2 C3C3 C3C3 C4C4 C4C4 C5C5 C5C5 C6C6 C6C6 C7C7 C7C7 C8C8 C8C8 C 10 C 11 C 12 C 13 C 14 C 15 C 20 C 19 C 21 C 17 C 18 C 22 C 23 =() C9C9 C9C9 C 16 Input clauses Legend: Pervasive conflict clauses Temporary input clauses Temporary conflict clauses

LS vs. CM  LS: Efficient Learning All conflict clauses are pervasive Heuristics take advantage of incrementality  Assumptions are not propagated by simplification  CM: Efficient Assumption Propagation  Some conflict clauses are temporary  Heuristics start from zero at every invocation Assumptions are propagated by simplification

The problem: How to Propagate Assumptions with SatELite in Incremental SAT?  Our experience showed that propagating assumptions with SatELite is vital  SatELite could not be used to propagate assumptions for either LS or CM in incremental settings:  LS: Incremental SatELite was not well-defined (before our other paper to be presented next ) It is still unknown how to propagate assumption using SatELite, even if SatELite is applied incrementally  CM: It was undefined how to distinguish between temporary and pervasive conflict clauses after applying SatELite

Outline of Our Work 1. Enabling assumption propagation with SatELite for incremental SAT by making SatELite and CM compliant Much simpler than doing the same for LS 2. Mitigate the advantages of LS over CM by: Transforming temporary clauses to pervasive Solving related incremental chunks using one SAT instance (if limited look-ahead information is available)  Our algorithms outperform LS on Intel instances of incremental SAT under assumption.

Make SatELite Compliant with CM

Improve Learning Efficiency  The problem: Our algorithm propagates assumptions with SatELite, but: Conflict clause learning is still more efficient for LS, since: o All the conflict clauses are pervasive for LS o Some conflict clauses are temporary for CM  Solution: transform temporary conflict clauses to pervasive after CM’s invocation

Transform Temporary to Pervasive – T2P

α1=aα1=a α1=aα1=a Legend: α2=bα2=b α2=bα2=b α 3 =¬a v c v d α 4 =¬b v ¬d α 5 =¬c v e α 6 =¬c v ¬e α 7 =c v dα 8 =¬d α 9 =¬c α 10 =c Input clauses Pervasive conflict clauses Assumptions Temporary conflict clauses

Transform Temporary to Pervasive – T2P α1=aα1=a α1=aα1=a Legend: α2=bα2=b α2=bα2=b α 3 =¬a v c v d α 4 =¬b v ¬d α 5 =¬c v e α 6 =¬c v ¬e α 7 =c v dα 8 =¬d α 9 =¬c α 10 =c Input clauses Pervasive conflict clauses Assumptions Temporary conflict clauses ¬a

Transform Temporary to Pervasive – T2P Legend: α2=bα2=b α2=bα2=b α 3 =¬a v c v d α 4 =¬b v ¬d α 5 =¬c v e α 6 =¬c v ¬e α 7 =¬a v c v d α 8 =¬d α 9 =¬c α 10 =c Input clauses Pervasive conflict clauses Assumptions Temporary conflict clauses ¬b

Transform Temporary to Pervasive – T2P Legend: α 3 =¬a v c v d α 4 =¬b v ¬d α 5 =¬c v e α 6 =¬c v ¬e α 7 =¬a v c v d α 8 =¬b v ¬d α 9 =¬c α 10 =c Input clauses Pervasive conflict clauses Assumptions Temporary conflict clauses ¬a¬b

Transform Temporary to Pervasive – T2P Legend: α 3 =¬a v c v d α 4 =¬b v ¬d α 5 =¬c v e α 6 =¬c v ¬e α 7 =¬a v c v d α 8 =¬b v ¬d α 9 =¬c α 10 =¬a v ¬b v c Input clauses Pervasive conflict clauses Assumptions Temporary conflict clauses ¬a v ¬ b

Transform Temporary to Pervasive – T2P Legend: α 3 =¬a v c v d α 4 =¬b v ¬d α 5 =¬c v e α 6 =¬c v ¬e α 7 =¬a v c v d α 8 =¬b v ¬d α 9 =¬c α 10 =¬a v ¬b v c Input clauses Pervasive conflict clauses Assumptions Temporary conflict clauses

Transform Temporary to Pervasive – T2P Legend: α 3 =¬a v c v d α 4 =¬b v ¬d α 5 =¬c v e α 6 =¬c v ¬e α 9 =¬c α 10 =¬a v ¬b v c Input clauses Pervasive conflict clauses Assumptions Temporary conflict clauses

Improve the Efficiency of Heuristics  The problem: Our algorithm propagates assumptions with SatELite, and We know how to make all the clauses pervasive, but: Heuristics are still incremental for LS, while our algorithm needs to collect information from scratch for each invocation  Solution: use a single SAT solver instance for multiple calls, if step look-ahead information is available

Step Look-Ahead F 1 A 1 F 2 A 2 … F k A k F j*k+1 A j*k+1 F j*k+2 A j*k+2 … F j*k+k A j*k+k F k+1 A k+1 F k+2 A k+2 … F k+k A k+k

LS Using Step Look-Ahead  Adjustment of LS to take advantage of step look-ahead Proposed recently in the context of BMC by Khasidashvili&Nadel, HVC’11  Single instance Literal-based with Step look-ahead (LSS): All step (window) clauses are added at once Assumptions are chosen as first decisions Advantage over LS: has a wider view of the problem The same drawback as LS: no simplification over assumptions; no preprocessing

LSS – Window 2 F 1 A 1 F 2 A 2 F 3 A 3 F j*k+1 A j*k+1 F j*k+2 A j*k+2 … F j*k+k A j*k+k F 4 A 4 F 5 A 5 F 6 A 6 F 4 A 4 F 5 A 5 F 6 A 6

Our Algorithm: CLMS F 1 A 1 F 2 A 2 … F k A k F j*k+1 A j*k+1 F j*k+2 A j*k+2 … F j*k+k A j*k+k F k+1 A k+1 F k+2 A k+2 … F k+k A k+k

Our Algorithm: CLMS – Window 1 F 1 A 1 F 2 A 2 F 3 A 3 F 1 A 1 F 2 A 2 F 3 A 3 F j*k+1 A j*k+1 F j*k+2 A j*k+2 … F j*k+k A j*k+k F 4 A 4 F 5 A 5 F 6 A 6

Our Algorithm: CLMS – Window 2 F 1 A 1 F 2 A 2 F 3 A 3 F j*k+1 A j*k+1 F j*k+2 A j*k+2 … F j*k+k A j*k+k F 4 A 4 F 5 A 5 F 6 A 6 F 4 A 4 F 5 A 5 F 6 A 6

Experimental Results  Benchmark Set: Instances generated by incremental BMC under assumptions o Generated by an incremental model checker May be invoked multiple times with different assumptions and properties Essential to reduce the debug loop time for validation engineers 3 satisfiable families – 128 instances 4 unsatisfiable families – 81 instances Algorithm Implementation in Intel’s internal Eureka SAT Solver Timeout: 3600sec  Machines: Intel ® Xeon ® 4Ghz 32Gb of memory

Variables To Assumptions Ratio

Unsatisfiable Instances State-of-the-art LS

Unsatisfiable Instances State-of-the-art CM

Unsatisfiable Instances 2 nd : SatELite with temporary clauses + CLMS step 10 + T2P Thr. 100

Unsatisfiable Instances Winner: SatELite with temporary clauses + CLMS step 50; No T2P

Unsatisfiable Instances: Summary  CM outperforms LS, since: The average clause size is higher for LS by 1-2 orders of magnitude Simplification removes 1-2 orders of magnitude more clauses for CM  Unsurprisingly, both CLMS (the step) and SatELite are helpful  T2P is not helpful, since: SatELite is slowed down significantly due to T2P

Satisfiable Instances State-of-the-art CM

Satisfiable Instances SatELite with temporary clauses + CLMS step 50; No T2P

Satisfiable Instances 2 nd : State-of-the-art LS

Satisfiable Instances Winner: SatELite with temporary clauses + CLMS step 10 + T2P Thr. 100

Satisfiable Instances: Summary  LS is second best: Incrementality for heuristics proves to be essential for relatively easy satisfiable instances  The combination of our algorithms proves to be the best SatELite with temporary clauses CLMS with step 10 T2P with threshold 100

Experimental Results: Summary  The following algorithm proves to be the best overall (2 nd on unsatisfiable and 1 st on satisfiable): SatELite with temporary clauses CLMS with step 10 T2P with threshold 100  The gap between our algorithms and LS is especially significant on hard unsatisfiable instances.

Thank You!