Constraint Propagation - PowerPoint PPT Presentation

About This Presentation
Title:

Constraint Propagation

Description:

(Waltz, 1975; Mackworth, 1977) Constraint Propagation. 15. Edge Labeling as a CSP ... (Waltz, 1975; Mackworth, 1977) Constraint Propagation. 22. General CP for ... – PowerPoint PPT presentation

Number of Views:259
Avg rating:3.0/5.0
Slides: 65
Provided by: JeanClaud80
Category:

less

Transcript and Presenter's Notes

Title: Constraint Propagation


1
Constraint Propagation
2
Constraint Propagation
  • is the process of determining how the
    possible values of one variable affect the
    possible values of other variables

3
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 Ys domain
    any value that is inconsistent with v

4
Map Coloring
5
Map Coloring
6
Map Coloring
7
Map Coloring
8
? constraint propagation
9
Edge Labeling in Computer Vision
Russell and Norvig Chapter 24, pages 745-749
10
Edge Labeling
11
Edge Labeling
12
Edge Labeling
13
Edge Labeling
14
Junction Label Sets
(Waltz, 1975 Mackworth, 1977)
15
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

16
Edge Labeling
17
Edge Labeling
18
Edge Labeling


19
Edge Labeling


20
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

21
CP Algorithm for Edge Labeling
  • Associate with every junction its label set
  • contradiction ? false
  • Q ? stack of all junctions
  • while Q is not empty and not contradiction do
  • J ? UNSTACK(Q)
  • For every junction K adjacent to J do
  • If REMOVE-ARC-INCONSISTENCIES(J,K) then
  • STACK(K,Q)

(Waltz, 1975 Mackworth, 1977)
22
General CP for Binary Constraints
  • Algorithm AC3
  • contradiction ? false
  • Q ? stack of all variables
  • while Q is not empty and not contradiction do
  • X ? UNSTACK(Q)
  • For every variable Y adjacent to X do
  • If REMOVE-ARC-INCONSISTENCIES(X,Y) then
  • STACK(Y,Q)

23
General CP for Binary Constraints
  • Algorithm AC3
  • contradiction ? false
  • Q ? stack of all variables
  • while Q is not empty and not contradiction do
  • X ? UNSTACK(Q)
  • For every variable Y adjacent to X do
  • If REMOVE-ARC-INCONSISTENCY(X,Y) then
  • STACK(Y,Q)
  • REMOVE-ARC-INCONSISTENCY(X,Y)
  • removed ? false
  • For every value y in the domain of Y do
  • If there exists no value x in the domain of X
    such that the constraints on (x,y) is satisfied
    then
  • Remove y from the domain of Y
  • If Y is empty then contradiction ? true
  • removed ? true
  • Return removed

24
Complexity Analysis of AC3
  • n number of variables
  • d number of values per variable
  • s maximum number of constraints on a
    pair of variables
  • Each variables is inserted in Q up to d times
  • REMOVE-ARC-INCONSISTENCY takes O(d2) time
  • CP takes O(n s d3) time

25
Is AC3 All What is Needed?
NO!
26
Solving a CSP
  • Interweave constraint propagation, e.g.,
  • forward checking
  • AC3
  • and backtracking
  • Take advantage of the CSP structure

27
4-Queens Problem
28
4-Queens Problem
29
4-Queens Problem
30
4-Queens Problem
31
4-Queens Problem
32
4-Queens Problem
33
4-Queens Problem
34
4-Queens Problem
35
4-Queens Problem
36
4-Queens Problem
37
Structure of CSP
  • If the constraint graph contains multiple
    components, then one independent CSP per
    component

38
Structure of CSP
  • If the constraint graph contains multiple
    components, then one independent CSP per
    component
  • If the constraint graph is a tree (no loop),
    then the CSP can be solved efficiently

39
Constraint Tree
? (X, Y, Z, U, V, W)
40
Constraint Tree
  • Order the variables from the root to the
    leaves ? (X1, X2, , Xn)
  • For j n, n-1, , 2 do REMOVE-ARC-INCONSIST
    ENCY(Xj, Xi) where Xi is the parent of Xj
  • Assign any legal value to X1
  • For j 2, , n do
  • assign any value to Xj consistent with the value
    assigned to Xi, where Xi is the parent of Xj

