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.
5Prolog löst dieses Problem, <strong>in</strong>dem es die Schreibweise der Regel auswertet und demNegationsdefault für das im Kopf auftretende Prädikat ger<strong>in</strong>gere Priorität gibt als denender Rumpfprädikate. In diesem Fall würde sich also ¬ausnahme(tweety) durchsetzen.Hätte man die Regel dagegen <strong>in</strong> der logisch äquivalenten Schreibweiseausnahme(X) ← vogel(X) ∧ ¬kann fliegen(X)formuliert, so wäre es gerade umgekehrt, es würde ausnahme(tweety) angenommen.Es f<strong>in</strong>det also auch bisher schon e<strong>in</strong>e Spezifikation der <strong>Defaults</strong> statt, wenn auch nurihrer Prioritäten. Diese Spezifikation ist aber implizit und <strong>in</strong> den Regeln verborgen, redundantund möglicherweise <strong>in</strong>konsistent. Dabei ist es doch eher dem Prädikat ausnahmezuzuordnen, daß Ausnahmen eben selten s<strong>in</strong>d. Die zweite Schreibweise sollte dem ke<strong>in</strong>enAbbruch tun.Wesentlich größer s<strong>in</strong>d die Schwierigkeiten bei der Darstellung von unvollständigerInformation. Es gibt e<strong>in</strong>e ganze Reihe unterschiedlicher Vorschläge für die Semantik derimpliziten Negation. Explizite <strong>Defaults</strong> helfen nun e<strong>in</strong>erseits, diese Vorschläge zu erklärenund mite<strong>in</strong>ander zu vergleichen, und andererseits, dem Benutzer oder <strong>Datenbanken</strong>twerferdie Wahl zu lassen, welche Vervollständigung er verwenden will (entsprechend derjeweiligen Anwendung).Wozu s<strong>in</strong>d <strong>Defaults</strong> noch nützlich?Die implizite Negation ist aber ke<strong>in</strong>eswegs die e<strong>in</strong>zige Anwendung von <strong>Defaults</strong>.<strong>Defaults</strong> können etwa auch e<strong>in</strong> Mittel zur Erklärung se<strong>in</strong>. Es ist ja durchaus üblich,erst die allgeme<strong>in</strong>e Regel anzugeben, und dann die Ausnahmen. So sagt man etwa ”Vögelkönnen fliegen“:kann fliegen(X) ← vogel(X).Das ist natürlich e<strong>in</strong>e stark vergröberte Aussage, da es zahlreiche Ausnahmen gibt:¬kann fliegen(X) ← p<strong>in</strong>gu<strong>in</strong>(X).¬kann fliegen(X) ← strauss(X).¬kann fliegen(X) ← flügel gebrochen(X).Trotzdem ist die Trennung <strong>in</strong> die allgeme<strong>in</strong>e Regel und <strong>in</strong> ihre Ausnahmen sehr hilfreichfür die Darstellung (vermutlich s<strong>in</strong>d die genannten Ausnahmen ja noch nicht e<strong>in</strong>malvollständig). Mit <strong>Defaults</strong> kann man dieses Beispiel so aufschreiben wie hier gezeigt. Manhat nur darauf zu achten, daß e<strong>in</strong>e Ausnahme e<strong>in</strong>e höhere Priorität als die allgeme<strong>in</strong>e Regelhat, so daß sie sich durchsetzt, wenn beide anwendbar s<strong>in</strong>d.Wenn man nun nicht mehr die e<strong>in</strong>zelnen Regeln betrachtet, sondern die spezifiziertenObjekte, so entspricht dies e<strong>in</strong>er Spezialisierung. Man geht aus von e<strong>in</strong>er e<strong>in</strong>fachenSpezifikation e<strong>in</strong>es ”typischen Vogels“ und verfe<strong>in</strong>ert sie schrittweise zu e<strong>in</strong>em typischenP<strong>in</strong>gu<strong>in</strong>, zu e<strong>in</strong>em typischen Neuseeländischen Goldschopfp<strong>in</strong>gu<strong>in</strong>, und schließlich zu e<strong>in</strong>emspeziellen Exemplar dieser Art.