SAT’07 Conference, Lisbon;

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

The Project Problem formulation (one page) Literature review –“Related work" section of final paper, –Go to writing center, –Present paper(s) to class.
Chaff: Engineering an Efficient SAT Solver Matthew W.Moskewicz, Concor F. Madigan, Ying Zhao, Lintao Zhang, Sharad Malik Princeton University Modified.
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.
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View SAT.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
1/30 SAT Solver Changki PSWLAB SAT Solver Daniel Kroening, Ofer Strichman.
A Scalable Algorithm for Minimal Unsatisfiable Core Extraction Nachum Dershowitz¹ Ziyad Hanna² Alexander Nadel¹, ² 1 Tel-Aviv University 2 Intel SAT’06.
Abstract Answer Set Solver. Todolist Print the rules of Fig 1.
Reduction of Interpolants for Logic Synthesis John Backes Marc Riedel University of Minnesota Dept.
Hrinking hrinking A signment tack tack. Agenda Introduction Algorithm Description Heuristics Experimental Results Conclusions.
Clause Deletion Strategy in a Satisfiability Solver Presented by Colin Southwood For CMPS 217, Logic in Computer Science Tuesday, December 11 th, 2007.
Presented by Ed Clarke Slides borrowed from P. Chauhan and C. Bartzis
Chaff: Engineering an Efficient SAT Solver Matthew W.Moskewicz, Concor F. Madigan, Ying Zhao, Lintao Zhang, Sharad Malik Princeton University Presenting:
Constraint Satisfaction Problems
GRASP-an efficient SAT solver Pankaj Chauhan. 6/19/ : GRASP and Chaff2 What is SAT? Given a propositional formula in CNF, find an assignment.
State-of-the-art in SAT solvers
GRASP SAT solver Presented by Constantinos Bartzis Slides borrowed from Pankaj Chauhan J. Marques-Silva and K. Sakallah.
Search in the semantic domain. Some definitions atomic formula: smallest formula possible (no sub- formulas) literal: atomic formula or negation of an.
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.
Chapter 5 Outline Formal definition of CSP CSP Examples
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.
Boolean Satisfiability and SAT Solvers
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
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.
Lazy Annotation for Program Testing and Verification Speaker: Chen-Hsuan Adonis Lin Advisor: Jie-Hong Roland Jiang November 26,
3.1 Solving equations by Graphing System of equations Consistent vs. Inconsistent Independent vs. Dependent.
Boolean Satisfiability Present and Future
Solving Equations Using Tables Please view this tutorial and answer the follow-up questions on loose leaf to turn in to your teacher.
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.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
1 Boolean Satisfiability (SAT) Class Presentation By Girish Paladugu.
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.
CS137: Electronic Design Automation
Hybrid BDD and All-SAT Method for Model Checking
Clause Learning in a SAT-Solver
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Bounded Model Checking
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
Parallelism in SAT Solvers
B+-Trees.
A theory-based decision heuristic for DPLL(T)
B+-Trees.
B+-Trees.
NP-Completeness Yin Tat Lee
Heuristics for Efficient SAT Solving
Mining backbone literals in incremental SAT
CSPs: Search and Arc Consistency Computer Science cpsc322, Lecture 12
ECE 667 Synthesis and Verification of Digital Circuits
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Decision Procedures An Algorithmic Point of View
A Progressive Approach for Satisfiability Modulo Theories
Resolution Proofs for Combinational Equivalence
Intelligent Backtracking Algorithms: A Theoretical Evaluation
NP-Completeness Yin Tat Lee
Stronger learning and higher backjumping
Trevor Brown DC 2338, Office hour M3-4pm
Decision heuristics based on an Abstraction/Refinement model
GRASP-an efficient SAT solver
Faster Extraction of High-Level Minimal Unsatisfiable Cores
Presentation transcript:

