Grundlagen der Logik - is.informatik.uni-kiel.defiedler/teaching/ss2007/dbs1/Logik.pdf · halb...

10
. . Content Concept Topic Information Grundlagen der Logik Datenbanken I (Systemorientierte Informatik IV) Sommersemester 2007 Gunar Fiedler (fi[email protected]) Institut f¨ ur Informatik Arbeitsgruppe Technologie der Informationssysteme“ Christian-Albrechts-Universit¨ at zu Kiel Um eine unmissverst¨ andliche Anfrage an ein Datenbanksystem zu stellen, ist eine formale Definition der Anfragesprache notwendig. Diese Definition bestimmt, welche Anfragen als g¨ ultig betrachtet werden und welche Bedeutung (Semantik) diesen Anfragen zugeordnet ist. Wir behandeln hier zwei Ans¨ atze formaler Sprachen f¨ ur die Formulierung von An- fragen an Datenbanksysteme. Die relationale Algebra definiert eine Menge von m¨ og- lichen Operationen ¨ uber den Relationen einer Datenbank. Diese Operationen bilden die Relationen der Datenbank auf andere Relationen ab. Eine Anfrage der rela- tionalen Algebra ist eine Folge von Anweisungen, die angibt, welche Operationen auf welche Relationen angewendet werden m¨ ussen, um das gew¨ unschte Ergebnis zu erhalten. Der relationale Tupelkalk¨ ul geht einen anderen Weg: mit Hilfe einer Sprache werden die Eigenschaften des gew¨ unschten Ergebnisses beschrieben. Das Datenbanksystem bestimmt aus den Relationen der Datenbank den Zustand, der diese Eigenschaften erf¨ ullt. Beide Anfragesprachen benutzen die mathematischen Grundlagen der Logik. Des- halb beginnen wir in diesem Skript mit einer kurzen Einf¨ uhrung in die Begriffswelt der Logik. Dabei beschr¨ anken wir uns auf die Elemente, die f¨ ur unsere Anfragefor- mulierung wichtig sind. 1 Aussagenlogik 1.1 Formeln, Interpretationen und Modelle Die Aussagenlogik stellt einen Rahmen f¨ ur die Bestimmung des Wahrheitgehalts von Aussagen bzgl. einer gegebenen Welt bereit. Eine Aussage wird dabei aus Teilaus- sagen zusammengesetzt, die mittels Junktoren verbunden werden. Die Basis bilden strukturlose Elementaraussagen, die nicht weiter zerlegt werden k¨ onnen. Betrachten wir folgende Aussagen: A 1 : Es regnet.“ A 2 : Die Straße ist nass.“

Transcript of Grundlagen der Logik - is.informatik.uni-kiel.defiedler/teaching/ss2007/dbs1/Logik.pdf · halb...

Page 1: Grundlagen der Logik - is.informatik.uni-kiel.defiedler/teaching/ss2007/dbs1/Logik.pdf · halb beginnen wir in diesem Skript mit einer kurzen Einf¨uhrung in die Begriffswelt der

.................................................................................................................................................................................................................................................................................. ..................................................................................................................................................................................................................................................................................

Content

Concept Topic

Information

Grundlagen der LogikDatenbanken I (Systemorientierte Informatik IV)

Sommersemester 2007

Gunar Fiedler ([email protected])Institut fur Informatik

Arbeitsgruppe ”Technologie der Informationssysteme“Christian-Albrechts-Universitat zu Kiel

