Minion: Fast, Scalable Constraint Solving. Ian Gent, Chris Jefferson, Ian Miguel

Size: px
Start display at page:

Download "Minion: Fast, Scalable Constraint Solving. Ian Gent, Chris Jefferson, Ian Miguel"

Transcription

1 Minion: Fast, Scalable Constraint Solving Ian Gent, Chris Jefferson, Ian Miguel 1

2 60 Second Introduction to CSPs Standard Definition A CSP is a tuple <V, D, C> V: list of variables D: a domain for each member of V C: set of constraints Solution: An assignment to each variable which satisfies all the constraints. 2

3 60 Second Introduction to CSPs Simple Example X {1, 2, 3}, Y {1, 2, 3}, Z {1, 2, 3} X < Y X + Y + Z > 6 A solution: X = 2, Y = 3, Z = 2 3

4 Solving CSPs Store list of values allowed for each variable. Branch on domains of variables. X=1 X 1 Propagation removes value from which are not part of a solution. Y=1 Y 1 4

5 Example X Y X<Y 5

6 Example X Y X<Y 5

7 Constraint Toolkits Most CP solvers are a toolkit: Designed to be linked to own program. Library of modelling/solving functions. Examples: ILOG Solver, Choco, Eclipse, Gecode. 6

8 Constraint Toolkits Toolkits provide a high level of customisation Write own search strategy, propagation,... Dynamically expand / rewrite problem during search to improve performance. Constraint toolkits very powerful in the hands of an expert. Complex flexible architecture gives rise to overheads. 7

9 Model and Run? To achieve widespread acceptance, Puget (designer of original ILOG Solver) advocates a model and run paradigm. Avoid need for customisation. Avoid reliance on fine-tuning. Just feed the solver a model and press go. Want a black-box solver. 8

10 Motivation: SAT Solvers SAT is a subset of CSP. Only Boolean variables. Each constraint a disjunction of literals e.g. x1 x2 x3. Most SAT solvers are highly optimised black boxes. 9

11 Black Box Solving Minion, an open source Constraint Solver. Optimised for solving large, hard problems. Number of design decisions inspired by SAT solver, such as zchaff. e.g. careful design of data structures. 10

12 Minion Limitations No dynamic variable ordering. No dynamic symmetry breaking. No adding / removing variables during search. No adding / removing constraints during search. No hybrids with other solvers. Quite a few bugs. But fixing them when they are found! 11

13 Benchmarks Minion vs. ILOG Solver 5.3 (6.3) Hardest instance tried. BIBD: 100 (2) times faster. Peg Solitaire: 10 (15) times faster. Steel Mill: Golomb: 50 (30) times faster. 1.8 (2.5) times faster. Quasigroup: 100 (200) times faster. At Quasigroup, MiniSAT 15 times faster than Minion 12

14 Minion Memory We wish to exploit cache-based architectures. Has been shown to pay dividends in SAT solvers. During initialisation all required backtrackable memory is re-arranged into one contiguous block: locality of reference Non-backtrackable data also stored together. 13

15 Minion Memory Information which must be backtracked Information not backtracked 14

16 Minion Memory Copy Stack of states On Branch 15

17 Minion Memory Copy On Branch 16

18 Minion Memory Copy On Backtrack 17

19 Minion Memory Leaving variables in a fixed location speeds up access Variables never move. At the moment, just copy all memory. Stupid, but copy is VERY quick. (New) using OS lazy copy-on-write. 18

20 Requirements of CSP Variables Quickly check & remove domain values Quickly check & change bounds Boolean domains Small domains Large domains 19

21 Storing Variables Storing any subset of [1..n] requires n bits. There are a number of ways of getting a better average case. Example: Series of bounds [1..5] [8..20] 20

22 Adjustable sized variables U V X Y Z Constraints 21

23 Adjustable sized variables U V X Y Z Constraints 22

24 Adjustable sized variables U V X Y Z Constraints 23

25 Minion Memory U V X Y Z Constraints Each variable takes a fixed sized block of memory. Constraints can point directly at the variables. No need for indirection. 24

26 Variables Rather than one best variable representation, Minion has multiple representations. User must choose between these. In the future, heuristics will choose. Special tricks for Booleans, bound variables and general domains. 25

27 Many Variable Types Implementing multiple variable types for one constraint: Abstract interface with variables chosen at run-time. Constraint Interface Slow. Variable 1 Variable 2 Variable 3 No inlining. 26

