Minion: Fast, Scalable Constraint Solving. Ian Gent, Chris Jefferson, Ian Miguel
|
|
- Muriel Carpenter
- 5 years ago
- Views:
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
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 informationMinion: 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 informationView-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 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 informationSatisfiability Solvers
Satisfiability Solvers Part 1: Systematic Solvers 600.325/425 Declarative Methods - J. Eisner 1 Vars SAT solving has made some progress 100000 10000 1000 100 10 1 1960 1970 1980 1990 2000 2010 Year slide
More informationConstraint 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 informationSymmetry 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 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 informationExtending 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 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 informationImplementing 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 informationShort 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 informationModelling 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 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 informationSolving Constraint Satisfaction Problems by a SAT Solver
SAT Encodings Systems Summary Solving Constraint Satisfaction Problems by a SAT Solver Kobe University, JAPAN Osaka Workshop for Verification and Validation Feb 28, 2011 at AIST Amagasaki SAT Encodings
More 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 informationUnrestricted Nogood Recording in CSP search
Unrestricted Nogood Recording in CSP search George Katsirelos and Fahiem Bacchus Department of Computer Science, University Of Toronto, Toronto, Ontario, Canada [gkatsi,fbacchus]@cs.toronto.edu Abstract.
More 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 informationABC 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 informationA 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 informationBounded 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 informationSymmetries 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 informationExtending 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 informationPractical SAT Solving
Practical SAT Solving Lecture 5 Carsten Sinz, Tomáš Balyo May 23, 2016 INSTITUTE FOR THEORETICAL COMPUTER SCIENCE KIT University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz
More informationSAT 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 informationThis 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 informationYices 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 informationConstraint Satisfaction Problems
Constraint Satisfaction Problems Tuomas Sandholm Carnegie Mellon University Computer Science Department [Read Chapter 6 of Russell & Norvig] Constraint satisfaction problems (CSPs) Standard search problem:
More informationConstraint 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 informationSearch 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 informationComputer 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 informationExploring 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 informationDynamic 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 informationBoolean Satisfiability Solving Part II: DLL-based Solvers. Announcements
EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Part II: DLL-based Solvers Sanjit A. Seshia EECS, UC Berkeley With thanks to Lintao Zhang (MSR) Announcements Paper readings will be
More informationHeuristic 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 informationA 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 informationVirtual 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 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 informationHybrid 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 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 informationHySAT. what you can use it for how it works example from application domain final remarks. Christian Herde /12
CP2007: Presentation of recent CP solvers HySAT what you can use it for how it works example from application domain final remarks Christian Herde 25.09.2007 /2 What you can use it for Satisfiability checker
More informationImproved 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 informationZchaff: A fast SAT solver. Zchaff: A fast SAT solver
* We d like to build a complete decision procedure for SAT which is efficient. Generalized D-P-L algorithm: while (true) { if (! decide( )) /* no unassigned variables */ return (sat) while (! bcp ( ))
More informationA 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 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 informationSAT 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 informationExample: Map coloring
Today s s lecture Local Search Lecture 7: Search - 6 Heuristic Repair CSP and 3-SAT Solving CSPs using Systematic Search. Victor Lesser CMPSCI 683 Fall 2004 The relationship between problem structure and
More informationConstraint 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 informationDisjoint, 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 informationOn 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 informationWatching 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 informationOptimal 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 informationPipelining, 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 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 informationModelling 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 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 informationOverview 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 informationReduction 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 informationConstraint 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 informationProgram 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 informationCS2 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 informationSolving 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 informationNotes on Non-Chronologic Backtracking, Implication Graphs, and Learning
Notes on Non-Chronologic Backtracking, Implication Graphs, and Learning Alan J. Hu for CpSc 5 Univ. of British Columbia 00 February 9 These are supplementary notes on these aspects of a modern DPLL-style
More informationA 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 informationReliability 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 informationSet 5: Constraint Satisfaction Problems Chapter 6 R&N
Set 5: Constraint Satisfaction Problems Chapter 6 R&N ICS 271 Fall 2017 Kalev Kask ICS-271:Notes 5: 1 The constraint network model Outline Variables, domains, constraints, constraint graph, solutions Examples:
More informationlogistics: 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 informationConstraint 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 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 informationDIT411/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 informationA 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 informationProgram 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 informationOn 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 informationProcess. 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 information1 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 informationUsing 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 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 informationProcess. 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 informationGenerating 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 informationConstraint 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 informationGeneral 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 informationUsing 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 informationMachine 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 information3. 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 informationStatic 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 informationSAT/SMT Solvers and Applications
SAT/SMT Solvers and Applications University of Waterloo Winter 2013 Today s Lecture Lessons learnt so far Implementation-related attacks (control-hazard, malware,...) Program analysis techniques can detect
More informationIntegrating 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 informationSolving 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 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 information6.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 informationIncrementally 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 informationCS 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 informationAnnouncements. 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 informationReduced 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 informationHotPy (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 informationversat: 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 informationData 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 informationLecture 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 informationSolving 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 informationHybrid 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