Title: Non-binary%20constraints
1Non-binary constraints
- Toby Walsh
- Dept of CS
- University of York
- England
2Non-binary constraints
- Bibliography
- Bacchus van Beek, AAAI-98
- Chen, PhD thesis, UAlberta, 2000
- Dechter, AAAI-90
- Mohr Masini, ECAI-88
- Regin, AAAI-94
- Stergiou Walsh, AAAI-99 IJCAI-99
- .
3Non-binary constraints
- Major contribution to competitiveness of CP
- despite academic focus on binary CSPs!
- Some classic examples
- all-different, cardinality, ...
4Non-binary constraints
- Compact declarative problem specifications
- that often run with minimal tweaking
- Efficient algorithms for enforcing high levels of
consistency - Regins specialized algorithm for a k-ary
all-different constraint - O(k2d2) compared compared to O(dk) for a
generic algorithm
5Non-binary constraints
- Comparison with binary constraints
- binary models without additional vars (binary
decompositions) - binary models with additional hidden vars (binary
encodings) - Theoretical and empirical results
6Binary decompositions
- Certain non-binary constraints decompose into
binary constraints on same vars - Sometimes called network decomposable
7Binary decompositions
- Two examples
- all-different(x1,x2,x3) x1ltgt x2, x1ltgtx3,
x2ltgtx3 - monotone(x1,x2,x3) x1 lt x2 lt x3
- One non-example
- even(x1x2x3)
8Binary decompositions
- Theoretical comparison direct
- compare pruning of vars in binary decomposition
with that in non-binary - Empirical experiments reinforce theory
- decomposing non-binary constraints can add orders
of magnitude to solution cost
9Binary consistencies
- Arc-consistency (AC)
- any assignment can be extended to a second
- Path-consistency (PC)
- any pair of assignments can be extended to a
third - Strong path-consistency (strong PC)
- AC and PC
10Binary consistencies
- Path-consistency rarely used in practice
- time complexity
- adds new (binary) constraints
- Path-consistency can be achieved with a
(generalized) arc-consistency algorithm - see later
11Binary consistencies
- Between AC and PC
- inverse and singleton consistencies
- just prune values (no additional binary
constraints) - Experiments suggest can be useful
- good pruning/time
12Binary consistencies
- Path inverse consistency (PIC)
- any assignment can be extended to two more vars
- Neighbourhood inverse consistency (NIC)
- any assignment can be extended to all vars in
immediate neighbourhood
13Binary consistencies
- Singleton arc-consistency (SAC)
- after any assignment, problem can be made AC
- Restricted path-consistency (RPC)
- problem is AC, and if any assignment is
consistent with just a single value for a 2nd var
then any 3rd var has a consistent value -
14Binary consistencies
- Simple relationships between them
- strongPC gt SAC gt PIC gt RPC gt AC
- NIC gt PIC
- NIC SAC
- NIC strongPC
-
15Non-binary consistencies
- Generalized arc-consistency (GAC)
- any assignment can be extended to all other vars
in same constraint - Efficient algorithms exist for GAC on certain
non-binary constraints - e.g. Regins all-different algorithm
16Non-binary consistencies
1,2
x1
1,2
1,2
x3
x2
x1ltgtx2, x1ltgtx3, x2ltgtx3
AC all-different(x1,x2,x3) not GAC
17Non-binary consistencies
- GAC can be used to enforce path-consistency
- given a binary CSP
- construct a ternary CSP
- CSP is PC iff CSP is GAC
18Non-binary consistencies
- Given CSP has
- vars xi with values a,b,c,...
- binary constraints R(a,b)
- Construct CSP with
- vars xij with values lta,bgt,...
- ternary constraints R(lta,bgt,ltb,cgt,ltc,agt) iff
R(a,b) R (b,a) R(c,a)
19Non-binary consistencies
- Forward checking
- forward checking (FC) on binary constraints
enforces limited form of AC - most recently instantiated var and all futures
vars are made AC - Choices about how to generalize this to
non-binary constraints
20Non-binary consistencies
- nFC0
- any constraint with one un-instantianted var
made AC - nFC1
- apply one pass of AC to each constraint and
projection involving current var and one future
var - nFC5
21Binary decompositions
- Upper and lower bound on FC
- nFC1 on non-binary gt FC on decomposition gt nFC0
on non-binary - Gaps can be exponential
- Consider n-ary all-different with n-1 values
- nFC1 takes (n-1) branches
- FC on decomposition takes (n-1)! branches
22Binary decompositions
- GAC lower bound
- GAC on non-binary gt AC on decomposition
- Gap again can be exponential
- But if we decompose too much, GACAC!
- GAC upper bound
- In general, GAC NIC, GAC PIC ..
- BUT if decomposition to clique, NIC gt GAC
23Binary decompositions
- Tighter results provable for stricter classes
- Tree decomposable constraints
- constraint graph is tree
- Triangle preserving constraints
- non-binary constraints on all triangles
24Binary decompositions
- Tree decomposable constraints
- e.g. monotone(x1,x2,x3)
- GACAC
- not surprising as AC enough to solve!
- Decomposition here doesnt lose us anything
- but even one cycle is enough for GACgtAC
25Binary decompositions
- Triangle preserving decomposition
- e.g. all-different(x1,x2,x3), quasigroups, ...
- GAC gt PIC, gap can again be exponential
- GAC SAC, strongPC
- PIC is very strong consistency to be achieving at
each node - GAC can do even better than this!
- decomposition carries a very large price
26Binary decompositions
- Experimental results
- quasigroup completion
- quasigroup existence
- Quasigroup is a Latin square
- completion is completing partially filled square
- existence is finding one with additional
properties
27Binary decompositions
- Modelling the quasigroup problem
- n2 vars, each with domain of size n
- Non-binary model
- 2n all-different constraints (one for each row
and column - Binary decomposition
- 2n cliques of not-equals constraints
28Binary decompositions
- Quasigroup completion
- Gomes Selman report heavy-tailed
distributions - Maintaining AC on binary decomposition
- problems often take long time to solve
- Maintaining GAC on all-different
- almost all problems trivial
29Binary decompositions
- Quasigroup existence
- best paper at IJCAI-93
- of interest to design theory
- Open results first proved by computer
- in some cases, only ever proved by computer
- Maintaining GAC very competitive
- compared to specialized model finders like
FINDER, SEM
30Intermission
- Mid-point of talk
- Short commercial break
- CSPLib a benchmark library for constraints
- http//csplib.cs.strath.ac.uk
31(No Transcript)
32Why build CSPLib?
- Benchmarking
- shift field from random to more realistic
problems - Modelling
- Show-case
- Challenges
33Why not build CSPLib?
- Over-fitting
- CSPLib needs to be large extensible
- Unrepresentative
- CSPLib needs your realistic problems
- No standard modelling language
- CSPLib uses natural language
- Hard work
- CSPLib needs to be a community effort
34What does CSPLib contain?
- Over 20 problem types in 5 categories
- bin packing (e.g. vessel loading)
- scheduling (e.g. basketball tournament)
- frequency assignment (e.g. Golomb rulers)
- combinatorics (e.g. perfect square)
- puzzles (e.g.
nonagrams) - Other useful links
- solvers, other benchmark libraries, ...
35What does CSPLib contain?
- Example entry
- NL specification
- results
- references
- (data) for instances
- code
- anything else of use
A Golomb ruler is a set of m integers, 0a1lta2lt..
ltam such that the m(m-1)/2 differences, aj-ai
distinct. Such a ruler is of length am. The
objective is to find the smallest length ruler
36How to add to CSPLib?
- Send us your entries. NOW!
- it takes just 1/2 hour
- Everyone has at least one problem to contribute
- get others to solve your open problems
- a problem shared is a problem solved
- Email problems to csplib_at_cs.strath.ac.uk
37End of intermission
- Now back to ...
- Binary encodings
38Binary encodings
- Not all non-binary constraint decompose into
binary constraints - on the same set of variables
- Consider again
- even(x1x2x3)
- But binary CSPs NP-complete
39Binary encodings
- Every non-binary constraint can be encoded into
binary constraints - using polynomial number of additional (hidden)
variables - Two popular encodings
- hidden variable encoding
- dual encoding
40Binary encodings
- Hidden variable encoding
- add hidden var for each non-binary constraint
- Dual encoding
- add hidden var for each non-binary constraint
- throw away original variables
41Binary encodings
- Dual encoding
- consider c1even(x1x2), c2odd(x2x3)
00,11
c1
R21
R21lt00,01gt or lt11,10gt
01,10
c2
42Binary encodings
- Hidden variable encoding
- consider c1even(x1x2), c2odd(x2x3)
00,11
c1
r1
r2
0,1
0,1
0,1
x1
x2
x3
r1lt0,0gt or lt1,1gt r2lt0,0gt or
lt1,1gt
r1
r2
01,10
c2
43Binary encodings
- Hidden var encoding -gt dual encoding
- compose relations, discard original vars
00,11
c1
R21 r2 r1
0,1
0,1
x1
x3
R21
01,10
c2
44Binary encodings
- Double encoding
- dual hidden var encoding
- original vars hidden vars
- all constraints of dual and of hidden
- Also called combined encoding
45Binary encodings
- Theoretical analysis complicated by
- encoding builds in GAC for hidden vars
- must translate between (original and hidden) vars
- pruning in dual can infer large arity nogoods in
original
46Binary encodings
- Hidden var encoding
- FC on hidden nFC0 on original
- each can be exponentially better than the other
- FC propogates through hidden vars
- FC on hidden nFC1 on original
47Binary encodings
- Hidden var encoding
- AC on hidden GAC on original
- Before looking for efficient (specialized) GAC
algorithm - try AC on hidden var encoding
48Binary encodings
- No point doing NIC on hidden var encoding
- NIC on hidden AC on hidden
- due to star shaped topology of constraint graph
- Higher consistencies remain distinct
- strongPC on hidden gt SAC on hidden
- gt NIC, AC on hidden
49Binary encodings
- Dual encoding
- FC on dual nFC0 on original
- each can be exponentially better than the other
- Dual better for tight constraints
- domains for hidden vars then small
50Binary encodings
- Dual encoding
- AC on dual gt GAC on original
- BUT domains of hidden vars very large when
non-binary constraints loose - AC on dual prohibitively expensive
51Binary encodings
- Dual v hidden encoding
- BT on dual FC on hidden
- AC on dual gt AC on hidden
- SAC on dual gt SAC on hidden
- strongPC on dual strongPC on hidden
- Path consistency is enough to get through the
hidden star!
52Binary encodings
- Experimental results
- crossword puzzles
- Golomb rulers
- random CSPs
- random 3-SAT
53Binary encodings
- Crossword puzzles
- Original model
- vars for letters, domains A-Z
- Dual model
- vars for words, domains dictionary
- Dual at least 1,000 times faster on larger
problems
54Binary encodings
- Golomb ruler
- set of ticks, xi on a ruler
- all inter-tick distances, dij different
- Ternary constraints, dijxi-xj
- encoded using hidden var/double encoding
- Competitive with non-binary model
- runs on any binary CSP solver!
55Binary encodings
- Random CSPs and SAT
- Bacchus and van Beek plot contours to show
constraint tightness where encoding pays - gives good predictions for performance on
structured problems like crosswords, - number of satisfying tuples in constraint is most
important factor in such predictions
56Conclusions
- Non-binary v binary decompositions
- GAC on non-binary can be stronger than PIC on
decomposition - Non-binary v binary encodings
- GAC on non-binary AC on hidden
- AC on dual gt GAC on non-binary
57Conclusions
- Non-binary v binary decompositions
- decomposition can add significantly to search
cost - Non-binary v binary encodings
- encoding pays in practice on tight constraints
58Future directions
- Modelling with non-binary constraints
- many more models possible
- role of auxiliary vars and implied constraints
- Different levels of consistency within a
non-binay model - e.g. GAC on all-different, but bounds consistency
on arithmetic constraints
59Future directions
- Mixed models
- e.g. dual encoding for only some of the
(non-binary) constraints - Optimization
- objective function typically non-binary