Einleitung


... [ Seminar "Programmierkonzepte und Programmiersprachen" ] ... [ Inhaltsverzeichnis ] ... [ zurück ] ... [ weiter ] ...

Übersicht: Einleitung


Logische Programmierung

Anfang der 70er Jahre des vergangenen Jahrhunderts wurde mit der Entwicklung von Programmiersprachen der sogenannten 5. Generation begonnen. Diese Programmiersprachen teilen Algorithmen in eine logische Komponente und eine Steuerungskomponente (Kowalski-Doktrin). Bei diesem Ansatz drücken Regeln und Fakten das allgemeine Wissen und konkrete Annahmen zum Problem aus. Regeln werden auf Fakten angewendet, um eine Lösung auf die an das System gestellte Anfrage zu erhalten. Aufgrund diese Konzeptes eignet sich die logische Programmierung hervorragnd für die Erst- und Weiterentwicklung von Prototypen, wenn nur unvollständige Informationen in der Spezifikationsphase vorliegen. Als am weitesten verbreitete Sprache der 5. Generation kann Prolog angesehen werden, welche ihren Ursprung in Marseille hat und dort ebenfalls Anfang der 70er Jahre des vergangenen Jahrhunderts von Alain Colmerauer entwickelt wurde.

Um nähere Informationen über die logische Programmierung zu erhalten wird dem interessierten Leser das Seminar "Logische Programmierung", welches ebenfalls aus der Reihe "Programmierkonzepte und Programmiersprachen" stammt, empfohlen.


Logische Programmierung mit Einschränkungen

Die vorliegende Arbeit beschäftigt sich mit der logischen Programmierung mit Einschränkungen. Diese versteht sich als natürliche Weiterentwicklung der logischen Programmierung und wurde seit Mitte der 80er Jahre des vergangenen Jahrhunderts entwickelt. Hierbei wird die logische Programmierung mit der Constraintprogrammierung (Constraint, engl.: Einschränkung) kombiniert. Ziel ist es, durch den Einschränkungen den Suchraum zu verkleinern und im Idealfall nur noch gültige Lösungen in diesem zu haben. Neben dieser Effektivitätssteigerung erhofft man sich zudem eine Steigerung der Ausdrucksstärke und Flexibilität.

Wie im Folgenden zu sehen sein wird, liegen die Vorteile der logischen Programmierung mit Einschränkungen auch darin, dass es sich zur Lösung von kombinatorischen Problemen, zum Beispiel Zeitplanproblemen, eignet und es auch einsetzbar ist, wenn nur unvollständige, ungenaue oder unsichere Informationen vorliegen, wie dies beispielsweise bei der Finanzanalyse der Fall ist.


Organisatorisches

Die Beispiele in dieser Arbeit wurden für das ECLiPSe-System erstellt. Im ECLiPSe-System wird die Prologsyntax um Constraints erweitert. Für eine Einführung in die Prologsyntax sei abermals auf das Seminar "Logische Programmierung" aus dieser Reihe verwiesen.
... [ Seminar "Programmierkonzepte und Programmiersprachen" ] ... [ Inhaltsverzeichnis ] ... [ zurück ] ... [ weiter ] ...