Promotionsvorhaben

Disjunctive Logic Programming with Constraints and its Applications

Name
Frieder Stolzenburg
Status
Abgeschlossen
Abschluss der Promotion
Erstbetreuer*in
Prof. Dr. Ulrich Furbach
Gutachter*in 2
Prof. Dr. Jaffar
Die Constraint-Logikprogrammierung verbindet Hornklausellogik mit dem Constraint-Schließen. Doch die Spezifikation vieler Problemstellungen erfordert oft zusätzlich disjunktive, d.h. Nicht-Horn-Regeln. Damit ist es u.a. möglich, klassische Negation in Logikprogramme einzuführen. Zwar gibt es schon Ansätze für eine solche Erweiterung (z.B. die Constraint-Resolution [Bürckert, 1991]), die aber in erster Linie nur einen theoretischen Rahmen liefern. Hier soll ein Verfahren vorgestellt werden, das sich auch gut für eine Implementation eignet: die Constraint-Modellelimination [Baumgartner and Stolzenburg, 1995]. Dieser Kalkül basiert auf der Modellelimination [Loveland, 1968] und läßt sich gut für die Disjunktive Logikprogrammierung mit Constraints einsetzen. Die Grundidee dabei ist es, (a) den Logik-Anteil einer Problembeschreibung nach PROLOG zu compilieren (Stichwort: PTTP-Technik [Stickel, 1988]) und (b) beim Lösen der Constraints auf vorhandene Constraint-Verfahren aufzusetzen, wie sie in vielen Prolog-Erweiterungen angeboten werden (z. B. ECLiPSe [ECRC, 1995]). Beides ist integriert im PROTEIN-System [Baumgartner and Furbach, 1994b]. Antwort-Vollständigkeit wird für Disjuntive Logikprogramme bewiesen, die mit beliebigen Constraint-Systemen kombiniert werden können, welche nicht einmal erfüllbarkeitsvollständig sein müssen. Eine Reihe von Anwendungen werden untersucht: die Analyse von Regelwerken [Stolzenburg and Thomas, 1996], Programmierung mit Mengen [Stolzenburg, 1996c], taxonomisches Schliessen [Baumgartner and Stolzenburg, 1995] etc. Diese unvollständige Liste kann die praktische Anwendbarkeit der Disjunktiven Logikprogrammierung mit Constraints natürlich nur andeuten.