1 / 59

Non-binary constraints

Non-binary constraints. Toby Walsh Dept of CS University of York England. Non-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 ….

clay
Télécharger la présentation

Non-binary constraints

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. Non-binary constraints Toby Walsh Dept of CS University of York England

  2. Non-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 ….

  3. Non-binary constraints • Major contribution to competitiveness of CP • despite academic focus on binary CSPs! • Some classic examples: all-different, cardinality, ...

  4. Non-binary constraints • Compact & declarative problem specifications • that often run with minimal “tweaking” • Efficient algorithms for enforcing high levels of consistency • Regin’s specialized algorithm for a k-ary all-different constraint • O(k^2d^2) compared compared to O(d^k) for a generic algorithm

  5. Non-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

  6. Binary decompositions • Certain non-binary constraints decompose into binary constraints on same vars • Sometimes called “network decomposable”

  7. Binary decompositions • Two examples: • all-different(x1,x2,x3) = x1<> x2, x1<>x3, x2<>x3 • monotone(x1,x2,x3) = x1 < x2 < x3 • One non-example: • even(x1+x2+x3)

  8. Binary 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

  9. Binary 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

  10. Binary 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

  11. Binary consistencies • Between AC and PC • inverse and singleton consistencies • just prune values (no additional binary constraints) • Experiments suggest can be useful • good pruning/time

  12. Binary 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

  13. Binary 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

  14. Binary consistencies • Simple relationships between them strongPC > SAC > PIC > RPC > AC NIC > PIC NIC ~ SAC NIC ~ strongPC

  15. Non-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. Regin’s all-different algorithm

  16. Non-binary consistencies • GAC v AC {1,2} x1 {1,2} {1,2} x3 x2 x1<>x2, x1<>x3, x2<>x3 AC all-different(x1,x2,x3) not GAC

  17. Non-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

  18. Non-binary consistencies • Given CSP has: • vars xi with values a,b,c,... • binary constraints R(a,b) • Construct CSP’ with: • vars xij with values <a,b>,... • ternary constraints R’(<a,b>,<b,c>,<c,a>) iff R(a,b) & R (b,a) & R(c,a)

  19. Non-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

  20. Non-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

  21. Binary decompositions • Upper and lower bound on FC nFC1 on non-binary > FC on decomposition > 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

  22. Binary decompositions • GAC lower bound GAC on non-binary > AC on decomposition Gap again can be exponential But if we decompose too much, GAC=AC! • GAC upper bound In general, GAC ~ NIC, GAC ~ PIC .. BUT if decomposition to clique, NIC > GAC

  23. Binary decompositions • Tighter results provable for stricter classes • Tree decomposable constraints • constraint graph is tree • Triangle preserving constraints • non-binary constraints on all triangles

  24. Binary decompositions • Tree decomposable constraints • e.g. monotone(x1,x2,x3) • GAC=AC • not surprising as AC enough to solve! • Decomposition here doesn’t lose us anything • but even one cycle is enough for GAC>AC

  25. Binary decompositions • Triangle preserving decomposition e.g. all-different(x1,x2,x3), quasigroups, ... GAC > 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

  26. Binary 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

  27. Binary decompositions • Modelling the quasigroup problem • n^2 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

  28. Binary 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

  29. Binary 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

  30. Intermission • Mid-point of talk • Short commercial break CSPLib: a benchmark library for constraints http://csplib.cs.strath.ac.uk

  31. Why build CSPLib? • Benchmarking • shift field from random to more realistic problems • Modelling • Show-case • Challenges

  32. Why 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

  33. What 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, ...

  34. What 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, 0=a1<a2<..<am 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…”

  35. How 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@cs.strath.ac.uk

  36. End of intermission Now back to ... Binary encodings

  37. Binary encodings • Not all non-binary constraint decompose into binary constraints • on the same set of variables • Consider again • even(x1+x2+x3) • But binary CSPs NP-complete

  38. Binary 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

  39. Binary 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

  40. Binary encodings • Dual encoding • consider c1:even(x1+x2), c2:odd(x2+x3) {00,11} c1 R21 R21=<00,01> or <11,10> {01,10} c2

  41. Binary encodings • Hidden variable encoding • consider c1:even(x1+x2), c2:odd(x2+x3) {00,11} c1 r1 r2 {0,1} {0,1} {0,1} x1 x2 x3 r1=<0*,0> or <1*,1> r2=<*0,0> or <*1,1> r1 r2 {01,10} c2

  42. Binary encodings • Hidden var encoding -> dual encoding • compose relations, discard original vars {00,11} c1 R21 = r2 + r1 {0,1} {0,1} x1 R21 x3 {01,10} c2

  43. Binary encodings • Double encoding • dual + hidden var encoding • original vars + hidden vars • all constraints of dual and of hidden • Also called “combined encoding”

  44. Binary 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

  45. Binary 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

  46. Binary encodings • Hidden var encoding AC on hidden = GAC on original • Before looking for efficient (specialized) GAC algorithm • try AC on hidden var encoding

  47. Binary 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 > SAC on hidden > NIC, AC on hidden

  48. Binary 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

  49. Binary encodings • Dual encoding AC on dual > GAC on original • BUT domains of hidden vars very large when non-binary constraints loose • AC on dual prohibitively expensive

More Related