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.
54 KAPITEL 3. ANWENDUNGSBEISPIELEDie orig<strong>in</strong>ale CWA würde hier ¬defekt(sicherung) und ¬defekt(netzteil) annehmen (dennes folgt ja weder defekt(sicherung) noch defekt(netzteil)). Damit wird natürlich die Konsistenzzerstört.Zunächst kann man es natürlich als zu optimistisch ansehen, überhaupt Negations-<strong>Defaults</strong> für defekt anzunehmen. Das bestärkt natürlich den hier verfolgten Ansatz, daß<strong>Defaults</strong> Gegenstand des <strong>Datenbanken</strong>twurfs se<strong>in</strong> sollten, und nicht fest <strong>in</strong> die Anfragebeantwortunge<strong>in</strong>gebaut.In diesem Beispiel wäre es allerd<strong>in</strong>gs sehr unökonomisch, jedes Teil prüfen zu wollen,wenn man den Fehler schon soweit lokalisiert hat, daß die Versorgungsspannung ausgefallenist. Weiß man dagegen nur, daß der Computer defekt ist, so hat man e<strong>in</strong>e großeDisjunktiondefekt(cpu) ∨ defekt(hauptspeicher) ∨ · · · ∨ defekt(tastatur).Diese Disjunktion sollte die Anwendung der betreffenden Negations-<strong>Defaults</strong> verh<strong>in</strong>dern,aber nur, solange man nicht gleichzeitig spezifischere Informationen hat. Dies ist e<strong>in</strong>wesentlicher Unterschied zu Semantiken disjunktiver logischer Programme [RT88], diee<strong>in</strong>fach alle entsprechenden Negations-<strong>Defaults</strong> blockieren, wenn syntaktisch e<strong>in</strong>e solcheDisjunktion aufgeschrieben ist.Natürlich wäre es <strong>in</strong> diesem Beispiel wohl noch realistischer, wenn man auch typischeFolgefehler berücksichtigen würde. Wenn man etwa erzw<strong>in</strong>gen möchte, daß die Sicherungenüberprüft werden, wenn das Netzteil defekt war, so könnte man folgenden Defaultverwenden:defekt(sicherung) ← defekt(netzteil).Dies ist natürlich nur e<strong>in</strong> Default, es ist auch möglich, daß das Netzteil defekt ist, ohnedaß die Sicherungen <strong>in</strong> Mitleidenschaft gezogen wurden. Aber dieser Default steht imKonflikt mit ¬defekt(sicherung), so daß sich die beiden <strong>Defaults</strong> gegenseitig blockieren(falls das Netzteil defekt ist).Damit wurde jetzt erstmals der Bereich der re<strong>in</strong>en Negations-<strong>Defaults</strong> verlassen. Beider Fehler-Diagnose gibt es noch viele weitere solcher Faustregeln, die sich sehr natürlichals <strong>Defaults</strong> formulieren lassen.✷In diesem Beispiel möchte man also diejenigen Negations-<strong>Defaults</strong> annehmen, die nichtan e<strong>in</strong>er m<strong>in</strong>imalen positiven Grundklausel beteiligt s<strong>in</strong>d, die aus den Axiomen Φ folgt(m<strong>in</strong>imal <strong>in</strong> dem S<strong>in</strong>ne, daß ke<strong>in</strong>e Teilklausel auch aus Φ folgt). Dies liefert geradedie GCWA [M<strong>in</strong>82]. Die Verallgeme<strong>in</strong>erung der GCWA auf beliebige <strong>Defaults</strong> ist dievorsichtige CWA, die <strong>in</strong> Kapitel 5 behandelt wird.Dies ist aber nicht die e<strong>in</strong>zige mögliche Negations-Semantik bei disjunktiver Information:Beispiel 3.1.6: Disjunktive Information entsteht auch bei Regeln über (biologische)Vererbung, etwa bei Blutgruppen:blutgruppe(X, a) ∨ blutgruppe(X, 0 ) ←eltern(X, Y 1 , Y 2 ) ∧ blutgruppe(Y 1 , a) ∧ blutgruppe(Y 2 , 0 ).