CS-E3220 Declarative Programming

Size: px
Start display at page:

Download "CS-E3220 Declarative Programming"

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 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 information

EECS 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 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 information

Constraint Satisfaction Problems

Constraint 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 information

Practical SAT Solving

Practical 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 information

SAT/SMT Solvers and Applications

SAT/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 information

Heuristic Backtracking Algorithms for SAT

Heuristic 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 information

Chapter 2 PRELIMINARIES

Chapter 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 information

Normal Forms for Boolean Expressions

Normal 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 information

Boolean Satisfiability Solving Part II: DLL-based Solvers. Announcements

Boolean 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 information

Satisfiability. Michail G. Lagoudakis. Department of Computer Science Duke University Durham, NC SATISFIABILITY

Satisfiability. 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 information

SAT Solvers. Ranjit Jhala, UC San Diego. April 9, 2013

SAT 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 information

CS-E3200 Discrete Models and Search

CS-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 information

CDCL 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. 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 information

Satisfiability (SAT) Applications. Extensions/Related Problems. An Aside: Example Proof by Machine. Annual Competitions 12/3/2008

Satisfiability (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 information

ESE535: Electronic Design Automation CNF. Today CNF. 3-SAT Universal. Problem (A+B+/C)*(/B+D)*(C+/A+/E)

ESE535: 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 information

Learning Techniques for Pseudo-Boolean Solving and Optimization

Learning 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 information

Adding New Bi-Asserting Clauses for Faster Search in Modern SAT Solvers

Adding 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 information

Satisfiability Solvers

Satisfiability 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 information

Symbolic Methods. The finite-state case. Martin Fränzle. Carl von Ossietzky Universität FK II, Dpt. Informatik Abt.

Symbolic 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 information

Unrestricted Backtracking Algorithms for Satisfiability

Unrestricted 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 information

Example: Map coloring

Example: 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 information

SAT Solver Heuristics

SAT 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 information

DM841 DISCRETE OPTIMIZATION. Part 2 Heuristics. Satisfiability. Marco Chiarandini

DM841 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 information

Study of efficient techniques for implementing a Pseudo-Boolean solver based on cutting planes

Study 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 information

Planning as Search. Progression. Partial-Order causal link: UCPOP. Node. World State. Partial Plans World States. Regress Action.

Planning 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 information

Efficient satisfiability solver

Efficient 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 information

Solving Constraint Satisfaction Problems by a SAT Solver

Solving 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 information

Solving 3-SAT. Radboud University Nijmegen. Bachelor Thesis. Supervisors: Henk Barendregt Alexandra Silva. Author: Peter Maandag s

Solving 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 information

4.1 Review - the DPLL procedure

4.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 information

An Introduction to SAT Solvers

An 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 information

arxiv: v1 [cs.lo] 17 Oct 2013

arxiv: 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 information

PROPOSITIONAL LOGIC (2)

PROPOSITIONAL 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 information

Heuristic-Based Backtracking for Propositional Satisfiability

Heuristic-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 information

Lookahead Saturation with Restriction for SAT

Lookahead 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 information

SAT Solver. CS 680 Formal Methods Jeremy Johnson

SAT 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 information

Better test results for the graph coloring and the Pigeonhole Problems using DPLL with k-literal representation

Better 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 information

SAT Solver and its Application to Combinatorial Problems

SAT 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 information

2 Decision Procedures for Propositional Logic

2 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 information

Multi Domain Logic and its Applications to SAT

Multi 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 information

Massively Parallel Seesaw Search for MAX-SAT

Massively 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 information

Combinational Equivalence Checking

Combinational 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 information

Boolean Satisfiability: From Theoretical Hardness to Practical Success. Sharad Malik Princeton University

Boolean 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 information

Zchaff: A fast SAT solver. Zchaff: A fast SAT solver

Zchaff: 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 information

Boolean Functions (Formulas) and Propositional Logic

Boolean 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 information

Deductive Methods, Bounded Model Checking

Deductive 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 information

ABT with Clause Learning for Distributed SAT

ABT 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 information

Memory Hierarchy Utilization of a SAT Solver

Memory 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 information

A proof-producing CSP solver: A proof supplement

A 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 information

Exploring A Two-Solver Architecture for Clause Learning CSP Solvers. Ozan Erdem

Exploring 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 information

Set 5: Constraint Satisfaction Problems Chapter 6 R&N

Set 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 information

ON SOLVING OPTIMIZATION PROBLEMS USING BOOLEAN SATISFIABILITY

ON 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 information

Circuit versus CNF Reasoning for Equivalence Checking

Circuit 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 information

EXTENDING SAT SOLVER WITH PARITY CONSTRAINTS

EXTENDING 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 information

Set 5: Constraint Satisfaction Problems

Set 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 information

Microsoft Research One Microsoft Way, Redmond WA 98052, USA David G. Mitchell

Microsoft 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 information

A Pearl on SAT Solving in Prolog (extended abstract)

A 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 information

Master 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 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 information

A Scalable Algorithm for Minimal Unsatisfiable Core Extraction

A 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 information

Boolean Representations and Combinatorial Equivalence

Boolean 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 information

Random backtracking in backtrack search algorithms for satisfiability

Random 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 information

Unrestricted Nogood Recording in CSP search

Unrestricted 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 information

Notes on Non-Chronologic Backtracking, Implication Graphs, and Learning

Notes 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 information

Resolution and Clause Learning for Multi-Valued CNF

Resolution 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 information

Course 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? 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 information

1.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: 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 information

Modern 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 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 information

Trends 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 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 information

SAT 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 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 information

Problem-Sensitive Restart Heuristics for the DPLL Procedure

Problem-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 information

Towards 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 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 information

Linear Time Unit Propagation, Horn-SAT and 2-SAT

Linear 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 information

Set 5: Constraint Satisfaction Problems

Set 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 information

An Improved Separation of Regular Resolution from Pool Resolution and Clause Learning

An 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 information

Function-Complete Lookahead in Support of Efficient SAT Search Heuristics

Function-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 information

Splatz SAT Solver POS 16

Splatz 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 information

A Satisfiability Modulo Theories (SMT) Solver for the Theory of Equality and Uninterpreted Functions (EUF)

A 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 information

QuteSat. 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 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 information

HySAT. what you can use it for how it works example from application domain final remarks. Christian Herde /12

HySAT. 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 information

Clone: Solving Weighted Max-SAT in a Reduced Search Space

Clone: 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 information

Satisfiability Checking with Difference Constraints

Satisfiability 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 information

QingTing: 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 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 information

An Analysis and Comparison of Satisfiability Solving Techniques

An 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 information

Inference methods for a pseudo-boolean satisfiability solver

Inference 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 information

Dipartimento di Elettronica Informazione e Bioingegneria. Cognitive Robotics. SATplan. Act1. Pre1. Fact. G. Gini Act2

Dipartimento 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 information

Validating 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 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 information

A Pearl on SAT Solving in Prolog

A 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 information

Lingeling Essentials POS 2014

Lingeling 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 information

Practical SAT algorithms

Practical 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 information

Set 5: Constraint Satisfaction Problems

Set 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 information

On Computing Minimum Size Prime Implicants

On 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 information

Chaff: Engineering an Efficient SAT Solver

Chaff: 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 information

Solving Constraint Satisfaction Problems by a SAT Solver

Solving 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 information

Full CNF Encoding: The Counting Constraints Case

Full 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 information

Constraint Reasoning Part 2: SAT, PB, WCSP

Constraint 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 information

Technion - Computer Science Department - M.Sc. Thesis MSC IMPROVEMENTS OF SAT SOLVING TECHNIQUES. Roman Gershman

Technion - 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 information

Practical SAT Solving

Practical 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 information

Adding 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 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 information

An Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability

An 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 information

Solving Constraint Satisfaction Problems with SAT Technology

Solving 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 information

NiVER: Non Increasing Variable Elimination Resolution for Preprocessing SAT instances

NiVER: 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