Constraint Satisfaction Introduction to Artificial Intelligence COS302 Michael L. Littman Fall 2001.

30
Constraint Constraint Satisfaction Satisfaction Introduction to Introduction to Artificial Intelligence Artificial Intelligence COS302 COS302 Michael L. Littman Michael L. Littman Fall 2001 Fall 2001

Transcript of Constraint Satisfaction Introduction to Artificial Intelligence COS302 Michael L. Littman Fall 2001.

Constraint SatisfactionConstraint Satisfaction

Introduction toIntroduction toArtificial IntelligenceArtificial Intelligence

COS302COS302

Michael L. LittmanMichael L. Littman

Fall 2001Fall 2001

AdministrationAdministration

HW 1 due, HW 2 assigned (3 HW 1 due, HW 2 assigned (3 question parts!)question parts!)

Example CSPExample CSP

3-coloring: color each node R,B,G. 3-coloring: color each node R,B,G. Connected pairs must differ.Connected pairs must differ.

V3

V4

V2

V6

V5 V1

Formal DefinitionFormal Definition

Constraint satisfaction problem Constraint satisfaction problem (CSP): {V, D, C}.(CSP): {V, D, C}.

V is set of variables V1…Vn.V is set of variables V1…Vn.

Each variable assigned a value from Each variable assigned a value from the domain D.the domain D.

C is set of constraints: each a list of C is set of constraints: each a list of vars, legal assignment set.vars, legal assignment set.

CSP for Graph ProblemCSP for Graph Problem

V = {V1, V2, V3, V4, V5, V6}V = {V1, V2, V3, V4, V5, V6}

D = {R, G, B}D = {R, G, B}

C = {(V1, V5) : { C = {(V1, V5) : { (B,R), (B,G), (R,B), (B,R), (B,G), (R,B), (R,G), (G,B), (G,R)(R,G), (G,B), (G,R) }, },

(V2, V5) :{ (V2, V5) :{ (B,R), (B,G), (R,B), (B,R), (B,G), (R,B), (R,G), (G,B), (G,R)(R,G), (G,B), (G,R) }, },

… … }}

Solve via SearchSolve via Search

In a state, variables V1 through Vk In a state, variables V1 through Vk are assigned and V{k+1} through are assigned and V{k+1} through Vn are unassigned.Vn are unassigned.

Start state: All unassigned.Start state: All unassigned.

G(s): All assigned, constraints G(s): All assigned, constraints satisfied.satisfied.

N(s): One more assignedN(s): One more assigned

Search ExampleSearch Example

ss00 = ?????? = ??????

N(sN(s00) = {R?????, G?????, B?????}) = {R?????, G?????, B?????}

What search algorithms could we What search algorithms could we use?use?

BFS? DFS?BFS? DFS?

DFS Looks DumbDFS Looks Dumb

V3

V4

V2

V6

V5 V1

Making DFS SmarterMaking DFS Smarter

Like A*, we can use a little bit of Like A*, we can use a little bit of generic knowledge to guide the generic knowledge to guide the search process. Idea?search process. Idea?

h(s) = infinity if constraints violated h(s) = infinity if constraints violated by partial assignmentby partial assignment

Don’t make an assignment if it Don’t make an assignment if it violates constraintsviolates constraints

Don’t peek.

Consistency CheckingConsistency Checking

Still flails a bit…Still flails a bit…

V3

V4

V2

V6

V5 V1

V4

V3 V2

Forward CheckingForward Checking

Track set of (remaining) legal values Track set of (remaining) legal values for each variable. Fail if any for each variable. Fail if any variable’s set goes empty.variable’s set goes empty.

How express this as a heuristic How express this as a heuristic function h(s)?function h(s)?

Let’s Try ItLet’s Try It

Yay!Yay!

V3

V4

V2

V6

V5 V1

Computational OverheadComputational Overhead

How would you implement forward How would you implement forward checking?checking?

Could the “empty domain” Could the “empty domain” calculation be performed calculation be performed incrementally?incrementally?

Constraint PropagationConstraint Propagation

As values are eliminated from a As values are eliminated from a variable’s domain, this can start a variable’s domain, this can start a cascade effect on other variables.cascade effect on other variables.

Expensive operation, so often Expensive operation, so often performed only before search performed only before search begins. Can be quite powerful…begins. Can be quite powerful…

Constraint PropagationConstraint Propagation

Solved without searchSolved without search

V3

V4

V2

V6

V5 V1

Example CSPsExample CSPs

Graph coloringGraph coloring• Real applications include hundreds Real applications include hundreds

of thousands of nodesof thousands of nodes

VLSI board layoutVLSI board layout

8 queens, cryptarithmetic8 queens, cryptarithmetic

Visual scene interpretation: WaltzVisual scene interpretation: Waltz

Minesweeper…Minesweeper…

Minesweeper ExampleMinesweeper Example

Number is count of bombs in 8 Number is count of bombs in 8 adjacent cellsadjacent cells

00

2211

111100

00 00

00 00

11 11

Minesweeper CSPMinesweeper CSP

V = { V1, …, V8 }, D = {B, S}V = { V1, …, V8 }, D = {B, S}

