Skip to main content
Log in

Interval propagation to reason about sets: Definition and implementation of a practical language

  • Published:
Constraints Aims and scope Submit manuscript

Abstract

Local consistency techniques have been introduced in logic programming in order to extend the application domain of logic programming languages. The existing languages based on these techniques consider arithmetic constraints applied to variables ranging over finite integer domains. This makes difficult a natural and concise modelling as well as an efficient solving of a class of NP-complete combinatorial search problems dealing with sets. To overcome these problems, we propose a solution which consists in extending the notion of integer domains to that of set domains (sets of sets). We specify a set domain by an interval whose lower and upper bounds are known sets, ordered by set inclusion. We define the formal and practical framework of a new constraint logic programming language over set domains, called Conjunto. Conjunto comprises the usual set operation symbols (∪, ∩, \), and the set inclusion relation (% MathType!MTEF!2!1!+-% feaafiart1ev1aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn% hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr% 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9% vqaqpepm0xbba9pwe9Q8fs0-yqaqpepae9pg0FirpepeKkFr0xfr-x% fr-xb9adbaqaaeaacaGaaiaabeqaamaabaabaaGcbaGaeyOHI0maaa!37EA!\[ \subseteq \]). Set expressions built using the operation symbols are interpreted as relations (ss 1 = s 2, ...). In addition, Conjunto provides us with a set of constraints called graduated constraints (e.g. the set cardinality) which map sets onto arithmetic terms. This allows us to handle optimization problems by applying a cost function to the quantifiable, i.e., arithmetic, terms which are associated to set terms. The constraint solving in Conjunto is based on local consistency techniques using interval reasoning which are extended to handle set constraints. The main contribution of this paper concerns the formal definition of the language and its design and implementation as a practical language.

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.

Similar content being viewed by others

