+ All Categories
Home > Documents > Lecture 01 – Part C Constraint Satisfaction Problems

Lecture 01 – Part C Constraint Satisfaction Problems

Date post: 08-Jan-2016
Category:
Upload: brandy
View: 14 times
Download: 0 times
Share this document with a friend
Description:
Lecture 01 – Part C Constraint Satisfaction Problems. Dr. Shazzad Hosain Department of EECS North South Universtiy [email protected]. Constraint Satisfaction Problems (CSPs). Standard search problem: - PowerPoint PPT Presentation
Popular Tags:
131
Dr. Shazzad Hosain Department of EECS North South Universtiy [email protected] Lecture 01 – Part C Constraint Satisfaction Problems
Transcript
Page 1: Lecture 01 – Part C Constraint Satisfaction Problems

Dr. Shazzad Hosain

Department of EECSNorth South Universtiy

[email protected]

Lecture 01 – Part CConstraint Satisfaction Problems

Page 2: Lecture 01 – Part C Constraint Satisfaction Problems

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

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

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

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

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

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

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

Backtracking Search

Constraint Satisfaction problem

Page 10: Lecture 01 – Part C Constraint Satisfaction Problems

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

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

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

Backtracking search

Page 14: Lecture 01 – Part C Constraint Satisfaction Problems

Backtracking example

Page 15: Lecture 01 – Part C Constraint Satisfaction Problems

Backtracking example

Page 16: Lecture 01 – Part C Constraint Satisfaction Problems

Backtracking example

Page 17: Lecture 01 – Part C Constraint Satisfaction Problems

Backtracking example

Page 18: Lecture 01 – Part C Constraint Satisfaction Problems

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

Depth First Search• A,

A

B C ED

Page 20: Lecture 01 – Part C Constraint Satisfaction Problems

Depth First Search• A,B,

A

B C ED

F G

Page 21: Lecture 01 – Part C Constraint Satisfaction Problems

Depth First Search• A,B,F,

A

B C ED

F G

Page 22: Lecture 01 – Part C Constraint Satisfaction Problems

Depth First Search• A,B,F,• G,

A

B C ED

F G

K L

Page 23: Lecture 01 – Part C Constraint Satisfaction Problems

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

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

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

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

Example 1

Backtracking

Page 28: Lecture 01 – Part C Constraint Satisfaction Problems

Example of a csp

3 colour me!

CE

D

B

F

A

G

H

Page 29: Lecture 01 – Part C Constraint Satisfaction Problems

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

Example of a csp

CE

D

B

F

A

G

H

1 = red2 = blue3 = green

Page 31: Lecture 01 – Part C Constraint Satisfaction Problems

Example of a csp

CE

D

B

F

A

G

H

1 = red2 = blue3 = green

Page 32: Lecture 01 – Part C Constraint Satisfaction Problems

Example of a csp

CE

D

B

F

A

G

H

1 = red2 = blue3 = green

Page 33: Lecture 01 – Part C Constraint Satisfaction Problems

Example of a csp

CE

D

B

F

A

G

H

1 = red2 = blue3 = green

Page 34: Lecture 01 – Part C Constraint Satisfaction Problems

Example of a csp

CE

D

B

F

A

G

H

1 = red2 = blue3 = green

Page 35: Lecture 01 – Part C Constraint Satisfaction Problems

Example of a csp

CE

D

B

F

A

G

H

1 = red2 = blue3 = green

Page 36: Lecture 01 – Part C Constraint Satisfaction Problems

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

Example of a csp

CE

D

B

F

A

G

H

1 = red2 = blue3 = green

Page 38: Lecture 01 – Part C Constraint Satisfaction Problems

Example of a csp

CE

D

B

F

A

G

H

1 = red2 = blue3 = green

Page 39: Lecture 01 – Part C Constraint Satisfaction Problems

Example of a csp

CE

D

B

F

A

G

H

1 = red2 = blue3 = green

Page 40: Lecture 01 – Part C Constraint Satisfaction Problems

Example of a csp

CE

D

B

F

A

G

H

1 = red2 = blue3 = green

Page 41: Lecture 01 – Part C Constraint Satisfaction Problems

