Defaults in deduktiven Datenbanken
Defaults in deduktiven Datenbanken
Defaults in deduktiven Datenbanken
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
158 KAPITEL 6. BERECHNUNG VON ANTWORTENDaher muß man die Beweisprozedur so erweitern, daß sie die schließlich erreichte” leere“ Klausel <strong>in</strong> e<strong>in</strong>em Rückgabeparameter“ A liefert. Diese Klausel entspricht dann”der berechneten disjunktiven Antwort:prove(Φ, ψ, A) :-refute(Φ, ψ, ¬ψ, A).refute(Φ, ψ, Γ, A) :-empty(Γ),A = Γ.refute(Φ, ψ, Γ, A) :-ϕ ∈ Φ ∪ {¬ψ},resolve(Γ, ϕ, Γ ′ , ),refute(Φ, ψ, Γ ′ , A).Beispiel 6.2.5: Sei etwa Φ := {p(a) ∨ p(b)}. Hat man nun die Anfrage p(X), erhältman folgende Ableitung:← p(X) ∧ answer(X)(Startklausel)← ¬p(b) ∧ [p(a)] ∧ answer(a)(Resolution mit p(a) ← ¬p(b))← answer(b) ∧ [¬p(b)] ∧ [p(a)] ∧ answer(a) (Resolution mit ¬p(X) ← answer(X))← answer(b) ∧ answer(a)(Antwortklausel)Hieraus erhält man nun direkt die disjunktive Antwort {〈X ⊳ a〉, 〈X ⊳ b〉}.Dies entspricht natürlich im wesentlichen der Normalisierunganswer(X 1 , . . . , X n ) ← ψ,die bei der bottom-up“-Methode vorgenommen wurde. Tatsächlich kann man es bei”beiden Verfahren entweder als Buchführungs-Mechanismus verstehen, oder als echte Normalisierungmit logischem Inhalt.Die Buchführung über die verwendeten Default-Ausprägungen geschieht hier anders(s.u.), so daß e<strong>in</strong>e Normalisierung nach Kapitel 2 nur dann nötig ist, wenn die <strong>Defaults</strong>ke<strong>in</strong>e Klauseln s<strong>in</strong>d.Bei den Axiomen wird natürlich auch vorausgesetzt, daß sie <strong>in</strong> die Klauseldarstellunggebracht wurden.✷E<strong>in</strong> leichtgläubiger BeweiserNachdem jetzt also logisch korrekte Antworten berechnet werden können, sollen auch<strong>Defaults</strong> <strong>in</strong> dem Beweis benutzt werden. Am e<strong>in</strong>fachsten ist zunächst die ”leichtgläubige“Default-Semantik, die später auch als Unterprogramm benötigt wird. Zunächst seien hierwieder Prioritäten ausgeschlossen, die für die Verwendung von Prioritäten notwendigenErweiterungen können jedoch auf die e<strong>in</strong>e e<strong>in</strong>zige Prozedur (extend) beschränkt werden,wie unten erläutert wird.