Um eine unmissverstandliche Anfrage an ein Datenbanksystem zu stellen, ist eineformale Definition der Anfragesprache notwendig. Diese Definition bestimmt, welcheAnfragen als gultig betrachtet werden und welche Bedeutung (Semantik) diesenAnfragen zugeordnet ist.Wir behandeln hier zwei Ansatze formaler Sprachen fur die Formulierung von An-fragen an Datenbanksysteme. Die relationale Algebra definiert eine Menge von mog-lichen Operationen uber den Relationen einer Datenbank. Diese Operationen bildendie Relationen der Datenbank auf andere Relationen ab. Eine Anfrage der rela-tionalen Algebra ist eine Folge von Anweisungen, die angibt, welche Operationenauf welche Relationen angewendet werden mussen, um das gewunschte Ergebnis zuerhalten.Der relationale Tupelkalkul geht einen anderen Weg: mit Hilfe einer Sprache werdendie Eigenschaften des gewunschten Ergebnisses beschrieben. Das Datenbanksystembestimmt aus den Relationen der Datenbank den Zustand, der diese Eigenschaftenerfullt.Beide Anfragesprachen benutzen die mathematischen Grundlagen der Logik. Des-halb beginnen wir in diesem Skript mit einer kurzen Einfuhrung in die Begriffsweltder Logik. Dabei beschranken wir uns auf die Elemente, die fur unsere Anfragefor-mulierung wichtig sind.

1 Aussagenlogik

1.1 Formeln, Interpretationen und Modelle

Die Aussagenlogik stellt einen Rahmen fur die Bestimmung des Wahrheitgehalts vonAussagen bzgl. einer gegebenen Welt bereit. Eine Aussage wird dabei aus Teilaus-sagen zusammengesetzt, die mittels Junktoren verbunden werden. Die Basis bildenstrukturlose Elementaraussagen, die nicht weiter zerlegt werden konnen.Betrachten wir folgende Aussagen:

A1: ”Es regnet.“

A2: ”Die Straße ist nass.“

Page 2: Grundlagen der Logik - is.informatik.uni-kiel.defiedler/teaching/ss2007/dbs1/Logik.pdf · halb beginnen wir in diesem Skript mit einer kurzen Einf¨uhrung in die Begriffswelt der

1 Aussagenlogik Datenbanken I

Aus beiden (Elementar-)Aussagen konnen weitere Aussagen zusammengesetzt wer-den:

A3: ”Es regnet und die Straße ist nass.“

A4: ”Wenn es regnet, ist die Straße nass.“

A5: ”Die Straße ist nicht nass.“

A6: ”Wenn die Straße nass ist, regnet es.“

A7: ”Wenn es regnet, ist die Straße nass. Die Straße ist nicht nass. Es regnet nicht.“

A8: ”Die Straße ist genau dann nass, wenn es regnet.“

Das Verbinden von Teilaussagen zu komplexeren Aussagen geschieht mit Hilfe vonJunktoren. Typische Junktoren sind ”und“ (∧), ”oder“ (∨), ”nicht“ (¬), die Implika-tion (⇒) und die Aquivalenz (⇔). Mit Hilfe dieser Symbole lassen sich die AussagenA3 bis A8 z.B. wie folgt als Formeln schreiben:

A3: A1 ∧A2

A4: A1 ⇒ A2

A5: ¬A2

A6: A2 ⇒ A1

A7: (A1 ⇒ A2) ∧ (¬A2) ∧ (¬A1)

A8: A1 ⇔ A2

Bis jetzt ist eine Aussage nur ein syntaktischer Ausdruck, dem eine Bedeutung (Se-mantik) zugeordnet werden muss. Der Wahrheitswert einer Aussage bestimmt sichaus den Wahrheitswerten der Teilaussagen und der Verknupfung dieser Wahrheits-werte durch den Junktor. Als Wahrheitswerte werden ublicherweise ”wahr“ (W ) und

”falsch“ (F ) benutzt. Die Verknupfungen konnen mit Hilfe von Wertetabellen dar-gestellt werden:

A ∧B A ist falsch A ist wahrB ist falsch falsch falschB ist wahr falsch wahr

A ∨B A ist falsch A ist wahrB ist falsch falsch wahrB ist wahr wahr wahr

A ⇒ B A ist falsch A ist wahrB ist falsch wahr falschB ist wahr wahr wahr

A ⇔ B A ist falsch A ist wahrB ist falsch wahr falschB ist wahr falsch wahr