Example of a csp

CE

D

B

F

A

G

H

1 = red2 = blue3 = green

Page 42: Lecture 01 – Part C Constraint Satisfaction Problems

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

Example 2

Backpropagation

Page 44: Lecture 01 – Part C Constraint Satisfaction Problems

Backpropagation

[R]

[R,B,G][R,B,G]

[R,B,G] [R,B,G]

Page 45: Lecture 01 – Part C Constraint Satisfaction Problems

Backpropagation

[R]

[R,B,G][R,B,G]

[R,B,G] [R,B,G]

Page 46: Lecture 01 – Part C Constraint Satisfaction Problems

Backpropagation

[R]

[R,B,G][R,B,G]

[R,B,G] [R,B,G]

Page 47: Lecture 01 – Part C Constraint Satisfaction Problems

Backpropagation

[R]

[R,B,G][R,B,G]

[R,B,G] [R,B,G]

Page 48: Lecture 01 – Part C Constraint Satisfaction Problems

Backpropagation

[R]

[R,B,G][R,B,G]

[R,B,G] [R,B,G]

Page 49: Lecture 01 – Part C Constraint Satisfaction Problems

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

Backpropagation

[R]

[R,B,G][R,B,G]

[R,B,G] [R,B,G]

Page 51: Lecture 01 – Part C Constraint Satisfaction Problems

Backpropagation

[R]

[R,B,G][R,B,G]

[R,B,G] [R,B,G]

Page 52: Lecture 01 – Part C Constraint Satisfaction Problems

Backpropagation

[R]

[R,B,G][R,B,G]

[R,B,G] [R,B,G]

Solution !!!

Page 53: Lecture 01 – Part C Constraint Satisfaction Problems

Improving backtracking efficiency

Page 54: Lecture 01 – Part C Constraint Satisfaction Problems

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

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

choose the variable with the fewest legal values

Backpropagation Minimum Remaining Values

(MRV)

Page 57: Lecture 01 – Part C Constraint Satisfaction Problems

Backpropagation - MRV

[R]

[R,B,G][R,B,G]

[R,B,G] [R,B,G]

Page 58: Lecture 01 – Part C Constraint Satisfaction Problems

Backpropagation - MRV

[R]

[R,B,G][R,B,G]

[R,B,G] [R,B,G]

Page 59: Lecture 01 – Part C Constraint Satisfaction Problems

Backpropagation - MRV

[R]

[R,B,G][R,B,G]

[R,B,G] [R,B,G]

Page 60: Lecture 01 – Part C Constraint Satisfaction Problems

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

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

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

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

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

Backtracking + Forward Checking

Constraint Satisfaction problem

Page 66: Lecture 01 – Part C Constraint Satisfaction Problems

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

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

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

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

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

Examples

Forward Checking

Page 72: Lecture 01 – Part C Constraint Satisfaction Problems

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Forward Checking

[R]

[R,B,G][R,B,G]

[R,B,G] [R,B,G]

Page 87: Lecture 01 – Part C Constraint Satisfaction Problems

Forward Checking

[R]

[R,B,G][ ,B,G]

[ ,B,G] [R,B,G]

Page 88: Lecture 01 – Part C Constraint Satisfaction Problems

Forward Checking

[R]

[R,B,G][ ,B,G]

[ ,B,G] [R,B,G]

Page 89: Lecture 01 – Part C Constraint Satisfaction Problems

Forward Checking

[R]

[R, ,G][ ,B,G]

[ , ,G] [R, ,G]

Page 90: Lecture 01 – Part C Constraint Satisfaction Problems

Forward Checking

[R]

[R, ,G][ ,B,G]

[ , ,G] [R, ,G]

Page 91: Lecture 01 – Part C Constraint Satisfaction Problems

Forward Checking

[R]

[R, ,G][ ,B,G]

[ , ,G] [ , ,G]

Page 92: Lecture 01 – Part C Constraint Satisfaction Problems

Forward Checking

[R]

[R, ,G][ ,B,G]

[ , ,G] [ , ,G]

Page 93: Lecture 01 – Part C Constraint Satisfaction Problems

Forward Checking

[R]

[R, ,G][ ,B,G]

