Hrinking hrinking A signment tack tack. Agenda Introduction Algorithm Description Heuristics Experimental Results Conclusions.

Slides:



Advertisements
Similar presentations
Chaff: Engineering an Efficient SAT Solver Matthew W.Moskewicz, Concor F. Madigan, Ying Zhao, Lintao Zhang, Sharad Malik Princeton University Modified.
Advertisements

Presented by Monissa Mohan 1.  A highly optimized BCP algorithm  Two watched literals  Fast Backtracking  Efficient Decision Heuristic  Focused on.
Chaff: Engineering an Efficient SAT Solver Matthew W.Moskewicz, Concor F. Madigan, Ying Zhao, Lintao Zhang, Sharad Malik Princeton University Presenting:
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.
UIUC CS 497: Section EA Lecture #2 Reasoning in Artificial Intelligence Professor: Eyal Amir Spring Semester 2004.
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
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.
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.
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,
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:
© 2002 Fadi A. Aloul, University of Michigan PBS: A Pseudo-Boolean Solver and Optimizer Fadi A. Aloul, Arathi Ramani, Igor L. Markov, Karem A. Sakallah.
ECE 647 TERM PROJECT MiniSAT parallelization Shahadat Hossain Saud Wasly.
Boolean Satisfiability Solvers Wonhong Nam
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
08/1 Foundations of AI 8. Satisfiability and Model Construction Davis-Putnam, Phase Transitions, GSAT Wolfram Burgard and Bernhard Nebel.
Ryan Kinworthy 2/26/20031 Chapter 7- Local Search part 1 Ryan Kinworthy CSCE Advanced Constraint Processing.
Chaff: Engineering an Efficient SAT Solver Matthew W.Moskewicz, Concor F. Madigan, Ying Zhao, Lintao Zhang, Sharad Malik Princeton University Presenting:
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
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.
Knowledge Representation II (Inference in Propositional Logic) CSE 473 Continued…
GRASP: A Search Algorithm for Propositional Satisfiability EE878C Homework #2 2002/11/1 KAIST, EECS ICS Lab Lee, Dongsoo.
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.
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 21, 2008 Modern SAT Solvers ({z}Chaff, GRASP,miniSAT)
1 Message Passing and Local Heuristics as Decimation Strategies for Satisfiability Lukas Kroc, Ashish Sabharwal, Bart Selman (presented by Sebastian Brand)
USING SAT-BASED CRAIG INTERPOLATION TO ENLARGE CLOCK GATING FUNCTIONS Ting-Hao Lin, Chung-Yang (Ric) Huang Graduate Institute of Electrical Engineering,
Genetic Algorithm.
1 SAT Genealogy Alexander Nadel, Intel, Haifa, Israel The Technion, Haifa, Israel July,
Boolean Satisfiability and SAT Solvers
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
Introduction to Job Shop Scheduling Problem Qianjun Xu Oct. 30, 2001.
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 TexPoint fonts used in EMF. Read the TexPoint manual before you.
Motivation & Goal SAT and Constraint Processing (CP) are fundamental areas of Computer Science that address the same computational questions. Compare SAT.
1 Agenda Modeling problems in Propositional Logic SAT basics Decision heuristics Non-chronological Backtracking Learning with Conflict Clauses SAT and.
Parallelizing MiniSat I-Ting Angelina Lee Justin Zhang May 05, Final Project Presentation.
Schreiber, Yevgeny. Value-Ordering Heuristics: Search Performance vs. Solution Diversity. In: D. Cohen (Ed.) CP 2010, LNCS 6308, pp Springer-
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.
Maximum Density Still Life Symmetries and Lazy Clause Generation Geoffrey Chu, Maria Garcia de la Banda, Chris Mears, Peter J. Stuckey.
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.
“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.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
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.
Dynamic Backtracking for SAT Presented by: Phil Oertel April 6, 2004.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
CS137: Electronic Design Automation
Knot Pipatsrisawat and Adnan Darwiche Computer Science Department UCLA
Inference and search for the propositional satisfiability problem
On the Power of Clause-Learning SAT Solvers with Restarts
Parallelism in SAT Solvers
SAT’07 Conference, Lisbon;
Backtracking search: look-back
Watched Literals and Restarts in MiniSAT
Decision Procedures An Algorithmic Point of View
Watched Literals and Restarts in MiniSAT
Stronger learning and higher backjumping
Decision heuristics based on an Abstraction/Refinement model
Faster Extraction of High-Level Minimal Unsatisfiable Cores
Presentation transcript:

