Lecture 01 – Part C Constraint Satisfaction Problems
description
Transcript of Lecture 01 – Part C Constraint Satisfaction Problems
![Page 1: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/1.jpg)
Dr. Shazzad Hosain
Department of EECSNorth South Universtiy
Lecture 01 – Part CConstraint Satisfaction Problems
![Page 2: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/2.jpg)
Constraint Satisfaction Problems (CSPs)
Standard search problem:state is a "black box“ – any data structure
that supports successor function, heuristic function, and goal test
CSP:state is defined by variables Xi with values
from domain Di
goal test is a set of constraints specifying allowable combinations of values for subsets of variables
![Page 3: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/3.jpg)
Constraint satisfaction problem
A CSP is defined bya set of variablesa domain of possible values for each variablea set of constraints between variables
An assignment that does not violate any constraints is called a consistent or legal CONSISTENT assignment.
A complete assignment is one in which every variable is mentioned.
A solution to a CSP isA complete assignment that satisfies all the constraints
![Page 4: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/4.jpg)
Example: Map-Coloring
Variables WA, NT, Q, NSW, V, SA, T Domains Di = {red, green, blue}Constraints: adjacent regions must have different
colorse.g., WA ≠ NT
![Page 5: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/5.jpg)
Example: Map-Coloring
Solutions are complete and consistent assignments, e.g.,
WA = red, NT = green, Q = red, NSW = green, V = red, SA = blue, T = green
A state may be incomplete e.g., just WA=red
![Page 6: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/6.jpg)
Constraint graph
WA
NT
SA
Q
NSW
VT
It is helpful to visualize a CSP as a constraint graphBinary CSP: each constraint relates two variablesConstraint graph: nodes are variables, arcs are constraints
![Page 7: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/7.jpg)
Varieties of CSPsDiscrete variables
finite domains:n variables, domain size d O(dn) complete assignmentse.g., Boolean CSPs, incl. Boolean satisfiability (NP-complete)
infinite domains: integers, strings, etc.e.g., job scheduling, variables are start/end days for each jobneed a constraint language, e.g., StartJob1 + 5 ≤ StartJob3
Continuous variablese.g., start/end times for Hubble Space Telescope
observationslinear constraints solvable in polynomial time by linear
programming
![Page 8: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/8.jpg)
Varieties of constraintsUnary constraints involve a single
variable, e.g., SA ≠ green
Binary constraints involve pairs of variables,e.g., SA ≠ WA
Higher-order constraints involve 3 or more variables,e.g., cryptarithmetic column constraints
![Page 9: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/9.jpg)
Backtracking Search
Constraint Satisfaction problem
![Page 10: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/10.jpg)
Standard search formulationLet’s try the standard search formulation.
We need:• Initial state: none of the variables has a value (color)• Successor state: one of the variables without a value will get
some value.• Goal: all variables have a value and none of the constraints is
violated.
N! x DN
N layersWA NT TWA WA
WANT
WANT
WANT
NxD
[NxD]x[(N-1)xD]
NTWA
Equal!
There are N! x DN nodes in the tree but only DN distinct states??
![Page 11: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/11.jpg)
Backtracking search
Every solution appears at depth n with n variables use depth-first search
Depth-first search for CSPs with single-variable assignments is called backtracking search
Backtracking search is the basic uninformed algorithm for CSPs
Can solve n-queens for n ≈ 25
![Page 12: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/12.jpg)
Backtracking (Depth-First) search
WAWA WA
WANT
WANT
D
D2
• Special property of CSPs: They are commutative: This means: the order in which we assign variables does not matter.
• Better search tree: First order variables, then assign them values one-by-one.
WANT
NTWA
=
WANT
DN
![Page 13: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/13.jpg)
Backtracking search
![Page 14: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/14.jpg)
Backtracking example
![Page 15: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/15.jpg)
Backtracking example
![Page 16: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/16.jpg)
Backtracking example
![Page 17: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/17.jpg)
Backtracking example
![Page 18: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/18.jpg)
Depth First Search (DFS)• Application:
Given the following state space (tree search), give the sequence of visited nodes when using DFS (assume that the nodeO is the goal state):
A
B C ED
F G H I J
K L
O
M N
![Page 19: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/19.jpg)
Depth First Search• A,
A
B C ED
![Page 20: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/20.jpg)
Depth First Search• A,B,
A
B C ED
F G
![Page 21: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/21.jpg)
Depth First Search• A,B,F,
A
B C ED
F G
![Page 22: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/22.jpg)
Depth First Search• A,B,F,• G,
A
B C ED
F G
K L
![Page 23: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/23.jpg)
Depth First Search• A,B,F,• G,K,
A
B C ED
F G
K L
![Page 24: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/24.jpg)
Depth First Search• A,B,F,• G,K,• L,
A
B C ED
F G
K L
O
![Page 25: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/25.jpg)
Depth First Search• A,B,F,• G,K,• L, O: Goal State
A
B C ED
F G
K L
O
![Page 26: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/26.jpg)
Depth First SearchThe returned solution is the sequence of operators in the path:
A, B, G, L, O : assignments when using CSP !!!
A
B C ED
F G
K L
O
![Page 27: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/27.jpg)
Example 1
Backtracking
![Page 28: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/28.jpg)
Example of a csp
3 colour me!
CE
D
B
F
A
G
H
![Page 29: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/29.jpg)
Example of a csp
3 colour me!
CE
D
B
F
A
G
H
{blue, green, red} {blue, green, red}
{blue, green, red}
{blue, green, red}
{blue, green, red}
{blue, green, red}
{blue, green, red}
{blue, green, red}
![Page 30: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/30.jpg)
Example of a csp
CE
D
B
F
A
G
H
1 = red2 = blue3 = green
![Page 31: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/31.jpg)
Example of a csp
CE
D
B
F
A
G
H
1 = red2 = blue3 = green
![Page 32: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/32.jpg)
Example of a csp
CE
D
B
F
A
G
H
1 = red2 = blue3 = green
![Page 33: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/33.jpg)
Example of a csp
CE
D
B
F
A
G
H
1 = red2 = blue3 = green
![Page 34: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/34.jpg)
Example of a csp
CE
D
B
F
A
G
H
1 = red2 = blue3 = green
![Page 35: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/35.jpg)
Example of a csp
CE
D
B
F
A
G
H
1 = red2 = blue3 = green
![Page 36: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/36.jpg)
Example of a csp
CE
D
B
F
A
G
H
1 = red2 = blue3 = green
Dead end → backtrack
![Page 37: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/37.jpg)
Example of a csp
CE
D
B
F
A
G
H
1 = red2 = blue3 = green
![Page 38: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/38.jpg)
Example of a csp
CE
D
B
F
A
G
H
1 = red2 = blue3 = green
![Page 39: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/39.jpg)
Example of a csp
CE
D
B
F
A
G
H
1 = red2 = blue3 = green
![Page 40: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/40.jpg)
Example of a csp
CE
D
B
F
A
G
H
1 = red2 = blue3 = green
![Page 41: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/41.jpg)
Example of a csp
CE
D
B
F
A
G
H
1 = red2 = blue3 = green
![Page 42: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/42.jpg)
Example of a csp
CE
D
B
F
A
G
H
1 = red2 = blue3 = green
Solution !!!!
![Page 43: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/43.jpg)
Example 2
Backpropagation
![Page 44: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/44.jpg)
Backpropagation
[R]
[R,B,G][R,B,G]
[R,B,G] [R,B,G]
![Page 45: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/45.jpg)
Backpropagation
[R]
[R,B,G][R,B,G]
[R,B,G] [R,B,G]
![Page 46: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/46.jpg)
Backpropagation
[R]
[R,B,G][R,B,G]
[R,B,G] [R,B,G]
![Page 47: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/47.jpg)
Backpropagation
[R]
[R,B,G][R,B,G]
[R,B,G] [R,B,G]
![Page 48: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/48.jpg)
Backpropagation
[R]
[R,B,G][R,B,G]
[R,B,G] [R,B,G]
![Page 49: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/49.jpg)
Backpropagation
[R]
[R,B,G][R,B,G]
[R,B,G] [R,B,G]Dead End → Backtrack
![Page 50: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/50.jpg)
Backpropagation
[R]
[R,B,G][R,B,G]
[R,B,G] [R,B,G]
![Page 51: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/51.jpg)
Backpropagation
[R]
[R,B,G][R,B,G]
[R,B,G] [R,B,G]
![Page 52: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/52.jpg)
Backpropagation
[R]
[R,B,G][R,B,G]
[R,B,G] [R,B,G]
Solution !!!
![Page 53: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/53.jpg)
Improving backtracking efficiency
![Page 54: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/54.jpg)
Improving backtracking efficiencyGeneral-purpose heuristics can give huge
gains in speed:
Which variable should be assigned next?In what order should its values be tried?Can we detect inevitable failure early?
![Page 55: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/55.jpg)
Most constrained variable Minimum Remaining Values (MRV) Most constrained variable:
choose the variable with the fewest legal values
Called minimum remaining values (MRV) heuristic
“fail-first” heuristic: Picks a variable which will cause failure as soon as possible, allowing the tree to be pruned.
![Page 56: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/56.jpg)
choose the variable with the fewest legal values
Backpropagation Minimum Remaining Values
(MRV)
![Page 57: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/57.jpg)
Backpropagation - MRV
[R]
[R,B,G][R,B,G]
[R,B,G] [R,B,G]
![Page 58: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/58.jpg)
Backpropagation - MRV
[R]
[R,B,G][R,B,G]
[R,B,G] [R,B,G]
![Page 59: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/59.jpg)
Backpropagation - MRV
[R]
[R,B,G][R,B,G]
[R,B,G] [R,B,G]
![Page 60: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/60.jpg)
Backpropagation - MRV
[R]
[R,B,G][R,B,G]
[R,B,G] [R,B,G]
choose the variable with the fewest legal values
![Page 61: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/61.jpg)
Backpropagation - MRV
[R]
[R,B,G][R,B,G]
[R,B,G] [R,B,G]
choose the variable with the fewest legal values
![Page 62: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/62.jpg)
Backpropagation - MRV
[R]
[R,B,G][R,B,G]
[R,B,G] [R,B,G]
Solution !!!
![Page 63: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/63.jpg)
Degree Heuristic orMost Constraint Variable (MCV)
MRV doesn’t help in choosing the first region to colorMost constraining variable:
choose the variable with the most constraints on remaining variables (select variable that is involved
in the largest number of constraints - edges in graph on other unassigned variables)
MRV heuristic is usually more powerful, but MCV
can be useful as tie-breaker
![Page 64: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/64.jpg)
Least constraining value (LCV)Given a variable, choose the least constraining value:
the one that rules out (eliminate)
the fewest values in the remaining variables
Combining these heuristics makes 1000 queens feasible
![Page 65: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/65.jpg)
Backtracking + Forward Checking
Constraint Satisfaction problem
![Page 66: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/66.jpg)
Forward CheckingAssigns variable X, say
Looks at each unassigned variable, Y say, connected to X and delete from Y’s domain any value inconsistent with X’s assignment
Eliminates branching on certain variables by propagating information
If forward checking detects a dead end, algorithm will backtrack immediately.
![Page 67: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/67.jpg)
Forward checkingIdea:
Keep track of remaining legal values for unassigned variables
Terminate search when any variable has no legal values
![Page 68: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/68.jpg)
Forward checkingIdea:
Keep track of remaining legal values for unassigned variables
Terminate search when any variable has no legal values
![Page 69: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/69.jpg)
Forward checkingIdea:
Keep track of remaining legal values for unassigned variables
Terminate search when any variable has no legal values
![Page 70: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/70.jpg)
Forward checking
Dead End
Idea: Keep track of remaining
legal values for unassigned variables
Terminate search when any variable has no legal values
![Page 71: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/71.jpg)
Examples
Forward Checking
![Page 72: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/72.jpg)
Example: 4-Queens Problem
1
3
2
4
32 41
X1{1,2,3,4}
X3{1,2,3,4}
X4{1,2,3,4}
X2{1,2,3,4}
[4-Queens slides copied from B.J. Dorr CMSC 421 course on AI]
![Page 73: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/73.jpg)
Example: 4-Queens Problem
1
3
2
4
32 41
X1{1,2,3,4}
X3{1,2,3,4}
X4{1,2,3,4}
X2{1,2,3,4}
![Page 74: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/74.jpg)
Example: 4-Queens Problem
1
3
2
4
32 41
X1{1,2,3,4}
X3{ ,2, ,4}
X4{ ,2,3, }
X2{ , ,3,4}
![Page 75: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/75.jpg)
Example: 4-Queens Problem
1
3
2
4
32 41
X1{1,2,3,4}
X3{ ,2, ,4}
X4{ ,2,3, }
X2{ , ,3,4}
![Page 76: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/76.jpg)
Example: 4-Queens Problem
1
3
2
4
32 41
X1{1,2,3,4}
X3{ , , , }
X4{ ,2, , }
X2{ , ,3,4}
Dead End → Backtrack
![Page 77: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/77.jpg)
Example: 4-Queens Problem
1
3
2
4
32 41
X1{1,2,3,4}
X3{ , 2 , , }
X4{ , ,3, }
X2{ , , ,4}
![Page 78: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/78.jpg)
Example: 4-Queens Problem
1
3
2
4
32 41
X1{1,2,3,4}
X3{ , 2 , , }
X4{ , , , }
X2{ , , ,4}
Dead End → Backtrack
![Page 79: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/79.jpg)
Example: 4-Queens Problem
1
3
2
4
32 41
X1{ ,2,3,4}
X3{1,2,3,4}
X4{1,2,3,4}
X2{1,2,3,4}
![Page 80: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/80.jpg)
Example: 4-Queens Problem
1
3
2
4
32 41
X1{ ,2,3,4}
X3{1, ,3, }
X4{1, ,3,4}
X2{ , , ,4}
![Page 81: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/81.jpg)
Example: 4-Queens Problem
1
3
2
4
32 41
X1{ ,2,3,4}
X3{1, ,3, }
X4{1, ,3,4}
X2{ , , ,4}
![Page 82: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/82.jpg)
Example: 4-Queens Problem
1
3
2
4
32 41
X1{ ,2,3,4}
X3{1, , , }
X4{1, ,3, }
X2{ , , ,4}
![Page 83: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/83.jpg)
Example: 4-Queens Problem
1
3
2
4
32 41
X1{ ,2,3,4}
X3{1, , , }
X4{1, ,3, }
X2{ , , ,4}
![Page 84: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/84.jpg)
Example: 4-Queens Problem
1
3
2
4
32 41
X1{ ,2,3,4}
X3{1, , , }
X4{ , ,3, }
X2{ , , ,4}
![Page 85: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/85.jpg)
Example: 4-Queens Problem
1
3
2
4
32 41
X1{ ,2,3,4}
X3{1, , , }
X4{ , ,3, }
X2{ , , ,4}
Solution !!!!
![Page 86: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/86.jpg)
Forward Checking
[R]
[R,B,G][R,B,G]
[R,B,G] [R,B,G]
![Page 87: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/87.jpg)
Forward Checking
[R]
[R,B,G][ ,B,G]
[ ,B,G] [R,B,G]
![Page 88: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/88.jpg)
Forward Checking
[R]
[R,B,G][ ,B,G]
[ ,B,G] [R,B,G]
![Page 89: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/89.jpg)
Forward Checking
[R]
[R, ,G][ ,B,G]
[ , ,G] [R, ,G]
![Page 90: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/90.jpg)
Forward Checking
[R]
[R, ,G][ ,B,G]
[ , ,G] [R, ,G]
![Page 91: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/91.jpg)
Forward Checking
[R]
[R, ,G][ ,B,G]
[ , ,G] [ , ,G]
![Page 92: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/92.jpg)
Forward Checking
[R]
[R, ,G][ ,B,G]
[ , ,G] [ , ,G]
![Page 93: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/93.jpg)
Forward Checking
[R]
[R, ,G][ ,B,G]
[ , , ] [ , ,G]
![Page 94: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/94.jpg)
Forward Checking
[R]
[R, ,G][ ,B,G]
[ , , ] [ , ,G]
Dead End
![Page 95: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/95.jpg)
Forward Checking
[R]
[R, ,G][ ,B,G]
[ , ,G] [R, ,G]
![Page 96: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/96.jpg)
Forward Checking
[R]
[R, ,G][ ,B,G]
[ , ,G] [R, , ]
![Page 97: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/97.jpg)
Forward Checking
[R]
[R, ,G][ ,B,G]
[ , ,G] [R, , ]
![Page 98: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/98.jpg)
Forward Checking
[R]
[R, ,G][ ,B,G]
[ , ,G] [R, , ]
Solution !!!
![Page 99: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/99.jpg)
Constraint PropagationBacktracking + Arc Consistency
Constraint Satisfaction problem
![Page 100: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/100.jpg)
Constraint propagationForward checking propagates information from
assigned to unassigned variables, but doesn't provide early detection for all failures:
NT and SA cannot both be blue!Constraint propagation repeatedly enforces
constraints locally
![Page 101: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/101.jpg)
Arc consistencyMore complex than forward checking,
but backtracks sooner so may be faster
Make each arc consistentConstraints treated as directed arcsX Y is consistent iff
for every value of X there is some allowed value for Y
Note: If the arc from A to B is consistent, the (reverse) arc from
B to A is not necessarily consistent!Arc consistency does not detect every possible
inconsistency!!
![Page 102: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/102.jpg)
Arc consistency
Simplest form of propagation makes each arc consistent
X Y is consistent iff for every value x of X there is some allowed y
![Page 103: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/103.jpg)
Arc consistencySimplest form of propagation makes each arc
consistentX Y is consistent iff for every value x of X there is some allowed y
![Page 104: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/104.jpg)
Arc consistency
Simplest form of propagation makes each arc consistent
X Y is consistent iff for every value x of X there is some allowed y
If X loses a value, neighbors of X need to be rechecked
![Page 105: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/105.jpg)
Arc consistency
Simplest form of propagation makes each arc consistent
X Y is consistent iff for every value x of X there is some allowed y
If X loses a value, neighbors of X need to be rechecked Arc consistency detects failure earlier than forward checking Can be run as a preprocessor or after each assignment
![Page 106: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/106.jpg)
Arc consistency algorithm AC-3
Time complexity: O(n2d3)
Checking consistency of an arc is O(d2)
![Page 107: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/107.jpg)
Constraint Satisfaction Problems
Arc Consistency: AC3+ Backtracking
![Page 108: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/108.jpg)
Arc Consistency: AC3
[R]
[R,B,G][R,B,G]
[R,B,G] [R,B,G]
![Page 109: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/109.jpg)
Arc Consistency: AC3
[R]
[R,B,G][ ,B,G]
[R,B,G] [R,B,G]
![Page 110: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/110.jpg)
Arc Consistency: AC3
[R]
[R,B,G][ ,B,G]
[ ,B,G] [R,B,G]
![Page 111: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/111.jpg)
Arc Consistency: AC3
[R]
[R,B,G][ ,B,G]
[ ,B,G] [R,B,G]
If X loses a value, neighbors of X need to be rechecked
![Page 112: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/112.jpg)
Arc Consistency: AC3
[R]
[R,B,G][ ,B,G]
[ ,B,G] [R,B,G]
If X loses a value, neighbors of X need to be rechecked
![Page 113: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/113.jpg)
Arc Consistency: AC3
[R]
[R,B,G][ ,B,G]
[ ,B,G] [R,B,G]
If X loses a value, neighbors of X need to be rechecked
![Page 114: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/114.jpg)
Arc Consistency: AC3
[R]
[R,B,G][ ,B,G]
[ ,B,G] [R,B,G]
If X loses a value, neighbors of X need to be rechecked
![Page 115: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/115.jpg)
Arc Consistency: AC3
[R]
[R,B,G][ ,B,G]
[ ,B,G] [R,B,G]
![Page 116: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/116.jpg)
Arc Consistency: AC3
[R]
[R,B,G][ ,B,G]
[ ,B,G] [R,B,G]
![Page 117: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/117.jpg)
Arc Consistency: AC3
[R]
[R, ,G][ ,B,G]
[ ,B,G] [R,B,G]
![Page 118: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/118.jpg)
Arc Consistency: AC3
[R]
[R, ,G][ ,B,G]
[ ,B,G] [R, ,G]
![Page 119: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/119.jpg)
Arc Consistency: AC3
[R]
[R, ,G][ ,B,G]
[ , ,G] [R, ,G]
![Page 120: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/120.jpg)
Arc Consistency: AC3
[R]
[R, ,G][ ,B,G]
[ , ,G] [R, , ]
![Page 121: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/121.jpg)
Arc Consistency: AC3
[R]
[ , ,G][ ,B,G]
[ , ,G] [R, , ]
![Page 122: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/122.jpg)
Arc Consistency: AC3
[R]
[ , ,G][ ,B,G]
[ , ,G] [R, , ]
![Page 123: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/123.jpg)
Arc Consistency: AC3
[R]
[ , ,G][ ,B,G]
[ , ,G] [R, , ]
![Page 124: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/124.jpg)
Arc Consistency: AC3
[R]
[ , ,G][ ,B,G]
[ , ,G] [R, , ]
Solution !!!
![Page 125: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/125.jpg)
Local Search
Constraint Satisfaction problem
![Page 126: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/126.jpg)
Local search for CSPs min-conflicts heuristic
Note: The path to the solution is unimportant, so we can apply local search!
Hill-climbing, simulated annealing typically work with "complete" states, i.e., all variables assigned
To apply to CSPs:allow states with unsatisfied constraintsoperators reassign variable valueshill-climb with value(state) = total number of violated
constraints
Variable selection: randomly select any conflicted variable
Value selection:choose value that violates the fewest constraintscalled the min-conflicts heuristic
![Page 127: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/127.jpg)
Example: 4-Queens
States: 4 queens in 4 columns (44 = 256 states)Actions: move queen in columnGoal test: no attacksEvaluation: h(n) = number of attacks
![Page 128: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/128.jpg)
Example: 8-queensState:
Variables = queens, which are confined to a column
Value = rowStart with random stateRepeat
Choose conflicted queen randomlyChoose value (row) with minimal conflicts
![Page 129: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/129.jpg)
![Page 130: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/130.jpg)
Summary CSPs are a special kind of problem:
states defined by values of a fixed set of variablesgoal test defined by constraints on variable values
Backtracking = depth-first search with one variable assigned per node
Variable ordering and value selection heuristics help significantly
Forward checking prevents assignments that guarantee later failure
Constraint propagation (e.g., arc consistency) does additional work to constrain values and detect inconsistencies
Iterative min-conflicts is usually effective in practice
![Page 131: Lecture 01 – Part C Constraint Satisfaction Problems](https://reader035.fdocuments.net/reader035/viewer/2022062518/56813fea550346895daae0b1/html5/thumbnails/131.jpg)
ReferencesChapter 6 of “Artificial Intelligence: A
modern approach” by Stuart Russell, Peter Norvig.
Chapter 5 of “Artificial Intelligence Illuminated” by Ben Coppin
131