28 Different Variable Types Implementing multiple variable types for one constraint: Implement each constraint for each type of variable. Constraint for Variable1 Constraint for Variable2 Fast. Have to write too much. 27

29 Compile-time Interfaces Define a minimal interface and compile each constraint with each variable type. Compiler optimisation removes the interface. Allows most constraints to have a single implementation. Looking at assembler, often identical to specialised implementations. 28

30 Results and Discussion Minion performs well on the problems we have tried. Where is the gain? The search trees are the same. Purely from architectural advances. Could we tune the others to narrow the gap? Yes... but hardly model and run! 29

31 Present (and future) Minion now uses more from SAT solvers. Watched Literals in Minion (CP06) Two major areas: Learning (needs to be in Minion) Modelling (Solver independent?) Still a magnitude slower than SAT solvers in nodes/second. 30

32 Any Questions?

33 Adding New Features Do you really need it? Need to gain back the speed lost. Can the solver choose when it should be used? Avoid giving users choices they don t want. Can it be implemented without overhead when it is not used? Solver synthesis - exactly the Solver you want. 32

34

35 Boolean Variables Simplest kind of variable. Many problems have huge number of Booleans. Represent with two bits: Is Assigned Value Assigned 34

36 Boolean Variables Assigned True Assigned False Boolean Unassigned 35

37 Boolean Variables The assignment bit is not backtracked! Is Assigned Value Assigned If variable still assigned, has same value. If unassigned, value unused. 36

38 Booleans in Search 0 Value 0 Assigned Start of search. Value is set to a random value. Assigned = 0 37

39 Booleans in Search 1 Value 0 Search branches. The variable is assigned 1. 1 Value and Assigned bits both set. 38

40 Booleans in Search 1 Value 0 Search branches. The variable is assigned 1. 1 Value and Assigned bits both set. 1 Under this node, search leaves variable the same. 39

41 Booleans in Search 1 Value 0 Search branches. The variable is assigned 1. 1 Value and Assigned bits both set. 1 Under this node, search leaves variable the same. 40

42 Booleans in Search 1 Value 0 Search branches. The variable is assigned Value and Assigned bits both set. Under this node, search leaves variable the same. 41

43 Booleans in Search 1 Value 0 Search branches. The variable is assigned Value and Assigned bits both set. Under this node, search leaves variable the same. 42

44 Booleans in Search 1 Value 0 On backtrack here, Assigned set to 0. 1 Value will be ignored until Boolean is next assigned

45 Booleans in Search 1 Value

46 Booleans in Search 0 Value 0 Variable assigned 0. Assigned set to 1. Value set to

47 Booleans in Search 0 Value 0 Assigned reset on backtrack Value left alone. 1 0 Search continues

48 Results and Discussion Minion performs well on the problems we have tried. Where is the gain? The search trees are the same. Purely from architectural advances. Could we tune the others to narrow the gap? Yes... but hardly model and run! 47

49 Present (and future) Minion now uses more from SAT solvers. Watched Literals in Minion (CP06) Two major areas: Learning (needs to be in Minion) Modelling (Solver independent?) Still a magnitude slower than SAT solvers in nodes/second. 48

50 Any Questions?

51 Adding New Features Do you really need it? Need to gain back the speed lost. Can the solver choose when it should be used? Avoid giving users choices they don t want. Can it be implemented without overhead when it is not used? Solver synthesis - exactly the Solver you want. 50

52

53 Conclusions Removing the ability to dynamically change search is beneficial, both in simplicity and speed. Paying close attention to data structures pays off. Often the simplest algorithm is the fastest! Simple algorithms avoid the need for complex systems to speed them back up. 52

54 Booleans in Search 0 Value 0 Assigned Start of search. Value is set to a random value. Assigned = 0 53

55 Booleans in Search 1 Value 0 Search branches. The variable is assigned 1. 1 Value and Assigned bits both set. 54

56 Booleans in Search 1 Value 0 On backtrack here, Assigned set to 0. 1 Value will be ignored until Boolean is next assigned. 55

57 Booleans in Search 1 Value

58 Booleans in Search 0 Value Variable assigned 0. Assigned set to 1. Value set to

59 Booleans in Search 0 Value Assigned reset on backtrack Value left alone. Search continues

60 Minion Is Not... 59

61 Minion Is Not... Bug free. 59

62 Minion Is Not... Bug free. Able to hybrid with Linear Programming solvers. 59

63 Minion Is Not... Bug free. Able to hybrid with Linear Programming solvers. Able to add new variables or constraints during search. 59

