Solving Problems by Searching: Constraint Satisfaction Problems

Similar documents
Constraint Satisfaction. AI Slides (5e) c Lin

Foundations of Artificial Intelligence

Constraint Satisfaction Problems

Chapter 6 Constraint Satisfaction Problems

Moving to a different formalism... SEND + MORE MONEY

Constraint Satisfaction Problems

Constraint Satisfaction Problems

Constraint Satisfaction Problems

Australia Western Australia Western Territory Northern Territory Northern Australia South Australia South Tasmania Queensland Tasmania Victoria

Constraint Satisfaction Problems

Constraint Satisfaction Problems

Lecture 6: Constraint Satisfaction Problems (CSPs)

Constraint Satisfaction Problems. Chapter 6

Week 8: Constraint Satisfaction Problems

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

Constraint Satisfaction Problems. Chapter 6

ARTIFICIAL INTELLIGENCE (CS 370D)

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

Constraint Satisfaction Problems Part 2

Constraint Satisfaction Problems

CONSTRAINT SATISFACTION

CS 771 Artificial Intelligence. Constraint Satisfaction Problem

Reading: Chapter 6 (3 rd ed.); Chapter 5 (2 nd ed.) For next week: Thursday: Chapter 8

Constraint Satisfaction Problems

Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on Artificial Intelligence,

Artificial Intelligence Constraint Satisfaction Problems

Constraint Satisfaction

Constraint Satisfaction. CS 486/686: Introduction to Artificial Intelligence

Artificial Intelligence

Artificial Intelligence

Constraints. CSC 411: AI Fall NC State University 1 / 53. Constraints

Constraint Satisfaction Problems

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

Constraint Satisfaction Problems (CSPs) Introduction and Backtracking Search

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

CONSTRAINT SATISFACTION

Constraint satisfaction problems. CS171, Winter 2018 Introduction to Artificial Intelligence Prof. Richard Lathrop

Outline. Best-first search

Example: Map-Coloring. Constraint Satisfaction Problems Western Australia. Example: Map-Coloring contd. Outline. Constraint graph

Artificial Intelligence

Constraint Satisfaction Problems (CSPs)

CS 188: Artificial Intelligence Fall 2011

Outline. Best-first search

CMU-Q Lecture 7: Searching in solution space Constraint Satisfaction Problems (CSPs) Teacher: Gianni A. Di Caro

Constraint Satisfaction Problems

CSE 473: Artificial Intelligence

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

Constraint Satisfaction Problems

CS 188: Artificial Intelligence Fall 2008

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

Announcements. CS 188: Artificial Intelligence Fall 2010

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

Discussion Section Week 1

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

DIT411/TIN175, Artificial Intelligence. Peter Ljunglöf. 6 February, 2018

CS 343: Artificial Intelligence

Spezielle Themen der Künstlichen Intelligenz

AI Fundamentals: Constraints Satisfaction Problems. Maria Simi

Space of Search Strategies. CSE 573: Artificial Intelligence. Constraint Satisfaction. Recap: Search Problem. Example: Map-Coloring 11/30/2012

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

CS 4100 // artificial intelligence

CS 188: Artificial Intelligence Fall 2011

CS 188: Artificial Intelligence. Recap: Search

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

Constraint satisfaction search. Combinatorial optimization search.

Iterative improvement algorithms. Today. Example: Travelling Salesperson Problem. Example: n-queens

CS W4701 Artificial Intelligence

Artificial Intelligence

Announcements. Reminder: CSPs. Today. Example: N-Queens. Example: Map-Coloring. Introduction to Artificial Intelligence

Game theory (Ch. 17.5)

CS 4100/5100: Foundations of AI

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

General Methods and Search Algorithms

Artificial Intelligence

CONSTRAINT SATISFACTION

Constraint Satisfaction Problems. Some material from: D Lin, J You, JC Latombe

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

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

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

CS 188: Artificial Intelligence Fall 2008

CS 188: Artificial Intelligence Spring Announcements

G53CLP Constraint Logic Programming

Recap: Search Problem. CSE 473: Artificial Intelligence. Space of Search Strategies. Constraint Satisfaction. Example: N-Queens 4/9/2012

