Daten verwalten (2) • Logische Verknüpfungen - EvIM

Werbung
Agenda für heute, 20. November 2009
Daten verwalten (2): Drei Stufen der Datenverwaltung
• Daten verwalten (2)
• Logische Verknüpfungen als Grundlage für die
Informationsgewinnung
• Werte von Aussagen: Wahrheitstabellen
• Grafische vs. formale Darstellung von Abfragen
• Boolesche Algebra
Anwendung
Informatik
• Daten organisieren
g
• Entity-Relationship-Modell
y
p
• Daten speichern
• Datenbanken
• Daten wieder gewinnen
• Abfragen (z.B. mit SQL)
• Daten reorganisieren
• Logische Verknüpfungen
• Daten austauschen
• Datenformate
• Daten umformen
• Standards
2/25
© Departement Informatik, ETH Zürich
Daten organisieren, Daten speichern: Relationale Datenbank
Ursprüngliche
Information
•
Normalisieren
Daten verwalten (2)
• Logische Verknüpfungen als Grundlage für die
Informationsgewinnung
• Werte von Aussagen: Wahrheitstabellen
• Grafische vs. formale Darstellung von Abfragen
• Boolesche Algebra
R l ti
Relationen
Relationale Operatoren (Select, Project, Join)
Umstrukturierte Information
3/25
© Departement Informatik, ETH Zürich
Wiedergewinnen von Information: Aussagenlogik
Elemente der Aussagenlogik
Welche Nahrungsmittel enthalten weniger als 2 mg Eisen?
• Eine Aussage hat einen Wahrheitswert ("wahr", "falsch")
• Aussagen können aus Teilaussagen zusammengesetzt sein
Datenbankabfrage
Nährstoff = Eisen
Name in Nahrungsmittel mit Nährstoff = Eisen und Menge < 2
Nährstoff = Eisen
ausgewertet mit Tupel einer Datenbank
wahr
falsch
(z.B. 3.4mg Eisen)
( B 1.7mg
(z.B.
17
K
Kalzium)
l i )
4/25
Menge < 2
• Diese Teilaussagen sind durch logische Operatoren verknüpft
Aussage
(z.B. 1.7mg Eisen)
und
and
Menge < 2
Der Wahrheitswert einer zusammengesetzten Aussage ist
vollständig durch die Wahrheitswerte der Teilaussagen und die
Art der Verknüpfung gegeben.
5/25
© Departement Informatik, ETH Zürich
© Departement Informatik, ETH Zürich
Logische Operatoren
p und q sind Teilaussagen (logische Operanden)
z.B.
p steht für: Nährstoff = Eisen
q steht für: Menge < 2
•
Daten verwalten (2)
•
L i h V
Logische
Verknüpfungen
k ü f
als
l G
Grundlage
dl
fü
für di
die IInformationsgewinnung
f
ti
i
• Werte von Aussagen: Wahrheitstabellen
• UND
Konjunktion: "sowohl p als auch q"
p and q
• ODER
Disjunktion: "entweder p oder q"
p or q
• NICHT
Negation:
N
ti
" i ht p""
"nicht
not p
6/25
© Departement Informatik, ETH Zürich
• Grafische vs. formale Darstellung von Abfragen
• Boolesche Algebra
Werte von Aussagen: Wahrheitstabellen
Wahrheitstabelle für die Konjunktion
• Logische
L i h V
Verknüpfungen
k ü f
anschaulich
h li h spezifizieren
ifi i
Symbole: und, and, •, ∩
g
Kombination von Wahrheitswerten wird
• Für jjede mögliche
das Resultat der Verküpfung aufgelistet
p
q
p and q
p
q
Verknüpfung von p mit q
w
w
w
w
w
x
w
f
f
w
f
x
f
w
f
f
w
x
f
f
f
f
f
x
Die erste Zeile ist eine Kurzform für:
"Falls p wahr ist und q wahr ist, dann
ist p and q wahr
Für alle Zeilen:
wenn p dann q sonst falsch
w = wahr, f = falsch
7/25
Wahrheitstabelle für die Disjunktion
q
p or q
w
w
w
w
f
w
f
w
w
f
f
f
Beachte:
B
ht p or q ist
i t nur dann
d
ffalsch
l h
wenn beide Teilaussagen falsch sind
Für alle: wenn p dann wahr sonst q
9/25
© Departement Informatik, ETH Zürich
Beispiele
Symbole: oder, or, +, ∪
p
8/25
© Departement Informatik, ETH Zürich
© Departement Informatik, ETH Zürich
Eisen ist magnetisch and Gold ist gelb
ist wahr
wahr and wahr
Eisen ist magnetisch and Gold ist magnetisch
ist falsch
wahr and falsch
Eisen ist magnetisch or Gold ist gelb
ist wahr
wahr or wahr
Eisen ist magnetisch or Gold ist magnetisch
wahr or falsch
ist wahr
Eisen ist gelb or Gold ist magnetisch
ist falsch
10/25
falsch or falsch
© Departement Informatik, ETH Zürich
Wahrheitstabelle für die Negation
Bemerkungen zur Disjunktion
Umgangssprachlich bedeutet "oder" meistens:
p oder q oder beide
(sie ist intelligent oder sie studiert jede Nacht)
Symbole: nicht, not, ¬
p
not p
w
f
f
w
p or q
bedeutet immer "p oder q oder beide" (siehe Wahrheitstabelle)
manchmal bedeutet "oder"
oder jedoch:
p oder q aber nicht beide
(sie telefoniert aus Basel oder aus Genf)
fü di
für
diese B
Bedeutung
d t
wird
i d di
die exklusive
kl i Di
Disjunktion
j kti (xor)
(
) angewandt
dt
Vorrangregelung der logischen Operatoren :
1. not 2. and 3. or 4. Vergleiche
p or q and r
Kann durch Setzen
von Klammern
Kl
aufgehoben werden
≠ (p or q) and r
11/25
p
q
p xor q
w
w
f
w
f
w
f
w
w
f
f
f
12/25
© Departement Informatik, ETH Zürich
Disjunktion oder exklusive Disjunktion?
Beachte: p xor q ist dann falsch wenn
beide Teilaussagen entweder falsch
oder richtig sind.
Das neue Plakat
Genauer: drink xor drive
Aber stimmt das?
Genauer: drink and < 1 Glas xor drive
Stimmts jetzt?
Genauer: (drink and ≤ 1 Glas and drive) or (drink and > 1 Glas and not drive)
13/25
© Departement Informatik, ETH Zürich
© Departement Informatik, ETH Zürich
© Raphael Theiler
14/25
© Departement Informatik, ETH Zürich
Ein paar Spezialfälle
Logische Äquivalenzen
not p or not q ≡ not ( p and q )
not p and not q ≡ not ( p or q )
((de Morgan)
g )
Tautologie
Widerspruch
p or not p
p and not p
•
L i h V
Logische
Verknüpfungen
k ü f
als
l G
Grundlage
dl
fü
für di
die IInformationsgewinnung
f
ti
i
•
Werete von Aussagen: Wahrheitstabellen
• Boolesche Algebra
not p
p or not p
p
not p
p and not p
w
f
w
w
f
f
f
w
w
f
w
f
© Departement Informatik, ETH Zürich
Grafische vs. formale Darstellung logischer Verknüpfungen
W l h Nahrungsmittel
Welche
N h
itt l enthalten
th lt
weniger
i
als
l 2 mg
Eisen oder Zink?
Mengendiagramme
Daten verwalten (2)
• Grafische
G fi h vs. formale
f
l Darstellung
D
t ll
von Abfragen
Abf
p
15/25
•
Grafische vs. formale Darstellung logischer Verknüpfungen
(Menge < 2 mg) and (Nährstoff = Eisen) or (Nährstoff = Zink)
Alle Nahrungsmittel
mit Zink
Alle Nahrungsmittel
mit Eisen
Menge and Eisen
Eisen
Alle Nahrungsmittel
mit Menge < 2 mg
Logischer Ausdruck
Zink
Menge
(Menge < 2 mg) and (Nährstoff = Eisen) or (Nährstoff = Zink)
16/25
© Departement Informatik, ETH Zürich
17/25
© Departement Informatik, ETH Zürich
Grafische vs. formale Darstellung logischer Verknüpfungen
W l h Nahrungsmittel
Welche
N h
itt l enthalten
th lt
weniger
i
als
l 2 mg
Eisen oder weniger als 2 mg Zink?
Wahrheitstabellen für die Analyse logischer Ausdrücke
(M
(Menge
< 2 mg)) and (( Nährstoff
Näh t ff = Eisen)
Ei
) or (Nährstoff
(Näh t ff = Zi
Zink))
k))
Logischer Ausdruck
(Nährstoff = Eisen) and (Menge < 2 mg) or
(Nährstoff = Zink) and (Menge < 2 mg)
18/25
< 2 mg
Eisen
Zink
Eisen or Zink
(Eisen or Zink)
and < 2 mg
W
W
W
W
W
W
W
F
W
W
W
F
W
W
W
W
F
F
F
F
F
W
W
W
F
F
W
F
W
F
F
F
W
W
F
F
F
F
F
F
19/25
© Departement Informatik, ETH Zürich
© Departement Informatik, ETH Zürich
Wahrheitstabellen für die Analyse logischer Ausdrücke
(Menge < 2 mg) and ( Nährstoff = Eisen) or (Nährstoff = Zink)
< 2 mg
Eisen
Zink
< 2 mg and Eisen
•
Daten verwalten (2)
< 2 mg and Eisen
or Zink
•
L i h V
Logische
Verknüpfungen
k ü f
als
l G
Grundlage
dl
fü
für di
die IInformationsgewinnung
f
ti
i
•
Werte von Aussagen: Wahrheitstabellen
Grafische vs
vs. formale Darstellung von Abfragen
W
W
W
W
W
•
W
W
F
W
W
• Boolesche Algebra
W
F
W
F
W
W
F
F
F
F
F
W
W
F
W
F
W
F
F
F
F
F
W
F
W
F
F
F
F
F
20/25
© Departement Informatik, ETH Zürich
Boolesche Algebra
Boolesche Algebra
Eine Menge M mit zwei Verknüpfungen "•" und "+" heisst Boolesche*
Algebra, wenn für alle x, y, z ∈ M gilt:
(1) x • (y
( • z)) = (x
( • y)) • z;
A
Assoziativ
i i
(2) x + (y + z) = (x + y) + z;
Assoziativ
(3) x • y = y • x;
Kommutativ
(4) x + y = y + x;
Kommutativ
(5) x • (x + y) = x;
Absorption
(6) x + (x • y) = x;
Absorption
(8) x • (y + z) = (x • y) + (x • z);
Distributiv
((8)) x + (y • z)) = ((x + y) • ((x + z);
)
Distributiv
(9) es gibt ein Element 0 ∈ M mit 0 • x = 0 und 0 + x = x für alle x ∈ M ;
N t l El
Neutrales
Elementt
(10) es gibt ein Element 1 ∈ M mit 1 • x = x und 1 + x = x für alle x ∈ M ;
N t l El
Neutrales
Elementt
(11) zu jedem x ∈ M existiert genau ein y ∈ M mit x • y = 0 und x + y = 1;
Komplementäres Element
Wir ersetzen "wahr"
wahr mit "1"
1 und "falsch"
falsch mit "0"
0 und wenden die
Boolesche Algebra auf logische Ausdrücke an.
* nach George Boole
Boole, englischer Mathematiker
Mathematiker, 1815 – 1864
21/25
22/25
© Departement Informatik, ETH Zürich
Vereinfachung logischer Ausdrücke
© Departement Informatik, ETH Zürich
Vereinfachung logischer Ausdrücke
Wir möchten einen Fruchtsalat mit Ananas und Bananen oder mit
Ananas und keinen Bananen oder mit keinen Ananas und keinen
Bananen.
Bananen
Können wir das einfacher sagen?
Was sagen wir überhaupt?
Ananas und Banane oder Ananas und keine Banane oder keine Ananas und keine Banane
Ananas und Banane oder Ananas und keine Banane oder keine Ananas und keine Banane
1.
2.
3.
4.
5.
6.
7
7.
(A • B) + (A • ¬B) + (¬A • ¬B)
[A • (B + ¬B)] + (¬A • ¬B)
(A • 1) + (¬A • ¬B)
A + (¬A • ¬B)
(A + ¬A)
A) • (A + ¬B)
B)
1 • (A + ¬B)
A + ¬B
B
Distributivgesetz
komplementäres Element bez. +
neutrales Element bez. •
Di ib i
Distributivgesetz
komplementäres Element bez. +
ne trales Element be
neutrales
bez. •
Ananas oder keine Banane
Aber . . . sind der 1. und der 7. Ausdruck auch äquivalent?
23/25
© Departement Informatik, ETH Zürich
24/25
© Departement Informatik, ETH Zürich
Verifizierung logischer Ausdrücke
1. Ausdruck:
A
B
((A
•
B)
+
(A
•
¬B))
+
(¬A
•
¬B)
1
1
1
1
1
1
1
0
0
1
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
Schritt:
1
2
1
5
1
3
1
6
1
4
1
7. Ausdruck:
Reihenfolge:
1. Aussage
g
2. Logischer Ausdruck (Symbole)
3. Boolesche Algebra
4 Ausdruck evaluieren
4.
25/25
A
B
A
+
¬B
1
1
1
1
0
1
0
1
1
1
0
1
0
0
0
0
0
0
1
1
Schritt:
1
2
1
© Departement Informatik, ETH Zürich
Herunterladen