An Introduction to CP

Size: px
Start display at page:

Download "An Introduction to CP"

Transcription

1 An Introduction to CP

2 CP = A technique to solve CSPs and COPs CSP = Constraint Satisfaction Problem COP = Constraint Optimization Problem It. Problema di Soddisfacimento/Ottimizzazione di/con Vincoli A declarative approach Model & then solve (a bit like MIP) Model = variables + constraints Rich set of constraints (much more than linear in-equalities) Is it worth learning?

3 Netherlands railways: 5,500 trains per day In 2009: timetable complete redesign (OR and CP) Less delay, more trains, profit increase: ~\$75M

4 Port of Singapore: > 200 shipping lines, > 600 connected ports Problem: yard location assignment, loading plans For years, the Yard planning system (CP based) assisted the job

5 Rosetta-Philae mission In 2014, first (partially successful) probe landing on a Comet Probe-spacecraft communication pre-scheduled via CP

6 A few reasons for using CP: Rich modeling language Fast prototyping Easy to maintain (modifications are simple) Extensible (new constraints, customizable search...) Very good framework for hybrid approaches Overall: It's a good solution technique! Especially for messy, real-world, problems

7 Before we tackle complex stuff Let's take our first steps...

8 4 available colors, different colors for contiguous regions How would you solve it?

9 4 available colors, different colors for contiguous regions Pick and color a region Pick another region, choose a compatible color Rinse & repeat

10 4 available colors, different colors for contiguous regions Eventually we find something like this

11 Think of that as "Poor's man sudoku" Different numbers (1 to 4) on rows and columns 2 4 How would you solve it?

12 Think of that as "Poor's man sudoku" Different numbers (1 to 4) on rows and columns 2 4 Pick a cell, insert compatible value Rinse & repeat

13 Think of that as "Poor's man sudoku" Different numbers (1 to 4) on rows and columns What now?

14 Think of that as "Poor's man sudoku" Different numbers on rows and columns Clear one of more moves Restart to insert numbers

15 Think of that as "Poor's man sudoku" Different numbers on rows and columns Eventually, we find something like this

16 You see? There is a pattern. We reason on the constraints to narrow down the possible choice We make (and unmake) some choices The core ideas in Constraint Programming are the same! To the point that for many people: CP = constraint reasoning + search

17 You see? There is a pattern. We reason on the constraints to narrow down the possible choice We make (and unmake) some choices The core ideas in Constraint Programming are the same! But I am not many people! I think this formula is much better: CP = model + constraint reasoning + search CP is a declarative approach, remember? So it all starts with a declarative model In the next slides we will focus on each of the three aspects

18 CP = model +...

19 First, we need to define the kind of problem we are interested in: where: is a set of variables is a single variable In principle: any kind of variable! is a set of domains takes values in is a set of constraints

20 Constraint scope (Italian: ambito) A constraint is defined over a subset of of the variables is called the scope of the constraint Tuple A tuple or arity is just a sequence of values Relation Let be a sequence of sets A relation over is a subset of the Cartesian product. I.e.:

21 Constraint A constraint is a relation over the domains of. I.e.: Here's the main idea: A tuple in the Cartesian product = an assignment of the variables A constraint is just a list of feasible assignments A bit abstract, so let's make an example

22 Variables: Domains:, Constraints:

23 A solution for a CSP is an assignment of all the variables that is feasible for all constraints. Formally: where: is the projection of over = sequence of values assigned by to variables in

24 A solution for a CSP is an assignment of all the variables that is feasible for all constraints. Formally: The solutions in our example:,,, A CSP with no solution is called infeasible.

25 Any kind of domain?

26 Any kind of domain? In practice: Integer variables Real variables Set variables! (e.g. ) Graph variables!... In this course: Strong emphasis on finite, integer domains The most studied case

27 Any kind of constraints?

28 Any kind of constraints? With finite domain variables, yes! We can actually list all the feasible assignments This is called extensional representation Very general Possibly inconvenient and inefficient (large domains) We may prefer a symbolic or intensional representation: More compact, more clear, less general

29 Intensional forms are made possible by Constraint libraries Constraint library = collection of constraint types Our first constraint library: Equality: Notation: Semantic: satisfied if is equal to Disequality: Notation: Semantic: satisfied if is not equal to

30 Variables and domains:, for each region Constraints: if region and are contiguous

31 2 4 Variables and domains:, for each cell = row index, = column index Constraints:

32 2 4 Variables and domains:, for each cell = row index, = column index Constraints: is cell is pre-filled with value

33 CP = model + constraint reasoning +...

34 2 4 We would never put a there (not compatible) Can we formalize this deduction? Main idea: reason on the domains

35 2 4

36 2 4 1 The only possible value for is 1

37 Filtering for = removing provably infeasible values from the domains of the variables in the constraint scope Alternative terms: pruning, propagation My convention: Pruning = the act of removing a single value Filtering = the process that guides pruning Propagation = later! Italian: propagation = propagazione

38 Filtering for = removing provably infeasible values from the domains of the variables in the constraint scope For constraints in extensional form: General methods (we will see them later) For constraints in intensional form: Specialized filtering algorithms Those are specified in the constraint library Alternative names: filtering rules, propagators

39 Equality constraint: Rule 1: Rule 2: Examples: Before filtering: After filtering:

40 Disequality constraint: Rule 1: Rule 2: Examples: Before filtering: After filtering:

41 2 4 All original domains are Let's filter all the constraints in order By row and then column

42 1 2 4 Constraint prunes 2 from

43 Constraint prunes 2 from

44 Constraints and prune a lot

45 By filtering all constraints in order, we get this Can we do more?

46 Yep: and are now singletons Hence, our filtering rules for the constraints can be triggered If we do, we can filter more

47 Propagation = the process by which filtering from one constraint may enable filtering from another constraint Propagation is controlled by a propagation algorithm

48 Algorithm: AC1 dirty = true while dirty: dirty = false for : if : dirty = true Where is a procedure that: Given the current variable domains......applies the filtering algorithm of......and then returns the updated domains

49 AC1 always converges to a fix point, which is independent on the constraint processing order. Proof: We will prove the result in two steps: First, we show that AC1 always terminates......when no more pruning can be done Second, we show that the processing order does not matter The proof relies on some properties of

50 The function filter( ) is inflationary, i.e.: True because a filtering algorithm can only remove domains values Caveat: Technically, is inflationary w.r.t. the order Hence, the term may sound a bit misleading Consequence: AC1 always terminates In the worst case, when becomes empty

51 The function is monotone, i.e.: True because removing a value from : can only reduce the number of feasible assignments and hence increase the number of values that can be pruned Consequence: the processing order of Whenever a filtering algorithms prunes something......the other algorithms just become stronger does not matter

52 Fix point: what's the point? To relax!

53 Thanks to the fix point theorem: Fix point: what's the point? To relax! We can focus on filtering and let the propagation algorithm handle the rest

54 Warning: the constraint processing order does not affect the fix point does affect the number of AC1 iterations Some orders may be more efficient Can we determine the optimal order? Interesting (and challenging) research question NP-hard in general

55 If we apply AC1 to our PLS

56 If we apply AC1 to our PLS We get this (we pruned a lot!)......and still we don't have a solution :-(

57 CP = model + constraint reasoning + search

58 In general, filtering and propagation are not enough to solve a CSP We still need to search for a solution In fact solving a CSP is NP-hard No surprise, since the definition is so general... Don't forget that: Most of the interesting problems out there are NP-hard!

59 The simplest search approach in CP is Depth First Search: function : if a solution has been found: return true if the CSP is infeasible: return false for in : if : return true return false

60 The simplest search approach in CP is Depth First Search: If the problem is infeasible: return false If a solution has been found: return true Otherwise, build a set of "decisions": Try to apply a decision If successful return true Othewise, backtrack Un-make the last decision Try with the next one If no decision is successful, return false (the problem is infeasible)

61 The simplest search approach in CP is Depth First Search: function : if a solution has been found: return true if the CSP is infeasible: return false for in : if : return true return false In our pseudo-code, backtracks are handled via recursion. In practice, this may be quite inefficient......we'll discuss this point again much later in the course

62 The simplest search approach in CP is Depth First Search: function : if a solution has been found: return true if the CSP is infeasible: return false for in : if : return true return false Unclear points: How to detect if a problem is infeasible? What are the decisions returned by? What does it mean to "apply a decision"?

63 Q1: How to detect if a problem is infeasible? A problem is infeasible if we have a domain wipeout Domain wipeout = empty domain, because of propagation This is a sufficient condition This is not a necessary condition I.e. if there is wipeout, then the problem is infeasible But infeasibility may hold even if there is not wipeout More on this later!

64 Q2: What are the decisions returned by? They are constraints! For example: We pick the first unbound variable Unbound variable = variable with non-singleton domain We pick the smallest value in Our decisions are and There are many more options, but for now let us stick to this.

65 Q: What does it mean to "apply a decision"? It means: Adding (posting) the constraint to the problem Triggering its filtering algorithm for the first time Remember: on backtrack, the constraint must be removed.

66 First unbound variable = Minimum value = 1 We post, and the propagate

67 First unbound variable = Minimum value = 1 We post, and the propagate

68 And we have a solution! With just one search decision! This result is enabled by the use of constraint reasoning

69 A Modeling Excercise

70 Giani, Piero, Marisa e Luisanna, sono quattro (stagionati) abitanti di un piccolo paesello del centro Italia. I quattro sono legati da distanti (ma indiscutibili) legami di parentela e pertanto, come vuole il buon costume, di tanto in tanto per le occasioni si scambiano regali. I quattro non è che vadano proprio d amore e d accordo e così, un po per scherzo ed un po per dispetto, da qualche anno continuano a regalarsi le stesse chincaglierie Nella fattispecie, le chincaglierie sono: una riproduzione in vetro di una conchiglia tropicale, una vecchia clessidra, una lampada in fibre ottiche (di quelle pelose) ed una statuetta a forma di cavalluccio marino.

71 Siamo al terzo anno in cui le cianfrusaglie devono essere scambiate e finora non ci sono stati incidenti diplomatici. All indomani dell inizio del quarto anno, Gianni deve ancora fare il suo regalo, torturato dal timore essere il primo a scatenare uno scandalo. Il poveretto ripensa con preoccupazione agli scambi a cui ha partecipato: Il primo anno, Gianni aveva in casa la conghiglia, che ha regalato a Marisa. Lo stesso anno, Marisa ha regalato a Gianni la lampada. Il secondo anno, Gianni ha regalato la lampada a Piero ed ha ricevuto in dono da Luisanna la clessidra.

