+ All Categories
Home > Documents > Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction...

Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction...

Date post: 21-Mar-2021
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
50
Constraint Satisfaction Problems CPSC 470 – Artificial Intelligence Brian Scassellati
Transcript
Page 1: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Constraint Satisfaction Problems

CPSC 470 – Artificial IntelligenceBrian Scassellati

Page 2: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Alpha-Beta Pruning Example

8 7 2 9 1 6 2 4 1 1 3 5 3 9 2 6 5 2 1 32 9 7 2 11 6 4

MAX

MIN MIN

MAX MAX

[5,5]

[4, 4]

[8,8] [9,+∞] [4,4]

X

[5,5]

[5,5] [9,+∞]

X

[6,+∞]

X

[-∞, 3]

[3,3]

X

In this example, only 16 out of 27 terminal states are evaluated

In the best case, alpha-beta can improve the time use from O(bd) to O(bd/2)

Page 3: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Sudoku

Example puzzle with a unique solution No duplicates in row, column, or 3x3 box

Page 4: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Solving Sudoku via Search

• 20 squares fixed and

61 need to be solved

• Find possible entries

– A2: 1 2 3 4 5 6 7 8 9

– A3: 1 2 3 4 5 6 7 8 9

• Build a tree:

A2 A3

A2

A3 A3 A3 A3

1

6 7

9

• 61 depth, max 8 branching factor

• 4.6 x 1038 possibilities

• Even on 1 million 10GHz, 1024 core

machines, this is 1300 billion years!

Page 5: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

A Smarter Way• Find possible entries

– A2: 1 2 3 4 5 6 7 8 9– A3: 1 2 3 4 5 6 7 8 9

• Once we choose A2, that further limits our choices

A2 A3

A2

A3 A3 A3 A3

16 7

9

Page 6: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Constraint Satisfaction Problems

• In a typical search problem– state is a “black box” – any data structure that supports

successor function, heuristic function, and goal test• In a constraint satisfaction problem (CSP):

– state is an assignment of values from a domain Di to a set of variables Xi

– goal test is a set of constraints specifying allowable combinations of values for subsets of variables

• A solution to a CSP is one that is complete (all variables are assigned) and consistent (no constraints are violated)

• Simple example of a formal representation language

Page 7: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Sudoku as a CSP• Domain = {1, 2, 3, 4, 5, 6, 7, 8, 9}• Variables = { A1, A2, ... A9,

B1, B2, … B9, … I1, I2, … I9 }

• Constraints from row, column, and 3x3 cell restrictions

• Constraints = {A1≠A2, A1≠A3, A1≠A4, …A1≠B1, A1≠C1, A1≠D1, …A1≠B2, A1≠B3, A1≠C1, …}

Page 8: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Simpler Example: Map Coloring

• Variables Vi = {WA, NT, Q, NSW, V, SA, T }• Domain Di = {red, green, blue}• Constraints: adjacent regions must have different colors

– e.g., WA ≠ NT, or (WA,NT) in {(red,green), (red,blue), (green,red), (green,blue), (blue,red), (blue,green)}

Page 9: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Simpler Example: Map Coloring

• Solutions are complete and consistent assignments• One solution is shown above

WA = red, NT = green, Q = red, NSW = green, V = red, SA = blue, T = green

Page 10: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Constraint Graph• Constraint graph:

– nodes are variables– arcs are constraints

• CSP benefits– Standard representation pattern:

variables with values– Generic goal, successor functions– Generic heuristics (no domain

specific expertise)– Graph can simplify search.

• e.g. Tasmania is an independent subproblem.

WA ¹ NT

WA ¹ SA

NT ¹

SA

NT ¹ Q

SA ¹ V

SA ¹ NSW

SA ¹Q

NSW

V ¹NSW

Page 11: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Another Example: Cryptarithmetic

T W O+ T W O-------F O U R

Page 12: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Another Example: Cryptarithmetic

Variables: F, O, U, R, T, W, X1, X2, X3Domain: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}Constraints: Alldiff (F, O, U, R, T, W)

O + O = R + 10 · X1X1 + W + W = U + 10 · X2X2 + T + T = O + 10 · X3X3 = F, T ≠ 0, F ≠ 0

Page 13: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Varieties of CSPs• Discrete variables

– finite domains:• n variables, domain size d à O(dn) complete assignments• e.g., Boolean CSPs, incl.~Boolean satisfiability (NP-complete)

– infinite domains:• integers, strings, etc.• e.g., job scheduling, variables are start/end days for each job• need a constraint language, e.g., StartJob1 + 5 ≤ StartJob3

• Continuous variables– e.g., start/end times for Hubble Space Telescope

observations– linear constraints solvable in polynomial time by linear

programming

Page 14: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Varieties of constraints

• Unary 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 15: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Real-world CSPs• Assignment problems

– e.g., who teaches what class

• Timetabling problems– e.g., which class is offered when and where?

• Transportation scheduling• Factory scheduling• Circuit layout

• Notice that many real-world problems involve real-valued variables

Page 16: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Solving CSPs• Let’s start with a straightforward approach, then fix it.• Just like we did with Sudoku, let’s treat this as a search

