Skip to main content
Log in

From MDD to BDD and Arc consistency

  • Published:
Constraints Aims and scope Submit manuscript

Abstract

In this paper, we present a new conversion of multivalued decision diagrams (MDD) to binary decision diagrams (BDD) which can be used to improve MDD-based fil- tering algorithms such as MDDC or MDD-4R. We also propose BDDF, an algorithm that copies modified parts of the BDD “on the fly” during the search of a solution, and yields a better incrementality than a pure MDDC-like approach. MDDC is not very efficient when used to represent poorly structured positive table constraints. Our new representation combined with BDDF retains the properties of the MDD representation and has comparable performances to the STR2 algorithm by Ullmann (2007) and Lecoutre (Constraints, 16.4, 341–371 2011).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

Notes

  1. Negative table constraints have received much less attention but are reasonably handled by generic AC algorithms such as AC-3rm [23] and efficient indexation of the table.

  2. Note that sparse sets can only be used when all operations on the set are monotonic on a branch of the search tree, i.e., items are only added along the whole branch, or removed along the whole branch.

  3. The name BDDC was already used by Cheng and Yap [10] to denote a preliminary version of MDDC restricted to binary domains.

  4. For most applications, a correct rationale for Λ is that it represents the set of all relations.

  5. Actually Θ(N) where N is the number of bits used to represent domain values.

  6. This complexity implies that indexing a vertex has a complexity linear in the number of outgoing edges (i.e., does not depend on d), which can be obtained easily by using appropriately chosen data structures, e.g., linked lists or hash tables.

  7. Note that the instances used by Demeulenaere et al. do not include any of the heavily structured relations described by e.g., Cheng and Yap [9] (definite state automatons, super-row density, slidingsum constraints…), that can only be handled by MDD or ad-hoc representations.

  8. Alternative implementations of sets can also be used provided they have expected performance similar to sparse sets.

  9. We published the idea of filtering MDD in French [38] in 2013.

  10. If X ∉ Modif, there is no need to control validity of values on Line 6 for this vertex and all its siblings. The removal of X from Modif on Line 7 can also be omitted in this case. These simple optimizations are not included in the algorithms to improve concision and preserve readability, but have some impact on the speed of processing.

  11. |V (B)| < k requires that the BDD is shallower than the arity of the constraint. This can happen only when all values of the deeper variables are supported by all instantiations of the other variables, which means that the constraint can be easily reformulated to omit these variables. Anyway, this issue did not appear in our experiments.

  12. \(\frac {|E(mdd)|-| E(bdd)|}{|E(mdd)|}\)

  13. Note that to achieve pure immutability, the timestamp technique used in this paper should be replaced by some sort of lookup table, which is likely to be much slower.