SAT’07 Conference, Lisbon; 30.05.2007 Towards a Better Understanding of the Functionality of a Conflict-Driven SAT Solver Nachum Dershowitz¹ Ziyad Hanna² Alexander Nadel¹,² 1Tel-Aviv University 2Intel SAT’07 Conference, Lisbon; 30.05.2007

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver?

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? Decision Tree Chaff is based on backtrack search DPLL, so the most natural way to explain its behaviour is to construct a decision tree, characterizing its run.

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? Implication Graph Decision Tree Also, constructing an implication graph is helpfull for explanatory purposes, since it visualizes the BCP process.

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f b’ + f’ + c a’ + f’ + c’ f + g g + e’ + c g + e’ + c’ f + e + c’ I’ll explain on an example what difficulties one encounters when trying to construct a decision tree, characterizing a run of a modern SAT solver. g’ + e + c …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c 1 a’ + f’ + c’ f + g g + e’ + c a g + e’ + c’ f + e + c’ g’ + e + c …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c 1 a’ + f’ + c’ b f + g g + e’ + c a g + e’ + c’ f + e + c’ g’ + e + c …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c dec. level 1 1 a’ + f’ + c’ b f + g g + e’ + c a g + e’ + c’ f + e + c’ g’ + e + c …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c dec. level 1 1 a’ + f’ + c’ b e f + g g + e’ + c a g + e’ + c’ e’ f + e + c’ g’ + e + c …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c dec. level 1 1 a’ + f’ + c’ b e f + g g + e’ + c a f g + e’ + c’ e’ f + e + c’ g’ + e + c …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c dec. level 1 1 a’ + f’ + c’ b c e f + g g + e’ + c a f g + e’ + c’ e’ c’ f + e + c’ g’ + e + c …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c dec. level 1 1 a’ + f’ + c’ b c e f + g g + e’ + c a f g + e’ + c’ e’ c’ f + e + c’ You have a conflict here, so plain DPLL would just flip the value of e and continue with backtracking. g’ + e + c dec. level 2 …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f 1UIP: a’ + b’ + f’ a b’ + f’ + c dec. level 1 1 a’ + f’ + c’ b c e f + g g + e’ + c a f g + e’ + c’ e’ c’ f + e + c’ Chaff needs doing a failure-driven assertion (goes down to GRASP). How would one show on the decision tree that the decision variable has changed? a’ + b’ + f’ g’ + e + c dec. level 2 …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f 1UIP: a’ + b’ + f’ a b’ + f’ + c dec. level 1 1 a’ + f’ + c’ b c e f + g f 1 g + e’ + c a f g + e’ + c’ e’ c’ f + e + c’ … to continue, as if f had been a decision variable. a’ + b’ + f’ g’ + e + c dec. level 2 …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c 1 a’ + f’ + c’ b f’ e f + g f 1 a g + e’ + c g + e’ + c’ f + e + c’ a’ + b’ + f’ g’ + e + c …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c 1 a’ + f’ + c’ b f’ e f + g f g 1 a g + e’ + c g + e’ + c’ f + e + c’ a’ + b’ + f’ g’ + e + c …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c 1 a’ + f’ + c’ b f’ e f + g f g 1 a g + e’ + c e g + e’ + c’ 1 f + e + c’ e a’ + b’ + f’ g’ + e + c …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c 1 a’ + f’ + c’ b f’ e f + g f g 1 a g + e’ + c c’ e g + e’ + c’ 1 f + e + c’ e a’ + b’ + f’ c g’ + e + c …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c 1 a’ + f’ + c’ b 1UIP: g + e’ f’ e f + g f g 1 a g + e’ + c c’ e g + e’ + c’ 1 f + e + c’ e a’ + b’ + f’ c g’ + e + c g’ + e’ …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c 1 a’ + f’ + c’ b f’ e f + g f g 1 a g + e’ + c e’ e g + e’ + c’ 1 f + e + c’ a’ + b’ + f’ g’ + e + c g’ + e’ …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f a b’ + f’ + c 1 a’ + f’ + c’ b f’ e f + g f g c 1 a g + e’ + c e’ e g + e’ + c’ c’ 1 f + e + c’ a’ + b’ + f’ g’ + e + c g’ + e’ …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f 1UIP: f a b’ + f’ + c 1 a’ + f’ + c’ b f’ e f + g f g c 1 a g + e’ + c e’ e g + e’ + c’ c’ 1 f + e + c’ We already have a node with f, should it be re-used? Or, should a be replaced with f, but what about the left subtree of a, should we delete it or to leave it as is? a’ + b’ + f’ g’ + e + c g’ + e’ f …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f 1UIP: f a f b’ + f’ + c 1 a’ + f’ + c’ b f’ e f + g f g c 1 a g + e’ + c e’ e g + e’ + c’ c’ 1 f + e + c’ One solution would be replacing a by f as if f had been a decision variable of decision level 1, but then you have two f’s in the same path for two paths. a’ + b’ + f’ g’ + e + c g’ + e’ f …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f 1UIP: f a f b’ + f’ + c 1 a’ + f’ + c’ b f’ f + g g c a g + e’ + c e’ g + e’ + c’ c’ f + e + c’ So maybe one should just drop the whole subtree, but then we loose information regarding the exploration itself. g’ + e + c …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q1: How can one explain to a student the behavior of a Chaff-like SAT solver? a’ + b Implication Graph Decision Tree e + f 1UIP: f a b’ + f’ + c 1 a’ + f’ + c’ b f f’ e f + g f g c 1 a g + e’ + c e’ e g + e’ + c’ c’ 1 f + e + c’ A better solution in this case is as follows: a’ + b’ + f’ g’ + e + c g’ + e’ f …

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q2. Why 1UIP scheme is so much faster than AllUIP scheme?

