10.07.2015 Aufrufe

Defaults in deduktiven Datenbanken

Defaults in deduktiven Datenbanken

Defaults in deduktiven Datenbanken

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!