¬A A ist falsch A ist wahrwahr falsch

2 SS 2007, Gunar Fiedler, ISE@CAU

Page 3: Grundlagen der Logik - is.informatik.uni-kiel.defiedler/teaching/ss2007/dbs1/Logik.pdf · halb beginnen wir in diesem Skript mit einer kurzen Einf¨uhrung in die Begriffswelt der

Datenbanken I 1 Aussagenlogik

Der Wahrheitswert einer Elementaraussage ergibt sich aus der betrachteten Welt.Nehmen wir folgende Situationen an:

Situation 1 Situation 2 Situation 3A1 ist wahr A1 ist falsch A1 ist falschA2 ist wahr A2 ist wahr A2 ist falsch

In Situation 1 sind A1 und A2 beide wahr. Ein Blick in die Wertetabellen der Junk-toren verrat, dass demnach auch A3, A4, A6 und A8 wahr sind. A5 ist falsch. FurA7 wenden wir die Verknupfung uber mehrere Stufen an: A1 ⇒ A2 ist nach Wer-tetabelle wahr und ¬A2 ist falsch. Demnach ist (A1 ⇒ A2) ∧ (¬A2) falsch. ¬A1 istebenso falsch. Deshalb folgt, dass die Gesamtaussage A7 falsch ist.

A3 A4 A5 A6 A7 A8

Situation 1 W W F W F W

Situation 2 F W F F F F

Situation 3 F W W W W W

Mathematisch konnen wir die Situationen als Funktionen auffassen, die den Aussa-gen jeweils einen Wahrheitswert zuweisen. Diese Funktionen nennen wir in ZukunftInterpretationen. Wenn eine Formel ϕ unter einer Interpretation I zu wahr ausge-wertet wird, sagen wir: ”I ist ein Modell von ϕ.“ und schreiben I |= ϕ, beispielsweiseist die Situation 1 ein Modell der Formel A3:

|= A3

Die Situation 2 ist dagegen kein Modell der Formel A6:

2 A6

SS 2007, Gunar Fiedler, ISE@CAU 3

Page 4: Grundlagen der Logik - is.informatik.uni-kiel.defiedler/teaching/ss2007/dbs1/Logik.pdf · halb beginnen wir in diesem Skript mit einer kurzen Einf¨uhrung in die Begriffswelt der

1 Aussagenlogik Datenbanken I

Eine Formel ϕ heißt erfullbar, wenn es eine Interpretation gibt, unter der ϕ zu wahrausgewertet wird. In unserem Beispiel sind die Aussagen A1 bis A8 demnach alleerfullbar. Eine Formel heißt allgemeingultig, wenn sie unter allen Interpretationen zuwahr ausgewertet wird. Allgemeingultige Formeln werden auch Tautologien genannt.In unserem Beispiel ist die Aussage A4 eine Tautologie (wenn angenommen wird,dass nur die drei gegebenen Situationen existieren.) Da die konkrete Interpretationfur den Wahrheitswert einer Tautologie keine Rolle spielt, lasst man sie weg undschreibt

|= A4

1.2 Theorien und Ableitungen

Das Wissen uber Modelle von Formeln kann benutzt werden, um aus einer gegebenenMenge von Formeln diejenigen Formeln abzuleiten, die zwingend auch gelten. Wennbeispielsweise bekannt ist, dass die Aussagen A1 und A2 beide wahr sind, dann wissenwir auch (aufgrund der Definition der Junktoren), dass u.a. auch die Formel A1∨A2

