Efficient Representation of Extensional Constraints

  • Cristian FrăsinaruEmail author
  • Florentin Olariu
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8577)


Constraint programming is a paradigm where a given problem is formalized in terms of satisfying a set of restrictions. Difficult combinatorial problems, from virtually any area, can be modeled as constraint satisfaction problems (CSP) and then solved with state-of-the-art CSP solvers. Constraints are logical relations between various entities (variables) each taking values in a given domain. There are no limitations on how constraints should be specified – they can be seen as predicates that indicate partial information known about the problem. The extensional or table constraint is used to express directly the combination of values that are allowed for some variables. Many problems from industry or academic research are modeled using extensional constraints as they are created based on sets of existing data, represented as n-ary relations (sets of tuples).

In this paper, we describe an efficient data structure for implementing relations of any arity, that combines the concepts of trie (prefix tree) and support list, offering a quick query method. Because real-life problems may lead to bulky relations, containing a large number of tuples, it is essential to provide a trade-off between space and time complexity. In our representation, a relation is not tied to a specific extensional constraint and this allows multiple constraints to share the same data structure, in order to decrease the memory requirements. Our approach is generic and can be adapted to any method of solving constraint satisfaction problems, either systematic or hybrid, making it easy to be integrated within a CSP solver.

In order to test the efficiency of our data structure, we performed empirical analyses using various constraint satisfaction problems from known benchmarks.


Constraint Programming Constraint Satisfaction Problem Constraint Network Multiple Constraint Current Domain 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bessiere, C.: Constraint Propagation. In: Rossi, F., van Beek, P., Walsh, T. (eds.) Handbook of Constraint Programming, ch. 7. Elsevier (2006)Google Scholar
  2. 2.
    Bessiere, C., Regin, J.C.: Arc consistency for general constraint networks: Preliminary results. In: IJCAI (1), pp. 398–404 (1997)Google Scholar
  3. 3.
    Dechter, R.: Constraint processing. Elsevier Morgan Kaufmann (2003)Google Scholar
  4. 4.
    Frasinaru, C.: Omnics solver (2013),
  5. 5.
    Fredkin, E.: Trie memory. Commun. ACM 3(9), 490–499 (1960), CrossRefGoogle Scholar
  6. 6.
    Gent, I.P.: Minion solver (2007),
  7. 7.
    Gent, I.P., Jefferson, C., Miguel, I., Nightingale, P.: Data structures for generalised arc consistency for extensional constraints. In: AAAI, pp. 191–197. AAAI Press (2007),
  8. 8.
    van Hoeve, W.J., Katriel, I.: Global constraints. In: Rossi, F., van Beek, P., Walsh, T. (eds.) Handbook of Constraint Programming, ch. 7. Elsevier (2006)Google Scholar
  9. 9.
  10. 10.
    Laburthe, F., Jussien, N.: Choco solver (2012),
  11. 11.
    Mackworth, A.: Consistency in networks of relations. Artificial Intelligence 8(1), 99–118 (1977)CrossRefzbMATHMathSciNetGoogle Scholar
  12. 12.
    Rossi, F., van Beek, P., Walsh, T. (eds.): Handbook of Constraint Programming. Elsevier (2006)Google Scholar
  13. 13.
    Roussel, O., Lecoutre, C.: XML representation of constraint networks: Format XCSP 2.1. CoRR abs/0902.2362 (2009),
  14. 14.
    Tsang, E.P.K.: Foundations of constraint satisfaction. Computation in cognitive science. Academic Press (1993)Google Scholar
  15. 15.
    Wallace, M.: Practical applications of constraint programming. Constraints 1, 139–168 (1996)CrossRefMathSciNetGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  1. 1.Faculty of Computer Science“A.I.Cuza” UniversityIaşiRomania

Personalised recommendations