What is the Motivation behind this Work? Answering 2 questions that puzzled me for some time Q2. Why 1UIP scheme is so much faster than AllUIP scheme? a’ + b Implication Graph Decision Tree e + f 1UIP of dl 1 1UIP: a’ + b’ + f’ a b’ + f’ + c 1 a’ + f’ + c’ b c e f + g g + e’ + c a f g + e’ + c’ e’ c’ f + e + c’ AllUIP clauses are always shorter than 1UIP clauses, but It was shown in [ZMMM’01] and that 1UIP outperforms AllUIP author = {Lintao Zhang and Conor F. Madigan and Matthew H. Moskewicz and Sharad Malik}, title = {Efficient conflict driven learning in a boolean satisfiability solver}, booktitle = {ICCAD'01}, a’ + b’ + f’ g’ + e + c … AllUIP: a’ + f’

Results: 1 / 3 Characterization of decision tree construction and pruning process by a conflict-driven SAT solver

Results: 1 / 3 Characterization of decision tree construction and pruning process by a conflict-driven SAT solver Each flipped variable is associated with a left decision sub-tree, explored while refuting corresponding left subspace A way to create this decision tree for a newly flipped variable is shown in the paper The solver maintains a forest of left decision subtrees, joined into one tree after the last conflict It is building and pruning the decision forest on-the-fly Two types of pruning Forward pruning: conflict clause recording Backward pruning: conflict-directed backjumping

Results: 2 / 3 Explaining why 1UIP is preferable over other schemes

Results: 2 / 3 Explaining why 1UIP is preferable over other schemes b 1UIP is preferable over AllUIP Better forward pruning Less decisions & flips will be required in future Fr(b): fraction of all clauses, recorded before flipping b, that contain b (b is a flipped variable) All such clauses will be satisfied after flipping b; thus they will not contribute to BCP b Fr(b) = 2/3 1 c d 1 b’ + c’ c + d b’ + c + d

Results: 2 / 3 Explaining why 1UIP is preferable over other schemes 1UIP is preferable over AllUIP Better forward pruning Less decisions & flips will be required in future Fr(b): fraction of all clauses, recorded before flipping b, that contain b (b is a flipped variable) All such clauses will be satisfied after flipping b Average Fr(b) for AllUIP is twice as higher as for 1UIP

1UIP vs. AllUIP (Timeout is 4 hours) Instance 1UIP AllUIP Time 10-3 Conf Fr NSk 10-3 Conf. 4pipe 51 101 0.41 0.19 11930 29985 0.83 0.24 5pipe 50 85 0.40 0.18 t/0 28185 0.84 0.21 8pipe_k 2426 1478 0.37 t/o 13192 0.81 9pipe_k 1493 640 0.20 6678 0.86 0.26 longmult10 485 237 0.13 590 379 longmult11 559 273 0.14 690 471 0.25 rotmul 578 615 0.52 0.16 992 1576 0.27 term1mul 2173 1585 0.55 0.15 2875 3059

Results: 2 / 3 Explaining why 1UIP is preferable over other schemes 1UIP is preferable over AllUIP Better forward pruning Fr(b): fraction of all clauses, recorded before flipping b, that contain b (b is a flipped variable) All such clauses will be satisfied after flipping b Fr(b) for AllUIP is twice as higher than for 1UIP 1UIP is preferable over UIP-2 (2nd UIP of the last decision level) Better backward pruning: more flipped variables and respective decision tree nodes are skipped 1UIP scheme corrects mistakes on-the-fly

1UIP vs. UIP-2 (Timeout is 4 hours) Instance 1UIP UIP-2 Time 10-3 Conf Fr NSk 10-3 Conf. 4pipe 51 101 0.41 0.19 148 308 0.38 0.14 5pipe 50 85 0.40 0.18 347 562 0.33 8pipe_k 2426 1478 0.37 0.21 t/o 10129 0.26 0.13 9pipe_k 1493 640 0.20 6040 0.27 0.16 longmult10 485 237 513 261 0.34 0.11 longmult11 559 273 756 346 0.35 rotmul 578 615 0.52 1186 1371 0.48 term1mul 2173 1585 0.55 0.15 5213 3750 0.54

Results: 3 / 3 Local conflict clause recording a b f’ e g c a e’ e c’ If there exists a flipped variable, dominated by the first UIP Suppose last such variable f defines a new decision level (like GRASP does) Record a 1UIP clause wrt new decision level Normal 1UIP clause is recorded and used as usual a’ + b e + f Implication Graph Decision Tree b’ + f’ + c 1UIP: f LCC: e a f a’ + f’ + c’ 1 b f + g f’ e f g c g + e’ + c 1 a e’ g + e’ + c’ e f + e + c’ c’ 1 a’ + b’ + f’ g’ + e + c … g + e’ f

LCC: What Problem are We Aiming to Solve? Asserting clause contains e’. It is consistent with the rightmost path a 1 Asserting clause for flipping b contained b’ It is inconsistent with the left-most path. It is consistent with the right-most path b 1 c e 1 d f LTree(B) 1 Let P be a path in LTree(a), having N nodes Leftmost path is inconsistent with N asserting conflict clauses, recorded while exploring LTree(a) Rightmost path is inconsistent with none of the asserting conflict clauses If leftmost path of LTree(a) is encountered after backtracking beyond a, it will be immediately pruned away. Rightmost path will not be pruned. We want to help forward pruning rightmost paths and all the paths that have few left edges.

Local Conflict Clause Recording Impact Family Default Default + LCC Time in sec. t/o sat04-maris03-gripper-sat 2238 986 sat04-goldb03_hard_eq_chk 30336 2 15353 sat04-maris03-gripper-unsat 30135 4 17842 velev_fvp_unsat.3.0 18199 10928 velev_fvp_sat.3.0 9041 7155 velev_vliw_sat.2.0 5970 4715 barrel 260 226 velev_pipe_unsat_1.0 15880 13094 velev_pipe_unsat_4.0 17260 14810 longmult 5413 5076 velev_vliw_sat_4.0 5116 6882

Thanks for your attention! (See you in poster session)