CS 188: Artificial Intelligence Spring Announcements

Comments about assign 1. Quick search recap. Constraint Satisfaction Problems (CSPs) Search uninformed BFS, DFS, IDS. Adversarial search

Constraint Satisfaction Problems

Constraint Satisfaction Problems

Material. Thought Question. Outline For Today. Example: Map-Coloring EE562 ARTIFICIAL INTELLIGENCE FOR ENGINEERS

Introduction. 2D1380 Constraint Satisfaction Problems. Outline. Outline. Earlier lectures have considered search The goal is a final state

Constraint Satisfaction Problems

Constraint Satisfaction Problems

Mathematical Programming Formulations, Constraint Programming

Constraint satisfaction search

Lecture 9 Arc Consistency

Set 5: Constraint Satisfaction Problems

Announcements. CS 188: Artificial Intelligence Spring Today. Example: Map-Coloring. Example: Cryptarithmetic.

Example: Map coloring

Today. Introduction to Artificial Intelligence COMP 3501 / COMP Lecture 5. Constraint Satisfaction Problems (CSP) CSP Definition

Constraint Satisfaction Problems (CSP)

Map Colouring. Constraint Satisfaction. Map Colouring. Constraint Satisfaction

Transcription:

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 problems where a state is defined as a set of constraints. We show that treating states as more than just black boxes leads to an improved performance of search algorithms. 1 Definitions and examples 2 Inference in Constraint Satisfaction Problems (CSPs) 3 Backtracking search for CSPs. 2 / 1

Constraint Satisfaction Problems (CSPs) We consider problems where a state is defined as a set of constraints. We show that treating states as more than just black boxes leads to an improved performance of search algorithms. A constraint satisfaction problem consists of three components X : a set of variables {X 1,..., X n }. D : a set of domains {D 1,..., D n }, where D i is the domain of variable X i (i.e. X i D i ). C : a set of constraints that specify which combinations of values are allowed. 3 / 1

Constraint Satisfaction Problems (CSPs) To solve a CSP, we need to define the state space State : an assignment of values to some or all of the variables. Consistent assignment : an assignment that does not violate any constraints. Partial assignment : an assignment to some of the variables. Complete assignment : an assignment to all of the variables. Solution : a consistent complete assignment. 4 / 1

Example of CSPs : Map coloring Four color theorem (Appel and Haken, 1976) Given any separation of a plane into contiguous regions, no more than four colors are required to color the regions of the map so that no two adjacent regions have the same color. Problem Given a map and a set of colors, assign a color to each region so that no two adjacent regions have the same color. A four-coloring of a map of the states of the United States (Copyright Wikimedia Commons) 5 / 1

Example Example : coloring the map of Australia X = {W A, NT, Q, NSW, V, SA, T }. D i = {red, green, blue}. C = {SA W A, SA NT, SA Q, SA NSW, SA V, W A NT, NT Q, Q NSW, NSW V }. Constraint graphs are helpful for visualizing a CSP Nodes of the graph correspond to variables of the problem. A link connects any two variables that participate in a constraint. Western Australia Northern Territory South Australia Queensland New South Wales WA NT SA V Q NSW Victoria Tasmania T 6 / 1

Why formulate a problem as a CSP? CSPs yield a natural representation for a wide variety of problems, and there are several CSP solvers that can be used directly. CSP solvers can be faster than state space searchers because they can quickly eliminate large parts of the search space that violate some of the constraints. Example : After setting SA = {blue}, we immediately eliminate all states where blue is assigned to W A, NT, Q, NSW,or V. Consequently, we reduce the number of assignments from 3 5 to 2 5 (i.e. from 243 to 32) Western Australia Northern Territory South Australia Queensland New South Wales WA NT SA Q NSW V Victoria Tasmania T 7 / 1

