Zusammenfassung
Dieser Beitrag zeichnet zunächst kurz die in den logischen Sprachen begründete Geschichte der Constraint-Programmierung nach. Einige einführende Beispiele erläutern die Grundbegriffe und stellen den grundlegenden deklarativen Modellierungsansatz dar. Im Hauptteil des Beitrags werden einige moderne und verbreitete Systeme zur Constraint-basierten Programmierung vorgestellt – sowohl neue Programmiersprachen als auch Bibliotheken für existierende Sprachen. Ein durchgängiges Beispiel veranschaulicht dabei die Unterschiede und Vorzüge der verschiedenen Ansätze.
Literatur
Apt KR, Schaerf A (1999) The alma project, or how first-order logic can help us in imperative programming. In: Olderog ER, Steffen B (Hrsg) Correct system design. Lecture notes in computer science, Bd 1710. Springer, Berlin, S 89–113
Apt KR, Wallace M (2007) Constraint logic programming using eclipse. Cambridge University Press, Cambridge
Freuder EC (1997) In pursuit of the holy grail. Constraints 2(1):57–61
Frühwirth T, Raiser F (eds) (2011) Constraint handling rules: compilation, execution, and analysis. Books on Demand, Stoughton
Gardner M (1979) Mathematical circus. Knopf, New York
Hanus M, Antoy S, Braßel B, Kuchen H, López-Fraguas FJ, Lux W, Moreno-Navarro JJ, Steiner F (2006) Curry. An integrated functional logic language. Version 0.8.2
Hofstedt P (2010) Constraint-based object-oriented programming. IEEE Softw 27(5):53–56
Hofstedt P (2011) Multiparadigm constraint programming languages. Springer, Berlin
ILOG Solver 6.0. user’s manual. ILOG, 10/2003
Jaffar J, Lassez JL (1987) Constraint logic programming. In: 14th ACM symposium on principles of programming languages (POPL), S 111–119
Michalewicz Z, Fogel DB (2004) How to solve it: modern heuristics. Springer, Berlin
Michel L, Van Hentenryck P (2000) Localizer. Constraints 5:41–82
Michel L, Van Hentenryck P (2003) Comet in context. In: Proceedings of the Paris C. Kanellakis memorial workshop on the occasion of his 50th birthday: principles of computing & knowledge (PCK50). ACM, New York, S 95–107
Rossi F, Van Beek P, Walsh T (Hrgs) (2006) Handbook of constraint programming. Foundations of artificial intelligence. Elsevier, Amsterdam
Saraswat VA (1993) Concurrent constraint programming. MIT Press, Cambridge
Schrijvers T, Stuckey P, Wadler P (2009) Monadic constraint programming. J Funct Program 19(6):663–697
Smolka G, Henz M, Würtz J (1995) Object-oriented concurrent constraint programming in Oz. In: Saraswat VA, Van Hentenryck P (eds) Principles and practice of constraint programming. MIT Press, Cambridge. Chap 2
Van Hentenryck P (1999) The OPL optimization programming language. MIT Press, Cambridge
Van Hentenryck P (2007) Constraint programming as declarative algorithmics. In: Benhamou F, Jussien N, O’Sullivan B (eds) Trends in constraint programming. ISTE, London, S 25–39. Chap 1
Van Hentenryck P, Michel L (2005) Constraint-based local search. MIT Press, Cambridge
Wuille P, Schrijvers T (2009) Monadic constraint programming with gecode. In: Frisch AM, Lee J (Hrsg) 8th international workshop on constraint modelling and reformulation, S 171–185
Zweistein (2004) Logelei. In: Die Zeit, 31
Chocosolver. http://www.emn.fr/z-info/choco-solver. Last visited 2011-11-02
Dynadec: Constraint-based local search. http://dynadec.com/technology/constraint-based-local-search/. Last visited 2011-11-02
A problem library for constraints. http://www.csplib.org/. Last visited 2011-11-02
The ECLiPSe constraint programming system. http://eclipseclp.org/. Last visited 2011-11-02
Gecode—generic constraint development environment. http://www.gecode.org/. Last visited 2011-11-02
Global constraint catalog: global_cardinality. http://www.emn.fr/z-info/sdemasse/gccat/Cglobal_cardinality.html. Last visited 2011-11-02
JaCoP—Java constraint programming solver. http://jacop.osolpro.com/. Last visited 2011-11-02
SICStus prolog: combinatorial constraints. http://www.sics.se/sicstus/docs/latest4/html/sicstus.html/Combinatorial-Constraints.html. Last visited 2011-11-02
Author information
Authors and Affiliations
Corresponding author
Anhang
Anhang
Rights and permissions
About this article
Cite this article
König, T., Hofstedt, P. Constraint-basierte Programmiersprachen. Künstl Intell 26, 47–54 (2012). https://doi.org/10.1007/s13218-011-0153-4
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13218-011-0153-4