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.

64 KAPITEL 3. ANWENDUNGSBEISPIELEAndererseits ist wohl e<strong>in</strong>e wesentlich reichere Typstruktur wünschenswert, wie sie <strong>in</strong>sbesonderevon der F-Logik [KLW90] geboten wird. Schließlich haben Objekte auch noche<strong>in</strong>en <strong>in</strong>neren Zustand, der über Änderungsoperationen modifiziert werden kann.3.3 Formalisierung von ÄnderungsoperationenE<strong>in</strong>e wichtige Anwendung von <strong>Defaults</strong> ist auch die Formalisierung der Rahmenregel beiÄnderungsoperationen. Normalerweise wird nur explizit angegeben, was sich bei derAusführung e<strong>in</strong>er Aktion ändert. Man geht dann davon aus, daß alles andere unverändertbleibt. Oft läßt sich aber nicht e<strong>in</strong>fach syntaktisch feststellen, was genau alles andere“”ist. Zusätzliche Schwierigkeiten treten bei nichtdeterm<strong>in</strong>istischen Aktionen auf, derenNachbed<strong>in</strong>gung also Disjunktionen enthält. Die naheliegende Lösung ist nun, e<strong>in</strong>en Defaultder Art alles bleibt, wie es ist“ zu verwenden. Auf diese Weise erzw<strong>in</strong>gt man, daß”nur e<strong>in</strong>e m<strong>in</strong>imale Änderung durchgeführt wird, um die Aktions-Spezifikation zu erfüllen.ZustandsübergängeBeispiel 3.3.1: Als Beispiel sei e<strong>in</strong> rudimentäres Abenteuerspiel betrachtet. DiesesSpiel hat nur zwei ”Räume“: e<strong>in</strong>en Wald und e<strong>in</strong>e Höhle (richtige Spiele haben etwa100 Räume). Die Aufgabe ist nun, im Wald den Honig zu nehmen und damit den Bären<strong>in</strong> der Höhle zu füttern. E<strong>in</strong> Zustand des Spiels ist also durch die Information beschrieben,• <strong>in</strong> welchem Raum sich der Spieler bef<strong>in</strong>det (Wald oder Höhle),• wo sich der Honig bef<strong>in</strong>det (möglicherweise <strong>in</strong> der Tasche des Spielers),• ob der Bär noch hungrig ist.Der Spieler kann den Zustand nun durch se<strong>in</strong>e Züge verändern, so kann er etwa mit denKommandos ”gehe nach Norden“ und ”gehe nach Süden“ zwischen den beiden Räumenwechseln, er kann den Honig nehmen und den Bär füttern (gute Abenteuerspiele habene<strong>in</strong>en Wortschatz von über 1000 Worten).Beispielsweise sei die Operation ”nimm den Honig“ zu spezifizieren. Die Vorbed<strong>in</strong>gungist, daß sich der Spieler im selben Raum wie der Honig bef<strong>in</strong>det:<strong>in</strong>(spieler, X) ∧ <strong>in</strong>(honig, X).Die Nachbed<strong>in</strong>gung ist, daß der Spieler den Honig <strong>in</strong> se<strong>in</strong>er Tasche hat:<strong>in</strong>(honig, tasche).Solche Vor- und Nachbed<strong>in</strong>gungen lassen sich e<strong>in</strong>fach <strong>in</strong> die Prädikatenlogik übersetzen,wenn man jedes Prädikat verdoppelt (e<strong>in</strong>e Version für den Vorzustand und e<strong>in</strong>e für denNachzustand, siehe auch [Ger91]). Das Kommando ”nimm den Honig“ hat also folgendeAuswirkung:<strong>in</strong> old (spieler, X) ∧ <strong>in</strong> old (honig, X) → <strong>in</strong> new (honig, tasche).

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!