1 / 48

Constraint Satisfaction Problems

Constraint Satisfaction Problems. Intro Example: 8-Queens. Generate-and-test: 8 8 combinations. Intro Example: 8-Queens. Constraint Satisfaction Problem. Set of variables {X 1 , X 2 , …, X n } Each variable X i has a domain D i of possible values Usually D i is discrete and finite

connie
Download Presentation

Constraint Satisfaction Problems

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

More Related