72 Fortunatamente, Gianni è venuto a conoscenza tramite suo nipote di una nuova metodologia che si chiama Programmazione a Vincoli, che pare possa aiutarlo a risolvere i suoi problemi... Si modelli il problema dello scambio dei regali tramite Programmazione a Vincoli e si indichi a quale persona Gianni potrà regalare la clessidra senza scatenare una bagarre.

73 Si tratta di un Partial Latin Square problem un po camuffato. Una possibile soluzione consiste nell introdurre una variabile per ogni persona e per ogni anno (incluso il quarto!):

74 Ogni anno, ogni persona possiede esattamente un oggetto: Nessuno può possedere lo stesso oggetto due volte: Alcuni scambi sono noti:

75 Esiste una sola soluzione feasible: Gianni: conchiglia lampada clessidra statuetta Piero: clessidra statuetta lampada conchiglia Marisa: lampada conchiglia statuetta clessidra Luisanna: statuetta clessidra conchiglia lampada Pertanto, Gianni deve regalare la clessidra a Marisa se vuole evitare lo scandalo

Classical Planning: Limits

Classical Planning: Limits Classical Planning: Limits Spacecraft Domain Spacecraft Domain Extensions Time Resources Constraints Uncertainty Utility Model Temporal Interval Relations Interval Algebra (aka Allen Algebra) [Allen 83]

More information

MW MOC SUPPORTING AND TROUBLESHOOTING WINDOWS 10

MW MOC SUPPORTING AND TROUBLESHOOTING WINDOWS 10 MW10-3 - MOC 10982 - SUPPORTING AND TROUBLESHOOTING WINDOWS 10 Categoria: Windows 10 INFORMAZIONI SUL CORSO Durata: Categoria: Qualifica Istruttore: Dedicato a: Produttore: 5 Giorni Windows 10 Microsoft

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

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

CS 4100 // artificial intelligence

CS 4100 // artificial intelligence CS 4100 // artificial intelligence instructor: byron wallace Constraint Satisfaction Problems Attribution: many of these slides are modified versions of those distributed with the UC Berkeley CS188 materials

More information

Constraint Satisfaction

Constraint Satisfaction Constraint Satisfaction Philipp Koehn 1 October 2015 Outline 1 Constraint satisfaction problems (CSP) examples Backtracking search for CSPs Problem structure and problem decomposition Local search for

More information

Constraint Programming. Marco Kuhlmann & Guido Tack Lecture 1

Constraint Programming. Marco Kuhlmann & Guido Tack Lecture 1 Constraint Programming Marco Kuhlmann & Guido Tack Lecture 1 Welcome! Where am I? Constraint Programming advanced course in Computer Science 6 credit points lecture (2 hours) + lab (2 hours) http://www.ps.uni-sb.de/courses/cp-ss07/

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

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 5. Constraint Satisfaction Problems CSPs as Search Problems, Solving CSPs, Problem Structure Wolfram Burgard, Bernhard Nebel, and Martin Riedmiller Albert-Ludwigs-Universität

More information

3 No-Wait Job Shops with Variable Processing Times

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

MW MOC INSTALLING AND CONFIGURING WINDOWS 10

MW MOC INSTALLING AND CONFIGURING WINDOWS 10 MW10-4 - MOC 20698 - INSTALLING AND CONFIGURING WINDOWS 10 Categoria: Windows 10 INFORMAZIONI SUL CORSO Durata: Categoria: Qualifica Istruttore: Dedicato a: Produttore: 5 Giorni Windows 10 Microsoft Certified

More information

We ve studied the main models and concepts of the theory of computation:

We ve studied the main models and concepts of the theory of computation: CMPSCI 601: Summary & Conclusions Lecture 27 We ve studied the main models and concepts of the theory of computation: Computability: what can be computed in principle Logic: how can we express our requirements

More information

Constraint (Logic) Programming

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

Constraint Satisfaction. AI Slides (5e) c Lin

Constraint Satisfaction. AI Slides (5e) c Lin Constraint Satisfaction 4 AI Slides (5e) c Lin Zuoquan@PKU 2003-2018 4 1 4 Constraint Satisfaction 4.1 Constraint satisfaction problems 4.2 Backtracking search 4.3 Constraint propagation 4.4 Local search

More information

Constraint Satisfaction Problems. Chapter 6

Constraint Satisfaction Problems. Chapter 6 Constraint Satisfaction Problems Chapter 6 Office hours Office hours for Assignment 1 (ASB9810 in CSIL): Sep 29th(Fri) 12:00 to 13:30 Oct 3rd(Tue) 11:30 to 13:00 Late homework policy You get four late

More information

Lecture 6: Constraint Satisfaction Problems (CSPs)

Lecture 6: Constraint Satisfaction Problems (CSPs) Lecture 6: Constraint Satisfaction Problems (CSPs) CS 580 (001) - Spring 2018 Amarda Shehu Department of Computer Science George Mason University, Fairfax, VA, USA February 28, 2018 Amarda Shehu (580)

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

Mathematical Programming Formulations, Constraint Programming