wahr ist. Anders gesprochen: alle Interpretationen, die Modell von A1 und Modellvon A2 sind, sind auch Modell von A1 ∨ A2. Ein zweites Beispiel: Alle Modelleder Formel A1 ∧ A2 sind auch Modell der Formel A1 und Modell der Formel A2.Andererseits gilt dies nicht zwingend fur A1∨A2: in unserem Beispiel sind Situation1 und Situation 2 Modelle der Formel A1 ∨A2, die Situation 2 ist aber kein Modellder Formel A1.Wenn jedes Modell einer Formelmenge Φ auch Modell einer Formel ψ ist, dannfolgt ψ aus Φ, geschrieben Φ |= ψ. Die Formelmenge Φ nennen wir eine Theorie.Eine Interpretation I ist Modell einer Theorie, wenn sie Modell jeder Formel derTheorie ist. Wenn eine Theorie mindestens ein Modell hat, nennen wir sie konsistent,ansonsten inkonsistent.Wenn eine Theorie (z.B. T = {A1, A2}) gegeben ist, dann ware es interessant zuwissen, welche Formeln auch gelten. Die Folgerungsrelation |= definiert dies zwar,gibt aber keine Moglichkeit zur Bestimmung der Menge vor. Aus diesem Grundedefinieren wir eine Ableitungsrelation {ϕ1, ..., ϕn} ` ψ, indem wir Ableitungsregeln(Inferenzregeln) angeben. Ableitungsregeln werden folgendermaßen geschrieben:

ϕ1, ..., ϕn

ψ

Die Formelmenge ϕ1, ..., ϕn stellt die Voraussetzung der Regel dar. Wenn jede derFormeln der Voraussetzung abgeleitet werden kann, dann kann auch die Konsequenzder Regel, die Formel ψ unterhalb des Strichs, abgeleitet werden. Wichtige Ablei-tungsregeln sind:

Modus Ponens (Implikationsbeseitigung): Wenn es eine Implikation gibt unddie Voraussetzung der Implikation abgeleitet werden kann, dann kann man auch dieKonsequenz ableiten:

4 SS 2007, Gunar Fiedler, ISE@CAU

Page 5: Grundlagen der Logik - is.informatik.uni-kiel.defiedler/teaching/ss2007/dbs1/Logik.pdf · halb beginnen wir in diesem Skript mit einer kurzen Einf¨uhrung in die Begriffswelt der

Datenbanken I 1 Aussagenlogik

` ϕ ` ϕ⇒ ψ

` ψUnd-Beseitigung: Wenn eine Konjunktion ableitbar ist, dann auch jede der Teil-formeln:

` ϕ1 ∧ ... ∧ ϕn

` ϕi

Und-Einfuhrung: Wenn eine Menge von Formeln ableitbar ist, dann auch ihreKonjunktion:

` ϕ1, ...,` ϕn

` ϕ1 ∧ ... ∧ ϕn

Unit-Resolution: Wenn eine Disjunktion zusammen mit der Negation einer derbeiden Teilformeln ableitbar ist, dann ist die andere Teilformel ableitbar:

` ϕ1 ∨ ϕ2, ` ¬ϕ2

` ϕ1

Es gibt noch weitere Ableitungsregeln. In unserem Beispiel lasst sich folgende Ab-leitung bilden: wir gehen davon aus, dass Aussage A4 allgemeingultig ist (”Wenn esregnet, ist die Straße nass.“). Wir sehen aus dem Fenster und stellen fest, dass esregnet.∅ ` A1 (Elementaraussage der Welt)∅ ` A1 ⇒ A2 (als Tautologie akzeptiert, ”Wissen“)

