Defaults in deduktiven Datenbanken

Werbung
Defaults in deduktiven Datenbanken
vom Fachbereich Mathematik
der Universität Hannover
zur Erlangung des Grades
Doktor der Naturwissenschaften
Dr. rer. nat.
genehmigte Dissertation
von
Dipl.-Inform. Stefan Braß
geboren am 09.08.1964 in Hannover
1992
Referent:
Korreferent:
Prof. Dr. U. W. Lipeck
Prof. Dr. H.-D. Ehrich
Tag der Promotion:
06.07.1992
Datum der Veröffentlichung: August 1992
i
Zusammenfassung
Ziel dieser Arbeit ist eine systematische Entwicklung der Theorie von Defaults in deduktiven Datenbanken.
Deduktive Datenbanken sind dadurch gekennzeichnet, daß sie Mengen logischer Formeln verwalten: Fakten, Regeln und unvollständige Information (z.B. Disjunktionen).
Die Anfragebearbeitung besteht dann in der Berechnung von Folgerungen aus dieser Formelmenge.
Dabei können bestimmte Formeln als Default angenommen werden, sofern keine gegenteilige Information vorliegt. Üblicherweise werden Defaults zur Auswertung negierter
Anfragen verwendet. Aber auch die Vererbung in objektorientierten Ansätzen und andere
Wissensrepräsentations-Formalismen können mit Defaults beschrieben werden.
Diese Arbeit hat zwei Hauptgegenstände: Einerseits ist die genaue Semantik der
Defaults zu klären, die keineswegs selbstverständlich ist. Andererseits soll gezeigt werden,
daß eine Anfragebearbeitung mit Defaults auch praktisch durchführbar ist.
Hinsichtlich der Semantik wird ein allgemeiner Begriffsrahmen eingeführt, der dann als
Grundlage für die Diskussion verschiedener Vorschläge dient. Insbesondere wird die Ausdrucksfähigkeit der minimale Modelle“-Semantik charakterisiert, die vorsichtige CWA“
”
”
als Verallgemeinerung der Annahmen der geschlossenen Welt eingeführt, und gezeigt,
daß beide Semantiken extremal mit bestimmten Eigenschaften sind. Außerdem wird auf
bisher unbekannte Mängel der konstruktiven Semantik für partiell geordnete Defaults
hingewiesen.
Als Grundlage für eine effiziente Anfrage-Auswertung werden ein top-down“ und ein
”
bottom-up“ Verfahren vorgestellt. Das top-down“ Verfahren hat gegenüber bisherigen
”
”
Vorschlägen den Vorteil, die Anwendbarkeit von Defaults so früh wie möglich zu testen.
Bottom-up“-Verfahren mit allgemeinen Klauseln und Defaults gibt es in der Literatur
”
offenbar noch gar nicht.
ii
Abstract
The goal of this thesis is a theory of defaults in deductive databases.
Deductive databases store formulae which describe facts corresponding to conventional
database information, rules for deducing further information, and indefinite information.
In the proof-theoretic view, the query evaluation consists of computing consequences of
the stored formulae.
During this process, certain formulae can be assumed as defaults, if no contradicting
information is explicitly given. Usually defaults are used to evaluate negated literals.
But also inheritance in object-oriented approaches and other knowledge representation
formalisms can be described by means of defaults.
This thesis is concerned with two problem areas: First, we try to clarify the semantics
of defaults, and second, we contribute to the algorithmic foundations of query evaluation.
Concerning the semantics, we introduce a general and abstract framework, and discuss
various alternatives in this setting. Especially, we characterize the expressiveness of the
“minimal model” approach, introduce the “careful closed world assumption”, show that
both are extremal semantics with certain properties, and demonstrate previously unknown
defects of the constructive semantics of partially ordered defaults.
With respect to the algorithmic foundations, we give a bottom-up and a top-down
procedure for reasoning with explicit defaults. There seems to be no such bottom-up
algorithm in the literature, and the top-down approach has the advantage over previous
proposals that it is able to test the applicability of defaults as soon as possible.
iii
Danksagung
Ich möchte Herrn Prof. Dr. Udo W. Lipeck für viele hilfreiche Hinweise und fruchtbare
Diskussionen während der letzten dreieinhalb Jahre danken.
Herrn Prof. Dr. Hans-Dieter Ehrich möchte ich für die Übernahme des Zweitgutachtens
danken, sowie für die Betreuung meiner Diplomarbeit, durch die ich zu einer intensiveren
Beschäftigung mit dem Themenkreis Logik und Datenbanken“ gefunden habe.
”
Kommentare zu Vorversionen und andere nützliche Hinweise habe ich bekommen
von: Dr. Gerhard Brewka, Arno Brinkmann, Dr. François Bry, Dr. Bernhard Convent, Dr. Hendrik Decker, Francisco Miguel Dionisio, Jürgen Dix, Dr. Klaus Drosten,
Michael Gertz, Prof. Dr. Ralf Hartmut Güting, Gerhard Koschorreck, Prof. Dr. Georg
Lausen, Prof. Dr. Wiktor Marek, Dr. Mark Ryan, Prof. Dr. Yehoshua Sagiv, Prof. Dr. Peter H. Schmitt, Prof. Dr. Bernhard Thalheim und Heinz Uphoff. Dafür möchte ich an
dieser Stelle noch einmal herzlich danken.
Nützlich waren auch die Kontakte in der Forschungsgruppe IS-CORE ( Information
”
Systems — COrrectness and REusability“, koordiniert von Prof. Dr. Amı́lcar Sernadas).
iv
Inhaltsverzeichnis
1 Einführung
1
2 Deduktive Datenbanken
11
2.1 Die verwendete Logik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Intendierte Modelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3 Anfragen und Antworten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3 Anwendungsbeispiele
3.1 Implizite Negation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Vererbung in objekt-orientierten Ansätzen . . . . . . . . . . . . . . . . . .
3.3 Formalisierung von Änderungsoperationen . . . . . . . . . . . . . . . . . .
49
49
59
64
4 Eigenschaften von Vervollständigungen
4.1 Folgerungsregeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Modelltheoretische Eigenschaften . . . . . . . . . . . . . . . . . . . . . . .
4.3 Vervollständigungen als Semantik von Defaults . . . . . . . . . . . . . . . .
71
72
81
83
5 Semantik von Defaults
5.1 Minimale Modelle . .
5.2 Die vorsichtige CWA
5.3 Weitere Semantiken .
5.4 Zusammenfassung . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
89
89
101
111
120
6 Berechnung von Antworten
125
6.1 Bottom-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
6.2 Top-Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
7 Ausblick
167
Symbolverzeichnis
171
Literaturverzeichnis
175
Index
193
v
vi
Kapitel 1
Einführung
Ziel dieser Arbeit ist es, deduktive Datenbanken um Defaults zu erweitern. Damit ist sie
im Zwischenfeld der Theorie von Datenbanken, der logischen Programmierung und der
künstlichen Intelligenz einzuordnen.
Deduktive Datenbanken [Rei78, GMN84, Rei85, Ull88, Ull89] dienen dazu, logische
Formeln abzuspeichern. Die Anfragebeantwortung geschieht dann mit Techniken des automatischen Beweisens. Typischerweise läßt man nur eingeschränkte Formeln zu (etwa
Hornklauseln), so daß die Anfragebeantwortung hinreichend effizient möglich ist.
Defaults [Rei80, Bes88, Bre91] erlauben die Annahme von Formeln, sofern nichts
Gegenteiliges bekannt ist. So ist es etwa üblich, bei der Anfragebeantwortung davon
auszugehen, daß nicht ableitbare Fakten falsch sind [Rei78, Cla78]. Daher muß man nur
die positive Information explizit repräsentieren, die im allgemeinen wesentlich kürzer und
einfacher zu notieren ist als die gesamte, bei der Anfragebeantwortung zu verwendende
Information. Außerdem kann man nur so die bewährten relationalen Datenbanken als auf
atomare Formeln beschränkte deduktive Datenbanken verstehen. Defaults wurden also
schon immer in deduktiven Datenbanken verwendet. Dabei waren die zu verwendenden
Defaults aber fest in die Anfragebeantwortung eingebaut, und es handelte sich um die
klassische Annahme von Negationen.
Ziel dieser Arbeit ist es, die explizite Angabe beliebiger Defaults zu erlauben, und
sowohl ihre Semantik zu untersuchen (was ist eine korrekte Antwort?) als auch passende
Antwortalgorithmen anzugeben (wie berechnet man korrekte Antworten?).
Damit einher geht die Erweiterung deduktiver Datenbanken auf beliebige Klauseln
(anstelle der eingeschränkten Hornklauseln); denn gerade hier sind explizite Defaults
besonders wichtig. Läßt man nämlich auch Disjunktionen zu, etwa um unvollständige
Information darzustellen, so ist die Semantik der impliziten Negation keineswegs mehr
klar [Min82, MP84, YH85, GP86, GPP86, BH86, RT88, Dec91]. Defaults erlauben dem
Datenbankentwerfer nun, die gewünschte Art der Negation zu spezifizieren [BL89].
Defaults sind aber nicht nur für die implizite Negation nützlich, wenn dies auch bisher
ihre wichtigste Anwendung war. In letzter Zeit wird aber eine Integration von deduktiven und objekt-orientierten Datenbanken angestrebt [KNN90, KLW90]. Hier kann die
Vererbung von Informationen ganz direkt mit Defaults formalisiert werden [BL91].
1
2
KAPITEL 1. EINFÜHRUNG
Natürlich sind allgemeine Defaults an sich keine neue Erfindung. Sie wurden auch
schon in der künstlichen Intelligenz untersucht bei dem Versuch, Schlußweisen des gesunden Menschenverstandes zu formalisieren [McC80, Rei80, Moo85, McC86]. Allerdings
werden dort meist recht komplizierte Arten von Defaults betrachtet oder neue Logiken,
was zu zahlreichen Problemen führt. Im Datenbankbereich scheinen dagegen einfache
prädikatenlogische Formeln als Defaults auszureichen [Poo88, BL89], und durch diese
Beschränkung wird alles wesentlich einfacher und übersichtlicher. Dagegen haben sich
Prioritäten zwischen den Defaults als sehr nützlich erwiesen. Sie erlauben, zu spezifizieren, welcher Default vorgezogen werden soll, wenn ein Konflikt zwischen zwei Defaults
besteht.
Ein Ziel der vorliegenden Arbeit ist es nun, für solche einfachen Defaults mit Prioritäten eine Semantik zu entwickeln. Dazu werden mehrere Vorschläge untersucht und
verglichen: In der Hauptsache sind dies die minimale Modelle“-Semantik [McC80] ver”
allgemeinert auf partiell geordnete Defaults, und eine neue vorsichtige CWA“, die die
”
GCWA [Min82] als Spezialfall enthält. Außerdem wird gezeigt, daß die konstruktive Semantik [Bre91] bei partiell geordneten Defaults nicht mehr äquivalent zu den minimalen
Modellen ist (ein etwas überraschendes Ergebnis). Auch eine passend verallgemeinerte
Version der originalen CWA [Rei78] wird zum Vergleich herangezogen.
Es sollen aber nicht nur diese vier Semantiken einfacher Defaults untersucht werden,
sondern es soll ein Überblick über alle denkbaren Semantiken gewonnen werden. Der semantische Bereich für Defaults sind Vervollständigungen, die das explizit aufgeschriebene
Wissen um implizite Annahmen erweitern. Sie können auf drei Arten formalisiert werden:
als Auswahlfunktion auf den Modellen, als syntaktische Erweiterung der Formelmenge,
oder als neue Folgerungsrelation. Auch dieser allgemeine Rahmen für die Untersuchung
von Default-Semantiken ist ein wesentlicher Beitrag der vorliegenden Arbeit.
Natürlich gibt es in der künstlichen Intelligenz schon Untersuchungen über abstrakte,
nicht-monotone Folgerungsrelationen, etwa [Gab85, Mak89, KLM90, Dix91]. Der dieser
Arbeit zugrunde liegende Ansatz [Bra90a] unterscheidet sich davon hauptsächlich in der
Betonung des modelltheoretischen Aspektes. Die hier betrachteten Folgerungsrelationen
sind gegenüber denen in der Literatur so eingeschränkt, daß es möglich ist, sie äquivalent durch Auswahlfunktionen auf prädikatenlogischen Modellen zu beschreiben. Dies ist
einerseits wesentlich übersichtlicher, da im Datenbankbereich modelltheoretische Sichtweisen ja ohnehin üblicher sind (etwa beim relationalen Datenmodell).
Andererseits sind solche Auswahlfunktionen aber auch in der mathematischen Theorie
der Wahlverfahren ausführlich untersucht worden (eine Übersicht gibt [Mou85]). Es ist
überraschend, daß trotz des gänzlich anderen intuitiven Hintergrunds in den beiden Gebieten viele äquivalente Eigenschaften untersucht worden sind. Durch den hier angegebenen
allgemeinen Rahmen ist es möglich, zwischen beiden Formulierungen umzurechnen, und
es wird auf diesem Wege insbesondere eine Charakterisierung der minimale Modelle“”
Vervollständigungen gewonnen [Bra90a]. In der Literatur sind bisher Resultate aus der
Theorie der Wahlverfahren nur sehr vereinzelt herangezogen worden [DW91].
Neben den speziellen Default-Semantiken und dem allgemeinen Rahmen ist der dritte
3
Beitrag dieser Arbeit eine Untersuchung der Grundlagen von Antwortalgorithmen. Denn
natürlich sollen Defaults auch praktisch bei der Anfragebearbeitung in deduktiven Datenbanken verwendet werden. Hierfür werden zwei Algorithmen vorgeschlagen: Einerseits
ein top-down“ Verfahren [Bra92b], das im Unterschied zu Beweisern für die Circumscrip”
tion [Prz89, Gin89, BG89] die Anwendbarkeit von Defaults so früh wie möglich prüft. Damit hat es eine gewisse Ähnlichkeit mit der in der logischen Programmierung bewährten
SLDNF-Resolventenmethode [Cla78, Llo87], so daß man auf deutliche Effizienzgewinne
hoffen kann. Andererseits wird auch ein bottom-up“ Verfahren vorgeschlagen [BL92], mit
”
dem man das bei deduktiven Datenbanken wichtige mengenorientierte Verhalten erhält.
Warum sind deduktive Datenbanken wünschenswert?
Zunächst einmal sind deduktive Datenbanken eine Verallgemeinerung der relationalen
Datenbanken, die sich in der Praxis bewährt haben. Eine relationale Datenbank läßt sich
ganz direkt in eine Faktenmenge übersetzen [Rei78, GMN84, Rei85].
Daneben können deduktive Datenbanken aber auch Regeln enthalten. Um die Nützlichkeit von Regeln einzusehen, vergleiche man etwa die Regel der Intercity von Hannover
”
nach Dortmund fährt von 701 bis 2101 jede Stunde“ mit einem entsprechenden Fahrplanauszug. Regeln mit Ausnahmen können sehr einfach mit Defaults dargestellt werden.
Außerdem hat sich gezeigt, daß die Darstellung von unvollständiger Information (etwa
Nullwerten) in relationalen Datenbanken schwierig ist: Es gibt sehr viele unterschiedliche Vorschläge für die Semantik solcher Nullwerte und die Antwortalgorithmen sind so
unübersichtlich, daß auch nach einer ganzen Zeit noch Fehler gefunden werden [Kle91].
Die Auffassung des Datenbankzustands als Formelmenge liefert dagegen eine solide theoretische Grundlage für die Behandlung von unvollständiger Information.
Ein weiterer Vorteil deduktiver Datenbanken ist, daß man in der Logik eine einheitliche Sprache für Daten, Programme, Anfragen, Sichten und Integritätsbedingungen hat.
Damit lösen deduktive Datenbanken in eleganter Weise das bekannte impedance mis”
match problem“ beim Übergang von der mengenorientierten, relationalen Darstellung zu
einer tupelweisen Verarbeitung in Anwendungsprogrammen.
Schließlich sei noch bemerkt, daß die Logik ja ein vergleichsweise sehr alter Formalismus zur Wissensrepräsentation ist. Sie verfügt damit über ein ausgereiftes theoretisches
Fundament, so daß es sich anbietet, auch andere Formalismen zur Wissensrepräsentation
in die Sprache der Logik zu übersetzen, um einen gemeinsamen Bezugspunkt für einen
Vergleich zu haben. Passend verallgemeinerte deduktive Datenbanken können dann auch
die Grundlage von Expertensystemen bilden [App85, Pup91].
Warum braucht man Defaults zur Negation?
Mit Defaults werden die Formulierungen einfacher und natürlicher, insbesondere auch für
4
KAPITEL 1. EINFÜHRUNG
Nicht-Logiker. Es ist etwa naheliegend, eine Tabelle als Menge von Fakten zu notieren:
bestellung(meier , taschenlampe).
bestellung(schmidt, radio).
bestellung(schmidt, batterien).
Angenommen, man fragt nun nach den Kunden, die eine Taschenlampe, aber keine Batterien bestellt haben:
bestellung(X, taschenlampe) ∧ ¬bestellung(X, batterien).
Logisch gesehen würde diese Aussage für X = meier nicht folgen. Dazu müßte man
erst spezifizieren, daß die explizit angegebenen Tupel die einzigen sind, also das positive
Wissen über die Tabelle vollständig ist.
Natürlich kann man das in der Logik formulieren, es ist nur etwas komplizierter:
bestellung(X, Y ) ↔
X = meier ∧ Y = taschenlampe
∨ X = schmidt ∧ Y = radio
∨ X = schmidt ∧ Y = batterien.
Diese Formulierung ist allerdings tatsächlich noch nicht ausreichend. Man muß erst noch
angeben, daß je zwei verschiedene Namen auch verschiedene Objekte bezeichnen, also daß
etwa
meier 6= schmidt.
Dies ist, obwohl prinzipiell möglich, doch praktisch etwas mühsam (die Anzahl der Formeln dieser Art wächst quadratisch in der Anzahl der Konstanten).
Natürlich könnte man Abkürzungen verwenden. Die einfachste Abkürzung wäre wohl,
für alle nicht explizit genannten Paare von Kunden und Waren die entsprechende Negation
zu ergänzen, also z.B.
¬bestellung(meier , batterien).
Aber das wäre ja gerade wieder ein Default.
Warum sollten Defaults explizit spezifiziert werden?
Nachdem man sich von der Nützlichkeit der Negations-Defaults überzeugt hat, könnte
man sie natürlich einfach fest in den Antwortalgorithmus einbauen (das ist die momentan
übliche Lösung). Allerdings ist die genaue Semantik nicht mehr so klar, wenn man den
Bereich der Hornklauseln verläßt. Es reicht dann nämlich nicht mehr aus, einfach die
Negation jedes nicht implizierten Faktums anzunehmen. Dies würde zu Widersprüchen
führen [Rei78]. Ein Beispiel ist
kann fliegen(X) ← vogel (X) ∧ ¬ausnahme(X).
vogel (tweety).
Hier folgt weder kann fliegen(tweety) (tweety könnte eine Ausnahme sein, beispielsweise
ein Pinguin) noch ausnahme(tweety) (darüber ist in der Datenbank nichts gesagt). Trotzdem kann man nicht gleichzeitig ¬kann fliegen(tweety) und ¬ausnahme(tweety) annehmen, denn dies widerspricht der angegebenen Regel.
5
Prolog löst dieses Problem, indem es die Schreibweise der Regel auswertet und dem
Negationsdefault für das im Kopf auftretende Prädikat geringere Priorität gibt als denen
der Rumpfprädikate. In diesem Fall würde sich also ¬ausnahme(tweety) durchsetzen.
Hätte man die Regel dagegen in der logisch äquivalenten Schreibweise
ausnahme(X) ← vogel (X) ∧ ¬kann fliegen(X)
formuliert, so wäre es gerade umgekehrt, es würde ausnahme(tweety) angenommen.
Es findet also auch bisher schon eine Spezifikation der Defaults statt, wenn auch nur
ihrer Prioritäten. Diese Spezifikation ist aber implizit und in den Regeln verborgen, redundant und möglicherweise inkonsistent. Dabei ist es doch eher dem Prädikat ausnahme
zuzuordnen, daß Ausnahmen eben selten sind. Die zweite Schreibweise sollte dem keinen
Abbruch tun.
Wesentlich größer sind die Schwierigkeiten bei der Darstellung von unvollständiger
Information. Es gibt eine ganze Reihe unterschiedlicher Vorschläge für die Semantik der
impliziten Negation. Explizite Defaults helfen nun einerseits, diese Vorschläge zu erklären
und miteinander zu vergleichen, und andererseits, dem Benutzer oder Datenbankentwerfer die Wahl zu lassen, welche Vervollständigung er verwenden will (entsprechend der
jeweiligen Anwendung).
Wozu sind Defaults noch nützlich?
Die implizite Negation ist aber keineswegs die einzige Anwendung von Defaults.
Defaults können etwa auch ein Mittel zur Erklärung sein. Es ist ja durchaus üblich,
erst die allgemeine Regel anzugeben, und dann die Ausnahmen. So sagt man etwa Vögel
”
können fliegen“:
kann fliegen(X) ← vogel (X).
Das ist natürlich eine stark vergröberte Aussage, da es zahlreiche Ausnahmen gibt:
¬kann fliegen(X) ← pinguin(X).
¬kann fliegen(X) ← strauss(X).
¬kann fliegen(X) ← flügel gebrochen(X).
Trotzdem ist die Trennung in die allgemeine Regel und in ihre Ausnahmen sehr hilfreich für die Darstellung (vermutlich sind die genannten Ausnahmen ja noch nicht einmal
vollständig). Mit Defaults kann man dieses Beispiel so aufschreiben wie hier gezeigt. Man
hat nur darauf zu achten, daß eine Ausnahme eine höhere Priorität als die allgemeine Regel hat, so daß sie sich durchsetzt, wenn beide anwendbar sind.
Wenn man nun nicht mehr die einzelnen Regeln betrachtet, sondern die spezifizierten Objekte, so entspricht dies einer Spezialisierung. Man geht aus von einer einfachen
Spezifikation eines typischen Vogels“ und verfeinert sie schrittweise zu einem typischen
”
Pinguin, zu einem typischen Neuseeländischen Goldschopfpinguin, und schließlich zu einem speziellen Exemplar dieser Art.
6
KAPITEL 1. EINFÜHRUNG
In objekt-orientierten Sprachen wurde zur Unterstützung solcher Vorgehensweisen
der Mechanismus der Vererbung eingeführt. Die Klasse der Pinguine sollte etwa von
der Oberklasse der Vögel die Eigenschaft erben, Federn zu haben. Dagegen wird die
Eigenschaft, fliegen zu können, überschrieben“.
”
Allerdings ist die Programmierung in objekt-orientierten Systemen doch eher operational, und es fehlt eine formale Semantik. Daher besteht der Wunsch, die deklarative
Vorgehensweise deduktiver Datenbanken mit den Strukturierungsmöglichkeiten objektorientierter Systeme zu kombinieren. Als formale Semantik für die Vererbung bieten sich
dabei Defaults an.
Ein weiterer Anwendungsbereich ist die Formalisierung von Änderungs-Operationen.
Wenn man die Auswirkung einer Aktion beschreibt, erklärt man natürlich nur die Änderung, und geht davon aus, daß alle nicht erwähnten Dinge unverändert bleiben (Rahmenregel). Eine genaue Formalisierung ist aber überraschend schwierig, und hier können
Defaults mit einer präzisen Semantik eine große Hilfe sein.
Defaults unterscheiden sich von normalen Formeln darin, daß auch inkonsistente Mengen oder triviale Folgerungen noch einen Informationsgehalt haben. Auf diese Weise kann
man Vorkehrungen zur Fehlertoleranz treffen. Ein Beispiel wären die beiden Aussagen
Der Zug aus Dortmund kommt in Hannover um 959 an“ und Falls der Zug aus Dortmund
”
”
nicht um 959 ankommt, wartet der Anschlußzug nach Braunschweig maximal 10 Minuten“.
Logisch gesehen wäre die zweite Aussage redundant. Handelt es sich aber um Defaults,
enthält sie eine wesentliche Information für den Fall, daß die erste Aussage überschrieben
wird.
Auch im Zusammenhang mit unvollständiger Information sind Defaults wichtig. Hier
ist es ja häufig nötig, Folgerungen zu ziehen und tätig zu werden, obwohl man sich nicht
davon überzeugen kann, daß die Ausnahmen tatsächlich nicht zutreffen. Vielleicht kennt
man nicht einmal alle Ausnahmen.
Warum sollte man allgemeine Vervollständigungen betrachten?
Sobald man mehr als eine Semantik für Defaults kennt, ist die Frage naheliegend, ob es
noch weitere gibt, die vielleicht in irgendeinem Sinne besser sind.
Die einzige systematische Art, an diese Frage heranzugehen, ist doch offenbar zunächst
den ganzen Bereich zu betrachten, aus dem die Semantiken stammen können, eben die
Vervollständigungen. Diesen Bereich muß man nun mit Hilfe von Eigenschaften filtern“,
”
bis nur noch wenige Vervollständigungen übrig bleiben, oder man zumindest einen gewissen Überblick gewonnen hat.
Solche Eigenschaften können darüber hinaus auch nützlich sein, die bekannten Semantiken zu bewerten oder zu vergleichen.
Schließlich kann man sich aber auch umgekehrt die Frage stellen, ob die hier betrachteten Defaults überhaupt das geeignete Mittel sind, Vervollständigungen zu beschreiben.
Man kann ja auch Vervollständigungen als den grundlegenderen Begriff ansehen, denn
sie beschreiben direkt, wie die Anfragen beantwortet werden sollen. In dieser Sichtweise
7
wären die Defaults ein bloßes Mittel, um Vervollständigungen aufzuschreiben. Es stellen
sich dann solche Fragen wie Können alle vernünftigen Vervollständigungen durch De”
faults beschrieben werden?“ Dies ist insbesondere interessant, weil in der Literatur auch
andere Formalismen für nichtmonotones Schließen vorgeschlagen wurden, die nicht auf
Defaults in dem hier zugrundegelegten Sinn basieren.
Ist diese Theorie auch praktisch einsetzbar?
Lange Zeit schien es so, als wäre der praktische Einsatz allgemeiner Formeln und Defaults
aufgrund des viel zu hohen Aufwands unmöglich. Auf der anderen Seite haben sich
eingeschränkte Formeln und Defaults bei deduktiven Datenbanken und in der logischen
Programmierung bewährt. Daraus ergeben sich zwei mögliche Lösungsansätze:
Einerseits kann man allgemeine Formeln und Defaults als Mittel der Spezifikation
ansehen. Durch die mächtigen Ausdrucksmöglichkeiten werden die Formulierungen wesentlich einfacher, so daß es sich also auszahlt, beim Entwurf deduktiver Datenbanken oder
anderer wissensbasierter Systeme mehrstufig vorzugehen: Zuerst entwirft man das System
in einer mächtigen Logik. Nachdem die mit dem Anwendungsbereich zusammenhängenden Probleme gelöst sind, kann man sich auf die Implementierung konzentrieren. Die
geschieht in einer effizienten Logik. Es ist dabei nur sicherzustellen, daß die Transformation zwischen den beiden Ebenen die Bedeutung erhält. Ein entsprechender Ansatz zur
Überwachung temporaler Integritätsbedingungen wurde in [Lip89] vorgeschlagen. Ein erster Versuch, allgemeine Klauseln und eine mächtigere Vervollständigung nach Prolog zu
übersetzen, ist [GL89]. Allerdings ist dieser Ansatz noch recht eingeschränkt. Trotzdem
ist klar, daß eine solche Transformation prinzipiell möglich sein muß; schlimmstenfalls ist
das Transformationsergebnis ein allgemeiner Beweiser, formuliert in Prolog, zusammen
mit den unveränderten Klauseln als Eingabedaten. Von hier aus kann man jetzt versuchen, den Beweiser immer weiter auf die tatsächliche Eingabe zu spezialisieren (partielle
Auswertung).
Der andere Lösungsansatz ist, Antwortalgorithmen zu entwickeln, die den bewährten
Ansätzen aus der logischen Programmierung und den deduktiven Datenbanken möglichst
ähnlich sind. Tatsächlich werden ja auch in einer Logik mit den erweiterten Möglichkeiten große Teile der Spezifikation aus den Standard-Hornklauseln bestehen. Ziel muß es
also sein, daß der Antwortalgorithmus für die eingeschränkte Logik kaum Mehraufwand
bedeutet, und eine sparsame Verwendung der neuen Möglichkeiten auch nur geringe Effizienzverluste mit sich bringt ( Stetigkeit“).
”
In der vorliegenden Arbeit wird dieser zweite Lösungsansatz angestrebt. Es gibt aber
enge Beziehungen zwischen beiden Vorgehensweisen: Hat man einen Algorithmus, der die
Anteile der einfachen Logik effizient behandelt, so müßte man nicht die ganze Spezifikation
transformieren, sondern könnte sich je nach Effizienzanforderung auf die wichtigsten Teile
beschränken. Außerdem bleibt die Spezifikation nach jeder Teiltransformation ausführbar
und kann damit gestestet werden. Andererseits wäre eine automatische Transformation
nach Prolog natürlich ein Algorithmus im Sinne des zweiten Lösungsansatzes.
8
KAPITEL 1. EINFÜHRUNG
Natürlich können hier nur einige Grundlagen entwickelt werden, da es bis zum skizzierten Ziel vermutlich noch ein weiter Weg ist.
Konkret werden hier zwei Algorithmen vorgeschlagen: Der erste ist der bottom-up“
”
Methode der Anfrageauswertung in deduktiven Datenbanken recht ähnlich, insbesondere
geht er also mengenorientiert vor und vermeidet dadurch Mehrfacharbeit. Im Gegensatz
zur klassischen bottom-up“ Methode arbeitet er aber mit allgemeinen Klauseln und
”
expliziten Defaults.
Der zweite Algorithmus ist ein top-down“ Beweiser, arbeitet also zielgerichtet. Er
”
weist gewisse Ähnlichkeiten zur SLDNF-Resolventenmethode von Prolog auf. In der Literatur gibt es schon einige vergleichbare Algorithmen [Prz89, Gin89, BG89]. Der hier vorgeschlagene Ansatz hat den Vorteil, die Anwendbarkeit der Defaults so früh wie möglich
zu testen (entsprechend der Auswertung der Negationen in Prolog). Dies ist auch nötig,
um disjunktive Antworten berechnen zu können, denn diese Antworten können gerade
durch Fallunterscheidungen bei den Defaults zustande kommen. Außerdem ist der hier
angegebene Algorithmus auch auf die vorsichtige CWA“ anwendbar, und es wird skiz”
ziert, wie er sich auf partiell geordnete Defaults erweitern läßt.
Von dem top-down“ Ansatz gibt es schon erste Implementierungen [Ern92, Bra92a],
”
eine Implementierung des bottom-up“ Verfahrens ist momentan in der Entstehung be”
griffen [Bri92]. Eine Untersuchung anderer nichtmonotoner Beweissysteme [DDFM90]
zeigt, daß solche Implementierungen dringend nötig sind, denn bisher scheint die Praxis
hinter der Theorie doch deutlich zurück zu sein.
Gliederung der Arbeit
Im Kapitel 2 werden Grundbegriffe verallgemeinerter deduktiver Datenbanken eingeführt.
Es werden dabei häufig auch Alternativen diskutiert, um den hier verfolgten Ansatz in
einen größeren Rahmen einzubetten. Für die Semantik der Defaults wird der Begriff der
Vervollständigung mit drei äquivalenten Formalisierungen eingeführt. Die Frage, welche Vervollständigungen einer gegebenen Menge von Defaults zugeordnet werden soll, ist
gerade der Gegenstand späterer Untersuchungen.
Kapitel 3 enthält einige Anwendungsbeispiele für Defaults aus den drei Bereichen
implizite Negation, Vererbung in objekt-orientierten Ansätzen und Semantik von Änderungsoperationen. Damit soll motiviert werden, daß Defaults in deduktiven Datenbanken
und ihren Erweiterungen nützlich sind. Außerdem wird klar werden, daß es mehr als eine
vernünftige Semantik von Defaults gibt, so daß also eine echte Auswahl möglich ist, die
einen genaueren Vergleich erfordert.
In Kapitel 4 werden zunächst abstrakt alle denkbaren Semantiken von Defaults betrachtet, und einige Anforderungen an vernünftige Semantiken aufgestellt. So wird man
etwa wünschen, daß typische Ableitungsregeln der logischen Folgerung gültig bleiben.
Auch gibt es einige unstrittige Eigenschaften für die Berücksichtigung von Defaults.
In Kapitel 5 werden dann im wesentlichen zwei Semantiken für Defaults vorgeschlagen,
die minimale Modelle“-Semantik und die vorsichtige CWA“. Es werden die Eigenschaf”
”
9
ten dieser Semantiken untersucht und ihre Beziehung zueinander geklärt. Zum Vergleich
werden schließlich auch noch weitere Semantiken definiert, unter anderem eine Verallgemeinerung der originalen CWA.
Im Kapitel 6 werden zwei Antwort-Algorithmen vorgestellt, wobei einer top-down“
”
arbeitet (entsprechend Prolog) und einer bottom-up“ (wie üblich bei deduktiven Daten”
banken). Diese Algorithmen sind sowohl auf die minimale Modelle“-Semantik als auch
”
die vorsichtige CWA“ anwendbar.
”
Schließlich werden in Kapitel 7 einige Perspektiven für die zukünftige Arbeit aufgezeigt.
Allgemeine Literaturhinweise
Lehrbücher der mathematischen Logik sind etwa [BN77, EFT86, Sch87, BW91]. Grundkenntnisse im automatischen Beweisen werden in [CL73, Sch87, HK89] vermittelt.
Übersichtsartikel und Lehrbücher zu deduktiven Datenbanken sind [GMN84, Rei84,
Ull88, Ull89, HPRV89, NT89, CGT90, Gog90].
Die Grundlagen des logischen Programmierens finden sich in [Llo87, She88], etwas
knapper auch in manchen Prolog-Lehrbüchern, z.B. [NM90]. Die neueren Vorschläge zur
Semantik der Negation sind etwa in [VGRS91, Prz91] beschrieben.
Zu den verschiedenen Formalismen des nichtmonotonen Schließens gibt es inzwischen
eine ganze Reihe von Monographien [Rei85, Bes88, Bra88, Eth88, Luk90, Bre91]. Alle
diese Bücher basieren aber nicht auf einem solchen abstrakten Ansatz, wie er hier verfolgt
wird. Die Zielsetzung ist auch eine andere: In der vorliegenden Arbeit wird kein Überblick
über die bekannten nichtmonotonen Logiken angestrebt, sondern es wird eine Semantik
für einfache Defaults gesucht.
10
Kapitel 2
Deduktive Datenbanken
Ziel dieses Kapitels ist es, Syntax und Semantik eines erweiterten deduktiven Datenbanksystems zu beschreiben. Im einzelnen sind also Begriffe wie Signatur, Formel, Default,
Anfrage und korrekte Antwort zu definieren.
Für die Semantik der Defaults wird hier mit dem Begriff der Vervollständigung nur
ein allgemeiner Rahmen angegeben, der dann als Grundlage für die Untersuchungen in
späteren Kapiteln dient. Es ist ja gerade der Gegenstand dieser Arbeit, verschiedene
Semantiken von Defaults zu vergleichen.
2.1
Die verwendete Logik
Bei einer deduktiven Datenbank sind fast alles logische Formeln: die Axiome, die Defaults
und die Anfragen. Daher muß zunächst geklärt werden, welche Logik diesen Formeln
zugrunde liegen soll.
Die Auswahl ist hier inzwischen recht groß, insbesondere in den Bereichen komplexe Objekte [NT89, GZC89, HS90, Kos90], Typ-Systeme [KW91, YS91], Dynamik
[Lip89, BRL91, Ger91], epistemische Quantoren ( es ist bekannt, . . .“) [Moo85, Rei88]
”
und deontische Konstrukte ( es ist erlaubt, . . .“) [MWW89, FM91].
”
Ziel dieser Arbeit ist allerdings die Untersuchung von Defaults, und nicht von besonders mächtigen oder benutzerfreundlichen Logiken. Daher wurde eine weitgehend
klassische“ Logik gewählt, nämlich mehrsortige Prädikatenlogik, eingeschränkt auf quan”
torenfreie Formeln ohne Funktionssymbole, aber mit eingebauten“ Prädikaten wie =“
”
”
und <“.
”
Natürlich sollte langfristig das Ziel sein, die Resultate dieser Arbeit auf andere Logiken
zu übertragen. Vermutlich ist das nicht einmal besonders schwer, zumal sich viele der
Erweiterungen auch in der Prädikatenlogik simulieren lassen. Man sollte aber bedenken,
daß die Erfolge des relationalen Datenmodells oder von Programmiersprachen wie C“ und
”
Pascal“ auf ihrer Einfachheit beruhen. Dagegen ist bei den momentan sehr beliebten
”
epistemischen Logiken noch keineswegs klar, welches der vielen vorgeschlagenen nichtäquivalenten Axiomensysteme denn benutzt werden soll [Mar91]. Das zeugt doch davon,
11
12
KAPITEL 2. DEDUKTIVE DATENBANKEN
daß sie zumindest zum jetzigen Zeitpunkt noch keine stabile Basis für Erweiterungen
darstellen.
Eine Alternative wäre natürlich gewesen, Defaults unabhängig von der verwendeten
Logik zu untersuchen, so wie das etwa in [BRL91] geschehen ist. Diese Allgemeinheit
muß aber mit Einschränkungen in anderer Hinsicht erkauft werden: So kann man etwa
nicht voraussetzen, daß die Logik über Junktoren wie ∧“ und ∨“ verfügt, die aber für
”
”
die Eigenschaften in Kapitel 4 dringend benötigt werden. Außerdem basieren die Deduktionsalgorithmen, die in Kapitel 6 zur Anfrage-Auswertung eingesetzt werden, auf der
Prädikatenlogik. Natürlich könnte man versuchen, die Eigenschaften und die Algorithmen entsprechend zu parametrisieren, aber die größere Allgemeinheit würde keineswegs
zu einer größeren Übersichtlichkeit beitragen.
Der Verzicht auf Funktionssymbole ist im Datenbankbereich nicht unüblich. Das
Hauptproblem von Funktionssymbolen ist, daß sie zu unendlichen Bereichen führen. Dann
ist aber nicht mehr jede Menge von Interpretationen durch eine Formelmenge zu beschreiben, was zu Schwierigkeiten bei der modelltheoretische Sichtweise einer Vervollständigung
führt. Die eigentlich wesentlichen Ergebnisse würden dann durch viele Zusatzannahmen
verschleiert. Auch bei der Anfrage-Auswertung käme es zu zahlreichen Schwierigkeiten;
so wären etwa die korrekten Antworten ohne weitere Einschränkungen nicht mehr rekursiv aufzählbar. Eine Einschränkung der zulässigen Axiome, Defaults und Anfragen
kann sicherlich viele dieser Probleme ausschließen. Für Prolog existieren schon zahlreiche
entsprechende Vorschläge, wie z.B. [Plü90].
In einigen Punkten geht die hier verwendete Logik aber auch über das Mindestmaß
hinaus. Zunächst sind beliebige Klauseln zugelassen (sogar beliebige quantorenfreie Formeln), nicht nur definite Hornklauseln wie in reinem Prolog. Der Grund hierfür ist, daß
Disjunktionen zur Repräsentation von unvollständiger Information nötig sind, außerdem
können auch rein negative Klauseln sehr natürlich sein (z.B. Pinguine können nicht flie”
gen“). Schließlich sind Defaults nur interessant, wenn sie den Axiomen und anderen
Defaults widersprechen können. Eine Menge von definiten Hornklauseln ist aber immer
konsistent.
Die zweite Erweiterung ist die Mehrsortigkeit, die zumindest im Datenbankbereich
üblich ist. Sie erlaubt eine einfache syntaktische Typprüfung, reduziert also das Risiko von
Eingabefehlern. Es ist auch möglich, stattdessen Typprädikate“ zu verwenden [Llo87],
”
die Mehrsortigkeit ist also keine echte Steigerung der Ausdrucksfähigkeit. Aber es ist
einfacher, einen speziellen Mechanismus für die Typprüfung zu verwenden als sich auf die
allgemeine Deduktion abstützen zu müssen. Außerdem führt sie zu keinen zusätzlichen
Schwierigkeiten.
Die dritte Erweiterung ist die Berücksichtigung von Datentypen und eingebauten
Prädikaten, insbesondere der Gleichheit. Einerseits sind Datentypen wichtig, wenn man
in den deduktiven Datenbanken eine direkte Verallgemeinerung der relationalen sehen
will. Standardprädikate wie <“ werden schon in den einfachsten Anfragen verwendet,
”
man kann sie also auch bei nur mäßiger Praxisnähe nicht einfach ignorieren. Allerdings
erhält man durch die Datentypen wieder unendliche Bereiche (z.B. alle Zeichenketten oder
2.1. DIE VERWENDETE LOGIK
13
Zahlen). Hier hilft eine Einschränkung der zulässigen Anfragen, Axiome und Defaults auf
sogenannte bereichsbeschränkte“ Formeln. Dies ist im Datenbankbereich üblich, aber
”
dieser Begriff muß hier natürlich an die Erweiterung auf quantorenfreie Formeln und
allgemeine Defaults angepaßt werden. Im Endeffekt kann man dann beweisen, daß es
genügt, Herbrandmodelle über den aktuell vorkommenden Konstanten zu betrachten.
Damit ist die Einführung der Datentypen keine echte Verallgemeinerung, aber doch von
großem praktischen Nutzen.
Die Gleichheit wird hier als eingebautes Prädikat behandelt. Sie ist wichtig, um
Schlüsselbedingungen formulieren zu können. In relationalen Datenbanken ist diese Form
von Integritätsbedingungen ja vielfach bewährt, und natürlich sind sie in deduktiven Datenbanken mindestens ebenso nützlich. Man erhält so die Möglichkeit, nicht-generierende
Funktionssymbole (etwa vater von“) durch Prädikate zu simulieren. Es sei an dieser
”
Stelle noch bemerkt, daß Defaults die Berücksichtigung von Integritätsbedingungen auch
bei der Anfrage-Auswertung erfordern, nicht nur bei Änderungsoperationen. Der Grund
ist, daß Defaults Integritätsbedingungen widersprechen können, und dann natürlich nicht
angenommen werden dürfen. Bisher werden Integritätsbedingungen höchstens im Rahmen der Optimierung [Wüt91] bei der Anfrageauswertung berücksichtigt.
Natürlich wäre es auch möglich, ein benutzerdefiniertes Prädikat equal“ einzuführen,
”
dem mit Axiomen die Bedeutung der Gleichheit gegeben wird. Dies führt aber zu erheblichem Aufwand bei der Anfrageauswertung, so daß das Gleichheitsprädikat in automatischen Beweisern normalerweise mit einer speziellen Deduktionsregel behandelt wird, der
Paramodulation [CL73]. Außerdem vereinfacht es die Spezifikationsarbeit, wenn ein gewisser Grundstock fest interpretiert wird, also nicht durch Formeln unabsichtlich geändert
werden kann. Aus demselben Grund ist hier die Sortierung der Prädikate und Konstanten
in die Logik eingebaut.
Eine Logik hat im allgemeinen vier Komponenten [GB84]: die Signaturen, die Interpretationen, die Formeln, und die erfüllt“-Relation zwischen Interpretationen und
”
Formeln. Diese Komponenten sollen nun für die hier verwendete Logik definiert werden,
wobei besonders auf die Bedeutung aus Datenbanksicht eingegangen wird.
Signaturen
In den Formeln einer deduktiven Datenbank kommen Bezeichner wie angestellter“ vor,
”
mit denen der Bezug zur Anwendungswelt hergestellt werden soll. Die Deklaration dieser
Bezeichner geschieht in Form einer Signatur. Zur Vereinfachung der Definitionen enthalten die Signaturen hier auch die vordefinierten Symbole der Datentypen. Natürlich
würden diese in einer praktischen Spezifikationssprache nicht explizit deklariert.
In der Prädikatenlogik muß eine Signatur offensichtlich mindestens die Prädikate (Relationssymbole) festlegen, die in den Formeln verwendet werden können. Dies ist auch
bei einem relationalen Datenbanksystem erforderlich. Dagegen werden hier keine Attributnamen benötigt, weil die Argumente der Prädikate wie im Bereichskalkül über ihre
Position identifiziert werden.
14
KAPITEL 2. DEDUKTIVE DATENBANKEN
Natürlich können in den Formeln Konstanten auftreten, wie etwa Zeichenketten oder
Zahlen. Neben diesen Datentyp-Konstanten ist es möglich, Konstanten für Objekte der
Anwendungswelt einzuführen (etwa für Personen, Waren, usw.). Dies ist im relationalen Modell nicht vorgesehen und entspricht der Möglichkeit des Entity-Relationship“”
Modells, über diese Objekte selbst reden zu können und nicht nur über ihre Namen.
Solche Konstanten können zu Sorten wie person“ oder ware“ zusammengefaßt wer”
”
den. Zusammen mit den für die Prädikate spezifizierten Argumentsorten ist so eine
Typprüfung möglich. Zur Vereinfachung ist hier für jedes Prädikat nur eine Sortenangabe
zulässig, praktische Implementierungen werden wohl überladene Bezeichner anbieten.
Es werden hier nur bereichsbeschränkte“ Formeln (s.u.) zugelassen, um nur endliche
”
Modelle betrachten zu müssen. Für ihre Definition ist die Unterscheidung zwischen positiv, negativ oder gar nicht bindenden Prädikaten nötig. Der klassische Fall sind dabei
die positiv bindenden Prädikate — sie können so interpretiert werden, daß sie höchstens
für die explizit vorkommenden Konstanten wahr sind. Ein Beispiel für ein nicht bindendes Prädikat wäre <“, das immer eine unendliche Relation beschreibt. Negativ bin”
dende Prädikate sind aus Symmetriegründen interessant, da man sich jetzt nicht mehr auf
Hornklauseln und implizite Negation beschränken will. So ist es etwa möglich, sowohl ein
Prädikat ausnahme“ (positiv bindend) zu verwenden als auch seine Negation normal“
”
”
(negativ bindend).
Grundlage für eine formale Definition von Signatur“ ist ein Alphabet:
”
Definition 2.1.1 (Alphabet): Ein Alphabet A ist eine Menge, deren Elemente Symbole oder Zeichen heißen, und das mindestens Zeichen für die Junktoren (∧, ∨, . . . ),
Interpunktionszeichen und Variablen enthält. Die Menge dieser logischen Zeichen“ wird
”
mit AL bezeichnet, die Menge der Variablen mit AV (AV ⊆ AL ).
Typischerweise sind die Symbole Folgen von Buchstaben und Ziffern oder einzelne Sonderzeichen. Die Variablen werden hier als logische Zeichen aufgefaßt und können etwa
alle mit einem Großbuchstaben beginnenden Bezeichner sein.
Definition 2.1.2 (Signatur): Eine Signatur Σ = hS, C, P, γ, π, βi besteht aus
• S ⊆ A − AL , der Menge der Sorten,
• C ⊆ A − (AL ∪ S), der Menge der Konstanten,
• P ⊆ A − (AL ∪ S ∪ C), der Menge der Prädikate,
• γ: C → S, der Sortierung der Konstanten,
• π: P → S ∗ , der Sortierung der Prädikate,
• β: P → {+, −, ∗}, der Bindungsangabe für die Prädikate.
Es wäre naheliegend, die Signatur mit dem Datenbankschema der deduktiven Datenbank
zu identifizieren. Das ist sicherlich zu einem gewissen Grad auch richtig, so ist ja etwa die
Menge der Prädikate normalerweise nicht zeitabhängig. Aber bei den Konstanten ist es
durchaus vorstellbar, daß Änderungen eintreten, wenn man etwa für jede Ware in einem
Angebot eine Konstante eingeführt hat.
2.1. DIE VERWENDETE LOGIK
15
Umgekehrt könnte man die in der Datenbank abgespeicherten Formeln (s.u.) als
Datenbankzustand“ ansehen. Aber auch das ist nur bedingt richtig, denn normaler”
weise werden sich nur die Fakten ändern, die Regeln für abgeleitete Prädikate bleiben
meist konstant. Die Unterscheidung zwischen Schema und Zustand kann also nur vom
Datenbankentwerfer vorgenommen werden.
Definition 2.1.3 (Teilsignatur): Eine Signatur Σ1 = hS1 , C1 , P1 , γ1 , π1 , β1 i heißt
Teilsignatur einer Signatur Σ2 = hS2 , C2 , P2 , γ2 , π2 , β2 i (Σ1 ⊆ Σ2 ) genau dann, wenn
• S1 ⊆ S2 , C 1 ⊆ C 2 , P 1 ⊆ P 2 ,
• γ1 (c) = γ2 (c) für alle c ∈ C1 ,
• π1 (p) = π2 (p) für alle p ∈ P1 und
• β1 (p) = β2 (p) für alle p ∈ P1 .
Zwei Signaturen Σ1 und Σ2 heißen kompatibel, wenn es eine gemeinsame Teilsignatur Σ
von Σ1 und Σ2 gibt mit
(S ∪ C ∪ P ) = (S1 ∪ C1 ∪ P1 ) ∩ (S2 ∪ C2 ∪ P2 ).
Dann heißt Σ der Schnitt von Σ1 und Σ2 .
Es sei nun eine Signatur ΣD der Datentyp-Konstanten und Prädikate gegeben, wobei alle
Prädikate den Bindungstyp ∗“ haben (sie beschreiben ja normalerweise auch unendliche
”
Relationen).
Im folgenden kann davon ausgegangen werden, daß alle auftretenden Signaturen Σ
mit ΣD kompatibel sind (die Resultate gelten sowohl mit dieser Einschränkung als auch
ohne sie).
Naheliegender wäre die Forderung ΣD ⊆ Σ. Dies ist aber problematisch, da ΣD
typischerweise unendlich ist und man insbesondere die endliche Signatur der explizit vorkommenden Konstanten betrachten möchte.
Interpretationen
Die Semantik einer Signatur Σ ist die Menge der Interpretationen von Σ, die den Zeichen
der Signatur eine Bedeutung zuordnen. Dabei werden wie üblich Sorten als Mengen
interpretiert, Konstanten als Elemente dieser Mengen und Prädikate als Relationen auf
diesen Mengen.
Unter den Interpretationen sollten sich auch die Entsprechungen zu Zuständen des
Ausschnitts der realen Welt befinden, der mit der Datenbank modelliert werden soll.
Interpretationen, die keinem möglichen Zustand der realen Welt entsprechen, können
eventuell noch über Integritätsbedingungen ausgeschlossen werden (s.u.).
16
KAPITEL 2. DEDUKTIVE DATENBANKEN
Definition 2.1.4 (Interpretation): Eine Σ-Interpretation I bestimmt
• eine Menge I[[s]] für jede Sorte s ∈ S, wobei I[[s1 ]] ∩ I[[s2 ]] = ∅ für s1 6= s2 ,
• ein Element I[[c]] ∈ I[[s]] für jede Konstante c ∈ C mit γ(c) = s — dabei sei für zwei
verschiedene Konstanten c1 , c2 ∈ C auch I[[c1 ]] 6= I[[c2 ]] — und
• eine Relation I[[p]] ⊆ I[[s1 ]] × · · · × I[[sn ]] für jedes Prädikat p ∈ P mit π(p) = s1 . . . sn .
Man beachte, daß nicht (wie sonst in der Logik üblich) gefordert wird, daß die Mengen I[[s]]
nichtleer sind. Es ist ja im Datenbankbereich sehr wohl möglich, daß zunächst noch gar
keine Personen oder Waren eingetragen sind. Allerdings muß man dann berücksichtigen,
daß bestimmte Schlüsse nicht mehr möglich sind. So ist etwa {p(X), ¬p(X)} nicht mehr
inkonsistent, sondern kann von einem Modell mit leerem Individuenbereich erfüllt werden.
Hier hilft aber die Bereichsbeschränkung (s.u.), die gerade solche Fälle verbietet.
Von den Konstanten wird verlangt, daß sie als verschiedene Elemente interpretiert werden, d.h. es werden eindeutige Namen vorausgesetzt (UNA, unique names assumption“).
”
Dies ist in erster Linie eine Hilfe bei der Spezifikation, um so bestimmte Überraschungen
im Zusammenspiel mit den Defaults auszuschließen. Bei Nullwerten oder Skolemkonstanten gilt diese Annahme allerdings nicht, hier kann man sich mit einem benutzerdefinierten
Gleichheitsprädikat helfen.
Eine letzte Forderung in der Definition von Interpretation ist schließlich noch, daß
die Sorten disjunkt sind. Der Grund hierfür ist, daß man nur so Formeln mit Typfehlern
wirklich als sinnlos zurückweisen kann.
Da nur Allaussagen betrachtet werden (s.u.), brauchen nur Herbrand-Interpretationen
betrachtet werden, bei denen die Interpretation der Sorten und Konstanten fest vorgegeben ist. Es ist jedoch trotzdem nützlich, den allgemeinen Begriff der Interpretation zu
kennen, da nur diese direkt den Situationen in der Anwendungswelt entsprechen.
Definition 2.1.5 (Herbrand-Interpretation): Eine Interpretation I heißt HerbrandInterpretation, wenn
• I[[s]] = {c ∈ C | γ(c) = s} für alle s ∈ S, und
• I[[c]] = c für alle c ∈ C.
Die Menge aller Herbrand-Interpretationen über Σ wird mit IΣ bezeichnet.
Herbrand-Interpretationen lassen also nur die Interpretation der Prädikate offen. Da
hier ohnehin eindeutige Namen vorausgesetzt werden, unterscheiden sich allgemeine ΣInterpretation und Herbrand-Interpretation bis auf Isomorphie nur darin, daß allgemeine
Interpretationen größere Individuenbereiche I[[s]] haben können.
Für die Folgerungsbeziehung und die Konsistenz von Formelmengen reicht es aus,
nur Herbrand-Interpretationen zu betrachten. Der Grund hierfür ist die Einschränkung
auf quantorenfreie Formeln (also Allaussagen) — schränkt man die Individuenbereiche
eines Modells ein, so sind die Allaussagen ja erst recht erfüllt, man erhält also wieder ein
Modell.
Bei Herbrand-Interpretationen entspricht dies einer Einschränkung der Signatur:
2.1. DIE VERWENDETE LOGIK
17
Definition 2.1.6 (Redukt von Herbrand-Interpretationen): Seien Σ ⊆ Σ 0 zwei
Signaturen und I 0 eine Σ0 -Herbrand-Interpretation. Das Σ-Redukt von I 0 ist die ΣHerbrand-Interpretation I mit
I[[p]] := (c1 , . . . , cn ) ci ∈ C, γ(ci ) = si , (c1 , . . . , cn ) ∈ I 0 [[p]]
für alle p ∈ P und s1 . . . sn = π(p).
Bei der Erweiterung der Individuenbereiche bzw. der Signatur werden dagegen nicht unbedingt aus Modellen wieder Modelle. Bei bereichsbeschränkten Formeln (s.u.) gilt dies
aber, wenn man die positiv bindenden Prädikate für neue Konstanten als falsch und die
negativ bindenden Prädikate als wahr interpretiert.
Definition 2.1.7 (Erweiterung von Herbrand-Interpretationen): Seien Σ ⊆ Σ 0
zwei Signaturen und I eine Σ-Herbrand-Interpretation. Ein Σ0 -Herbrand-Interpretation I 0
heißt Σ0 -Erweiterung von I genau dann, wenn das Σ-Redukt von I 0 gerade I ist.
Eine Σ0 -Erweiterung I 0 heißt Standard-Erweiterung genau dann, wenn für alle Predikate p0 ∈ P 0 mit β 0 (p) = + und sortengerechte Konstanten c01 , . . . , c0n ∈ C 0 gilt:
c0i 6∈ C für mindestens ein i =⇒ (c01 , . . . , c0n ) 6∈ I 0 [[p0 ]]
und entsprechend für alle p0 ∈ P 0 mit β 0 (p0 ) = −:
c0i 6∈ C für mindestens ein i =⇒ (c01 , . . . , c0n ) ∈ I 0 [[p0 ]].
Natürlich sollten alle Interpretationen die Datentyp-Prädikate richtig interpretieren. Dazu
sei eine ΣD -Herbrand-Interpretation ID gegeben, die gerade die übliche Interpretation
dieser Symbole beschreibt (bzw. ein isomorphes Bild). Es kann im folgenden von allen
Σ-Herbrand-Interpretationen I vorausgesetzt werden, daß das Σ ∩ ΣD -Redukt von I mit
dem Σ ∩ ΣD -Redukt von ID übereinstimmt.
Formeln
Formeln treten in deduktiven Datenbanken als Axiome (Fakten und Regeln), Defaults,
Anfragen und Integritätsbedingungen auf.
Es werden hier beliebige quantorenfreie Formeln zugelassen. Dies ist einerseits von
praktischem Nutzen, andererseits aber auch für die in Kapitel 4 betrachteten Eigenschaften nötig (insbesondere die Umrechnung zwischen modelltheoretischer und syntaktischer
Formulierung wäre sonst nicht möglich).
Für die Algorithmen wird natürlich wird die übliche Klausel-Darstellung angestrebt,
dazu ist allerdings bei Anfragen und Defaults eine Erweiterung der Signatur nötig (s.u.).
Die Definitionen von Formeln und Klauseln folgen dem üblichen Aufbau. Dabei wird
versucht, zwischen der mathematischen Struktur ( abstrakte Syntax“) und der Repräsen”
tation als Zeichenkette ( konkrete Syntax“) zu unterscheiden.
”
Definition 2.1.8 (Variablendeklaration): Eine Variablendeklaration für X ⊆ AV ist
eine Abbildung Ξ: X → S. Dabei sei X endlich.
18
KAPITEL 2. DEDUKTIVE DATENBANKEN
Definition 2.1.9 (Term): Ein (Σ, Ξ)-Term der Sorte s ist entweder
• eine Konstante c ∈ C mit γ(c) = s oder
• eine Variable X ∈ X mit Ξ(X) = s.
Definition 2.1.10 (Atomare Formel): Eine (Σ, Ξ)-atomare Formel besteht aus einem
Prädikat p ∈ P und einer Liste t1 . . . tn von (Σ, Ξ)-Termen der Sorten s1 . . . sn = π(p).
Atomare Formeln werden meist in der Form p(t1 , . . . , tn ) geschrieben. Bei eingebauten
Prädikaten ist eine Infix-Darstellung üblicher, z.B. t1 < t2 oder t1 = t2 + t3 . In objektorientierten Sprachen wird auch die Schreibweise t1 .p(t2 , . . . , tn ) verwendet, wobei der
Präfix entfallen kann, wenn er aus dem Kontext bekannt ist.
Definition 2.1.11 (Formel): Eine (Σ, Ξ)-Formel (der Stufe i ∈ IN) ist
• eine der logischen Konstanten true, false oder
• eine atomare (Σ, Ξ)-Formel oder
• eine negierte Formel, bestehend aus dem Junktor ¬ und einer (Σ, Ξ)-Formel (einer
Stufe < i) oder
• eine zusammengesetzte Formel, bestehend aus einem der Junktoren ∧, ∨, →, ←, ↔
und zwei (Σ, Ξ)-Formeln (einer Stufe < i).
Eine Σ-Formel besteht aus einer Variablendeklaration Ξ und einer (Σ, Ξ)-Formel (einer
Stufe i ∈ IN).
Die Menge aller Σ-Formeln wird mit LΣ bezeichnet, die Menge der variablenfreien
Σ-Formeln mit L∗Σ .
Man beachte, daß keine ∀, ∃-Quantoren zugelassen sind (alle Variablen sind implizit allquantifiziert). Die Stufung dient nur dazu, unendliche Formeln auszuschließen.
Formeln werden aufgeschrieben, indem der Junktor bei zusammengesetzten Formeln
zwischen die beiden Teilformeln gesetzt wird und sie gegebenenfalls in Klammern eingeschlossen werden. Üblicherweise bindet ¬ am stärksten, danach ∧, anschließend ∨ und
zuletzt →, ←, ↔. Die Variablendeklaration wird meist nicht explizit aufgeschrieben, wenn
sie sich aus der Verwendung der Variablen ergibt.
Modell-Beziehung
Die Modell-Beziehung zwischen Interpretationen und Formeln wird wie üblich definiert:
Definition 2.1.12 (Variablenbelegung): Eine Variablenbelegung zu einer Variablendeklaration Ξ: X → S und einer Interpretation I ist eine Abbildung α, die jeder Variablen X ∈ X einen Wert α(X) ∈ I[[Ξ(X)]] zuordnet.
2.1. DIE VERWENDETE LOGIK
19
Definition 2.1.13 (Auswertung von Termen):
Der Wert (I, α)[[t]] eines (Σ, Ξ)Terms t in einer Interpretation I unter einer Variablenbelegung α ist
• I[[c]], falls t eine Konstante c ist,
• α(X), falls t eine Variable X ist.
Definition 2.1.14 (Modell-Beziehung):
Eine Interpretation I erfüllt eine (Σ, Ξ)Formel ϕ unter der Variablenbelegung α ((I, α) |= ϕ) genau dann, wenn
• falls ϕ eine logische Konstante ϕ0 ist:
(I, α) |= ϕ :⇐⇒ ϕ0 = true,
• falls ϕ eine atomare Formel mit Prädikat p und Argumentliste t1 . . . tn ist:
(I, α) |= ϕ :⇐⇒ (I, α)[[t1 ]], . . . , (I, α)[[tn ]] ∈ I[[p]],
• falls ϕ eine negierte Formel mit Teilformel ϕ0 ist:
(I, α) |= ϕ :⇐⇒ (I, α) 6|= ϕ0 ,
• falls ϕ eine zusammengesetzte Formel mit Teilformeln ϕ1 und ϕ2 ist:
ϕ1
—
—
•
•
ϕ2
—
•
—
•
ϕ1 ∧ ϕ 2
—
—
—
•
ϕ1 ∨ ϕ 2
—
•
•
•
ϕ1 → ϕ 2
•
•
—
•
ϕ1 ← ϕ 2
•
—
•
•
ϕ1 ↔ ϕ 2
•
—
—
•
( •“ bedeute, daß die angegebene Formel in I unter α gilt).
”
Eine Σ-Formel ϕ gilt in I (I |= ϕ) genau dann, wenn (I, α) |= ϕ für alle Variablenbelegungen α zu der Variablendeklaration von ϕ.
Definition 2.1.15 (Modellbeziehung, abgeleitete Begriffe):
• I ist Modell einer Formelmenge Φ (I |= Φ) genau dann, wenn I |= ϕ für alle ϕ ∈ Φ.
• Mit Mod (Φ) werde die Menge der Herbrand-Modelle von Φ bezeichnet.
• Umgekehrt sei für eine Menge I von Herbrand-Interpretationen Th(I) die Menge
der variablenfreien Σ-Formeln Φ mit I |= Φ für alle I ∈ I.
• Ist Σ endlich, so sei th(I) eine variablenfreie Σ-Formel ϕ mit Mod (ϕ) = I.
• Eine variablenfreie Formel ψ folgt logisch aus einer Formelmenge Φ (Φ ` ψ) genau
dann, wenn I |= ψ für jedes Herbrand-Modell I von Φ.
• Zwei Formeln oder Formelmengen Φ1 und Φ2 sind logisch äquivalent (Φ1 ∼
= Φ2 )
genau dann, wenn I |= Φ1 ⇐⇒ I |= Φ2 für alle Herbrand-Interpretationen I.
• Eine Formelmenge Φ heißt konsistent genau dann, wenn Mod (Φ) 6= ∅.
Die syntaktische Entsprechung zu Variablenbelegungen sind Substitutionen:
20
KAPITEL 2. DEDUKTIVE DATENBANKEN
Definition 2.1.16 (Substitution): Eine Σ-(Grund-)Substitution zu einer Variablen
deklaration Ξ: X → S ist eine Abbildung θ: X → C mit γ θ(X) = Ξ(X) für alle X ∈ X .
Bei den hier betrachteten Herbrand-Interpretationen besteht zwischen Variablenbelegungen und Substitutionen eigentlich gar kein Unterschied. Allerdings werden Variablenbelegungen bei der Modellbeziehung berücksichtigt, während Substitutionen auf Formeln
angewendet werden:
Definition 2.1.17 (Anwendung einer Substitution): Sei ϕ eine (Σ, Ξ)-Formel und θ
eine Σ-Substitution zu Ξ. Dann ist das Ergebnis der Anwendung von θ auf ϕ, geschrieben
ϕθ definiert als:
• Ist ϕ eine logische Konstante, so sei ϕθ := ϕ.
• Ist ϕ eine atomare Formel mit Prädikat p und Argumentliste t1 , . . . , tn , so sei ϕθ die
atomare Formel mit Prädikat p und Argumentliste t01 , . . . , t0n , wobei
θ(Xi ) falls ti eine Variable Xi ist
0
ti :=
ti
sonst.
• Ist ϕ eine negierte Formel mit Teilformel ϕ0 , so sei ϕθ die negierte Formel mit
Teilformel ϕ0 θ.
• Ist ϕ eine zusammengesetzte Formel mit Junktor ∗ und Teilformeln ϕ1 und ϕ2 , so
sei ϕθ die zusammengesetzte Formel mit Junktor ∗ und Teilformeln ϕ1 θ und ϕ2 θ.
Man kann nun zeigen, daß zwischen Variablenbelegungen und Substitutionen auch semantisch kein wesentlicher Unterschied besteht, denn es gilt
(I, α) |= ϕ ⇐⇒ I |= ϕθ,
wenn α und θ dieselbe Abbildung sind.
Bereichsbeschränkte Formeln
Es ist aus verschiedenen Gründen nützlich, nur bereichsbeschränkte Formeln zuzulassen.
So braucht man nur endliche Modelle zu betrachten, die Menge der korrekten Antworten
ist immer endlich und unabhängig von der Signatur, und die Terminierung der Anfragebearbeitung kann sichergestellt werden.
Technisch gesehen garantiert die Bereichsbeschränkung gerade, daß die oben angegebene Standard-Erweiterung eines Herbrandmodells auf eine größere Signatur ein Modell
bleibt.
Die folgende Definition ist relativ aufwendig, weil sie auf beliebige quantorenfreie Formeln anwendbar sein muß. Im Fall von Prolog-Klauseln mit positiv bindenden Prädikaten
ist sie aber äquivalent zu der klassischen Definition, daß jede Variable in einem positiven
Rumpf-Literal vorkommt (s.u.).
2.1. DIE VERWENDETE LOGIK
21
Definition 2.1.18 (Gebundene und ungebundene Variablen): Die Menge der in
einer Formel ϕ gebundenen Variablen, B + (ϕ)/B − (ϕ), und die Menge der in ϕ ungebundenen Variablen, U + (ϕ)/U − (ϕ), werden wie folgt definiert:
• Ist ϕ eine logische Konstante, so sei:
B + (ϕ) := ∅,
B − (ϕ) := ∅,
U + (ϕ) := ∅,
U − (ϕ) := ∅.
• Ist ϕ eine atomare Formel mit Prädikat p und Argumentliste t1 . . . tn :
X falls β(p) = −
X falls β(p) = +
+
−
B (ϕ) :=
B (ϕ) :=
∅ sonst
∅ sonst
∅ falls β(p) = −
∅ falls β(p) = +
U + (ϕ) :=
U − (ϕ) :=
X sonst
X sonst
dabei sei X := {Xi | ti ist eine Variable Xi }.
• Ist ϕ eine negierte Formel mit Teilformel ϕ0 :
B + (ϕ) := B − (ϕ0 ),
U + (ϕ) := U − (ϕ0 ),
B − (ϕ) := B + (ϕ0 ),
U − (ϕ) := U + (ϕ0 ).
• Ist ϕ eine zusammengesetzte Formel mit Junktor ∗ und Teilformeln ϕ1 und ϕ2 :
∗ B + (ϕ)/B − (ϕ)
U + (ϕ)/U − (ϕ)
∧ B + (ϕ1 ) ∩ B + (ϕ2 )
B − (ϕ1 ) ∪ B − (ϕ2 )
∨ B + (ϕ1 ) ∪ B + (ϕ2 )
B − (ϕ1 ) ∩ B − (ϕ2 )
→ B − (ϕ1 ) ∪ B + (ϕ2 )
B + (ϕ1 ) ∩ B − (ϕ2 )
← B + (ϕ1 ) ∪ B − (ϕ2 )
B − (ϕ1 ) ∩ B + (ϕ2 )
U + (ϕ1 ) ∪ U + (ϕ2 )
U − (ϕ1 ) ∪ U − (ϕ2 ) −
U + (ϕ1 ) ∪ U + (ϕ2 ) −
U − (ϕ1 ) ∪ U − (ϕ2 )
U − (ϕ1 ) ∪ U + (ϕ2 ) −
U + (ϕ1 ) ∪ U − (ϕ2 )
U + (ϕ1 ) ∪ U − (ϕ2 ) −
U − (ϕ1 ) ∪ U + (ϕ2 )
B − (ϕ1 ) ∪ B − (ϕ2 )
B + (ϕ1 ) ∪ B + (ϕ2 )
B − (ϕ1 ) ∪ B + (ϕ2 )
B + (ϕ1 ) ∪ B − (ϕ2 )
Der Ausdruck für ↔“ ergibt sich aus ϕ1 ↔ ϕ2 ∼
= (ϕ1 → ϕ2 ) ∧ (ϕ1 ← ϕ2 ).
”
Definition 2.1.19 (Bereichsbeschränkte Formel): Eine Formel ϕ heißt bereichsbeschränkt genau dann, wenn U + (ϕ) = ∅ ist. Die Menge der bereichsbeschränkten ΣFormeln werde mit L+
Σ bezeichnet.
Eine Formel ϕ heißt stark bereichsbeschränkt bzw. negativ stark bereichsbeschränkt
genau dann, wenn X ∈ B + (ϕ) bzw. X ∈ B − (ϕ) für jede in ϕ vorkommende Variable X.
Der Unterschied zwischen bereichsbeschränkten und stark bereichsbeschränkten Formeln
tritt im klassischen Fall (Klauseln) nicht auf. Ein Beispiel ist etwa die Formel
ϕ := p1 (X) ← p2 (X) ∧ q1 (Y ) ← q2 (Y )
(alle Prädikate seien positiv bindend). Diese Formel ist bereichsbeschränkt (U + (ϕ) = ∅),
aber nicht stark bereichsbeschränkt (B + (ϕ) = ∅).
22
KAPITEL 2. DEDUKTIVE DATENBANKEN
Im wesentlichen garantieren bereichsbeschränkte Formeln, daß aus Modellen bei der
Standard-Erweiterung wieder Modelle werden, während stark bereichsbeschränkte Formeln für die neuen Konstanten auf jeden Fall gelten:
Lemma 2.1.20: Seien Σ ⊆ Σ0 , I eine Σ-Herbrandinterpretation und I 0 eine StandardErweiterung von I auf Σ0 . Dann gilt für alle Σ-Formeln ϕ und I 0 -Variablenbelegungen α0 :
• Gibt es X ∈ B + (ϕ) mit α0 (X) ∈ C 0 − C, so gilt (I 0 , α0 ) |= ϕ.
• Gibt es X ∈ B − (ϕ) mit α0 (X) ∈ C 0 − C, so gilt (I 0 , α0 ) 6|= ϕ.
Beweis: Der Beweis erfolgt durch Induktion über dem Aufbau von ϕ. Es wird jeweils nur der
Beweis für den ersten Teil ausgeführt, der zweite Teil kann analog bewiesen werden.
• Für logische Konstanten ist B + (ϕ) leer, die Voraussetzung der Behauptung ist also immer
falsch.
• Für atomare Formeln ist B + (ϕ) nur dann nicht leer, wenn es sich um ein negativ bindendes
Prädikat handelt. Dann stellt die Konstruktion von I 0 sicher, daß (I 0 , α0 ) |= ϕ gilt.
• Für negierte Formeln folgt die Behauptung direkt aus der Induktionsannahme.
• Sei ϕ eine zusammengesetzte Formel mit Junktor ∧ und Teilformeln ϕ1 und ϕ2 . Gelte nun
α0 (X) 6∈ C für ein X ∈ B + (ϕ). Wegen B + (ϕ) = B + (ϕ1 ) ∩ B + (ϕ2 ) ist X also in beiden
Mengen enthalten, und die Induktionsannahme liefert (I 0 , α0 ) |= ϕ1 und (I 0 , α0 ) |= ϕ2 .
Daraus folgt die Behauptung (I 0 , α0 ) |= ϕ.
• Sei ϕ eine zusammengesetzte Formel mit Junktor ∨ und Teilformeln ϕ1 und ϕ2 und gelte
α0 (X) 6∈ C 0 − C für ein X ∈ B + (ϕ). Da B + (ϕ) = B + (ϕ1 ) ∪ B + (ϕ2 ), ist X in einer der
beiden Mengen enthalten; gelte etwa X ∈ B + (ϕ1 ). Dann liefert die Induktionsannahme
(I 0 , α0 ) |= ϕ1 . Daraus folgt natürlich sofort (I 0 , α0 ) |= ϕ.
• Der Beweis für die anderen Junktoren verläuft analog.
2
Lemma 2.1.21: Seien Σ ⊆ Σ0 , I eine Σ-Herbrandinterpretation und I 0 eine StandardErweiterung von I auf Σ0 . Dann gilt für alle Σ-Formeln ϕ und alle Variablenbelegungen α
zu I und α0 zu I 0 :
• Gilt für alle X mit α0 (X) 6= α(X), daß X 6∈ U + (ϕ) und α0 (X) ∈ C 0 − C, dann gilt:
(I, α) |= ϕ =⇒ (I 0 , α0 ) |= ϕ.
• Gilt für alle X mit α0 (X) 6= α(X), daß X 6∈ U − (ϕ) und α0 (X) ∈ C 0 − C, dann gilt:
(I, α) 6|= ϕ =⇒ (I 0 , α0 ) 6|= ϕ.
Beweis: Die Behauptung wird mit Induktion über den Aufbau von ϕ bewiesen. Es wird jeweils
nur der Beweis der ersten Aussage ausgeführt, die zweite kann analog bewiesen werden.
• Für logische Konstanten gilt die Behauptung trivialerweise.
• Sei ϕ nun eine atomare Formel. Gilt α0 (X) = α(X) für alle vorkommenden Variablen, so
folgt (I, α) |= ϕ ⇐⇒ (I 0 , α0 ) |= ϕ.
Andernfalls gibt es also eine in ϕ vorkommende Variable X mit α0 (X) = α(X), und
daher X 6∈ U + (ϕ). Für atomare Formeln impliziert das X ∈ B + (ϕ), die Folgerung
(I 0 , α0 ) |= ϕ gilt also nach Lemma 2.1.20.
2.1. DIE VERWENDETE LOGIK
23
• Ist ϕ eine negierte Formel mit Teilformel ϕ0 , so gilt
(I, α) |= ϕ ⇐⇒ (I, α) 6|= ϕ0 =⇒ (I 0 , α0 ) 6|= ϕ0 ⇐⇒ (I 0 , α0 ) |= ϕ,
wobei im mittleren Schritt gerade die Induktionsannahme verwendet wurde (es ist ja
U − (ϕ0 ) = U + (ϕ)).
• Sei ϕ eine zusammengesetzte Formel mit Junktor ∧ und Teilformeln ϕ1 und ϕ2 . Nach
Voraussetzung gelten beide Teilformeln in (I, α). Ist X 6∈ U + (ϕ), so ist wegen
U + (ϕ) = U + (ϕ1 ) ∪ U + (ϕ2 )
natürlich X 6∈ U + (ϕ1 ) und X 6∈ U + (ϕ2 ). Die Induktionsannahme kann dann ganz direkt
verwendet werden.
• Sei ϕ nun eine zusammengesetzte Formel mit Junktor ∨ und Teilformeln ϕ1 und ϕ2 . Nach
Vorausetzung gilt eine der beiden Teilformeln in (I, α), etwa ϕ1 . Für alle Variablen X
mit α0 (X) 6= α(X) gilt nach Voraussetzung α0 (X) ∈ C 0 − C und X 6∈ U + (ϕ). Gilt auch
X 6∈ U + (ϕ1 ) für alle solchen X, so kann man direkt die Induktionsannahme anwenden.
Falls dies aber nicht gilt, so folgt X ∈ B + (ϕ1 ) ∪ B + (ϕ2 ) (nach der Definition von U + ).
Nun liefert aber Lemma 2.1.20, daß die betreffende Teilformel in (I 0 , α0 ) gilt, und damit
natürlich auch die Disjunktion.
• Der Beweis für die übrigen Junktoren verläuft analog.
2
Satz 2.1.22: Seien Σ ⊆ Σ0 , Φ eine Menge von bereichsbeschränkten Σ-Formeln, I ein
Σ-Herbrandmodell von Φ und I 0 eine Standard-Erweiterung von I auf Σ0 . Dann ist I 0 ein
Modell von Φ.
Beweis: Zu zeigen ist (I 0 , α0 ) |= ϕ für alle ϕ ∈ Φ und alle Variablenbelegungen α0 zu I 0 . Sei α
eine Variablenbelegung zu I mit α(X) = α0 (X) für alle X mit α0 (X) ∈ C. Nach Voraussetzung
gilt (I, α) |= ϕ und U + (ϕ) = ∅, daher liefert die erste Aussage von Lemma 2.1.21 die Behauptung
(I 0 , α0 ) |= ϕ.
2
Korollar 2.1.23: Sei Φ eine konsistente Menge bereichsbeschränkter Formeln und ψ
eine negativ stark bereichsbeschränkte Formel. Gilt Φ ` ψ, so ist ψ variablenfrei.
Beweis:
Angenommen, ψ enthält eine freie Variable X. Dann ist nach Voraussetzung
−
X ∈ B (ψ). Als konsistente Menge quantorenfreier Formeln hat Φ ein Σ-Herbrandmodell I.
Entstehe nun Σ0 aus Σ durch Hinzufügen einer Konstante c. Nach Satz 2.1.22 ist die StandardErweiterung I 0 von I auf Σ0 Modell von Φ. Sei α0 nun eine beliebige Variablenblegung mit
α0 (X) := c. Dann gilt nach Lemma 2.1.20: (I 0 , α0 ) 6|= ψ. Vergißt“ man nun die Interpretation
”
von c, so hat man ein Σ-Modell von Φ (kein Herbrandmodell), das nicht Modell von ψ ist, und
es folgt Φ 6` ψ.
2
Natürlich ist der hier eingeführte Begriff von bereichsbeschränkter Formel“ nicht die
”
einzige Möglichkeit, und in mancher Hinsicht ist er noch recht einschränkend. Verbesserungen hinsichtlich der Praxisnähe würden aber wohl zu noch komplizierteren Definitionen
führen. In dieser Arbeit werden daher im folgenden nur einige Beispiele aufgelistet, die
praktische Systeme behandeln können sollten.
24
KAPITEL 2. DEDUKTIVE DATENBANKEN
Ein erstes Beispiel ist die Regel
equal (X, Y ) ← X = Y.
Hiermit soll equal als Synonym für =“ eingeführt werden (dazu ist natürlich noch der
”
Default ¬equal (X, Y ) erforderlich). Natürlich muß equal dann auch als nicht-bindendes
Prädikat deklariert werden. Trotzdem ist diese Klausel nicht bereichsbeschränkt, denn
nach der Definition muß jede Variable gebunden sein. Man könnte auf die Idee kommen,
nur zu verlangen, daß Variablen gebunden werden müssen, die in Literalen mit bindendem
Prädikat vorkommen. Dies ist aber nicht mehr hinreichend für die Signatur-Unabhängigkeit, wie in Beispiel 2.3.3 gezeigt wird.
Auch die folgende Regel zur Berechnung des Briefportos in Abhängigkeit vom Gewicht
ist nicht bereichsbeschränkt (X ist nicht gebunden):
porto(X, 100) ← X < 20.
Dabei wäre die Verwendung als Makro“ im Kontext einer bereichsbeschränkten Regel
”
oder Anfrage problemlos.
Zur Fortpflanzung von Variablenbindungen lassen sich Gleichungen wie Y = X leicht
ausnutzen (siehe [Ull88]). Schwieriger wird es bei Regeln, die neue Werte bzw. Konstanten
generieren:
plusMwSt(X, Y ) ← Y = X ∗ 1.14.
Dies sollte natürlich zulässig sein, denn entsprechende Anfragen oder Sichten sind in
relationalen Datenbanken auch möglich. Andererseits muß man verhindern, daß solche
Regeln rekursiv verwendet werden, denn sonst bekommt man sofort wieder unendliche
Bereiche.
Sind bei Prädikaten wie = ∗ zwei der Argumente schon gebunden, bindet dieses
Prädikat das dritte Argument. Die einfache Dreiteilung in positiv, negativ oder überhaupt
nicht bindend reicht hier also nicht mehr aus. Eventuell könnte eine Verallgemeinerung
des Ansatzes aus [KRS88] helfen.
Klausellogik
Für automatische Beweiser ist nützlich, Formeln in eine einfache Normalform zu bringen.
Bewährt hat sich hier besonders die Darstellung einer Formel als Menge von Klauseln:
Definition 2.1.24 (Literal): Ein (Σ, Ξ)-Literal besteht aus einer atomaren Formel und
einem Vorzeichen (positives oder negatives Literal).
Mit ∼ ϕ wird das Literal umgekehrten Vorzeichens zu ϕ bezeichnet.
Ein Grundliteral ist ein Literal, das keine Variablen enthält.
Wird die zugehörige atomare Formel ϕ als ϕ0 repräsentiert, so wird das positive Literal
ebenfalls als ϕ0 aufgeschrieben, das negative aber als ¬ϕ0 .
2.1. DIE VERWENDETE LOGIK
25
Definition 2.1.25 (Klausel): Eine Σ-Klausel besteht aus einer Variablendeklaration Ξ
und einer endlichen Menge von (Σ, Ξ)-Literalen.
Die leere Klausel werde mit 2 bezeichnet.
Klauseln mit den Literalen ϕ1 , . . . , ϕn werden meist in folgender Form notiert:
ϕ01 ∨ · · · ∨ ϕ0m ← ϕ0m+1 ∧ · · · ∧ ϕ0n ,
dabei sei ϕ0i die Repräsentation von ϕi (1 ≤ i ≤ m) bzw. ∼ ϕi (m + 1 ≤ i ≤ n).
Hieran sieht man schon die Entsprechung zwischen Klauseln und Disjunktionen. Beliebige Formeln können daher in eine Konjunktion oder Menge von Klauseln umgerechnet
werden:
Definition 2.1.26 (Umrechnung von Formeln in Klauselmengen): Die Klauselmenge Cl + (ϕ) zu einer (Σ, Ξ)-Formel ϕ und die Klauselmenge Cl − (ϕ) zu ¬ϕ werden
rekursiv entsprechend dem Aufbau von Φ definiert:
• Ist ϕ die logische Konstante true, so sei Cl + (ϕ) := ∅, Cl − (ϕ) := {2}. Für die
logische Konstante false sei Cl + (ϕ) := {2} und Cl − (ϕ) := ∅.
• Ist ϕ eine atomare Formel, so bestehe Cl + (ϕ) aus der Klausel mit dem ϕ entsprechenden positiven Literal und Cl − (ϕ) aus der Klausel mit dem negativen Literal.
• Ist ϕ eine negierte Formel mit Teilformel ϕ0 , so sei
Cl + (ϕ) := Cl − (ϕ0 ),
Cl − (ϕ) := Cl + (ϕ0 ).
• Ist ϕ eine zusammengesetzte Formel mit Junktor ∗ und Teilformeln ϕ1 und ϕ2 :
∗ Cl + (ϕ)
∧
∨
→
←
↔
Cl + (ϕ1 ) ∪ Cl + (ϕ2 )
Cl + (ϕ1 ) ◦ Cl + (ϕ2 )
Cl − (ϕ1 ) ◦ Cl + (ϕ2 )
Cl + (ϕ1 ) ◦ Cl − (ϕ2 )
Cl + (ϕ1 ) ◦ Cl − (ϕ2 )
∪ Cl − (ϕ1 ) ◦ Cl + (ϕ2 )
Cl − (ϕ)
Cl − (ϕ1 ) ◦ Cl − (ϕ2 )
Cl − (ϕ1 ) ∪ Cl − (ϕ2 )
Cl + (ϕ1 ) ∪ Cl − (ϕ2 )
Cl − (ϕ1 ) ∪ Cl + (ϕ2 )
Cl − (ϕ1 ) ∪ Cl + (ϕ2 )
◦ Cl + (ϕ1 ) ∪ Cl − (ϕ2 )
Dabei sei für zwei Klauselmengen Φ1 und Φ2 :
Φ1 ◦ Φ2 := (Ξ, ϕ1 ∪ ϕ2 ) (Ξ, ϕ1 ) ∈ Φ1 , (Ξ, ϕ2 ) ∈ Φ2 .
Definition 2.1.27 (Modell-Beziehung für Klauseln): Eine Klausel mit Variablendeklaration Ξ und Literalen {ϕ1 , . . . , ϕn } gilt in (I, α) genau dann, wenn es ϕi gibt mit:
• ϕi ist ein positives Literal mit atomarer Formel ϕ0i und es gilt (I, α) |= ϕ0i .
• ϕi ist ein negatives Literal mit atomarer Formel ϕ0i und es gilt (I, α) 6|= ϕ0i .
Sie gilt in I genau dann, wenn sie für jede Variablenbelegung α zu Ξ in (I, α) gilt.
Man kann nun zeigen, daß die Umrechnung zwischen Formeln und Klauseln verträglich
mit der Modell-Beziehung ist, d.h. I |= ϕ ⇐⇒ I |= Cl + (ϕ).
26
KAPITEL 2. DEDUKTIVE DATENBANKEN
Definition 2.1.28 (Bereichsbeschränkte Klausel): Eine Klausel heißt bereichsbeschränkt genau dann, wenn jede vorkommende Variable auch in einem negativen Literal
mit positiv bindendem Prädikat vorkommt oder in einem positiven Literal mit negativ
bindendem Prädikat.
Auch hier kann man eine Verträglichkeit mit der Umrechnung von Formeln in Klauselmengen zeigen, d.h. eine bereichsbeschränkte Formel liefert eine Menge bereichsbeschränkter
Klauseln.
2.2
Intendierte Modelle
Das Ziel einer jeden Datenbank ist natürlich, Anfragen zu beantworten. Dazu muß die
Datenbank über ein mathematisches Modell des Bereichs verfügen, aus dem die Anfragen
stammen können. In dem hier verfolgten Ansatz ist das eine Menge von Interpretationen,
die den möglichen Situationen des zu modellierenden Ausschnitts der realen Welt entsprechen. Falls die zur Verfügung stehende Information vollständig ist, wird das bis auf
Isomorphie nur eine Interpretation sein; sind dagegen gewisse Fakten unbekannt, kann die
Datenbank auch mehrere verschiedene Modelle enthalten.
Die Struktur solcher Modelle wird beim Datenbankentwurf über eine Signatur Σ bestimmt; der Inhalt wird mit Axiomen und Defaults festgelegt, wobei die Semantik der
Defaults eine Vervollständigung ist. Schließlich gibt es noch Integritätsbedingungen, die
dazu dienen, Fehler in den Axiomen und Defaults zu erkennen.
Eine deduktive Datenbank besteht also aus den vier Komponenten Signatur, Axiome,
Vervollständigung (gegeben durch die Defaults) und Integritätsbedingungen. Diese legen
zusammen die Menge der intendierten Modelle fest, die ein möglichst getreues Abbild der
realen Welt ist und als Grundlage für die Anfragebearbeitung dient.
Axiome
Die Fakten und Regeln einer deduktiven Datenbank werden hier als Axiome bezeichnet,
um sie von den Defaults abzusetzen (und um den Begriff Datenbankzustand“ zu vermei”
den, s.o.). Sie müssen von den intendierten Modellen auf jeden Fall vollständig erfüllt
werden, während Defaults nur partiell, soweit wie möglich erfüllt werden.
Es ist allerdings teilweise eine Stilfrage, was man als Default und was als Axiom
notiert. Im Extremfall könnte man alle angenommenen Defaults als Axiom angeben
(sofern diese Menge nicht unendlich ist). Dies wäre natürlich sehr unbequem, zeigt aber,
daß es nicht angemessen ist, Axiome als den gesicherten“ Anteil des abzuspeichernden
”
Wissens anzusehen, und Defaults nur für unsichere Informationen zu verwenden.
Andererseits könnte man auch ganz ohne Axiome auskommen, und die Axiome als
Defaults (höchster Priorität) formulieren. Dies schlägt etwa Brewka in seinen Preferred
”
Subtheories“ [Bre91] vor. Der Unterschied ist, daß eine Menge von Defaults im Gegensatz
2.2. INTENDIERTE MODELLE
27
zu einer Menge von Axiomen durchaus inkonsistent sein kann; es werden dann eben nicht
alle Defaults angenommen. Die Inkonsistenz einer Menge von Axiomen kann also dazu
dienen, Fehler zu erkennen. So können einige der klassischen Integritätsbedingungen
durchaus als Axiom formuliert werden (s.u.).
Es gibt aber noch andere Gründe für die Trennung in Axiome und Defaults: Einerseits
wird die Berechnung korrekter Antworten vereinfacht, wenn Axiome ohne zusätzlichen
Test angenommen werden können. Andererseits bestehen die typischen Änderungsoperationen im Einfügen und Löschen von Fakten, während die Defaults meist stabil sind.
Vor diesem Hintergrund scheint die Zweiteilung in die vorgegebenen Fakten und die sich
anpassenden Defaults sinnvoll.
Zusammenfassend kann also gesagt werden, daß die Einteilung in Axiome und Defaults Gegenstand des Datenbankentwurfs ist (neben vielen anderen Fragen). Eine Faustregel ist vielleicht, alles was sich einfach als Axiom formulieren läßt, auch als Axiom zu
spezifizieren.
Definition 2.2.1 (Axiomenmenge): Die Axiomenmenge Φ einer deduktiven Datenbank mit Signatur Σ ist eine endliche und konsistente Menge von bereichsbeschränkten
Σ-Formeln.
Defaults
Defaults haben syntaktisch dieselbe Struktur wie Axiome — es sind Formeln. Nur die
Semantik ist anders, sie müssen nicht unbedingt vollständig erfüllt werden, sondern nur,
soweit es die Axiome und die anderen Defaults zulassen.
Es ist natürlich eine wichtige Entscheidung, nur Defaults dieser Art zu betrachten.
Die möglichen Alternativen sind zahlreich:
Auf der einen Seite sind viele Ansätze stärker eingeschränkt, indem sie nur Negationen mit diversen Zusatzangaben betrachten. Diese Ansätze sind nahezu alle Spezialfälle
der hier betrachteten Defaults, wie in Kapitel 3 näher erläutert wird. Die Vielzahl der
verschiedenen Vervollständigungen dieser Art legt es natürlich nahe, nach einer gemeinsamen Verallgemeinerung zu suchen, so daß die einzelne Vervollständigung durch einen
Parameter spezifiziert werden kann. Das ist mit dem hier verfolgten Ansatz möglich.
Auf der anderen Seite gibt es eine ganze Reihe von Vorschlägen für allgemeinere
Defaults. So bestehen etwa Reiter’s Defaults [Rei80] aus drei Komponenten: Der Vorbedingung für die Annahme des Defaults, der konsistent annehmbaren Rechtfertigung,
und der Folgerung, die dann tatsächlich angenommen wird. Die hier betrachteten Defaults entsprechen den supernormalen“ Defaults von Reiter, bei denen Rechtfertigung
”
und Folgerung übereinstimmen, und die Vorbedingung leer (true) ist. Die größere Ausdrucksfähigkeit hat aber einige unerwünschte Konsequenzen: So kann es etwa passieren,
daß die Defaults zu Inkonsistenzen führen, oder Anomalien bei Einfügungen und Löschungen auftreten (Verletzung grundlegender Eigenschaften aus Kapitel 4). Es scheint auch
so, als wäre dies kein Mangel in Reiter’s Semantik der Defaults, sondern ein inhärentes
28
KAPITEL 2. DEDUKTIVE DATENBANKEN
Problem der großen Ausdrucksfähigkeit. Eine gegensätzliche Meinung wird in [Bre91] vertreten; dort wird aber zur Lösung dieses Problems die zugrundeliegende Logik geändert.
Ein anderer momentan viel beachteter Vorschlag, allgemeinere Default-Aussagen zu
ermöglichen, ist Moore’s autoepistemische Logik [Moo85]. Die hier betrachteten Defaults würden in dieser Logik formuliert als wenn ich nicht weiß, daß der Default nicht
”
gilt, dann gilt er“. Wie Konolige gezeigt hat [Kon88], ist diese Logik aber im wesentlichen äquivalent zu Reiter’s Default Logik (man kann die Formeln in autoepistemischer
Logik in eine Normalform überführen, die Reiter’s Defaults entspricht). Daher ist es
nicht überraschend, daß die autoepistemische Logik dieselben Probleme wie die DefaultLogik hat.
Man muß sich aber fragen, ob man die größere Ausdrucksfähigkeit überhaupt braucht,
oder ob die zusätzlichen Probleme den Nutzen nicht überwiegen. Wie in Kapitel 3 belegt
wird, kann man zumindest sehr viele Beispiele für die Anwendung von Defaults auch mit
den hier betrachteten einfachen Defaults formulieren.
Im Gegensatz dazu scheint die zusätzliche Ausdrucksfähigkeit gegenüber Systemen,
die nur Negationen als Defaults zulassen, keine prinzipiellen Schwierigkeiten mit sich zu
bringen.
Definition 2.2.2 (Defaults): Eine Menge von Defaults ∆ einer deduktiven Datenbank
mit Signatur Σ ist eine endliche Menge von stark bereichsbeschränkten Σ-Formeln.
Dabei darf es nicht δ1 , δ2 ∈ ∆, δ1 6= δ2 und Substitutionen θ1 , θ2 geben, so daß
δ1 θ1 = δ2 θ2 (s.u.).
Von großem praktischen Nutzen ist schließlich noch die Einführung von Prioritäten zwischen den Defaults. Defaults sind ja im wesentlichen Regeln mit Ausnahmen, und es
kommt nun durchaus vor, daß man zu den Ausnahmen nochmals Ausnahmen spezifizieren muß (das ist ja das Grundprinzip von Vererbungs-Hierarchien).
Wenn ein Default einem Axiom widerspricht, setzt sich natürlich das Axiom durch.
Aber was ist, wenn sich zwei Defaults wiedersprechen? Hier hat man die Gelegenheit, über
Prioritäten zu spezifizieren, welcher Default angenommen und welcher verworfen werden
soll. Falls keine Prioritäten spezifiziert sind, spielt die genaue Semantik der Defaults (der
Vervollständigungsmechanismus) eine Rolle. Manche Vervollständigungen nehmen dann
keinen von beiden Defaults an, manche ihre Disjunktion.
Die Prioritäten zwischen den Defaults können als partielle Ordnung < spezifiziert
werden; dabei bedeute δ1 < δ2 , daß δ1 die höhere Priorität hat. Diese Richtung der Ordnung verlangt wohl noch einen Kommentar, da sie der Intuition zunächst zu widersprechen scheint. Aber sie stimmt mit der Subtypen/klassen-Beziehung in objekt-orientierten
Ansätzen überein (der wichtigsten Anwendung für partiell geordnete Defaults): Hier überschreiben die Regeln für Subsorten ja die ererbten Regeln.
Häufig ist aber keine allgemeine partielle Ordnung nötig, sondern es reicht, die Defaults in Prioritätsstufen einzuteilen, d.h. jedem Default δ eine natürliche Zahl `(δ) zuzuordnen. Auch hier sollen die kleineren Zahlwerte eine höhere Priorität bedeuten. Da-
2.2. INTENDIERTE MODELLE
29
durch kann man die Stratifizierungsstufen einer stratifizierten Klauselmenge direkt als
Prioritätsstufen verwenden (siehe Beispiel 3.1.3 und die anschließende Diskussion).
Definition 2.2.3 (Prioritäten):
• Eine Prioritätsrelation < auf ∆ ist eine beliebige (strikte) partielle Ordnung (transitiv und irreflexiv).
• Eine Stufeneinteilung von ∆ ist eine Abbildung `: ∆ → IN.
• Die durch eine Stufeneinteilung ` gegebene Prioritätsrelation < ist
δ1 < δ2 :⇐⇒ `(δ1 ) < `(δ2 ).
In dieser Arbeit wird davon ausgegangen, daß Defaults höherer Priorität grundsätzlich
Vorrang vor beliebig vielen Defaults niedrigerer Priorität haben. Dies muß nicht unbedingt
so sein, man könnte auch eher numerische Ansätze wählen.
Default-Ausprägungen
Bekanntlich können Defaults nicht immer vollständig erfüllt werden, der Default ¬p(X)
etwa nicht für alle X, sondern nur für einige. Zum Verständnis von Default-Semantiken ist
daher der Begriff der Default-Ausprägungen ( instances“) nützlich. Bei ¬p(X) könnten
”
die Ausprägungen etwa ¬p(c1 ), ¬p(c2 ), . . . sein. Diese Ausprägungen sind dann die
Einheiten für die Entscheidung, welche Teile einer Default-Regel“ aus ∆ angenommen
”
werden und welche nicht.
Gewissermaßen legt der Ausprägungs-Mechanismus also die Granularität der DefaultRegeln fest. Im Extremfall wäre p(X) selbst die einzige Ausprägung von p(X), dann
könnte der Default nur als Ganzes angenommen werden. Außer dieser Möglichkeit und
der Ersetzung der Variablen durch Konstanten gibt es aber noch weitere. So könnte
man etwa Disjunktionen der Ausprägungen zulassen. Auch die natural consequences“
”
von [Rya91] lassen sich als Ausprägungsmechanismus mit einer besonders feinen Granularität verstehen.
Ausprägungsmechanismen müssen nicht notwendigerweise syntaktisch sein, man kann
auch Paare aus Formel und Variablenbelegung als Ausprägung verwenden [BL91]. Dies
ist besonders dann wünschenswert, wenn man die Annahme der eindeutigen Namen nicht
verwendet oder keine Bereichsbeschränkung der Formeln voraussetzen kann.
In dieser Arbeit wird allerdings nur der Ausprägungsmechanismus betrachtet, der die
Variablen durch Konstanten ersetzt. Tatsächlich würden aber die Definitionen und fast
alle Resultate auch mit einem beliebigen anderen Ausprägungsmechanismus funktionieren,
weil sie ohnehin nur auf die Menge der Default-Ausprägungen Bezug nehmen und nicht
auf die Menge der Default-Regeln. In dieser Hinsicht kann man die Default-Regeln also
als Abkürzung für die Menge ihrer Ausprägungen auffassen. Im folgenden wird das Wort
Default“ auch meist als synonym zu Default-Ausprägung“ verwendet. Die Antwortal”
”
gorithmen in Kapitel 6 funktionieren jedoch nur mit diesem Ausprägungsmechanismus,
denn sie müssen soweit wie möglich mit den Default-Regeln arbeiten.
30
KAPITEL 2. DEDUKTIVE DATENBANKEN
Definition 2.2.4 (Default-Ausprägungen): Sei ∆ eine Menge von Defaults einer
deduktiven Datenbank mit Signatur Σ. Dann sei ∆∗ die Menge der variablenfreien ΣFormeln, die aus Formeln aus ∆ entstehen, indem die Variablen durch Konstanten passender Sorte ersetzt werden.
Die für die Default-Regeln spezifizierten Prioritäten werden auf die Ausprägungen vererbt.
Dabei tritt noch das Problem auf, daß eine Default-Ausprägung zu mehreren DefaultRegeln gehören kann, was eventuell die Eigenschaft der partiellen Ordnung zerstört. Der
Einfachheit halber wurde dieser Fall hier ausgeschlossen (in Definition 2.2.2). Dies ist
keine wesentliche Einschränkung, da man diese Bedingung etwa durch Anhängen von
“∨false“ erreichen kann.
Definition 2.2.5 (Prioritäten auf Default-Ausprägungen):
Eine Prioritätsrela∗
∗
∗
tion < auf ∆ wird folgendermaßen auf ∆ erweitert: Sind δ1 und δ2 Ausprägungen von δ1
und δ2 , so gelte δ1∗ < δ2∗ ⇐⇒ δ1 < δ2 .
Man beachte, daß δ1∗ und δ2∗ nicht über dieselbe Substitution definiert sein müssen; die
Variablen werden also lokal zu den Defaults interpretiert. Es könnte allerdings nützlich
sein, für bestimmte Variablen die gleiche Einsetzung auf beiden Seiten zu verlangen.
Es ist auch nicht selbstverständlich, daß die Ausprägungen einer Default-Regel alle
dieselbe Priorität haben. So sollte die Rahmenregel bei zeitlichen Änderungen im Zweifelsfall eher für frühere Zustandsübergänge angenommen werden (siehe Kapitel 3).
Modelltheoretische Vervollständigungen
Die Semantik einer Menge von Default-Regeln mit Prioritäten ist eine Vervollständigung.
Die Abbildung von einer Default-Spezifikation auf eine bestimmte Vervollständigung ist
Gegenstand späterer Kapitel (insbesondere Kapitel 5). In diesem Abschnitt soll nun
zunächst der semantische Bereich aller Vervollständigungen untersucht werden.
Was ist also eine Vervollständigung? Modelltheoretisch gesehen, beschreibt die Menge
der Axiome Φ eine Menge I von Σ-Interpretationen. Davon wählen die Defaults eine
Teilmenge aus, die intendierten Modelle, die die Defaults am besten erfüllen.
Wenn man die Semantik der Defaults unabhängig von den Axiomen beschreiben will,
also die Axiome Φ als variabel ansieht, dann ist eine Vervollständigung eine Auswahlfunktion auf den Σ-Interpretationen: Die Eingabe sind die Modelle I von Φ, die Ausgabe
sind die intendierten Modelle:
Definition 2.2.6 (Modelltheoretische Vervollständigung):
sche Vervollständigung ist eine Abbildung sel : 2IΣ → 2IΣ mit
• sel (I) ⊆ I für alle I ⊆ IΣ ( kein Informationsverlust“).
”
Eine modelltheoreti-
2.2. INTENDIERTE MODELLE
31
Ein typisches Beispiel für eine modelltheoretische Vervollständigung ist die Auswahl von
minimalen Modellen bezüglich einer Präferenzrelation ≺ auf IΣ . Auch hier ist die Ordnung aus historischen Gründen verkehrt herum“: I1 ≺ I2 bedeutet, daß I1 die Defaults
”
besser als I2 erfüllt. Die ≺-minimalen Elemente der Modellmenge I von Φ erfüllen die
Defaults dann also am besten (unter den durch Φ gegebenen Einschränkungen). Diese
Art von Vervollständigungen wird noch ausführlich in Kapitel 5 untersucht.
Solche Auswahlfunktionen sind natürlich besonders übersichtlich, wenn IΣ endlich ist,
was hier durch die Beschränkung auf Herbrandinterpretationen und die Signatur aus den
tatsächlich vorkommenden Symbolen erreicht wird (s.u.).
Dann läßt sich jede Vervollständigung als eine Tabelle beschreiben, in der für jede
Teilmenge von IΣ die ausgewählten Modelle angegeben werden. Natürlich ist dies nur für
sehr kleine Signaturen Σ praktisch durchführbar, denn für eine Signatur mit n Aussagenn
variablen hat IΣ schon 2n Elemente (mögliche Interpretationen). Dann gibt es also 22
Teilmengen von IΣ , d.h. Eingaben I für sel (die nicht-äquivalenten Axiomenmengen Φ
entsprechen).
Wenn die Signatur etwa zwei Aussagenvariablen p und q enthält, so gibt es vier Herbrandmodelle: [pq] (p und q sind wahr), [pq̄] (p wahr, q falsch), [p̄q] (umgekehrt) und [p̄q̄]
(beide falsch). In der tabellarischen Darstellung sind nun für jede der 16 Teilmengen I
jeweils die intendierten Modelle (sel (I)) mit • und die übrigen Modelle (I − sel (I))
mit ◦ gekennzeichnet. Zur besseren Übersicht sind zusätzlich noch Formelmengen Φ mit
Mod (Φ) = I und comp(Φ) mit Mod comp(Φ) = sel (I) angegeben, diese sind natürlich
nur bis auf Äquivalenz eindeutig.
So könnte man die minimalen Modelle (siehe Kapitel 5) mit den Defaults ¬p und ¬q
durch folgende Tabelle beschreiben:
Φ
false
¬p, ¬q
¬p, q
¬p
p, ¬q
¬q
p ↔ ¬q
¬p ∨ ¬q
p, q
p↔q
q
¬p ∨ q
p
p ∨ ¬q
p∨q
true
[pq] [pq̄] [p̄q] [p̄q̄] comp(Φ)
false
• ¬p, ¬q
•
¬p, q
◦ • ¬p, ¬q
•
p, ¬q
◦
• ¬p, ¬q
• •
p ↔ ¬q
◦ ◦ • ¬p, ¬q
•
p, q
◦
• ¬p, ¬q
◦
•
¬p, q
◦
◦ • ¬p, ¬q
◦ •
p, ¬q
◦ ◦
• ¬p, ¬q
◦ • •
p ↔ ¬q
◦ ◦ ◦ • ¬p, ¬q
A
A
A
[pq]
A
A
A
[p̄q]
[pq̄]
[p̄q̄]
32
KAPITEL 2. DEDUKTIVE DATENBANKEN
So hat etwa Φ := {p} die beiden Herbrandmodelle [pq] und [pq̄]. Von diesen beiden
Modellen wird [pq̄] ausgewählt, während [pq] nicht intendiert ist; dies entspricht der Formelmenge comp(Φ) := {p, ¬q}.
Man kann nun auch einfache Aufzählungsprogramme schreiben, die alle Vervollständigungen zu einer gegebenen (sehr kleinen) Signatur auf bestimmte Eigenschaften prüfen.
Wenn man vorher mit vielen einzelnen Vervollständigungen gearbeitet hat, ist es schon begeisternd, plötzlich alle Vervollständigungen in diesem Sinn im Griff zu haben. Natürlich
funktioniert das nur bei Spielzeug-Signaturen“, aber wenn man sich für die Eigenschaften
”
von Vervollständigungen und die Zusammenhänge dazwischen interessiert, ist das schon
eine große Hilfe.
n
Wie oben erläutert, legen die Vervollständigungen bei n-Aussagenvariablen 22 Funktionswerte fest. Wie viele Vervollständigungen gibt es aber nun?
(2n +n−1)
Satz 2.2.7: Es gibt 22
verschiedene modelltheoretische Vervollständigungen bei
einer Signatur mit n Aussagenvariablen. Davon haben
n
2
Y
2k − 1
k=1
(2kn )
die Eigenschaft, daß sel (I) = ∅ nur für I = ∅ gilt (Konsistenzerhaltung).
Beweis: Eine Vervollständigung legt zu jeder Teilmenge I der 2n Interpretationen IΣ eine
n
Teilmenge sel (I) ⊆ I fest. Es gibt 2k Teilmengen I von IΣ der Größe k. Ist so ein I der
Größe k gegeben, so hat man 2k Möglichkeiten, sel (I) auszuwählen. Damit ergibt sich:
n
2
Y
k=0
2
2n
k (k)
n
=
2
Y
2(
k=0
k∗2n
k
2n
P
) = 2k=0
n
k∗(2k
)
.
Der Exponent kann nun vereinfacht werden zu:
n −1 n X
n
2n
2n
2X
X
2n
2
2 −1
2n − 1
n
n
n
k∗
=
k∗
∗
=2 ∗
= 2n ∗ 22 −1 = 22 +n−1 .
0
k
k
k−1
k
0
k=0
k=1
k =0
Die Behauptung über die Anzahl konsistenzerhaltender Vervollständigungen ergibt sich ganz
direkt aus demselben Ansatz, man hat bei k-elementigen I (k > 0) allerdings eine Möglichkeit
weniger für sel (I).
2
Diese Zahl ist natürlich auch für Aufzählungsprogramme zu groß, selbst bei sehr kleinem n. Für n = 2 gibt es 232 Vervollständigungen, davon sind 26 254 935 konsistenzerhaltend (diese Zahl liegt zwischen 224 und 225 ). Glücklicherweise ergibt sich eine drastische Reduzierung, wenn man weitere Mindestanforderungen an die Vervollständigungen
stellt. So gibt es (für n = 2) nur noch 71 638 kumulierende und konsistenzerhaltende
Vervollständigungen (die Kumulation wird in Kapitel 4 erklärt). Davon lassen sich 219
durch Präferenzrelationen auf den Modellen beschreiben und 749 als CWA (diese Zahlen
wurden mit einem solchen Aufzählungsprogramm ermittelt).
2.2. INTENDIERTE MODELLE
33
Offene Frage 2.2.8:
Kann man einen geschlossenen Ausdruck für die Anzahl der
kumulierenden und konsistenzerhaltenen Vervollständigungen angeben? Die gleiche Frage
stellt sich natürlich auch für andere Kombinationen von Eigenschaften aus Kapitel 4 oder
Repräsentations-Formalismen aus Kapitel 5.
Es ist im Prinzip denkbar, solche Aufzählungsprogramme für den Entwurf von Vervollständigungen durch Beispiele einzusetzen. Hat man etwa für einige Axiomenmengen Φ die intendierten Modelle ausgezeichnet, und setzt man darüber hinaus eine gewisse
Struktur der Vervollständigung voraus, so führt das zu einer drastischen Einschränkung
der möglichen Vervollständigungen. Betrachtet man etwa nur Vervollständigungen vom
Typ minimale Modelle“, so ist die obige Vervollständigung eindeutig durch die Angaben
”
der folgenden Beispiele bestimmt:
Φ
∅
p
q
p∨q
comp(Φ)
¬p, ¬q
p, ¬q
q, ¬p
p ∨ q, ¬p ∨ ¬q
Mindestens für besonders kritische Teile des Entwurfs, wo die verwendeten Defaults nicht
offensichtlich sind, könnte eine solche Vorgehensweise hilfreich sein. Sie ist also dem
Wissenserwerb und dem maschinellen Lernen zuzurechnen. Auch zur Überprüfung einer Vervollständigung, d.h. der Auswahl von Testfällen Φ, könnten solche Überlegungen
beitragen.
Solche Auswahlfunktionen haben eine einfache mathematische Struktur und treten nicht
nur bei Vervollständigungen auf. Insbesondere sind sie schon in der Theorie der Wahlverfahren ( social choice theory“) untersucht worden, einem gemeinsamen Teilgebiet von
”
Mathematik, Wirtschafts- und Sozialwissenschaften [Mou85].
Hier wird statt IΣ eine beliebige Menge von möglichen Alternativen betrachtet. Dies
könnten etwa Personen sein, die für ein Amt in Frage kommen, oder Rechnermodelle,
von denen eines beschafft werden soll (es müssen ja ständig irgendwelche Entscheidungen
getroffen werden).
Zur Auswahl steht aber jeweils nicht die ganze Menge der möglichen Alternativen,
sondern nur eine Teilmenge. In den Beispielen wären das die Menge der Personen, die
tatsächlich kandidieren, oder die Menge der Rechnermodelle, die unter einer gewissen
Preisgrenze liegen. Zu jeder solchen Kandidatenmenge bestimmt die Auswahlfunktion
wieder eine Teilmenge, nämlich die Alternativen, zu deren Gunsten die Entscheidung
fällt. Da im allgemeinen nur eine Alternative realisiert werden kann, muß bei Bedarf das
Los geworfen werden.
Diese Theorie untersucht nun einen speziellen Aspekt solcher Entscheidungsprozesse,
nämlich die Abhängigkeit der Entscheidung von der Kandidatenmenge. So wäre es doch
etwa unlogisch, wenn dadurch, daß ein Verlierer seine Kandidatur zurückzieht, sich das
34
KAPITEL 2. DEDUKTIVE DATENBANKEN
Ergebnis der Wahl ändern würde. In dem Beispiel mit der Rechnerauswahl liegen die
genaue Preisgrenze und andere Mindestanforderungen ja auch nicht von vorneherein fest,
und trotzdem könnte man sagen wenn ich die Auswahl zwischen den Rechnern A, B
”
und C hätte, dann würde ich A oder B wählen, aber nicht C“.
Die Ähnlichkeit zu den modelltheoretischen Vervollständigungen ist offensichtlich: die
Kandidaten entsprechen den Modellen I der Axiome Φ und die Gewinner den intendierten
Modellen sel (I). Obwohl der intuitive Hintergrund zunächst also recht unterschiedlich ist,
stimmen die beiden Begriffe formal überein. Und es wird sich zeigen, daß sich tatsächlich
viele der Eigenschaften und Ergebnisse der Theorie der Wahlverfahren auch auf Vervollständigungen übertragen lassen. So sind dort etwa Eigenschaften, die der Kumulation
entsprechen, schon untersucht worden, bevor sie unabhängig davon für Vervollständigungen entdeckt wurden.
In [Bra90a] wurde auf die Ähnlichkeit zwischen beiden Gebieten hingewiesen, und es
wurden systematisch Eigenschaften und Ergebnisse umformuliert. Insbesondere konnte
dadurch eine Charakterisierung der minimale Modelle“-Vervollständigungen gewonnen
”
werden. In [DW91] wurde dieser Zusammenhang auch ausgenutzt, allerdings nur der
bekannte Satz von Arrow.
Andere Formalisierungen des Begriffs der Vervollständigung
Eine Vervollständigung läßt sich aber nicht nur als Auswahlfunktion auf den Modellen
beschreiben. Als Alternative zu diesen modelltheoretischen Vervollständigungen“ sollen
”
nun die syntaktischen Vervollständigungen“ und die vervollständigten Folgerungsrela”
”
tionen“ eingeführt werden. Selbstverständlich sind die drei Formalisierungen äquivalent,
d.h. man kann zwischen ihnen umrechnen, ohne daß sich der Begriff der korrekten Antwort (s.u.) ändert. Diese verschiedenen Blickrichtungen auf denselben Gegenstand tragen
aber sicher zu einem besseren Verständnis bei.
Außerdem lassen sich die bekannten Vervollständigungen in unterschiedlichen Formalismen verschieden gut beschreiben. Obwohl die Umrechnung dazwischen immer möglich
ist, führt sie nicht notwendigerweise zu einem einfachen und übersichtlichen Ergebnis.
Die Eigenschaften in Kapitel 4 werden auch jeweils für alle drei Arten von Vervollständigungen formuliert. Man kann sich dann die für die betrachtete Vervollständigung passendste Formulierung aussuchen; außerdem gilt auch hier wieder, daß verschiedene äquivalente Beschreibungen hilfreich für das Verständnis sind.
Die drei Formalisierungen von Vervollständigungen mit den Umrechnungen dazwischen wurden in [Bra90a] eingeführt; natürlich gab es davor schon Beispiele für jede der
drei Arten von Vervollständigungen [Rei78, McC80, Rei80], und auch Versuche einer allgemeinen Theorie von Folgerungsrelationen [Gab85].
Häufig werden Vervollständigungen die Axiomenmenge Φ einfach um die angenommenen
Default-Ausprägungen aus ∆∗ erweitern, und so eine Obermenge comp(Φ) ⊇ Φ konstruieren, die als Grundlage der Anfragebearbeitung dient (so wie die intendierten Modelle bei
2.2. INTENDIERTE MODELLE
35
modelltheoretischen Vervollständigungen). Allgemein muß comp(Φ) nicht eine Teilmenge
von Φ ∪ ∆∗ sein; schon deswegen nicht, weil die verschiedenen Vervollständigungen unterschiedliche Ausprägungsmechanismen verwenden können. Das Ziel von comp ist jedoch
immer gleich, nämlich die impliziten Annahmen bei der Anfrageauswertung explizit zu
machen.
Beispiele für Vervollständigungen dieser Art sind etwa die CWA-Vervollständigungen [Rei78, Min82, YH85, GP86] und die verschiedenen Versionen der first-order“-Cir”
cumscription [McC80, Lif85, McC86].
Definition 2.2.9 (Syntaktische Vervollständigung):
ständigung ist eine Abbildung comp: 2LΣ → 2LΣ mit
Eine syntaktische Vervoll-
• Φ ⊆ comp(Φ) für alle Φ ⊆ LΣ ( kein Informationsverlust“),
”
• comp(Φ1 ) und comp(Φ2 ) sind äquivalent für jedes Paar Φ1 , Φ2 von äquivalenten
Axiomenmengen ( Äquivalenzerhaltung“).
”
Die erste Forderung Φ ⊆ comp(Φ)“ ist wohl unstrittig, sie entspricht gerade sel (I) ⊆ I“
”
”
bei modelltheoretischen Vervollständigungen. Höchstens wenn man von Vervollständigungen erwartet, daß sie inkonsistente Formelmengen reparieren“, könnte man auf diese
”
Eigenschaft verzichten.
Die zweite Forderung Φ1 ∼
= Φ2 =⇒ comp(Φ1 ) ∼
= comp(Φ2 )“ ist jedoch schon ein”
schränkender: Prolog-Semantiken erfüllen diese Forderung nicht, weil dort die Regeln
gerichtet sind, also außer ihrem logischen Inhalt noch weitere Informationen tragen. So
bedeuten etwa p ← ¬q und q ← ¬p etwas ganz unterschiedliches, obwohl beide Regeln logisch äquivalent zu p ∨ q sind (was man in Prolog nicht aufschreiben kann). Ein
anderes Beispiel ist p(X) ← p(X), was logisch äquivalent zu true ist, aber nach der
CDB-Semantik [Cla78] verhindert, daß Negationen über p angenommen werden können.
Bei Prolog ist das Problem, daß die Vervollständigung über die Schreibweise der Regeln implizit mitspezifiziert wird (zusammen mit anderen Steuerinformationen). Dem
hier verfolgten Ansatz liegt jedoch die Annahme zugrunde, daß es besser ist, den logischen Gehalt, die Vervollständigung und die Steuerinformation explizit und getrennt
von einander zu spezifizieren. Dann könnte ein intelligenter Optimierer das überflüssige
Axiom p(X) ← p(X) weglassen oder beliebige andere logische Umformungen vornehmen.
Dies war ja wohl auch der ursprüngliche Sinn einer Verwendung der Logik, von der man
sich dann aus Effizienzgesichtspunkten doch recht weit entfernt hat.
Allerdings ist auch bei Prolog-Semantiken eine Entwicklung in Richtung des hier verfolgten Ansatzes zu erkennen. Neuere Semantiken behandeln die Regel p(X) ← p(X)
tatsächlich wie true, und bei stratifizierten Klauselmengen läßt sich die in den Regeln
verborgene Zusatzinformation für die Vervollständigung (die Stratifizierung) leicht mechanisch extrahieren. Falls man also eine entsprechende Umschreibphase vorschaltet, passen
Prolog-Semantiken doch in den hier angegebenen allgemeinen Rahmen. Eine Möglichkeit hierzu ist auch, Prädikatsymbole zu verdoppeln, also etwa zu jedem Prädikat p ein
Prädikat not p einzuführen [Prz91]. Auf diese Weise können sogar Semantiken behandelt
36
KAPITEL 2. DEDUKTIVE DATENBANKEN
werden, die eigentlich auf einer dreiwertigen Logik basieren.
Ein technischer Grund für die Forderung nach Äquivalenzerhaltung ist schließlich
noch, daß nur so die syntaktischen Vervollständigungen äquivalent zu den modelltheoretischen sind: Die modelltheoretischen Vervollständigungen bekommen die Axiome Φ ja
gar nicht mehr zu sehen, sondern nur ihre Modelle. Daher können sie natürlich keinen
Unterschied zwischen logisch äquivalenten Formulierungen machen.
Die dritte Art von Vervollständigungen sind schließlich die vervollständigten Folgerungsrelationen `c . Ihnen liegt der Gedanke zugrunde, daß Vervollständigungen ja eigentlich
nur dazu verwendet werden, die korrekten Antworten zu bestimmen. Für boolesche Anfragen ψ (eine variablenfreie Formel) wird man die Antwort ja“ als logisch korrekt ansehen,
”
wenn Φ ` ψ gilt. Nun berücksichtigt dies freilich noch nicht die Defaults, so daß die
Antwort ja“ häufig intuitiv korrekt, aber nicht logisch korrekt ist. Da beliebige Anfragen
”
auf solche booleschen Anfragen zurückgeführt werden können (s.u.), liegt es nahe, einfach
den Begriff der Folgerungsrelation zu verallgemeinern. Dafür gibt es eine ganze Reihe von
Vorschlägen [Gab85, KLM90]. Die hier angegebene Definition hat den Vorteil, äquivalent
zu den anderen Arten von Vervollständigungen zu sein:
Definition 2.2.10 (Vervollständigte Folgerungsrelation):
Folgerungsrelation ist eine Relation `c ⊆ 2LΣ × LΣ ∗ mit
Eine vervollständigte
• Φ ` ψ =⇒ Φ `c ψ ( kein Informationsverlust“),
”
• Φ `c ψ1 , Φ `c ψ2 =⇒ Φ `c ψ1 ∧ ψ2 ( Abschluß unter ∧“),
”
• Φ `c ψ, {ψ} ` ψ 0 =⇒ Φ `c ψ 0 ( Abschluß unter `“),
”
• Φ1 `c ψ, Φ1 ∼
= Φ2 =⇒ Φ2 `c ψ ( Äquivalenzerhaltung“).
”
Als Folgerungen sind hier nur Formeln ohne Variablen interessant, da Antworten immer
alle Variablen der Anfragen binden sollen (aufgrund der Bereichsbeschränkung könnten
andere Antworten zumindest niemals logisch korrekt sein, siehe Korollar 2.1.23). Es
würden sich auch wesentliche technische Schwierigkeiten ergeben, da es zur Folgerung
von Formeln mit Variablen nicht mehr ausreicht, nur Herbrand-Modelle zu betrachten.
Die Forderungen kein Informationsverlust“ und Äquivalenzerhaltung“ wurden oben
”
”
schon kommentiert.
Die Forderung nach dem Abschluß unter ∧“ ist eigentlich auch sehr naheliegend:
”
Wenn ψ1 und ψ2 einzeln mit ja“ beantwortet werden, dann sollte auch ψ1 ∧ ψ2 mit ja“
”
”
beantwortet werden — dies ist schließlich die intuitive Semantik der Konjunktion. Diese
Forderung wurde schon in [BS85] aufgestellt.
Sie gilt aber nicht für alle in der Literatur vorgeschlagenen Default-Semantiken. So
nimmt der leichtgläubige“ ( credulous“) Ansatz einfach eine konsistente Menge von
”
”
Default-Ausprägungen an, mit der er die Anfrage herleiten kann. Falls es Konflikte
zwischen Defaults gibt, kann es durchaus passieren, daß sowohl p als auch ¬p mit ja“
”
beantwortet wird, aber nicht p ∧ ¬p (d.h. false).
Der Abschluß unter logischen Folgerungen impliziert u.a. die Umkehrung: Wenn
ψ1 ∧ ψ2 mit ja“ beantwortet wird, sollten natürlich auch ψ1 und ψ2 einzeln mit ja“
”
”
2.2. INTENDIERTE MODELLE
37
beantwortet werden. Außerdem bewirkt der Abschluß unter logischen Folgerungen auch,
daß logisch äquivalente Anfragen gleich beantwortet werden. Falls etwa ψ1 ∧ ψ2 mit ja“
”
beantwortet wird, sollte dies ja wohl auch für ψ2 ∧ ψ1 gelten.
Schließlich sei noch bemerkt, daß man den Abschluß unter ∧“ und den unter `“
”
”
zusammenfassen kann als
Φ `c ψ1 , . . . , Φ `c ψn , {ψ1 , . . . , ψn } ` ψ =⇒ Φ `c ψ.
Dies wurde in der obigen Definition nicht getan, um das Problem beim leichtgläubigen
Ansatz genauer herauszuarbeiten (er ist unter ` abgeschlossen, aber nicht unter ∧).
Jetzt bleibt noch, die Äquivalenz der drei Formalisierungen zu zeigen. Dazu wird zuerst gezeigt, wie man von modelltheoretischen bzw. syntaktischen Vervollständigungen zu
vervollständigten Folgerungsrelationen kommt:
Definition 2.2.11 (Folgerungsrelation zu einer Vervollständigung):
• Sei sel eine modelltheoretische Vervollständigung. Dann ist `csel definiert durch
Φ `csel ψ :⇐⇒ sel Mod (Φ) ⊆ Mod (ψ).
• Sei comp eine syntaktische Vervollständigung. Dann ist `ccomp definiert durch
Φ `ccomp ψ :⇐⇒ comp(Φ) ` ψ.
Lemma 2.2.12:
• `csel ist eine vervollständigte Folgerungsrelation.
• `ccomp ist eine vervollständigte Folgerungsrelation.
Beweis:
•
•
- Wenn Φ ` ψ, gilt Mod (Φ) ⊆ Mod (ψ); zusammen mit sel Mod (Φ) ⊆ Mod (Φ) folgt
also sel Mod (Φ) ⊆ Mod (ψ), und damit Φ `csel ψ.
- Aus Φ `csel ψ1 und Φ `csel ψ2 , d.h. sel Mod (Φ) ⊆ Mod (ψi ) für i = 1, 2 folgt
sel Mod (Φ) ⊆ Mod (ψ1 ) ∩ Mod (ψ2 ), also sel Mod (Φ) ⊆ Mod (ψ1 ∧ ψ2 ) und daher
Φ `csel ψ1 ∧ ψ2 .
- Beim Abschluß unter `c bedeuten die Voraussetzungen sel Mod (Φ) ⊆ Mod (ψ) und
Mod (ψ) ⊆ Mod (ψ 0 ). Hieraus ergibt sich sel Mod (Φ) ⊆ Mod (ψ 0 ), d.h. Φ `csel ψ 0 .
- Die Äquivalenzerhaltung folgt direkt aus der Konstruktion, Φ1 ∼
= Φ2 bedeutet ja
Mod (Φ1 ) = Mod (Φ2 ). Dann gilt natürlich auch sel Mod (Φ1 ) = sel Mod (Φ2 ) .
- Gilt Φ ` ψ, so folgt wegen Φ ⊆ comp(Φ) auch comp(Φ) ` ψ, d.h. Φ `ccomp ψ.
- Gilt Φ `ccomp ψ1 und Φ `ccomp ψ2 , d.h. comp(Φ) ` ψ1 und comp(Φ) ` ψ2 , so folgt
comp(Φ) ` ψ1 ∧ ψ2 (` ist unter ∧ abgeschlossen) und damit Φ `ccomp ψ1 ∧ ψ2 .
- Aus comp(Φ) ` ψ und {ψ} ` ψ 0 folgt comp(Φ) ` ψ 0 (` ist transitiv).
- Sind Φ1 und Φ2 äquivalent, so auch comp(Φ1 ) und comp(Φ2 ) (wegen der Äquivalenzerhaltung von comp). Dann haben sie natürlich auch dieselben Folgerungen.
2
38
KAPITEL 2. DEDUKTIVE DATENBANKEN
In der anderen Richtung ist noch zu zeigen, daß vervollständigte Folgerungsrelationen
nicht allgemeiner sind als die anderen beiden Arten von Vervollständigungen, daß es
also zu jeder vervollständigten Folgerungsrelation auch eine passende modelltheoretische
bzw. syntaktische Vervollständigung gibt.
Lemma 2.2.13:
• Für jede vervollständigte Folgerungsrelation `c gibt es eine modelltheoretische Vervollständigung sel mit `csel = `c .
• Für jede vervollständigte Folgerungsrelation `c gibt es eine syntaktische Vervollständigung comp mit `ccomp = `c .
Beweis:
• Sei sel definiert durch:
sel (I) := Mod {ψ 0 ∈ LΣ ∗ | Th(I) `c ψ 0 } ∩ I.
(Der Schnitt mit I ist nötig, denn solange unendliche Modelle betrachtet werden, kann
nicht vorausgesetzt werden, daß Mod Th(I) = I gilt.)
Falls Φ `c ψ, folgt aus der Konstruktion von sel sofort Φ `c ψ: Da Th Mod (Φ) ∼
=Φ
sel
auch bei unendlichen Modellen gilt, damit vereinfacht sich die Definition zu
sel Mod (Φ) = Mod {ψ 0 ∈ LΣ ∗ | Φ `c ψ 0 } ∪ Φ ,
also gilt sel Mod (Φ) ⊆ Mod (ψ).
Gilt umgekehrt Φ `csel ψ, so bedeutet das nach der Konstruktion
Φ ∪ {ψ 0 ∈ LΣ ∗ | Φ `c ψ 0 } ` ψ.
Nach dem Kompaktheitssatz gibt es dann aber schon eine endliche Teilmenge
{ψ10 , . . . , ψn0 } ⊆ {ψ 0 ∈ LΣ ∗ | Φ `c ψ 0 }
mit {ψ10 , . . . , ψn0 } ` ψ. (Die Formeln aus Φ sind tatsächlich nicht nötig, ihre Grundbeispiele
aus LΣ ∗ reichen aus, da ja eine variablenfreie Formel abgeleitet werden soll.) Dann folgt
aber aus dem Abschluß von `c unter ∧ und `, daß Φ `c ψ.
• Die Konstruktion einer entsprechenden syntaktischen Vervollständigung funktioniert ganz
ähnlich:
comp(Φ) = {ψ 0 ∈ LΣ ∗ | Φ `c ψ 0 } ∪ Φ.
Gilt also Φ `c ψ, so ist ψ ∈ comp(Φ), und daher gilt Φ `ccomp ψ. Der umgekehrte Schluß
funktioniert wie oben mit dem Kompaktheitssatz und dem Abschluß von `c unter ∧ und `.
2
Daher muß jetzt nicht mehr zwischen den verschiedenen Formalisierungen des Begriffs
der Vervollständigung unterschieden werden, jede ist gleichermaßen als Bedeutung einer
Default-Spezifikation (∆, <) geeignet. Gegenstand der Untersuchungen in dieser Arbeit
sind jetzt aber nicht so sehr einzelne Vervollständigungen, als vielmehr die Beziehung
zwischen Default-Spezifikationen und Vervollständigungen:
2.3. ANFRAGEN UND ANTWORTEN
39
Definition 2.2.14 (Default-Semantik): Eine Default-Semantik ist eine Abbildung,
die jeder Default-Spezifikation (∆, <) über einer beliebigen Signatur Σ eine (modelltheoretische oder syntaktische) Σ-Vervollständigung sel bzw. comp oder eine vervollständigte
Folgerungsrelation `c zuordnet.
2.3
Anfragen und Antworten
Eine deduktive Datenbank besteht also aus den Komponenten Signatur, Axiome und
Defaults mit Prioritäten (und Integritätsbedingungen, s.u.). Die Semantik der Signatur
ist die Menge aller entsprechend strukturierten Interpretationen, die Semantik der Axiome
wählt davon eine Teilmenge aus (die Modelle), und die Semantik der Defaults bestimmt
schließlich nochmals eine Teilmenge (die intendierten Modelle).
Damit sollte es jetzt auch möglich sein, den Hauptzweck einer Datenbank zu erfüllen,
nämlich Anfragen zu beantworten.
Definitionen
Definition 2.3.1 (Anfrage):
Eine Anfrage ist eine Σ-Formel ψ, die negativ stark
bereichsbeschränkt ist. Die vorkommenden Variablen heißen die Ergebnisvariablen von ψ.
Die häufigste Art von Anfragen sind Konjunktionen von Literalen:
p1 (. . .) ∧ · · · ∧ pm (. . .) ∧ ¬q1 (. . .) ∧ · · · ∧ ¬qn (. . .).
Die Bereichsbeschränkung bedeutet bei Anfragen dieser Form, daß jede Variable in einem
positiven Literal mit positiv bindendem Prädikat vorkommen muß (oder in einem negativen Literal mit negativ bindendem Prädikat). Allgemein bewirkt diese Forderung gerade,
daß
answer (X1 , . . . , Xn ) ← ψ
eine bereichsbeschränkte Formel ist, wenn X1 , . . . , Xn die Ergebnisvariablen von ψ sind
und answer ein neues (positiv bindendes) Prädikat.
Da man jede Formel äquivalent in disjunktive Normalform bringen kann, besteht die
Verallgemeinerung nun darin, daß auch Disjunktionen von solchen konjunktiven Anfragen
erlaubt sind. Dies erscheint im Kontext unvollständiger Information angemessen, denn
solche Disjunktionen können auch in der Datenbank abspeichert werden.
Es ist relativ einfach, auch Existenzquantoren am Anfang der Anfrage zu erlauben [Rei78], dann kann man etwa Projektionen direkt formulieren (ohne die Axiome
zu erweitern). Mit Allquantoren ist es dagegen etwas schwieriger, hier sei auf [LT84]
verwiesen.
Natürlich kann man immer eine Erweiterung von Φ um ein Anfrageprogramm“ vor”
nehmen, dann kommt man mit einer festen Anfrage der Form answer (X1 , . . . , Xn ) aus.
Aber dann hat man nicht mehr die Ähnlichkeit von Anfragebearbeitung und logischer
40
KAPITEL 2. DEDUKTIVE DATENBANKEN
Folgerung; außerdem bräuchte man dazu eigentlich einen Modulbegriff, denn natürlich
sollen diese neuen Axiome den Inhalt der Datenbank nicht ändern.
Definition 2.3.2 (Korrekte Antwort): Eine nichtleere Menge {θ1 , . . . , θn } von ΣGrundsubstitutionen für die Ergebnisvariablen einer Anfrage ψ heißt korrekte Antwort
auf ψ genau dann, wenn
Φ `c ψθ1 ∨ · · · ∨ ψθn .
Eine korrekte Antwort heißt definit, wenn sie aus genau einem Element besteht. Eine korrekte Antwort heißt minimal, wenn keine echte Teilmenge von ihr ebenfalls eine korrekte
Antwort ist.
Eine Antwort soll also Werte (Konstanten) für die Ergebnisvariablen der Anfrage bestimmen, derart, daß die entstehende Formel aus den Informationen in der Datenbank folgt.
Dabei wird eine vervollständigte Folgerungsbeziehung `c verwendet, um die Defaults zu
berücksichtigen. Natürlich kann `c auch durch eine modelltheoretische oder syntaktische
Vervollständigung gegeben sein, wie oben beschrieben.
Außerdem sind disjunktive Antworten zulässig, die mehr als eine Substitution angeben [Gre69, Rei78]. Dies erlaubt es, disjunktive Informationen in der Datenbank direkt
abzufragen. Würde es keine disjunktiven Antworten geben, müßte man entsprechend disjunktive Anfragen aufschreiben und könnte niemals sicher sein, auch ausreichend viele
Disjunktionsglieder aufgeschrieben zu haben. Natürlich sind nur minimale disjunktive
Antworten interessant.
Schließlich beachte man noch, daß Antworten hier alle Variablen mit Konstanten
belegen müssen (da es sich um Grundsubstitutionen handelt). Dies ist ein Unterschied
zu Prolog, wo die Antworten auch Variablen enthalten können. Tatsächlich ist diese
Forderung aber bei bereichsbeschränkten Formeln sehr natürlich, denn solche Antworten
könnten niemals logisch korrekt sein (Korollar 2.1.23). Bei Vervollständigungen ist dies
dagegen nur eine Festlegung (nicht beweisbar).
Natürlich gibt es eine ganze Reihe von Alternativen zu dieser Definition von korrekter
Antwort. So kann man etwa den Begriff der Substitution vermeiden, wenn man stattdessen die Gleichheit verwendet (siehe etwa [Bra88]). Interessant ist auch die Definition
in [CGS89]: Hier ist eine Antwort auf eine disjunktive Anfrage ψ1 ∨ · · · ∨ ψn eine Disjunktion von Grundbeispielen der ψi , also eine Formel der Art ψi1 θ1 ∨· · ·∨ψim θm . Dies hat den
Effekt, daß die Antwort spezifischer sein kann als die Anfrage (m < n), denn man erfährt
auch, welche Disjunktionsglieder erfüllt sind. Allerdings dürfte in dem typischen Fall einer
nicht-disjunktiven Anfrage diese Art von Antworten länger und unübersichtlicher sein als
die oben definierten.
Unabhängigkeit von der Signatur
Die Korrektheit einer Antwort sollte nicht davon abhängen, ob die Signatur außer den
in den Axiomen und Defaults explizit auftretenden Konstanten noch weitere enthält.
2.3. ANFRAGEN UND ANTWORTEN
41
Sonst kann es beim Einfügen und Löschen von Axiomen oder Defaults zu überraschenden
Effekten kommen:
Beispiel 2.3.3:
Sei Φ := {p(X) ∨ q, p(c1 )} und ∆ := {¬p(X), ¬q}, dabei habe
der erste Default höhere Priorität. Diese Formeln sind nicht bereichsbeschränkt: Nach
den Axiomen könnte p noch ein negativ bindendes Prädikat sein, aber dann wäre der
Default ¬p(X) nicht bereichsbeschränkt.
Ist c1 nun die einzige Konstante, so ist ¬p(c1 ) die einzige Ausprägung von ¬p(X).
Sie kann aber sicherlich nicht angenommen werden, da genau das Gegenteil als Axiom
spezifiziert ist. Also hat der Default ¬q keine Konkurrenten, er sollte jedenfalls von jeder
vernünftigen Semantik angenommen werden. Daher ist die Antwort ja“ eine korrekte
”
Antwort auf die Anfrage ¬q.
Die Situation ändert sich, wenn es eine weitere Konstante c2 gibt. Denn nun stehen
die Default-Ausprägungen ¬p(c2 ) und ¬q im Konflikt miteinander. Da ¬p(c2 ) höhere
Priorität hat, wird dieser Default also angenommen. Die Anfrage ¬q kann jetzt nicht
mehr mit ja“ beantwortet werden, tatsächlich folgt ja sogar ihre Negation.
2
”
Zunächst ist es interessant, festzuhalten, daß diese Probleme von der Vervollständigung
verursacht werden. Bei der logischen Folgerung ist die Unabhängigkeit von der Signatur
immer gegeben, selbst wenn man nicht bereichsbeschränkte Axiome zuläßt:
Satz 2.3.4: Seien Σ ⊆ Σ0 Signaturen, die zu jeder Sorte mindestens eine Konstante
enthalten, aber keine vordefinierten Prädikate. Sei weiter Φ eine Menge von Σ-Formeln
und ψ eine variablenfreie Σ-Formel. Dann gilt
Φ `Σ ψ ⇐⇒ Φ `Σ0 ψ
(Dabei bedeute Φ `Σ ψ, daß alle Σ-Herbrandmodelle von Φ auch Modelle von ψ sind.)
Beweis:
•
=⇒ “: Gelte nicht Φ `Σ0 ψ. Dann gibt es ein Σ0 -Herbrandmodell I 0 von Φ mit I 0 6|= ψ.
”
Sei I das Σ-Redukt von I 0 . Da Φ keine Existenzaussagen enthält, gilt I |= Φ (wäre ein
Σ-Grundbeispiel ϕ in I nicht erfüllt, so ist es natürlich auch nicht in I 0 erfüllt). Weil ψ
variablenfrei ist, hat es in I denselben Wahrheitswert wie in I 0 , d.h. I 6|= ψ.
•
⇐= “: Sei umgekehrt I ein Σ-Herbrandmodell von Φ mit I 6|= ψ. Dieses Herbrandmodell
”
muß nun zu einem Σ0 -Herbrandmodell I 0 erweitert werden. Die oben definierte StandardErweiterung eignet sich nur für bereichsbeschränkte Formeln. Hier kann man aber auch
einfach die neuen Konstanten als Synonyme für alte interpretieren. Sei also f : C 0 → C
eine Abbildung mit f (c) = c für alle c ∈ C (an dieser Stelle wird benötigt, daß es in Σ
eine Konstante jeder Sorte gibt, von der es in Σ0 Konstanten gibt). Dann sei I 0 das Σ0 Herbrandmodell mit
(c1 , . . . , cn ) ∈ I 0 [ p]] :⇐⇒ f (c1 ), . . . , f (cn ) ∈ I[[p]]
(diese Definition ist nur möglich, wenn p kein vordefiniertes Prädikat ist). Würde nun ein
Σ0 -Grundbeispiel ϕ einer Formel aus Φ in I 0 nicht erfüllt, so würde es nach Anwendung
42
KAPITEL 2. DEDUKTIVE DATENBANKEN
von f in I nicht erfüllt, im Widerspruch zur Voraussetzung. Die variablenfreie Formel ψ
wird wieder in I und I 0 gleich ausgewertet, also gilt I 0 6|= ψ.
2
Die beiden Einschränkungen sind auch wirklich nötig, wie man an Φ := {p(X), ¬p(X)}
bzw. Φ := {X = c} sieht: In beiden Fällen würde die Erweiterung auf Signaturen mit
mehr Konstanten nicht funktionieren. Natürlich treten diese Probleme bei bereichsbeschränkten Formeln nicht auf.
Warum ist die Situation im Zusammenhang mit Defaults nun so viel komplizierter?
Die einfachste Erklärung ist wohl, daß über die Default-Ausprägungen automatisch eine
Abhängigkeit von der Signatur entsteht — ∆∗ enthält ja die Grundbeispiele bezüglich der
jeweils betrachteten Signatur. Dadurch gilt nicht mehr, daß das Redukt eines intendierten
Modells auch ein intendiertes Modell ist, oder umgekehrt ein intendiertes Modell sich zu
einem intendierten Modell erweitern läßt. Das Problem sind hier die Konflikte zwischen
neuen und alten Default-Ausprägungen. Bereichsbeschränkte Axiome und Defaults haben
nun den Vorteil, daß sie für neue Konstanten auf jeden Fall gelten, sie können also keine
Konflikte verursachen.
Natürlich kann man aus der obigen Definition von Vervollständigung die SignaturUnabhängigkeit nicht herleiten, schon deshalb nicht, weil dies keine Anforderung an eine
einzelne Vervollständigung ist, diese basiert ja auf einer festen Signatur. Vielmehr ist dies
eine Anforderung an die Default-Semantik, die also einer Default-Spezifikation (∆, <) eine
Vervollständigung zuordnet.
Definition 2.3.5 (Unabhängig von der Signatur):
Eine Default-Semantik heißt
unabhängig von der Signatur, wenn für alle Signaturen Σ ⊆ Σ0 und alle Σ-DefaultSpezifikationen (∆, <) die zugeordneten Vervollständigungen `cΣ und `cΣ0 folgende Eigenschaft haben:
Φ `cΣ ψ ⇐⇒ Φ `cΣ0 ψ.
Natürlich möchte man diese Eigenschaft auch für syntaktische und modelltheoretische
Vervollständigungen formulieren. Hier werden nur hinreichende Kriterien angegeben, weil
diese einfacher sind:
Lemma 2.3.6: Sei Σ ⊆ Σ0 , sel eine modelltheoretische Σ-Vervollständigung und sel 0
eine Σ0 -Vervollständigung, die folgende Bedingungen erfüllt:
• Ist I ∈ sel Mod Σ (Φ) , so gibt es eine Erweiterung I 0 mit I 0 ∈ sel 0 Mod Σ0 (Φ) .
• Ist I 0 ∈ sel 0 Mod Σ0 (Φ) , so gilt für das Σ-Redukt I von I 0 : I ∈ sel Mod Σ (Φ) .
Dann gilt: Φ `sel ψ ⇐⇒ Φ `sel 0 ψ.
Beweis: Gilt Φ 6`sel ψ, so gibt es I ∈ sel Mod Σ (Φ) mit I 6|= ψ. Dazu gibt es nach der ersten
Bedingung eine Σ0 -Erweiterung I 0 ∈ sel 0 Mod Σ0 (Φ) , für die dann natürlich auch I 0 6|= ψ gilt.
Die umgekehrte Richtung folgt ebenso direkt aus der zweiten Bedingung.
2
2.3. ANFRAGEN UND ANTWORTEN
43
Lemma 2.3.7: Sei Σ ⊆ Σ0 und seien comp/comp 0 syntaktische Σ/Σ0 -Vervollständigungen, die folgende Bedingungen erfüllen:
• comp(Φ) = comp 0 (Φ) ∩ L+
Σ,
• comp(Φ) ∪ (∆∗Σ0 − ∆∗Σ ) ` comp 0 (Φ).
Dann gilt Φ `comp ψ ⇐⇒ Φ `comp 0 ψ.
Beweis: Gelte comp(Φ) 6`Σ ψ und sei I ein Σ-Herbrand-Modell von comp(Φ) mit I 6|= ψ. Sei I 0
eine Standard-Erweiterung von I auf Σ0 . Nach Lemma 2.1.20 erfüllt I 0 die Formeln aus ∆∗Σ0 −∆∗Σ ,
nach der zweiten Bedingung ist I 0 dann Modell von comp 0 (Φ). Also gilt comp 0 (Φ) 6`Σ0 ψ.
Gelte umgekehrt comp 0 (Φ) 6`Σ0 ψ und sei I 0 ein Σ0 -Herbrand-Modell von comp 0 (Φ). Nach
der ersten Bedingung ist I 0 dann auch Modell von comp(Φ). Da es sich um Allaussagen handelt,
ist auch das Σ-Redukt I von I 0 ein Modell von comp(Φ). Damit folgt aber comp(Φ) 6`Σ ψ. 2
Alle in Kapitel 5 vorgeschlagenen Default-Semantiken garantieren die Unabhängigkeit
von der Signatur. Der Grund hierfür ist, daß für die Entscheidung, welche Defaults angenommen werden, nur maximale konsistente Mengen von Default-Ausprägungen relevant
sind (bei diesen Semantiken). Diese Mengen bezüglich Σ0 sind aber gerade die Mengen bezüglich Σ vereinigt mit den neuen Default-Ausprägungen ∆∗Σ0 − ∆∗Σ . Alle diese
Default-Semantiken haben nun die Eigenschaft, daß so ein konstanter Anteil von DefaultAusprägungen keinen Einfluß auf die Auswahl der übrigen hat.
Endlichkeit der Antwortmenge
Die Menge der korrekten Antworten sollte immer endlich sein, denn von einer Datenbank wird erwartet, daß sie mengenorientiert arbeitet, d.h. insbesondere die Menge der
korrekten Antworten als Ganzes ausgibt. Das ist aber offensichtlich unmöglich, wenn
diese Menge unendlich ist. Ein Beispiel wären die folgenden (nicht bereichsbeschränkten)
Regeln, die die Menge der Zweierpotenzen definieren:
zweierPotenz (1).
zweierPotenz (X) ← zweierPotenz (Y ) ∧ X = Y + Y.
Die zweite Regel ist nicht bereichsbeschränkt, weil X nicht gebunden ist. Bei Prolog tritt
dieses Problem nicht auf, da hier immer nur eine Antwort auf einmal ausgegeben wird.
Außerdem sollten in den korrekten Antworten nur Konstanten vorkommen, die auch
in den Axiomen oder Defaults vorkommen. Dies impliziert natürlich sofort die erste Forderung (in den Axiomen und Defaults können ja nur endlich viele Konstanten vorkommen).
Definition 2.3.8 (Beschränkung der Antworten):
Eine Σ0 -Vervollständigung `c
erzeugt keine Antworten außerhalb von Σ0 , wenn für alle Signaturen Σ mit Σ0 ⊆ Σ ⊆ Σ0
und alle Σ-Axiomenmengen Φ, Σ-Anfragen ψ, Σ0 -Antwortsubstitutionen θ1 , . . . , θn gilt:
Φ `c ψθ1 ∨ · · · ∨ ψθn =⇒ Φ `c ψθ1 ∨ · · · ∨ ψθm ,
dabei seien θ1 , . . . , θm (m < n) die Substitutionen, die nur Σ-Konstanten enthalten.
44
KAPITEL 2. DEDUKTIVE DATENBANKEN
Die untere Schranke Σ0 ist nötig, weil auch die in den Defaults vorkommenden Konstanten
berücksichtigt werden müssen. So ist der Default p(c) natürlich stark bereichsbeschränkt,
denn er enthält ja keine Variablen. Aufgrund dieses Defaults ist aber die Antwort hX/ ci
auf die Anfrage p(X) möglich, selbst wenn c nicht in den Axiomen vorkommt.
Lemma 2.3.9: Sei sel eine modelltheoretische Σ0 -Vervollständigung, ∆ eine Σ0 ⊆ Σ0 Defaultmenge und gelte:
• Ist I1 ∈ sel (I) und I2 ∈ I mit δ ∈ ∆∗Σ0 I1 |= δ ⊆ δ ∈ ∆∗Σ0 I2 |= δ , so ist
I2 ∈ sel (I).
Dann erzeugt `sel keine Antworten außerhalb von Σ0 .
Beweis: Wäre ψθm+1 ∨ · · · ∨ ψθn in der Disjunktion nötig, so müßte es I1 ∈ sel Mod (Φ)
geben mit I1 6|= ψθi für i = 1, . . . , m. Sei nun folgende Σ-Formelmenge betrachtet:
Φ ∪ δ ∈ ∆∗Σ I1 |= δ
(hier wird benötigt, daß ∆ eine Σ0 ⊆ Σ-Formelmenge ist). Natürlich ist I1 ein Σ0 -Modell dieser
Formelmenge, und daher ist das Σ-Redukt I von I1 ein Σ-Modell. Sei nun I2 eine StandardErweiterung von I auf Σ0 . Dann gilt
δ ∈ ∆∗ 0 I1 |= δ ⊆ δ ∈ ∆∗ 0 I2 |= δ ,
Σ
Σ
denn von den Default-Ausprägungen aus ∆∗Σ erfüllt I2 dieselben wie I1 , und die übrigen Default
Ausprägungen ∆∗Σ0 − ∆∗Σ erfüllt I2 nach Lemma 2.1.20 alle. Also ist I2 ∈ sel Mod (Φ) .
Ebenfalls nach Lemma 2.1.20 gilt aber I2 6|= ψθj für j = m + 1, . . . , n (dies ist ja äquivalent
zu (I2 , θj ) 6|= ψ). Da I2 mit I1 auf Σ übereinstimmt gilt natürlich auch I2 6|= ψθi für i = 1, . . . , m.
Das bedeutet aber Φ 6`sel ψθ1 ∨ · · · ∨ ψθn .
2
Diese Eigenschaft wird in Kapitel 4 noch gründlicher untersucht (Eigenschaft SCD). Alle
in Kapitel 5 definierten Default-Semantiken haben diese Eigenschaft.
Lemma 2.3.10: Sei comp eine modelltheoretische Σ0 -Vervollständigung und ∆ eine
Σ0 ⊆ Σ0 -Defaultmenge mit:
• comp(Φ) − Φ ist äquivalent zu einer Menge von ∧/∨-Verknüpfungen von DefaultAusprägungen ∆∗Σ0 .
Dann erzeugt `comp keine Antworten außerhalb von Σ0 .
Beweis: Der Beweis verläuft ganz entsprechend zu dem von Lemma 2.3.9.
2
Hat man die Unabhängigkeit von der Signatur und diese Eigenschaft, so reicht es aus,
nur die Signatur Σ aus den in Φ und ∆ wirklich vorkommenden Symbolen zu betrachten
(anstelle der eigentlich vereinbarten Signatur Σ0 ). Antworten, die Konstanten aus Σ0 − Σ
enthalten, sind auf jeden Fall nicht minimal. Die Unabhängigkeit von der Signatur erlaubt
es, zur Überprüfung der Korrektheit der übrigen Antworten nur Σ zu betrachten.
Da Φ und ∆ endlich sind, ist Σ endlich. Dann ist aber auch die Menge aller HerbrandInterpretationen IΣ endlich. Dies erlaubt es etwa, jede Teilmenge I ⊆ IΣ durch eine
Formel th(I) zu beschreiben.
Im folgenden (Kapitel 4 und 5) werden daher nur noch endliche Signaturen betrachtet.
2.3. ANFRAGEN UND ANTWORTEN
45
Normalformsätze
Die meisten automatische Beweiser basieren auf der Resolutionsmethode und arbeiten
nur mit Klauseln. Deswegen ist es wichtig, allgemeine Axiomenmengen, Anfragen und
Defaults in eine Klauseldarstellung zu überführen.
Bei den Axiomenmengen ist dies kein Problem, die Klauseldarstellung ist ja logisch
äquivalent und Vervollständigungen müssen solche Äquivalenzumformungen zulassen. Bei
Anfragen und Defaults ist dagegen eine Erweiterung der Signatur erforderlich:
Definition 2.3.11 (Normalform): Seien eine Signatur Σ, eine Axiomenmenge Φ, eine
Anfrage ψ und eine Default-Spezifikation (∆, <) gegeben. Dann ist die Normalform dieser
Datenbank-Anwendung wie folgt bestimmt:
• Σ0 sei eine Erweiterung von Σ um neue Prädikate:
- answer (positiv bindend) mit Argumentsorten entsprechend den Ergebnisvariablen von ψ,
- default δ (negativ bindend) für jeden Default δ ∈ ∆, wobei die Argumentsorten
den in δ vorkommenden Variablen entsprechen.
• Φ0 sei die Erweiterung von Φ um folgende Formeln:
- answer (X1 , . . . , Xn ) ← ψ, dabei seien X1 , . . . , Xn die Ergebnisvariablen von ψ,
- δ ← default δ (X1 , . . . , Xn ), dabei seien X1 , . . . , Xn die Variablen in δ.
0
• ψ sei die Anfrage answer (X1 , . . . , Xn ).
• ∆0 bestehe aus default δ (X1 , . . . , Xn ) für jeden Default δ ∈ ∆.
• <0 sei definiert durch default δ1 (. . .) <0 default δ2 (. . .) :⇐⇒ δ1 < δ2 .
Natürlich kann man auch statt den Defaults default δ (X1 , . . . , Xn ) die typischen Negationen ¬blocked δ (X1 , . . . , Xn ) verwenden, die entsprechenden Axiome sind dann:
δ ← ¬blocked δ (X1 , . . . , Xn ).
In diesem Sinne ist es also keine echte Verallgemeinerung, beliebige Formeln als Defaults
zuzulassen und nicht nur Negationen.
Allerdings ist diese Normalformbildung hier nur ein Implementierungstrick, für den
Benutzer ist es schon übersichtlicher, allgemeine Formeln als Defaults verwenden zu
können. Diese Normalformbildung würde von dem Default
kann fliegen(X) ← vogel (X)
zu dem Axiom
kann fliegen(X) ← vogel (X) ← ¬blocked (X)
und dem Default ¬blocked (X) führen. Das Axiom ist äquivalent zu
kann fliegen(X) ← vogel (X) ∧ ¬blocked (X).
Es ist wohl schon eine Hilfe für den Entwerfer, wenn eine solche Umformung automatisch
geschieht.
46
KAPITEL 2. DEDUKTIVE DATENBANKEN
Außerdem darf man aus der Möglichkeit einer solchen Normalform nicht den voreiligen
Schluß ziehen, daß man mit dem hier vorgestellten Ansatz doch nichts gegenüber Prolog
gewonnen hat. So können hier die Axiome beliebige Gestalt haben, etwa
¬kann fliegen(X) ← pinguin(X).
Bei Prolog müßte man nun Resolutionsschritte vorab berechnen, um etwa auf
blocked (X) ← pinguin(X)
zu kommen (das ist im allgemeinen nicht so einfach wie in diesem Beispiel, siehe [GL89]).
Man muß sich beim Aufschreiben dieser Regel also über den Konflikt zu dem Default
bewußt sein, während die Aussage Pinguine können nicht fliegen“ auch unabhängig von
”
dem Default Sinn macht.
Schließlich beachte man noch, daß diese Normalform nicht für beliebige Prädikate
Negationen annimmt. Auch dies ist ein Unterschied zu einfachen Negations-Semantiken.
Definition 2.3.12 (Erlaubt Normalformbildung): Eine Default-Semantik erlaubt
die Normalformbildung, wenn für alle Σ, Φ, ψ, ∆, < mit Normalform Σ0 , Φ0 , ψ 0 , ∆0 , <0 und
alle Σ-Grundsubstitutionen θ1 , . . . , θk (für die Ergebnisvariablen von ψ bzw. ψ 0 ) gilt:
Φ `cΣ,∆,< ψθ1 ∨ · · · ∨ ψθk ⇐⇒ Φ0 `cΣ0 ,∆0 ,<0 ψ 0 θ1 ∨ · · · ∨ ψ 0 θk .
Alle in Kapitel 5 behandelten Default-Semantiken außer der starken CWA erlauben die
Normalformbildung. Der Grund hierfür ist, daß die Default-Semantiken eigentlich gar
nicht die Struktur der Axiome und der Defaults betrachten oder gar die Namen der
Prädikate. Es ist einzig und allein wichtig, welche Mengen von Default-Ausprägungen
konsistent angenommen werden können. Falls diese Mengen nun isomorph sind (wie es
die obige Normalformbildung gerade garantiert), dann verhält sich die Default-Semantik
im wesentlichen auch gleich.
Technisch ist das allerdings ziemlich aufwendig zu formalisieren und wird hier nur für
modelltheoretische Vervollständigungen durchgeführt. Für syntaktische Vervollständigungen gilt eine ganz entsprechende Aussage.
Definition 2.3.13 (Ähnliche Modellmengen): Seien (∆1 , <1 ) und (∆2 , <2 ) DefaultSpezifikationen über Σ1 und Σ2 und f : ∆∗1 → ∆∗2 eine bijektive Abbildung mit
δ <1 δ 0 ⇐⇒ f (δ) <2 f (δ 0 ).
Zwei Mengen I1 und I2 von Σ1 - und Σ2 -Interpretation heißen f -ähnlich, wenn
• für alle I1 ∈ I1 gibt es I2 ∈ I2 mit f (δ1 ) δ1 ∈ ∆∗1 , I1 |= δ1 ⊆ δ2 δ2 ∈ ∆∗2 , I2 |= δ2 ,
• für alle I2 ∈ I2 gibt es I1 ∈ I1 mit f (δ1 ) δ1 ∈ ∆∗1 , I1 |= δ1 ⊇ δ2 δ2 ∈ ∆∗2 , I2 |= δ2 .
Definition 2.3.14 (rational):
Eine Default-Semantik heißt rational, wenn für alle
Default-Spezifikationen (∆1 , <1 ) über Σ1 und (∆2 , <2 ) über Σ2 , die zugehörigen modelltheoretischen Vervollständigungen sel 1 und sel 2 , und alle I1 ⊆ IΣ1 und I2 ⊆ IΣ2 folgendes
gilt:
2.3. ANFRAGEN UND ANTWORTEN
47
Wenn für ein f die Mengen I1 und I2 f -ähnlich
sind, dann gilt für alle I1 ∈ I1
∗
und I2 ∈ I2 mit f (δ1 ) δ1 ∈ ∆1 , I1 |= δ1 ⊆ δ2 δ2 ∈ ∆∗2 , I2 |= δ2 :
I1 ∈ sel 1 (I1 ) =⇒ I2 ∈ sel 2 (I2 ).
Satz 2.3.15: Ist eine Default-Semantik rational, so erlaubt sie die Normalformbildung.
Beweis: Die bijektive Abbildung zwischen den Default-Ausprägungen sei
f (δθ) := default δ (X1 , . . . , Xn )θ.
Man kann nun leicht aus jedem Σ-Modell I von Φ eine Σ0 -Modell I 0 von Φ0 machen, das die
bezüglich f entsprechenden Default-Ausprägungen erfüllt. Dazu definiert man
I 0 [ default δ ] := (c1 , . . . , cn ) I |= δhX1 / c1 , . . . , Xn / cn i ,
I 0 [ answer ] := (c1 , . . . , cn ) I |= ψhX1 / c1 , . . . , Xn / cn i .
Umgekehrt erfüllt das Σ-Redukt I eines Modells I 0 von Φ0 mindestens die bezüglich f −1 entsprechenden Default-Ausprägungen, denn Φ0 enthält die Formeln
δ ← default δ (X1 , . . . , Xn ).
Damit ist die Voraussetzung der obigen Bedingung erfüllt.
Gelte Φ 6`sel ψθ1 ∨ · · · ∨ ψθk . Dann gibt es also I ∈ sel Mod (Φ) mit I 6|= ψθ1 ∨ · · · ∨ ψθk .
Das oben konstruierte Modell I 0 von Φ0 erfüllt gerade die f -entsprechenden Defaults, es ist also
nach der obigen Bedingung ein intendiertes Modell von Φ0 . Nach der Konstruktion gilt natürlich
I 0 6|= ψ 0 θ1 ∨ · · · ∨ ψ 0 θk , damit folgt Φ0 6`sel 0 ψ 0 θ1 ∨ · · · ∨ ψ 0 θk .
Gelte umgekehrt Φ0 6`sel 0 ψ 0 θ1 ∨ · · · ∨ ψ 0 θk und sei I 0 das entsprechende intendierte Modell.
Das Σ-Redukt I von I 0 erfüllt mindestens dieselben Defaults (unter f −1 ), ist also ein intendiertes
Modell von Φ. Außerdem enthält Φ0 die Formel
answer (X1 , . . . , Xn ) ← ψ.
Wegen I 0 6|= ψθ1 ∨ · · · ∨ ψθk gilt I 6|= ψθ1 ∨ · · · ∨ ψθk und damit Φ 6`sel ψθ1 ∨ · · · ∨ ψθk .
2
Integritätsbedingungen
Zum Abschluß dieses Kapitels sollen noch einige informale Bemerkungen zu Integritätsbedingungen gemacht werden, da sie zwar zu deduktiven Datenbanken dazugehören, aber
im weiteren Verlauf dieser Arbeit nicht wichtig sind.
Integritätsbedingungen sind Formeln, die die zulässigen Axiomenmengen (und Defaults) einschränken sollen, so daß Fehler erkannt werden. Der Maßstab für Fehler sind
dabei die möglichen Zustände der realen Welt. Wenn die Datenbank etwa Geburts- und
Todesjahr historischer Persönlichkeiten enthält, dann sollte die Differenz nicht-negativ
und kleiner als 120 sein. Manche Integritätsbedingungen werden auch erst durch Einschränkungen bei den angebotenen Datenstrukturen nötig. So hat etwa jede Person genau
eine Blutgruppe. Dies ließe sich direkt mit einem (nicht-generierenden) Funktionssymbol
formulieren. Hier muß man jedoch ein zweistelliges Prädikat und passende Integritätsbedingungen verwenden.
48
KAPITEL 2. DEDUKTIVE DATENBANKEN
Für die Erfüllung von Integritätsbedingungen gibt es verschiedene Formalisierungen:
Erstens kann man sie einfach in die Axiomenmenge Φ einfügen, deren Konsistenz ja
ohnehin als überwacht vorausgesetzt ist.
Zweitens kann man fordern, daß die Integritätsbedingungen mit der Axiomenmenge Φ
konsistent sind. Dies bewirkt einerseits, daß die Integritätsbedingungen nicht bei der
Anfragebearbeitung genutzt werden. Das ist nicht besonders wünschenswert, da es sich
ja um zusätzliches Wissen“ in der deduktiven Datenbank handelt, was natürlich auch
”
abfragbar sein sollte. Andererseits werden nur die Axiome überwacht, die Defaults können
aber durchaus gegen die Bedingungen verstoßen. Aus diesen beiden Gründen ist die erste
Lösung vorzuziehen.
Drittens kann man verlangen, daß die Integritätsbedingungen mit der Vervollständigung comp(Φ) der Axiomenmenge konsistent sind. Das bedeutet, daß die Menge der
korrekten Antworten auf die Negation der Integritätsbedingungen leer sein sollte. So läßt
sich etwa eine Fremdschlüsselbedingung aufgrund der Einschränkung auf quantorenfreie
Formeln nicht als Axiom formulieren, wohl aber als Anfrage:
bestellung(X, Y ) ∧ ¬angebot(X).
Dies liefert alle Aufträge über Waren, die gar nicht angeboten werden.
Viertens kann man auch fordern, daß die Integritätsbedingungen als Anfrage mit ja“
”
beantwortet werden, also vervollständigt impliziert werden. Das Problem ist dabei, daß
Integritätsbedingungen typischerweise Allaussagen sind, als Anfragen aber gerade nur
Existenzaussagen zulässig sind. Wäre aber eine Anfrage der Form
∀X, Y bestellung(X, Y ) → angebot(X)
erlaubt, so wäre sie im Fall von unvollständiger Information eine strengere Einschränkung
als die dritte Formalisierung. Hier wird bei unvollständiger Information angenommen, daß
die Integritätsbedingung verletzt ist, während oben im Zweifelsfall davon ausgegangen
wird, daß sie erfüllt ist. Mit neuen Prädikaten und entsprechenden Vervollständigungen
ist aber wohl eine Umrechnung zwischen beiden Formalisierungen möglich.
Der Unterschied zur ersten Lösung ist, daß sich dort die Defaults automatisch an
die Integritätsbedingungen anpassen, während sie beim dritten und vierten Vorschlag zu
einer Integritäts-Verletzung führen können.
Neben den hier betrachteten statischen Integritätsbedingungen, die sich auf jeden
einzelnen Zustand der Datenbank beziehen, gibt es auch dynamische oder temporale Integritätsbedingungen, die Zustandsübergänge bzw. Zustandsfolgen einschränken [Lip89].
Dort wird auch auf die Überwachung von Integritätsbedingungen mittels entsprechend
angepaßter Transaktionen eingegangen. Für einen Vorschlag zur direkten Überwachung
statischer Integritätsbedingungen sei etwa auf [BDM88, GL90] verwiesen.
Kapitel 3
Anwendungsbeispiele
In diesem Kapitel werden einige Anwendungsbeispiele besprochen. Das Ziel ist, die
Brauchbarkeit allgemeiner Defaults zu motivieren, und zu zeigen, wie sie in konkreten
Anwendungen gewählt würden. So wird am Beispiel schon die Semantik der Defaults
geklärt, die dann in späteren Kapiteln formal definiert wird. Damit hat man einen Maßstab für die Korrektheit dieser Definition — es sollten ja mindestens die Beispiele so
behandelt werden, wie es hier intuitiv richtig erscheint.
Es wird sich aber auch zeigen, daß die Anforderungen manchmal widersprüchlich
sind, es also verschiedene Semantiken für Defaults geben kann. Dies motiviert den hier
verfolgten Ansatz, einen Überblick über alle möglichen Semantiken anzustreben.
In diesem Kapitel werden auch Anwendungen betrachtet, die üblicherweise in anderen Logiken spezifiziert werden, etwa dynamischen oder objekt-orientierten. Hier wird
natürlich eine Fassung in der aus Kapitel 2 bekannten Logik zugrunde gelegt, aber es
wird damit zumindest angedeutet, daß sich die Ergebnisse dieser Arbeit auch auf andere
Logiken übertragen lassen. Teilweise handelt es sich nur um syntaktischen Zucker“, der
”
in praktischen Spezifikationen sehr wichtig ist, aber leicht mechanisch entfernt werden
kann.
3.1
Implizite Negation
Die klassische Verwendung von Defaults ist die implizite Negation, die also auf Defaults
der folgenden Form basiert:
¬p(X1 , . . . , Xn ).
Im Datenbankbereich wurden solche Defaults erstmals verwendet, als man feststellte, daß
sich bei der Auffassung einer relationalen Datenbank als Menge von Formeln ( Theorie”
Ansatz“) Unterschiede zum üblichen Modell-Ansatz ergaben. Hier waren die betrachteten
Axiome zunächst Fakten, die dann auf Hornklauseln und Klauseln mit stratifizierter Negation erweitert wurden. In allen diesen Fällen gibt es bis auf Isomorphie nur ein intendiertes
Modell, d.h. für jede Formel ψ gilt, daß entweder ψ oder ¬ψ vervollständigt folgen. Die
repräsentierte Information ist dann also vollständig.
49
50
KAPITEL 3. ANWENDUNGSBEISPIELE
Im Datenbankbereich gibt es aber seit langem den Wunsch, auch unvollständige Information darstellen zu können, etwa mit Hilfe von Nullwerten. Es ist sicher einer der
Vorteile des Theorie-Ansatzes, daß sich hier verschiedene Arten von unvollständiger Information auf einfache Weise beschreiben lassen. Natürlich muß die Semantik der NegationsDefaults entsprechend angepaßt werden, und es wird sich zeigen, daß die verschiedenen
Beispiele hier unterschiedliche Semantiken verlangen.
Faktenmengen und Hornklauseln
Beispiel 3.1.1: Eine relationale Datenbank kann als Menge von Fakten verstanden
werden. Dies wurde schon in der Einleitung am Beispiel einer Auftrags-Relation gezeigt:
bestellung
kunde
meier
schmidt
schmidt
ware
taschenlampe
radio
batterien
Sie entspricht der Menge Φ mit folgenden Axiomen:
bestellung(meier , taschenlampe),
bestellung(schmidt, radio),
bestellung(schmidt, batterien).
Es sei nun nach den Kunden gefragt, die eine Taschenlampe ohne die zugehörigen Batterien bestellt haben, d.h. ψ ist folgende Formel:
bestellung(X, taschenlampe) ∧ ¬bestellung(X, batterien).
Natürlich ist die Antwort hX / meier i intuitiv korrekt. Dazu müßte für die verwendete
Vervollständigung insbesondere
Φ `c ¬bestellung(meier , batterien)
gelten. Da eine Vervollständigung mindestens die logischen Folgerungen liefern muß, gilt
natürlich Φ `c bestellung(meier , taschenlampe). Die Formel ψhX/ meier i folgt dann, weil
`c unter ∧ abgeschlossen ist.
2
Das in diesem Beispiel gewünschte Verhalten läßt sich natürlich leicht auf beliebige Faktenmengen Φ verallgemeinern: Offenbar ist die Intuition, daß Grundliterale ausgewertet
werden sollen, indem in den Tabellen nachgeschaut wird. Die intendierte Vervollständigung ist also:
comp(Φ) := Φ ∪ {¬ϕ | ϕ ist ein positives Grundliteral mit ϕ 6∈ Φ}.
Dies ist ein Spezialfall der originalen CWA, die 1978 von Raymond Reiter vorgeschlagen
wurde:
cwa orig (Φ) := Φ ∪ {¬ϕ | ϕ ist ein positives Grundliteral mit Φ 6` ϕ}.
Sie funktioniert für Mengen von Hornklauseln:
3.1. IMPLIZITE NEGATION
51
Beispiel 3.1.2: Im obigen Beispiel könnte man etwa die Menge der bestellten Waren
folgendermaßen definieren:
bestellt(X) ← bestellung(Y, X).
Seien außerdem die angebotenen Waren in einer Relation angebot abgespeichert:
angebot(taschenlampe), angebot(batterien), angebot(radio), angebot(fernseher ).
Man kann nun etwa nach den Waren fragen, die nicht bestellt sind:
angebot(X) ∧ ¬bestellt(X).
Hier muß die Vervollständigung das negative Grundliteral ¬bestellt(fernseher ) liefern. 2
Man kann die originale CWA leicht auf beliebige Defaults erweitern:
cwa naiv (Φ) := Φ ∪ {δ ∈ ∆∗ | Φ 6` ¬δ}.
Auf diese Art wird also ganz direkt formalisiert, daß ein Default angenommen werden soll, wenn keine gegenteilige Information vorliegt. Besteht ∆ aus den Formeln der
Form ¬p(X1 , . . . , Xn ) für jedes Prädikat p, so erhält man gerade die originale CWA.
Diese Default-Semantik ist allerdings noch etwas naiv. Sie zerstört die Konsistenz
genau dann, wenn es Konflikte zwischen Defaults gibt, d.h. wenn es δ1 , . . . , δn ∈ ∆∗ gibt
mit Φ ` ¬δ1 ∨ · · · ∨ ¬δn , n ≥ 2 und Φ 6` ¬δi für i = 1, . . . , n. Im Fall von Hornklauseln und
Negations-Defaults kann dies nicht geschehen, denn der Schnitt“ zweier Herbrandmodelle
”
ist wieder ein Modell, d.h. wenn zwei negative Grundliterale einzeln angenommen werden
können, so können sie auch gemeinsam angenommen werden.
Stratifizierte Negation
Beispiel 3.1.3: Es sei das Mittagessen für die Teilnehmer einer Tagung zu planen:
teilnehmer (meier ), teilnehmer (schmidt), . . . , vegetarier (schmidt).
Natürlich kann man die Anfrage stellen, welche der Teilnehmer keine Vegetarier sind:
teilnehmer (X) ∧ ¬vegetarier (X).
Wenn man die Negation also in Anfragen verwenden darf, möchte man sie natürlich ganz
entsprechend in den Regeln einsetzen können:
normalkost(X) ← teilnehmer (X) ∧ ¬vegetarier (X).
Das Problem ist nun, daß die Regel logisch äquivalent ist zu
normalkost(X) ∨ vegetarier (X) ← teilnehmer (X)
und sogar zu
vegetarier (X) ← teilnehmer (X) ∧ ¬normalkost(X).
Die intendierte Semantik ist dagegen nicht symmetrisch in den beiden Prädikaten. Es soll
etwa ¬vegetarier (meier ) angenommen werden und nicht ¬normalkost(meier ), obwohl
52
KAPITEL 3. ANWENDUNGSBEISPIELE
beides (einzeln) möglich wäre. Man kann dies auch so verstehen, daß die Intention des
Benutzers hier ist, das Prädikat normalkost zu definieren. Dagegen soll die Semantik des
Prädikates “vegetarier ” durch diese Regel nicht verändert werden.
Dies ist aber eine Entwurfsentscheidung. Würde es mehr Vegetarier geben, so wäre
es günstiger, die Teilnehmer mit Normalkost explizit abzuspeichern und die Regel in der
anderen Richtung zu benutzen.
2
In Kapitel 2 wurde gefordert, daß Vervollständigungen logisch äquivalente Axiome gleich
behandeln sollen. Es genügt daher nicht, diese Entwurfsentscheidung nur durch die
Schreibweise der Regel zum Ausdruck zu bringen.
Hier hilft die Einführung von Prioritäten zwischen den Defaults: Man möchte ja, daß
im Zweifelsfall ¬vegetarier (X) angenommen wird, und nicht ¬normalkost(X). Der erste
Default hat also eine höhere Priorität.
Man kann dies auch so verstehen, daß die Vervollständigung stufenweise berechnet
wird. Zunächst werden die Defaults der Form ¬vegetarier (X) angenommen, soweit dies
möglich ist, und erst danach bekommen die Defaults der Form ¬normalkost(X) ihre
Chance. Dies entspricht der Vorstellung, daß die Regel
normalkost(X) ← teilnehmer (X) ∧ ¬vegetarier (X)
das Prädikat vegetarier benutzt, um das Prädikat normalkost zu definieren. Also sollte
das benutzte Prädikat zuerst berechnet“ werden (durch Anwendung der Defaults). Wenn
”
man also die Prioritäten aus der Schreibweise der Regeln ableiten will, so muß man den
benutzten Prädikaten jeweils eine höhere Priorität (kleinerer `-Wert) geben.
In dieser strengen Form könnte man nur hierarchische Klauselmengen behandeln, ein
rekursiv definiertes Prädikat, das sich also selbst benutzt, wäre verboten. Hier hilft die
Erkenntnis, daß es wie bei den Hornklauseln keine Konflikte zwischen Negations-Defaults
gibt, solange das Prädikat nicht negativ von sich selbst abhängt. Die allgemeine Regel ist
also, daß bei einer Regel der Form
p(. . .) ← q1 (. . .) ∧ · · · ∧ qn (. . .) ∧ ¬r1 (. . .) ∧ · · · ∧ rm (. . .)
` ¬qi (. . .) ≤ ` ¬p(. . .) und ` ¬ri (. . .) < ` ¬p(. . .) gelten muß. Falls solche Prioritätsstufen für eine Regelmenge Φ konsistent vergeben werden können, heißt Φ stratifiziert.
Für stratifizierte Regelmengen ist eine stufenweise Version der naiven CWA die intendierte Semantik.
cwa 0 (Φ) := Φ
cwa i (Φ) := cwa i−1 (Φ) ∪ δ ∈ ∆∗ `(δ) = i, cwa i−1 (Φ) 6` ¬δ .
Es werden hier also zunächst die Defaults der höchsten Prioritätsstufe 1 angenommen,
dann die der Stufe 2 und so weiter.
Indem man die Prioritäten auf diese Weise aus der Schreibweise der Regeln ableitet, hat man natürlich die Einschränkung umgangen, daß Vervollständigungen äquivalente Axiomenmengen gleich behandeln müssen: Durch unterschiedliche Schreibweisen
bekommt man hier verschiedene Prioritäten, die dann auch verschiedene Vervollständigungen liefern.
3.1. IMPLIZITE NEGATION
53
Es handelt sich dabei aber nicht nur um einen Trick zur Behandlung derartiger Beispiele. Man hat vielmehr jetzt die in den Regeln verborgene Zusatzinformation explizit
gemacht, so daß nun wieder beliebige logische Umformungen zulässig sind. Außerdem
hat diese Zusatzinformation auch eine natürliche Interpretation als Import“-Beziehung
”
zwischen den verschiedenen Prädikat-Definitionen.
Beispiel 3.1.4: Es sind allerdings nicht alle Axiomenmengen stratifiziert. Folgende
Regel würde etwa beim Nim-Spiel die Spielzustände beschreiben, bei denen der Gewinn
erzwungen werden kann:
gewinn(X) ← zug(X, Y ) ∧ ¬gewinn(Y ).
Bei diesem Spiel nehmen die beiden Spieler abwechselnd 1 oder 2 Streichhölzer aus einem
Vorrat von anfangs z.B. 7 Hölzern. Verloren hat, wer keinen Zug mehr machen kann (weil
keine Hölzer übrig sind).
Bei diesem Beispiel müssen die Default-Instanzen ¬gewinn(n) umso höhere Priorität
haben, je kleiner n (die Anzahl noch verbliebener Streichhölzer) ist. Dann kann man also
zunächst ¬gewinn(0) annehmen, dies impliziert gewinn(1) und gewinn(2). Als nächsten
Default kann man dann ¬gewinn(3) annehmen, und so weiter.
Das Problem bei diesem Beispiel ist, daß das Wissen über die richtigen Prioritäten in
dem Prädikat zug verborgen ist, also nicht über eine einfache syntaktische Analyse der
Regeln ermittelt werden kann.
2
In der logischen Programmierung sind eine ganze Reihe von Negations-Semantiken entwickelt worden, die dieses und ähnliche Beispiele direkt behanden können, etwa [VGRS91].
Allerdings ist bei diesem Beispiel wichtig, daß zug keine Zyklen enthält, sonst zerstören
auch diese Semantiken die Konsistenz oder liefern nur ein partielles (dreiwertiges) Modell.
Bei deduktiven Datenbanken sind nun Änderungen der Fakten recht häufig. In diesem
Beispiel könnte man durch eine Einfügung in zug einen Zustand erreichen, bei dem die
Negationssemantik zusammenbricht. Aus diesem Grund scheint es bei deduktiven Datenbanken im Unterschied zu logischen Programmen besser, die Steuerungsinformation
getrennt vom logischen Inhalt zu formulieren. Bei deduktiven Datenbanken ist die Einschränkung auf stratifizierte Formelmengen also üblich. Anfragen der Relationenalgebra
an Faktenmengen kann man sogar in hierarchische (d.h. nicht-rekursive) Formelmengen
übersetzten.
Disjunktive Information
Beispiel 3.1.5: In einem Expertensystem zur Fehlerdiagnose von Computern könnte
man etwa schließen: Wenn die Versorgungsspannung fehlt, sind die Sicherungen durch”
gebrannt oder das ist Netzteil defekt“ (möglicherweise auch beides).
defekt(sicherung) ∨ defekt(netzteil ) ← symptom(keine versorgungsspannung).
54
KAPITEL 3. ANWENDUNGSBEISPIELE
Die originale CWA würde hier ¬defekt(sicherung) und ¬defekt(netzteil ) annehmen (denn
es folgt ja weder defekt(sicherung) noch defekt(netzteil )). Damit wird natürlich die Konsistenz zerstört.
Zunächst kann man es natürlich als zu optimistisch ansehen, überhaupt NegationsDefaults für defekt anzunehmen. Das bestärkt natürlich den hier verfolgten Ansatz, daß
Defaults Gegenstand des Datenbankentwurfs sein sollten, und nicht fest in die Anfragebeantwortung eingebaut.
In diesem Beispiel wäre es allerdings sehr unökonomisch, jedes Teil prüfen zu wollen,
wenn man den Fehler schon soweit lokalisiert hat, daß die Versorgungsspannung ausgefallen ist. Weiß man dagegen nur, daß der Computer defekt ist, so hat man eine große
Disjunktion
defekt(cpu) ∨ defekt(hauptspeicher ) ∨ · · · ∨ defekt(tastatur ).
Diese Disjunktion sollte die Anwendung der betreffenden Negations-Defaults verhindern,
aber nur, solange man nicht gleichzeitig spezifischere Informationen hat. Dies ist ein
wesentlicher Unterschied zu Semantiken disjunktiver logischer Programme [RT88], die
einfach alle entsprechenden Negations-Defaults blockieren, wenn syntaktisch eine solche
Disjunktion aufgeschrieben ist.
Natürlich wäre es in diesem Beispiel wohl noch realistischer, wenn man auch typische
Folgefehler berücksichtigen würde. Wenn man etwa erzwingen möchte, daß die Sicherungen überprüft werden, wenn das Netzteil defekt war, so könnte man folgenden Default
verwenden:
defekt(sicherung) ← defekt(netzteil ).
Dies ist natürlich nur ein Default, es ist auch möglich, daß das Netzteil defekt ist, ohne
daß die Sicherungen in Mitleidenschaft gezogen wurden. Aber dieser Default steht im
Konflikt mit ¬defekt(sicherung), so daß sich die beiden Defaults gegenseitig blockieren
(falls das Netzteil defekt ist).
Damit wurde jetzt erstmals der Bereich der reinen Negations-Defaults verlassen. Bei
der Fehler-Diagnose gibt es noch viele weitere solcher Faustregeln, die sich sehr natürlich
als Defaults formulieren lassen.
2
In diesem Beispiel möchte man also diejenigen Negations-Defaults annehmen, die nicht
an einer minimalen positiven Grundklausel beteiligt sind, die aus den Axiomen Φ folgt
(minimal in dem Sinne, daß keine Teilklausel auch aus Φ folgt). Dies liefert gerade
die GCWA [Min82]. Die Verallgemeinerung der GCWA auf beliebige Defaults ist die
vorsichtige CWA, die in Kapitel 5 behandelt wird.
Dies ist aber nicht die einzige 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, Y1 , Y2 ) ∧ blutgruppe(Y1 , a) ∧ blutgruppe(Y2 , 0 ).
3.1. IMPLIZITE NEGATION
55
Haben die Eltern die Blutgruppen a und 0 , so kann auch das Kind nur eine dieser Blutgruppen haben.
Falls für eine Person X, etwa anton, die Voraussetzungen erfüllt sind, so können
natürlich die beiden Negations-Defaults ¬blutgruppe(anton, a) und ¬blutgruppe(anton, 0 )
nicht angenommen werden (es sei denn, man hätte genauere Information über die Blutgruppe von anton). Es ist aber durchaus möglich und wünschenswert, ihre Disjunktion
anzunehmen:
¬blutgruppe(anton, a) ∨ ¬blutgruppe(anton, 0 ).
Damit wird aus dem oder“ also ein exklusives oder“.
”
”
2
Bei diesem Beispiel könnte man natürlich anstelle der Defaults einfach die Schlüsselbedingung
blutgruppe(X, Y1 ) ∧ blutgruppe(X, Y2 ) → Y1 = Y2
verwenden (jede Person hat genau eine Blutgruppe). Bei dem nächsten Beispiel ist dies
anders:
Beispiel 3.1.7:
Auch Vorschriften enthalten häufig disjunktive Information. Wenn
man etwa abspeichert, welche Übungsscheine welche Studenten gemacht haben, so ist ein
Negations-Default angemessen:
schein(anton, programmieren 1 ), schein(anton, algebra), . . .
Hier würde eine Schlüssel-Bedingung also schon nicht mehr anwendbar sein.
Die Vordiploms-Ordnung kann jetzt verlangen, daß ein Schein für das Programmierpraktikum in Modula oder das in Assembler erworben wird:
schein(X, prakt modula) ∨ schein(X, prakt assembler ) ← vordiplom(X).
Hier ist die Disjunktion
¬schein(anton, prakt modula) ∨ ¬schein(anton, prakt assembler )
natürlich sehr wahrscheinlich.
2
Natürlich könnte man zunächst auf die Idee kommen, daß der Datenbankentwerfer eben
entsprechende disjunktive Defaults explizit aufschreiben sollte. Dies wäre jedoch mindestens sehr umständlich, im allgemeinen kann man die Länge der benötigten Disjunktionen
auch gar nicht vorhersehen (weil sie abhängig von später eingefügten Fakten ist). Daher
erscheint es sinnvoll, daß die Default-Semantik dem Entwerfer diese Arbeit abnimmt.
Tatsächlich gibt es auch eine sehr natürliche Semantik mit dieser Eigenschaft, und
zwar die minimalen Modelle“ [McC80]. Ziel der Negations-Defaults ist ja, daß die In”
terpretation der Prädikate keine überflüssigen Tupel enthalten, also minimal sind in dem
Sinn, daß ohne Verletzung der Axiome keine Tupel herausgenommen werden können.
Die minimalen Modelle und ihre Verallgemeinerung auf beliebige Defaults werden noch
ausführlich in Kapitel 5 untersucht.
56
KAPITEL 3. ANWENDUNGSBEISPIELE
Unvollständige Relationen und unsichere Information
Eine Tabelle (d.h. eine Menge von Fakten) kann auch so unvollständig sein, daß man sich
auf rein logische Folgerungen beschränken möchte (im Gegensatz zu der obigen Annahme,
daß jedes nicht explizit aufgeführte Faktum auch nicht gilt):
Beispiel 3.1.8:
auftreten:
Dieser Fall kann etwa bei einem unvollständigen Telefonverzeichnis
Φ := {telefon(anton, 1111), telefon(berta, 2222)}.
Hier sollte natürlich nicht ¬telefon(cäsar, 3333) folgen, denn es kann nicht ausgeschlossen
werden, daß cäsar wirklich diese Telefonnummer hat.
Allerdings ist auch bei einer so unvollständigen Telefonliste die rein logische Folgerung
nicht unbedingt die beste Vervollständigung. So wäre bei der Anfrage telefon(anton, 3333)
die Antwort nein“ intuitiv korrekt, die logische Folgerung würde aber unbekannt“ lie”
”
fern. Der Grund ist, daß man nicht explizit vermerkt hat, daß eine Person nur eine
Telefonnummer hat. Natürlich könnte man eine solche Schlüsselbedingung hinzufügen,
dann wäre es aber unmöglich, mehrere Telefonnummern für eine Person einzutragen (etwa
dienstlich/privat). Die Lösung ist, daß man die Schlüsselbedingung nicht als Axiom, sondern als Default formuliert:
telefon(X, Y1 ) ∧ telefon(X, Y2 ) → Y1 = Y2 .
Umgekehrt gehört zu einer Telefonnummer meist auch nur eine Person, obwohl es auch
hier Ausnahmen gibt (Angehörige derselben Familie).
2
Beispiel 3.1.9: Wenn man über ein Prädikat nur logische Folgerungen zulassen möchte,
ergeben sich manchmal Schwierigkeiten im Zusammenspiel mit Defaults über andere
Prädikate. Angenommen, man erweitert das Telefonverzeichnis um Vorwahlnummern
telefon(anton, 011, 1111), telefon(berta, 022, 2222)
und definiert dann, wer außerhalb wohnt:
außerhalb(X) ← telefon(X, Y1 , Y2 ) ∧ Y1 6= 011.
Nimmt man nun Negations-Defaults über außerhalb an, so folgt mit dieser Regel
¬telefon(cäsar, 022, 3333).
Abhilfe verschaffen hier die zunächst vielleicht sinnlos erscheinenden Defaults
telefon(X, Y1 , Y2 ), ¬telefon(X, Y1 , Y2 ).
Diese Defaults blockieren sich natürlich gegenseitig, aber sie blockieren auch jeden anderen
Default, der neue Information über telefon liefern würde.
2
Diese Technik kann man allgemein benutzen, um eine Art Modularisierung zu erreichen.
Wenn etwa ein Modul A das Modul B benutzt, so kann man den Defaults über B höchste
Priorität geben, dann eine Schicht von solchen blockierenden Defaults einziehen, und
anschließend die Defaults von A verwenden. Auf diese Art wird verhindert, daß die
3.1. IMPLIZITE NEGATION
57
Defaults von A irgendwelche Rückwirkungen auf die Prädikate von B haben können, das
benutzende und das definierende Vorkommen ist hier klar getrennt.
Natürlich kann man mit dieser Technik nicht verhindern, daß Axiome in A neue Information über die Prädikate von B liefern. Das kann man aber durch entsprechende syntaktische Einschränkungen erreichen, wie etwa, daß jedes Axiom in A ein positives Literal
mit einem Prädikat aus A enthalten muß. Dann kann jedes Modell der Prädikate aus B
zu einem Modell aller Prädikate erweitert werden. Diese syntaktische Einschränkung ist
ganz üblich. Typischerweise sind es nur die Negations-Defaults, die die Anwendung der
Kontraposition einer Regel gestatten.
Beispiel 3.1.10:
Es kommt auch vor, daß man zwar Negations-Defaults über eine
Relation annehmen möchte, sie aber für bestimmte Ausnahmetupel blockieren muß.
So könnte etwa dora früher die Telefonnummer 4444 gehabt haben, aber sie hat immer
davon gesprochen, daß sie ihr Telefon eigentlich abmelden wollte. Also sollte man die
Anfrage telefon(dora, 4444) mit unbekannt“ beantworten, für jede andere Telefonnummer
”
sollte jedoch ein Negations-Default angenommen werden.
Hat man nur diese eine Ausnahme, so kann man einfach den Default
telefon(dora, 4444)
verwenden, um die Ausprägung ¬telefon(dora, 4444) des allgemeinen Negations-Defaults
¬telefon(X, Y ) zu neutralisieren.
Gibt es mehr Ausnahmen, so kann man sie in einer Relation unsichere nummer abspeichern und dann die Default-Regel
telefon(X, Y ) ← unsichere nummer (X, Y )
verwenden. Wieder blockieren sich die Defaults gegenseitig.
2
Mit dieser Technik kann man auch die in [RT88] vorgeschlagene Semantik für disjunktive
logische Programme simulieren. Das Problem ist hier, daß bei einer Regel der Form
p1 (X) ∨ p2 (X) ← q(X)
die Negations-Defaults ¬p1 (X) und ¬p2 (X) für alle X mit q(X) blockiert sind, selbst
dann, wenn etwa p1 (X) mit einer anderen Regel beweisbar wäre. Beispielsweise würde
bei Φ1 := {p(a) ∨ p(b), p(a)} der Negations-Default ¬p(b) nicht angenommen werden, bei
der logisch äquivalententen Formelmenge Φ2 := {p(a)} aber schon.
Der Trick besteht nun darin, alle Prädikate zu verdoppeln und die obige Regel (automatisch) umzuschreiben in folgende Regeln:
p1 (X) ∨ p2 (X) ← q(X).
möglich p1 (X) ← q(X).
möglich p2 (X) ← q(X).
Mit den Negations-Defaults für alle Prädikate und den Default-Regeln
pi (X) ← möglich pi (X)
erhält man nun das gewünschte Verhalten.
58
KAPITEL 3. ANWENDUNGSBEISPIELE
Nullwerte
Relationale Datenbanken bieten häufig Nullwerte an, um unvollständige Information abzuspeichern. Nullwerte können allerdings sehr unterschiedliche Bedeutungen haben, etwa
unbekannt“, keine Information vorhanden“, nicht anwendbar“, beliebig“ oder kein
”
”
”
”
”
Wert vorhanden“. Relationale Datenbanken bieten meist nur Nullwerte mit einer festen
Bedeutung, die allerdings nicht immer völlig klar ist (insbesondere wird dabei von einer
dreiwertigen Logik Gebrauch gemacht, hauptsächlich um eine effiziente Auswertung der
Anfragen zu erlauben).
Beispiel 3.1.11: Es sei wieder eine Liste von Telefonnummern abzuspeichern in der
Form
Φ := telefon(anton, 1111), telefon(berta, 2222) .
Falls die Telefonliste so unvollständig ist, daß man über nicht eingetragene Personen
keine Aussage machen möchte, muß man explizit eintragen, wenn bekannt ist, daß eine
bestimmte Person kein Telefon hat. Dies könnte mit einem Nullwert geschehen in der
Form telefon(cäsar, —). Gemeint ist aber die Aussage
¬telefon(cäsar, X),
die logisch gesehen wesentlich klarer ist. Der Nullwert in der Bedeutung kein Wert
”
vorhanden“ ist also nur dann nötig, wenn solche Formeln in der zugrundeliegenden Logik
nicht zulässig sind. Allgemein ist die Vielzahl verschiedener Nullwerte wohl nur aus dem
Zwang entstanden, in einem relationalen System alles als Tabelle notieren zu müssen. 2
Beispiel 3.1.12: Das Telefonverzeichnis sei im folgenden so vollständig, daß man die
üblichen Negations-Defaults annehmen kann. Dann muß man natürlich mögliche Lücken
im Wissen explizit vermerken. Wenn man etwa nicht weiß, ob cäsar ein Telefon hat, so
kann man das mit einem Nullwert in der Bedeutung von keine Information vorhanden“
”
tun: telefon(cäsar, —). Solche Nullwerte kann man mit der in Beispiel 3.1.10 gezeigten
Technik behandeln, man hat ja hier nur alle Negations-Defaults der Form
¬telefon(cäsar, X)
zu blockieren.
2
Beispiel 3.1.13: Am interessantesten sind natürlich Nullwerte in der Bedeutung un”
bekannt“. Es handelt sich hier um eine Existenzaussage
∃X telefon(cäsar, X) .
Allerdings kann man in der Logik aus Kapitel 2 keine Existenzaussagen formulieren.
Die Standard-Lösung ist, eine neue Konstante ( Skolemkonstante“) für diesen Wert ein”
zuführen:
telefon(cäsar, c).
Aber auch dies funktioniert so noch nicht, weil hier generell angenommen wird, daß verschiedene Konstanten auch verschiedene Werte bezeichnen. Aus diesem Grund kann etwa
3.2. VERERBUNG IN OBJEKT-ORIENTIERTEN ANSÄTZEN
59
der Default ¬telefon(cäsar, 3333) angenommen werden, obwohl cäsar ja eventuell gerade
diese Telefonnummer hat. Eine Annäherung an die Bedeutung des Nullwerts wäre es,
die entsprechenden Negations-Defaults wie oben gezeigt zu blockieren, etwa mit Hilfe der
Default-Regel
telefon(X, Y ) ← telefon(X, c).
Dies bringt natürlich noch nicht zum Ausdruck, daß c und 3333 möglicherweise gleich
sind.
Eine etwas aufwendige, aber korrekte Lösung wäre es, die Annahme eindeutiger Namen wieder aufzuheben, indem man ein eigenes Gleichheitsprädikat equal einführt. Insbesondere müßte man die Verträglichkeit mit den Prädikaten fordern:
telefon(X, Y 0 ) ← telefon(X, Y ) ∧ equal (Y, Y 0 ).
Ohne weitere Defaults wirkt sich das noch nicht aus, weil weiterhin Negationsdefaults
über telefon angenommen werden können, sie implizieren dann einfach neue Information
über equal . Im Extremfall kann man dies völlig ausschließen mit den nun schon bekannten
Defaults
equal (X, Y ), ¬equal (X, Y ).
Dann müßte man aber die Axiome der eindeutigen Namen für die normalen Konstanten
explizit aufschreiben, etwa ¬equal (1111, 2222). Geschickter ist es, neue Information über
das Gleichheitsprädikat nur für die Nullwerte wie c zu verbieten.
Wenn man equal nur dazu verwendet, in konsistenter Weise Negations-Defaults zu
blockieren, so braucht man es auch nicht ganz als Gleichheitsprädikat zu spezifizieren.
Insbesondere ist die Reflexivität überflüssig, die ja einen enormen Aufwand erzeugen
würde.
2
3.2
Vererbung in objekt-orientierten Ansätzen
Wie in der Einleitung schon erwähnt wurde, ist es wünschenswert, objekt-orientierte
Strukturierungsmöglichkeiten in deduktive Datenbanken zu integrieren.
Einer der Ursprünge der Objekt-Orientierung ist das Modul-Konzept in Programmiersprachen. Daher erscheint es recht offensichtlich, daß bei einer solchen Integration jedes
Objekt eine eigene kleine deduktive Datenbank enthalten sollte. Insbesondere sollte es
also möglich sein, Regeln in den Objekten abzuspeichern. Momentan sind viele Ansätze
dagegen zweistufig: Auf der unteren Ebene hat man eine Objekt-Datenbank und auf der
oberen Ebene Regeln über diese Objekte.
Ein anderer Ursprung der Objekt-Orientierung ist der Wunsch, Programmcode wiederzuverwenden, also Software auf eine differentielle Art zu entwickeln, indem ein Modul
aus einer Bibliothek ausgewählt wird, einige neue Funktionen hinzugefügt und einige alte
überschrieben werden. Dies führte zu den bekannten Vererbungs-Hierarchien in objektorientierten Spezifikationen.
60
KAPITEL 3. ANWENDUNGSBEISPIELE
Es gibt verschiedene Möglichkeiten, einen solchen Vererbungs-Mechanismus in deduktive Datenbanken zu integrieren. Ein offensichtlicher syntaktischer Weg wäre es, dem
Benutzer zu erlauben, die Vererbung von Regeln gezielt zu unterdrücken. Dies wäre
natürlich einerseits etwas unbequem, weil man häufig genau angeben muß, welche Regeln
man ausschließen will (automatisch könnte man ja wohl nur alle Regeln über ein Prädikat eliminieren). Andererseits ist die Ebene der Regeln meist auch schon zu hoch, denn
typischerweise will man nur einige wenige, möglicherweise bedingte Ausnahmen zu den
Regeln angeben, und sie nicht völlig neu formulieren.
In dieser Situation ist es naheliegend, die vererbten Regeln als Defaults anzusehen,
die von spezifischerer Information überschrieben werden können.
Beispiel 3.2.1: Ein einfaches Beispiel sind die unterschiedlichen Rabatte, die verschiedene Klassen von Kunden bekommen. So bekommen allgemeine Kunden typischerweise
0% auf alle Produkte. Der Subtyp der Universitäts-Kunden bekommt dagegen 30% auf
Hardware und 50% auf Software. Diesen Kunden wird vermutlich erst später klar, daß
es außer Hardware und Software auch noch den Bereich der Dienstleistungen (z.B. Wartungsverträge) gibt, auf den sie die ererbten 0% bekommen. Für einen speziellen Kunden mit ausreichendem Verhandlungsgeschick können natürlich alle Rabatte noch einmal
überschrieben werden.
kunde
rabatt(X, 0) ← produkt(X)
uni kunde
rabatt(X, 30) ← hardware(X)
rabatt(X, 50) ← software(X)
uni hannover
rabatt(risc500 , 40)
Formulierungen wie die obigen sind noch objekt-lokal, man möchte natürlich mehrere
Kunden in der Datenbank haben. Wenn man keine spezielle Logik einsetzt, muß man
zunächst das Prädikat rabatt um ein zusätzliches Argument für das aktuelle Objekt (den
Kunden) erweitern.
Außerdem hat die in Kapitel 2 eingeführte Logik keine Subtypen, man kann sie aber
mit Prädikaten wie etwa uni kunde simulieren. Die betrachteten Defaults lauten also
rabatt(X, Y, 0) ← produkt(Y ) ∧ kunde(X).
rabatt(X, Y, 30) ← hardware(Y ) ∧ uni kunde(X).
rabatt(X, Y, 50) ← software(Y ) ∧ uni kunde(X).
3.2. VERERBUNG IN OBJEKT-ORIENTIERTEN ANSÄTZEN
61
Dabei hat der erste niedrigere Priorität (also einen höheren `-Wert), weil er aus dem
Supertyp stammt und daher weniger spezifisch ist. Die in den Objekten spezifizierten
Fakten werden in Axiome übersetzt:
rabatt(uni hannover , risc500 , 40).
Hinzu kommt noch die Typisierungs-Information:
kunde(X) ← uni kunde(X).
uni kunde(uni hannover ).
Außerdem ist eine Schlüssel-Bedingung für rabatt nötig:
rabatt(X1 , X2 , Y ) ∧ rabatt(X1 , X2 , Y 0 ) → Y = Y 0 .
Trägt man nun noch Fakten über die Produkte ein, so hat diese Spezifikation unter der
stufenweisen CWA das gewünschte Verhalten.
Zur objekt-lokalen Notation ist schließlich noch zu bemerken, daß mit einer Schreibweise wie X.software auf ein anderes Objekt Bezug genommen werden kann. Dies wird
mit einer analogen Transformation wie für rabatt in software(X) übersetzt. Oben wurde
zur Vereinfachung bereits dieses Ergebnis eingesetzt.
2
Man kann jetzt natürlich auch mehrfache Vererbung“ betrachten, also Objekttypen mit
”
mehr als einem Obertyp. Hier werden erstmals partiell geordnete Defaults nötig, wie man
sich leicht an folgender Typ-Struktur klar machen kann:
C2
C1
B
@
@
A
Hier soll keine Priorität zwischen den in B und C1 spezifizierten Defaults bestehen, und
auch keine Priorität zwischen denjenigen aus B und C2 . Alle diese Defaults müßten also
denselben `-Wert haben. Andererseits sollen die Defaults aus C1 die Defaults aus C2
überschreiben, müssen also einen echt kleineren `-Wert haben. Daher gibt es keine Stufeneinteilung ` der Defaults, die die gewünschten Prioritäten zum Ausdruck bringt.
Es ist nun naheliegend, die Subtyp-Beziehung direkt als Prioritätsrelation einzusetzen.
Dies ist auch möglich, weil Prioritätsrelationen beliebige partielle Ordnungen sein können
(ebenso wie die Subtyp-Beziehung).
Beispiel 3.2.2: Mehrfache Vererbung führt natürlich zu unvollständiger Information,
wenn die ererbten Formeln sich widersprechen. Es gibt dann wieder die oben erwähnten
unterschiedlichen Möglichkeiten:
Sei in Beispiel 3.2.1 noch der Objekttyp Großkunde“ eingeführt, der auf Hard”
ware 30%, auf Software 40% und auf Dienstleistungen 20% Rabatt bekommt. Es kann
dann natürlich auch Universitäten geben, die Großkunden sind.
62
KAPITEL 3. ANWENDUNGSBEISPIELE
kunde
rabatt(X, 0) ← produkt(X)
@
@
uni kunde
groß kunde
rabatt(X, 30) ← hardware(X)
rabatt(X, 50) ← software(X)
rabatt(X, 30) ← hardware(X)
rabatt(X, 40) ← software(X)
rabatt(X, 20) ← dienstleistungen(X)
@
@
uni hannover
rabatt(risc500 , 40)
Da man Rabatte im allgemeinen nicht addieren kann, werden solche Kunden wohl 20% auf
Dienstleistungen, 30% auf Hardware und 50% auf Software bekommen. Natürlich kann
man von der Default-Semantik nicht erwarten, daß sie dies völlig automatisch erkennt.
Klar ist, daß jede vernünftige Default-Semantik die 30% auf Hardware liefern sollte,
denn hier unterscheiden sich die geerbten Werte nicht. Wählt man nun die mini”
male Modelle“-Semantik, so erhält man für Software wenigstens die Disjunktion, also
40% oder 50%. Für Dienstleistungen erhält man dagegen die 20% von den Großkunden,
denn Universitäten haben ihre 0% von den allgemeinen Kunden geerbt, diese sind aber
ein Obertyp von Großkunden. An dieser Stelle könnten andere Vererbungssemantiken
natürlich auch eine Disjunktion 0% oder 20% liefern.
Man könnte natürlich auch eine stärkere Auslöschung wünschen, falls man die Disjunktion 40% oder 50% auf Software für zu unsicher hält. Die in Kapitel 5 vorgestellte
vorsichtige CWA“ würde gerade alle Informationen über den Rabatt auf Software löschen.
”
Die Rabatte auf Hardware und Dienstleistungen bleiben dabei erhalten.
2
Beispiel 3.2.3:
Es ist noch interessant, festzuhalten, daß bei der Default-Semantik
der Vererbung einmal überschriebene Regeln später wieder zum Zuge kommen können.
Angenommen, man hat ein einstelliges Prädikat p mit einer Schlüsseldeklaration
p(X) ∧ p(X 0 ) → X = X 0 .
Dieses Prädikat kann also nur einen Wert annehmen. Sei nun folgende Spezifikation mit
drei Objekttypen A, B, C betrachtet:
A:
p(a)
B:
p(b)
C:
p(a) ∨ p(c)
3.2. VERERBUNG IN OBJEKT-ORIENTIERTEN ANSÄTZEN
63
Da sich die in A und B spezifizierten Formeln widersprechen, wird p(a) überschrieben.
Die in C spezifizierte Disjunktion überschreibt wiederum p(b). Da es nun aber möglich
ist, p(a) anzunehmen, wird diese Formel aus A wieder wirksam: Für Objekte des Typs C
gilt p(a) und ¬p(c).
2
Beispiel 3.2.4: Bei der Vererbung werden aus den Regeln Defaults. Wenn man aber
zuläßt, daß außerdem noch Defaults explizit angegeben werden, so sind die Prioritäten
nicht mehr so klar. Beispielsweise könnte man in einem Obertyp die Prädikate p und q
durch Aufzählung von Fakten definiert haben:
p(a), q(a), q(b).
Hinzu kommen natürlich noch die üblichen Negations-Defaults:
¬p(X), ¬q(X).
In einem Untertyp definiert man nun ein zusätzliches Prädikat r durch folgende Regel:
r(X) ← ¬p(X) ∧ q(X)
zusammen mit dem Negations-Default ¬r(X). Gibt man nun diesem Default höhere
Priorität als dem entsprechenden Default ¬p(X) aus dem Obertyp, so verändert man in
vermutlich nicht beabsichtigter Weise das Prädikat p: Der Default ¬r(b) wird hier dem
Default ¬p(b) vorgezogen, es folgt also plötzlich p(b).
Das Problem ist hier, daß die von der Vererbungshierarchie und die von der Stratifizierung stammenden Prioritäten sich widersprechen. Man kommt hier nicht ohne Hilfe
vom Datenbankentwerfer aus, denn in anderen Situationen wäre es sehr wohl denkbar,
daß das ererbte Prädikat p überschrieben werden soll, und zwar unter Verwendung des
neu eingeführten Prädikates r. Man muß vom Datenbankentwerfer also wohl verlangen,
daß er relative Prioritäten zu den ererbten Prioritäten spezifiziert. Alternativ könnte er
auch angeben, daß bestimmte Prädikate bei der Vererbung nicht überschrieben werden
sollen.
2
Die Semantik der Vererbung logischer Formeln ist ein interessantes Forschungsthema. In
dem Vorschlag aus [KLW90] werden im wesentlichen Werte vererbt und nicht Formeln;
spezifiziert man in einer Objektklasse“ etwa eine (exklusive) Disjunktion, so haben ent”
weder alle Instanzen den einen Wert, oder alle haben den anderen Wert (sofern keine
spezifischere Information vorliegt). In [LU92] wird diese Semantik weiter untersucht, insbesondere auch ihre algorithmische Seite. Der Ansatz von [LV91] berücksichtigt sehr stark
die Schreibweise der Formeln als Implikationen, dadurch werden unter Umständen Formeln vorgezogen, die wesentlich höher in der Objekthierarchie spezifiziert sind. Schließlich
sei noch auf die Theorie der Vererbungsnetze verwiesen, eine Beziehung zum nichtmonotonen Schließen wird etwa in [Eth88, Mak92] hergestellt.
Es gibt natürlich noch viele weitere Aspekte einer Integration von Objekt-Orientierung
und Logik. Zum einen ist das Lokalitätsprinzip zu nennen: Kein Objekt sollte Aussagen
über andere Objekte enthalten. Einige erste Untersuchungen hierzu finden sich in [BL91].
64
KAPITEL 3. ANWENDUNGSBEISPIELE
Andererseits ist wohl eine wesentlich reichere Typstruktur wünschenswert, wie sie insbesondere von der F-Logik [KLW90] geboten wird. Schließlich haben Objekte auch noch
einen inneren Zustand, der über Änderungsoperationen modifiziert werden kann.
3.3
Formalisierung von Änderungsoperationen
Eine wichtige Anwendung von Defaults ist auch die Formalisierung der Rahmenregel bei
Änderungsoperationen. Normalerweise wird nur explizit angegeben, was sich bei der
Ausführung einer Aktion ändert. Man geht dann davon aus, daß alles andere unverändert
bleibt. Oft läßt sich aber nicht einfach syntaktisch feststellen, was genau alles andere“
”
ist. Zusätzliche Schwierigkeiten treten bei nichtdeterministischen Aktionen auf, deren
Nachbedingung also Disjunktionen enthält. Die naheliegende Lösung ist nun, einen Default der Art alles bleibt, wie es ist“ zu verwenden. Auf diese Weise erzwingt man, daß
”
nur eine minimale Änderung durchgeführt wird, um die Aktions-Spezifikation zu erfüllen.
Zustandsübergänge
Beispiel 3.3.1: Als Beispiel sei ein rudimentäres Abenteuerspiel betrachtet. Dieses
Spiel hat nur zwei Räume“: einen Wald und eine Höhle (richtige Spiele haben etwa
”
100 Räume). Die Aufgabe ist nun, im Wald den Honig zu nehmen und damit den Bären
in der Höhle zu füttern. Ein Zustand des Spiels ist also durch die Information beschrieben,
• in welchem Raum sich der Spieler befindet (Wald oder Höhle),
• wo sich der Honig befindet (möglicherweise in der Tasche des Spielers),
• ob der Bär noch hungrig ist.
Der Spieler kann den Zustand nun durch seine Züge verändern, so kann er etwa mit den
Kommandos gehe nach Norden“ und gehe nach Süden“ zwischen den beiden Räumen
”
”
wechseln, er kann den Honig nehmen und den Bär füttern (gute Abenteuerspiele haben
einen Wortschatz von über 1000 Worten).
Beispielsweise sei die Operation nimm den Honig“ zu spezifizieren. Die Vorbedingung
”
ist, daß sich der Spieler im selben Raum wie der Honig befindet:
in(spieler , X) ∧ in(honig, X).
Die Nachbedingung ist, daß der Spieler den Honig in seiner Tasche hat:
in(honig, tasche).
Solche Vor- und Nachbedingungen lassen sich einfach in die Prädikatenlogik übersetzen,
wenn man jedes Prädikat verdoppelt (eine Version für den Vorzustand und eine für den
Nachzustand, siehe auch [Ger91]). Das Kommando nimm den Honig“ hat also folgende
”
Auswirkung:
in old (spieler , X) ∧ in old (honig, X) → in new (honig, tasche).
3.3. FORMALISIERUNG VON ÄNDERUNGSOPERATIONEN
65
Es sei nun folgender Vorzustand betrachtet:
in old (spieler , wald ).
in old (honig, wald ).
hungrig old (bär).
Außerdem kann sich jeder Gegenstand immer nur an einem Ort befinden, d.h. man braucht
eine Schlüsselbedingung, die natürlich für beide Zustände gelten soll:
in old (X, Y ) ∧ in old (X, Y 0 ) → Y = Y 0 .
in new (X, Y ) ∧ in new (X, Y 0 ) → Y = Y 0 .
Über die Vor- und Nachbedingungen wird nur angegeben, was sich ändert. Daher
sind noch Defaults nötig, die eine minimale Änderung erzwingen ( Rahmenregel“):
”
in old (X, Y ) ↔ in new (X, Y ).
hungrig old (X) ↔ hungrig new (X).
Intuitiv sollten folgende Formeln aus dieser Spezifikation folgen:
in new (spieler , wald ).
in new (honig, tasche).
hungrig new (bär).
Tatsächlich gilt dies auch für jede vernünftige Default-Semantik, denn in diesem Fall
wäre schon die naive CWA konsistent. Sie enthält insbesondere folgende Formeln:
in old (spieler , wald ) ↔ in new (spieler , wald ).
hungrig old (bär) ↔ hungrig new (bär).
Die einzige Default-Ausprägung, die nicht angenommen werden kann, wird schon von den
Axiomen widerlegt:
in old (honig, wald ) ↔ in new (honig, wald ).
Weil also keine Konflikte zwischen Defaults auftreten, ist dieses Beispiel recht einfach. 2
Beispiel 3.3.2: Angenommen, man möchte das Spiel nun etwas interessanter gestalten
und den Honig an unterschiedlichen Orten verstecken (über einen Zufallszahlengenerator
bestimmt). Die Spezifikation enthält dann nur die Disjunktion
in old (honig, wald 1 ) ∨ in old (honig, wald 2 ).
Der Spieler befinde sich in wald 1 . Natürlich kann er den Honig nur dann nehmen, wenn
dieser auch in wald 1 ist (sonst gibt es eine Fehlermeldung und der Zustand bleibt unverändert). Ansonsten seien dieselben Regeln und Defaults wie in Beispiel 3.3.1 verwendet.
Überraschenderweise folgt aus dieser Spezifikation nun, daß der Honig im Vorzustand
in Raum wald 2 ist: in old (honig, wald 2 ). Der Grund ist, daß diesem Fall alle DefaultAusprägungen angenommen werden können, denn wenn die Vorbedingung nicht erfüllt
ist, sind auch keine Änderungen nötig. Hat man nun die folgende Default-Ausprägung
in old (honig, tasche) ↔ in new (honig, tasche),
66
KAPITEL 3. ANWENDUNGSBEISPIELE
so erhält man aus der Disjunktion und der Schlüsselbedingung ¬in old (honig, tasche), hiermit also ¬in new (honig, tasche). Daher folgt aus
in old (spieler , wald 1 ) ∧ in old (honig, wald 1 ) → in new (honig, tasche),
daß ¬in old (honig, wald 1 ) und damit schließlich in old (honig, wald 2 ).
Natürlich wird man von jeder korrekten Formalisierung der Änderungsoperation erwarten, daß die Redukte auf den old -Anteil gerade die Modelle der Beschreibung des
Vorzustandes liefern. Das ist hier nicht der Fall.
Man kann dieses Problem mit Hilfe folgender Defaults lösen:
in old (X, Y ), ¬in old (X, Y ), hungrig old (X), ¬hungrig old (X).
Diese Defaults blockieren sich gegenseitig, aber auch jeden anderen Default, der neue
Informationen über den Vorzustand liefern würde. Man kann dies auch so verstehen, daß
die minimale Änderung von jedem möglichen Vorzustand aus einzeln ausgeführt werden
soll. Diese Defaults selektieren nun jeweils einen Vorzustand und halten ihn während der
Anwendung der übrigen Defaults fest.
2
Es ist nun noch interessant, festzuhalten, daß auch umgekehrt eine Änderungs-Semantik
eine Default-Semantik bestimmt.
Man kann als Vorzustand einfach die Menge der Defaults verwenden (sofern sie konsistent ist), als Vorbedingung true und als Nachbedingung die Konjunktion der Formeln
aus Φ. Die minimale Änderung bedeutet nun, daß nur möglichst wenig von den Defaults zurückgenommen wird, um die Axiome zu erfüllen. Anfragen an den Nachzustand
entsprechen dann Folgerungen aus der Vervollständigung.
Zustandsfolgen
Beispiel 3.3.3: Natürlich möchte man nicht nur einzelne Zustandsübergänge betrachten,
sondern den ganzen Verlauf des Spiels. Dann reicht es also nicht mehr aus, zwei Versionen
der Prädikate zu haben, sondern man muß sie um ein zusätzliches Argument für den
Zustand erweitern. Die Zustände seien mit den Zahlen 1 bis 10 benannt (nach 10 Zügen
ist der Bär so hungrig, daß er den Spieler auffrißt). Die Startsituation ist dann:
in(1, spieler , wald ).
in(1, honig, wald ).
hungrig(1, bär).
Der Spieler kann nun mit den Kommandos gehe nördlich und gehe südlich zwischen den
beiden Räumen wechseln, mit dem Kommando nimm honig den Honig nehmen und mit
dem Kommando gib honig den Bären füttern. Die Züge werden in einem Prädikat zug
abgespeichert, eine direkte Lösung des Spiels braucht nur drei Züge:
zug(1, nimm honig).
zug(2, gehe nördlich).
zug(3, gib honig).
3.3. FORMALISIERUNG VON ÄNDERUNGSOPERATIONEN
67
Man muß jetzt noch die Abfolge der Züge spezifizieren:
succ(1, 2).
...
succ(9, 10).
Dies ist ebenso wie die Maximallänge nur aufgrund der Bereichsbeschränkung nötig, sonst
könnte man natürlich ein eingebautes Prädikat verwenden. Man braucht schließlich noch
folgende Schlüssel-Deklarationen:
in(X1 , X2 , Y ) ∧ in(X1 , X2 , Y 0 ) → Y = Y 0 .
zug(X, Y ) ∧ zug(X, Y 0 ) → Y = Y 0 .
succ(X, Y ) ∧ succ(X, Y 0 ) → Y = Y 0 .
Am interessantesten ist nun natürlich die Spezifikation der Auswirkung der Züge:
in(X, spieler , wald ) ∧ zug(X, gehe nördlich) ∧ succ(X, X 0 ) →
in(X 0 , spieler , höhle).
in(X, spieler , höhle) ∧ zug(X, gehe südlich) ∧ succ(X, X 0 ) →
in(X 0 , spieler , wald ).
in(X, honig, Y ) ∧ in(X, spieler , Y ) ∧ zug(X, nimm honig) ∧ succ(X, X 0 ) →
in(X 0 , honig, tasche).
in(X, honig, tasche) ∧ in(X, spieler , höhle) ∧ zug(X, gib honig) ∧ succ(X, X 0 ) →
¬hungrig(X 0 , bär) ∧ in(X 0 , honig, bär).
In der Prädikatenlogik ist dies recht mühsam aufzuschreiben, übersichtlicher geht ist in
einer dynamischen Logik:
in(spieler , wald ) → [gehe nördlich]in(spieler , höhle).
in(spieler , höhle) → [gehe südlich]in(spieler , wald ).
in(honig, Y ) ∧ in(X, spieler , Y ) → [nimm honig]in(honig, tasche).
in(honig, tasche) ∧ in(spieler , höhle) →
[gib honig] ¬hungrig(bär) ∧ in(honig, bär) .
Natürlich braucht man wieder Defaults, die eine minimale Änderung erzwingen. Da das
Prädikat in aufgrund der Schlüsseldeklaration im wesentlichen eine Funktion ist, braucht
man hierfür nur zu fordern, daß sich der alte Wert auf den neuen Zustand fortschreibt:
succ(X, X 0 ) ∧ in(X, Y1 , Y2 ) → in(X 0 , Y1 , Y2 ).
Bei dem echten Prädikat hungrig müssen entsprechend die beiden Wahrheitswerte true
und false andauern:
succ(X, X 0 ) ∧ hungrig(X, Y ) → hungrig(X 0 , Y ).
succ(X, X 0 ) ∧ ¬hungrig(X, Y ) → ¬hungrig(X 0 , Y ).
Überraschenderweise ist diese Spezifikation so noch nicht korrekt, insbesondere folgt nicht
die Formel ¬hungrig(4, bär). Um dies zu verstehen, muß man die maximalen Mengen
von Default-Ausprägungen betrachten, die angenommen werden können. Dies entspricht
also einer möglichst kleinen Menge von Ausnahmen, d.h. nicht geltenden Defaults. Bei
68
KAPITEL 3. ANWENDUNGSBEISPIELE
der intendierten Zustandsabfolge werden alle außer den folgenden Default-Ausprägungen
angenommen:
succ(1, 2) ∧ in(1, honig, wald ) → in(2, honig, wald ).
succ(2, 3) ∧ in(2, spieler , wald ) → in(3, spieler , wald ).
succ(3, 4) ∧ in(3, honig, tasche) → in(4, honig, tasche).
succ(3, 4) ∧ hungrig(3, bär) → hungrig(4, bär).
Es gibt aber auch die Möglichkeit, vorausschauend Änderungen durchzuführen, die bewirken, daß später die Vorbedingungen nicht erfüllt sind, so daß dann Änderungen eingespart
werden. Der Spieler könnte etwa bei dem Fußmarsch vom Wald zur Höhle den Honig verlieren, dadurch kann er den Bären später nicht füttern:
succ(1, 2) ∧ in(1, honig, wald ) → in(2, honig, wald ).
succ(2, 3) ∧ in(2, spieler , wald ) → in(3, spieler , wald ).
succ(2, 3) ∧ in(2, honig, tasche) → in(3, honig, tasche).
Natürlich steht von dieser Möglichkeit nichts in der Spezifikation, aber es ist auch nicht
explizit ausgeschlossen.
Das Problem ist hier, daß die Änderungen global minimiert werden (über die ganze
Zustandsfolge gesehen). Dadurch geht die Kausalität der Änderungen verloren. Man
möchte natürlich, daß die Änderungen bei jedem Zustandsübergang einzeln minimiert
werden, insbesondere sollen nicht spätere Zustandsübergänge Rückwirkungen auf frühere
haben. Es liegt daher nahe, den Defaults für frühere Zustandsübergänge höhere Priorität
zu geben, also notwendige Änderungen so spät wie möglich auszuführen.
2
Dies ist eine Variante des bekannten Yale Shooting“ Problems [HM87]. (Dort sind die drei
”
Aktionen laden“, warten“, schießen“. Beispiel 3.3.3 ist etwas tierfreundlicher, obwohl
”
”
”
ja auch beim originalen Beispiel das Ergebnis gerade ist, daß sich die Flinte möglicherweise
während des Wartens auf magische Art entladen hat.)
Man beachte noch, daß die in Beispiel 3.3.2 aufgezeigten Probleme mit unvollständiger
Information natürlich auch hier auftreten, man muß also die entsprechenden Defaults noch
hinzunehmen.
Allerdings funktioniert das Prinzip, Änderungen so spät wie möglich durchzuführen,
nur bei Anfragen nach der Gültigkeit einer Aussage in einem bestimmten Zustand ( tem”
porale Projektion“).
Angenommen, man gibt stattdessen den Zielzustand vor und fragt, welche Aktionen
dorthin geführt haben können (eine Planungsaufgabe). Nach dem Prinzip, Änderungen so
spät wie möglich durchzuführen, geschieht die ganze Zeit gar nichts, nur bei dem letzten
Zustandsübergang wird der Zielzustand erreicht, ohne daß es eine Erklärung dafür geben
würde.
Angesichts dieser Probleme muß man sich natürlich fragen, ob man es nicht ohne
Defaults leichter hätte, indem man also nur die Logik erster Stufe benutzt. Ein solcher
Ansatz wird von Raymond Reiter [Rei92] vertreten. Man müßte dann also Formeln
der Art aufschreiben, daß sich der Ort eines Gegenstandes nur dann ändern kann, wenn
3.3. FORMALISIERUNG VON ÄNDERUNGSOPERATIONEN
69
eine entsprechende Aktion ausgeführt wird und deren Vorbedingungen erfüllt sind. Dies
ist natürlich gerade bei einer größeren Anzahl von Aktionen recht mühsam. Vor allem
aber können auf diese Art nur Spezialfälle behandelt werden, denn im allgemeinen Fall
könnte man ja gerade Defaults simulieren, so daß dies einfach nur ein spezieller Vervollständigungs-Mechanismus wäre.
Beispiel 3.3.4:
Da man mit einfachen Zustandsübergängen unpriorisierte Defaults
simulieren kann, liegt es nahe, daß man mit Zustandsfolgen gerade die Prioritäten erhält.
Das ist aber nicht richtig: Hat man etwa die Defaults ¬p und ¬q, wobei der erste höhere
Priorität hat, und das Axiom p∨q, so würde man erst ¬q einfügen, dann ¬p und schließlich
das Axiom. Bei priorisierten Defaults sollte sich natürlich ¬p durchsetzen. ÄnderungsSemantiken sind dagegen im allgemeinen geschichtslos: Wenn das Axiom eingefügt wird,
ist der vorliegende Zustand {¬p, ¬q}, die minimale Änderung liefert dann {¬p∨¬q, p∨q}.
(Beobachtung von Mark Ryan.)
2
70
Kapitel 4
Eigenschaften von
Vervollständigungen
In diesem Kapitel wird die Menge der Vervollständigungen betrachtet, um einen Überblick über alle möglichen Semantiken für Defaults zu gewinnen. Eigenschaften von Vervollständigungen dienen dazu, diese Menge zu strukturieren und die interessanten Defaultsemantiken herauszufiltern. Sie werden hier definiert und motiviert, und es werden
die Beziehungen zwischen ihnen untersucht.
Solche Eigenschaften können ein Maß für die Strukturiertheit“ oder Gutartigkeit“
”
”
einer Vervollständigung sein. Umgekehrt können Anwendungen erfordern, daß bestimmte
Eigenschaften verletzt werden. Auch dann sind die Eigenschaften eine Hilfe für die Auswahl der richtigen“ Vervollständigung.
”
Schließlich können die Eigenschaften auch als Rechenregeln“ für die Vervollständi”
gungen gesehen werden, mit dem man also Paare (Φ, ψ) mit Φ `c ψ ableiten kann. Im
Gegensatz zu den Resolutions-Algorithmen in Kapitel 6 ähnelt dies eher einem System
”
des natürlichen Schließens“.
Daher sollte zuerst überprüft werden, inwieweit man die Erfüllung von Folgerungsregeln der klassischen Prädikatenlogik fordern kann (Abschnitt 4.1). Falls man alle Folgerungsregeln fordert, bekommt man natürlich nur die logische Folgerung. Aus diesem
Grund müssen häufig Abschwächungen der klassischen Regeln betrachtet werden. Solche
Folgerungsregeln wurden auch in der Literatur zum nicht-monotonen Schließen betrachtet [Gab85, Mak89, KLM90, Dix91, Mak92]. Hier wird aber eine modelltheoretische
Formulierung angegeben, die häufig zusätzliche Einsichten vermittelt (und die Beziehung
zur Theorie der Wahlverfahren aufzeigt).
Als nächstes werden weitere Struktureigenschaften betrachtet, die nicht direkt im
Zusammenhang mit Folgerungsregeln stehen, aber modelltheoretisch gesehen sehr einleuchtend sind (Abschnitt 4.2). Auch Begriffe für den Vergleich von Vervollständigungen
werden eingeführt.
Im Abschnitt 4.3 werden dann Eigenschaften untersucht, die sich auf Defaults beziehen. Ein Ziel dieser Arbeit ist ja, eine Abbildung von Defaults auf Vervollständigungen
auszuzeichnen.
71
72
KAPITEL 4. EIGENSCHAFTEN VON VERVOLLSTÄNDIGUNGEN
4.1
Folgerungsregeln
Folgerungsregeln für beliebige Vervollständigungen
Da die vervollständigte Folgerungsrelation `c eine Verallgemeinerung der logischen Folgerung ` ist, kann man sich fragen, welche der bekannten Ableitungsregeln noch gelten.
Zunächst gelten eine ganze Reihe von Regeln für beliebige Vervollständigungen `c ,
und zwar sind dies die linksstabilen“ Folgerungsregeln, die sich nur auf eine feste Axio”
menmenge Φ beziehen, also die folgende Form haben:
Φ `c ψ1 , . . . , Φ `c ψn =⇒ Φ `c ψ.
Gilt eine solche Regel für die logische Folgerung, so erhält man für Φ := {ψ1 ∧ · · · ∧ ψn }
(die Voraussetzungen sind trivialerweise erfüllt):
{ψ1 ∧ · · · ∧ ψn } ` ψ.
Dann überträgt sich die Regel aber sofort auf beliebige Vervollständigungen `c , denn `c
ist definitionsgemäß unter ∧ und ` abgeschlossen.
Satz 4.1.1: Jede vervollständigte Folgerungsrelation `c erfüllt
• Φ `c ψ1 , Φ `c ψ2 =⇒ Φ `c ψ1 ∧ ψ2 ( Einführung der Konjunktion“),
”
• Φ `c ψ1 ∧ ψ2 =⇒ Φ `c ψ1 , Φ `c ψ2 . ( Eliminierung der Konjunktion“),
”
• Φ `c ψ1 oder Φ `c ψ2 =⇒ Φ `c ψ1 ∨ ψ2 ( Einführung der Disjunktion“),
”
• Φ `c ψ1 → ψ2 , Φ `c ψ1 =⇒ Φ `c ψ2 ( Eliminierung der Implikation“, modus
”
”
ponens“).
Beweis: Diese Regeln folgen direkt aus dem Abschluß unter ∧ und `.
2
Konsistenzerhaltung
Die Folgerungsregel von der Eliminierung der Negation, d.h. das Prinzip des indirekten
Beweises, gilt dagegen nicht für beliebige Vervollständigungen:
Φ ∪ {¬ψ} `c false =⇒ Φ `c ψ.
Das ist eigentlich auch nicht überraschend, da die Definition von `c keine Anforderungen
enthält, die zwei verschiedene (nicht-äquivalente) Mengen von Voraussetzungen Φ und Φ0
in Beziehung setzen.
Beispiel 4.1.2:
Negationen:
Folgende Vervollständigung erlaubt nicht die die Eliminierung von
Φ
[p] [p̄] comp(Φ)
false
false
¬p
◦ false
p
◦
false
true • • true
4.1. FOLGERUNGSREGELN
73
Diese Tabelle definiert eine Vervollständigung über einer Signatur mit einer einzigen Aussage (d.h. argumentlosen Prädikat) p. Im mittleren Teil ist die Vervollständigung modelltheoretisch beschrieben, d.h. für jede Axiomenmenge (gegeben durch ihre Modelle [p]
und [p̄]) sind die intendierten Modelle mit • gekennzeichnet und die nicht intendierten
mit ◦. In linken Teil ist ein Repräsentant Φ der jeweiligen Äquivalenzklasse von Axiomenmengen angegeben, im rechten Teil ihre syntaktische Vervollständigung (bis auf Äquivalenz).
Sei nun Φ = {true}. Die Vervollständigung zerstört für Φ0 = Φ ∪ {¬p} die Konsistenz,
da sie das einzige vorhandene Modell [p̄] nicht auswählt. Es gilt also Φ ∪ {¬p} `c false.
Nach der Regel von der Eliminierung der Negation müßte nun Φ `c p gelten. Das ist aber
nicht der Fall.
2
Die Vervollständigung aus dem Beispiel ist natürlich sehr merkwürdig, eine solche Vervollständigung möchte man auf keinen Fall als Semantik einer Default-Spezifikation haben.
Ein Grund, diese Vervollständigung auszuschließen, ist die Zerstörung der Konsistenz: Die
Axiomenmenge {¬p} enthält ja durchaus noch Information, aber bei der Vervollständigung false ist diese Information verloren gegangen — beliebige Anfragen werden mit ja“
”
beantwortet.
Definition 4.1.3 (konsistenzerhaltend):
Eine Vervollständigung comp/`c /sel ist
konsistenzerhaltend (CON) genau dann, wenn
• Φ konsistent =⇒ comp(Φ) konsistent,
• Φ konsistent, Φ `c ψ =⇒ Φ 6`c ¬ψ,
• I 6= ∅ =⇒ sel (I) 6= ∅.
Diese Definition ist so zu lesen, daß für jede der drei Formalisierungen von Vervollständigung getrennt definiert wird, was konsistenzerhaltend bedeutet. Die Festlegungen sind
verträglich mit der Umrechnung zwischen den verschiedenen Arten von Vervollständigungen, wie in dem nächsten Lemma bewiesen wird.
Bei dieser wie bei allen weiteren Eigenschaften sollen die Bedingungen für alle Φ ⊆ L+
Σ,
∗
alle ψ ∈ LΣ und alle I ⊆ IΣ gelten.
Lemma 4.1.4:
• Eine syntaktische Vervollständigung comp ist genau dann konsistenzerhaltend, wenn
`comp konsistenzerhaltend ist.
• Eine semantische Vervollständigung sel ist genau dann konsistenzerhaltend, wenn
`sel konsistenzerhaltend ist.
Beweis:
• Die syntaktisch vervollständigte Menge der Axiome comp(Φ) ist genau dann inkonsistent,
wenn comp(Φ) ` ψ und comp(Φ) ` ¬ψ für ein ψ gilt. Das ist aber die Definition für
Φ `comp ψ und Φ `comp ¬ψ.
74
KAPITEL 4. EIGENSCHAFTEN VON VERVOLLSTÄNDIGUNGEN
• Eine modelltheoretische Vervollständigung verletzt die Konsistenzerhaltung für I (I 6= ∅,
sel (I) = ∅) genau dann, wenn `sel sie für Th(I) verletzt: Th(I) ist konsistent, aber
sel (I) ⊆ Mod (ψ) und sel (I) ⊆ Mod (ψ), d.h. Th(I) `sel ψ und Th(I) `sel ¬ψ.
2
Eine ganze Reihe der in der Literatur vorgeschlagenen Vervollständigungen ist im allgemeinen nicht konsistenzerhaltend, so etwa die originale CWA [Rei78], die Circumscription
bei unendlichen Bereichen [EMR85] und die Default-Logik [Rei80]. Offensichtlich ist dieses Verhalten aber nicht beabsichtigt. Die einzige Lösung ist, daß man die betreffenden
Mengen von Axiomen und Defaults ausschließt, wobei aber häufig nur hinreichende Kriterien für die Konsistenzerhaltung bekannt sind.
Hat man eine konsistenzerhaltende Vervollständigung, so kann man sofort die Regel
zur Eliminierung von Negationen anwenden:
Satz 4.1.5: Für eine konsistenzerhaltende Vervollständigung `c gilt:
Φ ∪ {¬ψ} `c false =⇒ Φ `c ψ.
Beweis: Da `c konsistenzerhaltend ist, muß Φ ∪ {¬ψ} inkonsistent sein. Dann gilt aber Φ ` ψ,
folglich auch Φ `c ψ.
2
Daß die Umkehrung dieses Satzes nicht gilt, sieht man an der Vervollständigung ohne
intendierte Modelle, d.h. es gilt Φ `c ψ für beliebige Φ und ψ. Diese Vervollständigung
erfüllt natürlich die Regel von der Eliminierung der Negation, aber sie ist nicht konsistenzerhaltend.
Kumulierung
Eine Folgerungsregel, von der man nicht erwarten kann, daß sie für Vervollständigungen
gilt, ist die Monotonie:
Φ `c ψ =⇒ Φ ∪ {ϕ} `c ψ.
Vervollständigungen sind ja gerade bekannt als nichtmonotone Logiken. So könnte ψ etwa
ein Default sein, der angenommen wird, da Φ keine gegenteilige Information enthält. Die
hinzugenommene Formel ϕ könnte nun gerade diese gegenteilige Information liefern, also
z.B. ϕ := ¬ψ. Würde jetzt noch ψ folgen, so wäre die Konsistenz zerstört. Dies gilt auch
ganz allgemein:
Satz 4.1.6: Die einzige konsistenzerhaltende Vervollständigung mit
Φ `c ψ =⇒ Φ ∪ {ϕ} `c ψ
(Monotonie) ist die logische Folgerung `.
Beweis: Angenommen, es gäbe eine monotone und konsistenzerhaltende Vervollständigung `c
verschieden von der logischen Folgerung. Da Φ ` ψ =⇒ Φ `c ψ nach Definition, muß es also
Φ und ψ geben mit Φ 6` ψ, aber Φ `c ψ. Nun müßte Φ ∪ {¬ψ} `c ψ nach der Monotonie
gelten, andererseits gilt natürlich auch Φ ∪ {¬ψ} `c ¬ψ. Damit ist aber die Konsistenzerhaltung
verletzt, denn Φ ∪ {¬ψ} ist wegen Φ 6` ψ konsistent.
2
4.1. FOLGERUNGSREGELN
75
Es ist dagegen möglich und sehr sinnvoll, die folgende beschränkte Version der Monotonie
zu fordern:
Definition 4.1.7 (beschränkt monoton): Eine Vervollständigung comp/`c /sel ist
beschränkt monoton (RMON) genau dann, wenn
• comp(Φ) ` ϕ, comp(Φ) ` ψ =⇒ comp(Φ ∪ {ϕ}) ` ψ,
• Φ `c ϕ, Φ `c ψ =⇒ Φ ∪ {ϕ} `c ψ,
• sel (I1 ) ⊆ I2 ⊆ I1 =⇒ sel (I1 ) ⊇ sel (I2 ).
Die Beschränkung besteht hier also darin, daß nur solche Formeln zu den Voraussetzungen Φ hinzugenommen werden dürfen, die ohnehin schon vervollständigt aus ihnen folgen.
Lemma 4.1.8:
Eine syntaktische bzw. modelltheoretische Vervollständigung ist genau dann beschränkt monoton, wenn die zugehörige vervollständigte Folgerungsrelation
beschränkt monoton ist.
Beweis: Im Falle der syntaktischen Vervollständigung ist die Übereinstimmung offensichtlich.
Zu zeigen ist also nur noch: sel beschränkt monoton ⇐⇒ `sel beschränkt monoton“.
”
• =⇒ “: Gelte also Φ `sel ϕ und Φ `sel ψ, und sei zur Abkürzung IΦ := Mod (Φ),
”
Iϕ := Mod (ϕ) und Iψ := Mod (ψ). Dann gilt sel (IΦ ) ⊆ IΦ ∩Iϕ ⊆ IΦ (wegen sel (IΦ ) ⊆ Iϕ ).
Also folgt sel (IΦ ) ⊇ sel (IΦ ∩ Iϕ ). Nun gilt aber nach Voraussetzung sel (IΦ ) ⊆ Iψ , damit
gilt erst recht sel (IΦ ∩ Iϕ ) ⊆ Iψ , d.h. Φ ∪ {ϕ} `sel ψ.
• ⇐= “: Gelte sel (I1 ) ⊆ I2 ⊆ I1 . Für Φ := Th(I1 ), ϕ := th(I2 ) und ψ := th sel (I1 ) gilt
”
dann gerade Φ `sel ϕ und Φ `sel ψ, also Φ ∪ {ϕ} `sel ψ, d.h. sel (I1 ∩ I2 ) ⊆ sel (I1 ), also
schließlich sel (I2 ) ⊆ sel (I1 ).
2
Die teilweise Umkehrung der beschränkten Monotonie ist folgende Schlußregel:
Φ `c ϕ, Φ ∪ {ϕ} `c ψ =⇒ Φ `c ψ.
Sie ist ein Spezialfall der bekannten Schnittregel:
Φ1 `c ϕ0 ∨ ϕ, Φ2 ∪ {ϕ} `c ψ =⇒ Φ1 ∪ Φ2 `c ϕ0 ∨ ψ
(für Φ1 := Φ2 := Φ und ϕ0 := false). Die allgemeine Schnittregel kann man nicht erwarten,
denn sie impliziert die Monotonie (für ϕ := false und ψ := false)
Φ1 `c ϕ0 =⇒ Φ1 ∪ Φ2 `c ϕ0 ,
gilt also nach Satz 4.1.6 nur für die logische Folgerung `. Die beschränkte Schnittregel
ist dagegen eine sinnvolle Eigenschaft von Vervollständigungen:
Definition 4.1.9 (Beschränkte Schnittregel): Eine Vervollständigung comp/`c /sel
erfüllt die beschränkte Schnittregel (RCUT) genau dann, wenn
• comp(Φ) ` ϕ, comp(Φ ∪ {ϕ}) ` ψ =⇒ comp(Φ) ` ψ,
• Φ `c ϕ, Φ ∪ {ϕ} `c ψ =⇒ Φ `c ψ,
• sel (I1 ) ⊆ I2 ⊆ I1 =⇒ sel (I1 ) ⊆ sel (I2 ).
76
KAPITEL 4. EIGENSCHAFTEN VON VERVOLLSTÄNDIGUNGEN
Lemma 4.1.10: Eine syntaktische bzw. modelltheoretische Vervollständigung erfüllt die
beschränkte Schnittregel genau dann, wenn die zugehörige vervollständigte Folgerungsrelation sie erfüllt.
Beweis: Im Falle der syntaktischen Vervollständigung ist die Übereinstimmung wieder offensichtlich. Zu zeigen ist also nur noch: sel erfüllt RCUT ⇐⇒ `sel erfüllt RCUT“.
”
• =⇒ “: Aus Φ `sel ϕ folgt mit den üblichen Abkürzungen wieder sel (IΦ ) ⊆ IΦ ∩ Iϕ ⊆ IΦ .
”
Da sel die Eigenschaft RCUT nach Voraussetzung erfüllt, gilt also sel (IΦ ) ⊆ IΦ ∩ Iϕ .
Zusammen mit Φ ∪ {ϕ} `sel ψ, d.h. sel (IΦ ∩ Iϕ ) ⊆ Iψ , folgt sel (IΦ ) ⊆ Iψ , d.h. Φ `sel ψ.
• ⇐= “: Gelte sel (I1 ) ⊆ I2 ⊆ I1 und sei Φ := Th(I1 ), ϕ := th(I2 ) und ψ := th sel (I2 ) .
”
Dann folgt Φ `sel ϕ. Außerdem gilt wegen I1 ∩ I2 = I2 trivialerweise Φ ∪ {ϕ} `sel ψ. Da
`sel die Eigenschaft RCUT hat, folgt Φ `sel ψ, d.h. sel (I1 ) ⊆ sel (I2 ).
2
Die beschränkte Schnittregel impliziert übrigens die Idempotenz von sel , d.h.
sel sel (I) = sel (I)
(man setze I2 := sel (I1 )). Es ist ja auch sehr naheliegend, zu fordern, daß nach Auswahl
der intendierten Modelle eine weitere Anwendung von sel wirkungslos bleiben sollte.
Eine Verallgemeinerung davon, die Zusammenfassung der beschränkten Monotonie
und der beschränkten Schnittregel ergibt nun die Kumulierung. Sie ist eine grundlegende
und sehr nützliche Eigenschaft von Vervollständigungen:
Definition 4.1.11 (kumulierend): Eine Vervollständigung comp/`c /sel ist kumulierend (CUM) genau dann, wenn
• comp(Φ) ` ϕ =⇒ comp(Φ ∪ {ϕ}) ∼
= comp(Φ),
• Φ `c ϕ =⇒ Φ ∪ {ϕ} `c ψ ⇐⇒ Φ `c ψ ,
• sel (I1 ) ⊆ I2 ⊆ I1 =⇒ sel (I1 ) = sel (I2 ).
Aus der modelltheoretischen Sicht bedeutet diese Eigenschaft, daß sich die Menge der
intendierten Modelle nicht dadurch ändern sollte, daß ohnehin nicht intendierte Modelle
explizit ausgeschlossen werden.
Bei Datenbanken entspricht das der Materialisierung einer Sicht“: Wenn einige Fol”
gerungen aus der vervollständigten Axiomenmenge sehr häufig berechnet werden, bietet
es sich an, sie in der Datenbank explizit abzuspeichern. Die Kumulation besagt nun, daß
dies möglich ist, ohne das Antwortverhalten der Datenbank zu ändern.
Die Kumulation ist also ähnlich wie die Konsistenzerhaltung eine Eigenschaft, die eine
gute Vervollständigung unbedingt haben sollte.
Lemma 4.1.12: Eine syntaktische bzw. modelltheoretische Vervollständigung ist genau
dann kumulierend, wenn die zugehörige vervollständigte Folgerungsrelation kumulierend
ist.
Beweis: Da die Kumulation eine offensichtliche Zusammensetzung der Eigenschaften RMON
und RCUT ist, folgt die Behauptung direkt aus Lemma 4.1.8 und Lemma 4.1.10.
2
4.1. FOLGERUNGSREGELN
77
Die Folgerungsregeln beschränkte Monotonie und beschränkte Schnittregel wurden in
[Gab85] eingeführt, die Kumulierung in [Mak89]. Dort wurde auch gezeigt, daß etwa
die Default-Logik nicht immer kumulierend ist. In [Bra90b] wurde gezeigt, daß auch die
Circumscription erster Stufe diese Regel verletzen kann. In der Theorie der Wahlverfahren ist eine Eigenschaft, die der beschränkten Monotonie entspricht, schon seit mindestens
1975 bekannt [Mou85] ( Aizerman-Eigenschaft“).
”
Die Deduktions-Eigenschaft
Als nächstes sei die Regel von der Einführung der Implikation →“ untersucht:
”
c
c
Φ ∪ {ψ1 } ` ψ2 =⇒ Φ ` ψ1 → ψ2 .
Dies ist auch das Deduktionstheorems [BN77] (bzw. die eine Richtung davon [BW91]).
Da diese Regel nicht linksstabil ist, ist es auch nicht überraschend, daß sie nicht
für beliebige Vervollständigungen gilt. Es wird sich aber herausstellen, daß es sowohl
vernünftige Vervollständigungen gibt, für die sie gilt (nämlich die minimalen Modelle),
als auch solche, für die sie nicht gilt (z.B. die GCWA). Damit kann diese Regel also zur
Klassifikation von Vervollständigungen dienen, und nicht (wie Konsistenzerhaltung und
Kumulierung) zur Ausscheidung ungeeigneter Vervollständigungen.
Beispiel 4.1.13: Wie oben schon erwähnt, verletzt die GCWA [Min82] diese Regel.
Die zugrundeliegenden Defaults sind hier ¬p und ¬q. Die einzige Besonderheit tritt
bei Φ := {p ∨ q} auf, dort stehen die beiden Defaults im Konflikt miteinander und es wird
keiner von beiden angenommen.
Φ
false
¬p, ¬q
¬p, q
¬p
p, ¬q
¬q
p ↔ ¬q
¬p ∨ ¬q
p, q
p↔q
q
¬p ∨ q
p
p ∨ ¬q
p∨q
true
[pq] [pq̄] [p̄q] [p̄q̄] comp(Φ)
false
• ¬p, ¬q
•
¬p, q
◦ • ¬p, ¬q
•
p, ¬q
◦
• ¬p, ¬q
• •
p ↔ ¬q
◦ ◦ • ¬p, ¬q
•
p, q
◦
• ¬p, ¬q
◦
•
¬p, q
◦
◦ • ¬p, ¬q
◦ •
p, ¬q
◦ ◦
• ¬p, ¬q
• • •
p∨q
◦ ◦ ◦ • ¬p, ¬q
Wie in Beispiel 4.1.2 wird hier die Vervollständigung durch Auflisten der Selektionsfunk-
78
KAPITEL 4. EIGENSCHAFTEN VON VERVOLLSTÄNDIGUNGEN
tion auf den Modellen definiert: Für jede Menge von Modellen sind die intendierten
Modelle mit • gekennzeichnet und die übrigen mit ◦. Für diese Vervollständigung (die
GCWA) gilt
{p ∨ q} ∪ {p} `c ¬q
({p ∨ q} ∪ {p} ∼
= {p}),
aber es gilt nicht
{p ∨ q} `c p → ¬q
(p → ¬q ∼
= ¬p ∨ ¬q),
was nach dieser Regel gefolgert werden könnte.
Man beachte, daß das Verhalten für {p ∨ q} notwendig ist, wenn man echte Disjunktionen wünscht (und kein exklusiv oder“). Andererseits ist das Verhalten für {p} gerade
”
die Annahme von negativen Grundliteralen als Default, die ja auch sehr natürlich ist.
Und die Gleichbehandlung äquivalenter Datenbanken {p ∨ q, p} und {p} ist für logische
Vervollständigungen unbedingt wünschenswert, wie in Kapitel 2 erläutert wurde.
2
Definition 4.1.14 (Deduktions-Eigenschaft): Eine Vervollständigung comp/`c /sel
hat die Deduktions-Eigenschaft (DED) genau dann, wenn (ϕ sei hier eine variablenfreie
Formel)
• comp Φ ∪ {ϕ} ` ψ =⇒ comp(Φ) ` ϕ → ψ.
• Φ ∪ {ϕ} `c ψ =⇒ Φ `c ϕ → ψ.
• sel (I1 ) ∩ I2 ⊆ sel (I1 ∩ I2 ).
Aus modelltheoretischer Sicht bedeutet diese Eigenschaft also, daß Modelle, die auch
bei einer größeren Menge von Konkurrenten“ (I1 ) als intendierte Modelle ausgewählt
”
werden, erst recht in einer kleineren Menge (I1 ∩ I2 ) ausgewählt werden.
Für Datenbanken wird durch diese Eigenschaft die Information eingeschränkt, die
bei einer Einfügung hinzukommen bzw. bei einer Löschung verloren gehen kann: Wenn
nach der Einfügung von ϕ die Anfrage ψ mit Ja“ beantwortet wird, dann muß vor der
”
Einfügung schon ϕ → ψ mit Ja“ beantwortet worden sein.
”
Wie immer ist noch die Äquivalenz der verschiedenen Formalisierungen zu zeigen:
Lemma 4.1.15: Eine syntaktische bzw. modelltheoretische Vervollständigung hat die
Deduktions-Eigenschaft genau dann, wenn die zugehörige vervollständigte Folgerungsrelation sie hat.
Beweis: Die Äquivalenz der Forderungen für syntaktische und abstrakte Vervollständigungen
ist offensichtlich. Ebenso offensichtlich ist die Äquivalenz zu der Forderung
sel (I1 ∩ I2 ) ⊆ I =⇒ sel (I1 ) ⊆ I2 ∪ I
für modelltheoretische Vervollständigungen (I2 ist hier das Komplement von I2 bezüglich IΣ ,
d.h. IΣ − I2 ). Diese Forderung kann sofort äquivalent umgeformt werden in
sel (I1 ∩ I2 ) ⊆ I =⇒ sel (I1 ) ∩ I2 ⊆ I.
Wenn dies für alle I gilt, gilt es natürlich insbesondere auch für I := sel (I1 ∩ I2 ) und man erhält
(da die Voraussetzung trivialerweise erfüllt ist):
sel (I1 ) ∩ I2 ⊆ sel (I1 ∩ I2 ).
4.1. FOLGERUNGSREGELN
79
Hat man umgekehrt diese Eigenschaft und die Voraussetzung sel (I1 ∩I2 ) ⊆ I, dann folgt daraus
direkt sel (I1 ) ∩ I2 ⊆ I.
2
Die logische Folgerung erfüllt auch die Umkehrung der Deduktions-Eigenschaft. Für andere Vervollständigungen kann man diese Umkehrung aber nicht verlangen:
Satz 4.1.16: Die einzige konsistenzerhaltende Vervollständigung `c mit
Φ `c ϕ → ψ =⇒ Φ ∪ {ϕ} `c ψ
ist die logische Folgerung `.
Beweis: Sei `c verschieden von `. Dann gibt es also Φ und ϕ0 mit Φ `c ϕ0 , aber Φ 6` ϕ0 . Für
ϕ := ¬ϕ0 gilt dann also Φ `c ¬ϕ, und daher Φ `c ϕ → false. Nach der geforderten Eigenschaft
gilt dann Φ ∪ {ϕ} `c false. Andererseits ist Φ ∪ {ϕ} aber konsistent wegen Φ 6` ¬ϕ. Also ist `c
nicht konsistenzerhaltend.
2
Die Deduktions-Eigenschaft selbst ist dagegen sehr nützlich. So läßt sie etwa eine ganze
Reihe unterschiedlicher Formulierungen zu, die allesamt äquivalent sind.
Ein Beispiel ist die Folgerungsregel von der Eliminierung der Disjunktionen:
Satz 4.1.17: Eine Vervollständigung comp/`c /sel hat die Deduktions-Eigenschaft genau
dann, wenn gilt (Eigenschaft DIS, ϕ1 und ϕ2 seien variablenfreie Formeln):
• comp(Φ) ` ϕ1 ∨ ϕ2 , comp(Φ ∪ {ϕ1 }) ` ψ, comp(Φ) ∪ {ϕ2 } ` ψ =⇒ comp(Φ) ` ψ.
• Φ `c ϕ1 ∨ ϕ2 , Φ ∪ {ϕ1 } `c ψ, Φ ∪ {ϕ2 } `c ψ =⇒ Φ `c ψ.
• sel (I1 ∪ I2 ) ⊆ sel (I1 ) ∪ sel (I2 ).
Beweis: Die Äquivalenz der Formulierung für vervollständigte Folgerungsrelationen und syntaktische Folgerungsrelationen ist in beiden Fällen offensichtlich, folgt also aus der Behauptung
für `c .
Sei also zunächst die Aussage für vervollständigte Folgerungsrelationen bewiesen:
• DIS =⇒ DED“: Es gilt Φ `c (ϕ → ψ) ∨ ϕ, denn (ϕ → ψ) ∨ ϕ ist äquivalent zu
”
¬ϕ ∨ ψ ∨ ϕ und damit zu true, wird also von beliebigem Φ schon logisch impliziert. Nach
Voraussetzung gilt Φ ∪ {ϕ} `c ψ, und daher Φ ∪ {ϕ} `c ϕ → ψ. Außerdem gilt natürlich
Φ ∪ {ϕ → ψ} `c ϕ → ψ. Wendet man die Regel DIS auf diese drei Voraussetzungen an, so
erhält man die Behauptung Φ `c ϕ → ψ.
• DED =⇒ DIS“: Nach Voraussetzung gelten Φ `c ϕ1 ∨ ϕ2 , Φ ∪ {ϕ1 } `c ψ und
”
Φ ∪ {ϕ2 } `c ψ. Die zweite und dritte Forderung kann man mit DED umformen zu
Φ `c ϕ1 → ψ und Φ `c ϕ2 → ψ. Nun folgt aber ϕ `c ψ aus dem Abschluß unter ∧
und `c , denn {ϕ1 ∨ ϕ2 , ϕ1 → ψ, ϕ2 → ψ} ` ψ.
Nun ist die Aussage noch für modelltheoretische Vervollständigungen zu beweisen:
• DIS =⇒ DED“: Ein Spezialfall der Eigenschaft DIS ist
”
sel (I1 ∩ I2 ) ∪ (I1 ∩ I2 ) ⊆ sel (I1 ∩ I2 ) ∪ sel (I1 ∩ I2 ).
Offensichtlich kann man die linke Seite zu sel (I1 ) vereinfachen. Schneidet man nun auf
beiden Seiten mit I2 , so ergibt sich die Behauptung:
sel (I1 ) ∩ I2 ⊆ sel (I1 ∩ I2 )
80
KAPITEL 4. EIGENSCHAFTEN VON VERVOLLSTÄNDIGUNGEN
(wegen sel (I1 ∩ I2 ) ⊆ I2 kann der entsprechende Teilterm entfallen).
• DED =⇒ DIS“: Zwei Spezialfälle der Eigenschaft DED sind:
”
sel (I1 ∪ I2 ) ∩ I1 ⊆ sel (I1 ∪ I2 ) ∩ I1 ) ,
sel (I1 ∪ I2 ) ∩ I2 ⊆ sel (I1 ∪ I2 ) ∩ I2 ) .
Vereinigt man die linken und rechten Seiten und nimmt die offensichtlichen Vereinfachungen vor, so erhält man
sel (I1 ∪ I2 ) ∩ (I1 ∪ I2 ) ⊆ sel (I1 ) ∪ sel (I2 ).
Nun ist aber ohnehin sel (I1 ∪ I2 ) ⊆ I1 ∪ I2 , man kann die linke Seite also noch weiter zu
sel (I1 ∪ I2 ) vereinfachen und erhält damit gerade die Eigenschaft DIS.
2
Ein Spezialfall der Eliminierung der Disjunktion ist das Beweisschema der Fallunterscheidung. Tatsächlich ist es aber im Kontext von Vervollständigungen sogar äquivalent zur
Deduktions-Eigenschaft:
Satz 4.1.18: Eine Vervollständigung `c hat die Deduktions-Eigenschaft genau dann,
wenn
Φ ∪ {ϕ} `c ψ, Φ ∪ {¬ϕ} `c ψ =⇒ Φ `c ψ
(dabei sei ϕ wieder eine vriablenfreie Formel).
Beweis:
• Offensichtlich impliziert die Eigenschaft DIS diese Folgerungsregel (für ϕ1 := ϕ und
ϕ2 := ¬ϕ gilt trivialerweise Φ `c ϕ1 ∨ ϕ2 ).
• Übersetzt man diese Folgerungsregel in die modelltheoretische Sprechweise, so erhält man
sel (IΦ ∩ Iϕ ) ⊆ Iψ , sel (IΦ ⊆ Iϕ ) ⊆ Iψ
=⇒ sel (IΦ ) ⊆ Iψ .
Für Iψ := sel (IΦ ∩ Iϕ ) ∪ sel (IΦ ⊆ Iϕ ) sind die Voraussetzungen trivialerweise erfüllt, und
es ergibt sich
sel (IΦ ) ⊆ sel (IΦ ∩ Iϕ ) ∪ sel (IΦ ∩ Iϕ ).
Schneidet man nun auf beiden Seiten mit Iϕ , so ergibt sich
sel (IΦ ) ∩ Iϕ ⊆ sel (IΦ ∩ Iϕ ),
also die Deduktions-Eigenschaft.
2
Wieder wird also die Information beschränkt, die verloren geht, wenn eine Formel aus der
Datenbank gelöscht wird: Wenn es für eine Anfrage ψ keinen Unterschied macht, ob die
Formel ϕ oder ihre Negation ¬ϕ in der Datenbank enthalten sind, dann sollte es auch
möglich sein, diese Formel ganz zu löschen.
Es gibt noch eine ganze Reihe weiterer äquivalenter Formulierungen. So kann man
etwa die Eigenschaft DIS vereinfachen zu
Φ ∪ {ϕ1 } `c ψ, Φ ∪ {ϕ2 } `c ψ =⇒ Φ ∪ {ϕ1 ∨ ϕ2 } `c ψ.
4.2. MODELLTHEORETISCHE EIGENSCHAFTEN
81
Auch muß die Formulierung für syntaktische Vervollständigungen sich nicht immer an der
Formulierung für vervollständigte Folgerungsrelationen orientieren, so kann man etwa
comp(Φ) ∪ {ϕ} ` comp Φ ∪ {ϕ}
direkt aus der modelltheoretischen Fassung der Eigenschaft DED ableiten. Diese letzte
Eigenschaft besagt, daß alle Defaults, die beim Vorliegen von mehr Information (Φ ∪ {ϕ})
angenommen werden, erst recht bei weniger Information angenommen werden (Φ). Dies
ist insofern natürlich, als Defaults ja gerade aufgrund von mangelnder Information angenommen werden sollen.
Die Deduktions-Eigenschaft wurde in [Sho87] betrachtet. In der Theorie der Wahlverfahren wurde eine entsprechende Eigenschaft 1954 von Chernoff eingeführt [Mou85].
4.2
Modelltheoretische Eigenschaften
Im folgenden werden noch einige Eigenschaften betrachtet, die keine direkte Beziehung
zu Folgerungsregeln haben, aber in der modelltheoretischen Sichtweise recht einleuchtend
sind. Auch Beziehungen zwischen Vervollständigungen werden untersucht.
Die Expansions-Eigenschaft
Während die Deduktions-Eigenschaft die Information begrenzt, die verloren geht, wenn
die Voraussetzungen Φ schwächer werden, begrenzt die folgende Eigenschaft die Information, die in diesem Fall gewonnen werden kann. Es mag zunächst nicht intuitiv einleuchten, daß in diesem Fall überhaupt Information gewonnen werden kann, aber das liegt
an dem nichtmonotonen Charakter der Vervollständigungen: Wenn die gelöschte Formel
etwa gerade einen Default blockierte, kann dieser anschließend angenommen werden.
Definition 4.2.1 (Expansions-Eigenschaft): Eine Vervollständigung comp/`c /sel
hat die Expansions-Eigenschaft (EXP) genau dann, wenn gilt:
• comp Φ ∪ {ϕ1 } ∪ comp Φ ∪ {ϕ2 } ` comp Φ ∪ {ϕ1 ∨ ϕ2 } .
• Φ ∪ {ϕ1 ∨ ϕ2 } `c ψ =⇒ es gibt ψ1 , ψ2 ∈ L∗ mit ψ1 ∧ ψ2 ∼
= ψ und
Σ
c
Φ ∪ {ϕ1 } ` ψ1 , Φ ∪ {ϕ2 } `c ψ2 .
• sel (I1 ) ∩ sel (I2 ) ⊆ sel (I1 ∪ I2 ).
In der modelltheoretischen Sicht besagt diese Eigenschaft, daß ein Modell, das sowohl
im Vergleich mit einer Menge I1 von alternativen Modellen intendiert ist, als auch im
Vergleich mit I2 , dann auch in ihrer Vereinigung ausgewählt werden sollte.
Lemma 4.2.2: Eine syntaktische bzw. modelltheoretische Vervollständigung hat genau
dann die Eigenschaft EXP, wenn die zugehörige vervollständigte Folgerungsrelation die
Eigenschaft EXP hat.
82
KAPITEL 4. EIGENSCHAFTEN VON VERVOLLSTÄNDIGUNGEN
Beweis:
• Habe comp die Expansions-Eigenschaft und gelte Φ ∪ {ϕ1 ∨ ϕ2 } `comp ψ. Dies bedeutet
definitionsgemäß comp Φ ∪ {ϕ1 ∨ ϕ2 } ` ψ. Dann gilt natürlich
comp Φ ∪ {ϕ1 } ∪ comp Φ ∪ {ϕ2 } ` ψ,
und ψ folgt schon aus einer endlichen Teilmenge. Sei ψi0 die Konjunktion der benötigten
Formeln aus comp Φ ∪ {ϕi } (i = 1, 2). Dann gilt Φ ∪ {ϕ1 } `c ψ10 , Φ ∪ {ϕ2 } `c ψ20 und
{ψ10 ∧ ψ20 } ` ψ. Die Behauptung folgt nun für ψi := ψi0 ∨ ψ.
Habe umgekehrt `comp die Eigenschaft EXP und sei ψ ∈ comp Φ∪{ϕ1 ∨ϕ2 } beliebig.
Dann gilt Φ ∪ {ϕ1 ∨ ϕ2 } `comp ψ und daher gibt es ψ1 und ψ2 mit Φ ∪ {ϕ1 } `comp ψ1 ,
Φ ∪ {ϕ2 } `comp ψ2 und ψ1 ∧ ψ2 ∼
= ψ, also comp Φ ∪ {ϕ1 } ∪ comp Φ ∪ {ϕ2 } ` ψ.
• Habe sel die Expansions-Eigenschaft und gelte Φ ∪ {ϕ1 ∨ ϕ2 } `sel ψ. Sei zur Abkürzung
IΦ := Mod (Φ), I1 := Mod (ϕ1 ), I2 := Mod (ϕ2 ) und Iψ := Mod (ψ). Damit bedeutet die
Voraussetzung:
sel IΦ ∩ (I1 ∪ I2 ) = sel (IΦ ∩ I1 ) ∪ (IΦ ∩ I2 ) ⊆ Iψ .
Nach der Expansionseigenschaft ist nun
sel (IΦ ∩ I1 ) ∩ sel (IΦ ∩ I2 ) ⊆ sel (IΦ ∩ I1 ) ∪ (IΦ ∩ I2 ) ⊆ Iψ .
Daher gilt die Behauptung für ψi := th sel (IΦ ∩ Ii ) (i = 1, 2).
Habe umgekehrt `sel die Expansions-Eigenschaft. Trivialerweise gilt für Φ := ∅,
ϕ1 := th(I1 ), ϕ2 := th(I2 ) und ψ := th sel (I1 ∪ I2 ) , daß Φ ∪ {ϕ1 ∨ ϕ2 } `sel ψ. Nach
Voraussetzung gibt es nun ψ1 und ψ2 mit
Φ ∪ {ϕ1 } `sel ψ1 , Φ ∪ {ϕ2 } `sel ψ2 , {ψ1 ∧ ψ2 } ` ψ.
Dann gilt aber sel (I1 ) ∩ sel (I2 ) ⊆ Mod (ψ1 ) ∩ Mod (ψ2 ) ⊆ sel (I1 ∪ I2 ).
2
Die Expansions-Eigenschaft ist wichtig, weil sie es gestattet, von der Auswahl eines Modells in kleineren Modellmengen auf die Auswahl des Modells in größeren Mengen zu
schließen. Die Deduktions-Eigenschaft leistet gerade das Umgekehrte, zusammen hat
man:
sel (I1 ) ∩ sel (I2 ) ⊆ sel (I1 ∪ I2 ) ⊆ sel (I1 ) ∪ sel (I2 ),
also eine obere und eine untere Schranke für sel (I1 ∪ I2 ).
Vergleich der Stärke von Vervollständigungen
Natürlich ist es auch wichtig, das Verhalten verschiedener Default-Semantiken für dieselbe
Default-Spezifikation zu vergleichen.
Ein einfacher Zusammenhang ist hier, daß die intendierten Modelle bezüglich der einen
Vervollständigung immer eine Teilmenge der intendierten Modelle bezüglich der anderen
Vervollständigung sind:
4.3. VERVOLLSTÄNDIGUNGEN ALS SEMANTIK VON DEFAULTS
83
Definition 4.2.3 (Stärker als): Eine Vervollständigung comp 1 /`c1 /sel 1 ist stärker als
eine Vervollständigung comp 2 /`c2 /sel 2 genau dann, wenn gilt:
• comp 1 (Φ) ` comp 2 (Φ).
• Φ `c2 ψ =⇒ Φ `c1 ψ.
• sel 1 (I) ⊆ sel 2 (I).
In diesem Fall heißt comp 2 /`c2 /sel 2 schwächer als comp 1 /`c1 /sel 1 . Echt stärker heißt eine
Vervollständigung, wenn sie stärker ist, aber nicht schwächer.
Lemma 4.2.4:
Eine syntaktische bzw. modelltheoretische Vervollständigung ist genau dann stärker als eine andere, wenn dies auch für die zugehörigen vervollständigten
Folgerungsrelationen gilt.
Beweis:
• Sei comp 1 stärker als comp 2 . Gelte Φ `comp 2 ψ, d.h. comp 2 (Φ) ` ψ. Da comp 1 stärker
als comp 2 ist, gilt comp 1 (Φ) ` comp 2 (Φ) und damit comp 1 (Φ) ` ψ, also Φ `comp 1 ψ.
• Sei `comp 1 stärker als `comp 2 . Sei ψ ∈ comp 2 (Φ). Natürlich gilt Φ `comp 2 ψ, dann also
auch Φ `comp 1 ψ und daher comp 1 (Φ) ` ψ. Da dies für alle ψ ∈ comp 2 (Φ) gilt, folgt
comp 1 (Φ) ` comp 2 (Φ).
• Sei sel 1 stärker als sel 2 . Gilt Φ `sel 2 ψ, d.h. sel 2 Mod (Φ) ⊆ Mod (ψ), so gilt wegen
sel 1 Mod (Φ) ⊆ sel 2 Mod (Φ) auch sel 1 Mod (Φ) ⊆ Mod (ψ), d.h. Φ `sel 1 ψ.
• Sei `sel 1 stärker als `sel 2 . Dann wähle man Φ := Th(I) und ψ := th sel 2 (I) . Natürlich
gilt Φ `sel 2 ψ, also auch Φ `sel 1 ψ, dies bedeutet aber sel 1 (I) ⊆ sel 2 (I).
2
Die schwächste aller Vervollständigungen ist die logische Folgerung, die stärkste ist die
überall inkonsistente Vervollständigung. Interessanter werden solche extremalen Vervollständigungen natürlich, wenn man zusätzlich noch andere Eigenschaften fordert.
4.3
Vervollständigungen als Semantik von Defaults
Ziel dieser Untersuchungen ist ja eine Abbildung von Default-Spezifikationen (∆, <) auf
Vervollständigungen, die also die Semantik der Defaults definiert. Bisher wurde nur der
Wertebereich dieser Abbildung untersucht. So möchte man etwa für beliebige DefaultSpezifikationen garantieren können, daß die zugehörige Vervollständigung konsistenzerhaltend und kumulierend ist.
Die Definition spezieller solcher Abbildungen ist Gegenstand von Kapitel 5. Was
hier noch zu tun bleibt, ist Anforderungen an solche Abbildungen zu sammeln. Solange
man sich dabei nur auf ein Paar von Eingabe (Default-Spezifikation) und Ausgabe (Vervollständigung) bezieht, kann man dies auch als eine Eigenschaft von Vervollständigungen
auffassen, die mit einer Default-Spezifikation parametrisiert ist.
Obwohl der Ausprägungs-Mechanismus für die Defaults eigentlich Bestandteil der
Vervollständigung ist, wird er auch in den hier betrachteten Eigenschaften benötigt. Man
84
KAPITEL 4. EIGENSCHAFTEN VON VERVOLLSTÄNDIGUNGEN
kann ihn entweder als einen weiteren Parameter der Eigenschaften ansehen, oder einen
festen Ausprägungs-Mechanismus (die Grundbeispiel-Bildung) zugrunde legen.
Defaults als einziges Unterscheidungskriterium
Sei eine Menge ∆∗ von Default-Ausprägungen gegeben (die Prioritätsrelation spielt in
diesem Unterabschnitt keine Rolle). Man kann nun zwei Modelle als äquivalent ansehen,
wenn sie sich nicht in den Wahrheitswerten der δ ∈ ∆∗ unterscheiden:
Definition 4.3.1 (Äquivalenz bezüglich Defaults): Zwei Interpretationen I1 und I2
heißen äquivalent bezüglich ∆∗ (I1 ∼
=∆∗ I2 ) genau dann, wenn
I1 |= δ ⇐⇒ I2 |= δ
für alle δ ∈ ∆∗ gilt.
Wenn eine Vervollständigung auf ∆∗ basiert, so wird man erwarten, daß sie mit dieser
Äquivalenzrelation verträglich ist, also äquivalente Modelle entweder beide auswählt oder
beide ausscheidet.
Diese Forderung ist modelltheoretisch sehr einleuchtend. Bezogen auf syntaktische
Vervollständigungen besagt sie, daß die Vervollständigung durch eine aussagenlogische
Verknüpfung von Default-Ausprägungen geschieht:
Definition 4.3.2 (Verträglich mit Defaults): Eine Vervollständigung comp/`c /sel
heißt verträglich mit Default-Ausprägungen ∆∗ ( compatible with defaults“, CD) genau
”
dann, wenn
• Für alle Φ gibt es eine Menge E(Φ) von aussagenlogischen Verknüpfungen von Elementen aus ∆∗ , so daß comp(Φ) ∼
= Φ ∪ E(Φ).
• Für alle Φ gibt es eine Menge E(Φ) von aussagenlogischen Verknüpfungen von Elementen aus ∆∗ , so daß Φ `c ψ ⇐⇒ Φ ∪ E(Φ) ` ψ.
• Für alle I1 , I2 ∈ I: I1 ∼
=∆∗ I2 =⇒ I1 ∈ sel (I) ⇐⇒ I2 ∈ sel (I) .
Lemma 4.3.3: Eine syntaktische bzw. modelltheoretische Vervollständigung ist genau
dann verträglich mit ∆∗ , wenn dies auch für die zugehörige vervollständigte Folgerungsrelation gilt.
Beweis: Die Äquivalenz zwischen der Formulierung für syntaktische Vervollständigungen und
vervollständigte Folgerungsrelationen ist offensichtlich.
• Sei `sel verträglich mit ∆∗ , und seien I1 , I2 ∈ I mit I1 ∼
=∆∗ I2 . Es gibt nun eine aussagen
logische Verknüpfung der Defaults E Th(I) , so daß
Th(I) `sel ψ ⇐⇒ Th(I) ∪ E Th(I) ` ψ.
Sei ψi := th IΣ − {Ii } für i = 1, 2. Dann gilt
Th(I) `sel ψi ⇐⇒ Ii 6∈ sel (I).
4.3. VERVOLLSTÄNDIGUNGEN ALS SEMANTIK VON DEFAULTS
85
Andererseits gilt
Th(I) `sel ψi ⇐⇒ Ii 6|= E Th(I) .
Da I1 und I2 sich nicht in den Wahrheitswerten der Defaults unterscheiden, gilt dies
natürlich auch für Mengen aussagenlogischer Verknüpfungen, also
I1 6|= E Th(I) ⇐⇒ I2 6|= E Th(I) .
Zusammen mit den übrigen Äquivalenzen folgt I1 6∈ sel (I) ⇐⇒ I2 6∈ sel (I).
• Sei umgekehrt sel verträglich mit ∆∗ und sei Φ gegeben. Man konstruiert E(Φ) folgen
dermaßen: Für jedes Modell I ∈ sel Mod (Φ) sei E(I) die Konjunktion aller δ ∈ ∆∗
mit I |= δ und aller ¬δ mit I 6|= δ. Dann bestehe E(Φ) aus der Disjunktion aller dieser
Formeln. Da sel verträglich mit ∆∗ ist, gilt für jedes I ∈ Mod (Φ) nach Konstruktion
I |= E(Φ) =⇒ I ∈ sel Mod (Φ) . Daraus folgt aber
Φ `sel ψ ⇐⇒ Φ ∪ E(Φ) ` ψ,
denn die linke Seite bedeutet nach Definition: sel Mod (Φ) ⊆ Mod (ψ).
2
Eigenschaften dieser Art wurden in der Literatur offenbar noch nicht betrachtet; es stand
immer entweder die allgemeine Folgerungsrelation oder die spezielle Default-Semantik im
Vordergrund.
Ist ∆∗ leer, so ist intuitiv die einzige vernünftige Semantik die logische Folgerung.
Dies kann auch formal mit dieser Eigenschaft begründet werden: Die logische Folgerung
die einzige mit ∅ verträgliche konsistenzerhaltende Vervollständigung.
Man kann die Eigenschaft CD noch verstärken, wenn man statt der Äquivalenzrelation
eine Ordnung auf den Modellen betrachtet. Wird I1 ausgewählt und erfüllt I2 mindestens
dieselben Defaults, so sollte I2 erst recht ausgewählt werden.
Definition 4.3.4 (erfüllt Defaults ebenso gut wie): Eine Interpretation I1 erfüllt
die Default-Ausprägungen ∆∗ mindestens ebenso gut wie I2 (I1 ∆∗ I2 ) genau dann, wenn
I2 |= δ =⇒ I1 |= δ
für alle δ ∈ ∆∗ gilt.
Im Unterschied zu der in Kapitel 5 definierten Ordnung ist diese Relation nur transitiv
und nicht irreflexiv (verschiedene Modelle können dieselben Defaults erfüllen). Allerdings
ist die dort für Defaults ohne Prioritäten definierte Ordnung gerade der irreflexive Anteil dieser Ordnung. Für Defaults mit Prioritäten ist die dort definierte Ordnung eine
Obermenge, so daß diese Eigenschaft noch stärker würde. Hier sollen aber nur völlig unstrittige Forderungen aufgestellt werden, so daß die Semantik der Prioritäten besser noch
nicht festgelegt wird. Aber natürlich müssen Vervollständigungen mit Prioritäten erst
recht diese Eigenschaft erfüllen (es ist ja keine Entscheidung zwischen konkurrierenden
Defaults zu fällen):
86
KAPITEL 4. EIGENSCHAFTEN VON VERVOLLSTÄNDIGUNGEN
Definition 4.3.5 (Stark verträglich):
Eine Vervollständigung comp/`c /sel heißt
stark verträglich mit Default-Ausprägungen ∆∗ (Eigenschaft SCD) genau dann, wenn
• Für alle Φ gibt es eine Menge E(Φ) von ∧/∨-Verknüpfungen von Elementen aus ∆∗ ,
so daß comp(Φ) ∼
= Φ ∪ E(Φ).
• Für alle Φ gibt es eine Menge E(Φ) von ∧/∨-Verknüpfungen von Elementen aus ∆∗ ,
so daß Φ `c ψ ⇐⇒ Φ ∪ E(Φ) `c ψ.
• Für alle I1 , I2 ∈ I: I1 ∈ sel (I), I2 ∆∗ I1 =⇒ I2 ∈ sel (I).
Lemma 4.3.6:
Eine syntaktische bzw. modelltheoretische Vervollständigung ist genau dann stark verträglich mit ∆∗ , wenn dies auch für die zugehörige vervollständigte
Folgerungsrelation gilt.
Beweis: Der Beweis ist sehr ähnlich zu dem von Lemma 4.3.3. Die Unterschiede sind:
• In der Richtung von `sel nach sel hat man jetzt nur noch die Implikation:
I1 6|= E Th(I) ⇐= I2 6|= E Th(I) .
• In der anderen Richtung enthält E(I) jetzt nur noch die Konjunktion aller δ ∈ ∆∗ mit
I |= δ.
2
Die naive CWA
Die originale CWA [Rei78] nimmt ein negatives Grundliteral an, wenn das entsprechende
positive Grundliteral nicht aus den Axiomen folgt (siehe Kapitel 3). Die Verallgemeinerung auf beliebige Defaults und Prioritäten wird hier die naive CWA genannt, weil
sie verglichen mit den anderen Default-Semantiken so einfach ist (und um sie von der
vorsichtigen CWA in Kapitel 5 zu unterscheiden).
Diese Einfachheit hat bekanntlich den Preis, daß die naive CWA nicht konsistenzerhaltend ist, wenn zwei Defaults gleicher Priorität im Konflikt miteinander stehen (sie werden
dann beide angenommen). Andererseits ist diese Einfachheit ihre große Stärke: Sie ist so
einleuchtend, daß im Konsistenzfall jede gute Default-Semantik mit ihr übereinstimmen
sollte. Diese Eigenschaft wird NCWA-Eigenschaft genannt.
Falls keine Prioritäten spezifiziert sind, ist die naive CWA einfach
ncwa ∆ (Φ) := Φ ∪ {δ ∈ ∆∗ | Φ 6` ¬δ}.
Bei Prioritätsstufen wird diese Konstruktion entsprechend iteriert, im allgemeinen Fall
ergibt sich folgende Definition:
Definition 4.3.7 (Naive CWA): Die naive CWA wird induktiv über der Anzahl der
Elemente von ∆∗ definiert:
• Ist ∆∗ leer, so ist ncwa (∆∗ ,<) (Φ) := Φ.
• Sonst sei ∆∗δ := {δ0 ∈ ∆∗ | δ0 < δ} die Menge der Defaults echt höherer Priorität
als δ ∈ ∆∗ , und <δ sei die Restriktion von < auf ∆∗δ . Da diese Menge mindestens
4.3. VERVOLLSTÄNDIGUNGEN ALS SEMANTIK VON DEFAULTS
87
einen Default weniger enthält (δ), ist ncwa (∆∗δ ,<δ ) schon definiert. Nun sei
ncwa (∆∗ ,<) (Φ) := Φ ∪ {δ ∈ ∆∗ | ncwa (∆∗δ ,<δ ) 6` ¬δ}.
Schließlich sei ncwa (∆,<) := ncwa (∆∗ ,<) .
Falls es keine Prioritäten gibt, ist ∆∗δ leer, und die Definition vereinfacht sich zu
ncwa ∆ (Φ) := Φ ∪ {δ ∈ ∆∗ | Φ 6` ¬δ}
(wie bereits in Kapitel 3 angegeben). Es ist auch möglich, die naive CWA modelltheoretisch zu definieren, zur Vereinfachung wird hier nur die Version ohne Prioritäten angegeben:
\
Mod (δ).
ncwa ∆ (I) := I ∩
{δ∈∆∗ |Mod(δ)∩I6=∅}
Die Äquivalenz und die Verallgemeinerung auf Prioritäten sind offensichtlich. In Abschnitt 5.1 wird eine Charakterisierung mittels minimaler Modelle angegeben.
Definition 4.3.8 (NCWA-Eigenschaft): Eine Vervollständigung comp/`c /sel hat für
gegebenes (∆, <) die NCWA-Eigenschaft genau dann, wenn
• Ist ncwa (∆,<) (Φ) konsistent, so gilt comp(Φ) ∼
= ncwa (∆,<) (Φ).
• Ist ncwa (∆,<) (Φ) konsistent, so gilt Φ `c ψ ⇐⇒ ncwa (∆,<) (Φ) ` ψ.
• Ist ncwa (∆,<) (I) 6= ∅, so gilt sel (I) = ncwa (∆,<) (I).
Die Äquivalenz der verschiedenen Formulierungen ist offensichtlich.
Disjunktions-Eigenschaft für Defaults
Man kann die in Abschnitt 4.1 angegebenen Eigenschaften abschwächen, indem man
sie nicht für beliebige Formeln ψ fordert, sondern nur für Defaults. Die DeduktionsEigenschaft läßt sich etwa äquivalent in der folgenden Form aufschreiben:
Φ ∪ {ϕ1 } ` ψ, Φ ∪ {ϕ2 } ` ψ =⇒ Φ ∪ {ϕ1 ∨ ϕ2 } ` ψ.
Die vorsichtige CWA hat diese Eigenschaft nicht. Setzt man jedoch zusätzlich ψ ∈ ∆∗
voraus, so erhält man die folgende Eigenschaft, die auch von der vorsichtigen CWA erfüllt
wird (siehe Kapitel 5):
Definition 4.3.9 (Eigenschaft DDIS): Eine Vervollständigung comp/`c /sel hat die
Disjunktions-Eigenschaft für ∆∗ (Eigenschaft DDIS) genau dann, wenn
• comp Φ ∪ {ϕ1 } ` δ, comp Φ ∪ {ϕ2 } ` δ =⇒ comp Φ ∪ {ϕ1 ∨ ϕ2 } ` δ.
• Φ ∪ {ϕ1 } `c δ, Φ ∪ {ϕ2 } `c δ =⇒ Φ ∪ {ϕ1 ∨ ϕ2 } `c δ.
• sel (I1 ) ⊆ Mod (δ), sel (I2 ) ⊆ Mod (δ) =⇒ sel (I1 ∪ I2 ) ⊆ Mod (δ).
88
KAPITEL 4. EIGENSCHAFTEN VON VERVOLLSTÄNDIGUNGEN
Die Äquivalenz der verschiedenen Formulierungen ist offensichtlich.
Diese Eigenschaft bedeutet, daß wenn ein Default δ in Φ ∪ {ϕ1 } angenommen wird,
und in Φ ∪ {ϕ2 }, er dann auch in Φ ∪ {ϕ1 ∨ ϕ2 } angenommen werden sollte. Er kann dann
ja nicht durch Axiome blockiert werden und alle Konflikte mit anderen Defaults sind in
den beiden in der Voraussetzung genannten Axiomenmengen schon aufgetreten, dort hat
sich δ aber durchgesetzt.
Eine unmittelbare Folgerung aus der Definition und Satz 4.1.17 ist:
Korollar 4.3.10: Hat eine Vervollständigung die Deduktions-Eigenschaft, so hat sie
auch die Eigenschaft DDIS für beliebige ∆∗ .
Kapitel 5
Semantik von Defaults
In diesem Kapitel werden nun verschiedene konkrete Vorschläge für die Semantik von
Defaults angegeben.
Es wird dabei jeweils untersucht, welche der Eigenschaften aus dem letzten Kapitel
für beliebige Default-Spezifikationen garantiert werden können.
Außerdem ist auch die Ausdrucksfähigkeit der Semantiken interessant, d.h. die Frage,
welche Vervollständigungen durch geeignete Default-Spezifikationen beschrieben werden
können. Zwischen diesen beiden Zielen gibt es natürlich einen Konflikt: Je mehr Vervollständigungen beschrieben werden können, desto weniger Eigenschaften können garantiert werden.
Natürlich werden die verschiedenen Semantiken auch verglichen, insbesondere gibt
es Resultate der Form, daß eine Semantik grundsätzlich eine stärkere Vervollständigung
liefert als eine andere.
Schließlich ist es möglich, Default-Semantiken durch Eigenschaften zu charakterisieren. Damit wird die eingangs gestellte Frage, welche Vervollständigung einer DefaultSpezifikation zugeordnet werden sollte, zumindest relativ zu einer Menge von Eigenschaften beantwortet.
5.1
Minimale Modelle
Die Idee der minimalen Modelle ist, daß ein Modell um so besser ist, je mehr Defaults es
erfüllt. Aus den durch die Axiome eingeschränkten Modellen wählt man dann die besten
aus.
Tatsächlich kann man minimale Modelle aber auch unabhängig von Defaults betrachten, man braucht nur eine (strikte) partielle Ordnung auf den Herbrand-Interpretationen,
d.h. eine transitive und irreflexive zweistellige Relation.
Ist etwa I1 ≺ I2 , so hält man die durch I1 beschriebene Situation für plausibler als I2 .
Beispielsweise könnten sich I1 und I2 dadurch unterscheiden, daß der Vogel tweety in I1
fliegen kann, aber nicht in I2 . Da Vögel normalerweise fliegen können, würde man I1 vorziehen, wenn die Axiome beide Situationen zulassen. Ist dagegen explizit die Information
89
90
KAPITEL 5. SEMANTIK VON DEFAULTS
gegeben, daß tweety nicht fliegen kann, dann ist I1 ausgeschlossen und I2 ein intendiertes
Modell.
Dieses Beispiel entspricht natürlich gerade der Ordnung, die durch den Default Vögel
”
können normalerweise fliegen“ gegeben wäre. In diesem Abschnitt werden daher einerseits
allgemeine Präferenzrelationen ≺ betrachtet, und andererseits die durch eine Menge von
Defaults gegebene Ordnung ≺∆ . Später werden dann auch Ordnungen für Defaults mit
Prioritäten eingeführt, wobei die allgemeinen Resultate weiterhin gültig bleiben.
Definition 5.1.1 (Ordnungsrelation zu einer Menge von Defaults): Die zu einer
Menge ∆ von Defaults gehörige Ordnungsrelation ≺∆ auf den Herbrandmodellen ist
I1 ≺∆ I2 :⇐⇒ δ ∈ ∆∗ I1 |= δ ⊃ δ ∈ ∆∗ I2 |= δ .
Definition 5.1.2 (Minimale Modelle): Sei ≺ eine transitive und irreflexive Relation
auf den Herbrand-Interpretationen IΣ . Dann ist die modelltheoretische Vervollständigung min ≺ definiert durch
min ≺ (I) := {I ∈ I | es gibt kein I0 ∈ I mit I0 ≺ I}.
Für eine Menge ∆ von Defaults sei min ∆ := min ≺∆ .
Natürlich könnte man die Ordnungsrelation auch umdrehen und dann entsprechend von
maximalen Modellen“ sprechen. Der Name minimale Modelle hat sich aber eingebürgert,
”
weil die typischen Defaults Negationen sind. Dann interpretiert ein Modell, was maximal
viele Defaults erfüllt, die Prädikate gerade durch minimale Relationen.
Minimale Modelle in diesem Sinne wurden in [Dav80, McC80] eingeführt. Ein abstrakter Ansatz mit beliebigen Präferenzrelationen wurde in [Sho87] vorgeschlagen. Die
Beziehung zwischen Defaults und Ordnungsrelationen wurde in [BL89] ausführlich untersucht.
Beziehung zwischen Ordnungsrelationen und Defaults
Oben wurde definiert, welche Ordnungsrelation durch eine Menge von Defaults beschrieben ist. Tatsächlich kann man aber auch umgekehrt zu einer gegebenen Ordnungsrelation
eine Menge von Defaults konstruieren (unter den hier zugrundeliegenden Endlichkeitsannahmen). Das bedeutet, daß beliebige Ordnungsrelationen durch Defaults beschrieben
werden können:
Lemma 5.1.3: Zu jeder partiellen Ordnung ≺ auf den Herbrand-Interpretationen gibt
es eine Menge ∆ von Defaults, so daß ≺ = ≺∆ .
Beweis: Für jedes Herbrandmodell I sei δI := th {I} ∪ {I 0 ∈ IΣ | I 0 ≺ I} . Dann sei die
zu konstruierende Menge von Defaults: ∆ := {δI | I ∈ IΣ }. Diese Defaults sind variablenfreie
Formeln, es gilt also ∆∗ = ∆.
5.1. MINIMALE MODELLE
91
• Da die den Defaults entsprechenden Modellmengen nach unten abgeschlossen sind, folgt
aus I1 ≺ I2 und I2 |= δ natürlich I1 |= δ und damit gilt
I1 ≺ I2 =⇒ δ ∈ ∆∗ I1 |= δ ⊃ {δ ∈ ∆∗ | I2 |= δ}.
• Ist dagegen I1 6≺ I2 , dann gilt I2 |= δI2 , aber I1 6|= δI2 , also folgt 6⊃ und damit die
Richtung ⇐= .
2
Die Konstruktion der Defaults in dem Beweis ist nicht unrealistisch, zumindest erhält
man in dem Standardbeispiel (Minimierung der Prädikatextensionen) Konjunktionen von
negativen Grundliteralen, die man mit Satz 5.1.5 (s.u.) zu den üblichen negativen Grundliteralen vereinfachen kann.
Konjunktionen sind aber nicht immer überfüssig. Wenn man als Defaults nur Klauseln zuläßt, würde sich die Ausdrucksfähigkeit dieses Ansatzes verringern, nicht jede Ordnungsrelation wäre mehr darstellbar:
Beispiel 5.1.4: Seien die Interpretationen über einer Signatur mit den beiden Aussagenvariablen p und q betrachtet. Die Ordnung ≺ sei gegeben durch:
[p̄q̄] ≺ [p̄q] ≺ [pq̄] ≺ [pq]
(dies entspricht gerade den Defaults ¬p und ¬q, wobei ¬p höhere Priorität hat, s.u.).
Ziel ist es nun, eine passende Menge ∆ von Defaults zu konstruieren. Auf jeden Fall
muß in [p̄q̄] ein Default δ ∈ ∆ gelten, der in [p̄q] nicht gilt, sonst wäre [p̄q̄] 6≺∆ [p̄q̄]. Würde
δ aber in einer der beiden anderen Interpretationen [pq̄] und [pq] gelten, so müßte er auch
in [p̄q] gelten, denn sonst wäre [p̄q̄] 6≺∆ [pq̄] bzw. [p̄q̄] 6≺∆ [pq]. Da δ aber in [p̄q] gerade
nicht gilt, kann er also nur in [p̄q̄] gelten und in keiner der anderen Interpretationen.
Man kann nun aber leicht alle in Frage kommenden Klauseln durchgehen und feststellen, daß sie diese Bedingung nicht erfüllen. Man bräuchte hier die Konjunktion ¬p ∧ ¬q,
die aber keine Klausel ist.
2
Zwei verschiedene Ordnungsrelationen liefern auch immer zwei verschiedene Vervollständigungen, wie man an Axiomenmengen mit genau zwei Modellen sehen kann. Für Mengen von Defaults gilt das dagegen nicht, es ist durchaus möglich, daß ∆1 6= ∆2 , aber
min ∆1 = min ∆2 gilt.
Es ist nützlich zu wissen, wann Mengen von Defaults in diesem Sinne äquivalent sind,
etwa um Vereinfachungen vorzunehmen, oder um feststellen zu können, ob die Vorschläge
zweier verschiedener Entwerfer sich tatsächlich unterscheiden.
Man wird erwarten, daß Vervollständigungen keinen Unterschied zwischen äquivalenten Defaults machen; die folgende Aussage ist aber noch deutlich stärker:
Satz 5.1.5:
Seien ∆1 und ∆2 Mengen von Defaults, wobei jeder Default δ1 ∈ ∆∗1
äquivalent zu einer Verknüpfung mit ∧ und ∨ von Defaults aus ∆∗2 ist und umgekehrt
jeder Default δ2 ∈ ∆∗2 äquivalent zu einer ∧/∨-Verknüpfung von Defaults aus ∆∗1 ist.
Dann gilt min ∆1 = min ∆2 .
92
KAPITEL 5. SEMANTIK VON DEFAULTS
Beweis:
Gelte die Darstellbarkeit mit den jeweils anderen Defaults. Seien zwei beliebige
Interpretationen I und I 0 gegeben.
Zunächst wird gezeigt, daß es für jeden Default δ2 ∈ ∆∗2 mit I |= δ2 und I 0 6|= δ2 einen
Default δ1 ∈ ∆∗1 gibt mit I |= δ1 und I 0 6|= δ1 : Dies geschieht mit Induktion über dem Aufbau
eines zu δ2 äquivalenten Defaults δ̃2 aus ∆∗1 -Defaults. Ist δ̃2 ∈ ∆∗1 , so gilt die Behauptung
trivialerweise. Ist δ̃2 = δ̃2,1 ∨ δ̃2,2 , so muß in I mindestens ein δ̃2,i wahr sein, während in I 0 beide
falsch sind (insbesondere das δ̃2,i , das in I wahr ist). Dann folgt die Behauptung aber aus der
Induktionsannahme. Im Fall δ̃2 = δ̃2,1 ∧ δ̃2,2 ist eines der δ̃2,i in I 0 falsch und in I wahr, so daß
die Behauptung wieder auf die Induktionsannahme zurückgeführt werden kann.
Aus Symmetriegründen gibt es natürlich umgekehrt auch für jeden Default δ10 ∈ ∆∗1 mit
I 6|= δ10 und I 0 |= δ10 auch einen Default δ20 ∈ ∆∗2 mit I 6|= δ20 und I 0 |= δ20 .
Gelte nun I ≺∆1 I 0 . Dann gibt es einen Default δ1 ∈ ∆∗1 mit I |= δ1 und I 0 6|= δ1 und nach
der obigen Überlegung also auch einen Default δ2 ∈ ∆∗2 mit I |= δ2 und I 0 6|= δ2 . Umgekehrt gibt
es keinen Default δ10 mit I 6|= δ10 und I 0 |= δ10 . Dann kann es aber auch keinen Default δ20 ∈ ∆∗2
geben mit I 6|= δ20 und I 0 |= δ2 , denn daraus könnte man nach dem obigen so einen Default δ10
konstruieren. Also gilt I ≺∆2 I 0 .
Die andere Richtung I ≺∆2 I 0 =⇒ I ≺∆1 I 0 folgt wieder aus Symmetriegründen.
2
Offene Frage 5.1.6:
Dieses Kriterium für die Äquivalenz zweier Mengen von Defaults ∆1 und ∆2 , d.h. für min ∆1 = min ∆2 ist nur hinreichend, aber nicht notwendig.
Gibt es ein nichttriviales hinreichendes und notwendiges Kriterium?
In der Literatur wurden solche Fragestellungen offenbar noch nicht betrachtet, die Sätze
dieses Unterabschnittes sind beide neu.
Eigenschaften
Anschließend sollen die Eigenschaften der Vervollständigungen vom Typ minimale Mo”
delle“ untersucht werden. Es wird sich dabei zeigen, daß sie alle Eigenschaften aus Kapitel 4 haben.
Für den Nachweis dieser Eigenschaften ist das folgende Lemma nützlich, das etwas
stärker als die bloße Existenz eines minimalen Modells ist. Es gilt hier aufgrund der Endlichkeitsannahmen, im allgemeinen Fall ist der Beweis aber recht aufwendig und erfordert
etwa den Verzicht auf Existenzquantoren [BRL91]:
Lemma 5.1.7: Zu jedem Modell I einer Axiomenmenge Φ gibt es ein ≺-minimales
Modell I0 von Φ mit I0 ≺ I oder I0 = I.
Beweis: Falls I nicht minimal ist, gibt es dazu ein kleineres Modell I1 . Falls auch das noch
nicht minimal ist, gibt es dazu wieder ein kleineres Modell I2 , für das natürlich auch I2 ≺ I
gilt. Da es insgesamt nur endlich viele Modelle gibt und in der Folge I, I1 , I2 , . . . keines doppelt
auftreten kann, muß die Konstruktion schließlich mit einem minimalen Modell Ii enden. Dann
sei I0 := Ii .
2
5.1. MINIMALE MODELLE
93
Satz 5.1.8: Sei ≺ eine beliebige partielle Ordnung auf den Herbrand-Interpretationen.
• min ≺ ist konsistenzerhaltend (Eigenschaft CON).
• min ≺ ist kumulierend (Eigenschaft CUM).
• min ≺ hat die Deduktions-Eigenschaft (Eigenschaft DED).
• min ≺ hat die Expansions-Eigenschaft (Eigenschaft EXP).
Beweis:
• (CON): Die Konsistenzerhaltung folgt direkt aus Lemma 5.1.7.
• (CUM): Sei min ≺ (I1 ) ⊆ I2 ⊆ I1 . Zu zeigen ist min ≺ (I2 ) = min ≺ (I1 ).
Ist I ∈ min ≺ (I1 ), dann gilt nach Voraussetzung I ∈ I2 . Würde es in I2 ein kleineres
Modell geben, dann wäre dies wegen I2 ⊆ I1 auch in I1 , das ist aber wegen der Minimalität
von I in I1 nicht möglich. Also gilt I ∈ min ≺ (I2 ).
Ist umgekehrt I ∈ min ≺ (I2 ), so ist wegen I2 ⊆ I1 natürlich I ∈ I1 . Wäre nun
I 6∈ min ≺ (I1 ), so müßte es ein kleineres Modell I 0 ∈ I1 geben, und dazu nach Lemma 5.1.7
auch ein Modell I0 ∈ min ≺ (I1 ) mit I0 ≺ I 0 ≺ I oder I0 = I 0 ≺ I. Wegen min ≺ (I1 ) ⊆ I2
wäre dann aber I0 ∈ I2 , d.h. I wäre nicht minimal im Gegensatz zur Annahme.
• (DED): Zu zeigen ist sel (I1 ) ∩ I2 ⊆ sel (I1 ∩ I2 ). Sei also I ∈ sel (I1 ) ∩ I2 . Wegen
sel (I1 ) ⊆ I1 gilt dann natürlich I ∈ I1 ∩ I2 . Wäre nun I nicht minimal in I1 ∩ I2 , so
müßte es I 0 ∈ I1 ∩ I2 geben mit I 0 ≺ I. Dann wäre I aber erst recht nicht minimal in I1 ,
denn I 0 ∈ I1 . Das widerspricht der Voraussetzung I ∈ sel (I1 ).
• (EXP): Zu zeigen ist sel (I1 ) ∩ sel (I2 ) ⊆ sel (I1 ∪ I2 ). Sei I ∈ sel (I1 ) ∩ sel (I2 ). Dann gilt
natürlich I ∈ I1 ∪ I2 . Wäre I nicht minimal in I1 ∪ I2 , gäbe es I 0 ∈ I1 ∪ I2 mit I 0 ≺ I.
Es müßte dann I 0 ∈ I1 oder I 0 ∈ I2 gelten, dann wäre aber I in der betreffenden Menge
nicht minimal im Widerspruch zu I ∈ sel (I1 ) ∩ sel (I2 ).
2
Der Nachweis dieser Eigenschaften lehnt sich an Ergebnisse der Theorie der Wahlverfahren an [Mou85]. Die Kumulierung wurde unabhängig davon in [Mak89] bewiesen, die
Deduktions-Eigenschaft in [Sho87].
Ausdrucksfähigkeit
Als nächstes sollen die Vervollständigungen charakterisiert werden, die sich durch Präferenzrelationen auf den Modellen beschreiben lassen. Wenn man die charakterisierenden
Eigenschaften für natürlich und wünschenswert hält, kann man sich also auf Vervollständigungen dieser Klasse beschränken.
Satz 5.1.9: Sei sel eine modelltheoretische Vervollständigung mit den Eigenschaften
CON (Konsistenzerhaltung), CUM (Kumulierung), DED (Deduktions-Eigenschaft) und
EXP (Expansion). Dann gibt es eine partielle Ordnung ≺, so daß min ≺ = sel .
94
KAPITEL 5. SEMANTIK VON DEFAULTS
Beweis:
werden:
Die Ordnungsrelation ≺ kann einfach aus den Zweiervergleichen von sel abgeleitet
I1 ≺ I2 :⇐⇒ sel {I1 , I2 } = {I1 }, I1 6= I2
(falls sel {I1 , I2 } = {I1 , I2 }, sind I1 und I2 also unvergleichbar). Zunächst ist zu zeigen, daß es
sich dabei überhaupt um eine partielle Ordnung handelt. Die Irreflexivität folgt direkt aus der
Konstruktion, es fehlt also nur noch die Transitivität:
• Gelte I1 ≺ I2 und I2 ≺ I3 , d.h. sel {I1 , I2 } = {I1 } und sel {I2 , I3 } = {I2 }. Nach der
Eigenschaft DED in der Formulierung nach Satz 4.1.17 gilt einerseits
sel {I1 , I2 , I3 } ⊆ sel {I1 , I2 } ∪ sel {I2 , I3 } = {I1 , I2 }
und andererseits
sel {I1 , I2 , I3 } ⊆ sel {I1 , I2 } ∪ sel {I3 } = {I1 , I3 },
also folgt sel {I1 , I2 , I3 } = {I1 }. Dann ist aber sel {I1 , I2 , I3 } ⊆ {I1 , I3 } ⊆ {I1 , I2 , I3 }
und mit der Kumulierung folgt direkt sel {I1 , I3 } = {I1 }, d.h. I1 ≺ I3 .
Es ist jetzt natürlich noch zu zeigen, daß min ≺ = sel :
• ⊆“: Sei I0 ∈ min ≺ (I). Dann gilt für jedes I ∈ I, daß I0 ∈ sel {I0 , I} ist, denn sonst
”
wäre I ≺ I0 . Die Expansions-Eigenschaft liefert dann
[
\
{I0 , I} = sel (I).
I0 ∈
sel {I0 , I} ⊆ sel
I∈I
I∈I
• ⊇“: Sei I0 ∈ sel (I). Nach der Eigenschaft DED (in der Formulierung nach Satz 4.1.17)
”
gilt für jedes I ∈ I:
I0 ∈ sel (I) = sel {I0 , I} ∪ I − {I0 } ⊆ sel {I0 , I} ∪ sel I − {I0 } .
Da aber I0 6∈ sel I − {I0 } , muß I0 ∈ sel {I0 , I} gelten. Das bedeutet aber I 6≺ I0 . Da
das für jedes I gilt, ist I0 minimal und es folgt I0 ∈ min ≺ (I).
2
Die Umkehrung dieses Satzes (jede mit einer Präferenzrelation darstellbare Vervollständigung hat die vier Eigenschaften) gilt auch, siehe Satz 5.1.8.
Wegen Lemma 5.1.3 gibt es natürlich zu der Ordnung auch eine passende Menge von
Defaults:
Korollar 5.1.10: Sei sel eine Vervollständigung mit den Eigenschaften CON, CUM,
DED und EXP. Dann gibt es eine Menge ∆ von Defaults, so daß min ∆ = sel .
Satz 5.1.9 [Bra90a] ist eine Übersetzung eines entsprechenden Ergebnisses der Theorie
der Wahlverfahren [Mou85]. Auf diese Weise zahlt sich die in dieser Arbeit eingeführte
systematische Übersetzung der untersuchten Eigenschaften aus.
Eine ähnliche Fragestellung wurde in [KLM90] untersucht, dort wird aber ein eigens
zu diesem Zweck konstruierter Modellbegriff verwendet, daher wird eine Charakterisierung durch die drei Eigenschaften CON, CUM und DED erreicht. Diese Eigenschaften
implizieren nicht EXP.
5.1. MINIMALE MODELLE
95
Erweiterung auf priorisierte Defaults
Legt die Default-Spezifikation auch Prioritäten für die Defaults fest, so müssen diese
natürlich bei der Festlegung der zugehörigen Präferenzrelation auf den Modellen berücksichtigt werden. Bekanntlich wird ein Default mit höherer Priorität (also kleinerem `Wert) als wichtiger angesehen als beliebig viele Defaults niedrigerer Priorität. Daher
braucht man nur die Defaults auf der höchsten Prioritäts-Ebene zu berücksichtigen, auf
der sich die beiden Modelle in der Interpretation eines Defaults unterscheiden:
Definition 5.1.11 (Minimale Modelle mit Prioritäten):
Sei ∆ eine Menge von
Defaults und ` eine Stufeneinteilung von ∆. Die durch (∆, `) gegebene Präferenzrelation
ist
I1 ≺(∆,`) I2 :⇐⇒ es gibt ein
i ∈ IN mit
∗ δ ∈ ∆ `(δ) < i, I1 |= δ = δ ∈ ∆∗ `(δ) < i, I2 |= δ ,
δ ∈ ∆∗ `(δ) = i, I1 |= δ ⊃ δ ∈ ∆∗ `(δ) = i, I2 |= δ .
Die durch (∆, `) gegebene Vervollständigung vom Typ minimale Modelle ist
min (∆,`) := min ≺(∆,`) .
Lemma 5.1.12:
irreflexiv.
Die Relation ≺(∆,`) ist eine partielle Ordnung, also transitiv und
Beweis: Die Irreflexivität gilt direkt nach der Definition. Die Transitivität ist ebenfalls einfach:
Gelte I1 ≺(∆,`) I2 , wobei sich die beiden Modelle erstmals auf der Stufe i1 unterscheiden, und
gelte I2 ≺(∆,`) I3 aufgrund der Defaults der Stufe i2 . Dann wird die definierende Eigenschaft
von I1 ≺(∆,`) I3 für i := min(i1 , i2 ) erfüllt.
2
Da die Eigenschaften oben für beliebige Vervollständigungen des Typs minimale Mo”
delle“ nachgewiesen wurden, gelten sie natürlich auch, wenn die Präferenzrelation anders
konstruiert wurde.
Hinsichtlich der Eigenschaften und der Ausdrucksfähigkeit ist die Verallgemeinerung
auf priorisierte Defaults also nicht besonders interessant, aber sie vereinfacht die praktische Spezifikationsarbeit beträchtlich:
Beispiel 5.1.13: Sei der typische Fall priorisierter Defaults betrachtet, nämlich den
Default ¬p mit `(¬p) = 1 und den Default ¬q mit `(¬q) = 2. Nach der Konstruktion
in Beweis von Lemma 5.1.3 erhält man äquivalente nicht-priorisierte Defaults, wenn man
zu jedem Modell einen Default einführt, der in diesem Modell und allen kleineren gilt.
Danach braucht man also die vier Defaults:
¬p ∧ ¬q, ¬p, ¬p ∨ ¬q, true
(true ist natürlich überflüssig). Das Prinzip ist also, daß man sicherstellen muß, daß die
geringer priorisierten Defaults (¬q) automatisch erfüllt sind, wenn ein höher priorierter
Default gilt, daher die Disjunktion ¬p ∨ ¬q. Andererseits ist es natürlich noch besser,
wenn beide Defaults erfüllt sind: ¬p ∧ ¬q. Bei einem zusätzlichen Default ¬p0 der Stufe 1
96
KAPITEL 5. SEMANTIK VON DEFAULTS
erhält man:
¬p ∧ ¬p0 ∧ ¬q, ¬p ∧ (¬p0 ∨ q), ¬p0 ∧ (¬p ∨ q), ¬p, ¬p0 , ¬p ∨ ¬p0 ∨ q.
Diese Konstruktion wird also schnell sehr aufwendig. Wenn man natürlich anhand der
möglichen Axiomenmengen Φ weiß, daß ein Konflikt zwischen p0 und q nicht auftreten
kann, dann bekommt man wieder die obigen Defaults (plus ¬p0 ). Wenn man zusätzlich
weiß, daß p und q immer im Konflikt stehen, so kann man auch den Default ¬p ∧ ¬q weglassen. In jedem Fall sind Prioritäten aber wesentlich natürlicher als die so konstruierten
Defaults.
2
Exkurs: Iterative Minimale Modelle Semantik
Eine andere naheliegende Möglichkeit, Defaults mit Prioritäten eine Semantik zuzuordnen, ist eine iterative Konstruktion: Es werden erst die minimalen Modelle bezüglich der
Defaults höchster Priorität gebildet, dann unter diesen die minimalen bezüglich der Defaults der nächsten Stufe ausgewählt, und so weiter. Dieses Vorgehen ist natürlich nicht
nur für minimale Modelle möglich, sondern für beliebige Vervollständigungen.
Mindestens im Fall der minimalen Modelle ist die so konstruierte Vervollständigung
allerdings nicht äquivalent zur Verwendung der obigen Ordnungsrelation, sondern ist echt
stärker:
Satz 5.1.14: Sei ∆ eine Menge von Defaults und ` eine Einteilung von ∆ in n Stufen. Sei ∆i := {δ ∈ ∆ | `(δ) = i} für i = 1, . . . , n. Dann gilt für jede Menge I von
Interpretationen:
min (∆,`) (I) ⊇ min ∆n . . . min ∆1 (I) . . . .
Beweis:
Sei also I ∈ min ∆n (. . .). Angenommen, I 6∈ min (∆,`) (I). Dann gibt es I0 mit
I0 ≺(∆,`) I, d.h. für ein i ∈ IN ist
δ ∈ ∆∗ `(δ) < i, I0 |= δ = δ ∈ ∆∗ `(δ) < i, I |= δ ,
δ ∈ ∆∗ `(δ) = i, I0 |= δ ⊃ δ ∈ ∆∗ `(δ) = i, I |= δ .
Da I ∈ min ∆i−1 (. . .), und sich I0 von I nicht in der Interpretation dieser Defaults unterscheidet,
gilt natürlich I0 ∈ min ∆i−1 (. . .). Nun erfüllt I0 aber echt mehr Defaults der Stufe i, d.h. es gilt
I0 ≺∆i I. Dann ist aber
I 6∈ min ∆i (. . .),
und damit I 6∈ min ∆n (. . .) im Widerspruch zur Voraussetzung.
2
Der Grund für die stärkere Einschränkung der intendierten Modelle bei der iterativen
Konstruktion ist, daß hier bei der Auswahl von Defaults niedrigerer Priorität auch Modelle
verglichen werden, die schon bei den Defaults höherer Priorität unvergleichbar waren:
5.1. MINIMALE MODELLE
97
Beispiel 5.1.15: Sei eine Signatur mit den Aussagenvariablen p1 , p2 und q zugrunde
gelegt, und sei ∆1 := {¬p1 , ¬p2 } und ∆2 := {¬q}. Sei folgende Axiomenmenge gegeben:
Φ := {p1 ∨ p2 , p1 ∨ q}.
Es gibt dann zwei bezüglich ≺(∆,`) minimale Modelle: I1 := [p¯1 p2 q], das den Default ¬p1
erfüllt, und I2 := [p1 p¯2 q̄], das die Defaults ¬p2 und ¬q erfüllt. Bei der iterativen Konstruktion kommt dagegen nur I2 heraus, weil es bezüglich ∆1 nicht schlechter als I1 ist,
bezüglich ∆2 aber besser.
2
Es stellt sich nun die Frage, ob es auch eine Ordnungsrelation gibt, die gerade der iterativen Konstruktion entspricht.
Daß dies nicht der Fall ist, ja sogar die iterative Konstruktion unabhängig davon eine
schlechte Vervollständigung ist, zeigt das folgende Beispiel.
Beispiel 5.1.16: Sei eine Signatur mit den Aussagenvariablen p und q zugrunde gelegt,
und sei
∆1 := {¬p, ¬q, q},
∆2 := {p},
Φ := {p ∨ q}.
Bezüglich ≺(∆,`) sind die Modelle [p̄q] und [pq̄] minimal, das Modell [pq] wird dagegen
von [p̄q] geschlagen“.
”
Die Ordnungsrelation ≺∆1 liefert dieselben minimalen Modelle. Bezüglich ≺∆2 ist
aber [pq̄] kleiner als [p̄q], also ist bezüglich der iterativen Konstruktion [pq̄] das einzige
intendierte Modell und p folgt vervollständigt aus Φ.
Sei nun Φ0 := Φ∪{p} betrachtet. Da das Modell [p̄q] jetzt ausgeschlossen ist, sind beide
Modelle [pq̄] und [pq] minimal, und zwar sowohl bezüglich ≺∆1 als auch bezüglich ≺∆2 .
Daher hat sich die Menge der intendierten Modelle geändert, und während vorher
etwa ¬q folgte, gilt das jetzt nicht mehr. Dies ist aber eine Verletzung der KumulationsEigenschaft (und daher läßt sich die Vervollständigung natürlich nicht mittels minimaler
Modelle darstellen).
2
Es sei abschließend noch bemerkt, daß eine iterative Konstruktion, die der Ordnung ≺ (∆,`)
entspricht, schon möglich ist, man muß dann aber statt ≺∆i eine andere Ordnung verwenden:
Satz 5.1.17: Sei wieder ` eine n-Stufeneinteilung, ∆i := {δ ∈ ∆ | `(δ) = i} und sei ≺i
definiert durch:
I ≺i I 0 :⇐⇒ I ∼
=∆∗1 I 0 , . . . , I ∼
=∆∗i−1 I 0 , I ≺∆i I 0 .
Dann gilt für jede Menge I von Interpretationen:
min (∆,`) (I) = min ≺n . . . min ≺1 (I) . . . .
98
KAPITEL 5. SEMANTIK VON DEFAULTS
Beweis: Zunächst sei festgestellt, daß ≺i wirklich eine (strikte) partielle Ordnung ist (∼
=∆∗j
und ≺∆i sind beide transitiv, und ≺∆i ist irreflexiv).
• ⊆“: Sei I ∈ min (∆,`) (I). Angenommen I 6∈ min ≺i (. . .), aber I ∈ min ≺i−1 (. . .). Dann
”
gibt es also ein Modell I 0 mit I 0 ≺i I. Nach der Definition der beiden Ordnungsrelationen
folgt sofort, daß I 0 ≺(∆,`) I im Widerspruch zur Minimalität von I.
• ⊇“: Sei I 6∈ min (∆,`) (I). Also gibt es I 0 mit I 0 ≺(∆,<) I. Sei i die minimale Stufe, auf der
”
sich die beiden Modelle unterscheiden. Falls I 6∈ min ≺i−1 (. . .), ist nichts mehr zu zeigen.
Sonst ist aber auch I 0 ∈ min ≺i−1 (. . .), und nach der Konstruktion gilt I 0 ≺i I.
2
Natürlich kann man die Ordnungsrelationen ≺i auch durch Defaults spezifizieren. Man
wählt dazu etwa ∆0i := ∆1 ∪ · · · ∪ ∆i . Zwei auf niedrigerer Stufe nicht-äquivalente Modelle
sind dann nicht mehr vergleichbar.
Iterative Konstruktionen von Modellen sind für stratifizierte logische Programme üblich,
siehe etwa [ABW88, Llo87]. Dort treten die hier festgestellten Schwierigkeiten nicht auf,
weil es immer nur ein minimales Modell gibt.
Vergleichbar sind sonst noch die in [Lif85] vorgeschlagene Methode zur Berechnung
der priorisierten Circumscription und die in [Bre91] definierte priorisierte Version von
preferred subtheories“.
”
Neu ist der Nachweis der fehlenden Kumulierung und der allgemeine modelltheoretische Ansatz.
Erweiterung auf partiell geordnete Defaults
Falls die Default-Spezifikation nur eine partielle Ordnung auf den Defaults festlegt, kann
man die Präferenzrelation auf den Modellen folgendermaßen definieren:
Definition 5.1.18 (Minimale Modelle bei partiell geordneten Defaults): Sei ∆
eine Menge von Defaults und < eine partielle Ordnung auf ∆. Dann sei ≺(∆,<) definiert
durch
I1 ≺(∆,<) I2 :⇐⇒ Für alle δ2 ∈ ∆∗ mit I2 |= δ2 , I1 6|= δ2
gibt es δ1 ∈ ∆∗ , δ1 < δ2 mit I1 |= δ1 , I2 6|= δ1 .
Außerdem ist δ ∈ ∆∗ I1 |= δ 6= δ ∈ ∆∗ I2 |= δ .
Wieder schreibt man min (∆,<) für min ≺(∆,<) .
Ausgangspunkt für diese Ordnungsrelation ist natürlich wieder
I1 ≺∆ I2 :⇐⇒ δ ∈ ∆∗ I1 |= δ ⊃ δ ∈ ∆∗ I2 |= δ .
Ist ein Modell bereits nach dieser Ordnungsrelation nicht minimal, so soll es natürlich
auch bezüglich der neuen Ordnung nicht minimal sein, denn man möchte auf jeden Fall
mehr Defaults erfüllen, solange man auf keinen verzichten muß. Hat man nun eine Prioritätsrelation < auf den Defaults festgelegt, so läßt man eventuell eine Verletzung von ⊃“
”
zu (durch den Default δ2 ), falls man dafür einen Default höherer Priorität gewinnt (δ1 ).
Alternativ kann man die Relation ≺(∆,<) auch folgendermaßen definieren:
5.1. MINIMALE MODELLE
Lemma 5.1.19:
dann, wenn
99
Für alle ∆ und < und beliebige I1 , I2 ∈ IΣ gilt I1 ≺(∆,<) I2 genau
• Sei ∆0 die Menge der Defaults, in denen sich I1 und I2 unterscheiden, d.h.
∆0 := δ ∈ ∆∗ I1 |= δ, I2 6|= δ oder I1 6|= δ, I2 |= δ .
Dann gilt I1 |= δ für jedes <-minimale Element δ ∈ ∆0 . Außerdem ist ∆0 6= ∅.
Beweis: Die Zusatzforderungen (die Interpretationen unterscheiden sich im Wahrheitswert
wenigstens eines Defaults) sind offensichtlich äquivalent. Zu zeigen ist also nur die Äquivalenz
der Haupteigenschaften:
• Gelte I1 ≺(∆,<) I2 . Angenommen, I1 6|= δ für ein <-minimales Element δ ∈ ∆0 . Dann muß
nach Konstruktion von ∆0 gelten: I2 |= δ. Nach der Definition von ≺(∆,<) müßte es jetzt
aber einen Default δ1 geben mit I1 |= δ1 , I2 6|= δ1 und δ1 < δ. Das ist aber ein Widerspruch
zur Minimalität von δ in ∆0 .
• Gelte umgekehrt die Eigenschaft des Lemmas. Dann kann kein Default δ2 ∈ ∆∗ mit I1 6|= δ2
und I2 |= δ2 minimal in ∆0 sein, denn jeder solche Default müßte in I1 gelten. Also gibt
es einen Default δ1 ∈ ∆0 mit δ1 < δ2 , der zudem <-minimal gewählt werden kann. Dann
gilt aber I1 |= δ1 und nach Konstruktion von ∆0 auch I2 6|= δ1 .
2
Zu zeigen ist natürlich noch, daß es sich bei ≺(∆,<) überhaupt um eine partielle Ordnung
handelt:
Lemma 5.1.20:
irreflexiv.
Die Relation ≺(∆,<) ist eine partielle Ordnung, d.h. transitiv und
Beweis: Die Irreflexivität ist gerade durch die Zusatzforderung sichergestellt, es ist also nur
die Transitivität zu zeigen: Gelte I1 ≺(∆,<) I2 und I2 ≺(∆,<) I3 . Sei nun δ3 ∈ ∆∗ mit I3 |= δ
und I1 6|= δ.
• Gilt I2 6|= δ3 , so muß es δ2 ∈ ∆∗ mit δ2 < δ3 , I2 |= δ2 und I3 6|= δ2 geben.
• Andernfalls muß es δ1 ∈ ∆∗ geben mit δ1 < δ3 , I1 |= δ1 , I2 6|= δ1 .
Man wähle nun einen <-minimalen Default δ12 unter denen, die eine dieser beiden Bedingungen
erfüllen.
• Gilt I2 |= δ12 , I3 6|= δ12 , so muß auch I1 |= δ12 gelten, denn I1 ≺(∆,<) I2 und wegen der
Minimalität von δ12 kann es keinen höher priorisierten Default mehr geben, der in I1 gilt,
aber nicht in I2 .
• Gilt I1 |= δ12 , I2 6|= δ12 , so muß auch I3 6|= δ12 gelten, denn I2 ≺(∆,<) I3 und wegen der
Minimalität von δ12 kann es keinen höher priorisierten Default mehr geben, der in I2 gilt,
aber nicht in I3 .
Insgesamt hat man also δ12 < δ3 , I1 |= δ12 und I3 6|= δ12 .
Schließlich ist noch zu zeigen, daß sich I1 und I3 in dem Wahrheitswert von mindestens
einem Default unterscheiden. Natürlich müssen sich I1 und I2 in mindestens einem Default
unterscheiden, und auch I2 und I3 . Man wählt nun wieder einen <-minimalen Default, für den
eine der beiden Bedingungen gilt. Er ist in I1 wahr und in I3 falsch.
2
100
KAPITEL 5. SEMANTIK VON DEFAULTS
Das folgende Lemma zeigt, daß ≺(∆,<) tatsächlich eine Verallgemeinerung von ≺(∆,`) ist:
Lemma 5.1.21: Sei ∆ eine Menge von Defaults und ` eine Stufeneinteilung. Sei <
auf ∆ definiert durch:
δ < δ 0 :⇐⇒ `(δ) < `(δ 0 ).
Dann gilt ≺(∆,<) = ≺(∆,`) .
Beweis: Es leichter, die Äquivalenz zu der Eigenschaft aus Lemma 5.1.19 zu zeigen.
• Gelte I1 ≺(∆,<) I2 und sei ∆0 die Menge der Defaults, in denen sich I1 und I2 unterscheiden. Sei δ ein <-minimales Element von ∆0 . Dann gilt die definierende Eigenschaft von
I1 ≺(∆,`) I2 für i := `(δ).
• Gelte I1 ≺(∆,`) I2 und sei ∆0 wieder die Menge der Defaults, in denen sich I1 und I2
unterscheiden. Alle <-minimalen Elemente von ∆0 müssen nach Konstruktion von < von
derselben Stufe i sein. Die Modelle I1 und I2 unterscheiden sich also nicht in Defaults
kleinerer Stufe, und für alle Defaults δ der Stufe i, in denen sie sich unterscheiden, gilt
I1 |= δ. Das bedeutet aber I1 ≺(∆,<) I2 .
2
Beziehung zur naiven CWA
Es ist nun noch zu zeigen, daß die minimale Modelle Semantik die NCWA-Eigenschaft hat.
Zu diesem Zweck gibt der folgende Satz eine Charakterisierung der naiven CWA durch
minimale Modelle an, womit auch ein besseres Verständnis der naiven CWA erreicht wird:
Satz 5.1.22: I |= ncwa (∆,<) (Φ) genau dann, wenn I ∈ min (∆,<) Mod (Φ) und I ∼
= ∆∗ I 0
für alle I 0 ∈ min (∆,<) Mod (Φ) .
Beweis:
• Sei I ein Modell von ncwa (∆,<) (Φ). Wäre I 6∈ min (∆,<) Mod (Φ) , so müßte es ein Modell
I0 ∈ min (∆,<) Mod (Φ) geben mit I0 ≺(∆,<) I. Sei δ ∈ ∆∗ ein <-minimaler Default, in
dessen Wahrheitswert sich I und I0 unterscheiden. Wegen I0 ≺(∆,<) I muß also I0 |= δ
und I 6|= δ gelten. Das bedeutet δ 6∈ ncwa (∆,<) (Φ), was aber nach der Definition der
naiven CWA nicht möglich ist — I0 ist ja ein Modell von ncwa (∆∗δ ,<δ ) (Φ) ∪ {δ}, also gilt
ncwa (∆∗δ ,<δ ) (Φ) 6` ¬δ.
Angenommen, es gäbe jetzt noch ein weiteres Modell I 0 ∈ min (∆,<) Mod (Φ) , das
nicht dieselben Defaults erfüllt. Sei δ ∈ ∆∗ ein <-minimaler Default, in dem sich die
beiden Modelle unterscheiden. Wieder garantiert die Definition der naiven CWA, daß
I |= δ und I 0 6|= δ. Da das für alle solchen δ gilt, folgt I ≺(∆,<) I 0 im Widerspruch zur
Minimalität von I 0 .
• In der umgekehrten Richtung wird zunächst gezeigt, daß die naive CWA nur Defaults
annimmt, die in mindestens einem minimalen Modell gelten: Wird etwa δ ∈ ∆∗ angenommen, so gilt nach Konstruktion, daß ncwa (∆∗δ ,<) (Φ) ∪ {δ} konsistent ist. Sei I ein Modell
und I0 ein ≺(∆,<) -minimales Modell von Φ mit I0 ≺(∆,<) I oder I0 = I. Die Modelle I
und I0 können sich nicht im Wahrheitswert von δ und den höher priorisierten Defaults
5.2. DIE VORSICHTIGE CWA
101
unterscheiden, denn sonst müßten die <-minimalen unter diesen Defaults in I0 gelten und
nicht in I, das ist aber nach der Konstruktion der naiven CWA nicht möglich.
Gilt zusätzlich, daß alle minimalen Modelle äquivalent sind, so ist jedes minimale
Modell ein Modell der naiven CWA.
2
Für die modelltheoretische Fassung der naiven CWA gilt also:
min (∆,<) (I) falls I1 ∼
=∆∗ I2 für alle I1 , I2 ∈ min (∆,<) (I)
ncwa (∆,<) (I) :=
∅
sonst.
Daraus folgt sofort, daß die minimalen Modelle die NCWA-Eigenschaft haben:
Korollar 5.1.23: min (∆,<) hat die NCWA-Eigenschaft für (∆, <).
Außerdem ist es nun möglich, die minimale Modelle“ Semantik folgendermaßen zu cha”
rakterisieren:
Satz 5.1.24: min (∆,<) ist die schwächste Vervollständigung mit der NCWA-Eigenschaft
und der Deduktions-Eigenschaft.
Beweis: min (∆,<) hat jedenfalls diese beiden Eigenschaften. Sei sel eine beliebige andere Vervollständigung mit den Eigenschaften DED und NCWA. Zu zeigen ist sel (I) ⊆ min (∆,<) (I) für
alle I ⊆ IΣ . Angenommen, dies wäre nicht der Fall, es gäbe also I ∈ sel (I) mit I 6∈ min (∆,<) (I).
Dann gibt es natürlich I0 ∈ I mit I0 ≺(∆,<) I. Nach der obigen Charakterisierung der naiven
CWA gilt ncwa (∆,<) {I, I0 } = {I0 }. Also muß dies auch für sel gelten, sonst hätte es nicht die
NCWA-Eigenschaft. Nach der Deduktions-Eigenschaft gilt nun:
sel (I) ∩ {I, I0 } ⊆ sel {I, I0 } = {I0 }.
Daraus folgt I 6∈ sel (I) im Widerspruch zur Annahme.
2
Diese Charakterisierung ist neu und eines der interessantesten Ergebnisse dieser Arbeit.
Wenn man auf die Idee eines Systems des natürlichen Schließens für Vervollständigungen
zurückkommt, so bedeutet dieses Ergebnis, daß die Deduktionsregel mit den allgemeinen Folgerungsregeln vollständig ist, wenn sie auf die naive CWA als Axiomenschema“
”
angewendet wird.
Die Beziehung zwischen der naiven CWA und den minimalen Modellen ist in dieser
Allgemeinheit auch neu; nur in dem Spezialfall der originalen CWA [Rei78] ist schon lange
bekannt, daß sie gerade den Schnitt aller Herbrandmodelle beschreibt.
5.2
Die vorsichtige CWA
Die Annahmen der geschlossenen Welt ( closed world assumptions“, CWAs) sind eine
”
Klasse von syntaktischen Vervollständigungen. Zentral ist hier der Begriff der maximalen
Extension, der direkt formalisiert, daß so viele Defaults wie möglich angenommen werden
sollen, wobei aber natürlich die Konsistenz zu erhalten ist. Auch hier wird zunächst eine
Fassung ohne Prioritäten angegeben:
102
KAPITEL 5. SEMANTIK VON DEFAULTS
Definition 5.2.1 (Maximale Extension):
∆-Extension von Φ genau dann, wenn
Eine Teilmenge E ⊆ ∆∗ heißt maximale
• Φ ∪ E konsistent ist und
• Φ ∪ E ∪ {δ 0 } inkonsistent ist für alle δ 0 ∈ ∆∗ − E.
Diese Definition läßt verschiedene Umformulierungen zu. Beispielsweise ist eine maximale
Extension einfach ein ⊆-maximales Element unter allen Teilmengen von ∆∗ , die mit Φ
konsistent sind. Die zweite Bedingung kann man auch als Φ ∪ E ` ¬δ schreiben. In
dieser Hinsicht ähnelt eine maximale Extension der naiven CWA, nur werden auch die
anderen bereits angenommenen Defaults berücksichtigt, um die Konsistenz zu garantieren. Tatsächlich kann man auch maximale Extensionen auf diese Weise konstruieren:
Man betrachtet eine Aufzählung δ1 , δ2 , . . . , δn der Defaults und probiert für jeden Default
der Reihe nach aus, ob man ihn zu den bisher angenommenen Defaults hinzunehmen
kann, ohne die Konsistenz zu zerstören. Diese Konstruktion wird unten noch genauer
untersucht.
Beispiel 5.2.2: Es seien wieder die typischen Negations-Defaults bei disjunktiver Information betrachtet, also
∆ := {¬p, ¬q},
Φ := {p ∨ q}.
Hier gibt es zwei maximale Extensionen, nämlich E1 := {¬p} und E2 := {¬q}. Sie
sind zusammen mit Φ konsistent, aber würden inkonsistent, wenn man noch den jeweils
anderen Default hinzunehmen würde. Man kann diese maximalen Extensionen gerade
aus den beiden möglichen Reihenfolgen der Defaults konstruieren (¬p, ¬q und ¬q, ¬p):
Aufgrund des Axioms p ∨ q wird jeweils der erste Default angenommen und der zweite
zurückgewiesen. Es ist übrigens kein Zufall, daß die maximalen Extensionen gerade den
minimalen Modellen entsprechen. Dies gilt allgemein und wird unten noch bewiesen. 2
Mit den maximalen Extensionen hat man natürlich noch keine Vervollständigung definiert,
da es davon mehrere geben kann, eine Vervollständigung aber eindeutig bestimmt sein
muß. Das Problem mehrerer Extensionen läßt sich etwa auf folgende Arten lösen:
Erstens gibt es die leichtgläubige Sicht“. Sie erlaubt es, alles zu folgern, was aus
”
mindestens einer der maximalen Extensionen folgt. Eine Anfrage ψ wird also mit Ja“
”
beantwortet, wenn es eine maximale Extension E gibt mit Φ ∪ E ` ψ. Dies ist allerdings keine Vervollständigung in dem hier betrachteten Sinn, weil der Abschluß unter
Konjunktion nicht gewährleistet ist.
Zweitens kann man eine Extension auswählen (etwa über den Antwortalgorithmus
definiert), und dann nur Folgerungen aus dieser Extension zulassen. Diese Idee wird
unten noch als starke CWA“ untersucht. Tatsächlich werden über eine Implementierung
”
definierte Extensionen aber meist von der Schreibweise der Axiome abhängen, so daß die
grundlegende Forderung der Äquivalenzerhaltung nicht erfüllt wird.
Drittens kann man sich auch auf die Aussagen beschränken, die aus allen maximalen Extensionen folgen ( skeptische Sicht“). Es wird sich zeigen, daß dies gerade den
”
5.2. DIE VORSICHTIGE CWA
103
minimalen Modellen entspricht.
Viertens erlaubt die vorsichtige Sicht“ nur das zu folgern, was schon aus dem Schnitt
”
aller maximalen Extensionen folgt. Die vorsichtige Sicht liegt gerade der in diesem Abschnitt vorgeschlagenen Vervollständigung zugrunde.
Es handelt sich bei diesen vier Möglichkeiten um eine echte Hierarchie, d.h. von der
leichtgläubigen bis zur vorsichtigen Sicht kann zunehmend weniger gefolgert werden:
Beispiel 5.2.3:
Es sei wieder das Beispiel mit ∆ := {¬p, ¬q} und Φ := {p ∨ q}
betrachtet. Hier gab es die beiden Extensionen E1 := {¬p} und E2 := {¬q}.
Leichtgläubig kann man also p (aus E2 ) und ¬p (aus E1 ) folgern, nicht aber p ∧ ¬p.
Übrigens tritt dieses Problem immer auf, wenn es mehr als eine Extension gibt: Falls ein
Default δ in einer Extension enthalten ist, aber nicht in einer anderen, so muß aus dieser
ja ¬δ folgen.
Wenn man sich auf eine feste Extension bezieht, etwa E1 , kann man noch ¬p mit “Ja“
beantworten, aber nicht mehr p.
Die skeptische Sicht ist noch schwächer und erlaubt nur, ¬p ∨ ¬q zu schließen (entsprechend den minimalen Modellen).
Für die vorsichtige Sicht gilt auch dies nicht mehr: Der Schnitt der maximalen Extensionen ist leer, es können also nur noch logische Folgerungen gebildet werden. Dies
entspricht gerade dem Verhalten der GCWA [Min82], Disjunktionen als inklusives oder“
”
zu interpretieren.
2
Definition 5.2.4 (Vorsichtige CWA): Die durch ∆ gegebene vorsichtige CWA ist
cwa ∆ (Φ) := Φ ∪ δ ∈ ∆∗ δ ∈ E für alle maximalen ∆-Extensionen von Φ .
Extensionen als Mittel zur Beschreibung von konsistenten Annahmezuständen wurden
schon in [Rei80] eingeführt, dort sind die Defaults aber wesentlich komplizierter und die
Definition besteht dementsprechend auch aus einer geschachtelten Fixpunkt- und Minimumsbildung. Maximale Extensionen bezüglich der hier betrachteten Defaults wurden
in [Poo88] definiert.
Die vorsichtige Sicht wurde in [BL89] eingeführt, und es wurde gezeigt, daß sie gerade
der GCWA entspricht. Da in der Literatur Extensionen meist unter Folgerung abgeschlossen sind, hat der Unterschied zwischen der vorsichtigen und der skeptischen Sicht vorher
offenbar keine Beachtung gefunden.
Erweiterung auf Defaults mit Prioritäten
Da es (bisher) nicht ein allgemeines Konzept wie die Präferenzrelationen bei den minimalen Modellen gibt, ist es angebracht, erst die Erweiterung auf Prioritäten einzuführen,
und die Eigenschaften dann gleich im allgemeinen Fall nachzuweisen.
Falls also für jeden Default δ ∈ ∆ auch eine Priorität `(δ) festlegt ist, muß der Begriff
der maximalen Extension natürlich angepaßt werden. Der Grundgedanke ist dabei, daß
104
KAPITEL 5. SEMANTIK VON DEFAULTS
ein Default nur durch Defaults höherer oder gleicher Priorität ausgeschlossen werden sollte
(also mit kleinerem `-Wert), aber nicht durch Defaults niedrigerer Priorität.
Definition 5.2.5 (Maximale Extension mit Prioritäten): Eine Teilmenge E ⊆ ∆∗
heißt maximale (∆, `)-Extension von Φ genau dann, wenn
• Φ ∪ E konsistent ist, und
• Φ ∪ δ ∈ E `(δ) ≤ `(δ 0 ) ∪ δ 0 inkonsistent ist für alle δ 0 ∈ ∆∗ − E.
Beispiel 5.2.6: Das typische Beispiel zur Behandlung von Prioritäten ist:
∆ := {¬p, ¬q},
`(¬p) = 1, `(¬q) = 2,
Φ := {p ∨ q}.
Hier ist E1 := {¬p} eine maximale Extension, denn der fehlende Default ¬q kann nicht
hinzugenommen werden, Φ ∪ {¬p} ∪ {¬q} ist inkonsistent. Dagegen ist E2 := {¬q}
keine maximale Extension, denn der fehlende Default ¬p hat nur gegen die Defaults von
kleinerer oder gleicher Stufe anzutreten, Φ ∪ ∅ ∪ {¬p} ist aber konsistent. Auf diese Weise
wird also der höher priorisierte Default ¬p vorgezogen.
2
Die CWA nimmt dann wieder den Schnitt der so bestimmten maximalen Extensionen an:
Definition 5.2.7 (Vorsichtige CWA mit Prioritäten): Die durch (∆, `) gegebene
vorsichtige CWA ist
cwa (∆,`) (Φ) := Φ ∪ δ ∈ ∆∗ δ ∈ E für jede maximale (∆, `)-Extension von Φ .
Interessant ist, daß im Gegensatz zu den minimalen Modellen hier die Ausdrucksfähigkeit
durch die Einführung der Prioritäten echt vergrößert wird:
Beispiel 5.2.8: Sei eine Signatur mit den beiden Aussagenvariablen p und q zugrunde
gelegt. Wählt man nun
∆ := {¬p ∧ ¬q, ¬p ∧ q, ¬q},
`(¬p ∧ ¬q) := 1,
`(¬p ∧ q) := 1,
`(¬q) := 2,
so erhält man die in Tabelle 5.1 dargestellte Vervollständigung: Sind sowohl [p̄q̄] als auch
[p̄q] Modell von Φ, so löschen sich die beiden maximalen Extensionen E1 := {¬p∧¬q, ¬q}
und E2 := {¬p ∧ q} gerade aus, und alle Modelle sind intendiert. Allein setzt sich dagegen
jedes von beiden Modellen gegen jedes andere durch.
Will man jetzt diese Vervollständigung ohne Prioritäten darstellen, so muß die Menge
der Defaults, die in [pq] gelten, eine echte Teilmenge der in [pq̄] gültigen Defaults sein,
denn sonst würde [pq] nicht gegen [pq̄] verlieren. Nun verliert aber [pq̄] seinerseits sowohl
gegen [p̄q̄] als auch gegen [p̄q], also muß auch hier jeweils die echte Teilmengenbeziehung
gelten. Diese Situation ist in der rechten Zeichnung dargestellt.
Betrachtet man jetzt aber die Menge {[pq], [p̄q], [p̄q̄]}, so können nur die in [p̄q]
bzw. in [p̄q̄] gültigen Defaults maximale Extensionen sein, und beide enthalten die Defaults, die in [pq̄] gelten, und darunter auch mindestens einen Default, der in [pq] nicht gilt.
Damit kann im Widerspruch zu der angestrebten Vervollständigung [pq] kein intendiertes
Modell sein.
2
5.2. DIE VORSICHTIGE CWA
Φ
false
¬p, ¬q
¬p, q
¬p
p, ¬q
¬q
p ↔ ¬q
¬p ∨ ¬q
p, q
p↔q
q
¬p ∨ q
p
p ∨ ¬q
p∨q
true
[pq] [pq̄] [p̄q] [p̄q̄] comp(Φ)
false
• ¬p, ¬q
•
¬p, q
• • ¬p
•
p, ¬q
◦
• ¬p, ¬q
◦ •
¬p, q
• • • ¬p ∨ ¬q
•
p, q
◦
• ¬p, ¬q
◦
•
¬p, q
•
• • ¬p ∨ q
◦ •
p, ¬q
◦ ◦
• ¬p, ¬q
◦ ◦ •
¬p, q
• • • • true
105
[pq]
A
A
A
[pq̄]
[p̄q̄]
[p̄q]
Tabelle 5.1: Beispiel für größere Ausdrucksfähigkeit bei Prioritäten
Auch eine iterative Konstuktion von maximalen Extensionen ist möglich. Die betrachteten Defaultmengen entsprechen sogar genau denen, die oben für die minimalen Modelle
angegeben wurden:
Lemma 5.2.9: Sei ` eine n-Stufen-Einteilung. Eine Teilmenge
E ⊆ ∆∗ ist genau dann
eine maximale (∆, `)-Extension, wenn E ∩ δ ∈ ∆∗ `(δ) ≤ i für i = 1, . . . , n eine
maximale δ ∈ ∆ `(δ) ≤ i -Extension ist.
Beweis:
•
=⇒ “: Sei E eine maximale (∆, `)-Extension. Die geforderte Konsistenz ist automatisch
”
gegeben, es ist nur noch zu zeigen, daß
Φ ∪ E ∩ δ ∈ ∆∗ `(δ) ≤ i ∪ {δ}
inkonsistent ist für jeden nicht enthaltenen Default einer Stufe ≤ i. Das folgt aber direkt
aus der Definition von maximaler (∆, `)-Extension.
•
⇐= “: Sei E umgekehrt eine stufenweise Extension. Die Konsistenz ergibt sich aus der
”
Forderung für i = n. Wäre andererseits
Φ ∪ δ ∈ E `(δ) ≤ `(δ 0 ) ∪ {δ 0 }
konsistent für ein δ 0 ∈ ∆∗ − E, so wäre die Voraussetzung für i = `(δ 0 ) verletzt.
2
Diese iterative Definition von maximaler Extension wurde in [Bre91] angegeben. Die
nicht-iterative Definition ist neu.
106
KAPITEL 5. SEMANTIK VON DEFAULTS
Erweiterung auf partiell geordnete Defaults
Nun sollen maximale Extensionen in dem allgemeinsten Fall definiert werden, nämlich für
partiell geordnete Defaults. Es ist dabei nicht mehr ausreichend, nur einzelne fehlende
Defaults zu betrachten:
Beispiel 5.2.10: Seien folgende Defaults gegeben:
∆ := {¬p, ¬q, p, q},
¬p < q, ¬q < p.
Man kann die Prioritäten auch folgendermaßen graphisch darstellen:
q
p
¬p
¬q
Falls die Defaults nicht durch Axiome eingeschränkt sind (Φ := ∅), sollten natürlich die
beiden höher priorisierten Defaults angenommen werden, d.h. E := {¬p, ¬q} sollte die
einzige maximale Extension sein.
Also müßte das Maximalitätskriterium insbesondere in der Lage sein, E 0 := {p, q}
auszuscheiden. Versucht man nun aber ¬p hinzuzunehmen, und läßt dafür den schwächer
priorisierten Default q weg, so erhält man {p, ¬p}, was natürlich inkonsistent ist. Ebenso
kann man auch nicht ¬q hinzunehmen. Das Problem ist hier, daß die Konflikte gerade
über Kreuz“ zu den Prioritäten bestehen.
”
Dagegen kann man die beiden fehlenden Defaults ¬p und ¬q gemeinsam hinzunehmen, denn nun sind p und q beide schwächer als einer dieser Defaults, werden also beide
eliminiert.
2
Definition 5.2.11 (Maximale Extension, allgemeiner Fall): Eine Menge E ⊆ ∆∗
heißt maximale (∆, <)-Extension von Φ genau dann, wenn
• Φ ∪ E konsistent ist und
• für alle ∆0 ⊆ ∆∗ − E, ∆0 6= ∅, die folgende Menge inkonsistent ist:
Φ ∪ {δ ∈ E | es gibt nicht δ 0 ∈ ∆0 mit δ 0 < δ} ∪ ∆0 .
Definition 5.2.12 (Vorsichtige CWA, allgemeiner Fall): Die durch (∆, <) gegebene vorsichtige CWA ist
cwa (∆,<) (Φ) := Φ ∪ δ ∈ ∆∗ δ ∈ E für jede maximale (∆, <)-Extension von Φ .
Es ist nun zu zeigen, daß es sich tatsächlich um eine Verallgemeinerung der vorangegangenen Definitionen handelt:
5.2. DIE VORSICHTIGE CWA
107
Lemma 5.2.13:
• E ⊆ ∆∗ ist genau dann eine maximale ∆-Extension von Φ, wenn es eine maximale
(∆, <)-Extension bezüglich < = ∅ ist.
• E ⊆ ∆∗ ist genau dann eine maximale (∆, `)-Extension, wenn es eine maximale
(∆, <)-Extension ist bezüglich der durch δ1 < δ2 :⇐⇒ `(δ1 ) < `(δ2 ) gegebenen
Prioritätsrelation.
Beweis:
• Sei E eine maximale ∆-Extension. Angenommen, es gäbe ∆0 ⊆ ∆∗ − E, so daß
Φ ∪ {δ ∈ E | es gibt nicht δ 0 ∈ ∆0 mit δ 0 < δ} ∪ ∆0
konsistent ist. Da < leer ist, ist diese Menge einfach Φ ∪ E ∪ ∆0 . Damit ist natürlich
Φ ∪ E ∪ {δ 0 } konsistent für jeden Default δ 0 ∈ ∆0 im Widerspruch zur Voraussetzung.
Die Umkehrung ist noch einfacher, hier wählt man ∆0 := {δ 0 }.
• Sei E eine maximale (∆, `)-Extension. Zu zeigen ist, daß es nicht ∆0 ⊆ ∆∗ − E gibt, so
daß
Φ ∪ {δ ∈ E | es gibt nicht δ 0 ∈ ∆0 mit δ 0 < δ} ∪ ∆0
konsistent ist. Angenommen, dies wäre doch der Fall. Sei δ 0 ein Default minimaler Stufe
aus ∆0 , dann ist nach Konstruktion von < diese Menge gleich
Φ ∪ {δ ∈ E | `(δ) ≤ `(δ 0 )} ∪ ∆0 .
Ist diese Menge konsistent, so ist natürlich erst recht die Teilmenge konsistent, in der die
übrigen Defaults aus ∆0 weggelassen sind. Das kann aber nicht sein, da E dann keine
maximale (∆, `)-Extension wäre.
Für die Umkehrung wählt man wieder ∆0 := {δ 0 }, dann gilt
{δ ∈ E | es gibt nicht δ 0 ∈ ∆0 mit δ 0 < δ} = {δ ∈ E | `(δ) ≤ `(δ 0 )}
nach Definition von <.
2
Mit dem folgenden Lemma können maximale Extensionen entsprechend der DefaultHierarchie aufgebaut werden. Hat man schon eine maximale Extension E0 bis zu einer
gewissen Prioritätsgrenze, so kann man direkt darüber eine Schicht weiterer Defaults ∆1
vorschreiben, und das ganze zu einer vollständigen maximalen Extension E ausbauen.
Als Spezialfall kann also jede konsistente Menge von Defaults zu einer (∆, ∅)-Extension
erweitert werden.
Lemma 5.2.14: Sei ∆∗0 ⊆ ∆∗ nach unten abgeschlossen, d.h. gelte:
δ ∈ ∆∗ , δ0 ∈ ∆∗0 , δ < δ0 =⇒ δ ∈ ∆∗0 .
Sei E0 eine maximale (∆∗0 , <)-Extension von Φ und ∆1 ein Menge <-minimaler Elemente
von ∆∗ − ∆∗0 . Ist Φ ∪ E0 ∪ ∆1 konsistent, so gibt es eine maximale (∆, <)-Extension E
von Φ mit E0 ∪ ∆1 ⊆ E.
108
KAPITEL 5. SEMANTIK VON DEFAULTS
Beweis: Sei δ1 , . . . , δn eine topologische Sortierung von (∆∗ − ∆∗0 , <), die zuerst alle Defaults
aus ∆1 enthält. Sei
(
Ei−1 ∪ {δi } falls Φ ∪ Ei−1 ∪ {δi } konsistent
Ei :=
Ei−1
sonst.
Sei E := En . Dann gilt E0 ∪ ∆1 ⊆ E nach Konstruktion.
Es wird jetzt mit Induktion über i gezeigt, daß Ei eine maximale (∆∗0 ∪ {δ1 , . . . , δi }, <)Extension von Φ ist. Falls es ∆0i gäbe, das zeigt, daß Ei keine maximale Extension ist, so würde
∆0i−1 := ∆0i − {δi } zeigen, daß Ei−1 keine maximale Extension ist (denn kein Default in Ei−1
hat geringere Priorität als δi ).
2
Die hier angegebene Definition von maximaler Extension ist neu und nicht äquivalent
zu der in [Bre91] angebenen konstruktiven“ Definition. Auf den Unterschied und den
”
Vorteil dieser Definition wird unten noch näher eingegangen.
Maximale Extensionen und minimale Modelle
Es gibt nun eine sehr enge Beziehung zwischen minimalen Modellen und maximalen Extensionen, und zwar ist ein Modell genau dann minimal, wenn es Modell einer maximalen
Extension ist. Damit gibt es zwar noch keine bijektive Abbildung zwischen minimalen
Modellen und maximalen Extensionen (weil eine maximale Extension mehrere Modelle
haben kann), aber die ∼
=∆∗ -Äquivalenzklassen der minimalen Modelle entsprechen genau
den maximalen Extensionen.
Satz 5.2.15:
• Wenn E eine maximale (∆, <)-Extension von Φ ist, dann ist jedes Modell I von Φ∪E
ein ≺(∆,<) -minimales Modell von Φ.
• Wenn I ein ≺(∆,<) -minimales Modell von Φ ist, dann ist E := δ ∈ ∆∗ I |= δ
eine maximale (∆, <)-Extension von Φ.
Beweis:
• Wäre I nicht minimal, so würde es also ein Modell I0 von Φ geben mit I0 ≺(∆,<) I. Sei
∆0 die Menge aller <-minimalen Defaults unter denen, die nicht denselben Wahrheitswert
in beiden Modellen haben. Nach Definition von ≺(∆,<) ist ∆0 nicht leer, und alle δ 0 ∈ ∆0
sind in I0 wahr und in I falsch. Das bedeutet aber, daß
Φ ∪ {δ ∈ E | es gibt nicht δ 0 ∈ ∆0 mit δ 0 < δ} ∪ ∆0
konsistent ist (I0 ist ein Modell), im Widerspruch zur Voraussetzung, daß E eine maximale
Extension ist.
• Wäre E keine maximale Extension, dann müßte es ∆0 ⊆ ∆∗ − E, ∆0 6= ∅ geben, so daß
Φ ∪ {δ ∈ E | es gibt nicht δ 0 ∈ ∆0 mit δ 0 < δ} ∪ ∆0
konsistent ist. Sei also I0 ein Modell. Nun sei δ ein beliebiger Default, der in I gilt, aber
nicht in I0 . Wegen I |= δ ist δ ∈ E, andererseits ist I0 ein Modell der obigen Menge, und
5.2. DIE VORSICHTIGE CWA
109
I0 6|= δ. Also muß es δ 0 ∈ ∆0 geben mit δ 0 < δ. Nach Konstruktion gilt I0 |= δ 0 und I 6|= δ 0 .
Daher ist I0 ≺(∆,<) I im Widerspruch zur vorausgesetzten Minimalität von I.
2
Hieraus folgt sofort, daß der skeptische Ansatz der minimalen Implikation entspricht,
d.h. eine Formel ψ gilt in allen minimalen Modellen von Φ genau dann wenn Φ ∪ E ` ψ
für alle maximalen Extensionen E von Φ.
Der vorangegangene Satz liefert auch eine alternative Definition der vorsichtigen
CWA: Sie nimmt diejenigen Defaults an, die in allen maximalen Extensionen enthalten
sind, also in allen minimalen Modellen gelten.
Satz 5.2.16:
cwa (∆,<) (Φ) = Φ ∪ δ ∈ ∆∗ I |= δ für alle ≺(∆,<) -minimalen Modelle von Φ .
Beweis:
• ⊆“: Sei δ also in allen maximalen Extensionen enthalten und sei I ein ≺(∆,<) -minimales
”
Modell von Φ. Da die in I gültigen Defaults nach Satz 5.2.15 eine maximale Extension
bilden, muß δ auch in I gelten.
• ⊇“: Sei δ also in allen minimalen Modellen von Φ gültig. Zu zeigen ist, daß δ in jeder
”
maximalen Extension E enthalten ist. Aufgrund der Konsistenzforderung gibt es ein Modell I von Φ ∪ E, das nach Satz 5.2.15 minimal ist. Also gilt δ in I. Wäre nun δ 6∈ E, so
wäre die Maximalitätsforderung verletzt, da Φ ∪ E ∪ {δ} konsistent ist (I is ein Modell).
2
Damit kann man jetzt leicht die Vervollständigungs-Stärke der beiden Default-Semantiken
vergleichen:
Satz 5.2.17: Die vorsichtige CWA ist eine schwächere Vervollständigung als die minimalen Modelle, d.h. Φ `cwa (∆,<) ψ =⇒ Φ `min (∆,<) ψ.
Beweis: Da nur solche Defaults angenommen werden, die in allen minimalen Modellen gelten,
ist jedes minimale Modell ein Modell der vorsichtigen CWA. Wenn also schon jedes Modell
der vorsichtigen CWA die Anfrage ψ erfüllt, so gilt das natürlich erst recht für jedes minimale
Modell.
2
Die hier angegebenen Sätze sind Verallgemeinerungen von Ergebnissen aus [BL89], die
ihrerseits auf [Min82] aufbauen.
Eigenschaften
Satz 5.2.18:
• cwa (∆,<) ist konsistenzerhaltend (CON).
• cwa (∆,<) ist kumulierend (CUM).
• cwa (∆,<) hat die NCWA-Eigenschaft (NCWA).
• cwa (∆,<) hat die Disjunktions-Eigenschaft für Defaults (DDIS).
110
KAPITEL 5. SEMANTIK VON DEFAULTS
Beweis:
• (CON): Nach Satz 5.2.16 nimmt die CWA nur solche Defaults an, die in allen minimalen
Modellen gelten. Damit ist jedes minimale Modell auch Modell der CWA (und es gibt
mindestens ein minimales Modell).
• (CUM): Gelte cwa (∆,<) (Φ) ` ϕ. Zu zeigen ist, daß cwa (∆,<) (Φ) und cwa (∆,<) Φ ∪ {ϕ}
äquivalent sind. Dazu reicht es zu zeigen, daß in beiden Mengen dieselben Defaults angenommen werden. Nach Satz 5.2.16 werden genau die Defaults angenommen, die in allen
minimalen Modellen gelten. Wegen cwa (∆,<) (Φ) ` ϕ gilt ϕ nach Satz 5.2.17 in allen mi
nimalen Modellen von Φ, also ist min (∆,<) Mod (Φ) = min (∆,<) Mod (Φ ∪ {ϕ}) . Damit
werden natürlich in Φ und Φ ∪ {ϕ} dieselben Defaults angenommen.
• (NCWA): Wenn die NCWA für Φ konsistent ist, sind alle minimalen Modelle ∼
=∆∗ -äquivalent. Dann gibt es aber nur eine maximale Extension, die mit der naiven CWA übereinstimmt.
• (DDIS): Wird ein Default δ ∈ ∆∗ sowohl in cwa (∆,<) Φ ∪ {ϕ1 } angenommen, als auch
in cwa (∆,<) Φ ∪ {ϕ2 } , so gilt er in allen minimalen Modellen der beiden Formelmengen.
Nach der Deduktions-Eigenschaft in der Formulierung von Satz 4.1.17 sind aber die minimalen Modelle von Φ ∪ {ϕ1 ∨ ϕ2 } auch minimale Modelle von Φ ∪ {ϕ1 } oder von Φ ∪ {ϕ2 }.
2
Damit wird δ also erst recht in cwa (∆,<) Φ ∪ {ϕ1 ∨ ϕ2 } angenommen.
Beispiel 4.1.13 zeigt, daß die vorsichtige CWA im allgemeinen nicht die DeduktionsEigenschaft hat. Tatsächlich verletzt die GCWA auch die Expansions-Eigenschaft, dazu
braucht man aber mindestens drei Aussagenvariablen:
Beispiel 5.2.19: Sei
∆ := {¬p, ¬q, ¬r},
I1 := {[p̄qr], [pq̄r̄], [pqr]},
I2 := {[p̄qr̄], [pq̄r], [pqr]}
Bei I1 gibt es entsprechend den minimalen Modellen [p̄qr] und [pq̄r̄] die beiden maximalen
Extensionen E1,1 := {¬p} und E1,2 := {¬q, ¬r}. Der Schnitt dieser beiden Extensionen
ist leer, d.h. es wird kein Default angenommen. Daher wird insbesondere das Modell [pqr]
ausgewählt.
Bei I2 sind die Extensionen E2,1 := {¬p, ¬r} und E2,2 := {¬q}; wieder wird [pqr]
ausgewählt.
Bei I1 ∪ I2 sind schließlich die Modelle [pq̄r̄] und [p̄qr̄] minimal; der Schnitt der
entsprechenden Extensionen enthält den Default ¬r.
Daher wird das Modell [pqr] in I1 ∪ I2 nicht ausgewählt, obwohl es sowohl in I1 als
auch in I2 ausgewählt wird. Dies ist eine Verletzung der Expansions-Eigenschaft.
2
Die hier angegebenen Sätze sind zum Teil neu, zum Teil Verallgemeinerungen von Ergebnissen aus [Bra90a].
5.3. WEITERE SEMANTIKEN
111
Charakterisierung
Die vorsichtige CWA läßt sich auf ganz ähnliche Weise charakterisieren wie die minimale
”
Modelle“ Semantik, man muß nur die Abschwächung DDIS der Deduktions-Eigenschaft
verwenden:
Satz 5.2.20:
cwa (∆,<) ist die schwächste Vervollständigung mit den Eigenschaften
NCWA und DDIS.
Beweis: cwa (∆,<) hat diese beiden Eigenschaften. Sei comp eine beliebige Vervollständigung,
die ebenfalls die Eigenschaften NCWA und DDIS hat. Zu zeigen ist comp(Φ) ` cwa (∆,<) (Φ).
Dazu genügt es zu zeigen, daß comp(Φ) ` δ für jeden Default in cwa (∆,<) (Φ). Für jedes minimale
Modell I von Φ sei ϕI eine Formel, die in I und allen größeren Modellen von Φ gilt. Dann ist Φ
äquivalent zur Disjunktion dieser ϕI , andererseits ist ncwa (δ,<) {ϕI } konsistent und enthält δ.
Nun kann man mit der Eigenschaft DDIS die Behauptung folgern.
2
Dieser Satz ist neu und sehr nützlich zum Verständnis der vorsichtigen CWA.
5.3
Weitere Semantiken
Es sollen jetzt noch weitere Semantiken für Defaults vorgestellt werden, um zu zeigen,
daß die obigen beiden Ansätze bei weitem noch nicht die einzigen möglichen sind. Teilweise handelt es sich dabei um kleinere Modifikationen der minimale Modelle“ und der
”
vorsichtigen CWA-Semantik, teilweise handelt es sich auch um weniger gute Vorschläge.
Dies muß aber natürlich erst anhand der in Kapitel 4 vorgestellten Eigenschaften belegt
werden.
Die naive CWA
Die naive CWA, die alle Defaults annimmt, deren Gegenteil nicht folgt, wurde schon in
Kapitel 4 definiert und im Abschnitt 5.1 modelltheoretisch charakterisiert. Ihr Hauptproblem ist die Konsistenzerhaltung. Wenn sie aber konsistenzerhaltend ist, sollte jede
vernünftige Semantik mit ihr übereinstimmen.
Beispiel 5.3.1: Das klassische Beispiel für die Zerstörung der Konsistenz ist:
Φ := {p ∨ q},
∆ := {¬p, ¬q}.
Da weder ¬¬p, d.h. p, noch ¬¬q, also q, folgen, werden beide Defaults angenommen, und
die Vervollständigung von Φ ist inkonsistent.
Dieses Beispiel liefert auch sofort eine Verletzung der Kumulierung: Aus der inkonsistenten Vervollständigung folgt ja alles, also auch ¬q. Fügt man diese Formel nun zu Φ
hinzu, so ist die entstehende Formelmenge äquivalent zu {p, ¬q}, und hier funktioniert
die naive CWA natürlich problemlos. Insbesondere folgt nicht mehr false.
112
KAPITEL 5. SEMANTIK VON DEFAULTS
Allgemein sind nicht-konsistenzerhaltende Vervollständigungen fast immer auch nicht
kumulierend. Allerdings ist dies keine echte Implikation, wie man am Beispiel der Vervollständigung sieht, die alle Φ auf false abbildet — sie ist nicht konsistenzerhaltend, aber
kumulierend.
2
Mit der modelltheoretischen Charakterisierung der naiven CWA kann man auch recht
leicht nachweisen, daß sie die Deduktions- und die Expansions-Eigenschaft hat, was vielleicht etwas überraschend ist:
Satz 5.3.2: ncwa (∆,<) hat die Eigenschaften DED und EXP.
Beweis: Bezeichne ncwa (∆,<) hier wieder die modelltheoretische Version der naiven CWA.
• (DED): Zu zeigen ist
ncwa (∆,<) (I1 ∪ I2 ) ⊆ ncwa (∆,<) (I1 ) ∪ ncwa (∆,<) (I2 ).
Sei I ∈ ncwa (∆,<) (I1 ∪I2 ). Nach Satz 5.1.22 ist I in I1 ∪I2 minimal, und äquivalent zu allen
anderen minimalen Modellen. Das bedeutet aber, daß I ≺(∆,<) I 0 für jedes nicht-minimale
Modell I 0 gilt. Ist etwa I ∈ I1 , so ist natürlich I ∈ min (∆,<) (I1 ), außerdem ist aber
min (∆,<) (I1 ) ⊆ min (∆,<) (I1 ∪ I2 ), es kommen also keine neuen minimalen Modelle hinzu.
Daher ist I äquivalent zu allen minimalen Modellen in I1 , also gilt I ∈ ncwa (∆,<) (I1 ).
• (EXP): Zu zeigen ist
ncwa (∆,<) (I1 ) ∩ ncwa (∆,<) (I2 ) ⊆ ncwa (∆,<) (I1 ∪ I2 ).
Sei also I in dem Schnitt auf der linken Seite. Das bedeutet, daß es sowohl in I1 als
auch in I2 minimal ist, und äquivalent zu allen anderen minimalen Modellen. Damit ist es
natürlich in I1 ∪ I2 minimal (min (∆,<) erfüllt EXP), und immer noch äquivalent zu allen
anderen minimalen Modellen (min (∆,<) erfüllt DED).
2
Die naive CWA wurde in [Rei78] eingeführt, wo auch die Probleme mit der Konsistenzerhaltung diskutiert wurden. Weitere Ergebnisse hierzu finden sich in [She88]. Die Verallgemeinerung auf priorisierte Defaults und der Nachweis der Eigenschaften DED und
EXP sind neu.
Eine konsistenzerhaltende Modifikation der naiven CWA
Das Problem mit der Konsistenzerhaltung kann man natürlich leicht lösen, indem man
einfach gar keine Defaults annimmt, wenn die naive CWA inkonsistent ist. Das Ergebnis
ist die schwächste Vervollständigung mit der NCWA-Eigenschaft:
Definition 5.3.3 (Modifizierte CWA): Die modifizierte CWA sei definiert durch:
ncwa (∆,<) (Φ) falls konsistent
mcwa (∆,<) (Φ) :=
Φ
sonst.
5.3. WEITERE SEMANTIKEN
113
Die modifizierte CWA ist für praktische Zwecke wohl auch nicht viel besser geeignet
als die naive CWA, da sich die Vervollständigung beim Einfügen einer Disjunktion so
drastisch ändert. Zwar ist sie konsistenzerhaltend, kumulierend und hat die ExpansionsEigenschaft, aber sie hat nicht die Eigenschaft DDIS (als einzige der betrachteten Vervollständigungen).
Satz 5.3.4: Die modifizierte CWA ist konsistenzerhaltend, kumulierend, und hat die
Expansions-Eigenschaft.
Beweis:
CWA.
mcwa (∆,<) bezeichne hier die modelltheoretische Entsprechung der modifizierten
• (CON): Die Konsistenzerhaltung folgt direkt aus der Definition.
• (CUM): Zu zeigen ist:
mcwa (∆,<) (I1 ) ⊆ I2 ⊆ I1 =⇒ mcwa (∆,<) (I1 ) = mcwa (∆,<) (I2 ).
Diese Eigenschaft ist schon für min (∆,<) bewiesen, es braucht also nur noch der Fall betrachtet zu werden, daß I1 oder I2 nicht-äquivalente minimale Modelle enthalten. Enthält
I1 nicht-äquivalente Modelle, so gilt mcwa (∆,<) (I1 ) = I1 und daher I2 = I1 . Sonst gilt
mcwa (∆,<) (I1 ) = min (∆,<) (I1 ), also min (∆,<) (I1 ) ⊆ I2 ⊆ I1 . Da min (∆,<) kumulierend
ist, folgt min (∆,<) (I1 ) = min (∆,<) (I2 ) und damit
mcwa (∆,<) (I2 ) = min (∆,<) (I2 ) = mcwa (∆,<) (I1 ).
• (EXP): Zu zeigen ist
mcwa (∆,<) (I1 ) ∩ mcwa (∆,<) (I2 ) ⊆ mcwa (∆,<) (I1 ∪ I2 ).
Die Behauptung gilt natürlich auf jeden Fall, wenn I1 ∪ I2 nicht-äquivalente minimale
Modelle hat. Sei I 6∈ mcwa (∆,<) (I1 ∪ I2 ). Falls I in dem Schnitt auf der linken Seite
enthalten ist, muß I ∈ I1 und I ∈ I2 gelten. Eine dieser Teilmengen, etwa I1 , enthält aber
ein minimales Modell aus I1 ∪ I2 , das kleiner als alle nicht-minimalen Modelle ist. Daher
kommen in I1 keine neuen minimalen Modelle gegenüber I1 ∪ I2 hinzu, die minimalen
Modelle sind also untereinander äquivalent. Nach Definition der modifizierten CWA ist
dann I 6∈ mcwa (∆,<) (I1 ).
2
Beispiel 5.3.5: Die modifizierte CWA hat nicht die Eigenschaft DDIS, und damit erst
recht nicht die Deduktions-Eigenschaft. Verwendet man die normalen Negations-Defaults
ohne Prioritäten, so wird sowohl in Φ1 := p(a), q(a) als auch in Φ2 := p(b), q(a) der
Default ¬q(b) angenommen, nicht aber in Φ := p(a) ∨ p(b), q(a) .
2
Beispiel 5.3.6: Die modifizierte CWA kann mit der vorsichtigen CWA simuliert werden,
wenn das auch sehr aufwendig ist. In dem Standard-Beispiel ∆ := {¬p, ¬q} würde man
für die vorsichtige CWA folgende Defaults wählen:
¬p ∧ ¬q, ¬p ∧ q, p ∧ ¬q, p ∧ q.
Im allgemeinen wählt man alle Konjunktionen von Defaults und negierten Defaults, so
daß der Wahrheitwert jedes Defaults bestimmt ist. Die Prioritäten dieser neuen Defaults
wählt man so, wie es gerade den entsprechenden minimalen Modellen entspricht, also etwa
114
KAPITEL 5. SEMANTIK VON DEFAULTS
¬p∧¬q < ¬p∧q. Die neuen Defaults sind paarweise inkonsistent, jede maximale Extension
besteht also aus einem einzigen Default. Falls es mehr als eine maximale Extension gibt,
ist der Schnitt folglich leer. Beispielsweise würde es bei Φ := {p∨q} die beiden maximalen
Extensionen E1 := {¬p∧q} und E2 := {p∧¬q} geben (p∧q scheidet aus, weil es geringere
Priorität hat). Im Endeffekt würde also kein Default angenommen.
2
In der Literatur wurde diese Default-Semantik noch nicht untersucht. Sie ist ja im wesentlichen auch nur deswegen interessant, weil sie eine einfache Rettung“ der naiven CWA
”
ist.
Eine starke CWA
Es gibt noch eine andere einfache Möglichkeit, die naive CWA konsistenzerhaltend zu
machen. Die Probleme treten ja genau dann auf, wenn mehrere Defaults im Konflikt
miteinander stehen, für die aber keine Priorität spezifiziert wurde.
Eine einfache Lösung ist nun, < zu einer linearen Ordnung zu erweitern, indem man
sich etwa im Zweifelsfall immer für den lexikographisch kleineren Default entscheidet.
Das ähnelt dem Ansatz mit einer durch die Implementierung festgelegten Auswahl
der Extension. Typischerweise werden sich die Implementierungen aber nicht nur an der
Schreibweise der Defaults orientieren, sondern auch an der Schreibweise und Anordnung
der Axiome, so daß es sich dann nicht mehr um eine Vervollständigung in dem hier
betrachteten Sinn handelt.
Wenn man von einer lexikographischen oder ähnlichen Ordnung ausgeht, kann man
festhalten, daß diese Default-Semantik im Gegensatz zu allen anderen hier untersuchten
Vorschlägen nicht äquivalenzerhaltend bezüglich der Defaults ist.
Definition 5.3.7 (Starke CWA): Sei δ1 , δ2 , . . . , δn die Aufzählung von ∆∗ , die mit
< verträglich ist, d.h. δi < δj =⇒ i < j, und unvergleichbare Defaults lexikographisch
anordnet. Sei E0 := ∅ und
Ei−1 ∪ {δi } falls Φ ∪ Ei−1 ∪ {δi } konsistent ist
Ei :=
Ei−1
sonst.
Dann ist die starke CWA definiert durch:
scwa (∆,<) (Φ) := Φ ∪ En .
Es werden also alle Defaults der Reihe nach ausprobiert, ob sie zu der aktuellen Extension hinzugenommen werden können, ohne die Konsistenz zu zerstören. Dabei wird eine
topologische Sortierung von (∆∗ , <) zugrunde gelegt, d.h. die höher priorisierten Defaults
bekommen ihre Chance zuerst.
Bei der starken CWA handelt es sich tatsächlich um eine Form von minimalen Modellen, nur die Ordnungsrelation ist ungewöhnlich:
5.3. WEITERE SEMANTIKEN
115
Satz 5.3.8: Sei δ1 , δ2 , . . . , δn wie in Definition 5.3.7 und gelte
I1 ≺ I2 :⇐⇒ I1 und I2 unterscheiden sich in mindestens einem δi
und für das minimale solche i gilt I1 |= δi , I2 6|= δi .
Dann gilt
I |= scwa (∆,<) (Φ) ⇐⇒ I ∈ min ≺ Mod (Φ) .
Beweis:
•
=⇒ “: Gelte also I |= scwa (∆,<) (Φ). Wäre I nicht minimal, so gäbe es also I0 ≺ I.
”
Sei δi der erste Default in der Aufzählung, in dem sich die beiden Modelle unterscheiden.
Dann gilt I0 |= δ und I 6|= δ. Dies ist aber nicht möglich, denn dann wäre Φ ∪ Ei−1 ∪ {δi }
konsistent (I0 ist ein Modell), also müßte δi ∈ scwa (∆,<) (Φ) sein im Widerspruch zu
I |= scwa (∆,<) (Φ).
• Sei umgekehrt I ∈ min ≺ Mod (Φ) . Angenommen, I 6|= scwa (∆,<) (Φ). Sei nun δi der
in der Aufzählung erste Default aus scwa (∆,<) (Φ) mit I 6|= δi . Nach Konstruktion von
scwa (∆,<) (Φ) ist Φ ∪ Ei−1 ∪ {δi } konsistent, also gibt es ein Modell I0 . Im Wahrheitswert
der früheren Defaults (δ1 , . . . , δi−1 ) stimmen I0 und I überein, denn beide erfüllen Ei−1 und
mehr ist nach Konstruktion unmöglich. Also entscheidet δi , daß I0 ≺ I im Widerspruch
zur Minimalität von I.
2
Damit erbt“ die starke CWA also viele der guten Eigenschaften der minimalen Modelle,
”
nämlich Konsistenzerhaltung, Kumulation, Deduktions- und Expansions-Eigenschaft.
Ein Mangel ist natürlich, daß die Defaults nicht gleich behandelt werden — es werden
Defaults vorgezogen, ohne daß der Entwerfer entsprechende Prioritäten spezifiziert hat.
Die starke CWA legt auch die Wahrheitswerte der Defaults vollständig fest. Wählt
man etwa wie üblich die negativen Grundliterale als Defaults, so hat man immer nur ein
einziges intendiertes Modell. Für einige Anwendungen ist das natürlich wünschenswert,
aber unvollständige Information kann man damit nicht mehr darstellen.
Schließlich sei noch gezeigt, daß die starke CWA tatsächlich mit der naiven CWA
übereinstimmt, wenn diese konsistent ist:
Satz 5.3.9: Ist ncwa (∆,<) (Φ) konsistent, so gilt scwa (∆,<) (Φ) = ncwa (∆,<) (Φ).
Beweis: Sei also ncwa (∆,<) (Φ) konsistent, und sei δi der erste Default in der Aufzählung, bei
dem sich die beiden Mengen unterscheiden.
• δi ∈ scwa (∆,<) (Φ), δi 6∈ ncwa (∆,<) (Φ): Dann müßte ncwa (∆∗δ ,<δ ) (Φ) ` ¬δ gelten, aber
i
i
andererseits ist aufgrund der Minimalitätsforderung ncwa (∆∗δ ,<δ ) (Φ) ⊆ Ei−1 , ein Wideri
i
spruch zur Konsistenz von Φ ∪ Ei−1 ∪ {δi }.
• δi 6∈ scwa (∆,<) (Φ), δi ∈ ncwa (∆,<) (Φ): Dann ist also Φ ∪ Ei−1 ∪ {δi } inkonsistent. Da i
minimal gewählt wurde, gilt aber Φ ∪ Ei−1 ⊆ ncwa (∆,<) (Φ). Dies ist ein Widerspruch zur
Konsistenz von ncwa (∆,<) (Φ).
2
116
KAPITEL 5. SEMANTIK VON DEFAULTS
Ein skeptischer Ansatz mit konstruktiven Extensionen
Die Probleme der starken CWA sind in erster Linie auf die willkürliche Auswahl einer Aufzählung δ1 , δ2 , . . . , δn zurückzuführen. Es liegt daher nahe, nicht nur eine solche
Aufzählung zu betrachten, sondern alle möglichen (sofern sie mit < verträglich sind).
Auf diese Weise erhält man also mehrere konstruktive Extensionen“, und kann nun
”
z.B. den skeptischen Ansatz wählen, d.h. die Anfrage ψ muß aus allen solchen Extensionen
folgen.
Definition 5.3.10 (Konstruktive Extension): E ⊆ ∆∗ heißt konstruktive (∆, <)Extension von Φ genau dann, wenn es eine mit < verträgliche Aufzählung δ1 , δ2 , . . . , δn
von ∆∗ gibt, so daß E = En , wobei E0 := ∅ und
Ei−1 ∪ {δi } falls Φ ∪ Ei−1 ∪ {δi } konsistent ist
Ei :=
Ei−1
sonst.
Definition 5.3.11 (Konstruktive Implikation): Φ `cons
(∆,<) ψ genau dann, wenn für
jede konstruktive (∆, <)-Extension E von Φ gilt: Φ ∪ E ` ψ.
Nun stellt sich natürlich die Frage nach der Beziehung zwischen maximalen und konstruktiven (∆, <)-Extensionen. Es wird sich zeigen, daß jede konstruktive Extension auch eine
maximale Extension ist, während das Umgekehrte nicht gilt. Zum Vergleich der beiden
Begriffe ist der folgende Satz nützlich, der eine Charakterisierung konstruktiver Extensionen angibt, die der Definition von maximaler Extension sehr ähnlich ist:
Satz 5.3.12: E ⊆ ∆∗ ist eine konstruktive (∆, <)-Extension genau dann, wenn
• Φ ∪ E konsistent ist und
• für alle ∆0 ⊆ ∆∗ − E, ∆0 6= ∅ gibt es δ00 ∈ ∆0 , so daß
Φ ∪ {δ ∈ E | es gibt nicht δ 0 ∈ ∆0 mit δ 0 < δ} ∪ {δ00 }
inkonsistent ist.
Beweis:
• Sei E eine konstruktive Extension und δ1 , δ2 , . . . , δn die entsprechende Aufzählung der
Defaults. Nach Konstruktion ist Φ ∪ E konsistent. Sei nun ∆00 ⊆ ∆∗ − E und i minimal
mit δi ∈ ∆0 . Dann ist Φ ∪ Ei−1 ∪ {δi } inkonsistent und eine Teilmenge von
Φ ∪ {δ ∈ E | es gibt nicht δ 0 ∈ ∆0 mit δ 0 < δ} ∪ {δi }.
Daher ist diese Menge auch inkonsistent.
• Nun erfülle E die im Satz angegebene Bedingung. Es wird eine topologische Sortierung δ1 , δ2 , . . . , δn folgendermaßen konstruiert, um Ei = E ∩ {δ1 , . . . , δi } zu garantieren:
Zunächst sei die Folge leer und E0 = ∅. Ist schon ein Anfangsstück δ1 , δ2 , . . . , δi−1 gegeben,
so sei ein Default δi ∈ E ausgewählt, so daß Φ ∪ Ei−1 ∪ {δi } konsistent ist, oder ein Default
δi 6∈ E, so daß Φ ∪ Ei−1 ∪ {δi } inkonsistent ist. Zu zeigen ist, daß das immer möglich ist:
Ist δi ∈ E, so ist Φ ∪ E ∪ {δi } konsistent, und nach der Induktionsannahme gilt
Ei−1 ⊆ E, also ist Φ ∪ Ei−1 ∪ {δi } erst recht konsistent.
5.3. WEITERE SEMANTIKEN
117
Angenommen, es ist kein solcher Default auswählbar. Sei ∆0 die Menge der <minimalen Elemente von ∆∗ − {δ1 , . . . , δi−1 }, also die Menge der auswählbaren Defaults.
Nach der Annahme ist ∆0 ⊆ ∆∗ − E, ∆0 6= ∅ und Φ ∪ Ei−1 ∪ {δi } konsistent für jeden
Default δi ∈ ∆0 . Nach der Konstruktion gilt aber
Φ ∪ {δ ∈ E | es gibt nicht δ 0 ∈ ∆0 mit δ 0 < δ} ∪ {δi } = Φ ∪ Ei−1 ∪ {δi }.
Also ist die Bedingung des Satzes verletzt im Widerspruch zur Voraussetzung.
2
Der Unterschied ist also nur, daß hier schon ein einziger Default δ0 ∈ ∆0 ausreichen muß,
um die Inkonsistenz zu zeigen, während bei maximalen Extensionen die ganze Menge ∆0
benutzt werden kann. Daraus folgt sofort:
Korollar 5.3.13: Ist E ⊆ ∆∗ eine konstruktive (∆, <)-Extension, so ist es auch eine
maximale (∆, <)-Extension.
Das folgende Beispiel zeigt, daß die Umkehrung nicht gilt, der Begriff der konstruktiven
Extension im allgemeinen also echt einschränkender ist:
Beispiel 5.3.14: Es sei wieder die Default-Spezifikation aus Beispiel 5.2.10 betrachtet:
q
p
¬p
¬q
Sei nun Φ := {p ∨ q}. Da jede topologische Sortierung der Defaults mit ¬p oder ¬q
beginnt, muß auch jede konstruktive Extension einen dieser beiden Defaults enthalten,
E := {p, q} ist also keine konstruktive Extension. Es ist aber eine maximale Extension,
denn im Gegensatz zu Beispiel 5.2.10 (Φ = ∅) kann nun ∆0 := {¬p, ¬q} nicht mehr
konsistent hinzugenommen werden.
2
Natürlich ist der Begriff der konstruktiven Extension intuitiv sehr einfach, und man könnte
sich fragen, ob nicht die Definition von maximaler Extension entsprechend geändert werden sollte. Allerdings müßte man dann auch die Definition von ≺(∆,<) ändern, wenn man
wünscht, daß die Extensionen weiterhin den minimalen Modellen entsprechen. Das folgende Beispiel zeigt, daß dies nicht möglich ist — es gibt keine Präferenzrelation auf den
Modellen, die zu den konstruktiven Extensionen paßt:
Beispiel 5.3.15: Es sei dieselbe Default-Spezifikation wie im letzten Beispiel betrachtet. Tabelle 5.2 stellt die Auswahlfunktion der konstruktiven Implikation dar. Bei der
konstruktiven Implikation werden gerade die Modelle ausgewählt, die konstruktiven Extensionen entsprechen. Dies gilt auf jeden Fall für [pq̄], [p̄q] und [p̄q̄], denn man kann eine
topologische Sortierung wählen, in der gerade die in diesen Modellen gültigen Defaults
zuerst kommen. Dagegen entspricht [pq] nur dann einer maximalen Extension, wenn
einer der beiden Defaults ¬p oder ¬q nicht angenommen werden kann (kann etwa ¬p
118
KAPITEL 5. SEMANTIK VON DEFAULTS
Φ
false
¬p, ¬q
¬p, q
¬p
p, ¬q
¬q
p ↔ ¬q
¬p ∨ ¬q
p, q
p↔q
q
¬p ∨ q
p
p ∨ ¬q
p∨q
true
[pq] [pq̄] [p̄q] [p̄q̄] comp(Φ)
false
• ¬p, ¬q
•
¬p, q
• • ¬p
•
p, ¬q
•
• ¬q
• •
p ↔ ¬q
• • • ¬p ∨ ¬q
•
p, q
◦
• ¬p, ¬q
•
•
q
◦
• • ¬p
• •
p
◦ •
• ¬q
◦ • •
p ↔ ¬q
◦ • • • ¬p ∨ ¬q
Tabelle 5.2: Konstruktive Implikation bei partiell geordneten Defaults
nicht angenommen werden, so wähle man die Aufzählung ¬p, q, ¬q, p). Die Modelle [pq]
und [pq̄] müßten bei einer passenden Ordnungsrelation unvergleichbar sein, ebenso [pq]
und [p̄q]. Also ist [pq] auch in der Modellmenge {[pq], [pq̄], [p̄q]} minimal, denn keines der
beiden anderen Modelle ist kleiner. Das ist aber ein Widerspruch zu den Überlegungen
im vorangegangenen Beispiel, denn hier entspricht [pq] keiner konstruktiven Extension.
An diesen drei Modellmengen kann man auch sehen, daß die konstruktive Implikation
nicht die Expansions-Eigenschaft hat, denn es gilt:
sel {[pq], [pq̄]} ∩ sel {[pq], [p̄q]} = {[pq]} 6⊆ sel {[pq], [pq̄], [p̄q]} = {[pq̄], [p̄q]}.
Nicht einmal die Abschwächung der Expansions-Eigenschaft, daß jedes ausgeschlossene
Modell auch in einem Zweiervergleich geschlagen werden muß, ist hier erfüllt (im Gegensatz dazu gilt diese Eigenschaft für die vorsichtige CWA).
2
Diese Probleme treten aber erst bei partiell geordneten Defaults auf, bei Prioritätsstufen
gibt es keinen Unterschied zwischen konstruktiven und maximalen Extensionen:
Satz 5.3.16: Sei < von einer Stufeneinteilung ` abgeleitet, d.h. gelte
δ1 < δ2 ⇐⇒ `(δ1 ) < `(δ2 ).
Dann ist jede maximale (∆, <)-Extension auch eine konstruktive (∆, <)-Extension.
Beweis: Es ist also wieder eine Aufzählung der Defaults δ1 , δ2 , . . . , δn zu konstruieren, die gerade
E liefert. Diese Aufzählung muß natürlich zunächst alle Defaults der höchsten Prioritätsstufe 1
enthalten, dann alle der Prioritätsstufe 2 und so weiter. Auf jeder Prioritätsstufe wählt man
5.3. WEITERE SEMANTIKEN
119
nun zuerst die Defaults δ ∈ E aus, und erst danach die verbleibenen Defaults δ ∈ ∆∗ − E. Diese
Konstruktion garantiert folgende Aussage (∗): Ist δi 6∈ E, dann ist δi < δj für alle δj ∈ E mit
”
j > i.“
Es wird nun zunächst gezeigt, daß wenn δi 6∈ E, dann Φ ∪ Ei−1 ∪ {δi } inkonsistent ist,
also δi in der durch δ1 , δ2 , . . . , δn gegebenen konstruktiven Extension nicht ausgewählt wird.
Angenommen, dies würde nicht gelten. Dann sei der erste δi 6∈ E betrachtet, so daß Φ∪Ei−1 ∪{δi }
konsistent ist. Dann gilt für ∆0 := {δi } wegen (∗):
Φ ∪ Ei−1 ∪ {δi } ⊇ Φ ∪ δ ∈ E es gibt nicht δ 0 ∈ ∆0 mit δ 0 < δ ∪ ∆0 .
Da die linke Seite konsistent ist, gilt dies auch für die rechte Seite im Widerspruch zur Voraussetzung, daß E eine maximale Extension ist.
Damit ist gezeigt, daß kein Default konstruktiv ausgewählt wird, der nicht in E enthalten
ist. Da aber Φ ∪ E konsistent ist, müssen die Defaults δ ∈ E ausgewählt werden.
2
Oben wurde gezeigt, daß die konstruktive Implikation nicht die Expansions-Eigenschaft
hat. In dem folgenden Satz wird bewiesen, daß sie die übrigen hier betrachteten Eigenschaften hat:
Satz 5.3.17: `cons
(∆,<) hat die Eigenschaften CON, CUM, DED, SCD und NCWA.
Beweis:
• (CON): Es gibt mindestens eine konstruktive Extension und konstruktive Extensionen sind
konsistent mit Φ.
• (CUM): Gelte Φ `cons
(∆,<) ϕ, d.h. Φ ∪ E ` ϕ für jede konstruktive (∆, <)-Extension E von Φ.
Sei eine beliebige Aufzählung δ1 , δ2 , . . . , δn der Defaults gegeben. Zu zeigen ist, daß in Φ
und Φ ∪ {ϕ} dieselben Defaults ausgewählt werden. Angenommen, dies wäre nicht so, und
bei δi würde der erste Unterschied auftreten. Wegen Φ ∪ {ϕ} ∪ Ei−1 ` Φ ∪ Ei−1 könnte
es höchstens sein, daß δi in Φ ∪ {ϕ} nicht ausgewählt wird, wohl aber in Φ. Sei E die
entsprechende konstruktive Extension von Φ, es gilt dann also Ei−1 ∪ {δi } ⊆ E. Außerdem
gilt Φ ∪ E ` ϕ, also ist jedes Modell I von Φ ∪ E auch Modell von ϕ, und daher Modell
von Φ ∪ {ϕ} ∪ Ei−1 ∪ {δi }, diese Menge ist also konsistent und δi wird auch in Φ ∪ {ϕ}
ausgewählt.
cons
• (DED): Gelte Φ ∪ {ϕ} `cons
(∆,<) ψ. Angenommen, Φ 6`(∆,<) ϕ → ψ, es gäbe also eine
konstruktive (∆, <)-Extension E von Φ, so daß Φ ∪ E 6` ϕ → ψ, d.h. für ein Modell I
von Φ ∪ E gilt I |= ϕ und I 6|= ψ. Es wird nun gezeigt, daß E auch eine konstruktive
Extension von Φ ∪ {ϕ} ist:
Man betrachte dieselbe Aufzählung der Defaults, das Ergebnis sei E 0 . Angenommen,
bei δi würde der erste Unterschied auftreten. Ist δi ∈ E, so gilt I |= Φ∪{ϕ}∪E∪{δi }, also ist
0 ∪{δ } konsistent, d.h. δ ∈ E 0 . Ist umgekehrt δ ∈ E 0 , d.h. Φ∪{ϕ}∪E 0 ∪{δ }
Φ∪{ϕ}∪Ei−1
i
i
i
i
i−1
0
konsistent, so ist natürlich auch die Teilmenge Φ ∪ Ei−1 ∪ {δi } konsistent, d.h. δi ∈ E.
• (SCD): Ist ein Modell I intendiert, d.h. ist es Modell einer konstruktiven Extension E,
so ist natürlich jedes Modell, das mindestens dieselben Defaults erfüllt, ebenfalls Modell
von E, also auch intendiert.
• (NCWA): Wenn die naive CWA konsistent ist, gibt es bis auf Äquivalenz nur ein minimales
Modell. Da jedes Modell einer konstruktiven Extension minimal ist, und zwei verschie-
120
KAPITEL 5. SEMANTIK VON DEFAULTS
dene konstruktive Extensionen unverträglich sind, gibt es also auch nur eine konstruktive
Extension, die gerade mit der naiven CWA übereinstimmt.
2
Die konstruktiven Extensionen wurden in [Bre91] eingeführt, die Sätze und Beispiele dieses
Abschnittes sind neu.
5.4
Zusammenfassung
Es sollen jetzt die wichtigsten Ergebnisse dieses Kapitels noch einmal tabellarisch zusammengestellt werden.
Garantierte Eigenschaften
Man wird von einer guten Default-Semantik erwarten, daß sie grundlegende Eigenschaften
wie Konsistenzerhaltung und Kumulierung für beliebige Default-Spezifikationen (∆, <)
garantieren kann. Solche Eigenschaften verhindern Überraschungen bei Einfügungen
und Löschungen von Axiomen, da das Ergebnis häufig schon aufgrund dieser Eigenschaften vorhersehbar ist. Andererseits gibt es Anwendungen, die eine Verletzung der
Deduktions-Eigenschaft erfordern, garantierte Eigenschaften führen also immer zu einer
Einschränkung der Ausdrucksfähigkeit. In der folgenden Tabelle bedeutet •“, daß für
”
jede Default-Spezifikation (∆, <) die zugehörige Vervollständigung die betreffende Eigenschaft hat:
Eigenschaften von Default-Semantiken
CON
CUM
DED
DDIS
EXP
SCD
NCWA
min (∆,<)
•
•
•
•
•
•
•
cwa (∆,<) ncwa (∆,<) mcwa (∆,<) scwa (∆,<)
•
—
•
•
•
—
•
•
—
•
—
•
•
•
—
•
—
•
•
•
•
•
•
•
•
•
•
•
`cons
(∆,<)
•
•
•
•
—
•
•
Stärke der Vervollständigung
Man kann auch die Stärke der Vervollständigung für dieselbe Default-Spezifikation vergleichen und erhält folgende Hierarchie:
Stärke von Default-Semantiken
mcwa (∆,<) =⇒ cwa (∆,<) =⇒ min (∆,<) =⇒ `cons
(∆,<) =⇒ scwa (∆,<) =⇒ ncwa (∆,<)
5.4. ZUSAMMENFASSUNG
121
Dies ist so zu lesen, daß wenn eine Anfrage bezüglich einer weiter links stehenden Vervollständigung mit Ja“ beantwortet wird, sie dann erst recht bezüglich einer weiter rechts
”
stehenden Vervollständigung mit Ja“ beantwortet wird. Die Vervollständigungs-Stärke
”
wächst also von links nach rechts.
Allzu starke Vervollständigungen sind nicht zur Darstellung von unvollständiger Information geeignet, allzu schwache Vervollständigungen überraschen den Benutzer mit
unerwarteten Wissenslücken“.
”
Charakterisierungen von Default-Semantiken
Charakterisierungen heben einzelne Default-Semantiken aus der Masse der Möglichkeiten
hervor. Man will ja nicht eine ganz zufällige Semantik. Die folgenen Charakterisierungen
besagen, daß die betrachteten Semantiken gerade extremal mit bestimmten Eigenschaften
sind. Hält man z.B. die NCWA-Eigenschaft und die Deduktions-Eigenschaft für sinnvoll
und will sich ansonsten keine Modelle unbegründet ausscheiden, so bekommt man gerade
die minimale Modelle“ Semantik.
”
Charakterisierungen über Eigenschaften und Vervollständigungsstärke
ncwa (∆,<)
scwa (∆,<)
`cons
(∆,<)
min (∆,<)
cwa (∆,<)
mcwa (∆,<)
Stärkste
Vervollständigung mit NCWA
Eine stärkste Vervollständigung mit NCWA, CON, CD
?
Schwächste
Vervollständigung mit NCWA, DED
Schwächste
Vervollständigung mit NCWA, DDIS
Schwächste
Vervollständigung mit NCWA
Offene Frage 5.4.1: Gibt es auch eine entsprechende Charakterisierung für die konstruktive Implikation?
Ausdrucksfähigkeit
Die in den Anwendungen benötigten Vervollständigungen sollten natürlich auch durch
geeignete Default-Spezifikationen dargestellt werden können. Gesucht sind also Charakterisierungen des Wertebereichs einer Default-Semantik, oder Vergleiche zwischen den
Wertebereichen zweier Semantiken. Eine obere Schranke für die Menge der darstellbaren
Vervollständigungen ist dabei durch die garantierten Eigenschaften (s.o.) gegeben: es ist
mit Sicherheit keine Vervollständigung darstellbar, die eine dieser Eigenschaften verletzt.
In dieser Arbeit konnte nur der Bereich der mit minimalen Modellen“ darstellbaren
”
Vervollständigungen charakterisiert werden:
Charakterisierungen der Ausdrucksfähigkeit über Eigenschaften
min (∆,<)
CON, CUM, DED, EXP
122
KAPITEL 5. SEMANTIK VON DEFAULTS
Für die übrigen Klassen von Vervollständigungen ist zu vermuten, daß hier wesentlich
kompliziertere Eigenschaften benötigt werden. Es wäre aber auch ein (nichttrivialer)
Algorithmus nützlich, der aus einer als Tabelle gegebenen Vervollständigung die passenden
Defaults konstruiert, soweit möglich.
Schließlich kann man auch die mit den verschiedenen Default-Semantiken darstellbaren Vervollständigungen vergleichen. Hier gelten folgende Inklusionen:
Vergleich der Ausdrucksfähigkeit
|min|
⊂ |cwa|
|min|
⊂ | `cons |
|mcwa| ⊂ |cwa|
|scwa| ⊂ |min|
Dabei sei |x| die Menge der mit der Default-Semantik x darstellbaren Vervollständigungen
(für beliebiges ∆, <).
Natürlich besagt das nicht, daß die Umrechnung zwischen den Default-Spezifikationen
für diese Semantiken besonders einfach ist. Wenn man etwa mit der vorsichtigen CWA die
minimalen Modelle simulieren will, so muß man alle Disjunktionen von Defaults einführen.
Trotzdem geben solche Inklusionen einen Hinweis auf die Mächtigkeit der Ansätze.
Wertung
Welche Semantik ist also nach den bisherigen Erkenntnissen die beste? Natürlich hängt
das letztlich von der Anwendung ab, aber man kann doch einige Hinweise geben:
Die minimale Modelle“-Semantik kann viele nützliche Eigenschaften garantieren und
”
auf verschiedene Arten charakterisiert werden, sie ist also sicher nicht eine zufällige Semantik. Sie wäre wohl die erste Wahl, wenn die Anwendung es zuläßt.
Die vorsichtige CWA scheint für einige Anwendungen nötig zu sein, die eine stärkere
Auslöschung sich gegenseitig blockierender Defaults verlangen. Hier zahlt sich aus, daß
die vorsichtige CWA echt ausdrucksstärker ist als die minimale Modelle“-Semantik.
”
Darüberhinaus kann sie einige Eigenschaften garantieren und hat auch eine einfache Charakterisierung. Sie ist aber wohl noch nicht ganz so gut verstanden wie die minimale
”
Modelle“-Semantik, weitere Untersuchungen wären nützlich.
Die naive CWA scheidet wegen der Probleme mit der Konsistenzerhaltung aus. Falls
man aufgrund der möglichen Axiomenmengen garantieren kann, daß sie konsistent ist,
fällt sie ohnehin mit allen anderen Sematiken zusammen.
Die modifizierte CWA scheint für praktische Zwecke zu schwach zu sein, außerdem
erfüllt sie nicht die intuitiv recht einleuchtende Eigenschaft DDIS (als einzige von den
betrachteten Vervollständigungen).
Die starke CWA ist zur Darstellung unvollständiger Information ungeeignet, sie zieht
auch Defaults in einer für den Benutzer überraschenden Weise vor.
5.4. ZUSAMMENFASSUNG
123
Die konstruktive Implikation fällt bei Prioritätsstufen mit der minimale Modelle“”
Semantik zusammen. Bei partiell geordneten Defaults verletzt sie jedoch die ExpansionsEigenschaft. Ihr Vorteil ist natürlich die intuitiv sehr einfache konstruktive Definition.
Dafür sollte man aber nicht die regelmäßigere Struktur der minimalen Modelle opfern.
124
Kapitel 6
Berechnung von Antworten
In diesem Kapitel sollen nun Algorithmen für die Anfrageauswertung entwickelt werden.
Im Unterschied zu den aus der Literatur bekannten Verfahren werden hier allgemeine
Klauseln und benutzerspezifizierbare Defaults zugelassen (anstelle von Hornklauseln mit
impliziter Negation).
Für die Semantik der Defaults werden drei Alternativen betrachtet, die den verschiedenen Vorgehensweisen bei mehreren Extensionen entsprechen: Die minimale Modelle“”
Semantik ist äquivalent zum skeptischen Ansatz, die vorsichtige CWA ist gerade der
vorsichtige Ansatz und der leichtgläubige Ansatz wird als Unterprogramm benötigt.
In der Literatur sind im wesentlichen zwei Klassen von Verfahren zur Anfrageauswertung vorgeschlagen worden: Die bottom-up“ Verfahren werden bei deduktiven Da”
tenbanken verwendet, top-down“ Verfahren in der logischen Programmierung. Beide
”
Vorgehensweisen haben ihre Vorteile: bottom-up“ Verfahren sind mengenorientiert und
”
kommen daher ohne Doppelarbeit aus, top-down“ Verfahren gehen zielgerichtet vor und
”
vermeiden überflüssige Arbeit.
Eine Verallgemeinerung dieser Verfahren auf allgemeine Klauseln ist nicht schwer:
Wenn man sich in der Literatur zum automatischen Beweisen“ umsieht, stellt man fest,
”
daß das bottom-up“ Verfahren ein Spezialfall der positiven Hyperresolution ist, während
”
die SLD-Resolventenmethode von Prolog auf der OL-Resolution basiert. Allerdings muß
für die Hyperresolution noch eine mengenorientierte Implementierung entwickelt werden,
und bei der OL-Resolution sind noch Überlegungen zur Terminierung anzustellen.
Mehr Mühe machen die allgemeinen (benutzerspezifizierbaren) Defaults. Natürlich
könnte man im Prinzip einfach die maximalen Extensionen konstruieren, aber dieses
Verfahren würde zu einem enormen Aufwand führen. Einer der Gründe, Defaults einzuführen, war ja gerade die Speicherplatz-Ökonomie, da die Anzahl der angenommenen
Default-Ausprägungen die der nicht angenommenen bei weitem übersteigt.
Statt dessen werden hier Begründungen“ für Antworten berechnet, also Mengen von
”
Defaults, die zur Rechtfertigung einer Antwort nötig sind. Es ist dann natürlich noch
zu überprüfen, ob die entsprechenden Defaults wirklich angenommen werden können.
Dies geschieht, indem widersprechende Begründungen“ berechnet werden, also Konflikte,
”
an denen die betrachteten Defaults beteiligt sind. Insgesamt hat man also einen sehr
125
126
KAPITEL 6. BERECHNUNG VON ANTWORTEN
zielgerichteten Umgang mit den Defaults.
Es ist noch zu bemerken, daß dies etwa bei der naiven CWA oder der modifizierten
CWA nicht möglich wäre. Dort kann die Konsistenz ja auch durch Defaults zerstört werden, die keine Beziehung zur Anfrage haben. Interessant wäre also sicher eine allgemeine
Theorie der Antwort-Algorithmen, die etwa zeigt, daß bestimmte Default-Semantiken
prinzipiell einfacher zu berechnen sind als andere.
6.1
Bottom-Up
In diesem Abschnitt wird eine bottom-up“ Methode zur Anfrageauswertung bei allgemei”
nen Klauseln und expliziten Defaults eingeführt. Das Verfahren läuft in zwei Phasen ab:
Zuerst werden mit einem Resolventenverfahren Folgerungen aus den gegebenen Fakten
und Regeln gebildet. Dies liefert einerseits mögliche Antworten mit ihren Begründungen, und andererseits Konflikte zwischen den Defaults. Aus diesen Informationen werden
dann in der zweiten Phase die korrekten Antworten berechnet, was im Normalfall durch
einfaches Nachschauen in den zuvor berechneten Tabellen erfolgen kann.
Diese Zweiteilung ist auch deswegen naheliegend, weil man zur Anwendung der Defaults ja sicher sein muß, daß ihr Gegenteil nicht mehr abgeleitet werden kann. Da alle
relevanten Folgerungen bereits in der ersten Phase berechnet wurden, steht diese Information dann in der zweiten Phase zur Verfügung.
Im folgenden ist zwischen den algorithmischen Grundlagen und der mengenorientierten Implementierung zu unterscheiden. Die Grundlagen werden formal definiert und
bewiesen, die Implementierung wird dagegen nur an Beispielen demonstriert.
Dieser Abschnitt basiert auf der Arbeit [BL92], allerdings kann die Methode hier
wesentlich ausführlicher dargestellt werden. Für die mengenorientierte Implementierung
werden hier flache Relationen verwendet, in [BL92] aber geschachtelte Relationen. Es
bietet sich also an, die betreffenden Abschnitte der beiden Arbeiten zu vergleichen.
Eingaben der Anfrageauswertung
Die Anfrageauswertung benutzt natürlich die Axiome Φ, die Defaults ∆ und eine Anfrage ψ. Wie in Kapitel 2 erläutert wurde, kann vorausgesetzt werden, daß die zugrundeliegende Signatur Σ endlich ist.
Die hier betrachteten Resolutionsbeweiser arbeiten allerdings nur mit Klauseln. Es
wird daher die in Kapitel 2 eingeführte Normalform verwendet, d.h. Φ wird um die Regeln
answer (X1 , . . . , Xn ) ← ψ,
δ ← default δ (X1 , . . . , Xn )
erweitert, wobei answer und die default δ (δ ∈ ∆) neue Prädikate sind, deren Argumentsorten zu den in ψ bzw. δ auftretenden Variablen X1 , . . . , Xn passen. Die so erweiterte
Signatur heiße Σ̄.
6.1. BOTTOM-UP
127
Die erweiterte Axiomenmenge ist natürlich immer noch keine Klauselmenge, aber sie
kann mit dem in Kapitel 2 angegebenen Verfahren in eine logisch äquivalente Klauselmenge Φ̄ überführt werden.
Im folgenden sei answer [θ] das zur Substitution θ für die Antwortvariablen X1 , . . . , Xn
gehörige Literal der Form
answer (X1 , . . . , Xn )θ.
Entsprechend sei default[δ] das zur Default-Ausprägung δ ∈ ∆∗ gehörige Literal.
Die Umrechnung zwischen beiden Signaturen ist mit folgenden Lemmata möglich:
Lemma 6.1.1: Sei I¯ ein Σ̄-Herbrandmodell von Φ̄ und I ihr Σ-Redukt.
• I¯ |= default[δ] =⇒ I |= δ.
• I¯ |6 = answer [θ] =⇒ I 6|= ψθ.
Beweis:
• Ein Grundbeispiel der neuen Regeln ist δ ← default[δ]. Da I¯ diese Implikation erfüllen
muß und außerdem ein Modell von default[δ] ist, muß es natürlich auch δ erfüllen.
• Diese Behauptung folgt aus I¯ |= answer [θ] ← ψθ.
2
Lemma 6.1.2: Sei I ein Σ-Herbrandmodell von Φ. Dann gibt es ein Σ̄-Herbrandmodell I¯
von Φ̄ mit
• I¯ |= answer [θ] ⇐⇒ I |= ψθ für alle Antwortsubstitutionen θ, und
• I¯ |= default[δ] ⇐⇒ I |= δ für alle δ ∈ ∆∗ .
Beweis: I¯ sei die Σ̄-Erweiterung von I mit
¯[answer ] :⇐⇒ I |= ψhX1 / c1 , . . . , Xn / cn i,
(c1 , . . . , cn ) ∈ I[
¯
(c1 , . . . , cn ) ∈ I[[default δ0 ] :⇐⇒ I |= δ0 hX1 / c1 , . . . , Xn / cn i,
wobei X1 , . . . , Xn gerade die in ψ bzw. δ0 vorkommenden Variablen sind. Die Behauptung folgt
dann direkt aus der Konstruktion.
2
Die klassische bottom-up“ Methode
”
Es soll zunächst die bottom-up“ Auswertung für Hornklauseln beschrieben werden, die
”
dann auf beliebige Klauseln zu verallgemeinern ist.
Bei der bottom-up“ Auswertung ist die Unterscheidung zwischen Fakten (positiven
”
Grundliteralen) und Regeln wesentlich: Die Fakten werden in der Datenbank abgespeichert, während die Regeln benutzt werden, um neue Fakten abzuleiten. Bei deduktiven
Datenbanken geht man normalerweise davon aus, daß wesentlich mehr Fakten als Regeln
zu verwalten sind.
Sei also Φ̄ unterteilt in Fakten ΦF und Regeln ΦR . Man berechnet nun iterativ die
Menge Φ̂ der implizierten Fakten, beginnend mit Φ̂0 := ΦF . Die Hornklausel-Regeln
können in der Form
λ0 ← λ 1 ∧ · · · ∧ λ n
128
KAPITEL 6. BERECHNUNG VON ANTWORTEN
geschrieben werden, wobei alle λj positive Literale sind. Eine solche Regel wird angewendet, indem für die Rumpf-Literale“ λ1 , . . . , λn passende Fakten aus Φ̂i−1 eingesetzt
”
werden, und dann das entsprechende Faktum für das Kopf-Literal“ λ0 in Φ̂i eingetragen
”
wird:
Φ̂i := Φ̂i−1 ∪ λ0 θ es gibt λ0 ← λ1 ∧ · · · ∧ λn ∈ ΦR und λ1 θ, . . . , λn θ ∈ Φ̂i−1 .
Ein Beispiel wäre etwa:
p(a)
↑
p(X) ← q1 (X) ∧ q2 (X, Y ).
↑
↑
q1 (a)
q2 (a, b)
Eine Implementierung mit Datenbank-Techniken würde natürlich die Menge aller mit
dieser Regel aus Φ̂i−1 ableitbaren Fakten in einem Schritt berechnen.
Die Berechnung der direkt implizierten Fakten“ wird nun solange iteriert, bis sich
”
nichts mehr ändert (Φ̂i = Φ̂i−1 ). Dann sei Φ̂ := Φ̂i . Aufgrund der Bereichsbeschränkung
entstehen bei dieser Berechnung auch nur Fakten (also nicht etwa Literale mit Variablen),
so daß Φ̂ sehr einfach in der Datenbank repräsentiert werden kann. Außerdem enthalten
diese Fakten nur in Φ vorkommende Konstanten, so daß die Terminierung sichergestellt
ist.
Es gibt nun noch viele Feinheiten oder Optimierungen bei der Berechnung, die hier
nur kurz angedeutet werden können. Für eine genauere Behandlung sei auf [BR86, Ull88,
Ull89, CGT90, Gog90] verwiesen.
Zunächst wird die Berechnung der Fakten, die auf einer Iterationsstufe hinzu gekommen sind, auf jeder folgenden Stufe wiederholt, denn die verwendeten Rumpf-Literale sind
auch in den späteren Φ̂i enthalten. Aus diesem Grund heißt die beschriebene Methode
die naive Auswertung“. Ziel der semi-naiven Auswertung“ ist es nun, nur neue Fakten,
”
”
d.h. Φ̂i − Φ̂i−1 zu berechnen. Dafür darf natürlich nicht diese Mengendifferenz verwendet
werden, dann hätte man ja nichts gewonnen. Eine einfache Verbesserung ist es, nacheinander für jedes Rumpf-Literal nur in Φ̂i−1 neu hinzugekommene Fakten einzusetzen. Dies
liefert jedoch nicht notwendigerweise nur neue Fakten (vgl. z.B. p(X) ← p(X)), und für
die anderen Literale werden immer noch Berechnungen wiederholt.
Im wesentlichen wird die Berechnung von Φ̂i für jedes Prädikat oder sogar jede Regel
einzeln durchgeführt. Es ist natürlich nicht nötig, alle Regeln nacheinander immer wieder
zu iterieren. Um eine passende Reihenfolge festzulegen, konstruiert man den Abhängigkeitsgraphen der Regeln, wobei eine Regel der Form
p(. . .) ← q1 (. . .) ∧ · · · ∧ qn (. . .)
von jeder Regel abhängig ist, bei der ein qi im Kopf vorkommt. Im einfachsten Fall
einer nicht-rekursiven Regelmenge braucht man jede Regel nur ein einziges Mal anzuwenden, wenn man eine topologische Sortierung dieses Graphen verwendet. Bei Rekursionen
braucht man entsprechend nur die an einem Zyklus beteiligten Regeln zu iterieren.
6.1. BOTTOM-UP
129
Einfache Hyperresolution
Ziel ist es nun, diese Methode auf beliebige Klauseln zu verallgemeinern. Dies liefert
gerade die Hyperresolution oder semantische Resolution (zur Vereinfachung wird hier
zunächst eine Optimierung weggelassen, s.u.).
Die Grundidee der Verallgemeinerung ist, anstelle der Fakten nun disjunktive Fak”
ten“ zu verwenden, d.h. positive Grundklauseln. Der Ableitungsschritt wird wie bisher
durchgeführt, indem für die Rumpf-Literale Fakten eingesetzt werden, allerdings hat jedes
Faktum jetzt möglicherweise einen disjunktiven Kontext“. Dieser Kontext wird einfach
”
an die Disjunktion angehängt, die sich aus den Kopf-Literalen ergibt:
p(a) ∨ p(b) ∨ r(c) ↑
↑
p(X) ∨ p(Y ) ← q1 (X) ∧ q2 (X, Y ).
↑
↑
q1 (a)
q2 (a, b) ∨ r(c)
Die folgende Definition beschreibt die Umrechnung von der Darstellung einer Klausel als
Menge (Disjunktion) von Literalen in Regeln, wie sie von der Hyperresolution verwendet
werden. Formal ist die Definition etwas aufwendiger, weil nun auch die verschiedenen
Arten von Prädikatsymbolen zu berücksichtigen sind. Man beachte, daß sich die Begriffe
positives Literal“ und negatives Literal“ auf die Darstellung als Disjunktion beziehen
”
”
(wie in Kapitel 2 definiert):
Definition 6.1.3 (Klassifizierung von Literalen):
• Ein auswertbares Literal ist ein Literal mit einem Datentyp-Prädikat p ∈ PD .
• Ein Kopf-Literal ist ein nicht auswertbares Literal, und zwar entweder
- ein positives Literal, für dessen Prädikat β(p) = + oder β(p) = ∗ gilt, oder
- ein negatives Literal mit negativ bindendem Prädikat (β(p) = −).
Ein variablenfreies Kopf-Literal wird auch Faktum genannt.
• Ein Rumpf-Literal ist ein nicht auswertbares Literal, das kein Kopf-Literal ist.
Definition 6.1.4 (Fakten und Regeln): Eine bereichsbeschränkte Klausel heißt
• disjunktives Faktum, wenn sie nur aus Fakten besteht.
• Regel, wenn sie mindestens ein Rumpf-Literal enthält.
Man beachte, daß diese Unterscheidung vollständig ist, weil eine bereichsbeschränkte
Klausel mit Variablen mindestens ein Rumpf-Literal enthalten muß (Kopf-Literale wirken nicht bindend). Außer dieser Unterscheidung in Klauseln mit und ohne Variablen
ist aber noch ein zweiter Aspekt wichtig: Die zu definierende Resolventenmethode wird
gerade Fakten und Regeln miteinander resolvieren, aber niemals Fakten mit Fakten oder
Regeln mit Regeln. Diese Zweiteilung der Klauseln funktioniert dann, wenn es eine In-
130
KAPITEL 6. BERECHNUNG VON ANTWORTEN
terpretation I gibt, in der die Fakten falsch und die Regeln wahr sind [CL73] (deswegen
heißt eine solche Resolventenmethode auch semantische Resolution“).
”
Aufgrund der Einschränkung, daß Fakten keine Variablen enthalten sollen, hat man
bei positiv und negativ bindenden Prädikaten keine Wahl: I muß die positiv bindenden
Prädikate als falsch und die negativ bindenden als wahr interpretieren (wenn man beliebige
Axiomenmengen Φ zuläßt). Bei den nicht bindenden Prädikaten könnte dagegen eine
beliebige Interpretation gewählt werden. Oben wurden sie zur technischen Vereinfachung
wie positiv bindende Prädikate behandelt, aber in speziellen Fällen könnte eine andere
Wahl günstiger sein. Ziel sollte es dabei sein, möglichst viele der vorgegebenen Axiome Φ
als Fakten behandeln zu können, und nur wenige Regeln zu haben.
Datentyp-Prädikate können bei der Regelanwendung gleich ausgewertet werden, da
ihre Interpretation durch ID eindeutig bestimmt ist und die Variablen anderweitig gebunden sind.
Definition 6.1.5 (Einfache Hyperresolution): Sei ΦF eine Menge von disjunktiven
Fakten und ΦR eine Menge von Regeln. Ein disjunktives Faktum ϕ̂ heißt aus ΦF ∪ ΦR
mit einfacher Hyperresolution direkt ableitbar, wenn es
E
H
E
B
B
H
• eine Regel λH
1 ∨· · ·∨λn ← λ1 ∧· · ·∧λm ∧λ1 ∧· · ·∧λm0 ∈ ΦR mit Kopf-Literalen λ ,
Rumpf-Literalen ∼ λB und auswertbaren Literalen ∼ λE
• eine Grundsubstitution θ für diese Regel, und
C
C
• disjunktive Fakten der Form λB
i θ ∨ λi,1 ∨ · · · ∨ λi,ki ∈ ΦF (i = 1, . . . , m)
gibt, so daß
0
• ID |= λE
j θ für j = 1, . . . , m , und
H
C
C
C
C
• ϕ̂ = λH
1 θ ∨ · · · ∨ λn θ ∨ λ1,1 ∨ · · · ∨ λ1,k1 ∨ · · · ∨ λm,1 ∨ · · · ∨ λm,km .
Definition 6.1.6 (ableitbar):
Ein disjunktives Faktum ϕ̂ heißt aus ΦF ∪ ΦR mit
einfacher Hyperresolution ableitbar, wenn für Φ̂0 := ΦF ,
Φ̂i := Φ̂i−1 ∪ {ϕ̂0 | ϕ̂0 ist aus Φ̂i−1 ∪ ΦR direkt ableitbar}
und ein i ∈ IN gilt: ϕ̂ ∈ Φ̂i .
Es ist jetzt die Korrektheit und Vollständigkeit dieser Resolventenmethode zu zeigen. Im
Gegensatz zur üblichen Vollständigkeitsaussage [CL73], die sich nur auf die leere Klausel
bezieht, wird hier die Vollständigkeit für minimale disjunktive Fakten benötigt.
Es sei noch daran erinnert, daß bei eingebauten Prädikaten aus PD natürlich auch
bei der logischen Folgerung nur solche Modelle betrachtet werden, die mit ID kompatibel
sind. So gilt etwa ∅ ` (2 = 1 + 1).
Lemma 6.1.7: Ist ϕ̂ mit einfacher Hyperresolution aus Φ̄ ableitbar, so gilt Φ̄ ` ϕ̂.
Beweis: Dies ergibt sich ganz direkt mit vollständiger Induktion über der Länge der Ableitung,
d.h. über dem Index i von Φ̂i . Hat man ein Modell der verwendeten disjunktiven Fakten, das
außerdem die Regel und die auswertbaren Literale erfüllt, so muß dieses Modell natürlich auch
das abgeleitete disjunktive Faktum erfüllen.
2
6.1. BOTTOM-UP
131
Lemma 6.1.8:
Sei ϕ̂ ein disjunktives Faktum mit Φ̄ ` ϕ̂, das minimal mit dieser
Eigenschaft ist (d.h. keine echte Teildisjunktion folgt auch aus Φ̄). Dann ist ϕ̂ aus Φ̄ mit
einfacher Hyperresolution ableitbar.
Beweis: Zunächst wird die Behauptung für Mengen Φ̄ von Grundklauseln gezeigt, und zwar
mit vollständiger Induktion über der Anzahl n der vorkommenden Grundatome.
Für n = 0 ist die Behauptung trivial, ϕ̂ kann höchstens die leere Klausel sein, und wegen
Φ̄ ` ϕ̂ muß Φ̄ die leere Klausel enthalten (Φ̄ kann ja keine anderen Klauseln enthalten).
Im Induktionsschritt kann nun angenommen werden, daß die Behauptung für alle Φ̄ und ϕ̂
mit weniger als n Grundatomen bewiesen ist.
Sei ϕ̂ zunächst nicht leer. Dann sei λ0 eines der Grundliterale von ϕ̂ und ϕ̂0 sei der Rest.
Weiterhin entstehe Φ̄0 aus Φ̄, indem λ0 aus dem Kopf jeder Klausel gestrichen wird und außerdem
jede Klausel gestrichen wird, die λ0 im Rumpf enthält (dies entspricht gerade einer Interpretation
von λ0 als falsch). Nach Konstruktion gilt:
• Φ̄0 und ϕ̂0 enthalten mindestens ein Grundliteral weniger als Φ̄ und ϕ̂.
• Es gilt Φ̄0 ` ϕ̂0 . Wäre dies nicht der Fall, gäbe es also ein Modell I 0 von Φ̄0 mit I 0 6|= ϕ̂0 ,
so könnte man daraus ein Modell I von Φ̄ mit I 6|= ϕ̂ machen, indem man λ0 als falsch
interpretiert. (Weil λ0 in ϕ̂ vorkommt, ist es kein auswertbares Literal, sonst wäre seine
Interpretation ja vorgeschrieben.)
• ϕ̂0 ist noch minimal: Sei ϕ̂00 eine echte Teildisjunktion von ϕ̂0 . Weil ϕ̂ minimal ist, gibt es
ein Modell I von Φ̄ mit I 6|= ϕ̂00 ∨ λ0 . In diesem Modell ist λ0 natürlich falsch, also ist I
auch Modell von Φ̄0 .
Damit ist die Induktionsannahme anwendbar, und man erhält, daß ϕ̂0 aus Φ̄0 mit einfacher
Hyperresolution ableitbar ist. Dieselben Ableitungsschritte kann man nun mit den Regeln von Φ̄
nachvollziehen, es kann dabei höchstens das zusätzliche Kopf-Literal λ0 hinzukommen, das aber
im weiteren Verlauf der Ableitung nicht stört. Nach der Konstruktion konnten ja beim Beweis
von ϕ̂0 keine Regeln verwendet werden, die λ0 im Rumpf enthalten.
Im zweiten Teil des Induktionsschrittes ist nun der Fall zu behandeln, daß ϕ̂ die leere Klausel
ist. Falls in Φ̄ nur noch auswertbare Literale vorkommen, muß wegen Φ̄ ` ϕ̂ der Rumpf einer
der Regeln in ID erfüllt sein, so daß man sofort die leere Klausel erhält. Ansonsten sei λ0 ein
beliebiges in Φ̄ vorkommendes nicht auswertbares Grundliteral. Geht man wieder zu Φ̄0 wie
oben konstruiert über, so gilt natürlich Φ̄0 ` 2 (wäre Φ̄0 nicht inkonsistent, so könnte man aus
einem Modell I 0 sofort ein Modell I von Φ̄ machen). Trivialerweise ist 2 auch minimal mit
dieser Eigenschaft. Aus der Induktionsannahme erhält man also eine Ableitung von 2 aus Φ̄0 .
Führt man dieselbe Ableitung mit den Klauseln aus Φ̄ durch, so erhält man entweder 2 oder ψ0 .
Im ersten Fall ist man fertig; im zweiten Fall betrachtet man die Klauselmenge Φ̄00 , die aus Φ̄0
entsteht, indem λ0 aus dem Rumpf aller Klauseln gestrichen wird, und die Klauseln weggelassen
werden, die λ0 im Kopf enthalten (dies entspricht der Interpretation von λ0 als wahr). Wieder
liefert die Induktionsannahme eine Ableitung von 2 aus Φ̄00 . Will man diese Ableitung mit den
Klauseln aus Φ̄ nachvollziehen, so braucht man möglicherweise das Rumpf-Literal λ0 . Dies ist
jedoch nach der vorangegangenen Überlegung aus Φ̄ ableitbar.
Damit ist der Induktionsschritt vollständig. Die Behauptung ist nun also für alle endlichen
Mengen Φ̄ von Grundklauseln bewiesen. Aufgrund der Bereichsbeschränkung werden bei jedem Ableitungsschritt alle vorkommenden Variablen an Konstanten gebunden, die explizit in Φ̄
132
KAPITEL 6. BERECHNUNG VON ANTWORTEN
vorkommen. Daher sind genau dieselben Ableitungsschritte möglich, wenn man Φ̄ durch die
Menge seiner Grundbeispiele mit den endlich vielen vorkommenden Konstanten ersetzt. Für
diese Menge wurde aber oben die Vollständigkeit bewiesen.
2
Hyperresolution
Wenn man die disjunktiven Fakten in eine Regel einsetzt, so spaltet man sie in das resolvierte Faktum und den disjunktiven Kontext auf. Diese Trennung ist aber im allgemeinen
nicht eindeutig bestimmt. Im schlimmsten Fall paßt jedes der Literale des disjunktiven
Faktums auf das betrachtete Rumpf-Literal. Zumindest muß man aber durch einen Vergleich feststellen, daß dies nicht der Fall ist. Die Anzahl der erzeugten disjunktiven Fakten
kann auf diese Weise sogar exponentiell wachsen, wie folgendes Beispiel zeigt:
Φ̄ := {p1 ∨ · · · ∨ pn , q1 ← p1 , . . . , qn ← pn }.
Hier sind die 2n disjunktiven Fakten der Form λ1 ∨ · · · ∨ λn mit λ∈ ∈ {pi , qi } ableitbar.
Es wäre also sehr nützlich, wenn man den disjunktiven Fakten ansehen könnte, was das
eigentlich aktive Literal und was der Kontext ist.
In [CL73] ist dazu eine Ordnung auf den Prädikaten vorgesehen, und es wird nur
erlaubt, ein Literal mit minimalem Prädikat innerhalb des disjunktiven Faktums für ein
Rumpf-Literal einzusetzten. Weil ein disjunktives Faktum häufig mehrere Literale mit
gleichem Prädikat enthält, ist dadurch das aktive Literal“ allerdings noch nicht eindeutig
”
bestimmt.
Da hier aber nur bereichsbeschränkte Klauseln verwendet werden, ist es möglich,
statt dessen eine Ordnung auf den Grundliteralen einzusetzen (etwa die lexikographische
Reihenfolge). Ist diese Ordnung linear, so kann immer nur ein Literal eines disjunktiven
Faktums an der Ableitung teilnehmen; die Aufspaltung in dieses aktive Literal“ und den
”
Kontext ist also eindeutig.
Definition 6.1.9 (Hyperresolution): Sei ΦF eine Menge von disjunktiven Fakten, ΦR
eine Menge von Regeln und < eine Ordnung auf den Fakten.
Die Hyperresolution unterscheidet sich von der einfachen Hyperresolution (Definition 6.1.5) nur dadurch, daß für die Ableitbarkeit eines disjunktiven Faktums zusätzlich
folgende Bedingung erfüllt sein muß:
• In den verwendeten disjunktiven Fakten
C
C
λB
i θ ∨ λi,1 ∨ · · · ∨ λi,ki
C
ist λB
i θ < λi,j für i = 1, . . . , m, j = 1, . . . , ki .
Natürlich muß die Vollständigkeitsaussage jetzt etwas abgeschwächt werden. Im obigen
Beispiel
Φ̄ := {p1 ∨ · · · ∨ pn , q1 ← p1 , . . . , qn ← pn }
6.1. BOTTOM-UP
133
folgen ja wirklich die 2n disjunktiven Fakten, mit der Optimierung folgen aber nur noch
Disjunktionen der Form
q1 ∨ · · · ∨ qi ∨ pi+1 ∨ · · · ∨ pn
(wenn die pi kleiner als die qj sind). Tatsächlich braucht man für die Anfragebearbeitung
nur solche Disjunktionen, die nur aus Literalen mit den Prädikaten answer und default
bestehen. Diese Prädikate kommen in Φ nur positiv (answer ) bzw. negativ vor (default).
Wenn sie in einem disjunktiven Faktum enthalten sind, können sie also nie wieder wegresolviert werden. Daher liegt es nahe, sie gerade als maximal in der Ordnung einzustufen,
also als am wenigsten aktive Literale“ Λ0 . Dafür gilt folgende Vollständigkeitsaussage:
”
Lemma 6.1.10: Seien folgende Voraussetzungen erfüllt:
• Λ0 ist eine Menge von Fakten mit: Wenn λ ∈ Λ0 und λ < λ0 , dann λ0 ∈ Λ0 (Abschluß
unter >).
• In den Grundbeispielen der Regeln aus Φ̄ taucht kein λ ∈ Λ0 als Rumpf-Literal auf.
• ϕ̂ besteht nur aus Λ0 -Literalen.
• Es gilt Φ ` ϕ̂ und ϕ̂ ist minimal mit dieser Eigenschaft.
Dann ist ϕ̂ aus Φ̄ mittels Hyperresolution ableitbar.
Beweis: Der Beweis verläuft ganz analog zum Beweis von Lemma 6.1.8, es ist nur sicherzustellen, daß man die von der Induktionsannahme gelieferten Ableitungen auch mit der ursprünglichen Klauselmenge Φ̄ nachvollziehen kann.
Im ersten Teil des Induktionsschrittes folgt dies direkt aus den Voraussetzungen: Da das
neue Literal λ0 in ϕ̂ vorkommt, ist es also Element von Λ0 . Daher ist in keinem der verwendeten
disjunktiven Fakten das neue Literal λ0 das aktive Literal, es sei denn ganz zum Schluß, wenn
ohnehin keine weiteren Ableitungsschritte mehr möglich sind (wenn λ0 das aktive Literal ist,
kann die ganze Klausel nur noch aus Λ0 -Literalen bestehen).
Im zweiten Teil des Induktionsschrittes (ϕ̂ = 2) wähle man ein <-maximales in Φ̄ vorkommendes und nicht auswertbares Grundliteral λ0 . Dieses ist nun nicht notwendigerweise in Λ0
enthalten, aber wegen der Maximalität kann es die ursprüngliche Ableitung nicht blockieren. Im
letzten Fall kommt λ0 schließlich in keinem der abgeleiteten Fakten vor, denn es werden keine
Klauseln verwendet, die λ0 im Kopf enthalten. Damit kann die von der Induktionsannahme
gelieferte Ableitung wieder übernommen werden.
2
Die Optimierung durch Verwendung einer Ordnung auf den Grundliteralen ist neu und
hat vermutlich einen deutlichen Effizienzgewinn zur Folge (es ist gerade eine typische
Anwendungs-Situation, daß man disjunktive Fakten über ein Prädikat hat). Eine Ordnung
auf den Prädikaten wurde schon in [CL73] verwendet.
Mengenorientierte Implementierung
Es soll jetzt an einem einfachen Beispiel gezeigt werden, daß die Hyperresolution mengenorientiert implementiert werden kann, wobei im wesentlichen dieselben DatenbankTechniken verwendet werden können wie im klassischen Fall.
134
KAPITEL 6. BERECHNUNG VON ANTWORTEN
Natürlich wird man mit einem Standard-Datenbanksystem nicht die größtmögliche
Effizienz erreichen können, an einigen Stellen sind noch etwas umständliche Formulierungen nötig, die höchstens ein sehr intelligenter Optimierer geschickt auswerten könnte.
Etwas besser wäre schon ein NF2 -Datenbanksystem, wie es in [BL92] verwendet wurde.
Auch dort sind aber eine ganze Reihe von Restrukturierungen nötig, von denen zu hoffen
ist, daß sie nicht wirklich ausgeführt werden.
Im folgenden wird die flache“ Relationenalgebra verwendet, weil entsprechende Da”
tenbanksysteme leichter verfügbar sind, und für Prototypen spielt die Effizienz ja nur eine
untergeordnete Rolle. Vor allem aber sind die Implementierungstechniken bekannter, so
daß man den Aufwand der verschiedenen Operationen oder auch mögliche Optimierungen
besser einschätzen kann.
Der Idealfall bleibt natürlich ein Datenbanksystem, bei dem auch die unteren Schichten an diese Anwendung angepaßt sind. Auch bei diesem Ziel ist aber das folgende Beispiel
nützlich, um zu sehen, wo die Standard-Techniken eingesetzt werden können.
Es sei folgende typische Regel R1 gewählt:
p(X, a) ∨ p(X, b) ← q1 (X, Y ) ∧ q2 (Y, c).
Nun ist zunächst eine relationale Darstellung für Φ̂ zu wählen. Eine besonders einfache
Lösung ist, nur eine einzige Tabelle zu verwenden. Es gibt natürlich eine ganze Reihe
Alternativen, die im folgenden kurz angedeutet werden.
DIS FACTS
id
1
1
2
3
4
4
pred arg1 arg2 active lit length
q1
a
d
T q1 (a, d) 2
r
a —
F
r(a)
2
q1
b
e
T q1 (b, e) 1
q2
d
c
T q2 (d, c) 1
q2
e
c
T q2 (e, c) 2
r
e —
F
r(e)
2
Diese Tabelle repräsentiert folgende Menge von disjunktiven Fakten:
Φ̂0 := {q1 (a, d) ∨ r(a), q1 (b, e), q2 (d, c), q2 (e, c) ∨ r(e)}.
Die Attribute bedeuten folgendes:
• id : Mit diesem Attribut werden die Literale eines disjunktiven Faktums verkettet.
• pred : Das Prädikat des in dem Tupel dargestellten Literals.
• arg1: Das erste Argument des Literals.
• arg2 : Das zweite Argument des Literals (bei Bedarf wird ein Nullwert eingetragen).
• active: T“, falls das aktive Literal in dieser Disjunktion, F“ sonst.
”
”
• lit: Es vereinfacht die Überprüfung der Ordnung zwischen den Literalen sowie
Verbund-Bedingungen, wenn das Literal auch noch einmal als Zeichenkette vorliegt.
Ansonsten ist diese Information natürlich redundant. Die Bezeichner für answer
6.1. BOTTOM-UP
135
und default seien so gewählt, daß sie größer als jedes andere Prädikat eingestuft
werden.
• length: Die Anzahl der Literale in der Disjunktion. Auch diese Information ist
eigentlich redundant.
Zunächst definiert man zwei Teilanfragen für die beiden Rumpf-Literale:
BODY1 := πid:id1,arg1:X,arg2 :Y σpred=’q1 ’∧active=’T ’ (DIS FACTS )
BODY2 := πid:id1,arg1:Y σpred=’q2 ’∧active=’T ’∧arg2 =’c’ (DIS FACTS )
Die Selektionen für pred und active wären natürlich überflüssig, wenn man die aktiven
Literale für jedes Prädikates in eine eigene Tabelle eintragen würde. Dies würde aber
später zu aufwendigen Vereinigungen und Aufspaltungen führen. Die Selektion für die in
der Regel auftretende Konstante c ist eine Übereinstimmung mit der klassischen bottom”
up“ Methode. Auch der nun folgende Join über den gemeinsamen Variablen der RumpfLiterale ist klassisch“:
”
BODY := BODY1 1 BODY2 .
Falls der Rumpf noch auswertbare Literale enthielte, würde hier eine entsprechende Selektion eingebaut.
Nun ist die durch die Regelanwendung erzeugte Disjunktion aufzubauen. Das fängt
mit der etwas mühsamen Erzeugung eines neuen Bezeichners id für die Disjunktion an. Es
werden hier einfach Identifikatoren für die Regel und die verwendeten Fakten als Strings
aneinandergehängt (◦ bezeichne die Konkatenation):
BODY 0 := π’R1 (’◦id1◦’,’◦id2 ◦’)’:new
id,id1,id2 ,X (BODY ).
Einfacher wäre es natürlich, wenn man eine Funktion hätte, die bei jedem Aufruf eine
neue Zahl liefert (etwa in ORACLE“ vorhanden).
”
Die neue Disjunktion ergibt sich nun aus den beiden Kopf-Literalen und den Kontexten der beiden Rumpf-Literale:
NEW :=
πnew
∪ πnew
∪ πnew
∪ πnew
id:id,’p’:pred,X:arg1,’a’:arg2 ,’p(’◦X◦’,’◦’a’◦’)’:lit (BODY
0
)
id:id,’p’:pred,X:arg1,’b’:arg2 ,’p(’◦X◦’,’◦’b’◦’)’:lit (BODY )
0
1 DIS FACTS )
id:id,pred,arg1,arg2 ,lit σactive=’F ’ (BODY
id1=id
0
1 DIS FACTS ) .
id:id,pred,arg1,arg2 ,lit σactive=’F ’ (BODY
0
id2 =id
NEW
id
pred arg1 arg2 lit
R1(1, 3) p
a
a p(a, a)
R1(1, 3) p
a
b p(a, b)
R1(1, 3) r
a — r(a)
R1(2, 4) p
b
a p(b, a)
R1(2, 4) p
b
b p(b, b)
R1(2, 4) r
e — r(e)
Die Verbunde mit dem Kontext wären natürlich nicht nötig, wenn man etwa eine NF2 Darstellung gewählt hätte. Dann hätte man den Kontext mit den aktiven Literalen
136
KAPITEL 6. BERECHNUNG VON ANTWORTEN
mitführen können. Dafür wären bei der NF2 -Darstellung mehrere Restrukturierungen
nötig gewesen.
Es ist jetzt noch festzustellen, welches Literal jeweils das aktive Literal ist. Außerdem
ist für die Eliminierung nicht-minimaler Disjunktionen die Anzahl der Literale wichtig:
id
NEW 0 := γid,
count(∗):length,min(lit):min lit (NEW ) 1 NEW NEW 00 := πid,pred ,arg1,arg2 ,’T ’:active,lit,length σlit=min lit (NEW 0 )
∪ πid,pred,arg1,arg2 ,’F ’:active,lit,length σlit6=min lit (NEW 0 ) .
Der Operator γAC (B) entspreche dabei dem select A from B group by C“ in SQL. Man
”
beachte, daß die Berechnung des aktiven Literals und der Disjunktions-Länge bei einem
einmaligen Durchlauf durch die entsprechend sortierte Relation NEW vorgenommen werden kann.
Nun fehlt nur noch die Eliminierung nicht-minimaler Disjunktionen. Bei einem NF 2 Datenbanksystem würde man einfach einen Teilmengen-Verbund verwenden. Leser, die
sich mit der Implementierung und Komplexität dieser Operation auskennen, können den
Rest dieses Abschnittes überspringen.
Bei einem relationalen Datenbanksystem kann der Teilmengenverbund mit folgendem
hübschen Trick implementiert werden: Man stellt fest, wie häufig sich eine neue und eine
alte (oder neue) Disjunktion in einem Literal überlappen (mit dem Verbund über lit).
Nun kennt man außerdem die Längen der beiden Disjunktionen. Stimmt die Anzahl
der gemeinsamen Literale mit einer dieser beiden Längen überein, so ist die betreffende
Disjunktion Teildisjunktion der anderen.
DIS FACTS := DIS FACTS ∪ NEW 00
OVERLAP := πid,lit,length (DIS FACTS ) 1 πid:id 0 ,lit,length:length 0 (NEW 00 )
id,id 0
(OVERLAP )
OVERLAP 0 := γid,id
0
,length,length 0 ,count(∗):common
Im Beispiel werden folgende Überlappungen festgestellt:
OVERLAP 0
id
id 0
length length 0 common
1 R1(1, 3) 2
3
1
4 R1(2, 4) 2
3
1
Die Löschung nicht-minimaler Disjunktionen funktioniert dann folgendermaßen (im Beispiel sind keine Disjunktionen betroffen):
DELETE
:= πid σcommon=length 0 ∧common<length (OVERLAP 0 )
∪ πid 0 :id σcommon=length∧(common<length 0 ∨id<id 0 ) (OVERLAP 0 )
DIS FACTS := DIS FACTS − (DELETE 1 DIS FACTS ).
Damit ist eine Anwendung der Regel abgeschlossen.
Steuerung der Regelanwendung
Im einfachsten Fall werden alle Regeln reihum solange iteriert, bis sich auf einer Itera-
6.1. BOTTOM-UP
137
tionsstufe nichts mehr geändert hat. Dieses Verfahren kann natürlich auf viele Arten
verbessert werden; hier sollen einige kurze Andeutungen genügen.
Zunächst ist natürlich auch hier eine semi-naive Auswertung wünschenswert, mindestens sollten nicht für alle Rumpf-Literale nur alte Fakten eingesetzt werden.
Die Anordnung der Regeln mit einem Abhängigkeitsgraphen ist deutlich schwieriger als im Fall der Hornklauseln. Das Problem ist, daß man aufgrund der disjunktiven
Kontexte einer Regel nicht einfach ansehen kann, welches Prädikat das abgeleitete aktive
Literal haben wird. Hat man etwa die Regel
r(X) ← p(X)
und setzt hier das disjunktive Faktum p(a) ∨ q(a) ein, so entsteht das disjunktive Faktum q(a) ∨ r(a). Das aktive Literal ist hier q(a) und entspricht damit nicht dem KopfLiteral der verwendeten Regel. Man braucht also eine Analyse, welche Prädikate zusammen mit welchen anderen Prädikaten in disjunktiven Fakten vorkommen können.
Die Ordnung auf den Grundliteralen muß nicht notwendigerweise die lexikographische
Ordnung sein, man kann sie vielmehr als ein Mittel zur Optimierung einsetzen. Hat man
etwa die Regel
p(Y ) ∨ q(X) ← p(X) ∧ r(X, Y )
zusammen mit den Fakten
p(1), r(1, 2), . . . , r(99, 100),
so werden lange Disjunktionen der Form p(i) ∨ q(1) ∨ · · · ∨ q(i − 1) aufgebaut. Mit den
zusätzlichen Regeln answer ← p(100) und ← q(X) schrumpfen sie dann wieder zu der
Antwortklausel“ answer . Wählt man nun die Ordnung
”
q(. . .) < p(. . .) < r(. . .) < answer ,
so werden immer nacheinander Disjunktionen der Form p(i) ∨ q(i − 1) und Fakten der
Form p(i) erzeugt. Auf diese Weise spart man Speicherplatz, die Tests auf schon vorhandene Teilklauseln werden schneller, und man hat man genauere Information über die
Form der erzeugten disjunktiven Fakten (ihre Länge ist bekannt).
Am effizientesten wäre es natürlich, die beiden Regeln zu kombinieren:
p(Y ) ← p(X) ∧ r(X, Y ).
Diese Technik ist in der logischen Programmierung als unfolding“ bekannt. Man kann
”
sich hier nicht einfach auf den Standpunkt stellen, daß solche Umformungen schon vom
Benutzer/Datenbankentwerfer durchgeführt werden sollen, da ihre Nützlichkeit im allgemeinen von der Anfrage abhängt (das unterdrückte Zwischenergebnis darf nur an einer
bzw. wenigen Stellen weiterverwendet werden). Auch die Umkehrung (Eliminierung von
gleichen Teilausdrücken durch neue Prädikate) kann sich auszahlen.
Potentielle Antworten
Nachdem nun alle Folgerungen Φ̂ aus der Axiomenmenge Φ̄ berechnet sind, beginnt die
138
KAPITEL 6. BERECHNUNG VON ANTWORTEN
zweite Phase der Anfrageauswertung: Es sind jetzt die Antworten unter Berücksichtigung
der Defaults zu erzeugen.
Zur Vereinfachung wird hier davon ausgegangen, daß keine Prioritäten zwischen den
Defaults spezifiziert sind. Eine Verallgemeinerung auf Prioritätsstufen kann mit einer
Iteration über den Stufen vorgenommen werden [BG89, BL92].
Um zu sehen, welche Vorarbeit die erste Phase geleistet hat, sei hier noch ein Beispiel
angegeben:
Beispiel 6.1.11: Seien folgende Axiome gegeben:
Φ := {p(a), p(b) ∨ p(c), ¬p(d), q(a), q(b), q(c), q(d), q(e)}.
Als Default sei ¬p(X) spezifiziert und die Anfrage sei ¬p(X) ∧ q(X). Die Normalisierung
fügt folgende Regeln zu der Axiomenmenge hinzu:
Φ̄ := Φ ∪ {¬p(X) ← default(X), answer (X) ← ¬p(X) ∧ q(X)}.
Die erste Regel wird von der Hyperresolution gerade umgekehrt behandelt, nämlich als
¬default(X) ← p(X),
denn default ist negativ bindend, ¬default(X) ist also ein Kopf-Literal. Die zweite Regel
ist folgendermaßen in Kopf und Rumpf eingeteilt:
answer (X) ∨ p(X) ← q(X).
Schließlich enthält Φ selbst noch eine dritte Regel, nämlich
← p(d).
Eine Anwendung der ersten Regel ergibt folgende disjunktiven Fakten:
¬default(a),
¬default(b) ∨ p(c).
Die zweite Regel liefert:
answer (a) ∨ p(a),
answer (b) ∨ p(b),
answer (c) ∨ p(c),
answer (d) ∨ p(d),
answer (e) ∨ p(e).
Die dritte Regel erzeugt nun folgendes Faktum:
answer (d).
Die Disjunktion answer (d) ∨ p(d) ist jetzt nicht mehr minimal und wird gelöscht. Die
erste Regel muß noch einmal angewendet werden und liefert:
¬default(b) ∨ ¬default(c),
answer (a) ∨ ¬default(a),
answer (b) ∨ ¬default(b),
answer (c) ∨ ¬default(c),
answer (e) ∨ ¬default(e).
6.1. BOTTOM-UP
139
Die Disjunktion answer (a)∨¬default(a) ist nicht minimal (¬default(a) ist schon bekannt),
also wird auch sie gelöscht. Eine weitere Anwendung der Regeln liefert keine neuen
disjunktiven Fakten.
2
Von den erzeugten disjunktiven Fakten sind natürlich solche am interessantesten, die nur
das Prädikat answer enthalten. Solche Disjunktionen entsprechen disjunktiven Antworten, die schon logisch korrekt sind, also ohne Verwendung von Defaults ableitbar sind. In
dem Beispiel ist das nur answer (d), und tatsächlich ist hX / di eine korrekte Antwort.
Nützlich sind aber auch Disjunktionen, die answer und default enthalten. Sie entsprechen potentiellen Antworten“, die von der Anwendbarkeit der betreffenden Defaults
”
abhängen:
answer (b) ← default(b), answer (c) ← default(c), answer (e) ← default(e).
Definition 6.1.12 (Begründung): Eine Menge von Default-Ausprägungen D ⊆ ∆∗
heißt Begründung für eine Formel ψ 0 genau dann, wenn
• Φ ∪ D ` ψ0.
• Φ ∪ D ist konsistent.
Definition 6.1.13 (Potentielle Antwort): Eine potentielle Antwort ist eine Menge
von Substitutionen {θ1 , . . . , θk } für die Variablen einer Anfrage ψ, so daß es für die Formel
ψθ1 ∨ · · · ∨ ψθk
eine Begründung D ⊆ ∆∗ gibt.
Aus dieser Definition von potentieller Antwort folgt nun sofort, daß eine potentielle Antwort im leichtgläubigen Sinne korrekt ist:
Lemma 6.1.14:
• Ist {θ1 , . . . , θk } eine potentielle Antwort mit Begründung D, so gibt es eine maximale
∆-Extension E von Φ mit Φ ∪ E ` ψθ1 ∨ · · · ∨ ψθk .
• Gilt umgekehrt Φ ∪ E ` ψθ1 ∨ · · · ∨ ψθk für eine maximale ∆-Extension E von Φ,
so ist {θ1 , . . . , θk } eine potentielle Antwort mit Begründung E.
Beweis:
• Nach Lemma 5.2.14 kann D zu einer maximalen ∆-Extension E erweitert werden. Dann
folgt die Behauptung aus der Monotonie der logischen Folgerung `.
• Die Umkehrung folgt direkt aus der Definition.
2
Im folgenden ist nun die Beziehung zwischen potentiellen Antworten und den Disjunktionen aus answer - und default-Literalen nachzuweisen:
140
KAPITEL 6. BERECHNUNG VON ANTWORTEN
Definition 6.1.15 (Antwortklausel): Eine Antwortklausel ist eine minimale Disjunktion der Form
answer [θ1 ] ∨ · · · ∨ answer [θk ] ∨ ¬default[δ1 ] ∨ · · · ∨ ¬default[δm ],
die aus Φ̄ folgt (k > 0, m ≥ 0).
Lemma 6.1.16: Ist answer [θ1 ] ∨ · · · ∨ answer [θk ] ∨ ¬default[δ1 ] ∨ · · · ∨ ¬default[δm ] eine
Antwortklausel, so ist {θ1 , . . . , θk } eine potentielle Antwort mit Begründung {δ1 , . . . , δm }.
Beweis: Sei D := {δ1 , . . . , δm }. Angenommen, {θ1 , . . . , θk } wäre keine potentielle Antwort
mit dieser Begründung. Dann müßte eine der beiden Bedingungen aus Definition 6.1.12 verletzt
sein.
Gilt Φ ∪ D 6` ψθ1 ∨ · · · ∨ ψθk , so gibt es also ein Σ-Modell I von Φ ∪ D mit I 6|= ψθi .
Für die Interpretation I¯ nach Lemma 6.1.2 gilt nun: I¯ |= Φ, I¯ 6|= answer [θi ] (i = 1, . . . , k).
I¯ |= default[δj ] (j = 1, . . . , m), Das bedeutet aber
Φ 6` answer [θ1 ] ∨ · · · ∨ answer [θk ] ∨ ¬default[δ1 ] ∨ · · · ∨ ¬default[δm ]
im Widerspruch zur Voraussetzung.
Die zweite Bedingung an eine potentielle Antwort ist, daß ihre Begründung D konsistent
mit Φ ist. Wäre dies nicht erfüllt, so würde schon
Φ̄ ` ¬default[δ1 ] ∨ · · · ∨ ¬default[δm ]
gelten, denn andernfalls müßte es ein Σ̄-Modell I¯ von Φ̄ geben mit
I¯ 6|= ¬default[δ1 ] ∨ · · · ∨ ¬default[δm ],
d.h. I¯ |= default[δi ] (i = 1, . . . , k), dies liefert aber nach Lemma 6.1.1 ein Modell I von Φ∪D. Da
also schon die echte Teildisjunktion aus den default-Literalen aus Φ̄ folgt, ist die Antwortklausel
nicht minimal.
2
Lemma 6.1.17: Sei {θ1 , . . . , θk } eine potentielle Antwort mit Begründung {δ1 , . . . , δn }
und minimal in dem Sinn, daß keine der beiden Mengen verkleinert werden kann, ohne
die andere zu vergrößern. Dann ist
answer [θ1 ] ∨ · · · ∨ answer [θk ] ∨ ¬default[δ1 ] ∨ · · · ∨ ¬default[δn ]
eine Antwortklausel.
Beweis: Zunächst ist zu zeigen:
Φ̄ ` answer [θ1 ] ∨ · · · ∨ answer [θk ] ∨ ¬default[δ1 ] ∨ · · · ∨ ¬default[δn ].
Wäre dies nicht der Fall, so gäbe es ein Modell I¯ von Φ̄ mit I¯ 6|= answer [θi ] (i = 1, . . . , m) und
I¯ |= default[δj ] (j = 1, . . . , k). Hierzu erhält man nach Lemma 6.1.1 ein Σ-Herbrandmodell I
von Φ mit I 6|= ψθi und I |= δj . Also ist
Φ ∪ {δ1 , . . . , δn } ` ψθ1 ∨ · · · ∨ ψθm
nicht erfüllt.
Nun ist noch die Minimalität der Antwortklausel zu zeigen. Würde eine echte Teildisjunktion
ebenfalls aus Φ̄ folgen, so würde die nach Lemma 6.1.16 konstruierte potentielle Antwort die
vorausgesetzte Minimalität von {θ1 , . . . , θk }, {δ1 , . . . , δn } widerlegen. (Die Teildisjunktion muß
noch mindestens ein answer -Literal enthalten, da Φ ∪ {δ1 , . . . , δn } konsistent ist.)
2
6.1. BOTTOM-UP
141
Aus den in der ersten Phase der Anfrageauswertung berechneten Antwortklauseln erhält
man also alle minimalen Paare von potentieller Antwort und Begründung. Man interessiert sich ja auch nur für minimale Antworten, und eine Begründung ist natürlich umso
einfacher zu akzeptieren, je weniger Defaults sie enthält. In diesem Sinne ist die Berechnung der potentiellen Antworten also vollständig.
Beispiel 6.1.18: In Beispiel 6.1.11 wurden folgende Antwortklauseln berechnet:
answer (b) ← default(b),
answer (c) ← default(c),
answer (d),
answer (e) ← default(e).
Die potentielle Antwort hX / di hat also die Begründung ∅, d.h. es gilt Φ ` ψhX / di.
Die anderen potentiellen Antworten hängen von jeweils einem Default ab, so gilt etwa
Φ ∪ {¬p(b)} ` ψhX / bi.
Die vier Antworten hX / bi, hX / ci, hX / di und hX / ei wären alle im leichtgläubigen
Sinn korrekt, allerdings basieren hX / bi und hX / ci auf unterschiedlichen Extensionen,
nämlich
E1 := {¬p(b), ¬p(d), ¬p(e)} und E2 := {¬p(c), ¬p(d), ¬p(e)}.
Der leichtgläubige Ansatz wird hier nicht weiter verfolgt, da er ja nicht unter Konjunktion
abgeschlossen ist (siehe Kapitel 2).
2
Konflikte zwischen Defaults
Bei der minimale Modelle“-Semantik und der vorsichtigen CWA“ sind die Begründun”
”
gen jetzt noch genauer zu überprüfen. Hierzu ist es nützlich, die maximalen Extensionen
zu betrachten, die von einer Begründung überdeckt“ werden:
”
Definition 6.1.19 (Überdeckte Extensionen): Für D ⊆ ∆∗ sei
|D| := {E | E ist maximale Extension mit D ⊆ E}
die Menge der überdeckten Extensionen.
Beispiel 6.1.20: Im obigen Beispiel ist
|{p(b)}| = {E1 },
|{p(c)}| = {E2 },
|{p(e)}| = {E1 , E2 }.
Natürlich gilt auch für die Begründung ∅ von hX / di, daß |∅| = {E1 , E2 }.
2
Besonders nützlich sind Begründungen, die alle maximalen Extensionen überdecken: in
diesem Fall sind die entsprechenden Defaults in jeder Extension und damit in ihrem
Schnitt enthalten. Dies erlaubt gerade die Berechnung von Antworten bezüglich der
vorsichtigen CWA:
142
KAPITEL 6. BERECHNUNG VON ANTWORTEN
Lemma 6.1.21: Sei D eine Begründung für die potentielle Antwort {θ1 , . . . , θk }, so daß
|D| die Menge aller maximalen ∆-Extensionen von Φ ist. Dann gilt:
cwa ∆ (Φ) ` ψθ1 ∨ · · · ∨ ψθk .
Beweis:
außerdem
Aus der Definition der vorsichtigen CWA folgt direkt: Φ ∪ D ⊆ cwa ∆ (Φ). Da
Φ ∪ D ` ψθ1 ∨ · · · ∨ ψθk ,
folgt die Behauptung sofort aus der Monotonie von `.
2
Es fehlt jetzt also nur noch eine Möglichkeit, zu überprüfen, ob eine Begründung alle
Extensionen überdeckt. Ein konstruktiver Nachweis, daß dies nicht der Fall ist, besteht
in der Angabe nicht überdeckter Extensionen mit einer widersprechenden Begründung“:
”
Definition 6.1.22 (Widersprechende Begründung):
Sei D := {δ1 , . . . , δm } eine
Menge von Default-Ausprägungen. Eine widersprechende Begründung zu D ist eine
Begründung D̂ für ¬δ1 ∨ · · · ∨ ¬δm .
Lemma 6.1.23: Sei D̂ eine widersprechende Begründung zu D. Dann gilt:
• |D| ∩ |D̂| = ∅ (die Mengen der überdeckten Extensionen sind disjunkt),
• |D̂| 6= ∅.
Beweis:
• Da D̂ eine widersprechende Begründung zu D ist, ist Φ ∪ D̂ ∪ D inkonsistent, also kann
keine maximale Extension E beide Mengen umfassen, denn Φ ∪ E ist definitionsgemäß
konsistent.
• Dies folgt aus der Konsistenz von Φ ∪ D̂ mit Lemma 5.2.14.
2
Lemma 6.1.24: Es gibt eine widersprechende Begründung D̂ zu D ⊆ ∆∗ genau dann,
wenn D nicht alle maximalen Extensionen überdeckt.
Beweis:
•
=⇒ “: Gibt es eine widersprechende Begründung, so folgt direkt aus Lemma 6.1.23: Es
”
gibt E ∈ |D̂| und für solche E gilt E 6∈ |D|.
•
⇐= “: Gibt es eine maximale Extension E mit E 6∈ |D|, so ist E automatisch eine wi”
dersprechende Begründung. (Da die zugrundeliegende Signatur endlich ist, ist E natürlich
auch endlich. Man könnte sonst aber auch leicht mit dem Kompaktheitssatz eine endliche
Teilmenge D̂ ⊆ E konstruieren, so daß Φ ∪ D̂ ∪ D inkonsistent ist.)
2
Widersprechende Begründungen kann man nun leicht aus den Konflikten“ zwischen De”
faults konstruieren, die man in der ersten Phase der Anfrageauswertung berechnet hat:
Definition 6.1.25 (Konflikt):
Ein Konflikt Ω ⊆ ∆∗ ist eine minimale Menge von
Default-Ausprägungen, so daß Φ ∪ Ω inkonsistent ist.
6.1. BOTTOM-UP
143
Beispiel 6.1.26: In Beispiel 6.1.11 gibt es zwei Konflikte: {¬p(a)} und {¬p(b), ¬p(c)},
entsprechend den beiden Formeln p(a) und p(b) ∨ p(c) in Φ. Dies bedeutet, daß der Default ¬p(a) sicher nicht angenommen werden kann, während die Defaults ¬p(b) und ¬p(c)
nur nicht zusammen angenommen werden können.
2
Lemma 6.1.27: Eine Menge Ω = {δ1 , . . . , δm } ⊆ ∆∗ ist genau dann ein Konflikt, wenn
¬default[δ1 ] ∨ · · · ∨ ¬default[δm ]
ein minimales, von Φ̄ impliziertes disjunktives Faktum ist.
Beweis:
Es reicht, zu zeigen, daß Φ ∪ {δ1 , . . . , δm } genau dann inkonsistent ist, wenn
Φ̄ ` ¬default[δ1 ] ∨ · · · ∨ ¬default[δm ]. Die beiden Minimalitätsforderungen entsprechen sich
dann gerade.
• Sei also Φ ∪ {δ1 , . . . , δm } inkonsistent. Würde Φ̄ ` ¬default[δ1 ] ∨ · · · ∨ ¬default[δm ] nicht
gelten, so gäbe es ein Modell I¯ von Φ̄ mit I¯ |= default[δi ], daraus erhielte man nach
Lemma 6.1.1 ein Modell I von Φ ∪ Ω (im Widerspruch zur vorausgesetzten Inkonsistenz).
• Gelte umgekehrt Φ̄ ` ¬default[δ1 ] ∨ · · · ∨ ¬default[δm ]. Wäre Φ ∪ {δ1 , . . . , δm } konsistent, so
könnte man aus einem Modell I nach Lemma 6.1.2 ein Modell I¯ von Φ̄ mit I¯ 6|= ¬default[δi ]
konstruieren (Widerspruch zur Voraussetzung).
2
Damit ist gezeigt, daß die erste Phase der Anfragebearbeitung alle Konflikte vollständig
berechnet hat.
Es fehlt nun nur noch die Beziehung zwischen Konflikten und widersprechenden
Begründungen. Im wesentlichen entsprechen die widersprechenden Begründungen zu D
gerade den Konflikten, mit denen D einen nichtleeren Schnitt hat:
Lemma 6.1.28:
• Ist Ω ein Konflikt und D eine Menge von Default-Ausprägungen mit D ∩ Ω 6= ∅, so
ist D̂ := Ω − D eine widersprechende Begründung zu D.
• Ist D̂ eine widersprechende Begründung zu D, so gibt es einen Konflikt Ω mit
Ω ⊆ D ∪ D̂, Ω ∩ D 6= ∅ und Ω ∩ D̂ 6= ∅.
Beweis:
• Da Φ ∪ Ω inkonsistent ist, ist wegen Ω ⊇ D ∪ D̂ natürlich erst recht Φ ∪ D̂ ∪ D inkonsistent.
Andererseits ist D̂ ⊂ Ω (wegen D ∩ Ω 6= ∅), aus der Minimalität von Ω folgt also die
Konsistenz von Φ ∪ D̂.
• Da D̂ eine widersprechende Begründung ist, ist Φ ∪ D̂ ∪ D inkonsistent. Man wähle nun
eine minimale Teilmenge Ω ⊆ D̂ ∪ D, so daß Φ ∪ Ω inkonsistent ist. Nach Konstruktion
ist Ω ein Konflikt. Weil Φ ∪ D und Φ ∪ D̂ konsistent sind, gilt Ω 6⊆ D und Ω 6⊆ D̂, Ω muß
also mit beiden einen nichtleeren Schnitt haben.
2
Damit hat man jetzt also einen Algorithmus zur Anfragebeantwortung unter der vorsichtigen CWA: Man testet einfach für jede potentielle Antwort, ob ihre Begründung
ein gemeinsames Element mit einem Konflikt hat. Die übrigen Antworten können dann
ausgegeben werden (nach der Eliminierung nicht-minimaler Antworten).
144
KAPITEL 6. BERECHNUNG VON ANTWORTEN
Beispiel 6.1.29: In dem laufenden Beispiel werden also hX/ di und hX/ ei ausgegeben.
Dies sind auch die einzigen (minimalen) korrekten Antworten, denn es ist
cwa ∆ (Φ) = Φ ∪ {¬p(d), ¬p(e)}.
Die Begründungen der Antworten hX / bi und hX / ci überlappen sich mit dem Konflikt
{¬p(b), ¬p(c)}.
2
Die minimale Modelle“-Semantik
”
Nach dem leichtgläubigen und dem vorsichtigen Ansatz zur Behandlung mehrfacher Extensionen wird nun der skeptische Ansatz als Grundlage der Anfrage-Bearbeitung verwendet.. Er ist äquivalent zur minimale Modelle“-Semantik, da die maximalen Extensionen
”
gerade den minimalen Modellen entsprechen.
Eine Formel folgt skeptisch, wenn sie aus allen maximalen Extensionen folgt. Hier
ist es wieder nützlich, die von einer Begründung überdeckten Extensionen zu betrachten:
Man braucht offensichtlich Begründungen, die zusammen alle Extensionen überdecken.
Lemma 6.1.30:
Sei {θi,1 , . . . , θi,ki } für i = 1, . . . , n eine potentielle Antwort mit
Begründung Di . Ist |D1 | ∪ · · · ∪ |Dn | die Menge aller maximalen Extensionen, so ist
die Antwort {θ1,1 , . . . , θ1,k1 , . . . , θn,1 , . . . , θn,kn } korrekt bezüglich min ∆ .
Beweis: Zu zeigen ist, daß jedes minimale Modell I von Φ auch Modell von ψθ1,1 ∨ · · · ∨ ψθn,kn
ist. Nach Satz 5.2.15 ist I auch Modell einer maximalen Extension E. Nach der Voraussetzung
ist E ∈ |Di | für ein i. Da Di eine Begründung für die potentielle Antwort {θi,1 , . . . , θi,ki } ist,
gilt also
Φ ∪ E ` ψθi,1 ∨ · · · ∨ ψθi,ki .
Also erfüllt I diese Disjunktion und damit natürlich erst recht ψθ1,1 ∨ · · · ∨ ψθn,kn .
2
Beispiel 6.1.31: In dem Beispiel betrifft dies gerade die potentiellen Antworten hX / bi
und hX / ci mit den Begründungen {¬p(b)} und {¬p(c)}: Die erste Begründung überdeckt E1 und die zweite E2 , daher ist die disjunktive Antwort {hX / bi, hX / ci} bezüglich
der minimale Modelle“-Semantik korrekt.
2
”
Natürlich müssen bei der Anwendung dieses Lemmas nicht immer disjunktive Antworten
entstehen: Es ist ja auch möglich, daß man verschiedene Begründungen für dieselbe Antwort hat. Trotzdem ist festzuhalten, daß die Erzeugung der Antworten jetzt nicht mehr
nur in einer einfachen Auswahl der vorher berechneten potentiellen Antworten besteht,
vielmehr müssen potentielle Antworten kombiniert werden.
Daher ist natürlich besonders wichtig, sich die Vollständigkeit dieser Vorgehensweise
klar zu machen:
Lemma 6.1.32: Sei {θ1 , . . . , θk } eine bezüglich min ∆ korrekte Antwort. Dann gibt es
D1 , . . . , Dn ⊆ ∆∗ , so daß {θ1 , . . . , θk } eine potentielle Antwort mit Begründung Di ist
(i = 1, . . . , n).
6.1. BOTTOM-UP
145
Beweis: Da {θ1 , . . . , θk } eine korrekte Antwort ist, gilt ψθ1 ∨ · · · ∨ ψθk in jedem minimalen
Modell. Nach Satz 5.2.15 ist jedes Modell einer maximalen Extension E minimal, also gilt
Φ ∪ E ` ψθ1 ∨ · · · ∨ ψθk .
Da die zugrundeliegende Signatur endlich ist, gibt es nur endlich viele maximale Extensionen E1 , . . . , En . Diese kann man nun selbst als Begründungen D1 , . . . , Dn verwenden.
2
Natürlich hat man in der ersten Phase der Anfragebeantwortung nur die minimalen
Paare von potentieller Antwort und Begründung berechnet, aber dies ist offensichtlich
ausreichend: Man interessiert sich ja nur für minimale Antworten und nicht-minimale
Begründungen überdecken höchstens weniger Extensionen.
Man muß jetzt also überprüfen, ob eine Menge von Begründungen D1 , . . . , Dn alle
maximalen Extensionen überdeckt. Dazu ist es nützlich, das Komplement der überdeckten
Extensionen mit Hilfe widersprechender Begründungen zu repräsentieren:
Definition 6.1.33 (Vollständige Menge widersprechender Begründungen):
Seien D1 , . . . , Dn und D̂1 , . . . , D̂m Mengen von Default-Ausprägungen. {D̂1 , . . . , D̂m }
heißt vollständige Menge widersprechender Begründungen zu {D1 , . . . , Dn } genau dann,
wenn
• |D1 | ∪ · · · ∪ |Dn | ∩ |D̂1 | ∪ · · · ∪ |D̂m | = ∅,
• Φ ∪ D̂i ist konsistent für i = 1, . . . , m,
• für jede maximale Extension E mit E 6∈ |D1 | ∪ · · · ∪ |Dn | gilt E ∈ |D̂1 | ∪ · · · ∪ |D̂m |.
Für einzelne Begründungen Di bilden die nach Lemma 6.1.28 berechneten widersprechenden Begründungen natürlich eine vollständige Menge. Was noch fehlt, ist eine Möglichkeit, solche vollständigen Mengen widersprechender Begründungen zusammensetzen zu
können, also den Schnitt der von ihnen überdeckten Extensionen auszurechnen:
Lemma 6.1.34: Seien D1 , . . . , Dn Mengen von Default-Ausprägungen und seien
{D̂i,1 , . . . , D̂i,mi }
(i = 1, . . . , n)
vollständige Mengen widersprechender Begründungen zu {Di }. Dann ist
{D̂1,j1 ∪ · · · ∪ D̂n,jn | es gibt keinen Konflikt Ω mit Ω ⊆ D̂1,j1 ∪ · · · ∪ D̂n,jn }
eine vollständige Menge widersprechender Begründungen zu {D1 , . . . , Dn }.
Beweis:
• Offensichtlich gilt |D̂1,j1 ∪ · · · ∪ D̂n,jn | = |D̂1,j1 | ∩ · · · ∩ |D̂n,jn |. Daher werden nur solche
Extensionen überdeckt, die von keinem Di überdeckt werden.
• Φ ∪ D̂1,j1 ∪ · · · ∪ D̂n,jn ist konsistent, denn sonst wäre eine minimale Teilmenge ein Konflikt.
• Sei E eine maximale Extension von Φ mit E 6∈ |D1 |∪· · ·∪|Dn |, d.h. E 6∈ |Di | (i = 1, . . . , n).
Also ist E ∈ |D̂i,1 | ∪ · · · ∪ |D̂i,mi |, sei etwa E ∈ |D̂i,ji | (i = 1, . . . , n). Dann gilt natürlich
2
E ∈ |D̂1,j1 ∪ · · · ∪ D̂n,jn |.
146
KAPITEL 6. BERECHNUNG VON ANTWORTEN
Damit wäre also folgender Algorithmus korrekt und vollständig, aber sehr aufwendig: In der ersten Phase der Anfragebeantwortung wurden die potentiellen Antworten {θi,1 , . . . , θi,ki } mit ihren Begründungen Di berechnet, und auch die Konflikte Ωj . Nach
der Methode von Lemma 6.1.28 kann man nun zu jeder Begründung Di eine vollständige
Menge widersprechender Begründungen berechnen. Nach Lemma 6.1.34 kann man für
jede Teilmenge der potentiellen Antworten die vollständigen Mengen widersprechender
Begründungen zusammensetzen. Nach Lemma 6.1.30 und Lemma 6.1.32 sind gerade
die zusammengesetzten Antworten korrekt, deren vollständige Menge widersprechender
Begründungen leer ist.
Dieser Algorithmus ist aber bei einer größeren Menge potentieller Antworten nicht
praktisch durchführbar, weil exponentiell viele Teilmengen betrachtet werden müssen.
Man möchte natürlich nur solche potentiellen Antworten zusammensetzten, die etwas zu
dem Ziel beitragen, alle Extensionen zu überdecken. Hier hilft das folgende Lemma:
Lemma 6.1.35: Seien {D̂i,1 , . . . , D̂i,mi } (i = 1, . . . , n) vollständige Mengen widersprechender Begründungen zu Di mit
|D̂1,1 | ∪ · · · ∪ |D̂1,m1 | ∩ · · · ∩ |D̂n,1 | ∪ · · · ∪ |D̂n,mn | = ∅.
Sei n > 1 und Di nötig in dem Sinn, daß sonst der entsprechende Schnitt nicht leer
wäre. Dann gibt es ein i0 =
6 i sowie j und j 0 und einen Konflikt Ω mit Ω ∩ D̂i,j 6= ∅ und
Ω ∩ D̂i0 ,j 0 6= ∅.
Beweis: Wenn man
|D̂1,1 | ∪ · · · ∪ |D̂1,m1 | ∩ · · · ∩ |D̂n,1 | ∪ · · · ∪ |D̂n,mn |
(∗)
ausmultipliziert, erhält man eine Vereinigung von Schnitten, von der jeder einzelne leer sein
muß, d.h. für jede Auswahl von j1 , . . . , jn gilt:
|D̂1,j1 | ∩ · · · ∩ |D̂n,jn | = ∅.
Andererseits ist (∗) ohne |D̂i,1 | ∪ · · · ∪ |D̂i,mi | nicht leer, man kann also j1 , . . . , jn so wählen, daß
|D̂1,j1 | ∩ · · · ∩ |D̂i−1,ji−1 | ∩ |D̂i+1,ji+1 | ∩ · · · ∩ |D̂n,jn | 6= ∅.
Also ist Φ∪ D̂1,j1 ∪· · ·∪ D̂n,jn inkonsistent und es gibt einen Konflikt Ω mit Ω ⊆ D̂1,j1 ∪· · ·∪ D̂n,jn .
Andererseits ist
Φ ∪ D̂1,j1 ∪ · · · ∪ D̂i−1,ji−1 ∪ D̂i+1,ji+1 ∪ · · · ∪ D̂n,jn
konsistent, Ω kann also keine Teilmenge hiervon sein, d.h. Ω ∩ D̂i,ji 6= ∅. Es ist aber natürlich
auch Φ ∪ D̂i,ji konsistent, also Ω 6⊆ D̂i,ji , es muß daher ein i0 6= i geben mit Ω ∩ D̂i0 ,ji0 6= ∅.
2
Damit ist die Behauptung für j := ji und j 0 := ji0 gezeigt.
Dies führt zu folgendem Algorithmus: Man berechne wieder die potentiellen Antworten {θi,1 , . . . , θi,ki } und jeweils eine vollständige Menge widersprechender Begründungen
{D̂i,1 , . . . , D̂i,mi }. Falls ein mi = 0 ist, kann man die Antwort {θi,1 , . . . , θi,ki } ausgeben
und sie von den noch zu überprüfenden Antworten streichen. Sonst setzt man jeweils zwei
potentielle Antworten {θi,1 , . . . , θi,ki } und {θi0 ,1 , . . . , θi0 ,ki0 } zusammen, für die es j, j 0 und
einen Konflikt Ω mit Ω ∩ D̂i,j 6= ∅ und Ω ∩ D̂i0 ,j 0 6= ∅ gibt. Diese Zusammensetzung liefert
6.1. BOTTOM-UP
147
die potentielle Antwort {θi,1 , . . . , θi,ki , θi0 ,1 , . . . , θi0 ,ki0 }. Die zugehörige vollständige Menge
widersprechender Begründungen ist entsprechend Lemma 6.1.34:
D̂i,ν ∪ D̂i0 ,ν 0 es gibt keinen Konflikt Ω0 mit Ω0 ⊆ D̂i,ν ∪ D̂i0 ,ν 0 .
Falls die Menge leer ist, kann man die Antwort ausgeben und braucht sie nicht weiter
zu berücksichtigen. Man iteriert diese paarweise Zusammensetzung, bis sich nichts mehr
ändert.
Beispiel 6.1.36: Im laufenden Beispiel sind die Mengen widersprechender Begründungen zu {¬p(d)} und {¬p(e)} leer, die Antworten hX / di und hX / ei können also sofort ausgegeben werden. Dagegen hat {¬p(b)} die widersprechende Begründung {¬p(c)}
und umgekehrt. Weil die beiden widersprechenden Begründungen sich mit dem Konflikt
{¬p(b), ¬p(c)} überlappen, werden sie zusammengesetzt, das Ergebnis enthält aber gerade
diesen Konflikt, so daß es gelöscht wird. Das bedeutet, daß die Antwort {hX/ bi, hX/ ci}
keine widersprechender Begründungen hat, und ausgegeben werden kann. Damit ist die
Menge der noch zu überprüfenden potentiellen Antworten leer, die Iteration endet also
schon nach dem ersten Schritt.
2
Beispiel 6.1.37: Es soll jetzt noch ein etwas komplizierteres Beispiel betrachtet werden.
Die Defaults seien
∆ := {p1 , . . . , p4 , q1 , . . . , q5 }.
Als Axiome seien nun einerseits solche gegeben, die eine Begründung für die Antwort ja“
”
auf die Anfrage r liefern:
r ← p1 , r ← p 2 ∧ p3 , r ← p 4 .
Andererseits seien Axiome gegeben, die gerade den Konflikten entsprechen:
¬p1 ∨ ¬q1 , ¬p1 ∨ ¬q2 ∨ ¬q3 , ¬p2 ∨ ¬q4 , ¬p4 ∨ ¬q4 , ¬q1 ∨ ¬q4 ∨ ¬q5 , ¬q3 ∨ ¬q5 .
Es gibt also folgende Begründungen und widersprechende Begründungen:
θ
D
D̂
ja“ {p1 }
{q1 }, {q2 , q3 }
”
ja“ {p2 , p3 } {q4 }
”
ja“ {p4 }
{q5 }
”
Im ersten Iterationsschritt läßt sich nun jede Zeile mit jeder anderen zusammensetzen und
man erhält:
θ
D
D̂
ja“ {p1 }, {p2 , p3 } {q1 , q4 }, {q2 , q3 , q4 }
”
ja“ {p1 }, {p4 }
{q1 , q5 }, [{q2 , q3 , q5 }]
”
ja“ {p2 , p3 }, {p4 } {q4 , p5 }
”
Die in eckigen Klammern angegebene Menge von Defaults enthält einen Konflikt und wird
gelöscht. Im zweiten Iterationsschritt ergibt sich:
θ
D
D̂
ja“ {p1 }, {p2 , p3 }, {p4 } [{q1 , q4 , q5 }], [{q1 , q2 , q3 , q4 , q5 }]
”
148
KAPITEL 6. BERECHNUNG VON ANTWORTEN
Da es keine widersprechenden Begründungen mehr gibt, ist die Antwort ja“ korrekt. 2
”
Natürlich kann dieser Algorithmus noch weiter optimiert werden:
• Bei dem Test, ob es sich lohnt, zwei potentielle Antworten zu kombinieren, brauchen
nur solche Konflikte berücksichtigt zu werden, deren Defaults auch in mindestens
einer widersprechenden Begründung vorkommen. Dies reduziert die Anzahl der
Paare von potentiellen Antworten, die betrachtet werden müssen.
• Zwei widersprechende Begründungen D̂1,j1 und D̂2,j2 , deren potentielle Antworten
zusammengesetzt 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 ) 6= ∅ und (Ω − D̂1,j1 ) ∩ D̂1,j1 6= ∅.
• Häufig werden die n-elementigen Teilmengen auf verschiedenen Wegen durch ZweierKombinationen aufgebaut (wie im obigen Beispiel). Dies kann man allerdings nur
dann reduzieren, wenn man schon weiß, daß die kleineren Teilmengen keine korrekten
Antworten produzieren.
Mengenorientierte Implementierung
Nun ist zu demonstrieren, daß auch die zweite Phase der Anfragebeantwortung mengenorientiert implementiert werden kann.
Die erste Phase lieferte die Menge Φ̂ in der Relation DIS FACTS . Hieraus sind nun
die Antwortklauseln und die Konflikte zu extrahieren. Wählt man die Prädikatbezeichner
so, daß alle answer -Literale vor allen default δ -Literalen kommen (und natürlich nach allen
anderen Literalen), so ist folgende Selektion möglich:
POT ANS := πid σactive=’T ’∧pred=’answer ’ (DIS FACTS ) 1 DIS FACTS ,
CONFLICT := πid σactive=’T ’∧pred like ’default%’ (DIS FACTS ) 1 DIS FACTS .
Würde man die Disjunktionen physisch zusammen abspeichern, so wären die Verbunde
natürlich sehr effizient auszuführen. In Beispiel 6.1.11 erhielte man folgende Menge potentieller Antworten:
POT ANS
id
10
10
11
11
12
13
13
pred arg1 active
lit
length
answer b
T
answer (b)
2
default b
F ¬default(b) 2
answer c
T
answer (c)
2
default c
F ¬default(c) 2
answer d
T
answer (d)
1
answer e
T
answer (e)
2
default e
F ¬default(e) 2
6.1. BOTTOM-UP
149
Die beiden Konflikte sind in folgender Tabelle dargestellt:
CONFLICT
id
14
15
15
pred arg1 active
lit
length
default a
T ¬default(a) 1
default b
T ¬default(b) 2
default c
F ¬default(c) 2
Beim leichtgläubigen Ansatz sind alle potentiellen Antworten korrekt:
ANSWER := σpred =’answer ’ (POT ANS ).
Natürlich müßte man jetzt noch gegebenenfalls nicht-minimale Antworten löschen (mit
der oben für Disjunktionen gezeigten Methode).
Beim vorsichtigen Ansatz hat man nur zu testen, ob sich die Begründung mit einem
Konflikt überlappt:
OVERLAP := πans id,con id πid:ans id,lit (POT ANS ) 1 πid:con id,lit (CONFLICT ) ,
ANSWER := σpred=’answer ’ POT ANS − POT ANS 1 πans id:id (OVERLAP ) .
Mit dem Verbund über lit wird die Überlappung festgestellt:
OVERLAP
ans id con id
10
15
11
15
Der Rest dient dann nur noch dazu, die übrigen Antworten in das gewünschte Format zu
bringen.
Etwas mühsamer ist nun der skeptische Ansatz. Zunächst muß man die widersprechenden Begründungen für jede potentielle Antwort berechnen:
CONTRA :=
OVERLAP 1 πid:con id,lit (CONFLICT )
− OVERLAP 1 πid:ans id,lit (POT ANS ) .
CONTRA
ans id con id
lit
10
15 ¬default(c)
11
15 ¬default(b)
Außerdem initialisiert man noch ANSWER mit der leeren Menge, dann beginnt die Iteration.
Zunächst kann man die Antworten ausgeben, die keine widersprechende Begründungen (mehr) haben:
ANSWER :=
ANSWER
∪ σpred=’answer ’ POT ANS − POT ANS 1 πans
id:id (CONTRA)
.
An dieser Stelle kann man aus POT ANS und CONTRA auch alle potentiellen Antworten
löschen, die höchstens eine Obermenge einer korrekten Antwort liefern könnten. Damit
150
KAPITEL 6. BERECHNUNG VON ANTWORTEN
eliminiert man auch weitere Begründungen für bereits ausgegebene Antworten. Ein entsprechender Teilmengentest wurde oben schon vorgeführt.
Nun stellt man fest, bei welchen potentiellen Antworten es sich lohnen könnte, sie zu
kombinieren:
COMB ANS := πans id:ans id 0 ,lit:lit 0 (CONTRA) 1 πlit:lit 0 ,id (CONFLICT )
1 πlit:lit 00 ,id (CONFLICT ) 1 πans id:ans id 00 ,lit:lit 00 (CONTRA),
0
COMB ANS := σans id 0 <ans id 00 ∧lit 0 6=lit 00 (COMB ANS ),
COMB ANS 00 := π’(’◦ans id 0 ◦’,’◦ans id 00 ◦’)’:ans id,ans id 0 ,ans id 00 (COMB ANS 0 ),
POT ANS :=
πans id:id,pred,arg1,active,lit,length (POT ANS
1 0 COMB ANS 00 )
id=ans id
1 00 COMB ANS 00 ) .
∪ πans id:id,pred,arg1,active,lit,length (POT ANS
id=ans id
Im Beispiel liefert dies folgendes Ergebnis:
POT ANS
id
pred arg1 active
lit
length
(10, 11) answer b
T answer (b) 2
(10, 11) answer c
T answer (c) 2
Die Attribute pred und active sind jetzt überflüssig, length ist für die hier nicht gezeigten
Teilmengentests nützlich (und müßte in den Anfragen natürlich auf den richtigen Wert
gesetzt werden, was hier ebenfalls nicht gezeigt wird).
Man muß jetzt natürlich noch die zugehörigen widersprechenden Begründungen aus”
multiplizieren“:
CONTRA0 :=
πans id:ans id 0 ,con id:con id 0 ,lit:lit 0 (CONTRA) 1 COMB ANS
1 πans id:ans id 00 ,con id:con id 00 ,lit:lit 00 (CONTRA),
CONTRA1 := πans id,’(’◦con id 0 ◦’,’◦con id 00 ◦’)’:con id,lit 0 ,lit 00 (CONTRA0 ),
CONTRA2 := πans id,con id,lit 0 :lit (CONTRA1 ) ∪ πans id,con id,lit 00 :lit (CONTRA1 ).
Im Beispiel sieht das Ergebnis folgendermaßen aus:
CONTRA2
ans id con id
lit
(10, 11) (15, 15) ¬default(b)
(10, 11) (15, 15) ¬default(c)
Hieraus entsteht die neue Tabelle CONTRA, indem diejenigen durch ans id und con id
identifizierten Mengen von Defaults gelöscht werden, von denen eine Teilmenge als ein
id -Abschnitt in CONFLICT vorkommt. Dies ist der oben gezeigten Eliminierung nichtminimaler Disjunktionen sehr ähnlich.
Im Beispiel ist CONTRA anschließend leer, so daß die Antwort {hX/ bi, hX/ ci} ausgegeben wird. Das Verfahren terminiert dann, weil keine weiteren potentiellen Antworten
mehr zu überprüfen sind.
Ansonsten terminiert das Verfahren, sobald sich nichts mehr ändert, im schlimmsten
Fall also alle potentiellen Antworten kombiniert worden sind. Da allerdings immer neue
6.2. TOP-DOWN
151
Identifikatoren für die zusammengesetzten potentiellen Antworten erzeugt werden, muß
man die Duplikateliminierung explizit programmieren (etwa mit einer Tabelle, in der
darüber Buch geführt wird, welche der ursprünglichen potentiellen Antworten in einer
zusammengesetzten Antwort stecken). Bei einem NF2 -Datenbanksystem geschieht eine
solche Duplikateliminierung natürlich automatisch, ist aber nicht weniger aufwendig.
6.2
Top-Down
In diesem Abschnitt wird ein top-down“ Algorithmus zur Anfrage-Bearbeitung angege”
ben, der also von der Anfrage ausgehend rekursiv Unteranfragen bearbeitet, die schließlich mit den Fakten direkt beantwortet werden können. Im Unterschied zum bottom-up“
”
Algorithmus wird hier zielgerichtet vorgegangen, dafür kann dieselbe Unteranfrage aber
mehrfach auftreten und die Vorteile einer mengenorientierten Arbeitsweise werden nicht
genutzt. Die aus der logischen Programmierung bekannte SLDNF-Resolution [Llo87] ist
ein top-down“ Algorithmus für Hornklauseln mit Negations-Defaults. Ziel ist es hier,
”
einen ähnlichen Algorithmus für beliebige Klauseln und Defaults zu entwickeln.
Der hier vorgeschlagene Algorithmus hat gewisse Ähnlichkeiten zu den Algorithmen
aus [Prz89, Gin89, BG89]. Alle diese Algorithmen prüfen allerdings die Anwendbarkeit der
Defaults in einer eigenen zweiten Phase, während der hier angegebene Algorithmus dies
so früh wie möglich tut (verzahnt mit der Berechnung der Antworten). Dies ist einerseits
ein Effizienzvorteil, andererseits aber auch nötig, um disjunktive Antworten zu berechnen:
Da die Antworten von unterschiedlichen Extensionen abhängen, braucht man hier eine
Rückkopplung von der Prüfung der Defaults zu dem eigentlichen Beweiser. Außerdem
wird dadurch die Ähnlichkeit zur SLDNF-Resolution größer, die negative Literale ja auch
sofort auswertet. Wie in der Einleitung erläutert wurde, ist es gerade diese Ähnlichkeit,
die auf effiziente Implementierungen hoffen läßt.
[Prz89, Gin89, BG89] basieren ihrerseits wieder auf [Rei80]: Hierher stammt die Idee,
die Benutzung von Defaults in Beweisen zuzulassen, aber über die verwendeten Defaults
Buch zu führen.
OL-Resolution
Auch in diesem Abschnitt wird so vorgegangen, daß ein aus der Literatur bekannter Beweiser um Defaults erweitert wird. Es wird hier die OL-Resolution [CL73] verwendet, aber
man könnte auch eine ganze Reihe anderer Beweiser auf entsprechende Weise erweitern.
Die OL-Resolution ist ein Widerlegungsbeweiser, d.h. sie versucht, aus Φ ∪ {¬ψ} die
leere Klausel abzuleiten, also einen Widerspruch. Gelingt dies, so gilt Φ ` ∃(ψ) (der
Existenzabschluß entfällt natürlich, wenn ψ keine Variablen enthält).
Als linearer Resolventenbeweiser hat die OL-Resolution immer eine aktuelle Ziel”
klausel“ ( center clause“), zu der sie ein Axiom als Seitenklausel“ ( side clause“) hinzu”
”
”
nimmt, um die nächste Zielklausel abzuleiten. Die Zielklausel wird mit der Negation der
152
KAPITEL 6. BERECHNUNG VON ANTWORTEN
Anfrage initialisiert und kann als Konkatenation der noch abzuarbeitenden Unteranfragen
verstanden werden.
Während die einzelne Ableitung von der Anfrage bis zur leeren Klausel also linear
ist, gilt dies nicht für den Suchraum: Im allgemeinen können verschiedene Axiome als
Seitenklausel verwendet werden, die nacheinander ausprobiert werden müssen (z.B. mit
Backtracking“).
”
Die wesentliche Struktur eines linearen Resolventenbeweisers ist also folgende:
prove(Φ, ψ) :refute(Φ, ψ, ¬ψ).
refute(Φ, ψ, Γ) :empty(Γ).
refute(Φ, ψ, Γ) :ϕ ∈ Φ ∪ {¬ψ},
resolve(Γ, ϕ, Γ0 , θ),
refute(Φ, ψ, Γ0 ).
Es wird hier eine Art Prolog-Pseudocode verwendet, um die Algorithmen zu notieren,
weil dadurch das Backtracking nicht explizit programmiert werden muß.
Dieses Programm dient im folgenden als Grundlage für die Entwicklung des top”
down“-Verfahrens zur Anfrage-Auswertung. Der eigentliche Ableitungsschritt ist dabei
in der Prozedur resolve verborgen, die aus der Zielklausel Γ und der Seitenklausel ϕ
die neue Zielklausel Γ0 ableitet (die dabei verwendete Substitution θ wird erst später
benötigt). Die Prozedur resolve soll hier nur informell erklärt werden. Eine formale
Definition findet sich in [CL73].
Tatsächlich gibt es verschiedene Arten von Ableitungsschritten, der wichtigste ist der
Resolutionsschritt. Er besteht in der Anwendung der Axiome als Regeln, d.h. ist die
aktuelle Zielklausel
← λ1 ∧ λ2 ∧ · · · ∧ λ n
und gibt es ein Axiom der Form
λ01 ← λ02 ∧ · · · ∧ λ0m ,
so daß λ1 θ = λ01 θ für eine Substitution θ gilt, so kann man zu folgender Zielklausel
übergehen:
← λ02 θ ∧ · · · ∧ λ0m θ ∧ λ2 θ ∧ · · · ∧ λn θ.
Eine Substitution θ mit dieser Eigenschaft heißt ein Vereinheitlicher ( unifier“) der beiden
”
Klauseln. Es reicht aus, nur allgemeinste“ Vereinheitlicher zu betrachten, die keine
”
unnötigen Variablenbindungen vornehmen.
Die OL-Resolution ist sehr ähnlich zur SLD-Resolution [Llo87] von Prolog. Da es sich
aber nicht um Hornklauseln handelt, kann ein Axiom auf verschiedene Arten als Regel
gelesen werden, p ← q ∧ ¬r kann zum Beispiel auch in der Form r ← q ∧ ¬p angewendet
6.2. TOP-DOWN
153
werden, und sogar in der Form ¬q ← ¬p ∧ ¬r, denn natürlich kann auch die Zielklausel
jetzt negative Literale enthalten.
Eine Spezialität der OL-Resolution sind die sogenannten gerahmten Literale“ ( fra”
”
med literals“) in der Zielklausel. Sie enthalten Steuerinformation, durch die man es vermeiden kann, frühere Zielklauseln aufbewahren zu müssen. Der Grundgedanke ist dabei,
daß die früheren Zielklauseln in einem Suffix mit der aktuellen Zielklausel übereinstimmen, da immer nur vorne etwas geändert wird. Am interessantesten sind nun natürlich
möglichst kurze frühere Zielklauseln, die bis auf das wegresolvierte Literal noch in der
aktuellen Klausel enthalten sind. Dieses Literal bewahrt man nun in Form eines gerahmten Literals auf, d.h. bei dem obigen Resolventenschritt erhält man eigentlich folgende
Zielklausel:
← λ02 θ ∧ · · · ∧ λ0m θ ∧ [λ1 θ] ∧ λ2 θ ∧ · · · ∧ λn θ.
Natürlich gehören diese gerahmten Literale nicht zu dem logischen Inhalt der Zielklausel.
Die gerahmten Literale werden in einem sogenannten Reduktions-Schritt verwendet.
Dabei wird ein Resolutionsschritt mit derjenigen Zielklausel simuliert, bei der das gerahmte Literal eingeführt wurde. Enthält eine Zielklausel
← λ1 ∧ λ2 ∧ · · · ∧ λ n
ein gerahmtes Literal [λi ], für das λ1 θ = ∼λi θ gilt (d.h. die beiden Literale stimmen bis
auf das Vorzeichen überein), so kann man zu folgender Zielklausel übergehen:
← λ2 θ ∧ · · · ∧ λn θ.
Die frühere Zielklausel war dann ja
← λi ∧ λi+1 ∧ · · · ∧ λn
(oder eine noch allgemeinere Klausel, weil in der Zwischenzeit eventuell Substitutionen
angewendet wurden). Würde man den Resolutionsschritt wirklich ausführen, so würden
nur Literale hinzukommen, die in der Zielklausel ohnehin schon enthalten sind.
Hierfür ist es wichtig, die Zielklausel bis auf die Anwendung der Substitutionen als
Stack zu behandeln, also immer nur vorne etwas zu verändern. Kommt dabei ein gerahmtes Literal nach vorne, so wird es gelöscht (Kontraktionsschritt). Für alle in der Zielklausel
enthaltenen gerahmten Literale ist der Rest der entsprechenden früheren Zielklausel also
noch vollständig erhalten (er liegt ja unter dem gerahmten Literal im Stack).
Schließlich besteht auch noch die Möglichkeit der Faktorbildung, bei der man zwei
Literale der Zielklausel durch Anwendung einer Substitution verschmilzt. Zusätzlich eliminiert man natürlich immer doppelte Literale. Dabei muß man beachten, daß man
das am weitesten rechts stehende Literal stehen läßt, so daß die Invariante bezüglich der
gerahmten Literale erhalten bleibt. Auch bei den Seitenklauseln kann man eine Faktorbildung durchführen.
Beispiel 6.2.1: Das folgende Beispiel ist ein beliebter Test für lineare Resolventenmethoden, weil es einen Resolutionsschritt mit einer früheren Zielklausel erfordert:
Φ := {p ∨ ¬q, ¬p ∨ q, ¬p ∨ ¬q},
ψ = ¬p ∧ ¬q.
154
KAPITEL 6. BERECHNUNG VON ANTWORTEN
Man kann etwa auf folgende Weise die leere Klausel ableiten:
← ¬p ∧ ¬q
← ¬q ∧ [¬p] ∧ ¬q
← [¬p] ∧ ¬q
← ¬q
← ¬p ∧ [¬q]
← q ∧ [¬p] ∧ [¬q]
← [¬p] ∧ [¬q]
← [¬q]
2
(Startklausel p ∨ q)
(Resolutionsschritt mit ¬p ∨ q, d.h. ¬p ← ¬q)
(Eliminierung doppelter Literale)
(Kontraktionsschritt)
(Resolutionsschritt mit p ∨ ¬q, d.h. ¬q ← ¬p)
(Resolutionsschritt mit ¬p ∨ ¬q, d.h. ¬p ← q)
(Reduktionsschritt)
(Kontraktionsschritt)
(Kontraktionsschritt)
Die Kontraktionsschritte und die Eliminierung doppelter Literale werden in Zukunft nicht
mehr explizit angegeben, denn sie sind ja auf jeden Fall auszuführen.
2
Es fehlen jetzt natürlich noch die auswertbaren Literale. Man braucht hier nur dafür
zu sorgen, daß sie rechts von den zugehörigen bindenden Literalen stehen. Dann sind
ihre Variablen gebunden, wenn sie an den Anfang der Zielklausel gekommen sind, so daß
sie einfach ausgewertet werden können. Formal beweist man mit Induktion über der
Länge der Ableitung, daß die Zielklausel eine sichere Klausel ist (Variablenvorkommen in
gerahmten Literalen zählen dabei nicht als bindend).
Terminierung
Die OL-Resolution ist vollständig, d.h. wenn Φ ∪ {¬ψ} inkonsistent ist, dann gibt es
eine Ableitung der leeren Klausel [CL73]. Dies ist aber wenig hilfreich, denn im Zusammenhang mit Defaults muß der Beweiser terminieren, damit man sicher sein kann,
daß die Negation eines Defaults nicht ableitbar ist. Aus diesem Grund sind Folgerungen
mit Defaults im allgemeinen nicht rekursiv aufzählbar (die Folgerungsrelation ist ja nur
semi-entscheidbar).
Um diese Schwierigkeiten zu vermeiden, wurden hier keine Funktionssymbole und nur
endlich viele Konstanten erlaubt. Damit wird die Folgerungsrelation trivialerweise entscheidbar und bei der Hyperresolution traten auch tatsächlich keine Probleme auf. Bei
der OL-Resolution ergeben sich die ersten Schwierigkeiten dagegen schon in der Aussagenlogik:
Beispiel 6.2.2: Sei Φ := {p ← q, q ← p}, ψ := p. Dann ergibt sich folgende unendliche
Ableitung:
←p
← q ∧ [p]
← p ∧ [q] ∧ [p]
...
(Startklausel)
(Resolutionsschritt mit p ← q)
(Resolutionsschritt mit q ← p)
(jetzt wieder Resolutionsschritt mit p ← q)
Natürlich folgt p nicht aus Φ, aber um dies sicher feststellen zu können, müßte die Ableitung terminieren.
2
6.2. TOP-DOWN
155
Man könnte die Terminierung sicherstellen, indem man die früheren Zielklauseln aufbewahrt und bei einer gleichen Zielklausel diesen Zweig der Ableitung abbricht. Da es in
der Aussagenlogik nur endlich viele Zielklauseln gibt, müssen die Ableitungen also endlich
sein.
Allerdings war ein Vorteil der OL-Resolution ja gerade, daß man frühere Zielklauseln
nicht abspeichern mußte. Es geht tatsächlich auch wesentlich effizienter mit folgendem
Trick:
Ist das erste Literal der Zielklausel gleich einem ihrer gerahmten Literale, so kann
man die Ableitung abbrechen. Dann ist nämlich die entsprechende frühere Zielklausel
eine Teilklausel der aktuellen Klausel.
Man muß sich nun natürlich noch davon überzeugen, daß die Terminierung hierdurch
gewährleistet ist (in der Aussagenlogik). Dazu betrachtet man in einer unendlichen Ableitung das am weitesten links stehende Literal, das nie wegresolviert wird (so ein Literal
muß es geben, sonst hätte man die leere Klausel). Vor diesem Literal müssen sich nun
unendlich viele gerahmte Literale ansammeln, denn an der nächsten Position finden ja
immer wieder Resolutionsschritte statt. Es gibt aber nur endlich viele gerahmte Literale,
und keines kann doppelt hineinkommen, denn sonst hätte man die Ableitung abbrechen
müssen.
Wenn man den Fall der Aussagenlogik verläßt, kann man dieses Verfahren natürlich
verallgemeinern, so daß es einem etwas abgeschwächten Test auf Subsumption“ ent”
spricht. Eine Klausel Γ subsumiert eine Klausel Γ0 genau dann, wenn es eine Substitution θ gibt mit Γθ ⊆ Γ0 . Dann ist Γ also allgemeiner als Γ0 und man braucht Ableitungen
mit Γ0 nicht mehr zu betrachten.
Überraschenderweise kann aber auch ein voller Subsumptionstest die Terminierung
nicht garantieren:
Beispiel 6.2.3: Enthalte Φ Regeln zur Berechnung der transitiven Hülle:
p(X, X 0 ) ← p(X, Y ) ∧ p(Y, X 0 ).
p(X, X 0 ) ← q(X, X 0 ).
Sei die Anfrage nun p(a, b). Es ergibt sich dann folgende Ableitung (ohne die gerahmten
Literale, sie spielen für die Subsumption ja keine Rolle):
← p(a, b)
← p(a, Y1 ) ∧ p(Y1 , b)
← p(a, Y2 ) ∧ p(Y2 , Y1 ) ∧ p(Y1 , b)
...
← p(a, Yn ) ∧ p(Yn , Yn−1 ) ∧ p(Yn−1 , Yn−2 ) ∧ · · · ∧ p(Y1 , b)
...
Von diesen Klauseln subsumiert keine eine andere. Man braucht dazu nur ein Modell
betrachten, das aus einem Pfad der Länge n von a nach b besteht: In diesem Beispiel ist
die Klausel mit n − 1 Variablen falsch, während alle anderen wahr sind.
156
KAPITEL 6. BERECHNUNG VON ANTWORTEN
Interessant ist auch folgende Variante:
p(a, X) ← p(a, Y ) ∧ p(Y, X).
Während man im obigen Beispiel noch die beiden Regeln hätte abwechselnd benutzen
können, erzwingt diese Formulierung, daß man erst eine Zielklausel der passenden Länge
aufbaut.
2
Eine direkte Lösung des Problems ist, die Anzahl der in der Zielklausel vorkommenden
Variablen auf die Anzahl der Konstanten zu begrenzen. Allerdings darf man die Ableitung nicht einfach abbrechen, wenn diese Grenze überschritten ist, sondern muß je zwei
Variablen identifizieren. Außerdem braucht man natürlich den Subsumptionstest.
Eine andere Lösung ist, die Anzahl der vorkommenden Literale zu begrenzen (auf
die Anzahl aller Grundliterale). Hier übernimmt die ohnehin nötige Faktorisierung die
Identifikation der Variablen, man kann die Ableitung also abbrechen, wenn die Grenze
überschritten ist (allerdings ist diese Grenze wesentlich größer als die andere). Statt des
Subsumptionstests genügt es hier, zu überprüfen, ob die Zielklausel zwei gleiche gerahmte
Literale enthält.
Beide Vorschläge sind natürlich sehr ineffizient. Es ist daher wohl das beste, die
kritischen Klauseln einfach zu verbieten, d.h. zur Compilezeit“ eine Analyse der Klauseln
”
durchzuführen. Dies wird natürlich im allgemeinen nur ein hinreichendes Kriterium sein.
Die transitive Hülle müßte man dann so aufschreiben, wie es in Prolog üblich ist:
p(X, X 0 ) ← q(X, X 0 ).
p(X, X 0 ) ← q(X, Y ) ∧ p(Y, X 0 ).
Allgemein darf bei einem rekursiven Aufruf eines Prädikates die Gesamtzahl der vorkommenden Variablen nicht größer werden.
Beispiel 6.2.4: Solange nur die Anzahl der vorkommenden Variablen beschränkt ist,
reicht der Test, ob das erste Literal noch einmal gerahmt vorkommt, nicht aus. Hat man
etwa die Klausel p(a) ← p(X), so erhält man folgende unendliche Ableitung:
← p(X)
← p(X) ∧ [p(a)]
← p(X) ∧ [p(a)] ∧ [p(a)]
...
Man kann sich hier helfen, indem man die Ableitung abbricht, sobald dasselbe gerahmte
Literal zweimal vorkommt. Während der erste Test die Ableitung nur abbricht, wenn eine
frühere Zielklausel die aktuelle subsumiert, gilt dies nicht für dieses Verfahren:
← p(a, X)
(Startklausel)
← p(Y, b) ∧ q ∧ [p(a, b)]
(Resolution mit p(a, b) ← p(Y, b) ∧ q)
← r ∧ [p(a, b)] ∧ q ∧ [p(a, b)] (Resolution mit p(a, b) ← r)
An dieser Stelle bricht man die Ableitung ab, obwohl keine der drei Zielklauseln eine
andere subsumiert. Trotzdem bleibt das Verfahren vollständig: Der Grundgedanke ist,
daß man an der Stelle, wo das weiter rechts stehende gerahmte Literal eingeführt wurde,
6.2. TOP-DOWN
157
auch gleich hätte die Seitenklausel anwenden können, die zu dem weiter links stehenden Literal geführt hat (und anschließend gegebenenfalls die weiteren Ableitungsschritte
wiederholen). Die so konstruierte Klausel subsumiert dann die aktuelle Zielklausel.
Dieser Test und eine Beschränkung der Anzahl der vorkommenden Variablen garantieren die Terminierung der Anfrageauswertung: Wie oben erläutert, müßten sich in einer
unendlichen Ableitung immer mehr gerahmte Literale ansammeln. Aufgrund der Bereichsbeschränkung müssen die in gerahmten Literalen vorkommenden Variablen auch
in echten Literalen vorkommen, daher ist ihre Anzahl beschränkt. Also muß dasselbe
gerahmte Literal doppelt vorkommen.
2
Zum Abschluß dieses Abschnittes bleibt festzuhalten, daß beim top-down“-Ansatz Ein”
schränkungen der zulässigen Axiome und Defaults nötig sind, wenn man die Terminierung
ohne allzu großen Aufwand garantieren will. Das Ziel ist dabei eine Beschränkung der
Anzahl der vorkommenden Variablen. Übrigens ist dieses Problem unabhängig von der
Erweiterung auf allgemeine Klauseln, in Beispiel 6.2.3 handelte es sich ja um eine Hornklauselmenge. Die beim bottom-up“ Verfahren hilfreiche Bereichsbeschränkung ist beim
”
top-down“ Ansatz dagegen von eher untergeordneter Bedeutung.
”
Eine andere Lösung dieses Problems ist es, bottom-up“ Elemente in den top-down“”
”
Beweiser einzubauen ( logic programming with memoing“, siehe etwa [Bry90]).
”
Berechnung von logisch korrekten Antworten
Mit der OL-Resolution kann man also die leere Klausel ableiten, falls Φ∪{¬ψ} inkonsistent
ist. Damit ist dann Φ ` ∃(ψ) gezeigt, d.h. die Existenz einer logisch korrekten Antwort.
Die Antwortsubstitution selbst erhält man nun wie bei der SLD-Resolution, indem man
über die Substitutionen für die Antwortvariablen Buch führt. Der Grundgedanke ist dabei
folgender: Wenn die Variablen von ψ im Laufe des Beweises durch Konstanten gemäß
einer Substitution θ ersetzt wurden, dann kann man denselben Beweis ausgehend von ¬ψθ
durchführen. Damit erhält man dann Φ ` ψθ (aufgrund der Bereichsbeschränkung werden
alle Variablen im Laufe des Beweises durch Konstanten ersetzt).
Im Unterschied zur SLD-Resolution kann hier die Anfrage aber mehrfach in der Ableitung verwendet werden, das liefert dann gerade die disjunktiven Antworten. Wenn man
aus Φ ∪ {¬ψθ1 , . . . , ¬ψθk } die leere Klausel ableiten kann, so ist diese Menge inkonsistent
und es gilt
Φ ` ¬ψθ1 ∨ · · · ∨ ¬ψθk .
Allerdings wird die Buchführung über die Substitutionen jetzt natürlich etwas mühsamer.
Ein hübscher Implementierungstrick hierfür wurde in [Gre69] vorgeschlagen: Man
hängt ein Literal answer (X1 , . . . , Xn ) an die Anfrage an, mit einem neuen Prädikat answer
und den Antwortvariablen X1 , . . . , Xn . In diesen Literalen sammeln sich dann die Substitutionen für X1 , . . . , Xn an, ansonsten werden sie bei der Ableitung ignoriert (insbesondere wird eine Klausel, die nur noch aus solchen Literalen besteht, wie die leere Klausel
behandelt).
158
KAPITEL 6. BERECHNUNG VON ANTWORTEN
Daher muß man die Beweisprozedur so erweitern, daß sie die schließlich erreichte
leere“ Klausel in einem Rückgabeparameter“ A liefert. Diese Klausel entspricht dann
”
”
der berechneten disjunktiven Antwort:
prove(Φ, ψ, A) :refute(Φ, ψ, ¬ψ, A).
refute(Φ, ψ, Γ, A) :empty(Γ),
A = Γ.
refute(Φ, ψ, Γ, A) :ϕ ∈ Φ ∪ {¬ψ},
resolve(Γ, ϕ, Γ0 , ),
refute(Φ, ψ, Γ0 , A).
Beispiel 6.2.5: Sei etwa Φ := {p(a) ∨ p(b)}. Hat man nun die Anfrage p(X), erhält
man folgende Ableitung:
← p(X) ∧ answer (X)
← ¬p(b) ∧ [p(a)] ∧ answer (a)
← answer (b) ∧ [¬p(b)] ∧ [p(a)] ∧ answer (a)
← answer (b) ∧ answer (a)
(Startklausel)
(Resolution mit p(a) ← ¬p(b))
(Resolution mit ¬p(X) ← answer (X))
(Antwortklausel)
Hieraus erhält man nun direkt die disjunktive Antwort {hX / ai, hX / bi}.
2
Dies entspricht natürlich im wesentlichen der Normalisierung
answer (X1 , . . . , Xn ) ← ψ,
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 Normalisierung mit logischem Inhalt.
Die Buchführung über die verwendeten Default-Ausprägungen geschieht hier anders
(s.u.), so daß eine Normalisierung nach Kapitel 2 nur dann nötig ist, wenn die Defaults
keine Klauseln sind.
Bei den Axiomen wird natürlich auch vorausgesetzt, daß sie in die Klauseldarstellung
gebracht wurden.
Ein leichtgläubiger Beweiser
Nachdem jetzt also logisch korrekte Antworten berechnet werden können, sollen auch
Defaults in dem Beweis benutzt werden. Am einfachsten ist zunächst die leichtgläubige“
”
Default-Semantik, die später auch als Unterprogramm benötigt wird. Zunächst seien hier
wieder Prioritäten ausgeschlossen, die für die Verwendung von Prioritäten notwendigen
Erweiterungen können jedoch auf die eine einzige Prozedur (extend) beschränkt werden,
wie unten erläutert wird.
6.2. TOP-DOWN
159
Die Grundidee ist nun, einfach die Verwendung der Defaults in dem Beweis zuzulassen,
sie also im wesentlichen wie Axiome zu behandeln. Der leichtgläubige Beweiser ist ja
auch nichts anderes als ein logischer Beweiser, angewendet auf Φ ∪ E für eine maximale
Extension E.
Da man E nicht kennt, erlaubt man zunächst einfach die Verwendung beliebiger
Default-Ausprägungen δ ∈ ∆∗ , aber überprüft jeweils, ob δ zusammen mit den bisher
im Beweis verwendeten Defaults D noch zu einer maximalen Extension erweitert werden
kann. Solange keine Prioritäten zwischen den Defaults existieren, ist dies genau dann der
Fall, wenn Φ ∪ D ∪ {δ} konsistent ist, d.h. Φ ∪ D 6` ¬δ. An dieser Stelle kann der oben
eingeführte logische Beweiser verwendet werden.
Um die Berücksichtigung von Prioritäten vorzubereiten, wird der Test in eine eigene
Prozedur extend verlagert:
extend(Φ, D, δ, D 0 ) :not prove(Φ ∪ D, ¬δ, A),
D0 = D ∪ {δ}.
Der leichtgläubige Beweiser entsteht nun aus dem bereits bekannten logischen Beweiser
durch Hinzufügung einer Regel, die Resolutionsschritte mit Defaults beschreibt. Außerdem wird noch ein Eingabeparameter D für die bisher verwendeten Defaults benötigt,
sowie der Ausgabeparameter D für die insgesamt verwendeten Defaults:
proveCred(Φ, ψ, A, D) :refuteCred(Φ, ψ, ¬ψ, ∅, A, D).
refuteCred(Φ, ψ, Γ, D, A, D) :empty(Γ),
A = Γ,
D = D.
refuteCred(Φ, ψ, Γ, D, A, D) :ϕ ∈ Φ ∪ {¬ψ} ∪ D,
resolve(Γ, ϕ, Γ0 , ),
refuteCred(Φ, ψ, Γ0 , D, A, D).
refuteCred(Φ, ψ, Γ, D, A, D) :δ ∈ ∆,
resolve(Γ, δ, Γ0 , θ),
ground(δθ, δθθ 0 ),
extend(Φ, D, δθθ 0 , D0 ),
refuteCred(Φ, ψ, Γ0 θ0 , D0 , A, D).
Die von diesem Programm konstruierte partielle Extension D ist gerade eine Begründung
im Sinne von Definition 6.1.12: Mit Hilfe dieser Default-Ausprägungen und den durch A
gegebenen Grundbeispielen der Anfrage wurde die leere Klausel abgeleitet. Die Konsistenz
von Φ ∪ D stellt die Prozedur extend sicher.
160
KAPITEL 6. BERECHNUNG VON ANTWORTEN
Eine Feinheit bei dem Programm ist noch, daß die Grundbeispiel-Bildung für die
Default-Regel δ hier erst nach dem Resolventenschritt vorgenommen wird. Im Normalfall
bindet schon die vereinheitlichende Substitution θ alle Variablen des Defaults, insbesondere gilt dies aufgrund der Bereichsbeschränkung für die klassischen Negations-Defaults
(wenn man die Literale entsprechend anordnet). Falls aber δθ noch Variablen enthält, so
muß man alle Grundbeispiele δθθ 0 durchprobieren. Dies entspricht dem floundering“ bei
”
der SLDNF-Resolution [Llo87]. Ein Beispiel für dieses Problem ist:
Beispiel 6.2.6: Sei Φ := {vogel (tweety)} und ∆ := {kann fliegen(X) ← vogel (X)}.
Stellt man nun die Anfrage kann fliegen(X), so ist nur der Default anwendbar, aber seine
Variable wird bei dem Resolventenschritt nicht gebunden, daher kann seine Anwendbarkeit nicht geprüft werden (manche Ausprägungen sind anwendbar, andere nicht).
Die offensichtliche Lösung ist, diese Überprüfung noch zu verschieben, bis X gebunden
ist (durch die Resolution mit vogel (tweety)). Dieses Verschieben kann etwa geschehen, indem man den Default durch das Axiom kann fliegen(X) ← vogel (X) ∧ default(X) ersetzt,
zusammen mit dem neuen Default default(X) (entsprechend der Normalformbildung). 2
Ein vorsichtiger Beweiser
Bei der vorsichtigen CWA können bekanntlich gerade die Defaults δ angenommen werden,
die in allen maximalen Extensionen enthalten sind. Das ist natürlich äquivalent dazu, daß
es keine maximale Extension E mit δ 6∈ E gibt. Für jede solche Extension müßte aber
aufgrund der Maximalität schon Φ ∪ E ` ¬δ gelten, sonst könnte man δ ja zu E hinzunehmen. Daher kann der vorsichtige Beweiser genau diejenigen Defaults δ annehmen,
für die ¬δ nicht mit dem obigen leichtgläubigen Beweiser abgeleitet werden kann. Der
leichtgläubige Beweiser berechnet hier gerade die widersprechenden Begründungen.
proveCaref(Φ, ψ, A) :refuteCaref(Φ, ψ, ¬ψ, A).
refuteCaref(Φ, ψ, Γ, A) :empty(Γ),
A = Γ.
refuteCaref(Φ, ψ, Γ, A) :ϕ ∈ Φ ∪ {¬ψ},
resolve(Γ, ϕ, Γ0 , ),
refuteCaref(Φ, ψ, Γ0 , A).
refuteCaref(Φ, ψ, Γ, A) :δ ∈ ∆,
resolve(Γ, δ, Γ0 , θ),
ground(δθ, δθθ 0 ),
not proveCred(Φ, ¬(δθθ 0 ), , ),
refuteCaref(Φ, ψ, Γ0 θ0 , A).
6.2. TOP-DOWN
161
Da beim vorsichtigen Ansatz die Defaults unabhängig von einander angenommen werden
können, ist nicht wie beim leichtgläubigen Beweiser eine Buchführung über die bisher
angenommenen Defaults nötig. Sie könnte allerdings helfen, Doppelarbeit zu vermeiden.
Ein skeptischer Beweiser
Bei der skeptischen oder minimale Modelle“-Semantik ist es nicht mehr möglich, einen
”
Default einfach anzunehmen oder zurückzuweisen. Es ist zu zeigen, daß die Anfrage aus
allen maximalen Extensionen folgt, aber in den verschiedenen Extensionen können verschiedene Defaults zum Beweis verwendet werden. Es ist also eine Fallunterscheidung
nötig, wobei das Ziel ist, sowenig Fälle wie möglich betrachten zu müssen, und insbesondere nicht jede einzelne Extension.
Der aktuelle Zustand in dieser Fallunterscheidung sind die bisher angenommenen Defaults D, also eine partielle Extension. Zu zeigen ist, daß die Anfrage in allen von D
überdeckten Extensionen gilt, also in allen Extensionen E mit D ⊆ E.
Wenn nun eine Default-Ausprägung δ in dem Beweis angenommen werden soll, wird
versucht, ¬δ mit dem leichtgläubigen Beweiser herzuleiten. Der leichtgläubige Beweiser
wird dabei mit D gestartet, da er nur im aktuell betrachteten Bereich |D| nach maximalen Extensionen suchen soll, die δ nicht enthalten. Falls es solche Extensionen gibt,
liefert der leichtgläubige Beweiser in dem Rückgabe-Parameter D eine Begründung für ¬δ.
Man läßt den leichtgläubigen Beweiser jetzt backtracken, um alle solchen Begründungen
zu erhalten. Die Menge {D1 , . . . , Dk } bildet eine vollständige Menge widersprechender
”
Begründungen“ (relativ zu D). Im einzelnen hat sie folgende Eigenschaften:
• D ⊆ Di für i = 1, . . . , k,
• für jedes Di gibt es eine maximale Extension Ei mit Di ⊆ Ei ,
• Φ ∪ Di ` ¬δ,
• für jede maximale Extension E mit D ⊆ E und Φ ∪ E ` ¬δ gibt es Di mit Di ⊆ E.
Betrachtet man die Menge der überdeckten Extensionen, so ergibt sich folgendes Bild:
'
'
D
D ∪ {δ}
r
r
&
'
D1
r
&
&
$
r
$
···
%
r
$
r
'
Dk
r
&
%
$
r
r
%
%
162
KAPITEL 6. BERECHNUNG VON ANTWORTEN
Nach dem Ausgang des leichtgläubigen Beweises von ¬δ sind folgende Fälle zu unterscheiden:
• Der Beweis schlägt fehlt, also k = 0: Dann ist δ also in allen maximalen Extensionen E ⊆ |D| enthalten und kann ohne weitere Fallunterscheidung angenommen
werden.
• Eines der Di ist gerade D: Dann ist δ in keiner maximalen Extension E ∈ |D|
enthalten und kann nicht angenommen werden.
• Andernfalls ist eine Fallunterscheidung nötig, denn δ ist in einer, aber nicht allen
Extensionen aus |D| enthalten. Die Idee ist nun einfach, daß man für die übrigen
Extensionen einen anderen Beweis benötigt (der δ nicht verwendet). Man ruft also
den skeptischen Beweiser rekursiv mit jedem Di auf. Diese Rekursion terminiert, weil
jedes Di eine echte Obermenge von D ist (außerdem ist die Anzahl der betrachteten
maximalen Extensionen echt kleiner geworden).
Beispiel 6.2.7: Sei Φ := {p(a), p(b), q(a) ∨ q(b)} und ∆ := {¬p(X), ¬q(X)}. Als
Anfrage sei nun p(X) ∧ ¬q(X) betrachtet. Der Beweis beginnt mit D := ∅, d.h. es werden
alle maximalen Extensionen betrachtet. Es wird nun p(X) mit dem Axiom p(a) resolviert,
anschließend kann nur die Default-Ausprägung ¬q(a) verwendet werden. Aber q(a) kann
mit dem leichtgläubigen Beweiser unter der Annahme von D := {¬q(b)} abgeleitet werden.
Also muß nun die Anfrage beginnend mit D := {¬q(b)} hergeleitet werden. Es wird
wieder zuerst mit p(a) resolviert, aber nun wird der Default ¬q(a) sofort widerlegt. Also
wird nach dem Backtracking das Axiom p(b) verwendet. Zusammen mit dem bereits angenommenen Default ¬q(b) wird die leere Klausel abgeleitet. Dies liefert die Antwort hX/ bi
für den durch D = {¬q(b)} beschriebenen Bereich.
Nun kann der ursprüngliche Beweis mit D := {¬q(a)} fortgesetzt werden. Man erhält
auch hier die leere Klausel und den Anteil hX / ai zu der Antwort {hX / ai, hX / bi}. 2
Aus diesen Überlegungen ergibt sich der folgende Algorithmus. Es wird dabei das eingebaute Prädikat findall verwendet, das mittles Backtracking alle Lösungen eines nichtdeterministischen Aufrufs liefert.
proveSkept(Φ, ψ, A) :refuteSkept(Φ, ψ, ¬ψ, ∅, A).
refuteSkept(Φ, ψ, Γ, D, A) :empty(Γ),
A = Γ.
refuteSkept(Φ, ψ, Γ, D, A) :ϕ ∈ Φ ∪ {¬ψ} ∪ D,
resolve(Γ, ϕ, Γ0 , ),
refuteSkept(Φ, ψ, Γ0 , D, A).
6.2. TOP-DOWN
163
refuteSkept(Φ, ψ, Γ, D, A) :δ ∈ ∆,
resolve(Γ, δ, Γ0 , θ),
groundInst(δθ, δθθ 0 ),
findall(D, refuteCred(Φ, ¬(δθθ 0 ), δθθ0 , D, , D), {D1 , . . . , Dk }),
D 6∈ {D1 , . . . , Dk },
proveSkeptMulti(Φ, ψ, {D1 , . . . , Dk }, A0 ),
refuteSkept(Φ, ψ, Γ0 θ0 , D ∪ {δθθ 0 }, A1 ),
A = A 0 ∨ A1 .
Das Prädikat proveSkeptMulti berechnet durch rekursiven Aufruf des skeptischen Beweisers alternative Antworten für die übrigen Extensionen {D1 , . . . , Dk }:
proveSkeptMulti(Φ, ψ, {D1 , . . . , Dk }, A) :refuteSkept(Φ, ψ, ¬ψ, D1 , A0 ),
proveSkeptMulti(Φ, ψ, {D2 , . . . , Dk }, A1 ),
A = A 0 ∨ A1 .
proveSkeptMulti(Φ, ψ, ∅, false).
Erweiterung auf Defaults mit Prioritätsstufen
In den oben angegebenen Algorithmen wurde nur in der Prozedur extend benutzt, daß
es zwischen den Defaults keine Prioritäten gibt. Dort wurde davon ausgegangen, daß eine
partielle Extension D := {δ1 , . . . , δn−1 } um einen Default δn erweitert werden kann, wenn
Φ ∪ D 6` ¬δn .
Dies reicht bei priorisierten Defaults nicht mehr aus, wie man sich leicht an folgendem
Beispiel klarmachen kann:
Φ := {p ∨ q},
∆ := {¬p, ¬q},
`(¬p) := 1,
`(¬q) := 2.
Hier gilt Φ ∪ ∅ 6` q, aber D 0 := {¬q} ist keine partielle Extension (die einzige maximale
Extension ist E := {¬p}).
Man kann hier stufenweise vorgehen, indem man testet, ob ¬δ1 ∨ · · · ∨ ¬δn mit dem
skeptischen Beweiser bezüglich
∆0 := δ ∈ ∆ δ < max{`(δi ) | 1 ≤ i ≤ n}
bewiesen werden kann (eine solche Methode wird in [BG89] verwendet).
Diese Lösung ist jedoch nicht verträglich mit dem Ziel, die Anwendbarkeit der Defaults
so früh wie möglich zu testen — zumindest müßte man dann die Berechnung bei jedem
neu hinzugenommenen Default wiederholen. Man braucht hier also eine inkrementelle
Vorgehensweise, ähnlich wie im nicht priorisierten Fall.
Sei im folgenden zur Abkürzung wieder
∆i := {δ ∈ ∆ | `(δ) ≤ i}.
164
KAPITEL 6. BERECHNUNG VON ANTWORTEN
Der Schlüssel zu einer inkrementellen Berechnung partieller Extensionen ist nun folgender
Begriff von stabiler Extension“, bei der jeder Default δ ∈ D gegen widersprechende
”
”
Begründungen“ aus ∆∗`(δ)−1 durch andere Defaults aus D geschützt“ ist:
”
Definition 6.2.8 (Stabile Extension): D = {δ1 , . . . , δn } heißt stabile (∆, `)-Extension
genau dann, wenn es für kein i ∈ {1, . . . , n} ein D̂i ⊆ ∆∗`(δi )−1 gibt mit
• Φ ∪ {δ1 , . . . , δi−1 } ∪ D̂i ist konsistent, und
• Φ ∪ {δ1 , . . . , δi−1 } ∪ D̂i ` ¬δi .
Satz 6.2.9: Sei D eine stabile (∆, `)-Extension. Dann gibt es eine maximale (∆, `)Extension E mit D ⊆ E.
Beweis: Die Behauptung wird mit Induktion über der Anzahl n der in D vorkommenden
Defaults bewiesen. Im Fall n = 0 ist die Behauptung trivial, denn es gibt mindestens eine
maximale Extension.
Sei die Behauptung nun für n − 1 bewiesen und ein neuer Default δn in D einzufügen,
d.h. D = {δ1 , . . . , δn }. Nach Induktionsannahme gibt es eine maximale Extension E 0 mit
{δ1 , . . . , δn−1 } ⊆ E 0 . Sei nun
D̂n := E 0 ∩ ∆∗`(δn )−1 .
Natürlich ist Φ ∪ {δ1 , . . . , δn−1 } ∪ D̂n konsistent, also ist nach der Voraussetzung auch
Φ ∪ {δ1 , . . . , δn−1 } ∪ D̂n ∪ {δn }
konsistent.
Man konstruiert nun E, indem man hiervon ausgehend auf jeder Stufe eine maximale Menge
von Defaults hinzunimmt, so daß die Konsistenz erhalten bleibt: Sei E0 := {δ1 , . . . , δn } ∪ D̂n
Damit ist
D ⊆ E0 und E0 ∩ ∆∗`(δn )−1 = E 0 ∩ ∆∗`(δn )−1 .
0 eine Aufzählung der Defaults aus ∆∗ − ∆∗
Sei nun δ10 , . . . , δm
`(δn )−1 , die verträglich mit den
Prioritätsstufen ist (Defaults mit niedrigerem `-Wert kommen zuerst). Dann sei
(
Ei−1 ∪ {δj0 } falls Φ ∪ Ei−1 ∪ {δj0 } konsistent ist
Ei :=
Ei−1
sonst.
Schließlich sei E := Em .
Nach Konstruktion ist Φ ∪ E konsistent und es gilt D ⊆ E. Zu zeigen ist noch die Maximalitätsforderung. Da E in den Defaults der Stufen < `(δn ) mit E 0 übereinstimmt, kann die
0 verletzt werden. AngeMaximalitätsforderung höchstens durch einen der Defaults δ10 , . . . , δm
nommen, für ein δj0 6∈ E wäre
Φ ∪ {δ ∈ E | `(δ) ≤ `(δj0 )} ∪ {δj0 }
konsistent. Nach Konstruktion ist
Φ ∪ {δ ∈ E | `(δ) ≤ `(δj0 )} ∪ {δj0 } ∪ {δ1 , . . . , δn−1 }
inkonsistent. Sei i nun minimal, so daß
Φ ∪ {δ ∈ E | `(δ) ≤ `(δj0 )} ∪ {δj0 } ∪ {δ1 , . . . , δi }
6.2. TOP-DOWN
165
inkonsistent ist. Es gilt `(δj0 ) < `(δi ), denn wegen δi ∈ E wäre δi sonst in dem als konsistent
bekannten Anteil. Damit wäre die Eigenschaft von stabiler Extension“ aber für δi und
”
D̂i := {δ ∈ E | `(δ) ≤ `(δj0 )} ∪ {δj0 }
verletzt.
2
Stabile Extensionen kann man nun mit dem skeptischen Beweiser berechnen, und zwar
ruft man ihn mit der bisherigen stabilen Extension auf und versucht die Negation des
neuen Defaults δ zu beweisen, wobei nur Defaults mit echt kleinerem `-Wert verwendet
werden dürfen (deswegen terminiert die Rekursion). Falls der skeptische Beweis nun
gelingt, so kann δ natürlich nicht angenommen werden. Andernfalls betrachtet man die
bei der Fallunterscheidung erzeugten partiellen Extensionen, in denen kein leichtgläubiger
Beweis von ¬δ möglich war. Sie bilden zusammen mit δ eine stabile Extension.
Der günstigste Zeitpunkt für die Prüfung der Defaults
Oben wurde erläutert, daß es ein wesentlicher Vorteil der hier angegebenen Methode ist,
die Anwendbarkeit der Defaults so früh wie möglich zu testen, und diesen Test nicht auf
eine zweite Phase zu verschieben. Allerdings ist dies nicht immer der günstigste Zeitpunkt.
Dies sei an der Regel
p ← ¬q ∧ r
erläutert. Wenn die Überprüfung des Defaults ¬q sehr aufwendig ist und wenn der Beweis
von r sehr schnell fehlschlägt, dann ist es natürlich günstiger, zuerst den Beweis von r zu
versuchen: Da dies fehlschlägt, braucht man den Default nicht mehr zu überprüfen. Es
kann allerdings auch die umgekehrte Situation eintreten, daß der Default schnell widerlegt
wird, während der Beweis von r sehr aufwendig ist. In diesem Fall hätte man den Default
zuerst testen sollen.
Der richtige Zeitpunkt für die Überprüfung der Defaults ist also anwendungs-abhängig.
Die hier angegebene Methode kann aber leicht so verallgemeinert werden, daß der Datenbankentwerfer steuern kann, wann die Defaults überprüft werden (innerhalb der Regeln
ist dies schon jetzt durch die Anordnung der Literale zu steuern). Dagegen sind die
in [Prz89, Gin89, BG89] vorgeschlagenen Verfahren inhärent zweiphasig (erst werden Folgerungen unter Verwendung beliebiger Defaults berechnet, dann die Anwendbarkeit der
Defaults überprüft).
166
Kapitel 7
Ausblick
Ziel dieser Arbeit war es, die Semantik von Defaults zu klären und die algorithmischen
Grundlagen für die Anfrage-Auswertung unter Berücksichtigung von Defaults zu legen.
Damit sollte ein sauberes und tragfähiges Fundament für die Erweiterung deduktiver
Datenbanken um allgemeine Klauseln und Defaults gelegt werden.
In diesem Kapitel sollen nun Perspektiven für die weitere Arbeit aufgezeigt werden.
Dynamik
Der Inhalt einer Datenbank ist üblicherweise ständigen Änderungen unterworfen. Wenn
diese Änderungsoperationen nicht vorbereitet sind, also im Extremfall mit einem Texteditor einfach die Formelmenge geändert wird, dann ist das einerseits unbequem und
andererseits gefährlich für die Integrität der Datenbank: Es kann ja leicht passieren, daß
der Datenbankzustand durch einen Eingabefehler sinnlos wird.
Natürlich könnte man Programme in einer höheren Programmiersprache schreiben, die
diese Änderungen kontrolliert vornehmen. Das hat aber den Nachteil, daß die Semantik
dieser Programme schwer formal zu behandeln ist, so daß der einfache deklarative Rahmen
deduktiver Datenbanken verlassen wird.
Besser ist es, diese Änderungsoperationen stattdessen in geeigneten Logiken zu spezifizieren, etwa dynamischer oder temporaler Logik. Ein solcher Ansatz wurde auch im
IS-CORE Projekt gewählt [SS91, ESS92]. Ziel dieses Projektes ist es, den Entwurf von
beweisbar korrekten Informationssystemen zu ermöglichen und die Wiederverwendbarkeit
von Spezifikationen zu unterstützen. Dabei wurde ein objekt-orientierter Ansatz gewählt,
wobei die Objekte über gemeinsame Ereignisse kommunizieren.
In Abschnitt 3.3 wurde schon motiviert, daß bei der Semantik von Änderungsoperationen Defaults eine zentrale Rolle spielen. Es bleibt hier aber noch viel zu untersuchen.
Zunächst sind die Ergebnisse dieser Arbeit auf solche allgemeineren Logiken zu übertragen, und dann auch das Zusammenspiel der verschiedenen Arten von Defaults zu klären
(etwa zeitliche Defaults und solche, die die Vererbung beschreiben).
Außerdem sind natürlich auch die Antwortalgorithmen entsprechend zu erweitern.
167
168
KAPITEL 7. AUSBLICK
Dies ist wohl keine leichte Aufgabe, zumindest, wenn man mächtige Anfragen zuläßt
(etwa Planungsaufgaben).
Als Beispiel für den Nutzen solcher Beweiser sei ein kommerzielles Textadventurespiel
( The Pawn“) genannt, bei dem man eine wesentliche Aufgabe in einer von den Autoren
”
offensichtlich nicht vorhergesehenen Weise umgehen konnte. So ein Textadventurespiel ist
im Grunde auch nichts anderes als eine Datenbank mit einem umfangreichen Satz vorgefertigter Änderungsoperationen (und einer natürlichsprachlichen Schnittstelle). Wäre das
Adventurespiel nun in einer temporalen Logik spezifiziert worden, und hätte man einen
entsprechenden Beweiser, so hätte man die naheliegende Anfrage stellen können, ob alle
Aufgaben erst gelöst werden müssen, bevor der Gewinnzustand erreicht wird.
Module, Objekt-Orientierung
Bei größeren Datenbanken ist natürlich eine Strukturierung in kleine, überschaubare Einheiten unbedingt wünschenswert. Dies könnte eine objekt-orientierte Vorgehensweise leisten. Umgekehrt darf man aber natürlich auch nicht die Vorteile einer logikbasierten Spezifikation verlieren: die meisten zur Zeit verfügbaren objekt-orientierten Systeme sind eher
imperativ und haben keine formale Semantik. Eine Integration von objekt-orientierten
und deduktiven Ansätzen ist daher ein aktuelles Forschungsthema.
Da sich die Semantik der Vererbung mit Defaults erklären läßt, sind die hier gelegten
Grundlagen natürlich auch für eine solche Integration nützlich.
Der Ausbau auf eine dynamische Logik ist oben schon genannt worden: Ein wichtiger
Unterschied zwischen objekt-orientierten und deduktiven Ansätzen ist ja der Zustandsbegriff, der als lokaler Speicher zu Objekten unbedingt dazugehört, von den Verfechtern
einer deduktiven Vorgehensweise aber als Rückfall in die Zeiten imperativer Programmierung abgelehnt wird. Mit einer dynamischen oder temporalen Logik kann man hier nun
doch noch eine Integration erreichen.
Logische Spezifikationen verletzen leicht das Lokalitätsprinzip, da sich jede Regel ja
auch umgekehrt als Kontraposition lesen läßt. Hier haben objekt-orientierte Ansätze den
Vorteil, daß sich klar zwischen definierenden und benutzenden Vorkommen eines Symbols
unterscheiden läßt. In [BL91] wurde eine entsprechende Forderung auch in die Semantik
einer logischen Spezifikation eingebaut, was sich als überraschend mächtiger Mechanismus
herausgestellt hat. Weitere Untersuchungen sind hier nötig.
Datenstrukturen, Komplexe Objekte
Ein wichtiger Unterschied von DATALOG zu Prolog ist der Verzicht auf Funktionssymbole, also auf Datenstrukturen wie etwa Listen und Bäume. Auch beim relationalen
Datenmodell hat sich Beschränkung auf atomare Werte als zu stark für bestimmte Anwendungen erwiesen; es gibt hier Vorschläge für geschachtelte Relationen [SS86] oder
Listen [GZC89].
169
Entsprechend besteht bei einigen Anfragesprachen für deduktive Datenbanken [NT89]
die Möglichkeit, direkt auf Mengen von Objekten Bezug zu nehmen, wie etwa bei einer
Logik 2. Stufe (aber mit Einschränkungen, um die Berechenbarkeit sicherzustellen). In
einer solchen Sprache sind Aggregationen (z.B. die Summe aller Posten einer Rechnung)
natürlich kein Problem.
Wünschenswert wäre ein entsprechender Ausbau des hier vorgeschlagenen Ansatzes.
Datenbankentwurf
Beim relationalen Datenmodell gibt es eine umfangreiche Theorie, um die Aufgabe des
Datenbankentwurfs zu unterstützen. Diese Aufgabe ist natürlich in einer deduktiven
Datenbank eher noch komplizierter, weil es mehr Parameter gibt. Andererseits sind aber
natürlichere Formulierungen möglich, während man beim relationalen Datenbankentwurf
manchmal nach der am wenigsten schlechten“ Lösung suchen muß.
”
Der Datenbankentwurf in einem logischen Datenmodell wurde in [BC89, Con89] untersucht. Es bleibt zu untersuchen, inwieweit sich die dort erzielten Ergebnisse auf den hier
verfolgten Ansatz übertragen lassen. Zusätzlich ergeben sich aber durch die erweiterten
Möglichkeiten hinsichtlich Defaults und allgemeinen Klauseln ganz neue Fragestellungen.
Konkrete Syntax, Entwurfswerkzeuge
Nachdem die theoretischen und algorithmischen Grundlagen gelegt sind, sollten natürlich
auch realistische Anwendungsbeispiele ausgearbeitet werden. Dafür ist eine möglichst bequeme Syntax mit nützlichen Abkürzungen wünschenswert. Auch eine graphische Sprache
für den Entwurf im großen“ wäre hilfreich.
”
Außerdem sollten natürlich Entwurfswerkzeuge zur Verfügung gestellt werden. Neben
syntaxgestützten und graphischen Editoren ist hier insbesondere ein Konsistenzprüfer zu
nennen (siehe z.B. [BDM88, LNP+ 89]).
Implementierung
Diese Arbeit enthält die algorithmischen Grundlagen, aber es sind natürlich noch viele
Optimierungen auf verschiedenen Ebenen möglich und nötig.
Prototypen des top-down“ [Ern92, Bra92a] und des bottom-up“ Verfahrens [Bri92]
”
”
sind inzwischen verfügbar. Jetzt muß es das Ziel sein, Erfahrungen mit diesen Programmen zu sammeln, und so Verbesserungsmöglichkeiten zu erkennen.
Insbesondere sollen natürlich die Vorteile beider Verfahren verbunden werden, wie
das bei deduktiven Datenbanken normalerweise mit magischen Mengen“ [BR86, Ull89,
”
Bry90] oder ähnlichen Techniken erreicht wird. Auch im Bereich des logischen Programmierens gibt es entsprechende Vorschläge [Bur91]. Eine Anwendung dieser Methode auf
den hier verfolgten Ansatz sollte möglich sein.
170
KAPITEL 7. AUSBLICK
Der bottom-up“ Ansatz sollte langfristig auch um eine angepaßte Externspeicher”
Verwaltung erweitert werden. Wie in Kapitel 6 erläutert wurde, ist die Benutzung eines
relationalen Datenbanksystems nur ein Behelf. Auch ein NF2 -System müßte schon sehr
spezielle Optimierungen enthalten, um eine effiziente Implementierung dieses Verfahrens
zuzulassen.
Für den top-down“ Ansatz lassen sich viele der Implementierungstechniken von Pro”
log übernehmen. Interessant wäre insbesondere eine Compilierung. Es ist nicht unrealistisch, daß man für stratifizierte Klauselmengen dieselbe Effizienz wie Prolog erreicht,
und bei sparsamer Verwendung allgemeinerer Konstrukte nur wenig an Effizienz verliert.
Symbolverzeichnis
Griechische Buchstaben
α Variablenbelegung (2.1.12, S. 18)
β Bindungstyp der Prädikate, Bestandteil von Σ (2.1.2, S. 14)
γ Sortierung der Konstanten, Bestandteil von Σ (2.1.2, S. 14)
Γ Zielklausel
∆ Menge aller Defaults (2.2.2, S. 28)
∆∗ Menge der Default-Ausprägungen (2.2.4, S. 30)
δ Default oder Default-Ausprägung (2.2.2, S. 28)
θ Substitution
Ξ Variablendeklaration: X → S (2.1.8, S. 17)
π Sortierung der Prädikate, Bestandteil von Σ (2.1.2, S. 14)
Σ Signatur (2.1.2, S. 14)
Φ Menge der Axiome (Formeln) (2.2.1, S. 27)
ϕ Axiom oder allgemeine Formel (2.1.11, S. 18)
ψ Anfrage (2.3.1, S. 39)
Ω Konflikt (6.1.25, S. 142)
Lateinische Buchstaben
A Alphabet, Zeichenvorrat (2.1.1, S. 14)
AL Logische Zeichen, Teilmenge von A (2.1.1, S. 14)
AV Menge der Variablen, Teilmenge von AL (2.1.1, S. 14)
C Menge der Konstanten von Σ (2.1.2, S. 14)
c Konstante, Element von C (2.1.2, S. 14)
D Begründung (6.1.12, S. 139)
E Maximale Extension, Teilmenge von ∆ (5.2.1, S. 102)
I Interpretation (meist Herbrandinterpretation) (2.1.4, S. 16)
I Menge von (Herbrand-)Interpretationen (2.1.4, S. 16)
171
172
SYMBOLVERZEICHNIS
IΣ Menge aller Herbrand-Interpretationen über Σ (2.1.4, S. 16)
i Natürliche Zahl
j Natürliche Zahl
k Natürliche Zahl
LΣ Menge aller quantorenfreien Formeln über Σ (2.1.11, S. 18)
L∗Σ Menge aller variablenfreien Formeln über Σ (2.1.11, S. 18)
L+
Σ Menge aller bereichsbeschränkten Formeln über Σ (2.1.19, S. 21)
` Prioritätsstufe, ∆ → IN, je kleiner, desto höhere Priorität (2.2.3, S. 29)
m Natürliche Zahl
IN Menge der natürlichen Zahlen 1, 2, . . .
n Natürliche Zahl
P Prädikate von Σ, Teilmenge von A (2.1.2, S. 14)
p Prädikat, Element von P (2.1.2, S. 14)
q Prädikat, Element von P (2.1.2, S. 14)
r Prädikat, Element von P (2.1.2, S. 14)
S Sorten von Σ, Teilmenge von A (2.1.2, S. 14)
s Sorte, Element von S (2.1.2, S. 14)
t Term, Element von C ∪ X (2.1.9, S. 18)
u Term, Element von C ∪ X (2.1.9, S. 18)
X Menge von Variablen, Teilmenge von AV (2.1.1, S. 14)
X Variable, Element von AV (2.1.1, S. 14)
Y Variable, Element von AV (2.1.1, S. 14)
Bezeichner mit mehreren Buchstaben
comp syntaktische Vervollständigung (2.2.9, S. 35)
cwa ∆ vorsichtige CWA (5.2.4, S. 103)
cwa (∆,`) vorsichtige CWA mit Prioritätsstufen (5.2.7, S. 104)
cwa (∆,<) vorsichtige CWA mit partiell geordneten Defaults (5.2.7, S. 104)
min ≺ minimale Modelle Vervollständigung bezüglich ≺ (5.1.2, S. 90)
min ∆ minimale Modelle Vervollständigung bezüglich ≺∆ (5.1.2, S. 90)
min (∆,`) minimale Modelle Vervollständigung bezüglich ≺(∆,`) (5.1.11, S. 95)
min (∆,<) minimale Modelle Vervollständigung bezüglich ≺(∆,<) (5.1.18, S. 98)
Mod (Φ) Menge der Herbrandmodelle von Φ (2.1.15, S. 19)
mcwa (∆,<) modifizierte CWA (5.3.3, S. 112)
ncwa (∆,<) naive CWA (4.3.7, S. 86)
SYMBOLVERZEICHNIS
scwa (∆,<) starke CWA (5.3.7, S. 114)
sel modelltheoretische Vervollständigung (2.2.6, S. 30)
Th(I) eine Formelmenge mit den Modellen I (2.1.15, S. 19)
th(I) eine variablenfreie Formel mit den Modellen I (2.1.15, S. 19)
Sonstige Zeichen
∧ Junktor und“ in logischen Formeln, Element von AL
”
∨ Junktor oder“ in logischen Formeln, Element von AL
”
← Junktor wenn“ in logischen Formeln, Element von AL
”
→ Junktor dann“ in logischen Formeln, Element von AL
”
¬ Junktor nicht“ in logischen Formeln, Element von AL
”
∼ Umwandlung zwischen positiven und negativen Literalen (2.1.24, S. 24)
⇐= metasprachliches wenn“
”
=⇒ metasprachliches dann“
”
⇐⇒ metasprachliches genau dann, wenn“
”
:⇐⇒ gelte definitionsgemäß genau dann, wenn“
”
:= sei definiert als“
”
∼
= ist logisch äquivalent zu“ (2.1.15, S. 19)
”
∼
∗
=∆ erfüllt dieselben Defaults (4.3.1, S. 84)
|= ist Modell von“ (2.1.15, S. 19)
”
` die logische Folgerungsrelation (2.1.15, S. 19)
`c vervollständigte Folgerungsrelation (2.2.10, S. 36)
`sel durch sel gegebene vervollständigte Folgerungsrelation (2.2.11, S. 37)
`comp durch comp gegebene vervollständigte Folgerungsrelation (2.2.11, S. 37)
`cons
(∆,<) konstruktive Implikation (5.3.11, S. 116)
⊆ ist Teilmenge von (oder gleich)“
”
⊂ ist echte Teilmenge von“
”
2 die leere Klausel (2.1.25, S. 25)
< Prioritätsrelation auf ∆ bzw. ∆∗ , kleiner: höhere Priorität (2.2.3, S. 29)
≺ Präferenzrelation auf den Modellen (5.1.2, S. 90)
≺∆ durch ∆ gegebene Präferenzrelation (5.1.1, S. 90)
≺(∆,`) durch (∆, `) gegebene Präferenzrelation (5.1.11, S. 95)
≺(∆,<) durch (∆, <) gegebene Präferenzrelation (5.1.18, S. 98)
|D| von D überdeckte maximalen Extensionen (6.1.19, S. 141)
173
174
Literaturverzeichnis
[ABW88]
K. R. Apt, H. A. Blair, A. Walker: Towards a theory of declarative
knowledge. In J. Minker (ed.), Foundations of Deductive Databases and Logic Programming, 89–148, Morgan Kaufmann Publishers, Los-Altos (Calif.),
1988.
In dieser Arbeit wurden stratifizierte logische Programme mit ihrer Fixpunktsemantik eingeführt, die Konsistenz der CDB für solche Programme gezeigt,
und die Grundlagen passender Interpreter untersucht (60 Seiten).
[App85]
H.-J. Appelrath: Von Datenbanken zu Expertensystemen. InformatikFachberichte 102. Springer-Verlag, Berlin, 1985.
Gegenstand dieses Buches sind deduktive Datenbanken und ihre Anwendung
zur Wissensbereitstellung für Expertensysteme (159 Seiten).
[BC89]
J. Biskup, B. Convent: Towards a schema design methodology for deductive databases. In J. Demetrovics, B. Thalheim (eds.), 2nd Symposium on Mathematical Fundamentals of Database Systems (MFDBS’89),
37–52, LNCS 364, Springer-Verlag, Berlin, 1989.
In dieser Arbeit wird ein allgemeiner Ansatz für den Datenbank-Entwurf in
deduktiven Datenbanken entwickelt. Insbesondere wird der Begriff der Anfragetreue definiert, mit dem man formalisieren kann, daß das transformierte
Schema noch dieselben Informationen enthält (16 Seiten).
[BDM88]
F. Bry, H. Decker, R. Manthey: A uniform approach to constraint
satisfaction and constraint satisfiability in deductive databases. In Advances
in Database Technology — EDBT’88, 488–505, LNCS 303, Springer-Verlag,
1988.
In dieser Arbeit wird ein Ansatz zur Vereinfachung statischer Integritätsbedingungen bei deduktiven Datenbanken vorgestellt. Außerdem wird auf das
Problem der Überprüfung von Integritätsbedingungen auf Konsistenz eingegangen; die vorgeschlagene Lösung setzt Techniken der Integritätssicherung
ein (18 Seiten).
[Bes88]
P. Besnard:
1988.
An Introduction to Default Logic. Springer-Verlag, Berlin,
In diesem Lehrbuch wird die Default-Logik ausführlich und formal behandelt, daneben aber auch die verschiedenen Varianten der Circumscription und
andere nicht-monotonen Logiken (208 Seiten).
175
176
[BG89]
LITERATURVERZEICHNIS
A. B. Baker, M. L. Ginsberg: A theorem prover for prioritized circumscription. In Proc. 11th International Joint Conf. on Artificial Intelligence
(IJCAI), 463–467, 1989.
Diese Arbeit enthält einen Vorschlag für einen Beweiser, der Defaults mit
Prioritätsstufen berücksichtigt. Interessant ist auch der Vergleich mit zwei
Kontrahenten, die sich auf jeder Prioritätsstufe widersprechende Argumente
präsentieren. Der wesentliche Unterschied zu dem hier vorgeschlagenen topdown Beweiser ist die mehrphasige Vorgehensweise, die die Anwendbarkeit
der Defaults erst ganz zum Schluß prüft (5 Seiten).
[BH86]
N. Bidoit, R. Hull: Positivism vs. minimalism in deductive databases. In
Proc. of the 5th ACM Symp. on Principles of Database Systems (PODS’86),
123–132, 1986.
In diesem Artikel wird versucht, Clark’s CDB und die minimalen Modelle
zu integrieren, um eine Semantik für disjunktive Regeln zu haben. Besonders
hilfreich ist aber vor allem die Idee der kausalen Modelle, die äquivalent zur
CDB sind, aber viel übersichtlicher (10 Seiten).
[BL89]
S. Brass, U. W. Lipeck: Specifying closed world assumptions for logic databases. In J. Demetrovics, B. Thalheim (eds.), 2nd Symposium
on Mathematical Fundamentals of Database Systems (MFDBS’89), 68–84,
LNCS 364, Springer-Verlag, Berlin, 1989.
In dieser Arbeit wird die parametrisierte CWA definiert, modelltheoretisch
charakterisiert, und gezeigt, wie sich die verschiedenen Varianten der CWA in
diesem Rahmen repräsentieren lassen (17 Seiten).
[BL91]
S. Brass, U. W. Lipeck: Semantics of inheritance in logical object specifications. In C. Delobel, M. Kifer, Y. Masunaga (eds.), Deductive and
Object-Oriented Databases, 2nd Int. Conf. (DOOD’91), 411–430, LNCS 566,
Springer-Verlag, Berlin, 1991.
Diese Arbeit enthält einen Vorschlag für die Semantik objekt-orientierter
Spezifikationen mit abgeleiteten Attributen, die über Regeln definiert werden. Das Überschreiben ererbter Regeln wird dabei mit hierarchischen Defaults definiert. Es wird hier insbesondere auch die Lokalitätsforderung objektorientierter Spezifikationen berücksichtigt (20 Seiten).
[BL92]
S. Brass, U. W. Lipeck:
Generalized bottom-up query evaluation.
In Advances in Database Technology — EDBT’92, 3rd Int. Conf., 88–103,
LNCS 580, Springer-Verlag, 1992.
In dieser Arbeit wird der Bottom-Up“ Ansatz zur Anfrage-Auswertung auf
”
allgemeine Klauseln und allgemeine Defaults erweitert. Zur Darstellung disjunktiver Information werden dabei NF2 -Relationen benutzt (16 Seiten).
[BN77]
E. Bergmann, H. Noll: Mathematische Logik mit Informatik-Anwendungen. Heidelberger Taschenbücher 187. Springer-Verlag, Berlin, 1977.
Ein ausführliches Lehrbuch über die Prädikatenlogik, mit einem Kapitel über
automatisches Beweisen (324 Seiten).
LITERATURVERZEICHNIS
[BR86]
177
F. Bancilhon, R. Ramakrishnan: An amateur’s introduction to recursive
query processing. In C. Zaniolo (ed.), Proc. of SIGMOD’86, 16–52, 1986.
Diese Arbeit gibt einen Überblick über verschiedene Anwortalgorithmen für
Hornklausel-Datenbanken, auch die magic set“ Techniken. Es werden detail”
lierte Effizienzvergleiche durchgeführt (37 Seiten).
[Bra88]
S. Brass: Vervollständigungen für Logikdatenbanken. Diplomarbeit, Informatik, Techn. Univ. Braunschweig, 1988. Überarbeitete Version erschienen
als Forschungsbericht 315/1989, Informatik, Univ. Dortmund.
Dieser Bericht enthält eine vergleichende Literaturübersicht über die mini”
male Modelle“ Vervollständigungen, die CWAs (Closed World Assumptions),
die Circumscriptions und die CDB (Completed Data Base) (230 Seiten).
[Bra90a]
S. Brass: Beginnings of a theory of general database completions. In
S. Abiteboul, P. C. Kanellakis (eds.), Third International Conference
on Database Theory (ICDT’90), 349–363, LNCS 470, Springer-Verlag, Berlin,
1990.
In dieser Arbeit sind Vervollständigungen aus dem Blickwinkel der mathematischen Theorie der Wahlverfahren untersucht worden. Insbesondere konnten
dadurch die Vervollständigungen der Klasse der minimalen Modelle charakterisiert werden. Außerdem wurde die Ausdrucksfähigkeit der verschiedenen
Repräsentationen von Vervollständigungen verglichen (15 Seiten).
[Bra90b]
S. Brass: Remarks on first order circumscription. Unveröffentliches Manuskript, 1990.
In dieser Arbeit wird gezeigt, daß die First Order Circumscription nicht kumulierend ist. Außerdem wird auf die Frage überzähliger freier Variablen in
den λ-Ausdrücken eingegangen, die in das Formelschema der Circumscription eingesetzt werden. Es wird gezeigt, daß sie selbst im nicht-rekursiven
Fall die Konsistenz der Circumscription zerstören können, und daß sie bei
Horn-Klauseln nicht nötig sind (13 Seiten).
[Bra92a]
S. Brass: CWA Prover 1.1 User Manual, 1992.
Dies ist die Anleitung zu einer Prototyp-Implementierung des in [Bra92b]
vorgeschlagenen top-down“ Beweisers. Das in Prolog geschriebene Programm
”
ist mit anonymem ftp von “wega.informatik.uni-hannover.de” (130.75.26.1)
erhältlich.
[Bra92b]
S. Brass: Deduction with supernormal defaults. In K. P. Jantke,
G. Brewka, P. H. Schmitt (eds.), Nonmonotonic and Inductive Logics,
2nd International Workshop (NIL’91), LNAI, Springer-Verlag, Berlin, 1992.
In dieser Arbeit wird ein Top-Down“ Antwortalgorithmus für allgemeine
”
CWAs entwickelt. Daneben enthält sie Material zur Semantik partiell geordneter Defaults, insbesondere zur Unterscheidung zwischen maximalen Extensionen und konstruktiven Extensionen (22 Seiten).
[Bre91]
G. Brewka: Nonmonotonic Reasoning: Logical Foundations of Commonsense. Cambridge University Press, Cambridge, 1991.
178
LITERATURVERZEICHNIS
Dieses Lehrbuch gibt einen umfassenden Überblick über die verschiedenen
Ansätze zum nichtmonotonen Schließen und ist nicht so technisch wie manche
der anderen Lehrbücher (168 Seiten).
[Bri92]
A. Brinkmann: Verallgemeinerte Bottom-Up Auswertung. Diplomarbeit,
Inst. für Informatik, Universität Hannover, 1992.
In dieser Arbeit ist der Bottom-Up Ansatz zur Anfrageauswertung mit allgemeinen Klauseln und beliebigen Defaults programmiert worden (in C“). Da
”
kein NF2 -Datenbanksystem zur Verfügung stand, wurde die Datenbank im
Hauptspeicher simuliert.
[BRL91]
S. Brass, M. Ryan, U. W. Lipeck: Hierarchical defaults in specifications.
In G. Saake, A. Sernadas (eds.), Information Systems — Correctness and
Reusability, Workshop IS-CORE ’91, 179–201, Informatik-Bericht 91-03, TU
Braunschweig, 1991.
Diese Arbeit definiert die Semantik hierarchischer Defaults für allgemeine Logiken und insbesondere für die Aktions-Logik des IS-CORE Projekts. Es wird
dabei der Instanziierungsmechanismus als Parameter der Vervollständigung
eingeführt (23 Seiten).
[Bry90]
F. Bry: Query evaluation in recursive databases: bottom-up and top-down
reconciled. Data & Knowledge Engineering 5 (1990), 289–312.
In dieser Arbeit wird gezeigt, daß die magic set“ Techniken zur Integration
”
von top-down“ und bottom-up“ Ansätzen sich am besten als eine Form
”
”
von Metainterpreter verstehen lassen. Dadurch wird tatsächlich eine überraschende Vereinfachung erreicht (24 Seiten).
[BS85]
G. Bossu, P. Siegel: Saturation, non-monotonic reasoning and the closedworld assumption. Artificial Intelligence 25 (1985), 13–63.
Die minimale Modelle Semantik hat bei unendlichen Modellen das Problem,
daß sie aufgrund unendlicher absteigender Ketten nicht immer konsistenzerhaltend ist. In dieser Arbeit wird nun eine modifizierte Definition angegeben,
die immer konsistenzerhaltend ist. Außerdem enthält die Arbeit noch einige
allgemeine Bemerkungen zu nichtmonotonen Folgerungsrelationen und einen
Antwortalgorithmus (51 Seiten).
[Bur91]
W. Burgard: Efficiency considerations on goal-directed forward chaining
for logic programs. In E. Börger, H. Kleine Büning, M. M. Richter,
W. Schönfeld (eds.), Computer Science Logic, 4th Workshop, CSL’90, 80–
94, LNCS 533, Springer Verlag, 1991.
In dieser Arbeit wird eine Resolventenmethode für Hornklauselprogramme
eingeführt, die von den Fakten ausgehend bottom-up“ arbeitet, aber trotz”
dem zielgerichtet vorgeht (mit Hilfe sogenannter link“ Klauseln). Die Kor”
rektheit und Vollständigkeit wird bewiesen und die Effizienz mit der SLDResolventhenmethode verglichen (15 Seiten).
[BW91]
F. L. Bauer, M. Wirsing: Elementare Aussagenlogik. Springer-Verlag,
Berlin, 1991.
LITERATURVERZEICHNIS
179
In diesem Lehrbuch der Reihe Mathematik für Informatiker“ wird die Aus”
sagenlogik ausführlich behandelt, inklusive Normalformen, Ableitungsregeln
und modallogischen Erweiterungen (228 Seiten).
[CGS89]
M. A. Casanova, R. Guerreiro, A. Silva: Logic programming with
general clauses and defaults based on model elimination. In Proc. 11th International Joint Conference on Artificial Intelligence (IJCAI), 395–400, Detroit,
1989.
Diese Arbeit enthält einen Vorschlag für einen Antwortalgorithmus für allgemeine Klauseln und normale Defaults, der allerdings auf der leichtgläubigen
Semantik mehrerer Extensionen basiert (6 Seiten).
[CGT90]
S. Ceri, G. Gottlob, L. Tanca: Logic Programming and Databases.
Surveys in Computer Science. Springer-Verlag, Berlin, 1990.
In diesem Lehrbuch werden folgende Themen behandelt: Kopplung von Prolog
und Datenbanken, die Sprache Datalog, Anfrageoptimierungs-Techniken für
Datalog, Erweiterungen von Datalog, Datenbank-Projekte in diesem Bereich
(284 Seiten).
[CL73]
C.-L. Chang, R. C.-T. Lee: Symbolic Logic and Mechanical Theorem
Proving. Academic Press, New York, 1973.
Ein klassisches Lehrbuch über automatisches Beweisen, das sehr verbreitet ist
(331 Seiten).
[Cla78]
K. L. Clark: Negation as failure. In H. Gallaire, J. Minker (eds.),
Logic and Data Bases, 293–322, Plenum, New York, 1978.
In dieser Arbeit wurde der negation as failure“ Ansatz zur Auswertung der
”
Negation in Prolog eingeführt, sowie die completed data base“ (CDB) als
”
Semantik der Negation. Auch die UNA-Axiome und ihre Beziehung zur Unifikation wurden hier untersucht (30 Seiten).
[Con88]
B. Convent: Deciding finiteness, groundness and domain independence of
pure datalog queries. Hildesheimer Informatik-Berichte II/1988, Hochschule
Hildesheim, 1988.
In dieser Arbeit werden die verschiedenen Probleme bei nicht bereichsbeschränkten Klauseln in Beziehung zueinander gesetzt, und es wird gezeigt,
daß sie in dem betrachteten Rahmen entscheidbar sind — ein recht überraschendes Ergebnis (19 Seiten).
[Con89]
B. Convent: Datenbankschemaentwurf für ein logikorientiertes Datenmodell. Dissertation, Hochschule Hildesheim, 1989.
Gegenstand dieser Arbeit ist der Datenbankentwurf für deduktive Datenbanken. Bei relationalen Datenbanken gibt es dafür ja schon eine umfangreiche
Theorie, bei deduktiven Datenbanken scheint dies die erste Arbeit zu sein.
Diese Arbeit enthält auch die Ergebnisse aus [Con88] und [BC89] (146 Seiten).
[Dav80]
M. Davis: The mathematics of non-monotonic reasoning. Artificial Intelligence 13 (1980), 73–80.
180
LITERATURVERZEICHNIS
In dieser Arbeit wurde eine modelltheoretische Formulierung der domain
”
circumscription“ gegeben, und damit ein Vorläufer der minimalen Modelle im
heutigen Sinn. McCarthy bedankt sich in [McC80] auch ausdrücklich für
diese Idee bei Davis (8 Seiten).
[DDFM90] J. Dix, A. Dold, T. Fuchß, M. Müller: “Theorist” und “MVL”: Erfahrungen und Hinweise im Umgang mit nichtmonotonen Beweissystemen.
Praktikumsbericht, Institut für Logik, Komplexität und Deduktionssysteme,
Universität Karlsruhe, 1990.
In dieser Arbeit werden Implementierungen zweier nichtmonotoner Beweissysteme untersucht, und zwar handelt es sich um das System aus [Poo88]
und den Beweiser, auf dem der in [Gin89] vorgeschlagene Antwortalgorithmus aufbaut. Beide Systeme scheinen nicht unwesentliche Mängel zu haben
(33 Seiten).
[Dec91]
H. Decker: On the declarative, operational and procedural semantics of
disjunctive computational theories. In A. Olivé (ed.), Proc. of the Second
Int. Workshop on the Deductive Approach to Information Systems and Databases, 149–173, Report de recerca LSI/91/30, Departament de Llenguatges i Sistemes Informatics, Universitat Politecnica de Catalunya, Barcelona
(Espana), 1991.
In dieser Arbeit werden Modelle und Fixpunkte von disjuktiven logischen
Programmen untersucht und eine auf der SL-resolution basierende abduktive
Beweisprozedur vorgestellt (25 Seiten).
[Dix91]
J. Dix: Classifying semantics of logic programs. In Proc. of the 1st
Int. Conf. on Logic Programming and Non-Monotonic Reasoning, Washington
DC, 1991.
In dieser Arbeit werden Semantiken für logische Programme in dem allgemeinen Rahmen nichtmonotoner Folgerungsrelationen untersucht. Unter anderem wird gezeigt, daß die dreiwertige well-founded“ Semantik kumulierend
”
ist (13 Seiten).
[DW91]
J. Doyle, M. P. Wellman: Impediments to universal preference-based
default theories. Artificial Intelligence 49 (1991), 97–128.
In dieser Arbeit wird der bekannte Satz von Arrow verwendet, um zu zeigen, daß keine Defaultsemantik, die auf minimalen Modellen basiert, allen
wünschenswerten Anforderungen gerecht werden kann. Dabei erscheinen die
starken Anforderungen an die Vergleichbarkeit zweier Modelle aber etwas
fragwürdig (32 Seiten).
[EFT86]
H.-D. Ebbinghaus, J. Flum, W. Thomas: Einführung in die mathematische Logik, zweite Auflage. Wissenschaftliche Buchgesellschaft, Darmstadt,
1986.
Ein empfehlenswertes Lehrbuch der mathematischen Logik (308 Seiten).
[EMR85]
D. W. Etherington, R. E. Mercer, R. Reiter: On the adequacy of
LITERATURVERZEICHNIS
181
predicate circumscription for closed-world reasoning. Computational Intelligence 1 (1985), 11–15.
In dieser Arbeit wird die Konsistenzerhaltung der Prädikat-Circumscription
untersucht. Außerdem wird bewiesen, daß sie keine neue Information über das
Gleichheitsprädikat liefert (5 Seiten).
[Ern92]
W. Ernst: Automatisches Beweisen mit Defaults. Diplomarbeit, Inst. für
Informatik, Universität Hannover, 1992.
In dieser Arbeit ist der Top-Down“ Ansatz nach [Bra92b] programmiert wor”
den (in Prolog).
[ESS92]
H.-D. Ehrich, G. Saake, A. Sernadas: Concepts of object-orientation.
In R. Studer (ed.), Informationssysteme und Künstliche Intelligenz, Zweiter
Workshop, 1–19, Springer-Verlag, Berlin, 1992.
In dieser Arbeit wird eine systematische Übersicht über objekt-orientierte
Konzepte gegeben. Außerdem wird die Spezifikationssprache Troll kurz vorgestellt (19 Seiten).
[Eth88]
D. W. Etherington: Reasoning with Incomplete Information. Pitman,
London, 1988.
Dieses Lehrbuch behandelt die Default Logik, Vererbungsnetze mit Ausnahmen und verschiedene Varianten der Circumscription (240 Seiten).
[FM91]
J. Fiadeiro, T. Maibaum: Towards object calculi. In G. Saake, A. Sernadas (eds.), Information Systems — Correctness and Reusability, Workshop
IS-CORE ’91, 129–178, Informatik-Bericht 91-03, TU Braunschweig, 1991.
In dieser Arbeit wird eine Logik mit Zustands- und Aktionsbegriff definiert,
und Ableitungsregeln dafür angegeben (50 Seiten).
[Gab85]
D. M. Gabbay: Theoretical foundations for non-monotonic reasoning in expert systems. In K. R. Apt (ed.), Logics and Models of Concurrent Systems,
439–457, Springer, Berlin, 1985.
Diese Arbeit ist eine der ersten, die allgemeine nichtmonotone Folgerungsrelationen untersuchen. Insbesondere legt sie die Grundlagen für den Begriff der
Kumulierung (19 Seiten).
[GB84]
J. Goguen, R. Burstall: Introducing institutions. In E. Clarke,
D. Kozen (eds.), Logics of Programs — Proc. 1983, 221–255, LNCS 164,
Springer-Verlag, Berlin, 1984.
In dieser Arbeit wird ein allgemeiner kategorieller Rahmen zum Studium unterschiedlicher Logiken eingeführt (35 Seiten).
[Ger91]
M. Gertz: Transformation von Integritätsbedingungen in Transaktionsspezifikationen. Diplomarbeit, Informatik, Universität Dortmund, 1991.
Aufbauend auf dem Ansatz von [Lip89] wird hier ein Verfahren angegeben, mit
dem die Überwachung von (temporalen) Integritätsbedingungen in Transaktionsspezifikationen eingebaut werden kann. Besonderes Schwergewicht liegt
182
LITERATURVERZEICHNIS
dabei auf der Berechnung von Formeln, die unter der Transaktion invariant sind (es wird gewissermaßen eine Extension der minimale Änderung“”
Defaults berechnet). Die Implementierung ist Bestandteil des ICE-Projektes
(157 Seiten).
[Gin89]
M. L. Ginsberg: A circumscriptive theorem prover. Artificial Intelligence 39 (1989), 209–230.
In dieser Arbeit wird ein Beweiser für die Circumscription vorgeschlagen,
auch die Erweiterung auf allgemeine Defaults wird diskutiert. Dagegen wird
die Erweiterung auf Prioritäten und Formeln mit Variablen nur grob skizziert. Außerdem wird das Verständnis durch die Bezugnahme auf TruthMaintenance-Systeme und vielwertige Logiken erschwert (22 Seiten).
[GL89]
M. Gelfond, V. Lifschitz: Compiling circumscriptive therories into logic
programs. In Non-Monotonic Reasoning (2nd International Workshop), 74–
99, LNAI 346, Springer-Verlag, Berlin, 1989.
In dieser Arbeit wird versucht, allgemeine Klauseln mit Circumscription in
logische Programme zu übersetzen. Allerdings ist dies nur unter großen Einschränkungen möglich (26 Seiten).
[GL90]
U. Griefahn, S. Lüttringhaus: Top-down integrity constraint checking
for deductive databases. In D. H. D. Warren, P. Szeredi (eds.), Logic
Programming, Proc. of the Seventh International Conference, 130–144, MIT
Press, 1990.
In dieser Arbeit ein Algorithmus zur Überprüfung von Integritätsbedingungen
in deduktiven Datenbanken vorgeschlagen, der Teile früherer SLDNF-Beweise
in und/oder-Bäumen abspeichert, um so die Erfüllung der Bedingung vor der
Änderung auszunutzen (15 Seiten).
[GMN84]
H. Gallaire, J. Minker, J.-M. Nicolas: Logic and databases: A deductive approach. Computing Surveys 16 (1984), 153–185.
Dies ist der klassische Übersichtsartikel zu deduktiven Datenbanken. Die Autoren haben das Gebiet ja auch durch die von ihnen organisierten Konferenzen
wesentlich beeinflußt. Inzwischen gibt es natürlich eine ganze Reihe neuerer
Entwicklungen (33 Seiten)
[Gog90]
M. Gogolla: Datalog — Eine deduktive Datenbanksprache. Skript, Informatik, Techn. Univ. Braunschweig, 1990.
Dieses Vorlesungsskript enthält eine Einführung in deduktive Datenbanken
mit den logischen Grundlagen, den Antwortalgorithmen und Optimierungen
(z.B. magic sets“) (98 Seiten).
”
[GP86]
M. Gelfond, H. Przymusinska: Negation as failure: Careful closure
procedure. Artificial Intelligence 30 (1986), 273–287.
In dieser Arbeit wird eine Vervollständigung vorgeschlagen, die im wesentlichen eine Erweiterung der GCWA um variable Prädikate ist (entsprechend
der Variablen-Circumscription). Der Antwortalgorithmus beruht auf der Zer-
LITERATURVERZEICHNIS
183
legung einer beliebigen Klauselmenge in mehrere Hornklauselmengen. Allerdings ist der Algorithmus im allgemeinen unvollständig (15 Seiten).
[GPP86]
M. Gelfond, H. Przymusinska, T. Przymusinski: The extended closed world assumption and its relationship to parallel circumscription. In
Proc. of the Fifth ACM SIGACT-SIGMOD Symp. on Principles of Database
Syst. (PODS’86), 133–139, 1986.
In dieser Arbeit wird eine Variante der CWA eingeführt, die unter der Annahme von UNA und DCA der Variablen-Circumscription entspricht (7 Seiten).
[Gre69]
C. C. Green: Theorem-proving by resolution as a basis for questionanswering systems. In B. Meltzer, D. Michie (eds.), Machine Intelligence,
volume 4, 183–205. Edinburgh University Press, 1969.
In dieser Arbeit wird erklärt, wie man aus einem Resolutionsbeweis Antworten
extrahieren kann. Insbesondere wird auch der Begriff der disjunktiven Antwort
eingeführt (23 Seiten).
[GZC89]
R. H. Güting, R. Zicari, D. M. Choy: An algebra for structured office
documents. acm Transactions on Information Systems 7:2 (1989), 123–157.
In dieser Arbeit wird eine Algebra zur Manipulation genesteter Listen von
Tupeln definiert. Auch die Bedeutung von Nullwerten wird untersucht (35 Seiten).
[HK89]
D. Hofbauer, R.-D. Kutsche: Grundlagen des maschinellen Beweisens.
Vieweg, Braunschweig, 1989.
Besondere Merkmale dieses Lehrbuchs über automatisches Beweisen sind, daß
es versucht, etwas Ordnung in die zahlreichen Möglichkeiten zur Verbesserung
der Resolventenmethode zu bringen, daß es auch nicht-Resolventenverfahren
kurz skizziert, und daß es einen längeren Abschnitt über Termersetzung
enthält. Allerdings wird für einige Beweise auf [CL73] verwiesen (172 Seiten).
[HM87]
S. Hanks, D. McDermott: Nonmonotonic logic and temporal projection.
Artificial Intelligence 33 (1987), 379–412.
Dies ist die klassische Arbeit über das Yale shooting problem“ im Zusam”
menhang mit minimalen Änderungen bei Zustandsfolgen. In der Arbeit werden auch eine ganze Reihe von Lösungsvorschlägen unterschiedlicher Autoren
besprochen (34 Seiten).
[HPRV89] G. Hulin, A. Pirotte, D. Roelants, M. Vauclair: Logic and databases. In A. Thayse (ed.), From Modal Logic to Deductive Databases —
Introducing a Logic Based Approach to Artificial Intelligence, volume 2, 279–
350. Wiley, 1989.
In dieser Arbeit wird die modelltheoretische und die beweistheoretische Sicht
für relationale Datenbanken, Hornklauseldatenbanken, Datenbanken mit Negation und mit unvollständiger Information erläutert (72 Seiten).
[HS90]
A. Heuer, P. Sander: Semantics and evaluation of rules over complex
objects. In W. Kim, J.-M. Nicolas, S. Nishio (eds.), Deductive and Object-
184
LITERATURVERZEICHNIS
Oriented Databases, First International Conference, 1989, 473–492, NorthHolland, 1990.
In dieser Arbeit wird eine regelbasierte Sprache zur Formulierung von Anfragen eine Datenbank mit komplexen Objekten eingeführt. Für die Auswertung
wird eine Übersetzung in verschiedene Algebren vorgeschlagen (20 Seiten).
[IL84]
T. Imielinski, W. Lipski: Incomplete information in relational databases.
Journal of the ACM 31 (1984), 761–791.
Diese Arbeit enthält einen Vorschlag für die Semantik von Nullwerten in relationalen Datenbanken. In [Kle91] wird eine Korrektur angegeben (31 Seiten).
[KL89]
M. Kifer, G. Lausen: F-logic: A higher-order language for reasoning
about objects, inheritance, and scheme. In J. Clifford, B. Lindsay,
D. Maier (eds.), Proceedings of the 1989 ACM SIGMOD International Conference on the Management of Data, 134–146, 1989.
Die F-Logik ist ein Vorschlag zur Integration von Logik und ObjektOrientierung. Ein besonderes Merkmal ist, daß nicht zwischen Klassen und Instanzen unterschieden wird, sondern nur eine Verbandsstruktur benutzt wird,
die den Informationsgehalt ausdrückt (13 Seiten).
[Kle91]
H.-J. Klein: Bemerkungen zur korrekten Auswertung von Anfragen an relationale Datenbanken mit partiellen Relationen. In M. H. Scholl (ed.),
Grundlagen von Datenbanken Kurzfassungen des 3. GI-Workshops, 52–56,
1991. Erschienen als Bericht 158 des Departement Informatik der ETH
Zürich.
In dieser Arbeit wird ein Fehler in der relationalen Algebra von [IL84] für
Relationen mit Nullwerten aufgedeckt und korrigiert (5 Seiten).
[KLM90]
S. Kraus, D. Lehmann, M. Magidor: Nonmonotonic reasoning, preferential models and cumulative logics. Artificial Intelligence 44 (1990), 167–207.
In dieser Arbeit wird versucht, nichtmonotone Logiken von einem ganz
abstrakten Ausgangspunkt zu untersuchen. Insbesondere enthält diese Arbeit auch eine Charakterisierung der Logiken, die sich über minimale Modelle beschreiben lassen. Diese Charakterisierung stimmt aber nicht mit der
in [Bra90a] überein, denn hier wird auch der Modellbegriff als Parameter angesehen, während in [Bra90a] die Prädikatenlogik zugrunde gelegt wird (41 Seiten).
[KLW90]
M. Kifer, G. Lausen, J. Wu: Logical foundations of object-oriented and
frame-based languages. Technical report, SUNY at Stony Brook / Universiät
Mannheim, 1990.
Dieser Forschungsbericht beschreibt eine neue Version der objekt-orientierten
F-Logik, die sich von der aus [KL89] deutlich unterscheidet. Insbesondere
wird jetzt auch die nichtmonotone Vererbung betrachtet. Die Semantik der
Vererbung ist auch deutlich verschieden von der in [BL91] vorgeschlagenen.
Im wesentlichen werden hier Werte vererbt und nicht Formeln (84 Seiten).
LITERATURVERZEICHNIS
[KNN90]
185
W. Kim, J.-M. Nicolas, S. Nishio (eds.): Deductive and Object-Oriented
Databases, Proceedings of the First International Conference (DOOD89).
North-Holland Publ.Co., Kyoto, Japan, 1990. See also: Special Issue on
Deductive and Object-Oriented Databases of Data & Knowledge Engineering 5(4), (Okt. 1990).
Diese Tagung bringt den allgemeinen Wunsch zum Ausdruck, deduktive und
objekt-orientierte Datenbanken zu integrieren. Viele der Arbeiten waren aber
noch dem einen oder anderen Lager zuzurechnen (607 Seiten).
[Kon88]
K. Konolige: On the relation between default and autoepistemic logic.
Artificial Intelligence 35 (1988), 343–382.
In dieser Arbeit wird gezeigt, daß Reiter’s Default Logik und Moore’s Autoepistemische Logik in einem gewissen Sinn äquivalent sind. Eine Korrektur
von Konolidge selbst wird in [Bre91] angegeben (40 Seiten).
[Kos90]
G. Koschorreck: Kalküle für Anfragen und Deduktionen über komplexen
Objekten. Diplomarbeit, Informatik, Universität Dortmund, 1990.
In dieser Arbeit wird eine Übersicht über verschiedene Algebren, Kalküle und
logische Anfragesprachen für komplexe Objekte gegeben, insbesondere hinsichtlich ihrer Ausdrucksfähigkeit (178 Seiten).
[KRS88]
M. Kifer, R. Ramakrishnan, A. Siberschatz: An axiomatic approach
to deciding query safety in deductive databases. In Proc. of the Seventh ACM
SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems
(PODS’88), 52–60, 1988.
In dieser Arbeit wird ein Vorschlag für die Überprüfung der Sicherheit von
Anfragen gemacht, der auch unendliche Relationen zulässt (etwa eingebaute
Prädikate) und auf ähnlichen Einschränkungen wie funktionalen Abhängigkeiten basiert. Da das eigentliche Problem nicht entscheidbar ist, wird der
Begriff der Supersafety“ eingeführt (9 Seiten).
”
[KW91]
M. Kifer, J. Wu: A first-order theory of types and polymorphism in logic programming. In Sixth Annual IEEE Symposium on Logic in Computer
Science (LICS’91), 310–321, 1991.
In dieser Arbeit wird eine neue Logik, der getypte Prädikatenkalkül, eingeführt, und auf die Typisierung logischer Programme angewendet. Die Logik
unterstützt insbesondere alle üblichen Arten von Polymorphismus (12 Seiten).
[Lif85]
V. Lifschitz: Computing circumscription. In Proc. 9th International Joint
Conference on Artificial Intelligence (IJCAI), 121–127, Los Angeles, 1985.
In dieser Arbeit wird die priorisierte Circumscription definiert. Der Ansatz zur
Berechnung der Circumscription besteht in einer syntaktischen Transformation in eine Formel erster Stufe, auf die dann ein normaler Beweiser anwendbar
ist (im wesentlichen wird wie bei der CDB aus ← ein ↔ gemacht). Dies ist
natürlich nur in Spezialfällen möglich (7 Seiten).
[Lip89]
U. W. Lipeck: Dynamische Integrität von Datenbanken.
Fachberichte 209. Springer-Verlag, Berlin, 1989.
Informatik-
186
LITERATURVERZEICHNIS
Gegenstand dieses Buches sind Spezifikation und Überwachung von Integritätsbedingungen in temporaler Logik. Insbesondere wird gezeigt, wie
diese Integritätsbedingungen in Transaktionspezifikationen hineintransformiert werden können, um so eine effiziente Überwachung zu ermöglichen
(140 Seiten).
[Llo87]
J. W. Lloyd: Foundations of Logic Programming, 2nd edition. SpringerVerlag, Berlin, 1987.
Dies ist das klassische Lehrbuch zu den theoretischen Grundlagen von Prolog,
also der SLDNF-Resolventenmethode und der CDB-Semantik der Negation.
In dieser neuen Auflage werden auch stratifizierte Klauselmengen, Regeln mit
allgemeinen Formeln im Rumpf und typisierte Regeln besprochen (212 Seiten).
[LNP+ 89] E. Lambrichts, P. Nees, J. Paredaens, P. Peelman, L. Tanca: Integration of functions in the fixpoint semantics of rule-based systems. In
J. Demetrovics, B. Thalheim (eds.), Second Symposium on Mathematical Fundamentals of Database Systems (MFDBS’89), 301–316, LNCS 364,
Springer-Verlag, Berlin, 1989.
In dieser Arbeit wird eine Erweiterung von Datalog um (nicht-generierende)
Funktionen und komplexe Objekte vorgestellt. Die Funktionen werden wie
Relationen mit einer funktionalen Abhängigkeit behandelt. Es wird ein Algorithmus zur Konsistenzprüfung im nicht-rekursiven Fall angegeben (16 Seiten).
[LT84]
J. W. Lloyd, R. W. Topor: Making prolog more expressive. The Journal
of Logic Programming 1 (1984), 225–240.
In dieser Arbeit wurde gezeigt, wie man allgemeine Formeln im Rumpf von
Prolog-Regeln in normale Prolog-Regeln übersetzten kann (16 Seiten).
[LU92]
G. Lausen, H. Uphoff: Nicht-monotone vererbung in f-logik. In U. W.
Lipeck, R. Manthey (eds.), Kurzfassungen des 4. GI-Workshops “Grundlagen von Datenbanken”, 105–109, ECRC technical report 92-13, 1992.
In dieser Arbeit wird die Vererbung logischer Formeln auf der Grundlage des
Ansatzes aus [KLW90] untersucht. Es wird vorgeschlagen, das Programm umzuschreiben, und im wesentlichem jeden Faktum noch die Klasse mitzugeben,
aus der diese Information stammt. Dann kann unter gewissen Einschränkungen eine Regel der folgenden Art verwendet werden: “wenn aus der Klasse C
die Information I stammt, und aus keiner tieferliegenden Klasse eine widersprechende Information ableitbar ist, dann gilt I”. Es werden auch Überlegungen zu “ISA-Stratifizierungen” angestellt (5 Seiten).
[Luk90]
W. Lukaszewics: Non-Monotonic Reasoning. Ellis Horwood, Chichester,
1990.
Eine Monographie über nichtmonotones Schließen, das mit großer Vollständigkeit alle vorgeschlagenen Formalismen abhandelt (328 Seiten).
[LV91]
E. Laenens, D. Vermeir: On the relationship between well-founded and
stable partial models. In B. Thalheim, J. Demetrovics, H.-D. Ger-
LITERATURVERZEICHNIS
187
hardt (eds.), MFDBS 91 (3rd Symposium on Mathematical Fundamentals
of Database Systems), 59–73, LNCS 495, Springer-Verlag, Berlin, 1991.
Gegenstand dieser Arbeit ist die Semantik von “geordneten logischen Programmen”, d.h. partiell geordneten Mengen von logischen Programmen. Es
sind dabei auch negative Literale im Regelkopf erlaubt. Für die Semantik
werden Methoden der “well-founded” und “stable model” Semantik für klassische logische Programme herangezogen. Die Semantik berücksichtigt sehr
stark die Schreibweise der Regeln. Zentral ist hier der Begriff der “competitors” zu einer Regel-Instanz, d.h. Regel-Instanzen mit inversem Kopfliteral,
die nicht weiter oben in der Hierarchie stehen (15 Seiten).
[Mak89]
D. Makinson: General theory of cumulative inference. In Non-Monotonic
Reasoning (2nd International Workshop), 1–18, LNAI 346, Springer-Verlag,
Berlin, 1989.
In dieser Arbeit wird der Begriff der Kumulierung eingeführt, und es werden die bekannten Vervollständigungen auf diese Eigenschaft hin untersucht
(18 Seiten).
[Mak92]
D. Makinson: General patterns in nonmonotonic reasoning. In D. Gabbay (ed.), Handbook of Logic in Artificial Intelligence and Logic Programming,
volume 2. Oxford University Press, 1992.
In dieser Arbeit wird der aktuelle Stand der Forschung in der Theorie der
nichtmonotonen Folgerungsrelationen dargestellt. Die allgemeinen Begriffe
werden unter anderem auf Vererbungs-Netze, Reiter’s Default Logik, maximale Extensionen und minimale Modelle angewendet (79 Seiten).
[Mar91]
W. Marek: Semantical description of stability. Vorgestellt auf: Nonmonotonic and Inductive Logics, 2nd International Workshop, 1991.
In diesem eigeladenen Vortrag wurden verschiedene Axiomsysteme für die
autoepistemische Logik diskutiert und auf die Semantik logischer Programme
angewendet.
[MB88]
R. Manthey, F. Bry: SATCHMO: a theorem prover implemented in prolog. In E. Lusk, R. Overbeek (eds.), 9th Conference on Automated Deduction (CADE-9), 415–434, LNCS 310, Springer-Verlag, Berlin, 1988.
In dieser Arbeit wird ein vorwärts schließender Beweiser vorgestellt, der in
Prolog implementiert ist. Dabei werden Disjunktionen durch Fallunterscheidungen aufgelöst, ansonsten wird soweit wie möglich der unterliegende PrologInterpreter ausgenutzt. Diese Arbeit enthält auch ausführliche Angaben zu
den Erfahrungen bei einigen Benchmark-Beispielen (20 Seiten).
[McC80]
J. McCarthy: Circumscription — a form of non-monotonic reasoning.
Artificial Intelligence 13 (1980), 27–39.
Dies ist der klassische Artikel über die (Prädikat-) Circumscription, der sowohl die intuitiven Hintergrund, als auch die formale Definition mit Formelschemata und minimalen Modellen behandelt (23 Seiten).
188
[McC86]
LITERATURVERZEICHNIS
J. McCarthy: Applications of circumscription to formalizing common-sense
knowledge. Artificial Intelligence 28 (1986), 86–116.
In diesem Artikel faßt McCarthy verschiedenen Entwicklungen zusammen,
die seit [McC80] eingetreten sind. Er definiert u.a. die Formelcircumscription,
die die wesentlich bekanntere Variablencircumscription als Spezialfall enthält.
Er definiert aber auch eine Art Normalform für Theorien mit Ausnahmen
(31 Seiten).
[Min82]
J. Minker: On indefinite databases and the closed world assumption. In
D. W. Loveland (ed.), 6th Conference on Automated Deduction, 292–308,
LNCS 138, Springer-Verlag, Berlin, 1982.
In dieser Arbeit wurde die GCWA-Vervollständigung eingeführt, um die Konsistenzerhaltung zu garantieren. Damit machten die Annahmen der geschlossenen Welt noch einmal einen deutlichen Fortschritt. Insbesondere wurde auch
die Äquivalenz von syntaktischer und semantischer Definition gezeigt, die
in [BL89] auf beliebige Defaults verallgemeinert wurde (17 Seiten).
[Moo85]
R. C. Moore: Semantical considerations on nonmonotonic logic. Artificial
Intelligence 25 (1985), 75–94.
Mit dieser Arbeit wurde die autoepistemische Logik eingeführt (20 Seiten).
[Mou85]
H. Moulin: Choice functions over a finite set: A summary. Social Choice
and Welfare 2 (1985), 147–160.
Dies ist ein gut verständlicher Übersichtsartikel über die mathematische Theorie der Auswahlfunktionen (14 Seiten).
[MP84]
J. Minker, D. Perlis: Applications of protected circumscription. In R. E.
Shostak (ed.), 7th International Conference on Automated Deduction, 414–
425, LNCS 170, Springer-Verlag, Berlin, 1984.
In der Protected Circumscription“ kann die Annahme von Negationen ge”
zielt verhindert werden, um unvollständige Information darzustellen. Im wesentlichen wird für jedes Prädikat p ein Prädikat e p eingeführt, das diese
Ausnahmen enthält (12 Seiten).
[MWW89] J.-J. Meyer, H. Weigand, R. Wieringa: A specification language
for static, dynamic and deontic integrity constraints. In J. Demetrovics,
B. Thalheim (eds.), 2nd Symposium on Mathematical Fundamentals of Database Systems (MFDBS’89), 347–366, LNCS 364, Springer-Verlag, Berlin,
1989.
In dieser Arbeit wird eine Sprache für Integritätsbedingungen eingeführt, die
auf einer dynamischen Logik mit deontischen Konstrukten basiert (20 Seiten).
[NM90]
U. Nilsson, J. Maluszyński:
Chichester, 1990.
Logic, Programming and Prolog. Wiley,
Dieses ist ein Prolog-Lehrbuch, was auch die logischen Grundlagen beschreibt
und auch alternative logische Programmiersprachen behandelt (289 Seiten).
[NT89]
S. Naqvi, S. Tsur: A Logical Language for Data and Knowledge Bases.
Computer Science Press, New York, 1989.
LITERATURVERZEICHNIS
189
Dieses Lehrbuch ist eine umfassende Einführung in neuere deduktive Datenbanken am Beispiel der Sprache LDL (288 Seiten).
[Plü90]
L. Plümer: Termination Proofs for Logic Programs. LNAI 446. SpringerVerlag, Berlin, 1990.
In diesem Buch wird ein Verfahren zur automatischen Herleitung von Terminierungsbeweisen für logische Programme vorgestellt (142 Seiten).
[Poo88]
D. Poole: A logical framework for default reasoning. Artificial Intelligence 36 (1988), 27–47.
In dieser Arbeit wurden die einfachen Defaults eingeführt, die also nur aus einer prädikatenlogischen Formel bestehen. Allerdings definiert Poole nur die
maximalen Extensionen, und nicht, was bei mehreren maximalen Extensionen
zu geschehen hat. Auch betrachtet er keine Prioritäten. Dafür führt er Cons”
traints“ ein, die die Anwendbarkeit der Defaults beschränken (21 Seiten).
[Prz89]
T. C. Przymusinski: An algorithm to compute circumscription. Artificial
Intelligence 38 (1989), 49–73.
In dieser Arbeit schlägt Przymusinski einen Antwortalgorithmus für die
Variablen-Circumscription vor, der auf der OL-Resolventenmethode basiert.
Allerdings wird nicht herausgestellt, welche Defaults verwendet werden, und
der Algorithmus wird nur für Klauseln ohne Variablen angegeben. Er ist dem
Algorithmus in [Gin89] recht ähnlich und arbeitet wie dieser mehrphasig (im
Unterschied zu dem Algorithmus in [Bra92b]) (25 Seiten).
[Prz91]
T. C. Przymusinski: Semantics of disjunctive logic programs and deductive
databases. In C. Delobel, M. Kifer, Y. Masunaga (eds.), Deductive and
Object-Oriented Databases, 2nd Int. Conf. (DOOD’91), 85–107, LNCS 566,
Springer-Verlag, Berlin, 1991.
In dieser Arbeit wird gezeigt, daß die stationäre Semantik logischer Programme, die als Verallgemeinerung der well-founded Semantik eigentlich eine
dreiwerige Semantik ist, sich auch in der Prädikatenlogik beschreiben läßt,
wenn man neue Prädikatsymbole not p einführt (23 Seiten).
[Pup91]
F. Puppe: Einführung in Expertensysteme, zweite auflage edition. Studienreihe Informatik. Springer-Verlag, Berlin, 1991.
Dieses Buch gibt eine umfassende Einführung in Expertensysteme (215 Seiten).
[Rei78]
R. Reiter: On closed world data bases. In H. Gallaire, J. Minker (eds.),
Logic and Data Bases, 55–76, Plenum, New York, 1978.
In dieser Arbeit wurde die originale CWA eingeführt. Daneben enthält sie
aber auch einige Gedanken zur Anfrageauswertung und zur Übersetzung von
logischen Formeln in Ausdrücke der Relationenalgebra (22 Seiten).
[Rei80]
R. Reiter: A logic for default reasoning. Artificial Intelligence 13 (1980),
81–132.
190
LITERATURVERZEICHNIS
In dieser Arbeit wurde die Default-Logik eingeführt. Für normale Defaults
wird auch ein erster Ansatz für einen Antwortalgorithmus angegeben (allerdings mit der leichtgläubigen Sichtweise) (52 Seiten).
[Rei84]
R. Reiter: Towards a logical reconstruction of relational database theory.
In M. L. Brodie, J. Mylopoulos, J. W. Schmidt (eds.), On Conceptual
Modelling, 191–238, Springer-Verlag, Berlin, 1984.
In dieser Arbeit wird der beweistheoretische Ansatz für relationale Datenbanken ausgearbeitet (im Unterschied zum üblichen modelltheoretischen Ansatz).
Dabei werden insbesondere auch Nullwerte betrachtet (48 Seiten).
[Rei85]
M. Reinfrank: An introduction to non-monotonic reasoning. Technical
Report MEMO-SEKI-85-02, Informatik, Universität Kaiserslautern, 1985.
In diesem Bericht wird ein Überblick über verschiedene Formalismen des nichtmononotonen Schließens gegeben, es werden aber insbesondere auch die Anwendungen in der künstlichen Intelligenz beschrieben (127 Seiten).
[Rei88]
R. Reiter: What should a database know? In Proc. of the Seventh ACM
SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems
(PODS’88), 302–304, 1988.
In dieser Zusammenfassung seines eingeladenen Vortrags argumentiert Reiter, daß Anfragen an Datenbanken und Integritätsbedingungen in einer epistemischen Logik formuliert werden sollten (3 Seiten).
[Rei92]
R. Reiter: On formalizing database updates — preliminary report. In Advances in Database Technology — EDBT’92, 3rd Int. Conf., 10–20, LNCS 580,
Springer-Verlag, 1992.
In diesem eingeladenen Vortrag schlägt Reiter eine Formalisierung von
Datenbank-Änderungen in der Logik erster Stufe vor, bei der die Extensionen
aller Relationen explizit durch die Extension im vorausgegangenen Zustand
definiert werden. Dies ist zwar nur für deterministische Transaktionen möglich,
erspart aber Defaults und ähnliche Mechanismen zur Lösung des frame pro”
blem“ (11 Seiten).
[RT88]
K. A. Ross, R. W. Topor: Inferring negative information from disjunctive
databases. Journal of Automated Reasoning 4 (1988), 397–424.
Diese Arbeit enthält einen Vorschlag für die Semantik der Negation bei logischen Programmen mit Disjunktionen (28 Seiten).
[Rya91]
M. Ryan: Defaults and revision in structured theories. In Proceedings of the
IEEE Symposium on Logic in Computer Science (LICS’91), 362–373, 1991.
In dieser Arbeit wird die Semantik von partiell geordneten Defaults definiert,
wobei die natural consequences“ als Ausprägungs-Mechanismus besonders
”
interessant sind (12 Seiten).
[Sch87]
U. Schöning: Logik für Informatiker. Reihe Informatik 56. BI, Mannheim,
1987.
LITERATURVERZEICHNIS
191
Dies ist ein erfreulich knappes Lehrbuch der mathematischen Logik, in dem
insbesondere auch die Grundlagen von Resolventen-Beweisern und von Prolog
behandelt werden (172 Seiten).
[She88]
J. C. Shepherdson: Negation in logic programming. In J. Minker (ed.),
Foundations of Deductive Databases and Logic Programming, 19–88, Morgan
Kaufmann Publishers, Los-Altos (Calif.), 1988.
Diese Arbeit enthält einen Überblick über Vorschläge für die Semantik der
Negation aus der Zeit vor den stabilen und wohlfundierten Modellen. Ausführlich behandelt werden die CWA, die CDB, ihre Beziehung zu einander und zur
Negation as Failure“-Regel, sowie Ansätze in dreiwertiger Logik (70 Seiten).
”
[Sho87]
Y. Shoham: Nonmonotonic logics: Meaning and utility. In Proc. 10th
International Joint Conference on Artificial Intelligence (IJCAI), 388–393,
Milan, 1987.
In dieser Arbeit wurden allgemeine nicht-monotone Logiken untersucht, die
auf minimalen Modellen basieren (6 Seiten).
[SS86]
H.-J. Schek, M. H. Scholl: The relational model with relation-valued
attributes. Information Systems 11 (1986), 137–148.
Diese Arbeit enthält einen Vorschlag für eine Algebra zur Manipulation geschachtelter Relationen, wobei alle Operatoren auch formal definiert sind
(12 Seiten).
[SS91]
G. Saake, A. Sernadas (eds.): Information Systems — Correctness and
Reusability, Workshop IS-CORE ’91, London, Sept. 1991, Selected Papers,
Informatik-Bericht 91-03. TU Braunschweig, September 1991.
Dieser Tagungsband gibt einen Überblick über die Forschungsaktivitäten im
Rahmen des IS-CORE Projekts ( Information Systems — COrrectness and
”
REusability“). Ziel ist dabei ein objekt-orientierter Ansatz mit formaler Semantik, die auf dem event sharing“ der einzelnen Objekte aufbaut (265 Sei”
ten).
[Ull88]
J. D. Ullman: Principles of Database and Knowledge-Base Systems, Vol. 1.
Computer Science Press, Rockville, 1988.
In dieser neuen Auflage eines klassischen Lehrbuchs über Datenbanksysteme
werden jetzt auch deduktive Datenbanken ausführlich behandelt (631 Seiten).
[Ull89]
J. D. Ullman: Principles of Database and Knowledge-Base Systems, Vol. 2.
Computer Science Press, Rockville, 1989.
Der zweite Band behandelt insbesondere Verbesserungen bei der Anfrageauswertung, so etwa die magic set“ Techniken zur Integration von top-down“
”
”
und bottom-up“ Auswertung (505 Seiten).
”
[VGRS91] A. Van Gelder, K. A. Ross, J. S. Schlipf: The well-founded semantics for general logic programs. Journal of the Association for Computing
Machinary (JACM) 38 (1991), 620–650.
192
LITERATURVERZEICHNIS
Diese Arbeit beschreibt die dreiwertige well-founded“ Semantik für die Ne”
gation in logischen Programmen. Es werden auch Vergleiche zu den übrigen
Prolog-Semantiken angegeben (31 Seiten).
[Wüt91]
B. Wüthrich:
Semantic improvement of deductive databases. In
B. Thalheim, J. Demetrovics, H.-D. Gerhardt (eds.), MFDBS 91 (3rd
Symposium on Mathematical Fundamentals of Database Systems), 216–229,
LNCS 495, Springer-Verlag, Berlin, 1991.
Diese Arbeit enthält einen Vorschlag für die Ausnutzung von Integritätsbedingungen zur Optimierung von Anfragen (Semantische Anfrageoptimierung).
Die Methode wird auch auf die Vereinfachung von Integritätsbedingungen und
Regeln angewendet (14 Seiten).
[YH85]
A. Yahya, L. J. Henschen: Deduction in non-horn databases. Journal of
Automated Reasoning 1 (1985), 141–160.
Diese Arbeit führt eine Version der CWA ein, die unter UNA und DCA äquivalent zur Prädikat-Circumscription ist. Der angegebene Antwortalgorithmus
enthält allerdings einen Fehler, wie in Band 4, 1988, 109–111 gezeigt wurde
(20 Seiten).
[YS91]
E. Yardeni, E. Shapiro: A type system for logic programs. The Journal
of Logic Programming 10 (1991), 125–153.
In dieser Arbeit wird ein Typsystem für logische Programme entwickelt,
Typ-Inferenz und Compilezeit- sowie Laufzeit-Typprüfung werden diskutiert
(29 Seiten).
Index
Ableitungsregeln 72
Änderungsoperationen 64
äquivalent 19
Äquivalenz
bezüglich Defaults 84
Alphabet 14
Anfrage 39
Anfrageauswertung 125
Annahme
der eindeutigen Namen 29
der geschlossenen Welt 101, 103
bei partiell geordneten Defaults 106
mit Prioritäten 104
Antwort
Berechnung 125
definite 40
erzeugte 43
korrekte 40
minimale 40
potentielle 139
Antwortklausel 140
Antwortmenge
endliche 43
Anzahl
von Vervollständigungen 32
Argumentsorten 14
Ausdrucksfähigkeit 89
Ausprägung 29, 30
Axiom 26, 27
CD 84
Circumscription 35, 74, 77
CON 73
CUM 76
CWA 35, 101, 103
modifizierte 112
naive 86
originale 74, 86
starke 114
vorsichtige 101, 103
mit partiell geordneten Defaults 106
mit Prioritäten 104
Datenbank
deduktive 11, 12, 26
relationale 12
Datenbankentwurf 169
Datenbankschema 14
Datenbankzustand 15
Datenmodell
ER 14
relationales 14, 169
Datentyp 12, 14
DED 78
Deduktions-Eigenschaft 78
Deduktionstheorem 77
Default 28, 29
Ausprägung 29, 30
Default-Logik 74
Default-Semantik 39
Default-Spezifikation 38
Defaultlogik 27
Defaults
Reiter’s 27
stark verträglich mit 86
verträglich mit 84
Begründung 139
widersprechende 142
Bereichsbeschränkung 21
für Klauseln 26
beschränkt monoton 75
193
194
DIS 79
Disjunktions-Eigenschaft
für Defaults 87
Umformulierung von DED 79
Eigenschaft
CD 84
CON 73
CUM 76
DDIS 87
DED 78
DIS 79
EXP 81
NCWA 87
RCUT 75
RMON 75
SCD 86
Einführung
Implikation 78
Ergebnisvariablen 39
Erhaltung der Konsistenz 73
EXP 81
Expansions-Eigenschaft 81
Expertensystem 3
Extension
konstruktive 116
maximale
bei partiell geordneten Defaults 106
mit Prioritätsstufen 104
ohne Prioritäten 102
Faktum 129
Folgerungsregeln 72
Folgerungsrelation
durch Vervollständigung gegeben 37
logische 19
vervollständigte 36
folgt logisch 19
Formel 18
atomare 18
bereichsbeschränkt 13
bereichsbeschränkte 21
Funktionssymbol 12
INDEX
Gleichheit 12
Herbrand-Interpretation 16
Erweiterung 17
Redukt 17
Herbrandmodell 13
Hyperresolution 132, 133
einfache 129, 130
Implikation
Einführung 78
konstruktive 116
Integritätsbedingung 13, 47, 48
Interpretation 16
Herbrand 16
Klausel 25
bereichsbeschränkte 26
konsistent 19
konsistenzerhaltend 73
Konsistenzerhaltung 32
Konstante 14
Kopf-Literal 129
kumulierend 76
Lernen, maschinelles 33
linksstabil 72
Literal 24
auswertbares 129
Kopf- 129
negatives 24
positives 24
Rumpf- 129
Logik 11, 13
allgemeine 12
autoepistemische 28
Default 74
Default- 27
deontische 11
dynamische 11
epistemische 11
temporale 11
logisch äquivalent 19
INDEX
195
Modell 19
Herbrand- 13
intendiertes 30
minimales 31, 89
Modell-Beziehung 19, 25
Monotonie 74
beschränkte 75
SQL 136
stärker als 83
Standardprädikat 12
stratifiziert 52
String 14
Substitution 20
Symbol 14
Namen
eindeutige 16, 29
NCWA-Eigenschaft 87
Nullwerte 3, 16, 50, 58
Teilsignatur 15
Term 18
Terme
Auswertung 19
Testdatengenerierung 33
Typisierung 11
Typprädikat 12
Typprüfung 12, 14
Objekte
komplexe 11
OL-Resolution 151
ORACLE 135
Ordnung, partielle 89
Prädikat 14
eingebautes 12
Priorität 28, 29
von Default-Ausprägungen 30
Prolog 35, 40, 43
Rahmenregel 64
RCUT 75
Regel 129
RMON 75
Rumpf-Literal 129
SCD 86
Schema 14
Schlüssel 13
Schnittregel 75
beschränkte 75
schwächer als 83
Semantik
von Defaults 39
Signatur 13, 14
Semantik 15
unabhängig von 42
skeptisch 116
Sorte 14
UNA 16, 29
Unabhängigkeit von der Signatur 42
Updates 64
Variablenbelegung 18
Variablendeklaration 17
verträglich
mit Defaults 84
mit Prioritätsrelation 114
Vervollständigung 30, 34
modelltheoretische 12, 30
schwächste 83
stärkste 83
syntaktische 35
Wissenserwerb 33
Zahl 14
Zeichen 14
logische 14
Zeichenkette 14
Zustand 15
Zweierpotenzen 43
196
LEBENSLAUF
197
Lebenslauf
Name:
Stefan Braß
Geburtsdatum:
09.08.1964
Geburtsort:
Hannover
Konfession:
evangelisch-lutherisch
Familienstand:
ledig
Eltern:
Prof. Dr. Helmut Braß
Gisela Braß, geb. Lüder
Geschwister:
Peter (∗ 28.11.1967)
Schulausbildung:
1970–1974
1974–1978
1978–1983
09.05.1983
Grundschule Bremerhöhe, Clausthal–Zellerfeld
Graf-Stauffenberg-Gymnasium, Osnabrück
Gaußschule, Braunschweig
Abitur (Gesamtzensur 1.0)
Mitarbeit im Katastrophenschutz:
1982–1991
Helfer beim Technischen Hilfswerk
Studium:
01.10.1983
24.09.1985
02.09.1988
Immatrikulation an der TU Braunschweig
im Diplom-Studiengang Informatik
Diplom-Vorprüfung (Gesamtnote Sehr gut“)
”
Diplom (Gesamtnote Mit Auszeichnung“)
”
Berufstätigkeit:
03.10.1988
Wissenschaftlicher Mitarbeiter am Lehrstuhl VI
–31.07.1990 des Fachbereichs Informatik der Universität Dortmund
seit 01.08.1990 Wissenschaftlicher Mitarbeiter am Institut für Informatik
der Universität Hannover
Herunterladen