Constraint Satisfaction Problems - PowerPoint PPT Presentation

constraint satisfaction problems n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Constraint Satisfaction Problems PowerPoint Presentation
Download Presentation
Constraint Satisfaction Problems

play fullscreen
1 / 48
Constraint Satisfaction Problems
151 Views
Download Presentation
connie
Download Presentation

Constraint Satisfaction Problems

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Constraint Satisfaction Problems

  2. Intro Example: 8-Queens Generate-and-test:88 combinations

  3. Intro Example: 8-Queens

  4. Constraint Satisfaction Problem • Set of variables {X1, X2, …, Xn} • Each variable Xi has a domain Di of possible values • Usually Di is discrete and finite • Set of constraints {C1, C2, …, Cp} • Each constraint Ck involves a subset of variables and specifies the allowable combinations of values of these variables • Assign a value to every variable such that all constraints are satisfied

  5. Example: 8-Queens Problem • 8 variables Xi, i = 1 to 8 • Domain for each variable {1,2,…,8} • Constraints are of the forms: • Xi = k  Xj k for all j = 1 to 8, ji • Xi = ki, Xj= kj |i-j| | ki - kj| • for all j = 1 to 8, ji

  6. NT Q WA SA NT NSW Q V WA SA T NSW V T Example: Map Coloring • 7 variables {WA,NT,SA,Q,NSW,V,T} • Each variable has the same domain {red, green, blue} • No two adjacent variables have the same value: • WANT, WASA, NTSA, NTQ, SAQ, SANSW, SAV,QNSW, NSWV

  7. Binary constraints NT Q WA NSW SA V T Constraint Graph Two variables are adjacent or neighbors if they are connected by an edge or an arc

  8. {} NT Q WA WA=red WA=green WA=blue SA NSW V WA=red NT=green WA=red NT=blue T WA=red NT=green Q=red WA=red NT=green Q=blue Map Coloring

  9. Backtracking Algorithm CSP-BACKTRACKING(PartialAssignment a) • If a is complete then return a • X select an unassigned variable • D  select an ordering for the domain of X • For each value v in D do • If v is consistent with a then • Add (X= v) to a • result CSP-BACKTRACKING(a) • If resultfailure then return result • Return failure CSP-BACKTRACKING({})

  10. Questions • Which variable X should be assigned a value next? • In which order should its domain D be sorted? • In which order should constraints be verified?

  11. NT WA NT Q WA SA SA NSW V T Choice of Variable • Map coloring

  12. Choice of Variable • 8-queen

  13. Choice of Variable Most-constrained-variable heuristic: Select a variable with the fewest remaining values = Fail First Principle

  14. NT Q WA SA SA NSW V T Choice of Variable Most-constraining-variable heuristic: Select the variable that is involved in the largest number of constraints on other unassigned variables = Fail First Principle again

  15. NT WA NT Q WA SA NSW V {} T Choice of Value

  16. NT WA NT Q WA SA NSW V {blue} T Choice of Value Least-constraining-value heuristic: Prefer the value that leaves the largest subset of legal values for other unassigned variables

  17. Choice of Constraint to Test Most-constraining-Constraint: Prefer testing constraints that are more difficult to satisfy = Fail First Principle

  18. Constraint Propagation … … is the process of determining how the possible values of one variable affect the possible values of other variables

  19. Forward Checking After a variable X is assigned a value v, look at each unassigned variable Y that is connected to X by a constraint and deletes from Y’s domain any value that is inconsistent with v

  20. NT Q WA NSW SA T V Map Coloring

  21. NT Q WA NSW SA T V Map Coloring

  22. NT Q WA NSW SA T V Map Coloring

  23. NT Q WA NSW SA T V Impossible assignments that forward checking do not detect Map Coloring

  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} Example: 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} Example: 4-Queens Problem

  26. X1 {1,2,3,4} X2 { , ,3,4} 1 2 3 4 1 2 3 4 X3 { ,2,,4} X4 { ,2,3, } Example: 4-Queens Problem

  27. X1 {1,2,3,4} X2 { ,,3,4} 1 2 3 4 1 2 3 4 X3 {,2,,4} X4 {,2,3,} Example: 4-Queens Problem

  28. X1 {1,2,3,4} X2 { ,,3,4} 1 2 3 4 1 2 3 4 X3 { ,,,} X4 { ,2,3, } Example: 4-Queens Problem

  29. X1 { ,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} Example: 4-Queens Problem BT

  30. X1 {,2,3,4} X2 {,,,4} X3 {1, ,3, } X4 {1, ,3,4} Example: 4-Queens Problem 1 2 3 4 1 BT 2 3 4

  31. X1 {,2,3,4} X2 {,,,4} X3 {1, ,3, } X4 {1, ,3,4} Example: 4-Queens Problem 1 2 3 4 1 BT 2 3 4

  32. X1 {,2,3,4} X2 {,,,4} X3 {1, , , } X4 {1, ,3, } Example: 4-Queens Problem 1 2 3 4 1 BT 2 3 4

  33. X1 {,2,3,4} X2 {,,,4} X3 {1, , , } X4 {1, ,3, } Example: 4-Queens Problem 1 2 3 4 1 BT 2 3 4

  34. X1 {,2,3,4} X2 {,,,4} X3 {1, , , } X4 { , ,3, } Example: 4-Queens Problem 1 2 3 4 1 BT 2 3 4

  35. X1 {,2,3,4} X2 {,,,4} X3 {1, , , } X4 { , ,3, } Example: 4-Queens Problem 1 2 3 4 1 BT 2 3 4

  36. Edge Labeling in Computer Vision

  37. Trihedral Objects • Objects in which exactly three plane surfaces come together at each vertex. • Goal: label a 2-D object to produce a 3-D object

  38. Labels of Edges • Convex edge: • two surfaces intersecting at an angle greater than 180° • Concave edge • two surfaces intersecting at an angle less than 180° • + convex edge, both surfaces visible • − concave edge, both surfaces visible •  convex edge, only one surface is visible and it is on the right side of 

  39. - - + + - + + - - + + - - - - + + + - + Junction Label Sets (Waltz, 1975; Mackworth, 1977)

  40. Edge Labeling

  41. + + + + + - - + + + + + Edge Labeling

  42. Edge Labeling as a CSP • A variable is associated with each junction • The domain of a variable is the label set of the corresponding junction • Each constraint imposes that the values given to two adjacent junctions give the same label to the joining edge

  43. - + + - - + + - + Edge Labeling

  44. + - - + + - - - - + + Edge Labeling

  45. + + + + - + + - - + + Edge Labeling + +

  46. - - + + + + + - - Edge Labeling + +

  47. Removal of Arc Inconsistencies REMOVE-ARC-INCONSISTENCIES(J,K) • removed  false • X  label set of J • Y  label set of K • For every label y in Y do • If there exists no label x in X such that the constraint (x,y) is satisfied then • Remove y from Y • If Y is empty then contradiction  true • removed  true • Label set of K  Y • Return removed

  48. CP Algorithm for Edge Labeling • Associate with every junction its label set • Q stack of all junctions • while Q is not empty do • J UNSTACK(Q) • For every junction K adjacent to J do • If REMOVE-ARC-INCONSISTENCIES(J,K) then • If K’s domain is non-empty then STACK(K,Q) • Else return false (Waltz, 1975; Mackworth, 1977)