10.07.2015 Aufrufe

Defaults in deduktiven Datenbanken

Defaults in deduktiven Datenbanken

Defaults in deduktiven Datenbanken

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

148 KAPITEL 6. BERECHNUNG VON ANTWORTENDa es ke<strong>in</strong>e widersprechenden Begründungen mehr gibt, ist die Antwort ”ja“ korrekt. ✷Natürlich kann dieser Algorithmus noch weiter optimiert werden:• Bei dem Test, ob es sich lohnt, zwei potentielle Antworten zu komb<strong>in</strong>ieren, brauchennur solche Konflikte berücksichtigt zu werden, deren <strong>Defaults</strong> auch <strong>in</strong> m<strong>in</strong>destense<strong>in</strong>er widersprechenden Begründung vorkommen. Dies reduziert die Anzahl derPaare von potentiellen Antworten, die betrachtet werden müssen.• Zwei widersprechende Begründungen ˆD 1,j1 und ˆD 2,j2 , deren potentielle Antwortenzusammengesetzt werden, sollten sich nicht nur mit demselben Konflikt Ω überlappen,sondern mit disjunkten Anteilen dieses Konfliktes. Man kann also forden,da߈D 1,j1 ∩ (Ω − ˆD 2,j2 ) ≠ ∅ und (Ω − ˆD 1,j1 ) ∩ ˆD 1,j1 ≠ ∅.• Häufig werden die n-elementigen Teilmengen auf verschiedenen Wegen durch Zweier-Komb<strong>in</strong>ationen aufgebaut (wie im obigen Beispiel). Dies kann man allerd<strong>in</strong>gs nurdann reduzieren, wenn man schon weiß, daß die kle<strong>in</strong>eren Teilmengen ke<strong>in</strong>e korrektenAntworten produzieren.Mengenorientierte ImplementierungNun ist zu demonstrieren, daß auch die zweite Phase der Anfragebeantwortung mengenorientiertimplementiert werden kann.Die erste Phase lieferte die Menge ˆΦ <strong>in</strong> der Relation DIS FACTS. Hieraus s<strong>in</strong>d nundie Antwortklauseln und die Konflikte zu extrahieren. Wählt man die Prädikatbezeichnerso, daß alle answer-Literale vor allen default δ -Literalen kommen (und natürlich nach allenanderen Literalen), so ist folgende Selektion möglich:(POT ANS := π id σactive=’T ’∧pred=’answer’ (DIS FACTS) ) ✶ DIS FACTS,(CONFLICT := π id σactive=’T ’∧pred like ’default%’ (DIS FACTS) ) ✶ DIS FACTS.Würde man die Disjunktionen physisch zusammen abspeichern, so wären die Verbundenatürlich sehr effizient auszuführen. In Beispiel 6.1.11 erhielte man folgende Menge potentiellerAntworten:POT ANSid pred arg1 active lit length10 answer b T answer(b) 210 default b F ¬default(b) 211 answer c T answer(c) 211 default c F ¬default(c) 212 answer d T answer(d) 113 answer e T answer(e) 213 default e F ¬default(e) 2

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!