Mathematical Programming Formulations, Constraint Programming Outline DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 3 Mathematical Programming Formulations, Constraint Programming 1. Special Purpose Algorithms 2. Constraint Programming Marco Chiarandini DM87 Scheduling,

More information

MTH4410 Constraint Programming. Merci à Willem-Jan van Hoeve, CMU.

MTH4410 Constraint Programming. Merci à Willem-Jan van Hoeve, CMU. MTH4410 Constraint Programming Merci à Willem-Jan van Hoeve, CMU. Outline Successful Applications Modeling Solving Some details global constraints scheduling Integrated methods (MIP+CP) Constraint Programming

More information

10/11/2017. Constraint Satisfaction Problems II. Review: CSP Representations. Heuristic 1: Most constrained variable

10/11/2017. Constraint Satisfaction Problems II. Review: CSP Representations. Heuristic 1: Most constrained variable //7 Review: Constraint Satisfaction Problems Constraint Satisfaction Problems II AIMA: Chapter 6 A CSP consists of: Finite set of X, X,, X n Nonempty domain of possible values for each variable D, D, D

More information

CSE 473: Artificial Intelligence

CSE 473: Artificial Intelligence CSE 473: Artificial Intelligence Constraint Satisfaction Luke Zettlemoyer Multiple slides adapted from Dan Klein, Stuart Russell or Andrew Moore What is Search For? Models of the world: single agent, deterministic

More information

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 7 Dr. Ted Ralphs ISE 418 Lecture 7 1 Reading for This Lecture Nemhauser and Wolsey Sections II.3.1, II.3.6, II.4.1, II.4.2, II.5.4 Wolsey Chapter 7 CCZ Chapter 1 Constraint

More information

The Tractability of Global Constraints

The Tractability of Global Constraints The Tractability of Global Constraints Christian Bessiere ½, Emmanuel Hebrard ¾, Brahim Hnich ¾, and Toby Walsh ¾ ¾ ½ LIRMM-CNRS, Montpelier, France. bessiere@lirmm.fr Cork Constraint Computation Center,

More information

Module 4. Constraint satisfaction problems. Version 2 CSE IIT, Kharagpur

Module 4. Constraint satisfaction problems. Version 2 CSE IIT, Kharagpur Module 4 Constraint satisfaction problems Lesson 10 Constraint satisfaction problems - II 4.5 Variable and Value Ordering A search algorithm for constraint satisfaction requires the order in which variables

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Constraint Satisfaction Problems Marc Toussaint University of Stuttgart Winter 2015/16 (slides based on Stuart Russell s AI course) Inference The core topic of the following lectures

More information

Scientific Programming. Backtracking

Scientific Programming. Backtracking Scientific Programming Backtracking Alberto Montresor Università di Trento 2018/12/15 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Table of contents

More information

What is Search For? CSE 473: Artificial Intelligence. Example: N-Queens. Example: N-Queens. Example: Map-Coloring 4/7/17

What is Search For? CSE 473: Artificial Intelligence. Example: N-Queens. Example: N-Queens. Example: Map-Coloring 4/7/17 CSE 473: Artificial Intelligence Constraint Satisfaction Dieter Fox What is Search For? Models of the world: single agent, deterministic actions, fully observed state, discrete state space Planning: sequences

More information

Constraint Satisfaction Problems

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

CS 188: Artificial Intelligence. Recap: Search

