Defaults in deduktiven Datenbanken
Defaults in deduktiven Datenbanken
Defaults in deduktiven Datenbanken
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
6.2. TOP-DOWN 157auch gleich hätte die Seitenklausel anwenden können, die zu dem weiter l<strong>in</strong>ks stehendenLiteral geführt hat (und anschließend gegebenenfalls die weiteren Ableitungsschrittewiederholen). Die so konstruierte Klausel subsumiert dann die aktuelle Zielklausel.Dieser Test und e<strong>in</strong>e Beschränkung der Anzahl der vorkommenden Variablen garantierendie Term<strong>in</strong>ierung der Anfrageauswertung: Wie oben erläutert, müßten sich <strong>in</strong> e<strong>in</strong>erunendlichen Ableitung immer mehr gerahmte Literale ansammeln. Aufgrund der Bereichsbeschränkungmüssen die <strong>in</strong> gerahmten Literalen vorkommenden Variablen auch<strong>in</strong> echten Literalen vorkommen, daher ist ihre Anzahl beschränkt. Also muß dasselbegerahmte Literal doppelt vorkommen.✷Zum Abschluß dieses Abschnittes bleibt festzuhalten, daß beim top-down“-Ansatz E<strong>in</strong>schränkungender zulässigen Axiome und <strong>Defaults</strong> nötig s<strong>in</strong>d, wenn man die Term<strong>in</strong>ierung”ohne allzu großen Aufwand garantieren will. Das Ziel ist dabei e<strong>in</strong>e Beschränkung derAnzahl der vorkommenden Variablen. Übrigens ist dieses Problem unabhängig von derErweiterung auf allgeme<strong>in</strong>e Klauseln, <strong>in</strong> Beispiel 6.2.3 handelte es sich ja um e<strong>in</strong>e Hornklauselmenge.Die beim bottom-up“ Verfahren hilfreiche Bereichsbeschränkung ist beim”top-down“ Ansatz dagegen von eher untergeordneter Bedeutung.”E<strong>in</strong>e andere Lösung dieses Problems ist es, bottom-up“ Elemente <strong>in</strong> den top-down“-” ”Beweiser e<strong>in</strong>zubauen ( logic programm<strong>in</strong>g with memo<strong>in</strong>g“, siehe etwa [Bry90]).”Berechnung von logisch korrekten AntwortenMit der OL-Resolution kann man also die leere Klausel ableiten, falls Φ∪{¬ψ} <strong>in</strong>konsistentist. Damit ist dann Φ ⊢ ∃(ψ) gezeigt, d.h. die Existenz e<strong>in</strong>er logisch korrekten Antwort.Die Antwortsubstitution selbst erhält man nun wie bei der SLD-Resolution, <strong>in</strong>dem manüber die Substitutionen für die Antwortvariablen Buch führt. Der Grundgedanke ist dabeifolgender: Wenn die Variablen von ψ im Laufe des Beweises durch Konstanten gemäße<strong>in</strong>er Substitution θ ersetzt wurden, dann kann man denselben Beweis ausgehend von ¬ψθdurchführen. Damit erhält man dann Φ ⊢ ψθ (aufgrund der Bereichsbeschränkung werdenalle Variablen im Laufe des Beweises durch Konstanten ersetzt).Im Unterschied zur SLD-Resolution kann hier die Anfrage aber mehrfach <strong>in</strong> der Ableitungverwendet werden, das liefert dann gerade die disjunktiven Antworten. Wenn manaus Φ ∪ {¬ψθ 1 , . . . , ¬ψθ k } die leere Klausel ableiten kann, so ist diese Menge <strong>in</strong>konsistentund es giltΦ ⊢ ¬ψθ 1 ∨ · · · ∨ ¬ψθ k .Allerd<strong>in</strong>gs wird die Buchführung über die Substitutionen jetzt natürlich etwas mühsamer.E<strong>in</strong> hübscher Implementierungstrick hierfür wurde <strong>in</strong> [Gre69] vorgeschlagen: Manhängt e<strong>in</strong> Literal answer(X 1 , . . . , X n ) an die Anfrage an, mit e<strong>in</strong>em neuen Prädikat answerund den Antwortvariablen X 1 , . . . , X n . In diesen Literalen sammeln sich dann die Substitutionenfür X 1 , . . . , X n an, ansonsten werden sie bei der Ableitung ignoriert (<strong>in</strong>sbesonderewird e<strong>in</strong>e Klausel, die nur noch aus solchen Literalen besteht, wie die leere Klauselbehandelt).