Constraint-Programmierung

Constraint-Programmierung
Lückenhaft 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 einfügst.

Die Constraintprogrammierung (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 kann man beispielsweise eine mathematische Gleichung oder ein logisches Prädikat verstehen, zum Beispiel X-Y=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 X-Y=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. contraint 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/Abdennadher, Slim (1997): Constraint-Programmierung: Grundlagen und Anwendungen.
  • Hofstedt, Petra und Wolf, Armin (2007): Einführung in die Constraint-Programmierung (Springer eXamen-press).

Siehe auch


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

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

  • 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… …   Deutsch Wikipedia

  • Sequenzierung (Produktion) — Als Sequenzierung oder Sequenzplanung (im wissenschaftlichen Bereich auch unter dem englischen Begriff sequencing and scheduling geläufig) wird in der Produktionsplanung die Bildung einer Fertigungsreihenfolge von Produktionsaufträgen bezeichnet …   Deutsch Wikipedia

  • OPL — steht für: Òganizasyon Pèp Kap Lité (Organisation du Peuple en Lutte) die sozialdemokratische Partei von Haiti Open Publication License, eine freie Lizenz für Dokumente Open Programming Language, eine Programmiersprache für das Symbian… …   Deutsch Wikipedia

  • Unified Modeling Language — Die Unified Modeling Language (Vereinheitlichte Modellierungssprache), kurz UML, ist eine graphische Modellierungssprache zur Spezifikation, Konstruktion und Dokumentation von Software Teilen und anderen Systemen[1]. Sie wird von der Object… …   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

  • Interaktionsdiagramm — In diesem Artikel oder Abschnitt fehlen folgende wichtige Informationen: Kritik (vgl. engl. Artikel); Bedeutung der UML; aktueller Stand (November 2007 wurde Version 2.1.2 vorgelegt, wie wurde sie aufgenommen?) Du kannst Wikipedia helfen, indem… …   Deutsch Wikipedia

  • SQL-92 — SQL (das Kürzel für Structured Query Language; offizielle Aussprache [ɛskjuːˈɛl], häufig auch [ˈsiːkwəl] →SEQUEL), ist eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken. SQL ist von ANSI und ISO… …   Deutsch Wikipedia

  • SQL-99 — SQL (das Kürzel für Structured Query Language; offizielle Aussprache [ɛskjuːˈɛl], häufig auch [ˈsiːkwəl] →SEQUEL), ist eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken. SQL ist von ANSI und ISO… …   Deutsch Wikipedia

  • Schwache Typisierung — Die Artikel Typsystem und Typisierung (Informatik) überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte entferne diesen… …   Deutsch Wikipedia

Share the article and excerpts

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