New Encodings of Pseudo-Boolean Constraints into CNF
|
|
- Jacob Bridges
- 6 years ago
- Views:
Transcription
1 New Encodings of Pseudo-Boolean Constraints into CNF Olivier Bailleux, Yacine Boufkhad, Olivier Roussel New Encodings ofpseudo-boolean Constraintsinto CNF 1
2 Outline Pseudo-Boolean constraints Encodings into CNF Unit Propagation and Generalized Arc Consistency The problem with Unit Propagation The new encodings Some preliminary experiments New Encodings ofpseudo-boolean Constraintsinto CNF 2
3 Pseudo-Boolean (PB) Constraints A (linear) pseudo-boolean constraint may be defined over boolean variables by a i.l i d with a i, d Z l i {x i, x i }, x i B {<, >,,, =} Example: 3x 1 3x x 3 + x 4 + x 5 5 Extends both clauses and cardinality constraints cardinalities:, all a i = 1 and d > 1 clauses:, all a i = 1 and d = 1 i New Encodings ofpseudo-boolean Constraintsinto CNF 3
4 PB Constraints stronger than clauses? Some facts suggest that PB constraints are more expressive than clauses PB constraints use basic arithmetic many problems are more easily encoded as PB (e.g. adder) NP-complete problems can be encoded as one single PB constraint (e.g. variants of Knapsack) any CNF can be encoded as one single non-linear PB constraint without additional variables, encoding a PB constraint into CNF is exponential the Pigeon-Hole problem can be solved polynomially when encoded as PB constraints (with learning). but is it so sure? New Encodings ofpseudo-boolean Constraintsinto CNF 4
5 Encoding PB constraints into CNF 1 more or less specialized direct encoding doesn t introduce additional variables exponential 2 BDD (Binary Decision Diagrams) requires additional variables exponential 3 Adder+Comparator (Warner s encoding) requires additional variables polynomial 4 and a few other encodings New Encodings ofpseudo-boolean Constraintsinto CNF 5
6 Generalized Arc Consistency (GAC) Let C be a PB constraint, l and l i be literals Whenever C {l 1, l 2,... l n } = l, we expect that l will be generated by the inference process When this is the case for any set of literals, the inference process is said to maintain Generalized Arc Consistency (GAC). Basic PB inference rules maintain GAC. Depending on the encoding into CNF, Unit Propagation (UP) may or may not maintain GAC New Encodings ofpseudo-boolean Constraintsinto CNF 6
7 Example 4x 1 + 3x 2 + 3x 3 + x 4 + x 5 < 7 As soon as x 1 becomes true, x 2 and x 3 must be set to false (otherwise the constraint will be falsified) New Encodings ofpseudo-boolean Constraintsinto CNF 7
8 Encoding PB constraints into CNF 1 more or less specialized direct encoding doesn t introduce additional variables exponential UP generally maintains GAC 2 BDD (Binary Decision Diagrams) requires additional variables exponential UP maintains GAC 3 Adder+Comparator (Warner s encoding) requires additional variables polynomial UP does not maintain GAC New Encodings ofpseudo-boolean Constraintsinto CNF 8
9 The trouble with UP on the adder encoding 4x 1 + 3x 2 + 3x 3 + x 4 + x 5 < 7 x 1 = T, all other variables are unknown (U), UP doesn t infer anything x 1 = x 2 = x 3 = T, all other variables are unknown (U), UP doesn t even detect inconsistency T T T 4x 1 3x 2 3x U + U < 7 U U x 4 U x 5 New Encodings ofpseudo-boolean Constraintsinto CNF 9
10 The big question: Does there exist an encoding which is both polynomial and such that UP maintains GAC? Mainly a theoretical question (such an encoding may not be efficient in practice). But the existence of this encoding would narrow the gap between PB constraints and clauses. And the answer is... New Encodings ofpseudo-boolean Constraintsinto CNF 10
11 YES! It does exist, and it is rather easy. Sketch: 1 normalize constraints to use only < 2 for each literal l j, transform the constraint i a i.l i < d into watchdogs i j a i.l i d a j = l j 4 decompose each coefficient a i into binary 5 for each power of two occurring in the binary decomposition, use a unary encoding to sum the variables having a coefficient with this bit set to 1 6 compute the half of each sum and use it as a carry for the next stage 7 compare the result of the final stage with d a j (UP doesn t work well on this) New Encodings ofpseudo-boolean Constraintsinto CNF 11
12 YES! It does exist, and it is rather easy. Sketch: 1 normalize constraints to use only < 2 for each literal l j, transform the constraint i a i.l i < d into watchdogs i j a i.l i d a j = l j 3 add an offset so that the new right term d is a multiple of the power of 2 corresponding to the last stage 4 decompose each coefficient a i into binary 5 for each power of two occurring in the binary decomposition, use a unary encoding to sum the variables having a coefficient with this bit set to 1 6 compute the half of each sum and use it as a carry for the next stage 7 compare the result of the final stage with d (one single bit to compare, this is the trick!) New Encodings ofpseudo-boolean Constraintsinto CNF 11
13 The big picture input variables input variables in the bucket in the bucket input variables in the bucket input variables in the bucket result of the comparison half half half bucket for 2 0 bucket for 2 1 bucket for 2 2 bucket for 2 3 New Encodings ofpseudo-boolean Constraintsinto CNF 12
14 Rewrite coefficient in binary 10x 1 + 7x 2 + 3x 3 is rewritten as (8 + 2)x 1 + ( )x 2 + (2 + 1)x 3 New Encodings ofpseudo-boolean Constraintsinto CNF 13
15 Rewrite coefficient in binary 10x 1 + 7x 2 + 3x 3 is rewritten as (8 + 2)x 1 + ( )x 2 + (2 + 1)x 3 and then as (x 1 ) (x 2 ) (x 1 + x 2 + x 3 ) (x 2 + x 3 ).2 0 New Encodings ofpseudo-boolean Constraintsinto CNF 13
16 Rewrite coefficient in binary 10x 1 + 7x 2 + 3x 3 is rewritten as (8 + 2)x 1 + ( )x 2 + (2 + 1)x 3 and then as (x 1 ) (x 2 ) (x 1 + x 2 + x 3 ) (x 2 + x 3 ).2 0 input variables multiplied by a given power of 2 form a bucket variables in a bucket are added and represented in unary the half operator reports a carry from one bucket (for 2 i ) to the next one (for 2 i+1 ) the last bucket represents the sum (almost) New Encodings ofpseudo-boolean Constraintsinto CNF 13
17 Unary representation n bits encode an integer x between 0 and n X = 0 X = 1 X = 2 X = x 1 x 2 x 3 x 4 x x 1 x 2 x 3 x 4 x x 1 x 2 x 3 x 4 x x 1 x 2 x 3 x 4 x 5 New Encodings ofpseudo-boolean Constraintsinto CNF 14
18 Convention 1s must be at the beginning, 0s must be at the end so, the unary representation 1 1 U U 0 x 1 x 2 x 3 x 4 x 5 encodes a number which is 2 and 4 any input vector of Booleans can be converted to this representation by a cascade of unary adders/sorters. UP actually does the conversion (sorts the bits). New Encodings ofpseudo-boolean Constraintsinto CNF 15
19 Unary adder (Totalizer) sum of two numbers in unary notation X + Y = Z 1 1 U U 0 x 1 x 2 x 3 x 4 x U U 0 0 y 1 y 2 y 3 y 4 y 5 = U U U U z 1 z 2 z 3 z 4 z 5 z 6 z 7 z 8 z 9 z 10 can be encoded with simple clauses x i y j = z i+j (meaning if X i and Y j then Z i + j) to deal with 1s. Same principle with 0s but we don t need them in our context. or by using sorting networks (asymptotically more efficient) New Encodings ofpseudo-boolean Constraintsinto CNF 16
20 Half operator Retaining bits of even indices in the unary representation of X gives the unary representation of X/2 Example x 1 x 2 x 3 x 4 x 5 x x 2 x 4 x 6 New Encodings ofpseudo-boolean Constraintsinto CNF 17
21 Comparator and offset Unit Propagation doesn t work well on a usual comparator Solution: add the same constant to both side of the constraint so that the right term becomes a multiple of 2 max (the weight of the last bucket) this only adds a constant term to the buckets (easy) but most importantly it makes the comparator trivial (the result of the comparator is just one output bit of the last adder) New Encodings ofpseudo-boolean Constraintsinto CNF 18
22 Properties of this encoding Unit Propagation maintains GAC O(n 2 log(n) log(a max )) variables O(n 3 log(n) log(a max )) clauses New Encodings ofpseudo-boolean Constraintsinto CNF 19
23 Variant instead of generating each literal implied by a constraint, we may just want to identify inconsistencies as soon as they appear it simplifies the encoding (becauses unit refutation is more powerful than unit propagation) can make sense with a CDCL solver: the solver will learn the relevant conflicts and will use them later for unit propagation New Encodings ofpseudo-boolean Constraintsinto CNF 20
24 Experiments some encouraging preliminary experiments on Bin-packing instances (see paper) Olivier Bailleux submitted his solver BoolVar to the PB09 competition (only deals with decision problems). This solver translates PB constraints into CNF (using different encodings) and then calls minisat. New Encodings ofpseudo-boolean Constraintsinto CNF 21
25 Preview of results in category DEC-SMALLINT-LIN approximately 200 instances solved Rank Solver #instances solved (relative) 1 solver A solver B solver C solver D solver E solver F +2 7 BoolVar 0 8 solver G -4 9 solver H solver I -124 New Encodings ofpseudo-boolean Constraintsinto CNF 22
26 Conclusion Contributions of this paper a new encoding of PB constraints into CNF which is both polynomial and which allows UP to maintain GAC a variant of this encoding which is shorter and which allows UP to detect inconsistencies narrowing the (theoretical) gap between PB constraints and clauses Perspective optimize the encoding by identifying and factoring frequent sums Open question could it be possible that such a SAT encoding be more efficient in practice than a dedicated PB solver? New Encodings ofpseudo-boolean Constraintsinto CNF 23
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 informationNew Encodings of Pseudo-Boolean Constraints into CNF
New Encodings of Pseudo-Boolean Constraints into CNF Olivier Bailleux 1, Yacine Boufkhad 2, and Olivier Roussel 3 1 LERSIA Université de Bourgogne olivier.bailleux@u-bourgogne.fr 2 LIAFA, CNRS, Gang team
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 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 informationComputability Theory
CS:4330 Theory of Computation Spring 2018 Computability Theory Other NP-Complete Problems Haniel Barbosa Readings for this lecture Chapter 7 of [Sipser 1996], 3rd edition. Sections 7.4 and 7.5. The 3SAT
More informationCSP- and SAT-based Inference Techniques Applied to Gnomine
CSP- and SAT-based Inference Techniques Applied to Gnomine Bachelor Thesis Faculty of Science, University of Basel Department of Computer Science Artificial Intelligence ai.cs.unibas.ch Examiner: Prof.
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 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 informationThe Satisfiability Problem [HMU06,Chp.10b] Satisfiability (SAT) Problem Cook s Theorem: An NP-Complete Problem Restricted SAT: CSAT, k-sat, 3SAT
The Satisfiability Problem [HMU06,Chp.10b] Satisfiability (SAT) Problem Cook s Theorem: An NP-Complete Problem Restricted SAT: CSAT, k-sat, 3SAT 1 Satisfiability (SAT) Problem 2 Boolean Expressions Boolean,
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 informationCombining forces to solve Combinatorial Problems, a preliminary approach
Combining forces to solve Combinatorial Problems, a preliminary approach Mohamed Siala, Emmanuel Hebrard, and Christian Artigues Tarbes, France Mohamed SIALA April 2013 EDSYS Congress 1 / 19 Outline Context
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 information3 No-Wait Job Shops with Variable Processing Times
3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select
More informationEECS 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 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 informationCSE Theory of Computing Fall 2017 Project 1-SAT Solving
CSE 30151 Theory of Computing Fall 2017 Project 1-SAT Solving Version 3: Sept. 21, 2017 The purpose of this project is to gain an understanding of one of the most central problems of computing: Boolean
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 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 informationExample of a Demonstration that a Problem is NP-Complete by reduction from CNF-SAT
20170926 CNF-SAT: CNF-SAT is a problem in NP, defined as follows: Let E be a Boolean expression with m clauses and n literals (literals = variables, possibly negated), in which - each clause contains only
More informationSome Hardness Proofs
Some Hardness Proofs Magnus Lie Hetland January 2011 This is a very brief overview of some well-known hard (NP Hard and NP complete) problems, and the main ideas behind their hardness proofs. The document
More informationPolynomial SAT-Solver Algorithm Explanation
1 Polynomial SAT-Solver Algorithm Explanation by Matthias Mueller (a.k.a. Louis Coder) louis@louis-coder.com Explanation Version 1.0 - December 1, 2013 Abstract This document describes an algorithm that
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 informationDecision Procedures. An Algorithmic Point of View. Bit-Vectors. D. Kroening O. Strichman. Version 1.0, ETH/Technion
Decision Procedures An Algorithmic Point of View Bit-Vectors D. Kroening O. Strichman ETH/Technion Version 1.0, 2007 Part VI Bit-Vectors Outline 1 Introduction to Bit-Vector Logic 2 Syntax 3 Semantics
More informationSystem Description of a SAT-based CSP Solver Sugar
System Description of a SAT-based CSP Solver Sugar Naoyuki Tamura 1, Tomoya Tanjo 2, and Mutsunori Banbara 1 1 Information Science and Technology Center, Kobe University, JAPAN {tamura,banbara}@kobe-u.ac.jp
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 informationSAT and Termination. Nao Hirokawa. Japan Advanced Institute of Science and Technology. SAT and Termination 1/41
SAT and Termination Nao Hirokawa Japan Advanced Institute of Science and Technology SAT and Termination 1/41 given 9 9-grid like Sudoku Puzzle 1 8 7 3 2 7 7 1 6 4 3 4 5 3 2 8 6 fill out numbers from 1
More information8.1 Polynomial-Time Reductions
8.1 Polynomial-Time Reductions Classify Problems According to Computational Requirements Q. Which problems will we be able to solve in practice? A working definition. Those with polynomial-time algorithms.
More informationOptimal Base Encodings for Pseudo-Boolean Constraints
Optimal Base Encodings for Pseudo-Boolean Constraints Michael Codish 1, Yoav Fekete 1, Carsten Fuhs 2, and Peter Schneider-Kamp 3 1 Department of Computer Science, Ben Gurion University of the Negev, Israel
More informationHybrid Constraint Solvers
Hybrid Constraint Solvers - An overview Why Hybrid Solvers CP and SAT: Lazy Clause Generation CP and LP: Reification of Linear Constraints Conclusions 9 November 2011 Pedro Barahona - EPCL - Hybrid Solvers
More informationPART II: Local Consistency & Constraint Propagation
PART II: Local Consistency & Constraint Propagation Solving CSPs Search algorithm. Usually backtracking search performing a depth-first traversal of a search tree. Local consistency and constraint propagation.
More informationSolving Optimization Problems with DLL
Solving Optimization Problems with DLL Enrico Giunchiglia 1 and Marco Maratea 1, 2 Abstract. Propositional satisfiability (SAT) is a success story in Computer Science and Artificial Intelligence: SAT solvers
More informationThe Resolution Algorithm
The Resolution Algorithm Introduction In this lecture we introduce the Resolution algorithm for solving instances of the NP-complete CNF- SAT decision problem. Although the algorithm does not run in polynomial
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 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 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 informationLocal Consistency in Weighted CSPs and Inference in Max-SAT
Local Consistency in Weighted CSPs and Inference in Max-SAT Student name: Federico Heras Supervisor name: Javier Larrosa Universitat Politecnica de Catalunya, Barcelona, Spain fheras@lsi.upc.edu,larrosa@lsi.upc.edu
More information1 Definition of Reduction
1 Definition of Reduction Problem A is reducible, or more technically Turing reducible, to problem B, denoted A B if there a main program M to solve problem A that lacks only a procedure to solve problem
More informationOn Proof Systems Behind Efficient SAT Solvers. DoRon B. Motter and Igor L. Markov University of Michigan, Ann Arbor
On Proof Systems Behind Efficient SAT Solvers DoRon B. Motter and Igor L. Markov University of Michigan, Ann Arbor Motivation Best complete SAT solvers are based on DLL Runtime (on unsat instances) is
More informationNP and computational intractability. Kleinberg and Tardos, chapter 8
NP and computational intractability Kleinberg and Tardos, chapter 8 1 Major Transition So far we have studied certain algorithmic patterns Greedy, Divide and conquer, Dynamic programming to develop efficient
More informationConstraint Satisfaction Problems
Constraint Satisfaction Problems CE417: Introduction to Artificial Intelligence Sharif University of Technology Spring 2013 Soleymani Course material: Artificial Intelligence: A Modern Approach, 3 rd Edition,
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 informationExercises Computational Complexity
Exercises Computational Complexity March 22, 2017 Exercises marked with a are more difficult. 1 Chapter 7, P and NP Exercise 1. Suppose some pancakes are stacked on a surface such that no two pancakes
More informationALGORITHMS EXAMINATION Department of Computer Science New York University December 17, 2007
ALGORITHMS EXAMINATION Department of Computer Science New York University December 17, 2007 This examination is a three hour exam. All questions carry the same weight. Answer all of the following six questions.
More information1.3b Type Conversion
1.3b Type Conversion Type Conversion When we write expressions involved data that involves two different data types, such as multiplying an integer and floating point number, we need to perform a type
More informationAlgorithms for SAT and k-sat problems
Algorithms for SAT and k-sat problems On solutions that don t require bounded treewidth Pauli Miettinen Pauli.Miettinen@cs.Helsinki.FI Department of Computer Science - p. 1/23 - p. 2/23 Problem definitions
More information1 Inference for Boolean theories
Scribe notes on the class discussion on consistency methods for boolean theories, row convex constraints and linear inequalities (Section 8.3 to 8.6) Speaker: Eric Moss Scribe: Anagh Lal Corrector: Chen
More informationSurvey Propagation Revisited, or where is all the satisfaction coming from. Lukas Kroc, Ashish Sabharwal, Bart Selman
Survey Propagation Revisited, or where is all the satisfaction coming from Lukas Kroc, Ashish Sabharwal, Bart Selman Uncertainty in Artificial Intelligence July 2007 1 Talk Outline Introduction What is
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 informationDecision Procedures. An Algorithmic Point of View. Decision Procedures for Propositional Logic. D. Kroening O. Strichman.
Decision Procedures An Algorithmic Point of View Decision Procedures for Propositional Logic D. Kroening O. Strichman ETH/Technion Version 1.0, 2007 Part I Decision Procedures for Propositional Logic Outline
More informationChapter 8. NP-complete problems
Chapter 8. NP-complete problems Search problems E cient algorithms We have developed algorithms for I I I I I finding shortest paths in graphs, minimum spanning trees in graphs, matchings in bipartite
More information! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance.
Algorithm Design Patterns and Anti-Patterns 8. NP and Computational Intractability Algorithm design patterns. Ex.! Greed. O(n log n) interval scheduling.! Divide-and-conquer. O(n log n) FFT.! Dynamic programming.
More informationCPSC 320 Notes: What's in a Reduction?
CPSC 320 Notes: What's in a Reduction? November 7, 2016 To reduce a problem A to another problem B, we typically proceed as follows: give one algorithm that takes a (legal) instance a of A and converts
More informationConstraint (Logic) Programming
Constraint (Logic) Programming Roman Barták Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic bartak@ktiml.mff.cuni.cz Sudoku Combinatorial puzzle, whose goal is to enter
More informationNP-Complete Reductions 2
x 1 x 1 x 2 x 2 x 3 x 3 x 4 x 4 12 22 32 CS 447 11 13 21 23 31 33 Algorithms NP-Complete Reductions 2 Prof. Gregory Provan Department of Computer Science University College Cork 1 Lecture Outline NP-Complete
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 informationThe First Evaluation of Pseudo-Boolean Solvers (PB 05)
Journal on Satisfiability, Boolean Modeling and Computation 2 (26) 13-143 The First Evaluation of Pseudo-Boolean Solvers (PB 5) Vasco M. Manquinho IST/INESC-ID, Technical University of Lisbon Rua Alves
More informationCDCL SAT Solvers & SAT-Based Problem Solving
CDCL SAT Solvers & SAT-Based Problem Solving Joao Marques-Silva 1,2 & Mikolas Janota 2 1 University College Dublin, Ireland 2 IST/INESC-ID, Lisbon, Portugal SAT/SMT Summer School 2013 Aalto University,
More informationLecture 14: Lower Bounds for Tree Resolution
IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Advanced Course on Computational Complexity Lecture 14: Lower Bounds for Tree Resolution David Mix Barrington and Alexis Maciel August
More informationTo prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions):
CS 70 Discrete Mathematics for CS Fall 2003 Wagner Lecture 7 This lecture returns to the topic of propositional logic. Whereas in Lecture 1 we studied this topic as a way of understanding proper reasoning
More informationCSc Parallel Scientific Computing, 2017
CSc 76010 Parallel Scientific Computing, 2017 What is? Given: a set X of n variables, (i.e. X = {x 1, x 2,, x n } and each x i {0, 1}). a set of m clauses in Conjunctive Normal Form (CNF) (i.e. C = {c
More informationSeminar decision procedures: Certification of SAT and unsat proofs
Seminar decision procedures: Certification of SAT and unsat proofs Wolfgang Nicka Technische Universität München June 14, 2016 Boolean satisfiability problem Term The boolean satisfiability problem (SAT)
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 informationPreprocessing in Pseudo-Boolean Optimization: An Experimental Evaluation
Preprocessing in Pseudo-Boolean Optimization: An Experimental Evaluation Ruben Martins Inês Lynce Vasco Manquinho IST/INESC-ID, Technical University of Lisbon, Portugal 20/09/2009 Lisbon, Portugal Motivation
More informationCMPSCI 187: Programming With Data Structures. Lecture 5: Analysis of Algorithms Overview 16 September 2011
CMPSCI 187: Programming With Data Structures Lecture 5: Analysis of Algorithms Overview 16 September 2011 Analysis of Algorithms Overview What is Analysis of Algorithms? L&C s Dishwashing Example Being
More informationAlgorithms Exam TIN093/DIT600
Algorithms Exam TIN093/DIT600 Course: Algorithms Course code: TIN 093 (CTH), DIT 600 (GU) Date, time: 22nd October 2016, 14:00 18:00 Building: M Responsible teacher: Peter Damaschke, Tel. 5405 Examiner:
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 information! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance.
Algorithm Design Patterns and Anti-Patterns Chapter 8 NP and Computational Intractability Algorithm design patterns. Ex.! Greed. O(n log n) interval scheduling.! Divide-and-conquer. O(n log n) FFT.! Dynamic
More informationImproving Coq Propositional Reasoning Using a Lazy CNF Conversion
Using a Lazy CNF Conversion Stéphane Lescuyer Sylvain Conchon Université Paris-Sud / CNRS / INRIA Saclay Île-de-France FroCoS 09 Trento 18/09/2009 Outline 1 Motivation and background Verifying an SMT solver
More informationTranslating Pseudo-Boolean Constraints into SAT
Journal on Satisfiability, Boolean Modeling and Computation 2 (2006) -25 Translating Pseudo-Boolean Constraints into SAT Niklas Eén Cadence Berkeley Labs, Berkeley, USA. Niklas Sörensson Chalmers University
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 information1. NUMBER SYSTEMS USED IN COMPUTING: THE BINARY NUMBER SYSTEM
1. NUMBER SYSTEMS USED IN COMPUTING: THE BINARY NUMBER SYSTEM 1.1 Introduction Given that digital logic and memory devices are based on two electrical states (on and off), it is natural to use a number
More informationThe log-support encoding of CSP into SAT
The log-support encoding of CSP into SAT Marco Gavanelli 1 Dept. of Engineering, Ferrara University, WWW home page: http://www.ing.unife.it/docenti/marcogavanelli/ Abstract. Various encodings have been
More informationCMPSCI611: The SUBSET-SUM Problem Lecture 18
CMPSCI611: The SUBSET-SUM Problem Lecture 18 We begin today with the problem we didn t get to at the end of last lecture the SUBSET-SUM problem, which we also saw back in Lecture 8. The input to SUBSET-
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 informationBoolean Satisfiability: The Central Problem of Computation
Boolean Satisfiability: The Central Problem of Computation Peter Kogge SAT Notre Dame CSE 34151: Theory of Computing: Fall 2017 Slide 1 (p. 299) SAT: Boolean Satisfiability wff: well-formed-formula constructed
More informationNP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions.
CS 787: Advanced Algorithms NP-Hardness Instructor: Dieter van Melkebeek We review the concept of polynomial-time reductions, define various classes of problems including NP-complete, and show that 3-SAT
More informationEffective Lower Bounding Techniques for Pseudo-Boolean Optimization
Effective Lower Bounding Techniques for Pseudo-Boolean Optimization Vasco M. Manquinho and João Marques-Silva IST/INESC-ID, Technical University of Lisbon, Portugal {vmm,jpms}@sat.inesc-id.pt Abstract
More informationChapter 8. NP and Computational Intractability. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 Algorithm Design Patterns and Anti-Patterns Algorithm design patterns.
More informationChapter 4. Combinational Logic
Chapter 4. Combinational Logic Tong In Oh 1 4.1 Introduction Combinational logic: Logic gates Output determined from only the present combination of inputs Specified by a set of Boolean functions Sequential
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 informationLecture 21: Other Reductions Steven Skiena. Department of Computer Science State University of New York Stony Brook, NY
Lecture 21: Other Reductions Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Problem of the Day Show that the Dense
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 informationEECS 203 Spring 2016 Lecture 8 Page 1 of 6
EECS 203 Spring 2016 Lecture 8 Page 1 of 6 Algorithms (3.1-3.3) Algorithms are a huge topic. In CSE we have 2 theory classes purely dedicated to algorithms (EECS 477 and EECS 586) and a number of classes
More informationAssignment 1 (concept): Solutions
CS10b Data Structures and Algorithms Due: Thursday, January 0th Assignment 1 (concept): Solutions Note, throughout Exercises 1 to 4, n denotes the input size of a problem. 1. (10%) Rank the following functions
More informationA Fast Arc Consistency Algorithm for n-ary Constraints
A Fast Arc Consistency Algorithm for n-ary Constraints Olivier Lhomme 1 and Jean-Charles Régin 2 1 ILOG, 1681, route des Dolines, 06560 Valbonne, FRANCE 2 Computing and Information Science, Cornell University,
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 informationIntroduction to the Analysis of Algorithms. Algorithm
Introduction to the Analysis of Algorithms Based on the notes from David Fernandez-Baca Bryn Mawr College CS206 Intro to Data Structures Algorithm An algorithm is a strategy (well-defined computational
More informationChapter 9 Graph Algorithms
Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures Chapter 9 Graph s 2 Definitions Definitions an undirected graph is a finite set
More information10/5/2016. Comparing Algorithms. Analyzing Code ( worst case ) Example. Analyzing Code. Binary Search. Linear Search
10/5/2016 CSE373: Data Structures and Algorithms Asymptotic Analysis (Big O,, and ) Steve Tanimoto Autumn 2016 This lecture material represents the work of multiple instructors at the University of Washington.
More information(a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are rational they can be written as the ratio of integers a 1
CS 70 Discrete Mathematics for CS Fall 2000 Wagner MT1 Sol Solutions to Midterm 1 1. (16 pts.) Theorems and proofs (a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are
More informationNP-Completeness. Algorithms
NP-Completeness Algorithms The NP-Completeness Theory Objective: Identify a class of problems that are hard to solve. Exponential time is hard. Polynomial time is easy. Why: Do not try to find efficient
More informationOn conflict driven clause learning a comparison between theory and practice
On conflict driven clause learning a comparison between theory and practice Konfliktdriven klausulinlärning en jämförelse mellan teori och praktik GUSTAV SENNTON gsennton@kth.se Master s Thesis within
More informationParallel Search for Boolean Optimization
Parallel Search for Boolean Optimization Ruben Martins, Vasco Manquinho, and Inês Lynce IST/INESC-ID, Technical University of Lisbon, Portugal {ruben,vmm,ines}@sat.inesc-id.pt Abstract. The predominance
More informationPolynomial Exact-3-SAT Solving Algorithm
Polynomial Eact-3-SAT Solving Algorithm Louis Coder louis@louis-coder.com December 0 Abstract In this document I want to introduce and eplain an algorithm that determines the solvability state (solvable
More informationChapter 9 Graph Algorithms
Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures 3 Definitions an undirected graph G = (V, E) is a
More information9.1 Cook-Levin Theorem
CS787: Advanced Algorithms Scribe: Shijin Kong and David Malec Lecturer: Shuchi Chawla Topic: NP-Completeness, Approximation Algorithms Date: 10/1/2007 As we ve already seen in the preceding lecture, two
More informationAnalysis of Algorithms. 5-Dec-16
Analysis of Algorithms 5-Dec-16 Time and space To analyze an algorithm means: developing a formula for predicting how fast an algorithm is, based on the size of the input (time complexity), and/or developing
More informationSteven Skiena. skiena
Lecture 22: Introduction to NP-completeness (1997) Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Among n people,
More informationTowards More Effective Unsatisfiability-Based Maximum Satisfiability Algorithms
Towards More Effective Unsatisfiability-Based Maximum Satisfiability Algorithms Joao Marques-Silva and Vasco Manquinho School of Electronics and Computer Science, University of Southampton, UK IST/INESC-ID,
More informationExact Algorithms Lecture 7: FPT Hardness and the ETH
Exact Algorithms Lecture 7: FPT Hardness and the ETH February 12, 2016 Lecturer: Michael Lampis 1 Reminder: FPT algorithms Definition 1. A parameterized problem is a function from (χ, k) {0, 1} N to {0,
More information