64 Minion Is Not... Bug free. Able to hybrid with Linear Programming solvers. Able to add new variables or constraints during search. Able to change search strategy. 59

65 Minion Is Not... Bug free. Able to hybrid with Linear Programming solvers. Able to add new variables or constraints during search. Able to change search strategy. Designed to be easily extended and adjusted by users. 59

66 Bound Variables Store only the current upper and lower bounds. Very low memory requirements. Loss of information {1,3,5} [1.. 5] {1,2,3,4,5} Space / Time tradeoff. 60

67 Bound Variables Store only the current upper and lower bounds. Very low memory requirements. Loss of information {1,3,5} [1.. 5] {1,2,3,4,5} Space / Time tradeoff. In some problems, can prove only bounds needed! 60

68 Discrete Variables Use a Boolean array for domain values. Store upper and lower bounds for optimisation reasons Lower Upper 61

69 Discrete Variables Domain {1,2,3,4,5,6} Lower Upper 62

70 Discrete Variables Remove 3 from Domain Lower Upper 63

71 Discrete Variables Update Lower to Lower Upper 64

72 Discrete Variables Update Lower to Optimisation: Boolean array only valid between Lower and Upper. Lower Upper Gives fast bounds update. 65

73 Discrete Variables Have to move Lower until the first value in Domain is found LowerUpper 66

74 Minion Minion is a black-box constraint solver. Not designed to be extended per problem. New constraints and extensions have been added. Version for this paper about 3 man-months. Minion is up to 100x faster than ILOG Solver 5.3 Solver 6 faster on some problems, slower on others (don t know why...) 67

Why Should You Care? Writing a CSP Solver in 3 (or 4) Easy Lessons. Talk Aims. Why Should You Care? Not Talk Aims. Talk Aims

Why Should You Care? Writing a CSP Solver in 3 (or 4) Easy Lessons. Talk Aims. Why Should You Care? Not Talk Aims. Talk Aims Writing a CSP Solver in 3 (or 4) Easy Lessons Christopher Jefferson University of Oxford Why Should ou Care? Understanding how the solver works makes better models. Minion already imposes this on you,

More information

Minion: A Fast, Scalable, Constraint Solver 1

Minion: A Fast, Scalable, Constraint Solver 1 Minion: A Fast, Scalable, Constraint Solver 1 Ian P. Gent 2 and Chris Jefferson 3 and Ian Miguel 2 Abstract. We present Minion, a new constraint solver. Empirical results on standard benchmarks show orders

More information

View-based Propagator Derivation

View-based Propagator Derivation View-based Propagator Derivation Christian Schulte SCALE, KTH & SICS, Sweden joint work with: Guido Tack NICTA & Monash University, Australia Based on:. Christian Schulte, Guido Tack. Constraints 18(1),

More information

Hybrid Constraint Solvers

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

Constraint Programming

Constraint Programming Constraint Programming - An overview Examples, Satisfaction vs. Optimization Different Domains Constraint Propagation» Kinds of Consistencies Global Constraints Heuristics Symmetries 7 November 0 Advanced

More information

Symmetry Detection and Exploitation in Constraint Programmi

Symmetry Detection and Exploitation in Constraint Programmi Symmetry Detection and Exploitation in Constraint Programming June, 008 Constraint Programming Constraint Programming Symmetries What is constraint programming? Constraint Programming Constraint Programming

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

Extending Simple Tabular Reduction with Short Supports

Extending Simple Tabular Reduction with Short Supports Extending Simple Tabular Reduction with Short Supports Christopher Jefferson, Peter Nightingale School of Computer Science, University of St Andrews, St Andrews, Fife KY16 9SX, UK {caj21,pwn1}@st-andrews.ac.uk

More information

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

Implementing Logical Connectives in Constraint Programming

Implementing Logical Connectives in Constraint Programming Implementing Logical Connectives in Constraint Programming Christopher Jefferson, Neil CA Moore, Peter Nightingale, Karen E Petrie* * School of Computing, University of Dundee, Dundee DD1 4HN, UK email:

More information

Short and Long Supports for Constraint Propagation

Short and Long Supports for Constraint Propagation Journal of Artificial Intelligence Research 46 (2013) 1 45 Submitted 07/12; published 01/13 Short and Long Supports for Constraint Propagation Peter Nightingale Ian P. Gent Christopher Jefferson Ian Miguel

More information

Modelling with Constraints