References

  1. Baptiste, P., Legeard, B., & Lombardi, H. (1994). Sequence constraints for solving scheduling problems. In 3rd IFIP Working Conference.

  2. Beeri, C., Naqvi, S., Shmueli, O., & Tsur, S. (1991). Set constructors in a logic database language. In Journal of Logic Programming. Elsevier.

  3. Beldiceanu, N. (1990). Definition of global constraints. Internal Report IR-LP-22–30, ECRC, Munich Germany.

    Google Scholar 

  4. Beldiceanu, N. (1990). An example of introduction of global constraints in CHIP: Application to block theory problems. Technical Report TR-LP-49, ECRC, Munich Germany.

    Google Scholar 

  5. Beldiceanu, N., & Contejean, E. (1994). Introducing global constraints in CHIP. In Elsevier Science, editor, Mathematical Computation Modelling 20(12): 97–123.

  6. Benhamou, F. (1995). Interval constraint logic programming. In A. Podelski, editor, Constraint Programming: Basics and Trends. LNCS 910, Springer Verlag.

  7. Benhamou, F., MacAllester, D., & Van Hentenryck, P. (1994). CLP (intervals) revisited. In ILPS'94, pages 124–138.

  8. Birkhoff, G. (1967). Lattice Theory, volume 25 of Colloquium Publications. American Mathematical Society.

  9. Boucher, E. & Legeard, B. (1996). Fonctions de voisinage progressives et admissibles pour des méthodes d'optimisation en PLC sur séquences. In Actes du Congrès JFPLC'96, pages 255–270.

  10. Bruscoli, P., Dovier, A., Pontelli, E., & Rossi, G. (1994). Compiling intensional sets in CLP. In P. Van Hentenryck, editor, ICLP'94, pages 647–664.

  11. Carlson, B., Haridi, S., & Janson, S. (1994). AKL(FD) a concurrent language for FD programming. In M. Bruynooghe, editor, ILPS'94, pages 521–538.

  12. Caseau, Y., & Puget, J-F. (1994). Constraints on order-sorted domains. In Workshop on Constraint Processing, in Conjunction with ECAI'94.

  13. Cleary, J. G. (1987) Logical arithmetic. In Future Generation Computing Systems 2(2):125–149.

    Google Scholar 

  14. Colmerauer, A. (1987). Opening the prolog III universe. In BYTE Magazine.

  15. Colmerauer, A., & Kanoui, H., & Van Caneghem, M. (1983). Prolog, bases théoriques et développements actuels. In T.S.I. (Techniques et Sciences Informatiques) 2(4):271–311.

    Google Scholar 

  16. Dincbas, M., Simonis, H., & Van Hentenryck P., et al. (1988). The constraint logic programming language CHIP. In FGCS.

  17. Dincbas, M., Simonis, H., & Van Hentenryck, P. (1988). Solving large combinatorial problems in logic programming. In Journal of Logic Programming.

  18. Dovier, A., Omodeo, E. G., Pontelli, E., & Rossi, G. (1991). {log}: A logic programming language with finite sets. In ICLP'91, pages 111–124.

  19. Dovier, A., & Rossi, G. (1993). Embedding extensional finite sets in CLP. In ILPS'93.

  20. ECRC. (1994). ECLiPSe (a) user manual, (b) extensions of the user manual. Technical Report, ECRC.

  21. Fikes, R. E. (1970). Ref-arf: A system for solving problems stated as procedures. In Artificial Intelligence 1:27–120.

    Google Scholar 

  22. Fraissé, R. (1986). Theory of relations. In Studies in Logic and the Foundations of Mathematics 118. Elsevier Science.

  23. Garey, M. R., & Johnson, D. S. (1979). Computers and Intractability, A Guide to the Theory of NP-Completeness. Victor Klee.

  24. Gervet, C. (1993). New structures of symbolic constraint objects: Sets and graphs. In WCLP'93.

  25. Gervet, C. (1993). Sets and binary relation variables viewed as constrained objects. In Workshop on Logic Programming with Sets. In conjunction with ICLP'93.

  26. Gervet, C. (1994). Conjunto: Constraint logic programming with finite set domains. In M. Bruynooghe, editor, ILPS'94, pages 339–358.

  27. Gervet, C. (1995). Set intervals in constraint logic programming: Definition and implementation of a language. Ph.D. thesis, Université de Franche-Comté, France. European thesis, in English.

    Google Scholar 

  28. Gierz, G., & Hoffman, K. H., et al. (1980). A Compendium of Continuous Lattices. Springer Verlag.

  29. Gondran, M., & Minoux, M. (1984). Graphs and Algorithms. Wiley-Interscience.

  30. Graetzer, G. (1971). LATTICE THEORY: First Concepts and Distributive Lattices. W.H. Freeman and Company.

  31. Guerinik, N. & Van Caneghem, M. (1995). Solving crew scheduling problems by constraint programming. In CP'95, pages 481–498, Lecture Notes in Computer Science.

  32. Van Hentenryck, P. (1989). Constraint Satisfaction in Logic Programming. The MIT Press.

  33. Van Hentenryck, P., Deville, Y., and Teng, C.-M. (1992). A generic arc-consistency algorithm and its specializations. In Artificial Intelligence 57:291–321.

    Google Scholar 

  34. Van Hentenryck, P., & Dincbas, M. (1986). Domains in logic programming. In AAAI-86.

  35. Hibti, M. (1995). Décidabilité et complexité de systèmes de constraintes ensemblistes. Ph.D. thesis, Université de Franche-Comté, Besançon. In French.

    Google Scholar 

  36. Hoffman, K. L., & Padberg, M. (1992). Solving airline crew-scheduling problems by branch-and-cut. Technical Report 376, George Mason and New York University.

  37. Holzbaur, C. (1992). Metastructures vs. attributed variables in the context of extensible unification. In PLILP'92, pages 260–268.

  38. Le Huitouze, S. (1990). A new datastructure for implementing extensions to prolog. In 2nd Int. Work. Programming Languages Implementation and Logic Programming, LNCS 456, pages 136–150.

  39. Jaffar, J., & Lassez, J.-L. (1987). Constraint logic programming. In Proceedings of the 14th ACM Symposium on Principles of Programming Languages, pages 111–119.

  40. Jaffar, J., & Maher, M. J. (1994). Constraint logic programming: A survey. In Journal of Logic Programming 19(20):503–581.

    Google Scholar 

  41. Jayaraman, B., & Plaisted, D. A. (1989). Programming with equations, subsets, and relations. In Lusk and Overbeek, editors, Proceedings of the North American Conference, pages 1051–1065.

  42. Kapur, D., & Narendran, P. (1986). Np-completeness of the set unification and matching problems. In CADE.

  43. Kowalski, R. A. (1974). Predicate logic as a programming language. IFIP, pages 569–571.

  44. Kuper, G. (1990). Logic Programming with Sets, volume 41. Academic Press.

  45. Laurière, J. L. (1978). A language and a program for stating and solving combinatorial problems. In Artificial Intelligence 10:29–127.

    Google Scholar 

  46. Lee, J. H. M., & van Emden, H. (1993). Interval computation as deduction in CHIP. In Journal of Logic Programming 16(3–4): 255–276.

    Google Scholar 

  47. Legeard, B., & Legros, E. (1991). Short overview of the CLPS system. In Proceedings of PULP'91.

  48. Legeard, B., & Legros, E. (1992). Test de satisfaisabilité dans le langage de programmation en logique avec constraintes ensemblistes: CLPS. In Actes des JFPL, pages 18–34.

  49. Lindner, C. C., & Rosa, A. (1980). Topics on Steiner Systems, volume 7 of Annals of Discrete Mathematics. North Holland.

  50. Livesey, M., & Siekmann, J. (1976). Unification of sets and multisets. Memo seki-76-ii, University of St. Andrews (Scotland) and Universitât Karlsruhe (Germany) Department of Computer Science.

  51. Lloyd, J. W. (1987). Foundations of Logic Programming. Springer-Verlag.

  52. Lueneburg, H. (1989). Tools and Fundamental Constructions of Combinatorial Mathematics. Wissenschaftverlag.

  53. Mackworth, A. K. (1977). Consistency in networks of relations. In Artificial Intelligence.

  54. Mackworth, A. K., & Freuder, E. C. (1985). The complexity of some polynomial network consistency algorithms for constraint satisfaction problems. In Artificial Intelligence 25.

  55. Older, W., & Vellino, A. (1993). Constraint arithmetic on real intervals. In F. Benhamou and A. Colmerauer, editors, Constraint Logic Programming: Selected Papers. MIT Press.

  56. Padberg, M. W. (1979). Covering, packing and knapsack problems. In Annals of Discrete Mathematics 4. North-Holland Publishing Company.

  57. Papadimitriou, C. H., & Steiglitz, K. (1982). COMBINATORIAL OPTIMIZATION: Algorithms and Complexity. Prentice-Hall.

  58. Pawlak, Z. (1991). Rough Sets: Theoretical Aspects of Reasoning about Data. In D: System theory, knowledge engineering and problem solving. Kluwer Academic Publishers.

  59. Perry, K. J., Palem, K. V., MacAloon, K., & Kuper, G. M. (1986). The complexity of logic programming with sets. In Computer Science.

  60. Puget, J-F. (1992). Programmation par contraintes orientée objet. In Proceedings of Avignon, pages 129–138.

  61. Puget, J. F. (1996). Finite set intervals. In Workshop on Set Constraints in Conjunction with CP'96.

  62. Schrijver, A. (1986). Theory of Linear and Integer Programming. Wiley-Interscience.

  63. Schwartz, J. T., Dewar, R. B., Dubinsky, E., & Schonberg, E. (1986). Programming with Sets—An Introduction to SETL. Springer-Verlag.

  64. Shmueli, O., Tsur, S., & Zaniolo, C. (1992). Compilation of set terms in the logic data language (LDL). The Journal of Logic Programming 12(12).

  65. Stolzenburg, F. (1996). Membership-constraints and complexity in logic programming with sets. In Franz Baader and Klaus U. Schulz, editors, Frontiers in Combining Systems. Kluwer Academic.

  66. Turner, D. (1986). An Overview of Miranda 21(12). SIGPLAN Notices.

  67. Oxford University Computing Laboratory. (1986). Z Handbook.

  68. Walinsky, C. (1989). CLP(Σ*): Constraint logic programming with regular sets. In ICLP'89, pages 181–190.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Gervet, C. Interval propagation to reason about sets: Definition and implementation of a practical language. Constraints 1, 191–244 (1997). https://doi.org/10.1007/BF00137870

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00137870

Keywords

Navigation