Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Constraint Satisfaction Problems. 2 Intro Example: 8-Queens Generate-and-test: 8 8 combinations.

Similar presentations


Presentation on theme: "1 Constraint Satisfaction Problems. 2 Intro Example: 8-Queens Generate-and-test: 8 8 combinations."— Presentation transcript:

1 1 Constraint Satisfaction Problems

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

3 3 Intro Example: 8-Queens

4 4 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 Set of constraints {C 1, C 2, …, C p } Each constraint C k 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 5 Example: 8-Queens Problem 8 variables X i, i = 1 to 8 Domain for each variable {1,2,…,8} Constraints are of the forms: X i = k  X j  k for all j = 1 to 8, j  i X i = k i, X j = k j  |i-j|  | k i - k j |  for all j = 1 to 8, j  i

6 6 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 WA NT SA Q NSW V T WA NT SA Q NSW V T

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

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

9 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 10 Questions 1. Which variable X should be assigned a value next? 2. In which order should its domain D be sorted? 3. In which order should constraints be verified?

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

12 12 Choice of Variable 8-queen

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

14 14 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 WA NT SA Q NSW V T SA

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

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

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

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

19 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 20 Map Coloring WANTQNSWVSAT RGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGB T WA NT SA Q NSW V

21 21 Map Coloring WANTQNSWVSAT RGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGB RGBGBRGBRGBRGBRGBRGBRGBGBGBRGBRGB T WA NT SA Q NSW V

22 22 WANTQNSWVSAT RGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGB RGBGBRGBRGBRGBRGBRGBRGBGBGBRGBRGB RBGRBRBRGBRGBBRGBRGB Map Coloring T WA NT SA Q NSW V

23 23 Map Coloring WANTQNSWVSAT RGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGB RGBGBRGBRGBRGBRGBRGBRGBGBGBRGBRGB RBGRBRBRGBRGBBRGBRGB RBGRBRGBRGB Impossible assignments that forward checking do not detect T WA NT SA Q NSW V

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

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

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

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

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

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

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

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

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

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

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

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

36 36 Edge Labeling in Computer Vision

37 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 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 39 Junction Label Sets (Waltz, 1975; Mackworth, 1977)

40 40 Edge Labeling

41 41 Edge Labeling

42 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 43 Edge Labeling

44 44 Edge Labeling

45 45 Edge Labeling

46 46 Edge Labeling

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


Download ppt "1 Constraint Satisfaction Problems. 2 Intro Example: 8-Queens Generate-and-test: 8 8 combinations."

Similar presentations


Ads by Google