1 / 38

Eliminating non-binary constraints

Eliminating non-binary constraints. Toby Walsh Cork Constraint Computation Center. Eliminating non-binary constraints. Two methods Encodings: Replace with binary constraints by introducing new vars Decompositions: (For restricted class of non-binary constraints)

pascha
Download Presentation

Eliminating 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. Eliminating non-binary constraints Toby Walsh Cork Constraint Computation Center

  2. Eliminating non-binary constraints • Two methods • Encodings: Replace with binary constraints by introducing new vars • Decompositions: (For restricted class of non-binary constraints) Replace with binary constraints on same variables

  3. Meta-motivation • Theoretical results informative • Comparing non-binary constraint propagation with binary • Suggests where non-binary constraints are valuable

  4. Bibliography • Lots of valuable results! 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 Gent, Stergiou & Walsh, Artificial Intelligence 2000 Bacchus, Chen, van Beek, Walsh, Artificial Intelligence 2002 ….

  5. Let’s start with the easy case! Decomposable constraints: Non-binary constraints that can be represented by binary constraints with introducing new variables It’s a special case that sometimes occurs about which we can be (theoretically) quite precise

  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) is x1\=x2, x1\=x3, x2\=x3 • monotone(x1,x2,x3) is x1 < x2 < x3 • One non-example: • even(x1+x2+x3) • Can you see why not?

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

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

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

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

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

  14. 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

  15. 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

  16. 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

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

  18. 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

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

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

  21. 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

  22. 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

  23. 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

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

  25. 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

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

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

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

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

  30. 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

  31. Binary encodings • Dual v hidden encoding BT on dual = FC on hidden AC on dual > AC on hidden SAC on dual > SAC on hidden strongPC on dual = strongPC on hidden • Path consistency is enough to get through the hidden star!

  32. Binary encodings • Experimental results • crossword puzzles • Golomb rulers • random CSPs • random 3-SAT

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

  34. Binary encodings • Golomb ruler • set of ticks, xi on a ruler • all inter-tick distances, dij different • Ternary constraints, dij=xi-xj • encoded using hidden var/double encoding • Competitive with non-binary model • runs on any binary CSP solver!

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

  36. Conclusions • 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 > GAC on non-binary

  37. Conclusions • Non-binary v binary decompositions • decomposition can add significantly to search cost • Non-binary v binary encodings • encoding pays in practice on tight constraints

  38. Future directions? • Mixed models • e.g. dual encoding for only some of the (non-binary) constraints • Optimization • objective function typically non-binary

More Related