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 ] ...