Modelling with Constraints Masterclass Modelling with Constraints Part 1: Introduction Alan M Frisch Artificial Intelligence Group Dept of Computer Science University of York 12 December 2011 1 Motivation A modern generation of

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

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

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

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

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

ABC basics (compilation from different articles)

ABC basics (compilation from different articles) 1. AIG construction 2. AIG optimization 3. Technology mapping ABC basics (compilation from different articles) 1. BACKGROUND An And-Inverter Graph (AIG) is a directed acyclic graph (DAG), in which a node

More information

A CSP Search Algorithm with Reduced Branching Factor

A CSP Search Algorithm with Reduced Branching Factor A CSP Search Algorithm with Reduced Branching Factor Igor Razgon and Amnon Meisels Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105, Israel {irazgon,am}@cs.bgu.ac.il

More information

Bounded Model Checking with Parametric Data Structures

Bounded Model Checking with Parametric Data Structures Bounded Model Checking with Marc Herbstritt (joint work with Erika Ábrahám, Bernd Becker, Martin Steffen) www.avacs.org August 15 2006 4th International Workshop on Bounded Model Checking Context Automated

More information

Symmetries and Lazy Clause Generation

Symmetries and Lazy Clause Generation Proceedings of the Twenty-Second International Joint Conference on Artificial Intelligence Symmetries and Lazy Clause Generation Geoffrey Chu and Peter J. Stuckey NICTA and University of Melbourne {gchu,pjs}@csse.unimelb.edu.au

More information

Extending Simple Tabular Reduction with Short Supports. Christopher Jefferson, Peter Nightingale University of St Andrews

Extending Simple Tabular Reduction with Short Supports. Christopher Jefferson, Peter Nightingale University of St Andrews Extending Simple Tabular Reduction with Short Supports Christopher Jefferson, Peter Nightingale University of St Andrews Constraints, GAC Suppose we have finite-domain variables x 1, x 2, x 3 with domains

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

This is the search strategy that we are still using:

This is the search strategy that we are still using: About Search This is the search strategy that we are still using: function : if a solution has been found: return true if the CSP is infeasible: return false for in : if : return true return false Let

More information

Yices 1.0: An Efficient SMT Solver

Yices 1.0: An Efficient SMT Solver Yices 1.0: An Efficient SMT Solver SMT-COMP 06 Leonardo de Moura (joint work with Bruno Dutertre) {demoura, bruno}@csl.sri.com. Computer Science Laboratory SRI International Menlo Park, CA Yices: An Efficient

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

Constraint Modeling. with MiniZinc. Jakub Bulín. Department of CU Prague

Constraint Modeling. with MiniZinc. Jakub Bulín. Department of CU Prague Constraint Modeling with MiniZinc Jakub Bulín Department of Algebra @ CU Prague Table of contents 1. Intro & the theory part 2. An overview of MinZinc 3. Examples of constraint models 4. Learn more 1 In

More information

Search Strategy Simulation in Constraint Booleanization

Search Strategy Simulation in Constraint Booleanization Search Strategy Simulation in Constraint Booleanization Jinbo Huang Optimisation Research Group, NICTA and Research School of Computer Science, Australian National University Abstract Within the recently

More information

Computer Organization & Assembly Language Programming

Computer Organization & Assembly Language Programming Computer Organization & Assembly Language Programming CSE 2312 Lecture 11 Introduction of Assembly Language 1 Assembly Language Translation The Assembly Language layer is implemented by translation rather

More information

Exploring Performance Tradeoffs in a Sudoku SAT Solver CS242 Project Report

Exploring Performance Tradeoffs in a Sudoku SAT Solver CS242 Project Report Exploring Performance Tradeoffs in a Sudoku SAT Solver CS242 Project Report Hana Lee (leehana@stanford.edu) December 15, 2017 1 Summary I implemented a SAT solver capable of solving Sudoku puzzles using

More information

Dynamic Symmetry Breaking in Constraint Programming and Linear Programming Hybrids

Dynamic Symmetry Breaking in Constraint Programming and Linear Programming Hybrids Dynamic Symmetry Breaking in Constraint Programming and Linear Programming Hybrids Karen E. Petrie and Barbara Smith and Neil Yorke-Smith Abstract. Symmetry in Constraint Satisfaction Problems (CSPs) can

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

Heuristic Optimisation

Heuristic Optimisation Heuristic Optimisation Part 3: Classification of algorithms. Exhaustive search Sándor Zoltán Németh http://web.mat.bham.ac.uk/s.z.nemeth s.nemeth@bham.ac.uk University of Birmingham S Z Németh (s.nemeth@bham.ac.uk)

