Nonbinary Constraints - PowerPoint PPT Presentation

About This Presentation
Title:

Nonbinary Constraints

Description:

Relation on 2 variables identifying those pairs of values ... 3 pigeons in 2 holes. Non-binary model. alldifferent(X1,X2,X3) is not GAC. Binary model ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 31
Provided by: rupert7
Category:

less

Transcript and Presenter's Notes

Title: Nonbinary Constraints


1
Non-binary Constraints
  • Toby Walsh
  • tw_at_cs.york.ac.uk

2
Outline
  • Definition of non-binary constraints
  • Modeling with non-binary constraints
  • Constraint propagation with non-binary
    constraints
  • Practical benefits case study
  • Golomb rulers

3
Definitions
  • Binary constraint
  • Relation on 2 variables identifying those pairs
    of values disallowed (nogoods)
  • E.g. not-equals constraint X1 \ X2.
  • Non-binary constraint
  • Relation on 3 or more variables identifying
    tuples of values disallowed
  • E.g. alldifferent(X1,X2,X3).

4
Some non-binary examples
  • Timetabling
  • Variables Lecture1. Lecture2,
  • Values time1, time2,
  • Constraint that lectures do not conflict
  • alldifferent(Lecture1,Lecture2,).

5
Some non-binary examples
  • Scheduling
  • Variables Job1. Job2,
  • Values machine1, machine2,
  • Constraint on number of jobs on each machine
  • atmost(2,Job1,Job2,,machine1),
  • atmost(1,Job1,Job2,,machine2).

6
Why use non-binary constraints?
  • Binary constraints are NP-complete
  • Any non-binary constraint can be represented
    using binary constraints
  • E.g. alldifferent(X1,X2,X3) is equivalent to
    X1 \ X2, X1 \ X3, X2 \ X3
  • In theory therefore theyre not needed
  • But in practice, they are!

7
Modeling with non-binary constraints
  • Benefits include
  • Compact, declarative specifications
  • (discussed next)
  • Efficient constraint propagation
  • (discussed after next section)

8
Modeling with non-binary constraints
  • Consider writing your own alldifferent
    constraint
  • alldifferent().
  • alldifferent(HeadTail)-
  • onedifferent(Head,Tail),
  • alldifferent(Tail).
  • onedifferent(El,).
  • onedifferent(El,HeadTail)-
  • El \ Head,
  • onedifferent(El,Tail).

9
Modeling with non-binary constraints
  • Its possible but its not very pleasant!
  • Nor is it very compact
  • alldifferent(X1,Xn) expands into n(n-1)/2
    binary not-equals constraints, Xi \ Xj
  • one non-binary constraint or O(n2) binary
    constraints?

10
Theoretical comparison
  • Constraint algorithms
  • Tree search (labeling)
  • Constraint propagation at each node
  • Binary constraint propagation
  • Arc-consistency
  • Non-binary constraint propagation
  • Generalized arc-consistency

11
Binary constraint propagation
  • Arc-consistency (AC) is very popular
  • A binary constraint r(X1,X2) is AC iff for every
    value for X1, there is a consistent value (often
    called support) for X2 and vice versa
  • We can prune values that are not supported
  • A problem is AC iff every constraint is AC
  • AC offers good tradeoff between amount of pruning
    and computational effort

12
Binary constraint propagation
  • X2 \ X3 is AC
  • X1 \ X2 is not AC
  • X21 has no support so can this value can be
    pruned
  • X2 \ X3 is now not AC
  • No support for X32
  • This value can also be pruned
  • Problem is now AC

1
X1
\
1,2
2,3
\
X3
X2
13
Non-binary constraint propagation
  • generalized arc-consistency (GAC) for non-binary
    constraints
  • A non-binary constraint is GAC iff for every
    value for a variable there are consistent values
    for all other variables in the constraint
  • We can prune values that are not supported
  • GAC AC on binary constraints

