CS-E3220 Declarative Programming
|
|
- Claribel Warner
- 5 years ago
- Views:
Transcription
1 CS-E3220 Declarative Programming Lecture 5: Premises for Modern SAT Solving Aalto University School of Science Department of Computer Science Spring 2018
2 Motivation The Davis-Putnam-Logemann-Loveland (DPLL) procedure was proposed as early as in the 1960s! Since those days, computers have developed significantly both in terms of processor speed and memory available. Inventions that pushed the performance of SAT solvers forward: Conflict-driven clause learning Effective search heuristics Restart strategies Unit propagation with watched literals Preprocessing Moreover, efficient implementation techniques are highly critical for the scalability of SAT solving methods. 2/32
3 Agenda First Illustrations Conflict-Driven Clause Learning Preprocessing Unit Propagation Search Strategies Restarts Summary 3/32
4 1. FIRST ILLUSTRATIONS The DPLL procedure implements a backtracking search for satisfying assignments. The search is essentially based on the branch&bound strategy, i.e., in each node of the search tree 1. the remaining search space is bound by unit propagation, 2. the search branches by the assignment of a truth value for the next literal picked by the search heuristic to true and false, respectively. This strategy has obvious shortcomings that degrade the performance of DPLL-based SAT solver: It may take a while to recover from an early mistake, i.e., some variable is assigned a wrong truth value pre-empting the satisfaction of clauses. Dead-ends in the search space are rediscovered repeatedly. 4/32
5 How to Escape from Dead-Ends? Example Consider the following set of clauses: a d e, a d e, b f, b g, b f, b g, c d, c e, c d, c e. Consider the following DPLL-based search for models: a a f,g c b c b c f,g c... d, e, d,e, d,e, d, e, The dashed arrow illustrates backjumping (conflict does not involve b). 5/32
6 Conflict Analysis The conflict occurred after decisions a, b, and c. The clause falsified by these decisions is a d e. The clauses c d and c e (used to derive d and e) let us deduce a conflict clause using resolution backwards: a d e c e a c d c d a c Interestingly, the conflict has nothing to do with b! 6/32
7 Effect of Learned Clauses Example Recall the set of clauses from our previous example: f,g c b d, e, Assert a c a d e, a d e b f, b g, b f, b g, c d, c e, c d, c e. a a c,d,e, Assert a The learned clauses guide the search away from the region containing no satisfying assignments and branching over b is avoided altogether. 7/32
8 2. CONFLICT-DRIVEN CLAUSE LEARNING The set of decision literals l 1,...,l n along a path in a DPLL search tree can be understood as a partial truth assignment ν: 1. If l i = a for some 1 i n, then ν(a) = T. 2. If l i = a for some 1 i n, then ν(a) = F. 3. Otherwise, a remains undefined in ν. If can be deduced from S {l 1,...,l n } by unit resolution, then S {l 1,...,l n } is necessarily inconsistent and S = l 1... l n. However, the disjunction l 1... l n may be weakened by literals of l 1,...,l n that are not required in the derivation of from S. Thus a shorter clause could be potentially derived from the conflict and other other related clauses may be equally useful. 8/32
9 Which Clause Should be Learned? Example Recall the set of clauses S from our previous examples: a d e, a d e, b f, b g, b f, b g, c d, c e, c d, c e. Let us analyze the literals from the leftmost branch of our DPLL tree: Literals Clause All a, b,f,g,c, d, e a b f g c d e Decision a, b,c a b c Propagating a,c a c The former (longer) clauses are implied by a c. Learning short clauses is highly preferred! 9/32
10 Subroutines for the CDCL Algorithm The input is a set S of clauses and the main variables are the set L of literals over Vars(S), the set D of dynamic (learned) clauses, a clause C conflicting with L. Subroutines for S, L, and C in general: 1. Propagate(S,L): Expand L to L L by unit propagation using clauses from S. 2. ConflictAnalysis(S,L,C): Derive a conflict clause C from C and return C,dl where C is the clause to be learned and dl is the new decision level for backjumping. 3. Choose(S, L): Pick the next literal l to be asserted true. 10/32
11 The CDCL Algorithm function CDCL(S): Set of literals; L := /0; // Set of literals D := /0; // Set of dynamic clauses dl := 0; // Decision level loop L := Propagate(S D,L); if L = C for some C S D then // Conflict if max{level[l] l C} = 0 then return { }; C,dl := ConflictAnalysis(S D,L,C); D := D {C }; // Learn the clause L := L \ {l L dl < level[l]}; // Backjump elif Vars(S) = Vars(L) then return L; // Model found else l := Choose(S D,L); // Decision dl := dl + 1; level[l] = dl; L := L {l}; // No models exist 11/32
12 Sample Runs in More Detail dl l Reason 1 b DL 1 f UP: b f 1 g UP: b g 2 c DL 2 d UP: c d 2 e UP: c e 2 a UP: a d e L = { a,b,c, d, e,f,g} Abbreviations: DL Decision literal UP Unit propagation CL Clause learning dl l Reason 1 a DL 2 b DL 2 f UP: b f 2 g UP: b g 3 d DL 3 c UP: c d 3 e UP: c e 3 UP: a d e 1 CL: a d 1 d UP: a d 1 c UP: c d 1 e UP: c e 1 UP: a d e 0 CL: a 0 a UP: a /32
13 Implication Graphs Definition Let S be a set of clauses and l 1,...,l n a branch in a DPLL-style search tree for S. The induced implication graph is a DAG V,A where 1. V = {l 1,...,l n } { } and 2. A contains arcs { l,l i l C \ {l i }} for literals l i (and ) that were derived using a clause C S by unit resolution. Example For the branch a, b,f,g,c, d, e, in our running example: b f g c d e a 13/32
14 Conflict Analysis Cuts of the implication graph correspond to conjunctions of literals l 1... l k. Since the derivation of should be impeded, negating such conjunctions yields clauses l 1... l k that could be learned. If the implication graph is not readily available or never constructed, such clauses can be derived by resolution. dl = 1 a dl = 3 a c c d e a c d a d e a c a d e a c d Corresponding resolution: a d e c e a c d c d a c 14/32
15 Conflict Analysis Algorithm The goal is to characterize the origin of the conflict C: derive a conflict clause C with a unique literal l C referring to the current decision level. The literal l is the first unique implication point (first-uip). Let l 1,...,l n be the literals from the current decision level, derived using clauses C 1,...,C n before the conflict. The ConflictAnalysis(S,L {l 1,...,l n },C) procedure: Let C n+1 = C and do the following steps for i in n...1: 1. If l i C i+1, do the resolution C i = (C i+1 \ { l i }) (C i \ {l i }). 2. Otherwise, let C i = C i+1. The resulting conflict clause C 1 will guide the search to other regions of the search space after backjumping. If l is the first-uip literal in C 1, the new decision level after backjumping is max{level[l ] l C 1 \ {l}}. 15/32
16 Forgetting/Deleting Learned Clauses Clauses learned from conflicts guide the search effectively. The number of conflicts during a search can be high and consequently and a high number of clauses is learned. To free memory, many learned clauses have to be deleted at regular intervals, typically based on clause length, latest time used, and other criteria. Example For instance, the Glucose solver [Audemard and Simon, 2009] implements a strategy where 1. the numbers of decision levels of literals in each clause are counted and 2. the clauses with higher counts are deleted first. 16/32
17 3. PREPROCESSING The idea of preprocessing is to reason about the set of input clauses S before the actual search phase, e.g., by removing unuseful clauses (trivial consequences), removing certain variables altogether, and simplifying the remaining clauses in inexpensive ways. The correctness of preprocessing relies either on logical consequence and/or validity, or preservation of satisfiability (not necessarily model-preserving). The idea of inprocessing is to interleave similar reasoning with search, but this gets more expensive when done repeatedly. Example If a variable a occurs in the clauses of S with single polarity only, those clauses can be deleted while preserving satisfiability. 17/32
18 Some Principles for Simplification Unit resolution: if S contains a clause C = {l}: remove any other clause C such that l C and remove l for clauses C such that l C. The derivation of (empty disjunction) indicates contradiction! Subsumption: if there are clauses l 1... l n and k 1... k m such that {l 1,...,l n } {k 1,...,k m }, the latter can be deleted. Removal of tautologies: delete any C with l C and l C. Look-ahead: if S {l} yields by unit resolution, then S = l, l can be added to S and S { l} can be simplified accordingly. Example Let S have clauses a, a b c, b c d, and a b c: 1. Unit resolution with a yields b c and b c. 2. The clause b c d is subsumed and can be deleted. 3. Clauses b c and b c get deleted, since b propagates to ( b). 18/32
19 Equivalence Reasoning If S contains binary clauses l 1 l 2 and l 1 l 2, then S = l 1 l 2 It is possible to remove l 2 altogether from S by substituting every occurrence of the literal l 2 in S by the literal l 1, and every occurrence of the complement l 2 in S by the complement l 1. Example Let us reconsider our running example: a d e, a d e, b f, b g, b f, b g, c d, c e, c d, c e. The last four clauses imply c d and c e. Substituting d/ c, d/c, e/ c, and e/c: Turn the last four clauses into c c to be deleted. Turn the first two clauses into a c and and a c. We can infer a by binary resolution or look-ahead. 19/32
20 4. UNIT PROPAGATION Modern CDCL solvers spend most of their runtime on performing unit propagation ( 90 %). The Dowling-Gallier algorithm [1984] has traditionally been used to implement unit propagation using a counter for each (non-trivial) clause l 1... l n and by initializing the counter with the value n, decreasing the value of the counter whenever one literal is falsified, asserting the remaining literal when the value is set to 1. However, the counter-based approach has some issues: The counter need not be updated if l 1... l n gets satisfied. The counter must be updated when backtracking or backjumping, leading to a high number of memory accesses, and potentially many cache misses. It is highly important to minimize access to data structures! 20/32
21 The Watched Literals Scheme Moskewicz et al. [2001] designed lazy data structures for implementing unit propagation in the zchaff solver. Example For any two watched literals l 1 and l 2 in a clause C: If l 1 and l 2 are not assigned false, do nothing! If l i is assigned false and l 2 i is unassigned, replace l i by another unassigned literal from C to be watched next. If such an unassigned literal cannot be found in C (and no literal in C is assigned to true), assign l 2 i to true. Watched literals need not be updated when backjumping! Consider the following: ν c, a, b, e a b c d e = d 21/32
22 The Watched Literals Scheme Moskewicz et al. [2001] designed lazy data structures for implementing unit propagation in the zchaff solver. Example For any two watched literals l 1 and l 2 in a clause C: If l 1 and l 2 are not assigned false, do nothing! If l i is assigned false and l 2 i is unassigned, replace l i by another unassigned literal from C to be watched next. If such an unassigned literal cannot be found in C (and no literal in C is assigned to true), assign l 2 i to true. Watched literals need not be updated when backjumping! Consider the following: ν c, a, b, e a b c d e = d 22/32
23 The Watched Literals Scheme Moskewicz et al. [2001] designed lazy data structures for implementing unit propagation in the zchaff solver. Example For any two watched literals l 1 and l 2 in a clause C: If l 1 and l 2 are not assigned false, do nothing! If l i is assigned false and l 2 i is unassigned, replace l i by another unassigned literal from C to be watched next. If such an unassigned literal cannot be found in C (and no literal in C is assigned to true), assign l 2 i to true. Watched literals need not be updated when backjumping! Consider the following: ν c, a, b, e a b c d e = d 23/32
24 Unit Propagation for Two-Literal Clauses Handling 2-literal clauses l 1 l 2 is unnecessarily complex using the watched literal scheme. There are sets of clauses where 2-literal clauses dominate. The 2-literal clauses associated with each literal l can be treated separately (outside the watched literal scheme). Record l l 1,...,l l n by a set of literals L = {l 1,...,l n } (stored as an array in practice). Whenever l is made false, push all unassigned literals of L to the propagation queue/stack and carry out unit propagation. Many SAT solvers also treat 3-literal clauses in a special way. 24/32
25 5. SEARCH STRATEGIES Search heuristics is an essential part of the search strategy implemented by a SAT solver. Many solvers implement a variety of search heuristics: clasp --heuristic=heu where heu is one of Berkmin, Vmtf, Vsids, Domain, Unit, and None. When solving NP-complete problems with search algorithms the runtimes typically exhibit a heavy-tailed distribution. Restarts and a restart strategy provide means to escape regions of search space not containing satisfying assignments. 25/32
26 Variable State Independent Decaying Sum (VSIDS) Moskewicz et al. [2001] introduced VSIDS in the zchaff solver. For each literal l, two integer scores s(l) and r(l) are initialized: s(l) is the number of occurrences of l in S and r(l) := 0. The scores are updated and used as follows: The score r(l) is increased by 1 if a clause with l is learned. The scores are decayed periodically by the assignments s(l) := s(l)/2 + r(l) and r(l) := 0. The search heuristics: an unassigned literal l with the maximum score s(l) is always asserted next. Variations and extensions of VSIDS are most popular in contemporary solvers. 26/32
27 Heavy-Tailed Runtime Distributions Many NP-complete problems exhibit heavy-tailed distributions for runtimes of a randomized algorithm on a single instance and runtimes of a deterministic algorithm on a class of instances. The mean of the distribution does not converge. Chen et al. [2001] Gomes et al. [2000] 27/32
28 Heavy-tailed Runtimes: Cause and Cure A small number of wrong decisions may lead to a part of the search tree not containing any solutions (satisfying assignments). Backtracking search does not recover from wrong decisions well. Restarting the search after time t reduces the mean substantially, if t is close to the mean of the original runtime distribution. Restarts have been used in stochastic local search algorithms to escape local minima! Gomes et al. [2000] demonstrate the utility of restarts for systematic SAT solvers (such as Satz [Li and Anbulagan, 1997]). Small amount of randomness in branching variable selection. Restart the algorithm after a given amount of time. Restarts have been extensively used since the Chaff solver. 28/32
29 Restarts in CDCL-Style Solvers Learned clauses are preserved over restarts. Extra care is required when carrying out restarts: Optimal restart policy depends on the runtime distribution which is generally not known. Deletion of learned clauses with fast restarts may lead to non-termination for unsatisfiable formulas. These can be addressed by increasing restart interval gradually: One effective restart policy is obtained from the Luby-Ertel series n = 1,1,2,1,1,2,4,1,1,2,1,1,2,4,8,... to decide how many clauses are learned between consecutive restarts [Huang, 2007]. Such a policy has been shown optimal for Las Vegas algorithms with unknown runtime distribution [Luby and Ertel, 1994]. 29/32
30 Summary The shift of 1990s and 2000s led SAT solver technology to a new era when DPLL-style procedures were enhanced by CDCL techniques. However, this was not the only factor that played a role in the forthcoming success of SAT solver technology: many other supporting techniques were incorporated, and the performance and capacity of computers increased remarkably. The selection of appropriate data structures (memory management and cache effects) is also crucial for performance. Many state-of-the art SAT solvers can be found be consulting the results of the SAT Competition series. 30/32
31 Objectives You have a basic understanding of the main components required when implementing a modern SAT solver. You know how the correctness of SAT solvers can be justified using the semantical concepts of propositional logic (satisfiability, logical consequence, and equivalence). You are able to simulate the main algorithms and reasoning techniques given a smallish set of clauses as input (simplification, propagation, and CDCL). You should be able to make a straightforward implementation of a CDCL-based SAT solver on your own. 31/32
32 Bibliography G. Audemard and L. Simon: Predicting Learnt Clauses Quality in Modern SAT Solvers, A. Biere et al. (Eds.), Handbook of Satisfiability, H. Chen, C. Gomes, and B. Selman: Formal Models of Heavy-Tailed Behavior in Combinatorial Search, C. Gomes, B. Selman, N. Crato, and H. Kautz: Heavy-tailed Phenomena in Satisfiability and Constraint Satisfaction Problems, M. Luby and R. Ertel: Optimal Parallelization of Las Vegas Algorithms, J. Marques-Silva and K. Sakallah: GRASP: A New Search Algorithm for Satisfiability, M. Moskewicz et al.: Chaff: Engineering an Efficient SAT Solver, /32
EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley
EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley Project Proposals Due Friday, February 13 on bcourses Will discuss project topics on Monday Instructions
More informationEECS 219C: Formal Methods Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley
EECS 219C: Formal Methods Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley The Boolean Satisfiability Problem (SAT) Given: A Boolean formula F(x 1, x 2, x 3,, x n ) Can F evaluate to 1
More informationConstraint Satisfaction Problems
Constraint Satisfaction Problems Tuomas Sandholm Carnegie Mellon University Computer Science Department [Read Chapter 6 of Russell & Norvig] Constraint satisfaction problems (CSPs) Standard search problem:
More informationPractical SAT Solving
Practical SAT Solving Lecture 5 Carsten Sinz, Tomáš Balyo May 23, 2016 INSTITUTE FOR THEORETICAL COMPUTER SCIENCE KIT University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz
More informationSAT/SMT Solvers and Applications
SAT/SMT Solvers and Applications University of Waterloo Winter 2013 Today s Lecture Lessons learnt so far Implementation-related attacks (control-hazard, malware,...) Program analysis techniques can detect
More informationHeuristic Backtracking Algorithms for SAT
Heuristic Backtracking Algorithms for SAT A. Bhalla, I. Lynce, J.T. de Sousa and J. Marques-Silva IST/INESC-ID, Technical University of Lisbon, Portugal fateet,ines,jts,jpmsg@sat.inesc.pt Abstract In recent
More informationChapter 2 PRELIMINARIES
8 Chapter 2 PRELIMINARIES Throughout this thesis, we work with propositional or Boolean variables, that is, variables that take value in the set {true, false}. A propositional formula F representing a
More informationNormal Forms for Boolean Expressions
Normal Forms for Boolean Expressions A NORMAL FORM defines a class expressions s.t. a. Satisfy certain structural properties b. Are usually universal: able to express every boolean function 1. Disjunctive
More informationBoolean Satisfiability Solving Part II: DLL-based Solvers. Announcements
EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Part II: DLL-based Solvers Sanjit A. Seshia EECS, UC Berkeley With thanks to Lintao Zhang (MSR) Announcements Paper readings will be
More informationSatisfiability. Michail G. Lagoudakis. Department of Computer Science Duke University Durham, NC SATISFIABILITY
Satisfiability Michail G. Lagoudakis Department of Computer Science Duke University Durham, NC 27708 COMPSCI 271 - Spring 2001 DUKE UNIVERSITY Page 1 Why SAT? Historical Reasons The first NP-COMPLETE problem
More informationSAT Solvers. Ranjit Jhala, UC San Diego. April 9, 2013
SAT Solvers Ranjit Jhala, UC San Diego April 9, 2013 Decision Procedures We will look very closely at the following 1. Propositional Logic 2. Theory of Equality 3. Theory of Uninterpreted Functions 4.
More informationCS-E3200 Discrete Models and Search
Shahab Tasharrofi Department of Information and Computer Science, Aalto University Lecture 7: Complete and local search methods for SAT Outline Algorithms for solving Boolean satisfiability problems Complete
More informationCDCL SAT Solvers. Joao Marques-Silva. Theory and Practice of SAT Solving Dagstuhl Workshop. April INESC-ID, IST, ULisbon, Portugal
CDCL SAT Solvers Joao Marques-Silva INESC-ID, IST, ULisbon, Portugal Theory and Practice of SAT Solving Dagstuhl Workshop April 2015 The Success of SAT Well-known NP-complete decision problem [C71] The
More informationSatisfiability (SAT) Applications. Extensions/Related Problems. An Aside: Example Proof by Machine. Annual Competitions 12/3/2008
15 53:Algorithms in the Real World Satisfiability Solvers (Lectures 1 & 2) 1 Satisfiability (SAT) The original NP Complete Problem. Input: Variables V = {x 1, x 2,, x n }, Boolean Formula Φ (typically
More informationESE535: Electronic Design Automation CNF. Today CNF. 3-SAT Universal. Problem (A+B+/C)*(/B+D)*(C+/A+/E)
ESE535: Electronic Design Automation CNF Day 21: April 21, 2008 Modern SAT Solvers ({z}chaff, GRASP,miniSAT) Conjunctive Normal Form Logical AND of a set of clauses Product of sums Clauses: logical OR
More informationLearning Techniques for Pseudo-Boolean Solving and Optimization
Learning Techniques for Pseudo-Boolean Solving and Optimization José Faustino Fragoso Fremenin dos Santos September 29, 2008 Abstract The extension of conflict-based learning from Propositional Satisfiability
More informationAdding New Bi-Asserting Clauses for Faster Search in Modern SAT Solvers
Proceedings of the Tenth Symposium on Abstraction, Reformulation, and Approximation Adding New Bi-Asserting Clauses for Faster Search in Modern SAT Solvers Saïd Jabbour 1 and Jerry Lonlac 1,2 and Lakhdar
More informationSatisfiability Solvers
Satisfiability Solvers Part 1: Systematic Solvers 600.325/425 Declarative Methods - J. Eisner 1 Vars SAT solving has made some progress 100000 10000 1000 100 10 1 1960 1970 1980 1990 2000 2010 Year slide
More informationSymbolic Methods. The finite-state case. Martin Fränzle. Carl von Ossietzky Universität FK II, Dpt. Informatik Abt.
Symbolic Methods The finite-state case Part I Martin Fränzle Carl von Ossietzky Universität FK II, Dpt. Informatik Abt. Hybride Systeme 02917: Symbolic Methods p.1/34 What you ll learn How to use and manipulate
More informationUnrestricted Backtracking Algorithms for Satisfiability
From: AAAI Technical Report FS-01-04. Compilation copyright 2001, AAAI (www.aaai.org). All rights reserved. Unrestricted Backtracking Algorithms for Satisfiability I. Lynce, L. Baptista and J. Marques-Silva
More informationExample: Map coloring
Today s s lecture Local Search Lecture 7: Search - 6 Heuristic Repair CSP and 3-SAT Solving CSPs using Systematic Search. Victor Lesser CMPSCI 683 Fall 2004 The relationship between problem structure and
More informationSAT Solver Heuristics
SAT Solver Heuristics SAT-solver History Started with David-Putnam-Logemann-Loveland (DPLL) (1962) Able to solve 10-15 variable problems Satz (Chu Min Li, 1995) Able to solve some 1000 variable problems
More informationDM841 DISCRETE OPTIMIZATION. Part 2 Heuristics. Satisfiability. Marco Chiarandini
DM841 DISCRETE OPTIMIZATION Part 2 Heuristics Satisfiability Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. Mathematical Programming Constraint
More informationStudy of efficient techniques for implementing a Pseudo-Boolean solver based on cutting planes
DEGREE PROJECT IN COMPUTER ENGINEERING, FIRST CYCLE, 15 CREDITS STOCKHOLM, SWEDEN 2017 Study of efficient techniques for implementing a Pseudo-Boolean solver based on cutting planes ALEIX SACREST GASCON
More informationPlanning as Search. Progression. Partial-Order causal link: UCPOP. Node. World State. Partial Plans World States. Regress Action.
Planning as Search State Space Plan Space Algorihtm Progression Regression Partial-Order causal link: UCPOP Node World State Set of Partial Plans World States Edge Apply Action If prec satisfied, Add adds,
More informationEfficient satisfiability solver
Graduate Theses and Dissertations Iowa State University Capstones, Theses and Dissertations 2014 Efficient satisfiability solver Chuan Jiang Iowa State University Follow this and additional works at: https://lib.dr.iastate.edu/etd
More informationSolving Constraint Satisfaction Problems by a SAT Solver
SAT Encodings Sugar Examples Demo Summary Solving Constraint Satisfaction Problems by a SAT Solver Kobe University, JAPAN CICLOPS-WLPE-2010 SAT Encodings Sugar Examples Demo Summary Contents 3 A SAT-based
More informationSolving 3-SAT. Radboud University Nijmegen. Bachelor Thesis. Supervisors: Henk Barendregt Alexandra Silva. Author: Peter Maandag s
Solving 3-SAT Radboud University Nijmegen Bachelor Thesis Author: Peter Maandag s3047121 Supervisors: Henk Barendregt Alexandra Silva July 2, 2012 Contents 1 Introduction 2 1.1 Problem context............................
More information4.1 Review - the DPLL procedure
Applied Logic Lecture 4: Efficient SAT solving CS 4860 Spring 2009 Thursday, January 29, 2009 The main purpose of these notes is to help me organize the material that I used to teach today s lecture. They
More informationAn Introduction to SAT Solvers
An Introduction to SAT Solvers Knowles Atchison, Jr. Fall 2012 Johns Hopkins University Computational Complexity Research Paper December 11, 2012 Abstract As the first known example of an NP Complete problem,
More informationarxiv: v1 [cs.lo] 17 Oct 2013
Effectiveness of pre- and inprocessing for CDCL-based SAT solving Andreas Wotzlaw, Alexander van der Grinten, and Ewald Speckenmeyer Institut für Informatik, Universität zu Köln, Pohligstr. 1, D-50969
More informationPROPOSITIONAL LOGIC (2)
PROPOSITIONAL LOGIC (2) based on Huth & Ruan Logic in Computer Science: Modelling and Reasoning about Systems Cambridge University Press, 2004 Russell & Norvig Artificial Intelligence: A Modern Approach
More informationHeuristic-Based Backtracking for Propositional Satisfiability
Heuristic-Based Backtracking for Propositional Satisfiability A. Bhalla, I. Lynce, J.T. de Sousa, and J. Marques-Silva Technical University of Lisbon, IST/INESC-ID, Lisbon, Portugal {ateet,ines,jts,jpms}@sat.inesc.pt
More informationLookahead Saturation with Restriction for SAT
Lookahead Saturation with Restriction for SAT Anbulagan 1 and John Slaney 1,2 1 Logic and Computation Program, National ICT Australia Ltd., Canberra, Australia 2 Computer Sciences Laboratory, Australian
More informationSAT Solver. CS 680 Formal Methods Jeremy Johnson
SAT Solver CS 680 Formal Methods Jeremy Johnson Disjunctive Normal Form A Boolean expression is a Boolean function Any Boolean function can be written as a Boolean expression s x 0 x 1 f Disjunctive normal
More informationBetter test results for the graph coloring and the Pigeonhole Problems using DPLL with k-literal representation
Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007. Vol. 2. pp. 127 135. Better test results for the graph coloring and the Pigeonhole Problems using
More informationSAT Solver and its Application to Combinatorial Problems
SAT Solver and its Application to Combinatorial Problems Naoyuki Tamura Kobe University 2014 December 14th, 2014 1 / 46 Contents 1 SAT Problems and SAT Solvers SAT Problems SAT Solvers Don Knuth s TAOCP
More information2 Decision Procedures for Propositional Logic
2 Decision Procedures for Propositional Logic 2.1 Propositional Logic We assume that the reader is familiar with propositional logic, and with the complexity classes NP and NP-complete. The syntax of formulas
More informationMulti Domain Logic and its Applications to SAT
Multi Domain Logic and its Applications to SAT Tudor Jebelean RISC Linz, Austria Tudor.Jebelean@risc.uni-linz.ac.at Gábor Kusper Eszterházy Károly College gkusper@aries.ektf.hu Abstract We describe a new
More informationMassively Parallel Seesaw Search for MAX-SAT
Massively Parallel Seesaw Search for MAX-SAT Harshad Paradkar Rochester Institute of Technology hp7212@rit.edu Prof. Alan Kaminsky (Advisor) Rochester Institute of Technology ark@cs.rit.edu Abstract The
More informationCombinational Equivalence Checking
Combinational Equivalence Checking Virendra Singh Associate Professor Computer Architecture and Dependable Systems Lab. Dept. of Electrical Engineering Indian Institute of Technology Bombay viren@ee.iitb.ac.in
More informationBoolean Satisfiability: From Theoretical Hardness to Practical Success. Sharad Malik Princeton University
Boolean Satisfiability: From Theoretical Hardness to Practical Success Sharad Malik Princeton University SAT in a Nutshell Given a Boolean formula, find a variable assignment such that the formula evaluates
More informationZchaff: A fast SAT solver. Zchaff: A fast SAT solver
* We d like to build a complete decision procedure for SAT which is efficient. Generalized D-P-L algorithm: while (true) { if (! decide( )) /* no unassigned variables */ return (sat) while (! bcp ( ))
More informationBoolean Functions (Formulas) and Propositional Logic
EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Part I: Basics Sanjit A. Seshia EECS, UC Berkeley Boolean Functions (Formulas) and Propositional Logic Variables: x 1, x 2, x 3,, x
More informationDeductive Methods, Bounded Model Checking
Deductive Methods, Bounded Model Checking http://d3s.mff.cuni.cz Pavel Parízek CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Deductive methods Pavel Parízek Deductive Methods, Bounded
More informationABT with Clause Learning for Distributed SAT
ABT with Clause Learning for Distributed SAT Jesús Giráldez-Cru, Pedro Meseguer IIIA - CSIC, Universitat Autònoma de Barcelona, 08193 Bellaterra, Spain {jgiraldez,pedro}@iiia.csic.es Abstract. Transforming
More informationMemory Hierarchy Utilization of a SAT Solver
Belegarbeit Memory Hierarchy Utilization of a SAT Solver Norbert Manthey March 31, 2010 Technische Universität Dresden Fakultät Informatik Betreuende Hochschullehrer: Prof. Dr. rer. nat. Hermann Härtig,
More informationA proof-producing CSP solver: A proof supplement
A proof-producing CSP solver: A proof supplement Report IE/IS-2010-02 Michael Veksler Ofer Strichman mveksler@tx.technion.ac.il ofers@ie.technion.ac.il Technion Institute of Technology April 12, 2010 Abstract
More informationExploring A Two-Solver Architecture for Clause Learning CSP Solvers. Ozan Erdem
Exploring A Two-Solver Architecture for Clause Learning CSP Solvers by Ozan Erdem A thesis submitted in conformity with the requirements for the degree of Doctor of Philosophy Graduate Department of Computer
More informationSet 5: Constraint Satisfaction Problems Chapter 6 R&N
Set 5: Constraint Satisfaction Problems Chapter 6 R&N ICS 271 Fall 2017 Kalev Kask ICS-271:Notes 5: 1 The constraint network model Outline Variables, domains, constraints, constraint graph, solutions Examples:
More informationON SOLVING OPTIMIZATION PROBLEMS USING BOOLEAN SATISFIABILITY
ON SOLVING OPTIMIZATION PROBLEMS USING BOOLEAN SATISFIABILITY Fadi A. Aloul American University of Sharjah Department of Computer Engineering P.O. Box 26666, Sharjah, UAE faloul@ausharjah.edu ABSTRACT
More informationCircuit versus CNF Reasoning for Equivalence Checking
Circuit versus CNF Reasoning for Equivalence Checking Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria Equivalence Checking Workshop 25 Madonna di Campiglio,
More informationEXTENDING SAT SOLVER WITH PARITY CONSTRAINTS
TKK Reports in Information and Computer Science Espoo 2010 TKK-ICS-R32 EXTENDING SAT SOLVER WITH PARITY CONSTRAINTS Tero Laitinen TKK Reports in Information and Computer Science Espoo 2010 TKK-ICS-R32
More informationSet 5: Constraint Satisfaction Problems
Set 5: Constraint Satisfaction Problems ICS 271 Fall 2013 Kalev Kask ICS-271:Notes 5: 1 The constraint network model Outline Variables, domains, constraints, constraint graph, solutions Examples: graph-coloring,
More informationMicrosoft Research One Microsoft Way, Redmond WA 98052, USA David G. Mitchell
THE LOGIC IN COMPUTER SCIENCE COLUMN BY YURI GUREVICH Microsoft Research One Microsoft Way, Redmond WA 98052, USA gurevich@microsoft.com A SAT SOLVER PRIMER David G. Mitchell Abstract In not much more
More informationA Pearl on SAT Solving in Prolog (extended abstract)
A Pearl on SAT Solving in Prolog (extended abstract) Jacob M. Howe and Andy King 1 Introduction The Boolean satisfiability problem, SAT, is of continuing interest because a variety of problems are naturally
More informationMaster s Project Proposal: Enhancements of SAT-Solvers for Some Combinatorial NAE-SAT Problems
Master s Project Proposal: Enhancements of SAT-Solvers for Some Combinatorial NAE-SAT Problems Nicolette Nicolosi Department of Computer Science Rochester Institute of Technology Rochester, NY 14623 nan2563@cs.rit.edu
More informationA Scalable Algorithm for Minimal Unsatisfiable Core Extraction
A Scalable Algorithm for Minimal Unsatisfiable Core Extraction Nachum Dershowitz 1, Ziyad Hanna 2, and Alexander Nadel 1,2 1 School of Computer Science, Tel Aviv University, Ramat Aviv, Israel {nachumd,
More informationBoolean Representations and Combinatorial Equivalence
Chapter 2 Boolean Representations and Combinatorial Equivalence This chapter introduces different representations of Boolean functions. It then discusses the applications of these representations for proving
More informationRandom backtracking in backtrack search algorithms for satisfiability
Discrete Applied Mathematics 155 (2007) 1604 1612 www.elsevier.com/locate/dam Random backtracking in backtrack search algorithms for satisfiability I. Lynce, J. Marques-Silva Technical University of Lisbon,
More informationUnrestricted Nogood Recording in CSP search
Unrestricted Nogood Recording in CSP search George Katsirelos and Fahiem Bacchus Department of Computer Science, University Of Toronto, Toronto, Ontario, Canada [gkatsi,fbacchus]@cs.toronto.edu Abstract.
More informationNotes on Non-Chronologic Backtracking, Implication Graphs, and Learning
Notes on Non-Chronologic Backtracking, Implication Graphs, and Learning Alan J. Hu for CpSc 5 Univ. of British Columbia 00 February 9 These are supplementary notes on these aspects of a modern DPLL-style
More informationResolution and Clause Learning for Multi-Valued CNF
Resolution and Clause Learning for Multi-Valued CNF David Mitchell mitchell@cs.sfu.ca Simon Fraser University Abstract. Conflict-directed clause learning (CDCL) is the basis of SAT solvers with impressive
More informationCourse Summary! What have we learned and what are we expected to know?
Course Summary! What have we learned and what are we expected to know? Overview! Introduction Modelling in MiniZinc Finite Domain Constraint Solving Search Linear Programming and Network Flow Mixed Integer
More information1.4 Normal Forms. We define conjunctions of formulas as follows: and analogously disjunctions: Literals and Clauses
1.4 Normal Forms We define conjunctions of formulas as follows: 0 i=1 F i =. 1 i=1 F i = F 1. n+1 i=1 F i = n i=1 F i F n+1. and analogously disjunctions: 0 i=1 F i =. 1 i=1 F i = F 1. n+1 i=1 F i = n
More informationModern SAT Solvers. Part B. Vienna Winter School on Verification. 9 February TU Vienna, Austria
Modern SAT Solvers Part B Vienna Winter School on Verification 9 February 2012 TU Vienna, Austria Armin Biere Institute for Formal Models and Verification Johannes Kepler University, Linz, Austria http://fmv.jku.at
More informationTrends in Constraint Programming. Frédéric BENHAMOU Narendra JUSSIEN Barry O SULLIVAN
Trends in Constraint Programming Frédéric BENHAMOU Narendra JUSSIEN Barry O SULLIVAN November 24, 2006 2 Contents FIRST PART. LOCAL SEARCH TECHNIQUES IN CONSTRAINT SATISFAC- TION..........................................
More informationSAT Solvers: A Condensed History. Sharad Malik Princeton University COS 598d 3/1/2010
SAT Solvers: A Condensed History Sharad Malik Princeton University COS 598d 3/1/2010 Where are we today? Intractability of the problem no longer daunting Can regularly handle practical instances with millions
More informationProblem-Sensitive Restart Heuristics for the DPLL Procedure
Problem-Sensitive Restart Heuristics for the DPLL Procedure Carsten Sinz and Markus Iser Research Group Verification meets Algorithm Engineering Institute for Theoretical Computer Science University of
More informationTowards a Symmetric Treatment of Satisfaction and Conflicts in Quantified Boolean Formula Evaluation
Towards a Symmetric Treatment of Satisfaction and Conflicts in Quantified Boolean Formula Evaluation Lintao Zhang, Sharad Malik Department of Electrical Engineering, Princeton University, Princeton, NJ
More informationLinear Time Unit Propagation, Horn-SAT and 2-SAT
Notes on Satisfiability-Based Problem Solving Linear Time Unit Propagation, Horn-SAT and 2-SAT David Mitchell mitchell@cs.sfu.ca September 25, 2013 This is a preliminary draft of these notes. Please do
More informationSet 5: Constraint Satisfaction Problems
Set 5: Constraint Satisfaction Problems ICS 271 Fall 2014 Kalev Kask ICS-271:Notes 5: 1 The constraint network model Outline Variables, domains, constraints, constraint graph, solutions Examples: graph-coloring,
More informationAn Improved Separation of Regular Resolution from Pool Resolution and Clause Learning
An Improved Separation of Regular Resolution from Pool Resolution and Clause Learning Maria Luisa Bonet and Sam Buss Theory and Applications of Satisfiability Testing SAT 2012 Trento, Italy July 17, 2012
More informationFunction-Complete Lookahead in Support of Efficient SAT Search Heuristics
Journal of Universal Computer Science, vol. 10, no. 12 (2004), 1655-1692 submitted: 15/10/03, accepted: 14/8/04, appeared: 28/12/04 J.UCS Function-Complete Lookahead in Support of Efficient SAT Search
More informationSplatz SAT Solver POS 16
Splatz SAT Solver Armin Biere Johannes Kepler Universität Linz Pragmatics of SAT 2016 POS 16 Université de Bordeaux Bordeaux, France Monday, 4th July, 2016 Motivation 1 What do you really want to have
More informationA Satisfiability Modulo Theories (SMT) Solver for the Theory of Equality and Uninterpreted Functions (EUF)
THE UNIVERSITY OF MANCHESTER A Satisfiability Modulo Theories (SMT) Solver for the Theory of Equality and Uninterpreted Functions (EUF) Anmol Khurana May, 2016 Supervised by Dr. Renate Schmidt A third
More informationQuteSat. A Robust Circuit-Based SAT Solver for Complex Circuit Structure. Chung-Yang (Ric) Huang National Taiwan University
QuteSat A Robust Circuit-Based SAT Solver for Complex Circuit Structure Chung-Yang (Ric) Huang National Taiwan University To appear: DATE 27 2/1/27 Fact Sheet (Background) Boolean Satisfiability (SAT)
More informationHySAT. what you can use it for how it works example from application domain final remarks. Christian Herde /12
CP2007: Presentation of recent CP solvers HySAT what you can use it for how it works example from application domain final remarks Christian Herde 25.09.2007 /2 What you can use it for Satisfiability checker
More informationClone: Solving Weighted Max-SAT in a Reduced Search Space
Clone: Solving Weighted Max-SAT in a Reduced Search Space Knot Pipatsrisawat and Adnan Darwiche {thammakn,darwiche}@cs.ucla.edu Computer Science Department University of California, Los Angeles Abstract.
More informationSatisfiability Checking with Difference Constraints
Satisfiability Checking with Difference Constraints Scott Cotton A masters thesis supervised by Andreas Podelski and Bernd Finkbeiner IMPRS Computer Science Saarbruecken May 13, 2005 Abstract This thesis
More informationQingTing: A Fast SAT Solver Using Local Search and E cient Unit Propagation
QingTing: A Fast SAT Solver Using Local Search and E cient Unit Propagation Xiao Yu Li, Matthias F. Stallmann, and Franc Brglez Dept. of Computer Science, NC State Univ., Raleigh, NC 27695, USA {xyli,mfms,brglez}@unity.ncsu.edu
More informationAn Analysis and Comparison of Satisfiability Solving Techniques
An Analysis and Comparison of Satisfiability Solving Techniques Ankur Jain, Harsha V. Madhyastha, Craig M. Prince Department of Computer Science and Engineering University of Washington Seattle, WA 98195
More informationInference methods for a pseudo-boolean satisfiability solver
Inference methods for a pseudo-boolean satisfiability solver Heidi E. Dixon and Matthew L. Ginsberg CIRL 1269 University of Oregon Eugene, OR 97403-1269 {dixon, ginsberg}@cirl.uoregon.edu Abstract We describe
More informationDipartimento di Elettronica Informazione e Bioingegneria. Cognitive Robotics. SATplan. Act1. Pre1. Fact. G. Gini Act2
Dipartimento di Elettronica Informazione e Bioingegneria Cognitive Robotics SATplan Pre1 Pre2 @ 2015 Act1 Act2 Fact why SAT (satisfability)? 2 Classical planning has been observed as a form of logical
More informationValidating SAT Solvers Using an Independent Resolution-Based Checker: Practical Implementations and Other Applications
Validating SAT Solvers Using an Independent Resolution-Based Checker: Practical Implementations and Other Applications Lintao Zhang Department of Electrical Engineering Princeton University lintaoz@ee.princeton.edu
More informationA Pearl on SAT Solving in Prolog
A Pearl on SAT Solving in Prolog Jacob M. Howe 1 and Andy King 2 1 Department of Computing, City University London, EC1V 0HB, UK 2 School of Computing, University of Kent, CT2 7NF, UK Abstract. A succinct
More informationLingeling Essentials POS 2014
Lingeling Essentials Design and Implementation Aspects Armin Biere Johannes Kepler University Linz, Austria POS 2014 5th Workshop on Pragmatics of SAT 2014 SAT 2014 / FLoC 2014 Vienna Summer of Logic Vienna,
More informationPractical SAT algorithms
Practical SAT algorithms Computer Science Department University of Wales Swansea methods Complexity of Constraints Dagstuhl, October 3, 2006 SAT algorithms for boolean : and DPLL Introduction SAT algorithms
More informationSet 5: Constraint Satisfaction Problems
Set 5: Constraint Satisfaction Problems ICS 271 Fall 2012 Rina Dechter ICS-271:Notes 5: 1 Outline The constraint network model Variables, domains, constraints, constraint graph, solutions Examples: graph-coloring,
More informationOn Computing Minimum Size Prime Implicants
On Computing Minimum Size Prime Implicants João P. Marques Silva Cadence European Laboratories / IST-INESC Lisbon, Portugal jpms@inesc.pt Abstract In this paper we describe a new model and algorithm for
More informationChaff: Engineering an Efficient SAT Solver
Chaff: Engineering an Efficient SAT Solver Matthew W.Moskewicz, Concor F. Madigan, Ying Zhao, Lintao Zhang, Sharad Malik Princeton University Slides: Tamir Heyman Some are from Malik s presentation Last
More informationSolving Constraint Satisfaction Problems by a SAT Solver
SAT Encodings Systems Summary Solving Constraint Satisfaction Problems by a SAT Solver Kobe University, JAPAN Osaka Workshop for Verification and Validation Feb 28, 2011 at AIST Amagasaki SAT Encodings
More informationFull CNF Encoding: The Counting Constraints Case
Full CNF Encoding: The Counting Constraints Case Olivier Bailleux 1 and Yacine Boufkhad 2 1 LERSIA, Université de Bourgogne Avenue Alain Savary, BP 47870 21078 Dijon Cedex olivier.bailleux@u-bourgogne.fr
More informationConstraint Reasoning Part 2: SAT, PB, WCSP
Constraint Reasoning Part 2: SAT, PB, WCSP Olivier ROUSSEL roussel@cril.univ-artois.fr CRIL-CNRS UMR 8188 Université d Artois Lens, France Tutorial ECAI 2012 Montpellier August, 22 2012 Constraint Reasoning
More informationTechnion - Computer Science Department - M.Sc. Thesis MSC IMPROVEMENTS OF SAT SOLVING TECHNIQUES. Roman Gershman
IMPROVEMENTS OF SAT SOLVING TECHNIQUES Roman Gershman Improvements of SAT solving techniques Research Thesis Submitted in partial fulfillment of the requirements for the degree of Master of Science in
More informationPractical SAT Solving
Practical SAT Solving Lecture 5 Carsten Sinz, Tomáš Balyo May 22, 2018 INSTITUTE FOR THEORETICAL COMPUTER SCIENCE KIT University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz
More informationAdding a New Conflict Based Branching Heuristic in two Evolved DPLL SAT Solvers
Adding a New Conflict Based Branching Heuristic in two Evolved DPLL SAT Solvers Renato Bruni, Andrea Santori Università di Roma La Sapienza, Dip. di Informatica e Sistemistica, Via Michelangelo Buonarroti
More informationAn Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability
An Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability Fadi A. Aloul and Karem A. Sakallah Department of Electrical Engineering and Computer Science University
More informationSolving Constraint Satisfaction Problems with SAT Technology
SAT Encodings Sugar Nonogram OSS Summary Solving Constraint Satisfaction Problems with SAT Technology Kobe University, JAPAN SAT Encodings Sugar Nonogram OSS Summary Contents A SAT-based CSP Solver 1 SAT
More informationNiVER: Non Increasing Variable Elimination Resolution for Preprocessing SAT instances
NiVER: Non Increasing Variable Elimination Resolution for Preprocessing SAT instances Sathiamoorthy Subbarayan 1 and Dhiraj K Pradhan 2 1 Department of Innovation, IT-University of Copenhagen, Copenhagen,
More information