hrinking hrinking A signment tack tack

Agenda Introduction Algorithm Description Heuristics Experimental Results Conclusions

What is Shrinking? Shrinking is an algorithm that boosts modern DPLL-based SAT solvers on difficult industrial benchmarks by dynamically filtering out irrelevant assignments

The History Shrinking was ◦ introduced in the Jerusat solver (Nadel’02). ◦ enhanced in the Chaff’04 solver (Mahajan&Fu&Malik’04). Jerusat and Chaff’04 are the SAT’04 competition winners in industrial categories.

Goals of this Work Empirically demonstrate that shrinking is critical for solving difficult industrial families in modern solvers. Provide a thorough description of the shrinking algorithm. We also discuss shrinking heuristics and introduce some new ones.

Explanation: a SAT Solver Run Snapshot after a Conflict Assigned variables First assigned variable Parent resolution: a resolution proof for the validity of the flip (Each rectangle is a clause) Variable to be flipped

Explanation: a SAT Solver Run Snapshot after a Conflict Parent resolution: a resolution proof for the validity of the flip (Each rectangle is a clause) Yellow variables are the asserting clause variables

Explanation: a SAT Solver Run Snapshot after a Conflict The assignments to all the blue variables were irrelevant: Unnecessary for generating the parent resolution. The blue variables might had been used for resolution proof that was subsequently pruned.

Explanation: a SAT Solver Run Snapshot after a Conflict Irrelevant assignments are bad: They slow down BCP. They violate the locality principle: proof should be dependent on as few assignments as possible. Shrinking: remove irrelevant assignments before flipping.

Example: Standard Backtracking and Flipping w/o Shrinking

Non-chronological backtracking will remove this assignment (if it defines a new decision level).

Example: Standard Backtracking and Flipping w/o Shrinking Backtrack! Non-chronological backtracking removed an assignment.

Example: Standard Backtracking and Flipping w/o Shrinking Flip

Example: Shrinking in Action Shrink on this area. Shrinking will remove all the irrelevant assignments here.

Example: Shrinking in Action Shrink and backtrack! Shrinking removed many irrelevant assignments.

Example: Shrinking in Action Flip

The Shrinking Algorithm After a conflict: 1.Record a conflict clause as usual! 2.If the shrinking condition holds, shrink as follows: 1.Backtrack to the shrinking backtrack level. 2.Assign the unassigned literals of the conflict clause to false. Propagate each assignment with BCP.  The order of variable assignments is defined by the sorting scheme.

The Three Elephants that Support Clever Shrinking The shrinking condition The sorting scheme The shrinking backtrack level

Intuition behind Shrinking Heuristics Intuition behind the shrinking condition: ◦ Shrink when the search halts to be useful. Usefulness is estimated by looking at the asserting clause: ◦ Short means useful  The most intuitive widely used measure: short clauses should prune the search space better ◦ Few decision levels means useful  Variables of the same decision level are interrelated: if one is assigned, the others have good chances to be assigned soon  Locality principle rules

Intuition behind Shrinking Heuristics Intuition behind the sorting scheme: ◦ It is advantageous to locally reshuffle the VSIDS scores from time to time. Intuition behind the shrinking backtrack level determination ◦ Quite straightforward: subject for future work

Shrinking in Jerusat 1. Jerusat’s shrinking condition ◦ The conflict clause contains no more than one variable from each decision level. ◦ A decision-level-based scheme 2. Jerusat’s sorting scheme ◦ Same order as before shrinking. 3. Jerusat’s shrinking backtrack level ◦ Highest possible decision level where all the literals of the conflict clause become unassigned.

Shrinking in Chaff’04 1. Chaff’s shrinking condition ◦ The conflict clause length exceeds x.  x is initialized with 95 and is changed dynamically.  The goal is to be close to the mean length of the conflict clauses. ◦ Secondary condition  2. Chaff’s sorting scheme ◦ Reverses the order.  Empirically better than using the same order.  Dynamic reshuffling to VSIDS scores. 3. Chaff’s shrinking backtrack level ◦ Lowest possible decision level in the conflict clause that is less than the next higher decision level by at least 2.  If no such level exists, shrinking is not performed.