41
Structure of CSP
  • If the constraint graph contains multiple
    components, then one independent CSP per
    component
  • If the constraint graph is a tree, then the CSP
    can be solved efficiently
  • Whenever a variable is assigned a value by the
    backtracking algorithm, propagate this value and
    remove the variable from the constraint graph

42
Structure of CSP
  • If the constraint graph contains multiple
    components, then one independent CSP per
    component
  • If the constraint graph is a tree, then the CSP
    can be solved in linear time
  • Whenever a variable is assigned a value by the
    backtracking algorithm, propagate this value and
    remove the variable from the constraint graph

43
Over-Constrained Problems
  • Weaken an over-constrained problem by
  • Enlarging the domain of a variable
  • Loosening a constraint
  • Removing a variable
  • Removing a constraint

44
Non-Binary Constraints
  • So far, all constraints have been binary (two
    variables) or unary (one variable)
  • Constraints with more than 2 variables would be
    difficult to propagate
  • Theoretically, one can reduce a constraint with
    kgt2 variables to a set of binary constraints by
    introducing additional variables

45
When to Use CSP Techniques?
  • When the problem can be expressed by a set of
    variables with constraints on their values
  • When constraints are relatively simple (e.g.,
    binary)
  • When constraints propagate well (AC3 eliminates
    many values)
  • When the solutions are densely distributed in
    the space of possible assignments

46
Summary
  • Forward checking
  • Constraint propagation
  • Edge labeling in Computer Vision
  • Interweaving CP and backtracking
  • Exploiting CSP structure
  • Weakening over-constrained CSP

47
Game Playing
48
Games as search problems
  • Chess, Go
  • Simulation of war (war game)
  • ??????? ??
  • Claude Shannon, Alan Turing ? Chess program
    (1950??)

49
Contingency problems
  • The opponent introduces uncertainty
  • ?????? co-work? ??
  • ?????? co-work??? ??
  • Hard to solve ? in chess, 35100 possible nodes,
    1040 different legal positions
  • Time limits ? how to make the best use of time to
    reach good decisions
  • Pruning, heuristic evaluation function

50
Perfect decisions in two person games
  • The initial state, A set of operators, A terminal
    test, A utility function (payoff function)
  • Mini-max algorithm,
  • Negmax algorithms

51
Mini-max algorithm(AND-OR tree)
52
???? ??
53
Negmax
  • Knuth and Moore (1975)
  • F(n) f(n), if n has no successors
  • F(n) max-F(n1), , -F(nk),
  • if n has successors n1, , nk

54
The Negmax formalism
55
Imperfect Decisions
  • utility function ? evaluation
  • terminal test ? cutoff test
  • Evaluation function an estimate of the
    utility of the game from a given position
  • Chess ? material value (??? ??)
  • Weighted linear function ?
  • w1f1w2f2.wnfn

56
Cutting off search
  • To set a fixed depth limit, so that the cutoff
    test succeeds for all nodes at or below depth d ?
    iterative deepening until time runs out ? ??? ??
    ? ??
  • Quiescent posiiton unlikely to exhibit wild
    swings in value in near future
  • Quiescent search Non-quiescent search ? extra
    search to find quiescent position
  • Horizon problem

57
Alpha-beta pruning
  • Eliminate unnecessary evaluations
  • Pruning

58
Alpha-beta pruning
Alpha cutoff Beta cutoff
59
Negmax representation
60
Example
61
Games with Chance
  • Chance nodes ? expected value
  • Backgammon, ???
  • Expectimax value

62
A backgammon position
63
Comparision
MAX
A
A
2
A
1
A
2
1
40.9
1.3
21
2.1
DICE
.9
.1
.9
.1
.9
.1
.9
.1
20
30
1
400
MIN
2
3
1
4
20
20
30
30
1
1
400
400
2
2
3
3
1
1
4
4
64
??
  • 5.6, 5.8, 5.11, 5.15, 5.16, 5.17
Write a Comment
User Comments (0)
About PowerShow.com