[ , , ] [ , ,G]

Page 94: Lecture 01 – Part C Constraint Satisfaction Problems

Forward Checking

[R]

[R, ,G][ ,B,G]

[ , , ] [ , ,G]

Dead End

Page 95: Lecture 01 – Part C Constraint Satisfaction Problems

Forward Checking

[R]

[R, ,G][ ,B,G]

[ , ,G] [R, ,G]

Page 96: Lecture 01 – Part C Constraint Satisfaction Problems

Forward Checking

[R]

[R, ,G][ ,B,G]

[ , ,G] [R, , ]

Page 97: Lecture 01 – Part C Constraint Satisfaction Problems

Forward Checking

[R]

[R, ,G][ ,B,G]

[ , ,G] [R, , ]

Page 98: Lecture 01 – Part C Constraint Satisfaction Problems

Forward Checking

[R]

[R, ,G][ ,B,G]

[ , ,G] [R, , ]

Solution !!!

Page 99: Lecture 01 – Part C Constraint Satisfaction Problems

Constraint PropagationBacktracking + Arc Consistency

Constraint Satisfaction problem

Page 100: Lecture 01 – Part C Constraint Satisfaction Problems

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

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

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

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

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

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

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

Constraint Satisfaction Problems

Arc Consistency: AC3+ Backtracking

Page 108: Lecture 01 – Part C Constraint Satisfaction Problems

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

Arc Consistency: AC3

[R]

[R,B,G][ ,B,G]

[R,B,G] [R,B,G]

Page 110: Lecture 01 – Part C Constraint Satisfaction Problems

Arc Consistency: AC3

[R]

[R,B,G][ ,B,G]

[ ,B,G] [R,B,G]

Page 111: Lecture 01 – Part C Constraint Satisfaction Problems

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

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

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

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

Arc Consistency: AC3

[R]

[R,B,G][ ,B,G]

[ ,B,G] [R,B,G]

Page 116: Lecture 01 – Part C Constraint Satisfaction Problems

Arc Consistency: AC3

[R]

[R,B,G][ ,B,G]

[ ,B,G] [R,B,G]

Page 117: Lecture 01 – Part C Constraint Satisfaction Problems

Arc Consistency: AC3

[R]

[R, ,G][ ,B,G]

[ ,B,G] [R,B,G]

Page 118: Lecture 01 – Part C Constraint Satisfaction Problems

Arc Consistency: AC3

[R]

[R, ,G][ ,B,G]

[ ,B,G] [R, ,G]

Page 119: Lecture 01 – Part C Constraint Satisfaction Problems

Arc Consistency: AC3

[R]

[R, ,G][ ,B,G]

[ , ,G] [R, ,G]

Page 120: Lecture 01 – Part C Constraint Satisfaction Problems

Arc Consistency: AC3

[R]

[R, ,G][ ,B,G]

[ , ,G] [R, , ]

Page 121: Lecture 01 – Part C Constraint Satisfaction Problems

Arc Consistency: AC3

[R]

[ , ,G][ ,B,G]

[ , ,G] [R, , ]

Page 122: Lecture 01 – Part C Constraint Satisfaction Problems

Arc Consistency: AC3

[R]

[ , ,G][ ,B,G]

[ , ,G] [R, , ]

Page 123: Lecture 01 – Part C Constraint Satisfaction Problems

Arc Consistency: AC3

[R]

[ , ,G][ ,B,G]

[ , ,G] [R, , ]

Page 124: Lecture 01 – Part C Constraint Satisfaction Problems

Arc Consistency: AC3

[R]

[ , ,G][ ,B,G]

[ , ,G] [R, , ]

Solution !!!

Page 125: Lecture 01 – Part C Constraint Satisfaction Problems

Local Search

Constraint Satisfaction problem

Page 126: Lecture 01 – Part C Constraint Satisfaction Problems

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

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

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
Page 130: Lecture 01 – Part C Constraint Satisfaction Problems

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

ReferencesChapter 6 of “Artificial Intelligence: A

modern approach” by Stuart Russell, Peter Norvig.

Chapter 5 of “Artificial Intelligence Illuminated” by Ben Coppin

131


Recommended