More information

A Fast and Simple Algorithm for Bounds Consistency of the AllDifferent Constraint

A Fast and Simple Algorithm for Bounds Consistency of the AllDifferent Constraint A Fast and Simple Algorithm for Bounds Consistency of the AllDifferent Constraint Alejandro Lopez-Ortiz 1, Claude-Guy Quimper 1, John Tromp 2, Peter van Beek 1 1 School of Computer Science 2 C WI University

More information

Virtual Memory. Kevin Webb Swarthmore College March 8, 2018

Virtual Memory. Kevin Webb Swarthmore College March 8, 2018 irtual Memory Kevin Webb Swarthmore College March 8, 2018 Today s Goals Describe the mechanisms behind address translation. Analyze the performance of address translation alternatives. Explore page replacement

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

Hybrid Set Domains to Strengthen Constraint Propagation and Reduce Symmetries

Hybrid Set Domains to Strengthen Constraint Propagation and Reduce Symmetries Hybrid Set Domains to Strengthen Constraint Propagation and Reduce Symmetries Andrew Sadler and Carmen Gervet IC Parc, Imperial College London, SW7 2AZ, U.K. {ajs2,cg6}@icparc.ic.ac.uk Abstract. In CP

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

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

Improved Exact Solver for the Weighted Max-SAT Problem

Improved Exact Solver for the Weighted Max-SAT Problem Adrian Faculty of Engineering and Computer Sciences Ulm University Adrian.Kuegel@uni-ulm.de Abstract Many exact Max-SAT solvers use a branch and bound algorithm, where the lower bound is calculated with

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

A Structure-Based Variable Ordering Heuristic for SAT. By Jinbo Huang and Adnan Darwiche Presented by Jack Pinette

A Structure-Based Variable Ordering Heuristic for SAT. By Jinbo Huang and Adnan Darwiche Presented by Jack Pinette A Structure-Based Variable Ordering Heuristic for SAT By Jinbo Huang and Adnan Darwiche Presented by Jack Pinette Overview 1. Divide-and-conquer for SAT 2. DPLL & variable ordering 3. Using dtrees for

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

SAT Solvers in the Context of Cryptography

