cse 40171: artificial intelligence€¦ · a problem is solved when each variable has a value that...
TRANSCRIPT
![Page 1: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/1.jpg)
Constraint Satisfaction Problems: Defining CSPs
CSE 40171: Artificial Intelligence
�1
![Page 2: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/2.jpg)
�2
Homework #2 is due tonight at 11:59PM
![Page 3: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/3.jpg)
How can we solve a search problem more efficiently?
![Page 4: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/4.jpg)
Constraint Satisfaction Problems (CSP)
Image credit: Dan Klein and Pieter Abbeel, UC Berkeley CS 188
![Page 5: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/5.jpg)
Constraint Satisfaction Problems (CSP)
A better strategy: use a factored representation for each state: a set of variables, each of which has a value.
A problem is solved when each variable has a value that satisfies all the constraints on the variable.
![Page 6: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/6.jpg)
Formal Definition of CSP
A constraint satisfaction problem consists of three components, X, D, and C:
X is a set of variables, {X1, … , Xn}, D is a a set of domains, {D1, … , Dn}, C is a set of constraints that specify allowable combinations of values
![Page 7: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/7.jpg)
Formal Definition of CSP
Di consists of a set of allowable values, {v1, … , vk} for variable Xi
Ci consists of a pair ⟨ scope, rel ⟩
• scope is a tuple of variables that participate in the constraint
• rel is a relation that defines the variables those relations can take on
![Page 8: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/8.jpg)
Options for representing a relationIf X1 and X2 both have the domain {A, B}, then the constraint saying the two variables must have different values can be written as:
⟨ (X1, X2), [(A,B), (B,A)] ⟩
OR
⟨ (X1, X2), X1 ≠ X2 ⟩
![Page 9: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/9.jpg)
Solving a CSP
Each state in a CSP is defined by an assignment of values to some or all of the variables:
{Xi = vi, Xj = vj, …}
Consistent Assignment: does not violate any constraints
Complete Assignment: all variables are assigned
Partial Assignment: assigns values to only some of the variables
![Page 10: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/10.jpg)
A Solution is a consistent and complete assignment
So why do we have a provision for partial assignments?
![Page 11: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/11.jpg)
Let’s look at an example…
![Page 12: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/12.jpg)
Map Coloring
Image credit: Dan Klein and Pieter Abbeel, UC Berkeley CS 188
![Page 13: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/13.jpg)
Constraint Graphs
Image credits: Dan Klein and Pieter Abbeel, UC Berkeley CS 188, Russell and Norvig
![Page 14: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/14.jpg)
Constraint Graphs
• Binary CSP: each constraint relates (at most) two variables
• Binary constraint graph: vertices are variables, edges show constraints
• General-purpose CSP algorithms use the graph structure to speed up search. For example, Tasmania is an independent subproblem.
Image Credit: Russell and Norvig
![Page 15: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/15.jpg)
Why use a CSP?
You can use one solver for a variety of problems!
CSP solvers can be much faster than state-space searches
Example: Assume we have {SA = blue} in the map coloring problem
Without CSP: 35 = 243 assignments to examine With CSP: 25 = 32 assignments to examine
![Page 16: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/16.jpg)
CSP Formalisms
![Page 17: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/17.jpg)
Discrete Finite DomainsN-Queens Problem
Objective: place N queens on a chessboard such that no queen attacks any other Complexity: this family of problems is NP-complete
Image Credit: https://en.wikipedia.org/wiki/Eight_queens_puzzle
![Page 18: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/18.jpg)
Example of a Discrete Finite Domain: 4-Queens Problem (Formulation #1)
Image credit: Dan Klein and Pieter Abbeel, UC Berkeley CS 188
Variables: Xij
Domains: {0, 1}Constraints:
![Page 19: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/19.jpg)
Example of a Discrete Finite Domain: 4-Queens Problem (Formulation #2)
Variables: Qk
Domains: {1, 2, 3, … N}Constraints:
. . .
Implicit
Explicit
Image credit: Dan Klein and Pieter Abbeel, UC Berkeley CS 188
![Page 20: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/20.jpg)
Discrete Infinte Domains
• If we’re considering unbounded sets of integers or strings, then the domain is infinite
• In this case, all possible constraints cannot be enumerated
• Solution: design a constraint language that parses constraints without the need for pairs
• e.g., T1 + d1 ≤ T2, without enumerating all pairs (T1, T2)
![Page 21: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/21.jpg)
Continuous Domains
Example: scheduling experiments on the Hubble Space Telescope
• Requires precise timing of observations
• Continuous-valued variables: ‣ Start and finish of each observation ‣ Start and finish of each maneuver
![Page 22: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/22.jpg)
Linear Programming Problems
Best-known category of continuous-domain CSPs
Expressed in the form:
Linear program with two variables and six inequalities
set of solutions
level set of cost function
![Page 23: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/23.jpg)
Types of Constraints
Image credit: Dan Klein and Pieter Abbeel, UC Berkeley CS 188
Unary constraints involve a single variable (equivalent to reducing domains), for example:
Binary constraints involve pairs of variables, for example:
![Page 24: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/24.jpg)
Types of Constraints
Global constraints involve an arbitrary number of variables
Preferences are soft constraints • Red is better than green• Often representable by a cost for
each variable assignment• Gives constrained optimization
problems
![Page 25: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/25.jpg)
Common Global Constraint: alldiff
Image credit: Dan Klein and Pieter Abbeel, UC Berkeley CS 188
Variables: Each open square
Domains: {1, 2, 3, … , 9}
Constraints:1. 9-way alldiff for each column 2. 9-way alldiff for each row 3. 9-way alldiff for each region
Sudoku
![Page 26: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/26.jpg)
Cryptarithmetic Puzzles
Objective: find a substitution of digits for letters such that the resulting sum is arithmetically correct.
*No leading 0s are allowed
Image credit: Dan Klein and Pieter Abbeel, UC Berkeley CS 188
![Page 27: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/27.jpg)
Cryptarithmetic Puzzles
Variables: F, T, U, W, R, O, X1, X2, X3
Domains: {0, 1, 2, 3, … , 9}
Constraints:alldiff ( F, T, U, W, R, O ) O + O = R + 10 ⋅ X10 X100 + T + T = O + 10 ⋅ X1000
X10 + W + W = U + 10 ⋅ X100 X1000 = F,
![Page 28: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/28.jpg)
Constraint Optimization Problem
How do we solve this?
Preference constraints can be encoded as constraints on individual variable assignments
Constraint 1: scheduling an afternoon appointment with Prof. X has a cost of 2
Constraint 2: scheduling a morning appointment with Prof. X has a cost of 1
![Page 29: CSE 40171: Artificial Intelligence€¦ · A problem is solved when each variable has a value that satisfies all the constraints on the variable. Formal Definition of CSP A constraint](https://reader033.vdocuments.site/reader033/viewer/2022050405/5f8243f6afee89265769ccf6/html5/thumbnails/29.jpg)
Answer:
Use path-based or local optimization search methods