1 / 33

Constraint Satisfaction Problem: Map Coloring and N-Queens

Understand the concept of Constraint Satisfaction Problems (CSPs) and how to solve them using techniques like backtracking search and heuristics. Explore examples of CSPs such as map coloring and the N-Queens problem.

jbauder
Télécharger la présentation

Constraint Satisfaction Problem: Map Coloring and N-Queens

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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 ? ?

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. CSP Example: Map Coloring (cont.) • Most-constrained-variable heuristic A C G B D F E

  10. CSP Example: Map Coloring (cont.) • Most-constrained-variable heuristic A C G B D F E

  11. CSP Example: Map Coloring (cont.) • Most-constrained-variable heuristic A C G B D F E

  12. CSP Example: Map Coloring (cont.) • Most-constrained-variable heuristic A C G B D F E

  13. CSP Example: Map Coloring (cont.) • Most-constrained-variable heuristic A C G B D F E

  14. CSP Example: Map Coloring (cont.) • Most-constrained-variable heuristic A C G B D F E

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 8-Queens Example 1 2 2 2 2 2 1 1 3 3 2 2 2 3 1 1

  32. 8-Queens Example 1 1 3 2 2 3 3 3 1 0 2 2 1 1 2 1

  33. 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

More Related