CS 188: Artificial Intelligence. Recap: Search CS 188: Artificial Intelligence Lecture 4 and 5: Constraint Satisfaction Problems (CSPs) Pieter Abbeel UC Berkeley Many slides from Dan Klein Recap: Search Search problem: States (configurations of the

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Robert Platt Northeastern University Some images and slides are used from: 1. AIMA What is a CSP? The space of all search problems states and actions are atomic goals are

More information

Name: UW CSE 473 Midterm, Fall 2014

Name: UW CSE 473 Midterm, Fall 2014 Instructions Please answer clearly and succinctly. If an explanation is requested, think carefully before writing. Points may be removed for rambling answers. If a question is unclear or ambiguous, feel

More information

Artificial Intelligence Constraint Satisfaction Problems

Artificial Intelligence Constraint Satisfaction Problems Artificial Intelligence Constraint Satisfaction Problems Recall Search problems: Find the sequence of actions that leads to the goal. Sequence of actions means a path in the search space. Paths come with

More information

Outline. Best-first search

Outline. Best-first search Outline Best-first search Greedy best-first search A* search Heuristics Local search algorithms Hill-climbing search Beam search Simulated annealing search Genetic algorithms Constraint Satisfaction Problems

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Chapter 5 Chapter 5 1 Outline CSP examples Backtracking search for CSPs Problem structure and problem decomposition Local search for CSPs Chapter 5 2 Constraint satisfaction

More information

Announcements. Homework 4. Project 3. Due tonight at 11:59pm. Due 3/8 at 4:00pm

Announcements. Homework 4. Project 3. Due tonight at 11:59pm. Due 3/8 at 4:00pm Announcements Homework 4 Due tonight at 11:59pm Project 3 Due 3/8 at 4:00pm CS 188: Artificial Intelligence Constraint Satisfaction Problems Instructor: Stuart Russell & Sergey Levine, University of California,

More information

Announcements. CS 188: Artificial Intelligence Spring Production Scheduling. Today. Backtracking Search Review. Production Scheduling

Announcements. CS 188: Artificial Intelligence Spring Production Scheduling. Today. Backtracking Search Review. Production Scheduling CS 188: Artificial Intelligence Spring 2009 Lecture : Constraint Satisfaction 2/3/2009 Announcements Project 1 (Search) is due tomorrow Come to office hours if you re stuck Today at 1pm (Nick) and 3pm

More information

Consistency and Set Intersection

Consistency and Set Intersection Consistency and Set Intersection Yuanlin Zhang and Roland H.C. Yap National University of Singapore 3 Science Drive 2, Singapore {zhangyl,ryap}@comp.nus.edu.sg Abstract We propose a new framework to study

More information

MSCE-11 - MOC HYBRID CLOUD AND DATACENTER MONITORING WITH OPERATIONS MANAGEMENT SUITE (OMS)

MSCE-11 - MOC HYBRID CLOUD AND DATACENTER MONITORING WITH OPERATIONS MANAGEMENT SUITE (OMS) MSCE-11 - MOC 10996 - HYBRID CLOUD AND DATACENTER MONITORING WITH OPERATIONS MANAGEMENT SUITE (OMS) Categoria: System Center INFORMAZIONI SUL CORSO Durata: Categoria: Qualifica Istruttore: Dedicato a:

More information

Automatic Creation of Define.xml for ADaM

Automatic Creation of Define.xml for ADaM Automatic Creation of Define.xml for ADaM Alessia Sacco, Statistical Programmer www.valos.it info@valos.it 1 Indice Define.xml Pinnacle 21 Community Valos ADaM Metadata 2 Define.xml Cos è: Case Report

More information

Artificial Intelligence

Artificial Intelligence Torralba and Wahlster Artificial Intelligence Chapter 8: Constraint Satisfaction Problems, Part I 1/48 Artificial Intelligence 8. CSP, Part I: Basics, and Naïve Search What to Do When Your Problem is to

More information

Constraint Satisfaction Problems. slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig, Jean-Claude Latombe

Constraint Satisfaction Problems. slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig, Jean-Claude Latombe Constraint Satisfaction Problems slides from: Padhraic Smyth, Bryan Low, S. Russell and P. Norvig, Jean-Claude Latombe Standard search problems: State is a black box : arbitrary data structure Goal test

More information

Finite State Verification. CSCE Lecture 14-02/25/2016

Finite State Verification. CSCE Lecture 14-02/25/2016 Finite State Verification CSCE 747 - Lecture 14-02/25/2016 So, You Want to Perform Verification... You have a property that you want your program to obey. Great! Let s write some tests! Does testing guarantee

More information

Games and Adversarial Search II Alpha-Beta Pruning (AIMA 5.3)

Games and Adversarial Search II Alpha-Beta Pruning (AIMA 5.3) Games and Adversarial Search II Alpha-Beta Pruning (AIMA 5.) Some slides adapted from Richard Lathrop, USC/ISI, CS 7 Review: The Minimax Rule Idea: Make the best move for MAX assuming that MIN always replies

More information

Map Colouring. Constraint Satisfaction. Map Colouring. Constraint Satisfaction

Map Colouring. Constraint Satisfaction. Map Colouring. Constraint Satisfaction Constraint Satisfaction Jacky Baltes Department of Computer Science University of Manitoba Email: jacky@cs.umanitoba.ca WWW: http://www4.cs.umanitoba.ca/~jacky/teaching/cour ses/comp_4190- ArtificialIntelligence/current/index.php

More information

Safe Stratified Datalog With Integer Order Does not Have Syntax

Safe Stratified Datalog With Integer Order Does not Have Syntax Safe Stratified Datalog With Integer Order Does not Have Syntax Alexei P. Stolboushkin Department of Mathematics UCLA Los Angeles, CA 90024-1555 aps@math.ucla.edu Michael A. Taitslin Department of Computer

More information

Announcements. CS 188: Artificial Intelligence Fall 2010

Announcements. CS 188: Artificial Intelligence Fall 2010 Announcements Project 1: Search is due Monday Looking for partners? After class or newsgroup Written 1: Search and CSPs out soon Newsgroup: check it out CS 188: Artificial Intelligence Fall 2010 Lecture

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Chapter 5 Section 1 3 Constraint Satisfaction 1 Outline Constraint Satisfaction Problems (CSP) Backtracking search for CSPs Local search for CSPs Constraint Satisfaction

More information

Midterm solutions. n f 3 (n) = 3

Midterm solutions. n f 3 (n) = 3 Introduction to Computer Science 1, SE361 DGIST April 20, 2016 Professors Min-Soo Kim and Taesup Moon Midterm solutions Midterm solutions The midterm is a 1.5 hour exam (4:30pm 6:00pm). This is a closed

More information

Week - 04 Lecture - 01 Merge Sort. (Refer Slide Time: 00:02)

Week - 04 Lecture - 01 Merge Sort. (Refer Slide Time: 00:02) Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 04 Lecture - 01 Merge Sort (Refer

More information

Architettura Database Oracle

Architettura Database Oracle Architettura Database Oracle Shared Pool La shared pool consiste di: Data dictionary: cache che contiene informazioni relative agli oggetti del databse, lo storage ed i privilegi Library cache: contiene

More information

Tecniche di Progettazione: Design Patterns

Tecniche di Progettazione: Design Patterns Tecniche di Progettazione: Design Patterns GoF: Decorator 1 Decorator Intent Attach additional responsibilities to an object dynamically. Decorators provide a flexible alternative to subclassing for extending

More information

Module 4. Constraint satisfaction problems. Version 2 CSE IIT, Kharagpur

Module 4. Constraint satisfaction problems. Version 2 CSE IIT, Kharagpur Module 4 Constraint satisfaction problems 4.1 Instructional Objective The students should understand the formulation of constraint satisfaction problems Given a problem description, the student should

More information

An Efficient Arc Consistency Algorithm for a Class of CSP Problems

An Efficient Arc Consistency Algorithm for a Class of CSP Problems An Efficient Arc Consistency Algorithm for a Class of CSP Problems Yves Deville* University of Namur, 21 rue Grandgagnage B-5000 Namur (Belgium) Email: yde@infoiundp.ac.be Pascal Van Hentenryck Brown University,

More information

Announcements. CS 188: Artificial Intelligence Fall Reminder: CSPs. Today. Example: 3-SAT. Example: Boolean Satisfiability.

Announcements. CS 188: Artificial Intelligence Fall Reminder: CSPs. Today. Example: 3-SAT. Example: Boolean Satisfiability. CS 188: Artificial Intelligence Fall 2008 Lecture 5: CSPs II 9/11/2008 Announcements Assignments: DUE W1: NOW P1: Due 9/12 at 11:59pm Assignments: UP W2: Up now P2: Up by weekend Dan Klein UC Berkeley

More information

CS 188: Artificial Intelligence Fall 2008

CS 188: Artificial Intelligence Fall 2008 CS 188: Artificial Intelligence Fall 2008 Lecture 5: CSPs II 9/11/2008 Dan Klein UC Berkeley Many slides over the course adapted from either Stuart Russell or Andrew Moore 1 1 Assignments: DUE Announcements

More information

Constraint Satisfaction Problems (CSPs)

Constraint Satisfaction Problems (CSPs) Constraint Satisfaction Problems (CSPs) CPSC 322 CSP 1 Poole & Mackworth textbook: Sections 4.0-4.2 Lecturer: Alan Mackworth September 28, 2012 Problem Type Static Sequential Constraint Satisfaction Logic

More information

AUTOMATED REASONING. Agostino Dovier. Udine, October 1, Università di Udine CLPLAB

AUTOMATED REASONING. Agostino Dovier. Udine, October 1, Università di Udine CLPLAB AUTOMATED REASONING Agostino Dovier Università di Udine CLPLAB Udine, October 1, 2018 AGOSTINO DOVIER (CLPLAB) AUTOMATED REASONING UDINE, OCTOBER 1, 2018 1 / 28 COURSE PLACEMENT International Master Degree

More information

Esempio con Google Play tore Example with Google Play tore

Esempio con Google Play tore Example with Google Play tore Guida all installazione ed uso dell App VR Tour Camerata Picena Per installare l App occorre aprire lo Store del vostro smartphone (Play Store o App Store) e cercare l App con parola chiave Camerata Picena.

More information

Tecniche di Progettazione: Design Patterns

Tecniche di Progettazione: Design Patterns Tecniche di Progettazione: Design Patterns GoF: Decorator 1 An example 2 Your first idea of implementation 3 In reality 4 Now a beverage can be mixed from different condiment to form a new beverage 5 6

More information

Chapter 6 Constraint Satisfaction Problems

Chapter 6 Constraint Satisfaction Problems Chapter 6 Constraint Satisfaction Problems CS5811 - Artificial Intelligence Nilufer Onder Department of Computer Science Michigan Technological University Outline CSP problem definition Backtracking search

More information

CS 188: Artificial Intelligence Fall 2011

CS 188: Artificial Intelligence Fall 2011 Announcements Project 1: Search is due next week Written 1: Search and CSPs out soon Piazza: check it out if you haven t CS 188: Artificial Intelligence Fall 2011 Lecture 4: Constraint Satisfaction 9/6/2011

More information

CS 188: Artificial Intelligence. What is Search For? Constraint Satisfaction Problems. Constraint Satisfaction Problems

CS 188: Artificial Intelligence. What is Search For? Constraint Satisfaction Problems. Constraint Satisfaction Problems CS 188: Artificial Intelligence Constraint Satisfaction Problems Constraint Satisfaction Problems N variables domain D constraints x 1 x 2 Instructor: Marco Alvarez University of Rhode Island (These slides

More information

LP-Modelling. dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven. January 30, 2008

LP-Modelling. dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven. January 30, 2008 LP-Modelling dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven January 30, 2008 1 Linear and Integer Programming After a brief check with the backgrounds of the participants it seems that the following

More information

Finite State Verification. CSCE Lecture 21-03/28/2017

Finite State Verification. CSCE Lecture 21-03/28/2017 Finite State Verification CSCE 747 - Lecture 21-03/28/2017 So, You Want to Perform Verification... You have a property that you want your program to obey. Great! Let s write some tests! Does testing guarantee

More information

Outline. Best-first search

Outline. Best-first search Outline Best-first search Greedy best-first search A* search Heuristics Local search algorithms Hill-climbing search Beam search Simulated annealing search Genetic algorithms Constraint Satisfaction Problems

More information

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 43 Dynamic Binding (Polymorphism): Part III Welcome to Module

More information

What is Search For? CS 188: Artificial Intelligence. Constraint Satisfaction Problems

What is Search For? CS 188: Artificial Intelligence. Constraint Satisfaction Problems CS 188: Artificial Intelligence Constraint Satisfaction Problems What is Search For? Assumptions about the world: a single agent, deterministic actions, fully observed state, discrete state space Planning:

More information

Today. CS 188: Artificial Intelligence Fall Example: Boolean Satisfiability. Reminder: CSPs. Example: 3-SAT. CSPs: Queries.

Today. CS 188: Artificial Intelligence Fall Example: Boolean Satisfiability. Reminder: CSPs. Example: 3-SAT. CSPs: Queries. CS 188: Artificial Intelligence Fall 2007 Lecture 5: CSPs II 9/11/2007 More CSPs Applications Tree Algorithms Cutset Conditioning Today Dan Klein UC Berkeley Many slides over the course adapted from either

More information

MWS3-2 - MOC INSTALLATION, STORAGE AND COMPUTE WITH WINDOWS SERVER 2016

MWS3-2 - MOC INSTALLATION, STORAGE AND COMPUTE WITH WINDOWS SERVER 2016 MWS3-2 - MOC 20740 - INSTALLATION, STORAGE AND COMPUTE WITH WINDOWS SERVER 2016 Categoria: Windows Server 2016 INFORMAZIONI SUL CORSO Durata: Categoria: Qualifica Istruttore: Dedicato a: Produttore: 5

More information

Chapter 8: Deadlocks. The Deadlock Problem

Chapter 8: Deadlocks. The Deadlock Problem Chapter 8: Deadlocks System Model Deadlock Characterization Methods for Handling Deadlocks Deadlock Prevention Deadlock Avoidance Deadlock Detection Recovery from Deadlock Combined Approach to Deadlock

More information

EXAM Computer Science 1 Part 1

EXAM Computer Science 1 Part 1 Maastricht University Faculty of Humanities and Science Department of Knowledge Engineering EXAM Computer Science 1 Part 1 Block 1.1: Computer Science 1 Code: KEN1120 Examiner: Kurt Driessens Date: Januari

More information

Decomposable Constraints

Decomposable Constraints Decomposable Constraints Ian Gent 1, Kostas Stergiou 2, and Toby Walsh 3 1 University of St Andrews, St Andrews, Scotland. ipg@dcs.st-and.ac.uk 2 University of Strathclyde, Glasgow, Scotland. ks@cs.strath.ac.uk

More information

Constraint Satisfaction Problems (CSP)

Constraint Satisfaction Problems (CSP) Constraint Satisfaction Problems (CSP) (Where we postpone making difficult decisions until they become easy to make) R&N: Chap. 5 1 What we will try to do... Search techniques make choices in an often

More information

Company Profile 2017

Company Profile 2017 Company Profile 2017 Industrial integrated IoT Solution Provider Leading network attached storage provider Unique Electronic Manufacturing Service Intelligent Medical System Provider Leading Automation

More information

Announcements. Homework 1: Search. Project 1: Search. Midterm date and time has been set:

Announcements. Homework 1: Search. Project 1: Search. Midterm date and time has been set: Announcements Homework 1: Search Has been released! Due Monday, 2/1, at 11:59pm. On edx online, instant grading, submit as often as you like. Project 1: Search Has been released! Due Friday 2/5 at 5pm.

More information

A proof-producing CSP solver: A proof supplement

A proof-producing CSP solver: A proof supplement A proof-producing CSP solver: A proof supplement Report IE/IS-2010-02 Michael Veksler Ofer Strichman mveksler@tx.technion.ac.il ofers@ie.technion.ac.il Technion Institute of Technology April 12, 2010 Abstract

More information

Combinational Circuits Digital Logic (Materials taken primarily from:

Combinational Circuits Digital Logic (Materials taken primarily from: Combinational Circuits Digital Logic (Materials taken primarily from: http://www.facstaff.bucknell.edu/mastascu/elessonshtml/eeindex.html http://www.cs.princeton.edu/~cos126 ) Digital Systems What is a

More information

The problem: given N, find all solutions of queen sets and return either the number of solutions and/or the patterned boards.

The problem: given N, find all solutions of queen sets and return either the number of solutions and/or the patterned boards. N-ueens Background Problem surfaced in 1848 by chess player Ma Bezzel as 8 queens (regulation board size) Premise is to place N queens on N N board so that they are non-attacking A queen is one of si different

More information

Propagate the Right Thing: How Preferences Can Speed-Up Constraint Solving

Propagate the Right Thing: How Preferences Can Speed-Up Constraint Solving Propagate the Right Thing: How Preferences Can Speed-Up Constraint Solving Christian Bessiere Anais Fabre* LIRMM-CNRS (UMR 5506) 161, rue Ada F-34392 Montpellier Cedex 5 (bessiere,fabre}@lirmm.fr Ulrich

More information

(Refer Slide Time: 00:51)

(Refer Slide Time: 00:51) Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute Technology, Madras Module 10 E Lecture 24 Content Example: factorial

More information

CS 343: Artificial Intelligence

CS 343: Artificial Intelligence CS 343: Artificial Intelligence Constraint Satisfaction Problems Prof. Scott Niekum The University of Texas at Austin [These slides are based on those of Dan Klein and Pieter Abbeel for CS188 Intro to

More information

UNIT 4 Branch and Bound

UNIT 4 Branch and Bound UNIT 4 Branch and Bound General method: Branch and Bound is another method to systematically search a solution space. Just like backtracking, we will use bounding functions to avoid generating subtrees

More information

Artificial Intelligence

Artificial Intelligence Torralba and Wahlster Artificial Intelligence Chapter 8: Constraint Satisfaction Problems, Part I 1/48 Artificial Intelligence 8. CSP, Part I: Basics, and Naïve Search What to Do When Your Problem is to

More information

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION CHAPTER 5 SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION Alessandro Artale UniBZ - http://www.inf.unibz.it/ artale/ SECTION 5.5 Application: Correctness of Algorithms Copyright Cengage Learning. All

More information

Chapter 10 Part 1: Reduction

Chapter 10 Part 1: Reduction //06 Polynomial-Time Reduction Suppose we could solve Y in polynomial-time. What else could we solve in polynomial time? don't confuse with reduces from Chapter 0 Part : Reduction Reduction. Problem X

More information

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Ramin Zabih Computer Science Department Stanford University Stanford, California 94305 Abstract Bandwidth is a fundamental concept

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 Getting Started Discursive Remarks. Organizational

More information

6.001 Notes: Section 4.1

6.001 Notes: Section 4.1 6.001 Notes: Section 4.1 Slide 4.1.1 In this lecture, we are going to take a careful look at the kinds of procedures we can build. We will first go back to look very carefully at the substitution model,

More information

Some basic set theory (and how it relates to Haskell)

Some basic set theory (and how it relates to Haskell) Some basic set theory (and how it relates to Haskell) John Longley School of Informatics University of Edinburgh jrl@inf.ed.ac.uk Inf1-FP guest lecture 25 September 2017 1 / 17 Sets Intuitively, a set

More information

COMP 410 Lecture 1. Kyle Dewey

COMP 410 Lecture 1. Kyle Dewey COMP 410 Lecture 1 Kyle Dewey About Me I research automated testing techniques and their intersection with CS education My dissertation used logic programming extensively This is my second semester at

More information

CS W4701 Artificial Intelligence

CS W4701 Artificial Intelligence CS W4701 Artificial Intelligence Fall 2013 Chapter 6: Constraint Satisfaction Problems Jonathan Voris (based on slides by Sal Stolfo) Assignment 3 Go Encircling Game Ancient Chinese game Dates back At

More information

This is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS

This is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS 1 THE FORMALIZATION OF MATHEMATICS by Harvey M. Friedman Ohio State University Department of Mathematics friedman@math.ohio-state.edu www.math.ohio-state.edu/~friedman/ May 21, 1997 Can mathematics be

More information

Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5

Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 [talking head] This lecture we study theory design and implementation. Programmers have two roles to play here. In one role, they

More information

Announcements. CS 188: Artificial Intelligence Spring Today. A* Review. Consistency. A* Graph Search Gone Wrong

Announcements. CS 188: Artificial Intelligence Spring Today. A* Review. Consistency. A* Graph Search Gone Wrong CS 88: Artificial Intelligence Spring 2009 Lecture 4: Constraint Satisfaction /29/2009 John DeNero UC Berkeley Slides adapted from Dan Klein, Stuart Russell or Andrew Moore Announcements The Python tutorial

More information

Laboratorio di Sistemi Software Design Patterns 2

Laboratorio di Sistemi Software Design Patterns 2 TITLE Laboratorio di Sistemi Software Design Patterns 2 Luca Padovani (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Tipi di Design Patterns Creazionali, strutturali, comportamentali Design Patterns

More information

MITOCW watch?v=kz7jjltq9r4

MITOCW watch?v=kz7jjltq9r4 MITOCW watch?v=kz7jjltq9r4 PROFESSOR: We're going to look at the most fundamental of all mathematical data types, namely sets, and let's begin with the definitions. So informally, a set is a collection

More information

Model Driven Engineering : Basic Concepts

Model Driven Engineering : Basic Concepts Model Driven Engineering : Basic Concepts Lesson 3 Model to Text Transformations : ACCELEO Guglielmo De Angelis CNR - IASI / ISTI guglielmo.deangelis@isti.cnr.it model transformation MMM model transformation

More information

Constraint Satisfaction Problems. A Quick Overview (based on AIMA book slides)

Constraint Satisfaction Problems. A Quick Overview (based on AIMA book slides) Constraint Satisfaction Problems A Quick Overview (based on AIMA book slides) Constraint satisfaction problems What is a CSP? Finite set of variables V, V 2,, V n Nonempty domain of possible values for

More information

(Refer Slide Time: 1:27)

(Refer Slide Time: 1:27) Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 1 Introduction to Data Structures and Algorithms Welcome to data

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Last update: February 25, 2010 Constraint Satisfaction Problems CMSC 421, Chapter 5 CMSC 421, Chapter 5 1 Outline CSP examples Backtracking search for CSPs Problem structure and problem decomposition Local

More information