nach Modus Ponens folgt nun{A1, (A1 ⇒ A2)} ` A2

oder anders ausgedruckt: die Straße ist nass.

1.3 Anwendungen der Aussagenlogik in relationalen Datenbanken

Wir werden die Erkenntnisse uber die Aussagenlogik sowohl in der relationalen Al-gebra als auch im relationalen Tupelkalkul benutzen, um Bedingungen uber Tupelnauszudrucken. Jedes Tupel ist vergleichbar mit einer Situation im obigen Beispiel.Fur unsere Tupel konnen wir Elementaraussagen definieren, indem wir die Pra-dikate der den Attributen zugeordneten Datentypen benutzen. Sei z.B. ein Rela-tionenschema ANGESTELLTER(Name,Wohnort,Niederlassung,Gehalt) gege-ben. Den Attributen Name, Wohnort und Niederlassung sei der Datentyp ”Zei-chenkette“ zugeordnet. Der Datentyp ”Zeichenkette“ verfuge uber ein Gleichheitspra-dikat =, dass auf lexikalische Gleichheit pruft. Dem Attribut ”Gehalt“ seien nebeneinem Gleichheitspradikat auch Ordnungspradikate <, ≤, ≥, > zugeordnet. Dannkonnen wir folgende Elementaraussagen formulieren:

A9: Wohnort =′ Kiel′

SS 2007, Gunar Fiedler, ISE@CAU 5

Page 6: Grundlagen der Logik - is.informatik.uni-kiel.defiedler/teaching/ss2007/dbs1/Logik.pdf · halb beginnen wir in diesem Skript mit einer kurzen Einf¨uhrung in die Begriffswelt der

2 Pradikatenlogik erster Stufe Datenbanken I

A10: Wohnort = Niederlassung

A11: Gehalt > 4000

Wir betrachten folgenden Zustand fur das Relationenschema ANGESTELLTER(die erste Spalte enthalte Variablennamen fur die einzelnen Tupel, damit wir siereferenzieren konnen):

Name Wohnort Niederlassung Gehaltt1 Muller Kiel Kiel 3500t2 Meyer Kiel Rendsburg 4000t3 Petersen Flensburg Flensburg 4300t4 Schmidt Lubeck Hamburg 4400

Die vier Tupel entsprechen den vier moglichen Situationen (”mogliche Welten“, engl.

”possible worlds“.) Wir erhalten folgende Wahrheitswerte:

A9 A10 A11 A10 ∧A11

t1 W W F Ft2 W F F Ft3 F W W Wt4 F F W F

Demnach ist t1 ein Modell der Aussagen A9 und A10 (t1 |= A9, t1 |= A10). Das Tupelt3 ist z.B. ein Modell der Aussagen A10, A11 und A10 ∧ A11 (t3 |= A10, t3 |= A11,t3 |= (A10 ∧A11).)

2 Pradikatenlogik erster Stufe

Die Aussagenlogik erlaubt es nicht, Aussagen uber Mengen von moglichen Welten zutreffen. Wenn wir unser Angestellten-Relationenschema aus dem letzten Abschnittals Beispiel nehmen, dann kann die Aussage ”Alle Angestellten der Hamburger Nie-derlassung verdienen mehr als 3000e.“ nicht mit Hilfe der Aussagenlogik formuliertwerden1. Aus diesem Grunde erweitern wir unseren Formelbegriff um folgende Kon-strukte:

• Wir fuhren Variablen ein.2 Wir benutzen hier getypte Variablen (analog zurDiskussion uber die Attribute des relationalen Datenmodells.)

1Die Aussage kann naturlich als Elementaraussage uber den Niederlassungen formuliert werden.Allerdings ist es dann nicht mehr moglich, Zusammenhange z.B. zum Gehalt eines einzelnenAngestellten der Niederlassung herzustellen.

2Wohnort, Niederlassung und Gehalt in den Formeln der Aussagenlogik sind keine Variablen indiesem Sinne, da die Formel jeweils immer fur eine ganz bestimmte Welt (fur ein ganz bestimmtesTupel) ausgewertet wurde; dort sind den Attributen aber eindeutige Werte zugeordnet.

6 SS 2007, Gunar Fiedler, ISE@CAU

Page 7: Grundlagen der Logik - is.informatik.uni-kiel.defiedler/teaching/ss2007/dbs1/Logik.pdf · halb beginnen wir in diesem Skript mit einer kurzen Einf¨uhrung in die Begriffswelt der

Datenbanken I 2 Pradikatenlogik erster Stufe

• Es werden Pradikate definiert. Die Aussagen der Aussagenlogik entsprechen0-stelligen Pradikaten, z.B. EsRegnet(). Wir erlauben aber jetzt auch Pra-dikate hoherer Stelligkeit, z.B. IstNass(x) oder MuendetIn(x, y), wobei derWertebereich der Variablen x und y die Menge aller Straßen ist.

• Weiterhin existieren Quantoren: sei ϕ eine Formel der Pradikatenlogik ersterStufe. Dann sind auch

(∃x)(ϕ) ”es gibt“

(∀x)(ϕ) ”fur alle“

Formeln der Pradikatenlogik erster Stufe, wobei die Variable x in ϕ ”frei“ seinmuss: sie darf in ϕ noch nicht an einen Quantor (∃ oder ∀) gebunden sein.

Mit Hilfe der Quantoren lassen sich jetzt Aussagen uber Mengen von Objektenmachen, beispielsweise ”Es gibt eine nasse Straße“:

(∃x)(IstNass(x))

oder ”Jede Straße mundet in eine andere Straße.“

(∀x)((∃y)(MuendetIn(x, y)))

Die ublichen Junktoren der Aussagenlogik bleiben uns erhalten: ”Wenn es regnet,sind alle nichtuberdachten Straßen nass.“:

EsRegnet() ⇒ (∀x)((¬Ueberdacht(x)) ⇒ IstNass(x))

Nicht alle Variablen mussen an Quantoren gebunden sein: ”Die nassen Straßen“

IstNass(x)

Eine Interpretation einer Formel der Pradikatenlogik erster Stufe ist eine Funktion,die allen Pradikaten eine Auspragung (Extension) zuordnet, d.h. eine Menge vonTupeln, die das Pradikat erfullen.3

Eine Variablenbelegung % ordnet jeder Variablen einen Wert ihres Wertebereichs zu.Damit konnen wir die |= - Relation definieren:

I, % |= P (x1, ..., xn) gdw. (%(x1), ..., %(xn)) ist in der durch I gegebenen Auspragungdes Pradikats P enthalten.Beispiel: Betrachten wir die Formel IstNass(x). Sei die Menge aller Straßen S ={Olshausenstr,Westring,Waitzstr,Ostring}. Die Interpretation I weise dem Pra-dikat IstNass die Menge {Olshausenstr,Westring,Waitzstr} zu. Die Variablenbe-legung %1 weise der Variablen x den WertWestring zu. Dann gilt I, %1 |= IstNass(x),

3Korrekterweise ist die Interpretation ein Tripel bestehend aus dem Wertebereich, der Belegungder Konstantensymbole und der Pradikatsauspragung, aber dies vernachlassigen wir hier.

SS 2007, Gunar Fiedler, ISE@CAU 7

Page 8: Grundlagen der Logik - is.informatik.uni-kiel.defiedler/teaching/ss2007/dbs1/Logik.pdf · halb beginnen wir in diesem Skript mit einer kurzen Einf¨uhrung in die Begriffswelt der

3 Mehrwertige Logiken Datenbanken I

da %1(x) = Westring und Westring ∈ {Olshausenstr,Westring,Waitzstr}. Wennwir die Variablenbelegung %2 betrachten, die der Variablen x den Wert Ostring zu-weist, dann gilt I, %2 2 IstNass(x), daOstring /∈ {Olshausenstr,Westring,Waitzstr}.Wenn wir aber die Interpretation I2 betrachten, die dem Pradikat IstNass dieMenge {Olshausenstr,Westring,Waitzstr,Ostring} zuordnet, dann gilt I2, %2 |=IstNass(x).

Fur die Junktoren ist die |= - Relation entsprechend der Aussagenlogik definiert.Fur die Quantoren gilt:

I, % |= (∀x)(ϕ) gdw. I, %′ |= ϕ fur alle moglichen %′, die sich von % hochstens in derBelegung von x unterscheiden.

I, % |= (∃x)(ϕ) gdw. es gibt eine Variablenbelegung %′, die sich von % hochstens inder Belegung von x unterscheidet, so dass gilt: I, %′ |= ϕ.

Wenn I, % |= ϕ fur alle Belegungen % gilt, dann schreiben wir auch I |= ϕ undsagen I erfullt ϕ bzw. I ist ein Modell von ϕ. Die Definitionen der Erfullbarkeit undAllgemeingultigkeit orientieren sich an denen der Aussagenlogik.

Wir werden die Pradikatenlogik erster Stufe im Kontext des relationalen Tupelkal-kuls benutzen, um Anfragen an Datenbanksysteme zu formulieren.

3 Mehrwertige Logiken

Bisher haben wir zweiwertige Logiken betrachtet: eine Aussage war immer entwederwahr oder falsch. Es ist jedoch nicht in allen Situationen moglich, diese Entscheidungzu treffen: manchmal ist eine Aussage ”ein bisschen wahr und ein bisschen falsch“,manchmal wissen wir nicht, ob eine Aussage wahr oder falsch ist. Betrachten wirz.B. folgende Personen:

Anna Kristina Joe Sandra Thomasblondes Haar rotes Haar Glatze Welche Haarfarbe? Glatze oder Haare?

Anna hat offensichtlich blondes Haar. Kristina hat rotes Haar und Joe tragt eineGlatze. Sandra farbt sich ofters die Haare, deshalb weiß man es nie so genau, welcheHaarfarbe sie momentan hat. Da man Thomas nur mit seinem Helm sieht, weiß mannicht, ob er eine Glatze tragt bzw. welche Farbe seine Haare haben. Wenn wir eineRelation mit den Haarfarben der Personen aufschreiben, dann kann man fur Annaund Kristina eindeutig ’blond’ bzw. ’rot’ eintragen. Joe hat keine Haare und demnachauch keine Haarfarbe. Bei Sandra kennen wir die Farbe nicht und bei Thomas sind

8 SS 2007, Gunar Fiedler, ISE@CAU

Page 9: Grundlagen der Logik - is.informatik.uni-kiel.defiedler/teaching/ss2007/dbs1/Logik.pdf · halb beginnen wir in diesem Skript mit einer kurzen Einf¨uhrung in die Begriffswelt der

Datenbanken I 3 Mehrwertige Logiken

wir uns nicht sicher, ob er eine Haarfarbe hat. Unsere ”Unwissenheit“ konnen wirmit einem null-Wert im Wertebereich des Attributs Haarfarbe ausdrucken:

Name HaarfarbeAnna blondKristina rotJoe nullSandra nullThomas null

Angenommen, in der ”realen Welt“ gibt es nur die Haarfarben blond, rot, braunund schwarz. Wir konnen eine Aussage A12 formulieren: Haarfarbe =′ blond′ ∨Haarfarbe =′ rot′∨Haarfarbe =′ braun′∨Haarfarbe =′ schwarz′. Offensichtlichgilt:

Name : Anna,Haarfarbe : blond |= A12

Name : Kristina,Haarfarbe : rot |= A12

Obwohl wir alle moglichen Haarfarben aufzahlen, fallen Joe, Sandra und Thomasunter den Tisch. Dies ist in der Tatsache begrundet, dass der null-Wert der Haar-farbe ein kunstlicher Wert ist, der keine Entsprechung in der ”realen Welt“ hat. Ervermischt das konkrete Datum Haarfarbe mit dem Wissen uber die Existenz desDatums Haarfarbe.Wir konnen eine Aussage A13 definieren: ¬Haarfarbe =′ blond′. Fur Kristina undJoe ergibt dies das gewunschte Ergebnis. Bei Sandra und Thomas wissen wir abernicht, ob sie evtl. doch blond sind. Wenn dies der Fall ist, ware die Antwort unseresSystems falsch.Aus diesem Grunde kann die klassische zweiwertige Logik erweitert werden. Derhier vorgestellte Ansatz wurde von Jan Lukasiewicz 1920 eingefuhrt. Es wird eindritter Wahrheitswert definiert, der zwischen ”wahr“ und ”falsch“ angesiedelt ist.Der Wahrheitsgehalt dieses Werts wird als ”moglich, aber nicht bewiesen“ gedeutet.Wir konnten also das Pradikat ”=“ des Datentyps Haarfarbe so verandern:

=(x,y) blond rot schwarz braun nullblond W F F F M

rot F W F F Mschwarz F F W F Mbraun F F F W Mnull M M M M M

Das Pradikat sagt jetzt folgendes aus: die Werte blond, rot, schwarz und braun wer-den untereinander im ublichen Sinne verglichen. Wenn einer der Werte null ist, dannist das Vergleichsergebnis moglicherweise wahr, moglicherweise aber auch falsch.

SS 2007, Gunar Fiedler, ISE@CAU 9

Page 10: Grundlagen der Logik - is.informatik.uni-kiel.defiedler/teaching/ss2007/dbs1/Logik.pdf · halb beginnen wir in diesem Skript mit einer kurzen Einf¨uhrung in die Begriffswelt der

3 Mehrwertige Logiken Datenbanken I

Wir mussen naturlich die Wertetabellen der Junktoren anpassen:A ∧B A ist falsch A ist moglich A ist wahr

B ist falsch falsch falsch falschB ist moglich falsch moglich moglich

B ist wahr falsch moglich wahr

”Wenn eine der Teilaussagen falsch ist, dann kann die Gesamtaussage nicht wahrwerden. Wenn beide Teilaussagen wahr sind, ist die Gesamtaussage wahr. Wenneine Teilaussage wahr und die zweite Teilaussage moglicherweise wahr ist, dann istdie Gesamtaussage moglicherweise wahr. Wenn beide Teilaussagen moglicherweisewahr sind, ist die Gesamtaussage moglicherweise wahr.“

A ∨B A ist falsch A ist moglich A ist wahrB ist falsch falsch moglich wahr

B ist moglich moglich moglich wahrB ist wahr wahr wahr wahr

”Wenn eine der Teilaussagen wahr ist, wird die Gesamtaussage wahr. Wenn beideTeilaussagen falsch sind, ist die Gesamtaussage falsch. Sonst ist die Gesamtaussagemoglich.“

Es gibt zwei Arten der Negation: die starke Negation ¬A und die schwache Negation∼ A:

¬A A ist falsch A ist moglich A ist wahrwahr moglich falsch

∼ A A ist falsch A ist moglich A ist wahrwahr wahr falsch

Aufbauend auf den beiden Negationen gibt es zwei Implikationen: A ⇒ B =def

¬A ∨ B, A → B =def∼ A ∨ B. Man beachte, dass die Tautologien der klassischenLogik (z.B. A ∨ ¬A) in der dreiwertigen Logik nicht unbedingt gelten mussen.Aufbauend auf der mehrwertigen Logik lasst sich jetzt z.B. die Anfrage ”Wer hatganz sicher keine blonden Haare?“ von der Anfrage ”Wer hat moglicherweise keineblonden Haare?“ unterscheiden.

Die hier vorgestellte dreiwertige Logik hat immer noch Probleme: Auf die Anfrage

”Wer hat moglicherweise blonde Haare?“ qualifiziert sich Joe immer noch, obwohl erals Glatzentrager mit Sicherheit keine blonden Haare hat. Allerdings fallt er bei derAnfrage ”Wer hat mit Sicherheit keine blonden Haare?“ unter den Tisch. Deshalbkann die dreiwertige Logik erweitert werden, um verschiedene Arten von null-Wertenzu unterstutzen. In unserem Beispiel unterscheidet sich die Bedeutung des null-Wertsfur Joe, Sandra und Thomas: bei Joe druckt die null aus, dass es keinen Wert fur dieHaarfarbe gibt, bei Sandra, dass die Haarfarbe unbekannt ist und bei Thomas, dassunbekannt ist, ob es einen Wert fur die Haarfarbe gibt. Mit diesen Erweiterungenwerden wir uns hier aber nicht beschaftigen.

10 SS 2007, Gunar Fiedler, ISE@CAU