Membership-Constraints and Complexity in Logic Programming with Sets
- 144 Downloads
General agreement exists about the usefulness of sets as very high- level representations of complex data structures. Therefore it is worthwhile to introduce sets into constraint logic programming or set constraints into programming languages in general.
We start with a brief overview on different notions of sets. This seems to be necessary since there are almost as many different notions in the field as there are applications such as e.g. rapid software prototyping and unification-based grammar formalisms.
An efficient algorithm for treating membership-constraints is introduced. It is used in the implementation of an algorithm for unifying finite sets with tails also presented here. Such a unification algorithm is useful in any logic programming language embedding sets.
Finally it is shown how a full set language including the operators ∈ ∉ ∩, ∪ can be built on membership-constraints. The text closes with a reflection on the complexities of different algorithms - which are single exponential - showing the efficiency of our new algorithm
KeywordsConstraint logic programming logic programming with sets set unification data structure sets
Unable to display preview. Download preview PDF.
- D. Aliffi, G. Rossi, A. Dovier, and E. G. Omodeo. Unification of hyperset terms. In E. G. Omodeo and G. Rossi, editors, Proceedings of the Workshop on Logic Programming with Sets, in Conjunction with the 10th International Conference on Logic Programming, pages 27–30, Budapest, Hungary, June 1993Google Scholar
- P. Arenas-Sánchez and A. Dovier. Minimal set unification. In M. Hermenegildo and S. D. Swierstra, editors, Proceedings of the 7th International Symposium on Programming Language Implementation and Logic Programming, pages 397–414. Springer, Berlin, Heidelberg, New York, 1995. LNCS 982Google Scholar
- P. Bruscoli, A. Dovier, E. Ponteiii, and G. Rossi. Compiling intensional sets in CLP. In P. Van Hentenryck, editor, Proceedings of the 11th International Conference on Logic Programming, Santa Margherita, Ligure, Italy, June 1994 pages 647–661. MIT Press, Cambridge, MA, London, England, 1994Google Scholar
- A. Dovier, E. G. Omodeo, E. Ponteiii, and G. Rossi. Embedding finite sets in a logic programming language. In E. Lamma and P. Mello, editors, Proceedings of the 3rd International Workshop on Extensions of Logic Programming, Bologna, Italy, February 1992 pages 150–167. Springer, Berlin, Heidelberg, New York, 1993. LNAI 660Google Scholar
- Dovier and G. Rossi. Embedding finite sets in CLP. In D. Miller, editor, Proceedings of the International Logic Programming Symposium. MIT Press, Cambridge, MA, London, England, 1993Google Scholar
- ECRC GmbH, München. ECLiPSe 3.5: User Manual - Extensions User Manual, February 1995Google Scholar
- Gervet Conjunto: Constraint logic programming with finite set domains. In M. Bruynooghe, editor, Proceedings of the International Logic Programming Symposium, Ithaca, NY, November 1994? pages 339–358. MIT Press, Cambridge, MA, London, England, 1994Google Scholar
- D.Kapur and P. Narendran. NP-completeness of the set unification and matching problems. In J. H. Siekmann, editor, Proceedings of the 8th International Conference on Automated Deduction, Oxford, July 1986, pages 489–495. Springer, Berlin, Heidelberg, 1986. LNCS 230Google Scholar
- D. Kapur and P. Narendran. Double-exponential complexity of computing a complete set of AC-unifiers. In Proceedings of the 7th Annual Symposium on Logic in Computer Science, Santa Cruz, CA, pages 11–21, 1992Google Scholar
- B.Legeard, H. Lombardi, E. Legros, and M. Hibti. A constraint satisfaction approach to set unification. In Proceedings of the 13th International Conference on Artificial Intelligence, Expert Systems and Natural Language, pages 265–276, Avignon, MayGoogle Scholar
- S. Manandhar. An attributive logic of set descriptions and set operations. In Proceedings of the 32nd Annual Meeting of the Association for Computational Linguistics, 1994Google Scholar
- C. J. Pollard and M. D. Moshier. Unifying partial description of sets. In P. Hanson, editor, Information, Language, and Cognition, pages 285–322. University of British Columbia Press, Vancouver, BC, 1990Google Scholar
- F. Stolzenburg. An algorithm for general set unification and its complexity. In E. G. Omodeo and G. Rossi, editors, Proceedings of the Workshop on Logic Programming with Sets, in Conjunction with the 10th International Conference on Logic Programming, pages 17–22, Budapest, Hungary, June 1993 Google Scholar
- F. Stolzenburg. Logic programming with sets by membership-constraints. In N. E. Fuchs and G. Gottlob, editors, Proceedings of the 10th Logic Programming Workshop, Universität Zurich, 1994. Institut für Informatik. Technical Report ifx 94.10Google Scholar
- F. Stolzenburg. Membership-constraints and some applications. Fachberichte Informatik 5/94, Universität Koblenz-Landau, Koblenz, May 1994Google Scholar
- P. Vail Hentenryck. Constraint Satisfaction in Logic Programming. MIT Press, Cambridge, MA, London, England, 1989Google Scholar