14
GAC is stronger than AC
  • Pigeonhole problem
  • 3 pigeons in 2 holes
  • Non-binary model
  • alldifferent(X1,X2,X3) is not GAC
  • Binary model
  • X1 \ X2, X1 \ X3, X2 \ X3 are all AC

2,3
X1
\
\
2,3
2,3
\
X3
X2
15
Using GAC within search
  • Tree search
  • Instantiate chosen variable with value (label)
  • Maintain (incrementally enfoce) some level of
    consistency
  • Maintaining GAC can be exponentially better than
    maintaining AC
  • Construct generalized pigeonhole example on which
    well explore exponentially fewer nodes

16
Achieving GAC
  • By exploiting semantics of constraints, we can
    often enforce GAC efficiently
  • Consider alldifferent(X1,Xn) with each Xi
    having domain of size m
  • Generic GAC algorithm runs in O(mn)
  • Specialized GAC algorithm for alldifferent runs
    in O(m2 n2) based on network flow

17
Practical benefits
  • How do these (theoretical) differences affect you
    practically?
  • Case study
  • Golomb rulers

18
Golomb rulers
  • Mark ticks on a ruler
  • Distance between any two (not necessarily
    consecutive) ticks is distinct
  • Applications in radio-astronomy
  • http//csplib.cs.strath.ac.uk/prob006

19
Golomb rulers
  • Simple solution
  • Exponentially long ruler
  • Ticks at 0,1,3,7,15,31,63,
  • Goal is to find miminal length rulers
  • turn optimization problem into sequence of
    satisfaction problems
  • Is there a ruler of length m?
  • Is there a ruler of length m-1?
  • .

20
Optimal Golomb rulers
  • Known for up to 23 ticks
  • Distributed internet project to find large rulers
  • 0,1
  • 0,1,3
  • 0,1,4,6
  • 0,1,4,9,11
  • 0,1,4,10,12,17
  • 0,1,4,10,18,23,25

21
Modeling the Golomb ruler
  • Variable, Xi for each tick
  • Value is position on ruler
  • Naïve model with quaternary constraints
  • For all i,j,k,l Xi-Xj \ Xk-Xl

22
Problems with naïve model
  • Large number of quaternary constraints
  • O(n4) constraints
  • Looseness of quaternary constraints
  • Many values satisfy Xi-Xj \ Xk-Xl
  • Limited pruning

23
A better non-binary model
  • Introduce auxiliary variables for inter-tick
    distances
  • Dij Xi-Xj
  • O(n2) ternary constraints
  • Post single large non-binary constraint
  • alldifferent(D11,D12,).
  • Relatively tight!

24
Other modeling issues
  • Symmetry
  • A ruler can always be reversed!
  • Break this symmetry by adding constraint
  • D12 lt Dn-1,n
  • Also break symmetry on Xi
  • X1 lt X2 lt Xn
  • Such tricks important in many problems

25
Other modeling issues
  • Additional (implied) constraints
  • Dont change set of solutions
  • But may reduce search significantly
  • E.g. D12 lt D13, D23 lt D24,
  • Pure declarative specifications are not enough!

26
Solving issues
  • Labeling strategies often very important
  • Smallest domain often good idea
  • Focuses on hardest part of problem
  • Best strategy for Golomb ruler is instantiate
    variables in strict

27
Experimental results
28
Something to try at home?
  • Circular (or modular) Golomb rulers
  • 2-d Golomb rulers

29
Conclusions
  • Benefits of non-binary constraints
  • Compact, declarative models
  • Efficient and effective constraint propagation
  • Supported by many constraint toolkits
  • alldifferent, atmost, cardinality,

30
Conclusions
  • Modeling decisions
  • Auxiliary variables
  • Implied constraints
  • Symmetry breaking constraints
  • More to constraints than just declarative problem
    specifications!
Write a Comment
User Comments (0)
About PowerShow.com