References

  1. Allen, J. (1978). Anatomy of LISP. New York: McGraw-Hill, Inc. isbn: 0-07-001115-X.

    MATH  Google Scholar 

  2. Bagwell, P. (2001). Ideal hash trees. Tech. rep EPFL.

  3. Bentley, J., & Floyd, R.W. (1987). Programming pearls: a sample of brilliance. In Commun (Vol. 30.9, pp. 754–757), ACM.

  4. Bergman, D., Ciré, A.A., van Hoeve, W.-J., Hooker, J. (2016). MDD Propagation for sequence constraints. In Decision diagrams for optimization (Chap. 10, pp. 183–204). Springer.

  5. Bessière, C., & Régin J.-C. (1996). MAC and combined heuristics: two reasons to forsake FC (and CBJ?) on hard problems. In Proc. of the 12th itl. conf. on principle and practice of constraint programming (CP) (pp. 61–75).

  6. Bollig, B., & Wegener, I. (1996). Improving the variable ordering of OBDDs is NP-complete. In IEEE Transactions on computers (Vol. 45.9, pp. 993–1002).

  7. Briggs, P., & Torczon, L. (1993). An efficient representation for sparse sets. In ACM Letters on programming languages and systems (Vol. 2.1–4, pp. 59–69).

  8. Bryant, R.E. (1986). Graph-based algorithms for boolean function manipulation. In IEEE Transactions on computers 100.8 (pp. 677–691).

  9. Cheng, K.C.K., & Yap, R.H.C. (2010). An MDD-based GAC algorithm for positive and negative table constraints and some global constraints. In Constraints (Vol. 15.2, pp. 265–304).

  10. Cheng, K.C.K., & Yap, R.H.C. (2006). Maintaining generalized arc consistency on ad-hoc n-ary boolean constraints. In Proc. ECAI-06 (pp. 78–82). IOS Press.

  11. Ciré, A.A., & Hooker, J.N. (2014). The separation problem for binary decision diagrams. In Proc. ISAIM.

  12. Codd, E.F. (1970). A relational model of data for large shared data banks. In Communications of the ACM (Vol. 13.6, pp. 377–387).

  13. Demeulenaere, J., Hartert, R., Lecoutre, C., Perez, G., Perron, L., Régin, J., Schaus, P. (2016). Compact-table: efficiently filtering table constraints with reversible sparse bit-sets. In Proc. CP’2016, (Vol. 9892 pp. 207–223): LNCS. Springer.

  14. Driscoll, J.R., Sarnak, N., Sleator, D., Tarjan, R. (1989). Making data structures persistent. Journal of Computer and System Science, 38, 86–124.

    Article  MathSciNet  MATH  Google Scholar 

  15. Fredkin, E. (1960). Trie memory. In Comm. ACM (Vol. 3.9, pp. 490–499).

  16. Gange, G., Stuckey, P.J., Szymanek, R. (2011). MDD propagators with explanation. In Constraints (Vol. 16.4, pp. 407–429).

  17. Gent, I.P., Jefferson, C, Miguel, I., Nightingale, P. (2007). Data structures for generalised arc consistency for extensional constraints. In Proc. AAAI’2007 (pp. 191–197).

  18. Gent, I.P., & Walsh, T. (1999). CSPLib: a benchmark library for constraints. Tech. rep. APES-09-1999. http://www.csplib.org.

  19. Hadzic, T., Hansen, E.R., O’Sullivan, B. (2008). On automata, MDDs and BDDs in constraint satisfaction. In Proc. ECAI Workshop on inference methods based on graphical structure of knowledge (WIGSK).

  20. van Hentenryck, P., Deville, Y., Teng, C.M. (1992). A generic AC algorithm and its specializations. Artificial Intelligence, 57, 291–321.

    Article  MathSciNet  MATH  Google Scholar 

  21. Lecoutre, C. (2006). Benchmarks 2.0 XML representation of CSP instances. http://www.cril.univ-artois.fr/lecoutre/research/benchmarks.

  22. Lecoutre, C. (2011). STR2: optimized simple tabular reduction for table constraints. Constraints, 16.4, 341–371.

    Article  MathSciNet  MATH  Google Scholar 

  23. Lecoutre, C., & Hemery, F. (2007). A study of residual supports in arc consistency. In Proceedings of IJCAI’2007 (pp. 125–130).

  24. Lecoutre, C., Likitvivatanavong, C., Yap, R.H.C. (2012). A path-optimal GAC algorithm for table constraints. In Proc. ECAI’2012 (pp. 510–515).

  25. Lecoutre, C., & Roussel, O. (2008). XML representation of constraint networks, Version 2.1. In The Computing research repository arXiv:0902.2362v1.

  26. Mackworth, A.K. (1977). Consistency in networks of relations. Artificial Intelligence, 8.1, 99–118.

    Article  MATH  Google Scholar 

  27. Mairy, J.-B., van Hentenryck, P., Deville, Y. (2014). Optimal and efficient filtering algorithms for table constraints. Constraints, 19.1, 77–120.

    Article  MathSciNet  MATH  Google Scholar 

  28. Michie, D. (1968). Memo functions and machine learning. Nature, 218, 19–22.

    Article  Google Scholar 

  29. Montanari, U. (1974). Network of constraints: fundamental properties and applications to picture processing. Information Science, 7, 95–132.

    Article  MathSciNet  MATH  Google Scholar 

  30. Nethercote, N., Stuckey, P.J., Becket, R., Brand, S., Duck, G.J., Tack, G. (2007). Minizinc: towards a standard CP modelling language. In Bessière, C. (Ed.) Proc. CP’2007 (pp. 529–543): LNCS 4741. Springer-Verlag.

  31. Odersky, M., & et al. (2001). The scala programming language. http://www.scalalang.org/.

  32. Perez, G., & Régin, J.-C. (2015). Efficient operations on MDDs for building constraint programming models. In Proc. 24th IJCAI (pp. 374–380).

  33. Perez, G., & Régin, J.-C. (2014). Improving GAC-4 for table and MDD constraints. In O’Sullivan, B. (Ed.) Proc. 20th Conference on principles and practice of CP (pp. 606–621): LNCS 8656. Springer.

  34. Srinivasan, A., Ham, T., Malik, S., Brayton, R.K. (1990). Algorithms for discrete function manipulation. In 1990 IEEE International conference on computer-aided design. Digest of Technical Papers. pp. 92–95. https://doi.org/10.1109/ICCAD.1990.129849.

  35. Stuckey, P.J., Feydy, T., Schutt, A., Tack, G., Fischer, J. (2014). The minizinc challenge 2008–2013. AI Magazine, 35.2, 55–60.

    Article  Google Scholar 

  36. Ullmann, J.R. (2007). Partition search for non-binary constraint satisfaction. Information Science, 177, 3639–3678.

    Article  MathSciNet  MATH  Google Scholar 

  37. Vion, J. (2006). Concrete: a CSP Solving API for the JVM. http://github.com/concrete-cp.

  38. Vion, J. (2013). Consistance d’arc par MDD-Réduction. French. In Truchet, C. (ed) Actes des 9 e Journées Francophones de Programmation par Contraintes (JFPC) (pp. 323–332).

  39. Vion, J., & Piechowiak, S. (2014). Maintenir des MDD persistants pour établir la consistance d’arc. French. In Revue d’Intelligence Artificielle (Vol. 28.5, pp. 547–569).

  40. Xu, K., Boussemart, F., Hemery, F., Lecoutre, C. (2007). A simple model to generate hard satisfiable instances. Artificial Intelligence, 171, 514–534.

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgments

This research was partially financed by the French Ministry of National Education, Research and Technology, The Nord/Pas-de-Calais Region, the French National Center of Scientific Research (CNRS) and the International Campus on Safety and Intermodality in Transportation.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Julien Vion.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Vion, J., Piechowiak, S. From MDD to BDD and Arc consistency. Constraints 23, 451–480 (2018). https://doi.org/10.1007/s10601-018-9286-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10601-018-9286-5

Keywords

Navigation