Example of CSPs : Job-shop scheduling Car assembly scheduling Consider the problem of assembling a car, consisting of 15 tasks that must be performed in the following order : 1 install axles : front (Axle F ) and back (Axle B ), 10 minutes each, 2 affix all four wheels : right and left, front and back (W heel RF,W heel LF,W heel RB,W heel LB ), 1 minute each, 3 tighten nuts for each wheel (Nuts RF,Nuts LF,Nuts RB,Nuts LB ), 2 minutes each, 4 affix hubcaps (Cup RF,Cup LF,Cup RB,Cup LB ), 1 minute each, 5 and inspect the final assembly (Inspect), which takes 3 minutes. Problem Find when each task should be started in the time interval [0, 30] minutes. 8 / 1

Example of CSPs : Job-shop scheduling CSP formalization We represent the tasks with 15 variables : X ={Axle F,Axle B,W heel RF,W heel LF,W heel RB,W heel LB, Nuts RF,Nuts LF,Nuts RB,Nuts LB,Cup RF,Cup LF,Cup RB,Cup LB, Inspect}. Each variable indicates the starting time of the corresponding task. The domain of each variable is D i = [0, 27]. 9 / 1

Example of CSPs : Job-shop scheduling CSP formalization We have the following precedence constraints Axle F + 10 W heel RF ; Axle F + 10 W heel LF ; Axle B + 10 W heel RB ; Axle B + 10 W heel LB ; W heel RF + 1 Nuts RF ; Nuts RF + 2 Cap RF ; W heel LF + 1 Nuts LF ; Nuts LF + 2 Cap LF ; W heel RB + 1 Nuts RB ; Nuts RB + 2 Cap RB ; W heel LB + 1 Nuts LB ; Nuts LB + 2 Cap LB. Since the inspection should be the last task, we add a constraint X i + T i Inspect for each variable X i, where duration T i is the duration of task X i. A solution is an assignment of each variable to a value in D i = [0, 27] such that all the constraints above are satisfied. 10 / 1

Example of CSPs : Job-shop scheduling Suppose we have four workers to install wheels, but they have to share one tool that helps put the axle in place. Therefore, Axle F and Axle B tasks cannot overlap in time. How can we write this constraint? 11 / 1

Example of CSPs : Job-shop scheduling Suppose we have four workers to install wheels, but they have to share one tool that helps put the axle in place. Therefore, Axle F and Axle B tasks cannot overlap in time. How can we write this constraint? Disjunctive Constraints ( AxleF + 10 Axle B ) or ( AxleB + 10 Axle F ). 12 / 1

Linear programming A linear program is an optimization problem where the objective function is linear, and the variables are subject to linear inequalities. Example of a linear program Minimize Inspect such that X i X {Inspect} : X i + T i Inspect; Axle F + 10 W heel RF ; Axle F + 10 W heel LF ; Axle B + 10 W heel RB ; Axle B + 10 W heel LB ; W heel RF + 1 Nuts RF ; Nuts RF + 2 Cap RF ; W heel LF + 1 Nuts LF ; Nuts LF + 2 Cap LF ; W heel RB + 1 Nuts RB ; Nuts RB + 2 Cap RB ; W heel LB + 1 Nuts LB ; Nuts LB + 2 Cap LB. 13 / 1

Linear programming VS Constraint Satisfaction Problems Linear programming solves optimization problems. CSPs are not for optimization problems (we only look for a solution that satisfies all given constraints). Linear programming is limited to linear constraints. CSPs are not limited to linear constraints, they can also handle complex constraints on discrete variables (e.g., the 8-queens problem). 14 / 1

Example of CSPs : Crypt-arithmetic puzzle Each letter in a crypt-arithmetic puzzle represents a different digit (domain D i = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}). In this example, variables are {F, T, U, W, R, O, C 1, C 3, C 3 } where C i are auxiliary variables representing the digit carried over. Variables {F, T, U, W, R, O} should be all different, we can write this as Alldiff(F,T,U,W,R,O). + F T T O W W U O O R F T U W R C 3 C 2 C 1 O (a) (b) Constraint Hypergraph 15 / 1

Example of CSPs : Crypt-arithmetic puzzle The addition constraints can be written as O + O = R + 10C 1 C 1 + W + W = U + 10C 2 C 2 + T + T = O + 10C 3 C 3 = F + F T T O W W U O O R F T U W R C 3 C 2 C 1 O (a) (b) Constraint Hypergraph 16 / 1