SAT Solvers in the Context of Cryptography SAT Solvers in the Context of Cryptography v2.0 Presentation at Montpellier Mate Soos UPMC LIP6, PLANETE team INRIA, SALSA Team INRIA 10th of June 2010 Mate Soos (UPMC LIP6, PLANETE team SAT INRIA, solvers

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

Constraint Propagation: The Heart of Constraint Programming

Constraint Propagation: The Heart of Constraint Programming Constraint Propagation: The Heart of Constraint Programming Zeynep KIZILTAN Department of Computer Science University of Bologna Email: zeynep@cs.unibo.it URL: http://zeynep.web.cs.unibo.it/ What is it

More information

Disjoint, Partition and Intersection Constraints for Set and Multiset Variables

Disjoint, Partition and Intersection Constraints for Set and Multiset Variables Disjoint, Partition and Intersection Constraints for Set and Multiset Variables Christian Bessiere ½, Emmanuel Hebrard ¾, Brahim Hnich ¾, and Toby Walsh ¾ ¾ ½ LIRMM, Montpelier, France. Ö Ð ÖÑÑ Ö Cork

More information

On Search Strategies for Constraint-Based Bounded Model Checking. Michel RUEHER

On Search Strategies for Constraint-Based Bounded Model Checking. Michel RUEHER raft On Search Strategies for Constraint-Based Bounded Model Checking Michel RUEHER Joined work with Hélène Collavizza, Nguyen Le Vinh, Olivier Ponsini and Pascal Van Hentenryck University Nice Sophia-Antipolis

More information

Watching Clauses in Quantified Boolean Formulae

Watching Clauses in Quantified Boolean Formulae Watching Clauses in Quantified Boolean Formulae Andrew G D Rowley University of St. Andrews, Fife, Scotland agdr@dcs.st-and.ac.uk Abstract. I present a way to speed up the detection of pure literals and

More information

Optimal k-level Planarization and Crossing Minimization

Optimal k-level Planarization and Crossing Minimization Optimal k-level Planarization and Crossing Minimization Graeme Gange 1, Peter J. Stuckey 1, and Kim Marriott 2 1 Department of Computer Science and Software Engineering The University of Melbourne, Vic.

More information

Pipelining, Branch Prediction, Trends

Pipelining, Branch Prediction, Trends Pipelining, Branch Prediction, Trends 10.1-10.4 Topics 10.1 Quantitative Analyses of Program Execution 10.2 From CISC to RISC 10.3 Pipelining the Datapath Branch Prediction, Delay Slots 10.4 Overlapping

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

Modelling Equidistant Frequency Permutation Arrays: An Application of Constraints to Mathematics

Modelling Equidistant Frequency Permutation Arrays: An Application of Constraints to Mathematics Modelling Equidistant Frequency Permutation Arrays: An Application of Constraints to Mathematics Sophie Huczynska 2, Paul McKay 1, Ian Miguel 1 and Peter Nightingale 1 1 School of Computer Science, University

More information

Boolean Satisfiability: The Central Problem of Computation

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

Overview of Input/Output Mechanisms

Overview of Input/Output Mechanisms Overview of Input/Output Mechanisms Norman Matloff University of California, Davis \copyrigth{2001}, N. Matloff February 5, 2001 Contents 1 Introduction 1 2 Our Mythical Machine Architecture 2 3 I/O Ports

More information

Reduction of nite linear CSPs to SAT using dierent encod

Reduction of nite linear CSPs to SAT using dierent encod Reduction of nite linear CSPs to SAT using dierent encodings Mirko Stojadinovi mirkos@matf.bg.ac.rs Department of Computer Science Faculty of Mathematics University of Belgrade Fifth Workshop on Formal

More information

Constraint Satisfaction Problems. Chapter 6

Constraint Satisfaction Problems. Chapter 6 Constraint Satisfaction Problems Chapter 6 Constraint Satisfaction Problems A constraint satisfaction problem consists of three components, X, D, and C: X is a set of variables, {X 1,..., X n }. D is a

More information

Program Analysis and Constraint Programming

Program Analysis and Constraint Programming Program Analysis and Constraint Programming Joxan Jaffar National University of Singapore CPAIOR MasterClass, 18-19 May 2015 1 / 41 Program Testing, Verification, Analysis (TVA)... VS... Satifiability/Optimization

More information

CS2 Algorithms and Data Structures Note 10. Depth-First Search and Topological Sorting

CS2 Algorithms and Data Structures Note 10. Depth-First Search and Topological Sorting CS2 Algorithms and Data Structures Note 10 Depth-First Search and Topological Sorting In this lecture, we will analyse the running time of DFS and discuss a few applications. 10.1 A recursive implementation

More information

Solving Quantified Constraint Satisfaction Problems

Solving Quantified Constraint Satisfaction Problems Solving Quantified Constraint Satisfaction Problems Ian P. Gent Peter Nightingale Andrew Rowley School of Computer Science, University of St Andrews St Andrews, Fife, KY16 9SS, UK. {ipg,pn,agdr}@dcs.st-and.ac.uk

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

A Solver-Independent Platform for Modeling Constrained Objects Involving Discrete and Continuous Domains

A Solver-Independent Platform for Modeling Constrained Objects Involving Discrete and Continuous Domains A Solver-Independent Platform for Modeling Constrained Objects Involving Discrete and Continuous Domains Ricardo Soto 1,2 and Laurent Granvilliers 1 1 LINA, CNRS, Université de Nantes, France 2 Escuela

More information

Reliability of Computational Experiments on Virtualised Hardware

Reliability of Computational Experiments on Virtualised Hardware Reliability of Computational Experiments on Virtualised Hardware Ian P. Gent and Lars Kotthoff {ipg,larsko}@cs.st-andrews.ac.uk University of St Andrews arxiv:1110.6288v1 [cs.dc] 28 Oct 2011 Abstract.

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

logistics: ROP assignment

logistics: ROP assignment bug-finding 1 logistics: ROP assignment 2 2013 memory safety landscape 3 2013 memory safety landscape 4 different design points memory safety most extreme disallow out of bounds usually even making out-of-bounds

More information

Constraint Programming Models for Solitaire Battleships

Constraint Programming Models for Solitaire Battleships Constraint Programming Models for Solitaire Battleships Barbara M. Smith Cork Constraint Computation Centre, University College Cork, Ireland b.smith@4c.ucc.ie November 9, 2006 Abstract. The Solitaire

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

DIT411/TIN175, Artificial Intelligence. Peter Ljunglöf. 30 January, 2018

DIT411/TIN175, Artificial Intelligence. Peter Ljunglöf. 30 January, 2018 DIT411/TIN175, Artificial Intelligence Chapter 7: Constraint satisfaction problems CHAPTER 7: CONSTRAINT SATISFACTION PROBLEMS DIT411/TIN175, Artificial Intelligence Peter Ljunglöf 30 January, 2018 1 TABLE

More information

A Pearl on SAT Solving in Prolog

A Pearl on SAT Solving in Prolog Funded by EPSRC grants EP/E033106 and EP/E034519 and a Royal Society Industrial Fellowship FLOPS 10, Sendai, 21st April Introduction SAT solving: DPLL with watched literals Stability tests in fixpoint

More information

Program Testing via Symbolic Execution

Program Testing via Symbolic Execution Program Testing via Symbolic Execution Daniel Dunbar Program Testing via Symbolic Execution p. 1/26 Introduction Motivation Manual testing is difficult Program Testing via Symbolic Execution p. 2/26 Introduction

More information

On Meaning Preservation of a Calculus of Records

On Meaning Preservation of a Calculus of Records On Meaning Preservation of a Calculus of Records Emily Christiansen and Elena Machkasova Computer Science Discipline University of Minnesota, Morris Morris, MN 56267 chri1101, elenam@morris.umn.edu Abstract

More information

Process. Memory Management

Process. Memory Management Process Memory Management One or more threads of execution Resources required for execution Memory (RAM) Program code ( text ) Data (initialised, uninitialised, stack) Buffers held in the kernel on behalf

More information

1 Motivation for Improving Matrix Multiplication

1 Motivation for Improving Matrix Multiplication CS170 Spring 2007 Lecture 7 Feb 6 1 Motivation for Improving Matrix Multiplication Now we will just consider the best way to implement the usual algorithm for matrix multiplication, the one that take 2n

More information

Using Multiple Machines to Solve Models Faster with Gurobi 6.0

Using Multiple Machines to Solve Models Faster with Gurobi 6.0 Using Multiple Machines to Solve Models Faster with Gurobi 6.0 Distributed Algorithms in Gurobi 6.0 Gurobi 6.0 includes 3 distributed algorithms Distributed concurrent LP (new in 6.0) MIP Distributed MIP

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

Process. One or more threads of execution Resources required for execution. Memory (RAM) Others

Process. One or more threads of execution Resources required for execution. Memory (RAM) Others Memory Management 1 Process One or more threads of execution Resources required for execution Memory (RAM) Program code ( text ) Data (initialised, uninitialised, stack) Buffers held in the kernel on behalf

More information

Generating Custom Propagators for Arbitrary Constraints

Generating Custom Propagators for Arbitrary Constraints *Manuscript Click here to view linked References 0 0 0 0 0 0 Generating Custom Propagators for Arbitrary Constraints Ian P. Gent a, Christopher Jefferson a, Steve Linton a, Ian Miguel a, Peter Nightingale

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems In which we see how treating states as more than just little black boxes leads to the invention of a range of powerful new search methods and a deeper understanding of

More information

General Methods and Search Algorithms

General Methods and Search Algorithms DM811 HEURISTICS AND LOCAL SEARCH ALGORITHMS FOR COMBINATORIAL OPTIMZATION Lecture 3 General Methods and Search Algorithms Marco Chiarandini 2 Methods and Algorithms A Method is a general framework for

More information

Using SAT for solving package dependencies. Michael Schröder Novell, Inc.

Using SAT for solving package dependencies. Michael Schröder Novell, Inc. Using SAT for solving package dependencies Michael Schröder Novell, Inc. What was wrong with the old solver Much too slow with bug repositories solving could take several minutes Complex code, many special

More information

Machine Learning based Compilation

Machine Learning based Compilation Machine Learning based Compilation Michael O Boyle March, 2014 1 Overview Machine learning - what is it and why is it useful? Predictive modelling OSE Scheduling and low level optimisation Loop unrolling

More information

3. Memory Management

3. Memory Management Principles of Operating Systems CS 446/646 3. Memory Management René Doursat Department of Computer Science & Engineering University of Nevada, Reno Spring 2006 Principles of Operating Systems CS 446/646

More information

Static Program Checking

Static Program Checking Bounded Verification Jalloy Automated Software Analysis Group, Institute of Theoretical Informatics Jun.-prof. Mana Taghdiri June 5, 2014 KIT University of the State of Baden-Wuerttemberg and National

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

Integrating Probabilistic Reasoning with Constraint Satisfaction

Integrating Probabilistic Reasoning with Constraint Satisfaction Integrating Probabilistic Reasoning with Constraint Satisfaction IJCAI Tutorial #7 Instructor: Eric I. Hsu July 17, 2011 http://www.cs.toronto.edu/~eihsu/tutorial7 Bottom Line Up Front (BLUF) Thesis: The

More information

Solving Problems by Searching: Constraint Satisfaction Problems

Solving Problems by Searching: Constraint Satisfaction Problems Course 16 :198 :520 : Introduction To Artificial Intelligence Lecture 6 Solving Problems by Searching: Constraint Satisfaction Problems Abdeslam Boularias Wednesday, October 19, 2016 1 / 1 Outline We consider

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

6.828: OS/Language Co-design. Adam Belay

6.828: OS/Language Co-design. Adam Belay 6.828: OS/Language Co-design Adam Belay Singularity An experimental research OS at Microsoft in the early 2000s Many people and papers, high profile project Influenced by experiences at

More information

Incrementally Maintaining Classification using an RDBMS. Presented by: Noah Golmant October 3, 2016

Incrementally Maintaining Classification using an RDBMS. Presented by: Noah Golmant October 3, 2016 Incrementally Maintaining Classification using an RDBMS Presented by: Noah Golmant October 3, 2016 HAZY An end-to-end system for imprecision management Goals: Integrate classification models into run-time

More information

CS 188: Artificial Intelligence Fall 2008

CS 188: Artificial Intelligence Fall 2008 CS 188: Artificial Intelligence Fall 2008 Lecture 4: CSPs 9/9/2008 Dan Klein UC Berkeley Many slides over the course adapted from either Stuart Russell or Andrew Moore 1 1 Announcements Grading questions:

More information

Announcements. CS 188: Artificial Intelligence Fall Large Scale: Problems with A* What is Search For? Example: N-Queens

Announcements. CS 188: Artificial Intelligence Fall Large Scale: Problems with A* What is Search For? Example: N-Queens CS 188: Artificial Intelligence Fall 2008 Announcements Grading questions: don t panic, talk to us Newsgroup: check it out Lecture 4: CSPs 9/9/2008 Dan Klein UC Berkeley Many slides over the course adapted

More information

Reduced branching-factor algorithms for constraint satisfaction problems

Reduced branching-factor algorithms for constraint satisfaction problems Reduced branching-factor algorithms for constraint satisfaction problems Igor Razgon and Amnon Meisels Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105, Israel {irazgon,am}@cs.bgu.ac.il

More information

HotPy (2) Binary Compatible High Performance VM for Python. Mark Shannon

HotPy (2) Binary Compatible High Performance VM for Python. Mark Shannon HotPy (2) Binary Compatible High Performance VM for Python Mark Shannon Who am I? Mark Shannon PhD thesis on building VMs for dynamic languages During my PhD I developed: GVMT. A virtual machine tool kit

More information

versat: A Verified Modern SAT Solver

versat: A Verified Modern SAT Solver Computer Science, The University of Iowa, USA Satisfiability Problem (SAT) Is there a model for the given propositional formula? Model: assignments to the variables that makes the formula true. SAT if

More information

Data Structures for Generalised Arc Consistency for Extensional Constraints

Data Structures for Generalised Arc Consistency for Extensional Constraints Data Structures for Generalised Arc Consistency for Etensional Constraints Ian P. Gent, Chris Jefferson, Ian Miguel, and Peter Nightingale School of Computer Science, University of St Andrews, Fife, KY6

More information

Lecture 18. Questions? Monday, February 20 CS 430 Artificial Intelligence - Lecture 18 1

Lecture 18. Questions? Monday, February 20 CS 430 Artificial Intelligence - Lecture 18 1 Lecture 18 Questions? Monday, February 20 CS 430 Artificial Intelligence - Lecture 18 1 Outline Chapter 6 - Constraint Satisfaction Problems Path Consistency & Global Constraints Sudoku Example Backtracking

More information

Solving XCSP problems by using Gecode

Solving XCSP problems by using Gecode Solving XCSP problems by using Gecode Massimo Morara, Jacopo Mauro, and Maurizio Gabbrielli University of Bologna. morara jmauro gabbri@cs.unibo.it Abstract. Gecode is one of the most efficient libraries

More information

Hybrid solvers for the Boolean Satisfiability problem: an exploration

Hybrid solvers for the Boolean Satisfiability problem: an exploration Rowan University Rowan Digital Works Theses and Dissertations 12-12-2012 Hybrid solvers for the Boolean Satisfiability problem: an exploration Nicole Nelson Follow this and additional works at: http://rdw.rowan.edu/etd

More information