New Heuristics for Shrinking Decision-level-based shrinking condition ◦ Generalization of Jerusat’s shrinking condition in the spirit of Glucose’s clause deletion scheme (Audemard&Simon’09) ◦ The algorithm  d  the number of decision levels in the asserting clause.  Shrink if d > x’  x’ is similar to Chaff’s threshold on clause length, but it is applied to the number of decision levels in the clauses instead of to clause length.

New Heuristics for Shrinking Activity ordering sorting scheme ◦ Sort the variables of the conflict clause by VSIDS’s scores, from highest to lowest.  Should work well, if no corrections to VSIDS scores are required.

Experimental Results We implemented shrinking in Eureka and an enhanced version of Minisat. Time threshold was 3 hours. We used 8 benchmark families: ◦ 4 of Miroslav Velev’s families. ◦ 2 families from the SAT’04 competition:  Goldberg; Maris ◦ 2 SAT-Race’06 families. 166 instances overall

Experimental Results: the Algorithms 1. No shrinking 2. Base shrinking ◦ Eureka’s version: similar to Chaff with two minor changes 3. Base with the decision-level-based shrinking condition 4. Base with the activity ordering sorting scheme

Eureka: Solved Instances per Family

Eureka: “Base“ Beats “No Shrinking”!

Minisat: Solved Instances per Family

Minisat: “Dec. Level-based“ Beats “No Shrinking”!

Performance Summary: Solved Instances Overall (out of 166) MinisatEureka No Shrinking Base Decision Level-Based Activity Ordering133149

Impact of the Decision Level-Based Shrinking Condition Empirical recommendations: ◦ Recommended as the default for Minisat  Solves more instances overall and faster for 6/8 families ◦ Very useful for particular families for both solvers. Resulting intuition: ◦ The number of decision levels in the clauses appears to be a good way of measuring usefulness.  But using the clause size measure is sometimes advantageous.

Experimental Results: Impact of the Activity Ordering Sorting Scheme Empirical recommendations: ◦ Not recommended as the default  Causes a serious deterioration of Minisat performance on two Velev families.  Yet, improves the performance for SAT Race families.  Not helpful for most of the families and overall for Eureka. Resulting intuition ◦ A local reshuffling of VSIDS scores is usually helpful.  Reminder: the base scheme reverses the order

Future Work Study the interplay between restarts and shrinking. Improve the heuristics further

Conclusions Shrinking is a dedicated technique for filtering out irrelevant assignments in modern DPLL-based SAT solvers Shrinking is empirically critical ◦ Many families couldn’t be solved without shrinking (within Minisat and Eureka). ◦ Shrinking improves the performance for almost all the considered families for both solvers.

Thanks for Your Attention!

Backup Slides

Shrinking vs. Modern Techniques Consider the following three techniques: ◦ Frequent restarts ◦ A clause-based heuristic ◦ RSAT’s phase saving Is the combined effect of these techniques similar to shrinking? ◦ No! Empirically, shrinking is highly beneficial in Eureka, which applies all these techniques.

Why isn't the Effect of Shrinking Achieved by Other Techniques Because of the simultaneous effect of the following: 1.The shrinking condition differs from the restart conditions. 2.Shrinking restarts the search only partially. 3.Unlike clause-based heuristics, shrinking continues selecting variables from the top-most conflict clause, even if it was satisfied. 4.Shrinking uses a dedicated sorting (re-ordering) of the variables in the top-most conflict clause.

Calculation of the Threshold on Conflict Clause Length in Chaff x is initialized with 95 Do the following each 800 conflicts ◦ (mean, stdev) := mean and standard deviation of last 800 learned clause lengths ◦ center := mean * stdev; ◦ ulimit := mean + stdev ◦ if x ≥ center then  x := x − 5 ◦ if x < center then  x := x + 5 ◦ if x > ulimit then  x := ulimit ◦ if x < 5 then  x := 5 return x

Performance Summary MinisatEureka No Shr. Solved No Shr. Time Base Shr. Solved Base Shr. Time Dec. Level Shr. Solved Dec. Level Shr. Time Act. Order Shr. Solved Act. Order Shr. Time

Another Type of Shrinking