Types of constraints Unary constraint : restricts the value of a variable. We can remove unary constraint by re-defining the domain of the corresponding variable. Binary constraint : a constraint on two variables (e.g., x y), represented by a graph. Global constraint : a constraint on more than two variables (e.g., x + y z), represented by a hypergraph. + F T T O W W U O O R F T U W R C 3 C 2 C 1 O (a) (b) Constraint Hypergraph 17 / 1

Types of constraints Any set of global constraints can be transformed to a set of binary variables. Hint : transform a constraint such as O + O = R + 10C 1 into binary constraints O + O = first(x) + 10second(x), first(x) = R, second(x) = C 1 CSP solvers are generally designed for binary constraints. We assume that our constraints are binary. + F T T O W W U O O R F T U W R C 3 C 2 C 1 O (a) (b) 18 / 1

Constraint propagation Constraint propagation : shrinking the domain of each variable based on the constraints. Results in a faster search (smaller number of values for each variable). Can be done as a preprocessing step before search starts, or during search. Works by forcing consistency : the values of a variable are reduced to a set that does not violate the constraints. There are several levels of consistency : 1 Node consistency 2 Arc consistency 3 Path consistency 4 K-consistency 19 / 1

CSP example : Sudoko A B C D E F G H I 1 2 3 4 5 6 7 8 9 3 2 6 9 3 5 1 1 8 6 4 8 1 2 9 7 8 6 7 8 2 2 6 9 5 8 2 3 9 5 1 3 A B C D E F G H I 1 2 3 4 5 6 7 8 9 4 8 3 9 2 1 6 5 7 9 6 7 3 4 5 8 2 1 2 5 1 8 7 6 4 9 3 5 4 8 1 3 2 9 7 6 7 2 9 5 6 4 1 3 8 1 3 6 7 9 8 2 4 5 3 7 2 6 8 9 5 1 4 8 1 4 2 5 3 7 6 9 6 9 5 4 1 7 3 8 2 (a) (b) 20 / 1

Node consistency A single variable (corresponding to a node in the CSP network) is node-consistent if all the values in the variable s domain satisfy the variable s unary constraints. Example : in the previous map-coloring problem, assume the color of SA (South Australia) should not be green. Then the domain of SA is reduced from {green, blue, red} to {blue, red}. A network is node-consistent if every variable in the network is node-consistent. Can be done in n operations, where n is the number of unary constraints. 21 / 1

Arc consistency A variable in a CSP is arc-consistent if every value in its domain satisfies the variable s binary constraints. X i is arc-consistent with respect to another variable X j if for every value in the current domain D i there is some value in the domain D j that satisfies the binary constraint on the arc (X i, X j ). A network is arc-consistent if every variable is arc consistent with every other variable. 22 / 1

Arc Consistency Example 1 Variables : X 1 and X 2. Domains : D 1 = D 2 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} (digits) Constraints : X 1 = X 2 To make X 1 arc-consistent with X 2, we need to change D 1 to {0, 1, 2, 3}. To make X 2 arc-consistent with X 1, we need to change D 2 to {0, 1, 4, 9}. Example 2 Forcing arc consistencies on the map-coloring example does not result in any modification. For example, the constraint SA W A can be satisfied by any value of SA in {green, blue, red}, and any value of W A in {green, blue, red} as long as SA W A. 23 / 1

Constraint Propagation: Inference in CSPs Arc consistency algorithm (AC-3) (Mackworth, 1977) function AC-3(csp) returns false if an inconsistency is found and true otherwise inputs: csp, a binary CSP with components (X, D, C) local variables: queue, a queue of arcs, initially all the arcs in csp while queue is not empty do (X i,x j ) REMOVE-FIRST(queue) if REVISE(csp, X i,x j ) then if size of D i = 0then return false for each X k in X i.neighbors - {X j } do add (X k,x i )toqueue return true function REVISE(csp, X i,x j ) returns true iff we revise the domain of X i revised false for each x in D i do if no value y in D j allows (x,y) to satisfy the constraint between X i and X j then delete x from D i revised true return revised 24 / 1

