Constraint Satisfaction

1 / 33

# Constraint Satisfaction - PowerPoint PPT Presentation

Constraint Satisfaction. The problem is defined through a set of variables and a set of domains variables can have possible values specified by the problem constraints describe allowable combinations of values for a subset of the variables State in a CSP

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'Constraint Satisfaction' - oriana

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Constraint Satisfaction
• The problem is defined through a set of variables and a set of domains
• variables can have possible values specified by the problem
• constraints describe allowable combinations of values for a subset of the variables
• State in a CSP
• defined by an assignment of values to some or all variables
• Solution to a CSP
• must assign values to all variables
• must satisfy all constraints
CSP Approach
• The goal test is decomposed into a set of constraints on variables
• checks for violation of constraints before new nodes are generated
• must backtrack if constraints are violated
• forward-checking looks ahead to detect unsolvability
• based on the current values of constraint variables
CSP Example: Map Coloring
• Color a map with three colors so that adjacent countries have different colors

variables:

A, B, C, D, E, F, G

A

C

G

values:

{red, green, blue}

?

B

?

D

constraints:

“no neighboring regions

have the same color”

F

?

E

?

?

Constraint Graph
• Visual representation of a CSP
• variables are nodes
• arcs are constraints

A

C

G

the map coloring example

represented as constraint graph

B

D

E

F

SEND MORE MONEY - Model
• Variables
• S, E, N, D, M, O, R, Y
• Domain
• {0, …, 9}
• Constraints
• Distinct variables, S ≠ E, M ≠ S, …
• S*1000 + E*100 + N*10 + D

+

M*1000 + O*100 + R*10 + E

=

M*10000 + O*1000 + N*100 + E*10 + Y

• The solution to this puzzle is O = 0, M = 1, Y = 2, E = 5, N = 6, D = 7, R = 8, and S = 9.

S E N D

+ M O R E

= M O N E Y

CSP as Incremental Search Problem
• Initial state
• all (or at least some) variables unassigned
• Successor function
• assign a value to an unassigned variable
• must not conflict with previously assigned variables
• Goal test
• all variables have values assigned
• no conflicts possible
• not allowed in the successor function
• Path cost
• e.g. a constant for each step
• may be problem-specific
Backtracking Search for CSPs
• A variation of depth-first search that is often used for CSPs
• values are chosen for one variable at a time
• if no legal values are left, the algorithm backs up and changes a previous assignment
• very easy to implement
• initial state, successor function, goal test are standardized
• not very efficient
• can be improved by trying to select more suitable unassigned variables first
Heuristics for CSP
• Most-constrained variable (minimum remaining values, “fail-first”)
• variable with the fewest possible values is selected
• tends to minimize the branching factor
• Most-constraining variable
• variable with the largest number of constraints on other unassigned variables
• Least-constraining value
• for a selected variable, choose the value that leaves more freedom for future choices
CSP Example: Map Coloring (cont.)
• Most-constrained-variable heuristic

A

C

G

B

D

F

E

CSP Example: Map Coloring (cont.)
• Most-constrained-variable heuristic

A

C

G

B

D

F

E

CSP Example: Map Coloring (cont.)
• Most-constrained-variable heuristic

A

C

G

B

D

F

E

CSP Example: Map Coloring (cont.)
• Most-constrained-variable heuristic

A

C

G

B

D

F

E

CSP Example: Map Coloring (cont.)
• Most-constrained-variable heuristic

A

C

G

B

D

F

E

CSP Example: Map Coloring (cont.)
• Most-constrained-variable heuristic

A

C

G

B

D

F

E

Analyzing Constraints
• Forward checking
• when a value X is assigned to a variable, inconsistent values are eliminated for all variables connected to X
• identifies “dead” branches of the tree before they are visited

X1

{1,2,3,4}

X2

{1,2,3,4}

1

2

3

4

1

2

3

4

X3

{1,2,3,4}

X4

{1,2,3,4}

4-Queens Problem

X1

{1,2,3,4}

X2

{1,2,3,4}

1

2

3

4

1

2

3

4

X3

{1,2,3,4}

X4

{1,2,3,4}

4-Queens Problem

X1

{1,2,3,4}

X2

{1,2,3,4}

1

2

3

4

1

2

3

4

X3

{1,2,3,4}

X4

{1,2,3,4}

4-Queens Problem

X1

{1,2,3,4}

X2

{1,2,3,4}

1

2

3

4

1

2

3

4

X3

{1,2,3,4}

X4

{1,2,3,4}

4-Queens Problem

X1

{1,2,3,4}

X2

{1,2,3,4}

1

2

3

4

1

2

3

4

X3

{1,2,3,4}

X4

{1,2,3,4}

4-Queens Problem

X1

{1,2,3,4}

X2

{1,2,3,4}

1

2

3

4

1

2

3

4

X3

{1,2,3,4}

X4

{1,2,3,4}

4-Queens Problem

Backtracking

X1

{1,2,3,4}

X2

{1,2,3,4}

1

2

3

4

1

2

3

4

X3

{1,2,3,4}

X4

{1,2,3,4}

4-Queens Problem

X1

{1,2,3,4}

X2

{1,2,3,4}

1

2

3

4

1

2

3

4

X3

{1,2,3,4}

X4

{1,2,3,4}

4-Queens Problem

X1

{1,2,3,4}

X2

{1,2,3,4}

1

2

3

4

1

2

3

4

X3

{1,2,3,4}

X4

{1,2,3,4}

4-Queens Problem

X1

{1,2,3,4}

X2

{1,2,3,4}

1

2

3

4

1

2

3

4

X3

{1,2,3,4}

X4

{1,2,3,4}

4-QueensProblem

X1

{1,2,3,4}

X2

{1,2,3,4}

1

2

3

4

1

2

3

4

X3

{1,2,3,4}

X4

{1,2,3,4}

4-Queens Problem

X1

{1,2,3,4}

X2

{1,2,3,4}

1

2

3

4

1

2

3

4

X3

{1,2,3,4}

X4

{1,2,3,4}

4-Queens Problem

X1

{1,2,3,4}

X2

{1,2,3,4}

1

2

3

4

1

2

3

4

X3

{1,2,3,4}

X4

{1,2,3,4}

4-Queens Problem
Local Search and CSP
• Local search (iterative improvement) is frequently used for constraint satisfaction problems
• values are assigned to all variables
• modification operators move the configuration towards a solution
• Often called heuristic repair methods
• repair inconsistencies in the current configuration
• Simple strategy: min-conflicts
• minimizes the number of conflicts with other variables
• solves many problems very quickly
8-Queens with Min-Conflicts
• One queen in each column
• usually several conflicts
• Calculate the number of conflicts for each possible position of a selected queen
• Move the queen to the position with the least conflicts
8-Queens Example

1

2

2

2

2

2

1

1

3

3

2

2

2

3

1

1

8-Queens Example

1

1

3

2

2

3

3

3

1

0

2

2

1

1

2

1

8-Queens Example
• Solution found in 4 steps
• Min-conflicts heuristic
• Uses additional heuristics to select the “best” queen to move
• try to move out of the corners
• similar to least-constraining value heuristics