C = { C = { (V1, V2) : { (B,S), (S,B) },(V1, V2) : { (B,S), (S,B) },

(V1, V2, V3): {(S,S,B), (S,B,S), (V1, V2, V3): {(S,S,B), (S,B,S), (B,S,S)}, (B,S,S)}, …}…}

00

2211

111100

00 00

00 00

11 11

V1V1V2V2

V3V3

V4V4

V8V8 V7V7 V6V6 V5V5

Using CSP to DecideUsing CSP to Decide

00

2211

111100

00 00

00 00

11 11

V1V1V2V2

SS

V4V4

V8V8 V7V7 SS V5V5

How can we check if a value is How can we check if a value is forced?forced?

Waltz AlgorithmWaltz Algorithm

Each “Y” intersection can be either Each “Y” intersection can be either concave or convex. Global concave or convex. Global interpretation is key. interpretation is key.

SchedulingScheduling

Big, important use of CSPs.Big, important use of CSPs.• Makes multi-million dollar decisions Makes multi-million dollar decisions

in many industries.in many industries.• Used in space mission planning.Used in space mission planning.• Military uses.Military uses.

Large state spacesLarge state spaces

Generic CSP AlgorithmGeneric CSP Algorithm

• If all values assigned and no If all values assigned and no constraints violated, doneconstraints violated, done

• Apply consistency checkingApply consistency checking• If deadend, backtrackIf deadend, backtrack• Select variable to be assignedSelect variable to be assigned• Select value for the variableSelect value for the variable• Assign variable and recurseAssign variable and recurse

Search HeuristicsSearch Heuristics

Have some freedom in what variable Have some freedom in what variable to assign nextto assign next

• Most constrained variableMost constrained variable• Most constraining variableMost constraining variable

Freedom in value to assign to that Freedom in value to assign to that variablevariable

• Least constraining valueLeast constraining value

Implementing CPImplementing CP

Fundamental question:Fundamental question:• Given a constraint involving variables V1…Given a constraint involving variables V1…

Vk and possible values P1…Pk, remove Vk and possible values P1…Pk, remove impossible valuesimpossible values

For i = 1 to kFor i = 1 to kfor each val in Pifor each val in Pi

if not possible(V1…V{i-1} { val } if not possible(V1…V{i-1} { val } V{i+1}…Vk, legalset)V{i+1}…Vk, legalset)

Vi -= { val }, restartVi -= { val }, restartReturn P1…PkReturn P1…Pk

What’s “possible”?What’s “possible”?

Possible(V1…Vk, legalset)Possible(V1…Vk, legalset)

For l1…lk in legalsetFor l1…lk in legalset

fail = 0fail = 0

For i = 1 to kFor i = 1 to k

if li not in Vi, fail = 1if li not in Vi, fail = 1

if fail == 0, return TRUEif fail == 0, return TRUE

Return FALSEReturn FALSE

Formalizing Other CSPsFormalizing Other CSPs

CryptogramsCryptograms

Paint by NumbersPaint by Numbers

Crossword PuzzlesCrossword Puzzles

Four on the FloorFour on the Floor

BattleshipsBattleships

What to LearnWhat to Learn

Definition of a CSP: relationship to Definition of a CSP: relationship to search.search.

How to formalize problems as CSPsHow to formalize problems as CSPs

Use of improvements like Use of improvements like consistency checking and forward consistency checking and forward checkingchecking

Homework 2Homework 2

1.1. Consider the heuristic for Rush Hour of counting the Consider the heuristic for Rush Hour of counting the cars blocking the ice cream truck and adding one. (a) cars blocking the ice cream truck and adding one. (a) Show this is a relaxation by giving conditions for an Show this is a relaxation by giving conditions for an illegal move and showing what was eliminated. (b) For illegal move and showing what was eliminated. (b) For the board on the next page, show an optimal the board on the next page, show an optimal sequence of boards sequence of boards en routeen route to the goal. Label each to the goal. Label each board with the f value from the heuristic.board with the f value from the heuristic.

2.2. Describe an improved heuristic for Rush Hour. (a) Describe an improved heuristic for Rush Hour. (a) Explain why it is admissible. (b) Is it a relaxation? (c) Explain why it is admissible. (b) Is it a relaxation? (c) Label the boards from 1b with the f values from your Label the boards from 1b with the f values from your heuristic.heuristic.

Rush Hour ExampleRush Hour Example

Homework 2 (cont.)Homework 2 (cont.)

3.3. Consider the 3-coloring problem on a graph Consider the 3-coloring problem on a graph with n nodes with the additional constraint with n nodes with the additional constraint that there that there notnot be exactly 2 nodes colored be exactly 2 nodes colored blue. (a) The most direct constraint for this blue. (a) The most direct constraint for this involves all n nodes. How large is the involves all n nodes. How large is the corresponding legal assignment set for this corresponding legal assignment set for this constraint? (b) Explain how to specify this constraint? (b) Explain how to specify this constraint more compactly by breaking it constraint more compactly by breaking it down into a set of simpler constraints. How down into a set of simpler constraints. How many constraints do you add and how large many constraints do you add and how large is the legal assignment set for each one?is the legal assignment set for each one?