problem.– Initial state: the empty assignment { }– Successor function: assign a value to an unassigned variable

that does not conflict with current assignmentà fail if no legal assignments

– Goal test: the current assignment is complete

Page 17: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Backtracking search• Variable assignments are commutative, i.e.,

[WA = red] followed by [NT = green] is the same as [NT = green] followed by [WA = red]

• Only need to consider assignments to a single variable at each depth of the tree

• 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 18: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Backtracking search

Page 19: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Backtracking example

Page 20: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Backtracking example

Page 21: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Backtracking example

Page 22: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Backtracking example

Page 23: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Improving backtracking efficiency

• General-purpose methods 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?

• Heuristics:1. Most constrained variable2. Most constraining variable3. Least constraining value4. Forward checking

Page 24: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

H1: Most constrained variable

• Most constrained variable:choose the variable with the fewest legal values

• a.k.a. minimum remaining values (MRV)heuristic

Page 25: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

H2: Most constraining variable

• Tie-breaker among most constrained variables

• Most constraining variable:– choose the variable with the most constraints

on remaining variables

Page 26: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

H3: Least constraining value

• Given a variable, choose the least constraining value:– the one that rules out the fewest values in the

remaining variables• Combining these heuristics makes 1000

queens feasible

Page 27: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

H4: Forward checking

• Idea: – Keep track of remaining legal values for unassigned

variables– Terminate search when any variable has no legal

values

Page 28: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

H4: Forward checking

• Idea: – Keep track of remaining legal values for unassigned

variables– Terminate search when any variable has no legal

values

Page 29: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

H4: Forward checking

• Idea: – Keep track of remaining legal values for unassigned

variables– Terminate search when any variable has no legal

values

Page 30: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

H4: Forward checking

• Idea: – Keep track of remaining legal values for unassigned

variables– Terminate search when any variable has no legal

values

Page 31: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Constraint propagation

• Forward 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 32: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

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 33: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

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 34: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

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 35: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

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 36: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Arc consistency algorithm AC-3

• Time complexity: O(n2d3)

Page 37: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Example: 4-Queens Problem

1

32

4

32 41

X1{1,2,3,4}

X3{1,2,3,4}

X4{1,2,3,4}

X2{1,2,3,4}

Page 38: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Example: 4-Queens Problem

1

32

4

32 41

X1{1,2,3,4}

X3{1,2,3,4}

X4{1,2,3,4}

X2{1,2,3,4}

Page 39: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Example: 4-Queens Problem

1

32

4

32 41

X1{1,2,3,4}

X3{ ,2, ,4}

X4{ ,2,3, }

X2{ , ,3,4}

Page 40: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Example: 4-Queens Problem

1

32

4

32 41

X1{1,2,3,4}

X3{ ,2, ,4}

X4{ ,2,3, }

X2{ , ,3,4}

Page 41: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Example: 4-Queens Problem

1

32

4

32 41

X1{1,2,3,4}

X3{ , , , }

X4{ ,2,3, }

X2{ , ,3,4}

Backtrack!!!

Page 42: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Example: 4-Queens Problem

1

32

4

32 41

X1{ ,2,3,4}

X3{1,2,3,4}

X4{1,2,3,4}

X2{1,2,3,4}

Picking up a little later after two steps of backtracking….

Page 43: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Example: 4-Queens Problem

1

32

4

32 41

X1{ ,2,3,4}

X3{1, ,3, }

X4{1, ,3,4}

X2{ , , ,4}

Page 44: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Example: 4-Queens Problem

1

32

4

32 41

X1{ ,2,3,4}

X3{1, ,3, }

X4{1, ,3,4}

X2{ , , ,4}

Page 45: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Example: 4-Queens Problem

1

32

4

32 41

X1{ ,2,3,4}

X3{1, , , }

X4{1, ,3, }

X2{ , , ,4}

Page 46: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Example: 4-Queens Problem

1

32

4

32 41

X1{ ,2,3,4}

X3{1, , , }

X4{1, ,3, }

X2{ , , ,4}

Page 47: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Example: 4-Queens Problem

1

32

4

32 41

X1{ ,2,3,4}

X3{1, , , }

X4{ , ,3, }

X2{ , , ,4}

Page 48: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Example: 4-Queens Problem

1

32

4

32 41

X1{ ,2,3,4}

X3{1, , , }

X4{ , ,3, }

X2{ , , ,4}

Page 49: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Example: n-queens• States: n queens in n columns (nn states)• Actions: move queen in column• Goal test: no attacks• Evaluation: h(n) = number of attacks

• Given random initial state, AC-3 can solve n-queens in almost constant time for arbitrary n with high probability (e.g., n = 10,000,000)

Page 50: Constraint Satisfaction Problems - Yale University · 2019. 11. 17. · Constraint Satisfaction Problems •In a typical searchproblem –stateis a “black box” –any data structure

Summary• CSPs are a special kind of problem:

– states defined by values of a fixed set of variables– goal test defined by constraints on variable values

• Backtracking = depth-first search with one variable assigned per node

• 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


Recommended