Knot Pipatsrisawat and Adnan Darwiche Computer Science Department UCLA

Slides:



Advertisements
Similar presentations
Model Checking Base on Interoplation
Advertisements

The behavior of SAT solvers in model checking applications K. L. McMillan Cadence Berkeley Labs.
Exploiting SAT solvers in unbounded model checking
Exploiting SAT solvers in unbounded model checking K. L. McMillan Cadence Berkeley Labs.
Automated Theorem Proving
Boolean Satisfiability
Time-Space Tradeoffs in Resolution: Superpolynomial Lower Bounds for Superlinear Space Chris Beck Princeton University Joint work with Paul Beame & Russell.
The Project Problem formulation (one page) Literature review –“Related work" section of final paper, –Go to writing center, –Present paper(s) to class.
1 Local Restarts in SAT Solvers Vadim Ryvchin and Ofer Strichman Technion, Haifa, Israel.
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
CS Department Fireside Chat All are welcome! Wed Nov 18, 5-6pm, Ols 228e/236d Kim Hazelwood and Wes Weimer Meet and ask them questions in a non-academic.
Solving Difficult SAT Instances Using Greedy Clique Decomposition Pavel Surynek Faculty of.
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:
SATzilla-07: The Design and Analysis of an Algorithm Portfolio for SAT Lin Xu, Frank Hutter, Holger H. Hoos and Kevin Leyton-Brown University of British.
Building Structure into Local Search for SAT 1 Chris Reeson Advanced Constraint Processing Fall 2009 By Duc Nghia Pham, John Thornton, and Abdul Sattar,
Hrinking hrinking A signment tack tack. Agenda Introduction Algorithm Description Heuristics Experimental Results Conclusions.
Interpolants [Craig 1957] G(y,z) F(x,y)
Searching for Autarkies to Trim Unsatisfiable Clause Sets Mark H. Liffiton and Karem A. Sakallah University of Michigan {liffiton,
Solving Partial Order Constraints for LPO termination.
SAT-Based Decision Procedures for Subsets of First-Order Logic
Efficient SAT Solving for Non- clausal Formulas using DPLL, Graphs, and Watched-cuts Himanshu Jain Edmund M. Clarke.
1 Linear-time Reductions of Resolution Proofs Omer Bar-Ilan Oded Fuhrmann Shlomo Hoory Ohad Shacham Ofer Strichman Technion.
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 –
Formal Verification Group © Copyright IBM Corporation 2008 IBM Haifa Labs SAT-based unbounded model checking using interpolation Based on a paper “Interpolation.
1 Understanding the Power of Clause Learning Ashish Sabharwal, Paul Beame, Henry Kautz University of Washington, Seattle IJCAI ConferenceAug 14, 2003.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
Constrained Pattern Assignment for Standard Cell Based Triple Patterning Lithography H. Tian, Y. Du, H. Zhang, Z. Xiao, M. D.F. Wong Department of ECE,
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.
On Bridging Simulation and Formal Verification Eugene Goldberg Cadence Research Labs (USA) VMCAI-2008, San Francisco, USA.
Optimization and Relaxation in SAT Search Sharad Malik Princeton University Symposium on Satisfiability Solvers and Program Verification (SSPV) Seattle.
Mathematics Review Exponents Logarithms Series Modular arithmetic Proofs.
11.5 Similar Triangles Identifying Corresponding Sides of Similar Triangles By: Shaunta Gibson.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
Using geometric notation
INTRODUCTION TO ARTIFICIAL INTELLIGENCE COS302 MICHAEL L. LITTMAN FALL 2001 Satisfiability.
Essential Question: How can you create formulas to find the distance between two points in all 1-D and 2-D situations?
Incremental formal verification of hardware Hana Chockler Alexander Ivrii Arie Matsliah Shiri Moran Ziv Nevo IBM Research - Haifa.
BoolTool: A Tool for Manipulation of Boolean Functions Petr Fišer, David Toman Czech Technical University in Prague Dept. of Computer Science and Engineering.
Parallelizing MiniSat I-Ting Angelina Lee Justin Zhang May 05, Final Project Presentation.
Writing Proofs During this lesson, you will: Write reasons for statements Write simple geometric proofs using properties of equations.
SAT 2009 Ashish Sabharwal Backdoors in the Context of Learning (short paper) Bistra Dilkina, Carla P. Gomes, Ashish Sabharwal Cornell University SAT-09.
Nikolaj Bjørner Microsoft Research DTU Winter course January 2 nd 2012 Organized by Flemming Nielson & Hanne Riis Nielson.
“Predicting Learnt Clauses Quality in Modern SAT Solvers” & “Blocked Clause Elimination” Ateeq Sharfuddin CS 297: Championship Algorithms.
SAT Solver Heuristics. SAT-solver History Started with David-Putnam-Logemann-Loveland (DPLL) (1962) –Able to solve variable problems Satz (Chu Min.
AN INTERPOLATING THEOREM PROVER K.L. McMillan Cadence Berkley Labs.
A Decision-Making Procedure for Resolution-Based SAT-solvers Eugene Goldberg Cadence Research Labs (USA) SAT-2008, Guangzhou, P.R. China.
Satisfiability Modulo Theories and DPLL(T) Andrew Reynolds March 18, 2015.
© 2012 IBM Corporation Perfect Hashing and CNF Encodings of Cardinality Constraints Yael Ben-Haim Alexander Ivrii Oded Margalit Arie Matsliah SAT 2012.
Inference and search for the propositional satisfiability problem
Gábor Kusper University of Linz RISC Austria
On the Power of Clause-Learning SAT Solvers with Restarts
A New Algorithm for Computing Upper Bounds for Functional EmajSAT
Lazy Proofs for DPLL(T)-Based SMT Solvers
7-5: Parts of Similar Triangles
Solving Linear Arithmetic with SAT-based MC
You found the relationship between the angle measures of a triangle. Recognize and apply properties of inequalities to the measures of the angles.
Simple Circuit-Based SAT Solver
Drawing Triangles.
Constructions of Triangles
Improvements to Combinational Equivalence Checking
Decision Procedures An Algorithmic Point of View
Resolution Proofs for Combinational Equivalence
Gábor Kusper  Research Institute for Symbolic Computation (RISC-Linz)
Decision heuristics based on an Abstraction/Refinement model
Solving Non-clausal Formulas with DPLL search
Faster Extraction of High-Level Minimal Unsatisfiable Cores
Verifying Clausal Proofs, DRUPing and Interpolants SAT/SMT Seminar
Presentation transcript:

Width-Based Restart Policies for Clause-Learning Satisfiability Solvers Knot Pipatsrisawat and Adnan Darwiche Computer Science Department UCLA SAT’09

Outline Modern SAT solvers & resolution proofs Existing restart policies (size-based) Width-based restart policies Hybrid restart policies Experimental results

Modern SAT solvers Decisions + unit propagation Conflict analysis Derive conflict clauses by resolving existing clauses together For UNSAT, solver can produce a refutation proof upon termination

Example (a+b+c) (b+c+d) (c+~d) (y+~w) (x+y+w) (x+~y+z) (~y+~z+~u) (x+~z+u) (~x+z) (~x+u) (~z+w) (~u+~w)

Example a = f (a+b+c) (b+c+d) (c+~d) (y+~w) (x+y+w) (x+~y+z) (~y+~z+~u) (x+~z+u) (~x+z) (~x+u) (~z+w) (~u+~w) a = f

Example a = f b = f c = t, d= t/f (conflict) (a+b+c) (b+c+d) (c+~d) (y+~w) (x+y+w) (x+~y+z) (~y+~z+~u) (x+~z+u) (~x+z) (~x+u) (~z+w) (~u+~w) a = f b = f c = t, d= t/f (conflict)

Example a = f b = f c = t, d= t/f (conflict) (a+b+c) (b+c+d) (c+~d) (y+~w) (x+y+w) (x+~y+z) (~y+~z+~u) (x+~z+u) (~x+z) (~x+u) (~z+w) (~u+~w) (b+c) (a+b) a = f b = f c = t, d= t/f (conflict)

Example a = f b = t (a+b+c) (b+c+d) (c+~d) (y+~w) (x+y+w) (x+~y+z) (~y+~z+~u) (x+~z+u) (~x+z) (~x+u) (~z+w) (~u+~w) (b+c) (a+b) a = f b = t

Example a = f b = t c = f d = f (a+b+c) (b+c+d) (c+~d) (y+~w) (x+y+w) (x+~y+z) (~y+~z+~u) (x+~z+u) (~x+z) (~x+u) (~z+w) (~u+~w) (b+c) (a+b) a = f b = t c = f d = f

Example a = f b = t c = f d = f x = f (a+b+c) (b+c+d) (c+~d) (y+~w) (x+y+w) (x+~y+z) (~y+~z+~u) (x+~z+u) (~x+z) (~x+u) (~z+w) (~u+~w) (b+c) (a+b) a = f b = t c = f d = f x = f

Example a = f b = t c = f d = f x = f y = f w = t/f (conflict) (a+b+c) (b+c+d) (c+~d) (y+~w) (x+y+w) (x+~y+z) (~y+~z+~u) (x+~z+u) (~x+z) (~x+u) (~z+w) (~u+~w) (b+c) (a+b) a = f b = t c = f d = f x = f y = f w = t/f (conflict)

Example a = f b = t c = f d = f x = f y = f w = t/f (conflict) (a+b+c) (b+c+d) (c+~d) (y+~w) (x+y+w) (x+~y+z) (~y+~z+~u) (x+~z+u) (~x+z) (~x+u) (~z+w) (~u+~w) (b+c) (x+y) (a+b) a = f b = t c = f d = f x = f y = f w = t/f (conflict)

Example a = f b = t c = f d = f x = f y = t, z = t, u = t/f (conflict) (a+b+c) (b+c+d) (c+~d) (y+~w) (x+y+w) (x+~y+z) (~y+~z+~u) (x+~z+u) (~x+z) (~x+u) (~z+w) (~u+~w) (b+c) (x+y) (a+b) a = f b = t c = f d = f x = f y = t, z = t, u = t/f (conflict)

Example a = f b = t c = f d = f x = f y = t, z = t, u = t/f (conflict) (a+b+c) (b+c+d) (c+~d) (y+~w) (x+y+w) (x+~y+z) (~y+~z+~u) (x+~z+u) (~x+z) (~x+u) (~z+w) (~u+~w) (x+~y+~z) (b+c) (x+y) (x+~y) (a+b) a = f b = t c = f d = f x = f y = t, z = t, u = t/f (conflict) (x)

Example x = t, z = t, u = t, w = t/f (conflict) (a+b+c) (b+c+d) (c+~d) (y+~w) (x+y+w) (x+~y+z) (~y+~z+~u) (x+~z+u) (~x+z) (~x+u) (~z+w) (~u+~w) (x+~y+~z) (b+c) (x+y) (x+~y) (a+b) x = t, z = t, u = t, w = t/f (conflict) (x)

Example x = t, z = t, u = t, w = t/f (conflict) (a+b+c) (b+c+d) (c+~d) (y+~w) (x+y+w) (x+~y+z) (~y+~z+~u) (x+~z+u) (~x+z) (~x+u) (~z+w) (~u+~w) (x+~y+~z) (~z+~u) (b+c) (x+y) (x+~y) (~x+~z) (a+b) x = t, z = t, u = t, w = t/f (conflict) (x) (~x)

Example x = t, z = t, u = t, w = t/f (conflict) (a+b+c) (b+c+d) (c+~d) (y+~w) (x+y+w) (x+~y+z) (~y+~z+~u) (x+~z+u) (~x+z) (~x+u) (~z+w) (~u+~w) (x+~y+~z) (~z+~u) (b+c) (x+y) (x+~y) (~x+~z) (a+b) x = t, z = t, u = t, w = t/f (conflict) (x) (~x) false

Example Refutation proof (a+b+c) (b+c+d) (c+~d) (y+~w) (x+y+w) (x+~y+z) (~y+~z+~u) (x+~z+u) (~x+z) (~x+u) (~z+w) (~u+~w) (x+~y+~z) (~z+~u) (b+c) (x+y) (x+~y) (~x+~z) (a+b) (x) (~x) false Refutation proof

Properties of Refutation Proofs Resolution Proof: Size = # of clauses in proof Width = length of largest clause in proof

Existing Restart Policies Arithmetic: threshold += C zChaff, Berkmin, Siege, Eureka Geometric: threshold *= C MiniSat 1.14, 2.0 Inner-outer geometric: like Geo. But keep another threshold PicoSat Luby’s: threshold = Li L = x,x,2x,x,x,2x,4x,… where x is Luby’s unit TiniSat, Rsat, MiniSat (SAT-Race’08) (see Huang IJCAI-07)

Considering Proof Width Every UNSAT CNF with a short proof MUST have a narrow proof [Ben-Sasson & Wigderson’01] If a CNF has proof width k, we can find a proof in nO(k) Just derive all resolvents of size <= k

Width-Based Restart Policy Depends on the size of conflict clauses Intuition: Bias the solver to focus on narrow proofs Long clauses = bad solver behavior Restart when a lot of long clauses have been learned A clause is violating if its size > W Restart if there are > N violating clauses

Width-Based Restarts on CNFs with Small Widths Grid-pebbling formula (UNSAT) Running time Conflicts

Width-Based Restarts on CNFs with Small Widths Grid-pebbling formula (SAT) Running time Conflicts

Width-Based Restart in Practice Widths not known up front Cannot assume they will be small Must eventually allow (many) long clauses to be learned Set W to small initial value & gradually increase it using different policies

Incrementing Width Threshold Arithmetic: W += C Geometric: W *= C Inner-outer Geo: keep two thresholds Luby’s: W = x,x,2x,x,x,2x,4x,…

Performance on INDUS 175 problems from SAT’07 (INDUS), 1800-second timeout/problem Policy Solved Total SAT UNSAT Size-based, Luby’s 107 49 58 Width-based, arith. 100 46 54 Width-based, geo. 108 45 63 Width-based, inner-outer 90 36 Width-based, Luby’s 103 47 56

Combining Size & Width for Restarting Bias the solver to construct short and narrow proofs Size-based policy based on Luby’s series was combined with various width-based policies Width & size thresholds are enforced independently

Performance of Hybrid Policies on INDUS Policy Solved Total SAT UNSAT Size-based, Luby’s 107 49 58 Width-based, arith. 100 46 54 Width-based, geo. 108 45 63 Width-based, inner-outer 90 36 Width-based, Luby’s 103 47 56 Size (Luby’s) + Width (arith.) 110 48 62 Size (Luby’s) + Width (geo.) 115 52 Size (Luby’s) + Width (in-out) 106 43 Size (Luby’s) + Width (Luby’s) 114 60 Rsat Rsat-ws-3 Rsat-ws-1 Rsat-ws-2

More Results 427 264 290 279 275 Family Total Rsat Rsat-ws-1 (Geo.) (Luby’s) Rsat-ws-3 (Arith.) SAT-07 INDUS 175 107 115 114 110 SAT-Race’06 100 86 90 88 84 Dlx-iq-unsat-1.0 32 11 18 14 17 Fvp-unsat-1.0,2.0,3.0 26 Liveness-sat-1.0 10 5 7 6 Liveness-unsat-2.0 9 3 Pipe-ooo-1.0,1.1 29 12 13 Pipe-unsat-1.0,1.1 27 16 Vliw-unsat-2.0,4.0 2 427 264 290 279 275

Performance Profiles on INDUS problems SAT UNSAT

Performance Profiles on CRAFTED problems SAT UNSAT

Conclusions Demonstrated benefits of width-based restart policies Could perform as well as, if not better than, size-based ones Initial study on combining width & size for better performance on various problem families

Thank you