Constraintprogrammierung

Constraintprogrammierung

Die Constraintprogrammierung (engl.: Constraint Programming) ist ein Programmierparadigma, das seit Mitte der 1980er Jahre entwickelt wird und sich als natürliche Weiterentwicklung der logischen Programmierung versteht. Logische und Constraintprogrammierung werden typischerweise in Kombination eingesetzt, was zu einer erheblichen Steigerung der Ausdrucksstärke, Flexibilität und Effektivität der Paradigmen führt.

Als Constraint (oder Vorgabe) kann man beispielsweise eine mathematische Gleichung oder ein logisches Prädikat verstehen, zum Beispiel XY = 3 oder X < = Y. Die beiden erwähnten Constraints enthalten zwar Informationen über die Werte der Variablen X und Y, allerdings in schlecht verwertbarer Form. Ziel der Constraintprogrammierung ist es, eine Menge derartiger Informationen auf Widerspruchsfreiheit zu prüfen und gegebenenfalls zu vereinfachen. So könnte beispielsweise aus den Informationen XY = 3 und X + Y = 7 die Lösung X = 5 und Y = 2 gefolgert werden.

Diese Vereinfachungen werden von einem speziellen Algorithmus, dem Constraintlöser (engl. constraint solver) durchgeführt, welcher ein fest implementierter Teil der Constraint-Programmiersprache ist. Verschiedene Versuche, das Lösen von Constraints flexibler zu machen und dem Benutzer mehr Einflussmöglichkeiten zu geben, haben in den 1990er Jahren zur Entwicklung der Programmiersprache CHR (Constraint Handling Rules) geführt.

Literatur

  • Frühwirth, Thom und Abdennadher, Slim: Constraint-Programmierung: Grundlagen und Anwendungen. Springer 1997, ISBN 3-540-60670-X
  • Hofstedt, Petra und Wolf, Armin: Einführung in die Constraint-Programmierung (Springer eXamen-press). Springer 2007, ISBN 978-3-540-23184-4

Referenzen


Wikimedia Foundation.

Игры ⚽ Нужен реферат?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Programmierparadigma — Ein Programmierparadigma ist ein fundamentaler Programmierstil.[1] Programmierparadigmen unterscheiden sich durch ihre Konzepte für die Repräsentation von statischen (wie beispielsweise Objekte, Methoden, Variablen, Konstanten) und dynamischen… …   Deutsch Wikipedia

  • 8-Damen-Problem — a b c d e f g h …   Deutsch Wikipedia

  • 8-Damenproblem — a b c d e f g h …   Deutsch Wikipedia

  • Acht-Damen-Problem — a b c d e f g h …   Deutsch Wikipedia

  • Achtdamenproblem — a b c d e f g h …   Deutsch Wikipedia

  • Constraint-Programmierung — In diesem Artikel oder Abschnitt fehlen folgende wichtige Informationen: Es fehlen die Domains und Beispiele für Programmiersprachen, die constraintbasiertes Programmieren erleichern. Du kannst Wikipedia helfen, indem du sie recherchierst und… …   Deutsch Wikipedia

  • N-Damen-Problem — a b c d e f g h …   Deutsch Wikipedia

  • Damenproblem — a b c d e f g h …   Deutsch Wikipedia

  • Prolog (Programmiersprache) — Prolog Paradigmen: logisch, deklarativ, oft auch constraintbasiert Erscheinungsjahr: 1972 Designer: Alain Colmerauer Entwickler: Philippe Roussell …   Deutsch Wikipedia

  • Constraints — Ein Constraint (engl.: Einschränkung) wird häufig in Programmiersprachen verwendet, um den Wertebereich einer Variablen einzuschränken. Auch in Datenbanksystemen finden Constraints rege Anwendung. In der Programmanalyse verwendet man Constraints… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”