Arc consistency algorithm (AC-3) (Mackworth, 1977) AC-3 algorithm eventually stops when the domains of all variables are finite. Complexity : O(cd 3 ), where c is the number of constraints and d is the size of the largest domain. An arc can be inserted in the queue only d times. It takes d 2 operations to check the consistency of an arc. Arc consistency can be generalized to handle n-ary constraints. Replace values by tuples of values. 25 / 1

Path consistency Arc consistency can be useless in certain problems (map-coloring problem). Path consistency can do better by using implicit constraints that are inferred by looking at triples of variables. A two-variable set {X i, X j } is path-consistent with respect to a third variable X m if, for every assignment X i = a, X j = b consistent with the constraints on {X i, X j }, there is an assignment to X m that satisfies the constraints on {X i, X m } and {X m, X j }. Western Australia Northern Territory South Australia Queensland New South Wales WA NT SA Q NSW V Victoria Tasmania T 26 / 1

Path consistency Arc consistency can be useless in certain problems (map-coloring problem). Consider the map-coloring problem with two colors. A path consistency algorithm can immediately detect that there is no solution to this problem. The PC-2 algorithm (Mackworth, 1977) achieves path consistency in much the same way that AC-3 achieves arc consistency. Western Australia Northern Territory South Australia Queensland New South Wales WA NT SA Q NSW V Victoria Tasmania T 27 / 1

K-consistency A CSP is k-consistent if, for any set of k 1 variables and for any consistent assignment to those variables, a consistent value can always be assigned to any k th variable. 1-consistent = node-consistent, 2-consistent = arc-consistent, 3-consistent = path-consistent. A CSP is strongly k-consistent if it is k-consistent and is also (k 1)-consistent, (k 2)-consistent,..., 1-consistent. If a CSP has n variables, and it is strongly n-consistent, then a solution can be easily found by setting any variable to any value from its reduced domain. In general, we check the k-consistencies in the increasing values of k (from 0), we usually stop at k = 2 or k = 3. 28 / 1

Backtracking search for CSPs CSPs cannot be solved by inference (constraint propagation) alone. We can use depth-search to find a solution, but we should take into account that CSPs are commutative : the order of the assignments of values to variables does not affect the completeness of the search. At each level, we only consider one variable (with n possible values). The number of leaves is d n, where d is the number of variables. WA=red WA=green WA=blue WA=red NT=green WA=red NT=blue WA=red NT=green Q=red WA=red NT=green Q=blue Backtracking search in the map-coloring problem 29 / 1

3. Backtracking Search for CSPs Backtracking search for CSPs function BACKTRACKING-SEARCH(csp) returns a solution, or failure return BACKTRACK({}, csp) function BACKTRACK(assignment, csp) returns a solution, or failure if assignment is complete then return assignment var SELECT-UNASSIGNED-VARIABLE(csp) for each value in ORDER-DOMAIN-VALUES(var, assignment, csp) do if value is consistent with assignment then add {var = value} to assignment inferences INFERENCE(csp, var, value) if inferences failure then add inferences to assignment result BACKTRACK(assignment, csp) if result failure then return result remove {var = value} and inferences from assignment return failure Inferences here refers to constraint propagation (k-consistencies for a chosen Figure k). 6.5 A simple backtracking algorithm for constraint satisfaction proble 30 / 1

Which variable should be assigned next (SELECT-UNASSIGNED-VARIABLE)? Minimum remaining-values (MRV) heuristic Select the variable that is most constrained. Also known as fail-first heuristic, because it chooses a variable that can quickly fail, which results in pruning the corresponding branch of the search tree, avoiding pointless searches through other variables. No need for domain knowledge here. Degree heuristic Reduce the branching factor on future choices by selecting the variable that is involved in the largest number of constraints on other unassigned variables. Useful at the beginning of the search, when the MRV heuristic cannot be used, or when there is a tie with MRV. 31 / 1

In what order should the values of a chosen variable be tried (ORDER-DOMAIN-VALUES)? Least-constraining-value Prefer the value that rules out the fewest choices for the neighboring variables in the constraint graph. Maximum flexibility for subsequent variable assignments. Intuition : Least-constraining-value is the most likely to succeed, and we want to find the first solution quickly. We will not fail before we try all the values, so there is no time economy in using a fail-first strategy here. 32 / 1