Professional Documents
Culture Documents
Wintersemester 2015/16
Informatik
Informatik Lehre von der Darstellung und Verarbeitung von
Information durch Algorithmen
Teilgebiete der Informatik:
theoretisch
technisch
Formalismus (Kalk
ul):
Maschinen-( und Menschen-)lesbare Sprache
Semantik (Bedeutung)
Was wird dargestellt?
Syntax (Darstellungsform)
Wie wird es dargestellt?
(meist viele verschiedene M
oglichkeiten)
Beispiel Munzenspiel
Spielfeld:
(beidseitig unendliche) Folge von Stapeln von M
unzen
...
...
1. Zu Beginn liegen 5 M
unzen auf einem Stapel, alle anderen
Stapel sind leer.
2. In jedem Zug werden zwei M
unzen von einem Stapel
(auf dem wenigstens zwei M
unzen liegen) genommen und eine
davon auf den rechten, die andere auf den linken
Nachbarstapel gelegt.
3. Das Spiel ist zuende, wenn kein Zug mehr m
oglich ist.
Munzenspiel: Fragen
I
Wieviele Z
uge k
onnen (mindestens / h
ochstens) gespielt
werden, bis kein Zug mehr m
oglich ist?
M
unzenspiel f
ur zwei Personen:
4. Beide Spieler ziehen abwechselnd.
5. Wer am Zug ist, wenn kein Zug mehr m
oglich ist, verliert.
(Der andere gewinnt.)
I
Wie kann der Spieler, der den zweiten Zug macht, gewinnen?
Wie kann der Spieler, der den ersten Zug macht, gewinnen?
...
...
20
2
10
2
5
...
oder
...
10
2
5
20
Folge nat
urlicher Zahlen (Anzahlen der M
unzen je Stapel),
z.B. [. . . , 0, 5, 0, . . .] oder [. . . , 0, 1, 3, 1, 0, . . .]
...
erm
oglicht einfache Ubertragung
auf ahnliche Aufgaben
6
Weg im Spielgraphen
(g
ultige) Folge von Positionen, an der die Regel angewendet
wurde
7
Modelle
Modelle sind Abstraktionen
realer Dinge, Eigenschaften, Beziehungen, Vorgange
I Auswahl der (f
ur den Anwendungsbereich, zur Problemlosung)
wichtigen Informationen
I Vernachl
assigung unwichtiger Details
Beispiele:
I Liniennetzplan
wichtig: Stationen, Verbindungen zwischen Stationen,
Art der Verbindung (z.B. Liniennummer)
unwichtig: genaue Linienf
uhrung, aktuelle Verspatungen,
Baustellen,. . .
I Grundriss
I Stundenplan
I Ablaufplan
spezielle Form der Modelle abhangig von
I Problembereich
I geplante Verwendung
8
Ubertragung der L
osung vom Modellbereich in die Realitat
9
Logisches Schlieen
Beispiel:
1. Tom besucht heute das Kino oder das Konzert.
Tom ist nicht im Kino.
Also besucht Tom das Konzert.
11
je Woche)
Arbeitsaufwand: Prasenzzeit 90 h (= 4 h V + 2 h U
Vor- und Nachbereitungszeit 120 h ( 8 h je Woche)
Lernziele: Die Studierenden k
onnen mathematische und
logische Grundkonzepte zur Modellierung praktischer
Aufgabenstellungen anwenden.
Sie konnen Anforderungen an Software und Systeme
formal beschreiben und wissen, dass deren
Korrektheit mit formalen Methoden nachweisbar ist.
12
14
Literatur
Folien zur Vorlesung, jeweils nach der Vorlesung veroffentlicht
www.imn.htwk-leipzig.de/~schwarz/lehre/ws15/modellierung
empfohlene B
ucher:
I zur Modellierung:
I
zur Logik
I
I
I
15
Folien, Ubungsserien,
Termine, Anderungen,
. . . unter
www.imn.htwk-leipzig.de/~schwarz/lehre/ws15/modellierung
Prasenzstudium
Lehrveranstaltungen f
ur jeden Studenten:
(90 h 6 h / Woche)
Ubung
(5 Gruppen) Montag/Dienstag
(2 h / Woche)
Wiederholer vor JG 15: mit AMB, (MIB1, MIB2)
(120 h 8 h / Woche)
Ubungsaufgaben
schriftliche Ubungsserien
w
ochentlich
Autotool -Aufgaben etwa w
ochentlich
Vor- und Nachbereitung der Vorlesungen
Literaturstudium erganzend, Beitrag zur L
osung der Aufgaben
16
Selbstudium
Vor- und Nachbereitung jeder Lehrveranstaltung
(Vorlesung, Seminar, Praktikum, ...)
Unterlagen zu den Lehrveranstaltungen (Folien, eigene Notizen)
durcharbeiten
Ubungsaufgaben
regelmaig und rechtzeitig l
osen,
Schriftliche Ubungsaufgaben
(Ubungsserien)
I
L
osungen bis zum folgenden Dienstag ausschlielich online u
ber
OPAL einzusenden (wie in der Einf
uhrungswoche erklart)
genau eine Datei je Aufgabe mit Dateiname serieX-aufY-Z.pdf
f
ur L
osung zu Aufgabe Y von Ubungsserie
X vom Studierenden mit
Familienname Z
L
osung in Gruppen aus 3 Studierenden zulassig (und empfohlen),
Namen aller Mitglieder der Gruppe oben auf der Losung vermerken,
jedes Gruppenmitglied sendet die (gemeinsame) Losung zu Opal
Dateiname serieX-aufY-Z1-Z2-Z3.pdf
Ubungsserien
auch unter
www.imn.htwk-leipzig.de/~schwarz/lehre/ws15/modellierung
18
Seminar (Ubungen)
Seminar (Ubungen):
I
Besprechung der L
osungen der schriftlichen Ubungsaufgaben,
Vorrechnen zur Pr
ufungszulassung
in jede Ubung
mitbringen: (alles auf Papier)
alle bisherigen Vorlesungsfolien und eigene Notizen dazu,
Ubungsbl
atter und eigene L
osungen (der ganzen Gruppe)
19
Prufung
Zulassungsvoraussetzungen (Pr
ufungsvorleistungen):
I
regelmaige erfolgreiche L
osung der Ubungsaufgaben,
d.h.:
I
L
osung wenigstens 70% aller gestellten schriftlichen
Ubungsaufgaben
mit wenigstens 1 Punkt,
Pr
ufung: Klausur 120 min
Aussagen
Aussage = Behauptung
Beispiele:
I
Es regnet.
I
I
3<5
21
Wahrheitswerte
Prinzipien der klassischen Logik:
Zweiwertigkeit Jede Aussage ist wahr oder falsch.
ausgeschlossener Widerspruch
Keine Aussage ist sowohl wahr als auch falsch.
Wahrheitswerte 1 (wahr) oder 0 (falsch)
Jede Aussage p hat genau einen Wahrheitswert W(p) {0, 1}.
Beispiele:
I
W(Es regnet.) = ?
I
I
W( 2 ) = 0
W(3 < 5) = 1
22
Konjunktion
Es regnet und 9 ist eine Primzahl.
I W(9 ist eine Primzahl.)= 0
I W(Es regnet.)=?
I W(Es regnet und 9 ist eine Primzahl.)=0
p q ist genau dann wahr,
wenn beide Aussagen p und q wahr sind.
W(p) W(q) W(p q)
0
0
0
0
1
0
1
0
0
1
1
1
pi = p1 p2 pn
i=1
24
Disjunktion (inklusiv)
Es regnet oder 3 < 5.
I W(3 < 5) = 1
I W(Es regnet)=?
I W(Es regnet oder 3 < 5.)=1
p q ist genau dann wahr,
wenn wenigstens eine der Aussagen p und q wahr ist.
W(p) W(q) W(p q)
0
0
0
0
1
1
1
0
1
1
1
1
pi = p1 p2 pn
i=1
25
Negation
( 2
I
I
Q)
(meist
2 6
Q)
W( 2 ) = 0
W(( 2 )) = 1
W(p) W(p)
0
1
1
0
W(p) = 1 W(p)
26
Implikation
Wenn es regnet, dann ist die Strae na.
I
W(Es regnet.)=?
W(p q) =
27
Aquivalenz
W(3 < 5) = 1
W(0 < 5 3) = 1
W(p q) =
28
Aussage
Junktoren
wahr
falsch
Konjunktion
Disjunktion
Negation
Implikation
Aquivalenz
Stelligkeit
Syntax
Symbol
Semantik
Wahrheitswertfunktion
0
0
2
2
1
2
2
t
f
1
0
min
max
x 7 1 x
=
29
Modellierungsbeispiel Party
umgangssprachliche Beschreibung der Situation:
Anna geht zur Party, wenn Max oder Paul hingehen.
Max geht zur Party, wenn Paul nicht hingeht.
Anna geht nirgends ohne ihren Hund hin.
(1)
(2)
(3)
(2)
(3)
30
Definition (induktiv)
Die Menge AL(P) aller (aussagenlogischen) Formeln mit
Aussagenvariablen aus der Menge P ist definiert durch:
IA: Alle Aussagenvariablen p P sind Formeln. (P AL(P)).
I t und f sind Formeln.
IS:
I
I
(p q)
(p q)
q
f
ur = t oder = f gilt var() =
einstellige Junktoren ():
f
ur = 1 gilt var() = var(1 )
zweistellige Junktoren ( {, , , }):
f
ur = 1 2 gilt var() = var(1 ) var(2 )
Beispiel (Tafel):
F
ur = p ((q t) (r q)) gilt var() = {p, q, r }
33
varcount(t) = varcount(f) = 0
einstellige Junktoren ():
varcount() = varcount()
zweistellige Junktoren ( {, , , }):
varcount( ) = varcount() + varcount()
Beispiel (Tafel):
= p ((q t) (r q)) gilt varcount() = 4
varcount() ist die Anzahl aller mit Variablen markierten Blatter
im Formelbaum von
Allgemein gilt varcount() |var()|
34
Definition (induktiv):
F
ur jede aussagenlogische Formel AL(P) ist die Menge TF()
aller in vorkommenden Teilformeln definiert durch:
IA: falls = p (Atom), dann TF() = {p}
I nullstellige Junktoren (t, f):
IS:
I
f
ur = t oder = f gilt TF() = {}
einstellige Junktoren ():
f
ur = 1 gilt TF() = {} TF(1 )
zweistellige Junktoren ( {, , , }):
f
ur = 1 2 gilt {, , , }
TF() = {} TF(1 ) TF(2 )
35
36
Interpretation (Belegung) f
ur Formeln AL(P)
ordnet jeder Aussagenvariable einen Wahrheitswert zu
Funktion W : P {0, 1}
(eine Zeile in der WW-Tabelle f
ur )
37
I
I
W (1 2 ) =
W (1 2 ) =
W (1 2 ) =
W (1 2 ) =
W (1 )[]W (2 ) = min (W (1 ), W (2 ))
W (1 )[]W (2 ) = max (W (1 ), W (2 ))
W (1 )[]W (2 ) = 1 gdw. W (1 ) W (2 )
W (1 )[]W (2 ) = 1 gdw. W (1 ) = W (2 )
Wahrheitswerttabellen
Darstellung der Werte einer Formel AL(P) in
allen m
oglichen Interpretationen W (P) in einer Tabelle
0
0
..
.
1
W (pn1 ) W (pn ) W ()
0
0
0
1
1
Fakt
Eine Formel AL(P) ist genau dann allgemeing
ultig, wenn die
Formel unerf
ullbar ist.
40
Semantische Aquivalenz
aussagenlogischer Formeln
Definition
Zwei Formeln , AL(P) heien
genau dann (semantisch) aquivalent ( ), wenn
f
ur jede Belegung W : P {0, 1} gilt W () = W ().
p q
pq
p q
pq
(p q)
pq
(p q) (q p)
Wichtige Aquivalenzen
F
ur alle aussagenlogischen Formeln , , gilt:
I
f ,
,
(Kommutativitat von und )
( ) ( )
( ) ( )
(Assoziativitat von und )
( ) ( ) ( )
( ) ( ) ( )
(Distributivgesetze)
(Doppelnegation)
( ) , ( )
(DeMorgansche Regeln)
( ), ( )
(Dualitat von und )
(Kontraposition)
( ) ( ) (Fallunterscheidung)
42
Junktoren: t, f , , , , ,
aussagenlogische Formeln AL(P)
induktive Definition:
IA Atome (Aussagenvariablen) p, q, r , . . . P
IS zusammengesetzte Formeln (, , , . . .):
Verkn
upfung von Formeln durch Junktoren
Aquivalenz
von Formeln, z.B. p q p q
43
44
Wiederholung: wichtige Aquivalenzen
F
ur alle aussagenlogischen Formeln , , gilt:
I
f ,
,
(Kommutativitat von und )
( ) ( )
( ) ( )
(Assoziativitat von und )
( ) ( ) ( )
( ) ( ) ( )
(Distributivgesetze)
(Doppelnegation)
( ) , ( )
(DeMorgansche Regeln)
( ), ( )
(Dualitat von und )
(Kontraposition)
( ) ( ) (Fallunterscheidung)
46
(Anderung
der Syntax bei unveranderter Semantik)
47
{, , }
{, }
{, }
{, }
{f, }
sind Junktorbasen.
Die Mengen {, } und {, , } sind keine Junktorbasen.
48
Normalformen
spezielle Formeln:
Literal Atom oder negiertes Atom
NNF Formeln, in denen das Negationssymbol hochstens
auf Atome angewendet wird, heien in
Negations-Normalform.
Beispiel: p ((q p) q), p, p
W
V
mi
CNF Formeln der Form ni=1
l
j=1 i,j
mit Literalen li,j
heien in konjunktiver Normalform.
Beispiel: (p q) (p q) q, p q, p q, p
V
W
mi
DNF Formeln der Form ni=1
j=1 li,j
mit Literalen li,j
heien in disjunktiver Normalform.
Beispiel: p (q p) (p q), p q, p q, p
49
DNF-SAT
Aufgabe DNF-SAT:
W Vki
gegeben: DNF = m
i=1 j=1 li,j
Frage: Ist erf
ullbar?
Instanz, z.B. (p q p) (q p q) (p q)
Losungsidee:
I ist genau dann erf
V i ullbar, wenn (wenigstens) eine der m
Konjunktionen kj=1
li,j erf
ullbar ist.
Vk i
I Konjunktion
ullbar, wenn f
ur
j=1 li,j ist genau dann unerf
eine Aussagenvariable x var() gilt:
{x, x} {li,j | j {1, . . . , ki }} (Widerspruch).
W Vk i
Losungsverfahren: = m
i=1 j=1 li,j ist genau dann
Vi
li,j
erf
ullbar , wenn eine der m Konjunktionen kj=1
widerspruchsfrei ist,
unerf
ullbar , wenn alle m Konjunktionen einen Widerspruch
enthalten.
DNF-SAT ist einfach (schnell) zu l
osen.
51
CNF-SAT
Aufgabe CNF-SAT:
V Wki
gegeben: CNF = m
i=1 j=1 li,j
Frage: Ist erf
ullbar?
Instanz z.B. (p q) (q p) (p q)
Losungsansatze:
I
1. erf
ullbar gdw. erf
ullbar und
2. Erf
ullbarkeit f
ur einfach zu testen
SAT-Solver
SAT-Solver: Werkzeug zum L
osen von CNF-SAT-Instanzen
SAT-Solver
I
finden f
ur praktische Probleme oft schnell eine Losung,
3. Ubersetzung
erf
ullender Belegung f
ur in Losung f
ur P
53
Beispiel Bahnfahrer (Ubungsaufgabe
1.3)
In einem Eisenbahnabteil sitzen
...
LB MT
(MB) RT
=
LS LT LB
LS LT
,
LT MS
,
,
RS LT
,
, MS MT MB , . . .
,
LS LB
, ...
(LB MT )
(MB RT )
(LS LT LB)
(LS LT )
(LT MS)
(RS LT )
(MS MT MB)
(LS LB)
Was f
ur ein Landsmann ist jeder?
gesucht ist also ein Modell (erf
ullende Belegung) f
ur
(reprasentiert Zuordnung: {L, M, R} {S, T , B})
54
Modellierungsbeispiel: n-Damen-Aufgabe
Bedingungen f
ur zulassige Anordnungen:
I
keine Zeilenbedrohung
keine Spaltenbedrohung
56
x7 x8 x9
keine Zeilenbedrohung
x1 x2 ( x1 x2 ),
x4 x5 ,
x7 x8 ,
x1 x3 ,
x4 x6 ,
x7 x9 ,
x2 x3
x5 x6
x8 x9
keine Spaltenbedrohung
x1 x4 ,
x2 x5 ,
x3 x6 ,
x1 x7 ,
x2 x8 ,
x3 x9 ,
x4 x7
x5 x8
x6 x9
x1 x9 ,
x5
x4
x5
x6
x3 x7 ,
x9
x8
x7
x8
1.3
Man vergleiche mit den Kontext-Bedingungen aus UA
57
4 Damen
16 Felder Aussagenvariablen {x1 , . . . , x16 }
58
typische Anwendungen f
ur SAT-Solver z.B.
I
Konfiguration
Model-Checking
Planen
Constraint-Losen
59
Aussagen u
ber alle Elemente groer Mengen aufwendig
keine Aussagen u
ber Elemente einer unendlichen Mengen oder
Mengen unbestimmter Machtigkeit m
oglich, z.B.
I Jede durch 4 teilbare Zahl ist gerade.
I In jedem zusammenh
angenden Graphen mit 2 Knoten hat
jeder Knoten einen Nachbarn.
I Es ist nicht alles Gold was gl
anzt.
(Erweiterung zur Pradikatenlogik)
60
Modellierungsbeispiel
1. Max ist ein Fisch.
2. Alle Fische schwimmen.
3. Also schwimmt Max.
Modellierung in Pradikatenlogik
Grundannahme:
Die zu modellierende Welt besteht aus Individuen, die
Eigenschaften haben und zueinander in Beziehungen (Relationen,
Funktionen) stehen.
62
63
Aussagenlogik : Aussagenvariable,
bekommt festen Wahrheitswert durch Belegung
Pradikatenlogik : (parametrisierte) Aussage u
ber Eigenschaften
von oder Beziehungen zwischen Individuen
Wahrheitswert abhangig von beteiligten Individuen
z.B. nebeneinander(x, y ),gerade(n) , x < 3, x < y ,
geschwister(x, mutter(y ))
64
Definition (induktiv)
Die Menge aller Formeln der Pradikatenlogik ist definiert durch:
IA: Alle Atome sind Formeln.
IS:
I
I
I
Individuenbereich: Kochgeschirr
Beziehung: passt-auf P( , )
Individuenbereich: Personen
Beziehungen: sind-Geschwister G ( , ),
ist-Mutter-von M( , ) , ist-Vater-von V ( , )
Zwischenschritte:
Atome: G (x, y ), M(z, x), M(z, y ), V (u, x), V (u, y )
M(z, x) M(z, y )
z ist Mutter von x und y .
I z (M(z, x) M(z, y ))
x und y haben dieselbe Mutter (z).
I z (M(z, x) M(z, y )) u (V (u, x) V (u, y ))
x und y haben dieselbe Mutter (z) oder denselben Vater (u).
I G (x, y ) (z (M(z, x) M(z, y )) u (V (u, x) V (u, y )))
x und y sind genau dann Geschwister, wenn Sie dieselbe Mutter
oder denselben Vater haben.
I
(klassische) Aussagenlogik
I
strukturelle Induktion
I
I
erf
ullbare, allgemeing
ultige Formeln
Aquivalenz
von Formeln
(klassische) Pradikatenlogik
I
2.6)
Modellierungsbeispiel Bauteile (UA
I
d c
a b
(b d)
Modellierungsbeispiel Skat
Modellierung:
(wichtig)
Bedienregeln
Trumpfregeln
(egal)
I
I
Eigenschaften: gerade
Beziehungen: Teilbarkeit ganzer Zahlen
praziser mit Definition der Teilbarkeit:
x ist genau dann gerade, wenn ein y
Bedingung f
ur x ist ist eine gerade Zahl
Z mit 2y = x existiert.
Z
{2y | y Z}
2Z
71
Naiver Mengenbegriff
Georg Cantor (1845-1918):
Eine Menge ist eine Zusammenfassung bestimmter,
wohlunterschiedener Dinge unserer Anschauung oder unseres
Denkens, welche Elemente der Menge genannt werden, zu einem
Ganzen.
Mengen werden dargestellt:
extensional durch Angabe aller Elemente
(nur f
ur endliche Mengen m
oglich)
Beispiel: {0, 1, 2, 3}, {{a}, 5, {a, b}}
intensional durch Angabe der gemeinsamen Eigenschaft aller
Elemente (oft durch pradikatenlogische Formeln)
Beispiele:
{x | x y ((y ) (x = 2y ))}
= {2y | y } = 2
{x | (x ) (x < 4)} = {x | x < 4}
N
N
N
72
Endliche Mengen
N) (x 10)}
{x | (x N) (x ist gerade ) (x < 100)}
I {x | (x Z) (x ist gerade ) (x < 100)}
I
{x | (x
{x | x ist Primzahl }
endlich
endlich
nicht endlich
|{rot, gr
un, blau, gelb}| = 4
|{x | x
|| = 0
N x 10}| = 11
73
74
Wichtige Mengenbeziehungen
(analog Regeln f
ur , , in der Aussagenlogik)
F
ur alle Mengen A, B, C gilt
I A A = A, A A = A
I A B = B A und A B = B A
(Kommutativitat von und )
I A (B C ) = (A B) C
A (B C ) = (A B) C
(Assoziativitat von und )
I A (B C ) = (A B) (A C )
A (B C ) = (A B) (A C )
(Distributivgesetze)
I
I
A=A
A B = A B und A B = A B
(DeMorgansche Regeln)
A B = A B und A B = A B
(Dualitat von und )
76
Potenzmengen
Die Potenzmenge 2A einer Menge A ist die Menge aller Teilmengen
von A
2A = {B | B A}
Beispiele:
I F
ur A = {0} gilt 2A = 2{0} = {, {0}},
I F
ur A = {} gilt 2A = 2{} = {, {}},
{a,b,c}
I 2
= {, {a}, {b}, {c}, {a, b}, {b, c}, {a, c}, {a, b, c}},
A
{0}
I F
ur A = {0} gilt 2(2 ) = 2(2 ) = {, {}, {{0}}, {, {0}}},
Amtssprachen in der Schweiz:
S = {Deutsch, Franz
osisch, Italienisch, Ratoromanisch}
mogliche Sprachkenntnisse der Bewohner: 2S
Machtigkeit der Potenzmengen endlicher Mengen:
F
ur jede endliche Menge A gilt
A
2 = 2|A|
I
77
leere Menge
Mengenbeziehungen , , =,
Mengenoperationen , , ,
78
Modellierungsbeispiele
I
2.6:
aus UA
Menge aller Moglichkeiten, die Bauteile A, B, C , D
einzusetzen (nicht notwendig alle, jedes h
ochstens einmal)
= Menge aller Teilmengen der Menge {A, B, C , D}
= 2{A,B,C ,D}
Anzahl aller Moglichkeiten:
|2{A,B,C ,D} | = 2|{A,B,C ,D}| = 24 = 16
79
Aussonderungsprinzip
Zu jeder Menge A und jeder Eigenschaft P existiert eine Menge
B = {x | (x A) (x hat die Eigenschaft P)} = {x | x AP(x)}
Beispiele:
I
N
N
A=2
80
Russells Paradox
(Problem der naiven Mengenlehre)
I
(Tafel)
Beispiele:
I
{a, b} {1, 2, 3} = {(a, 1), (a, 2), (a, 3), (b, 1), (b, 2), (b, 3)}
{1, . . . , m} {1, . . . , n}
= {(i, j) | i {1, . . . , m} j {1, . . . , n}}
haufig als Indexmenge in Matrizen, digitalen Bildern,. . .
F
ur alle endlichen Mengen A und B gilt |A B| = |A| |B|
82
Beispiele
{a}
83
Distributivgesetze: F
ur alle Mengen A, B, C gilt
(A B) C = (A C ) (B C ) und
(A B) C = (A C ) (B C )
F
ur jede Menge A gilt A = .
F
ur alle Mengen A, B gilt:
Aus A B folgt A C B C
(UA)
84
Modellierungsbeispiel Skatkarten
Formale Darstellung der Karten:
Jede Karte ist eindeutig reprasentiert durch
Farbe aus der Menge F = {, , , } und
Wert I Zahl aus der Menge Z = {7, 8, 9, 10} oder
I Bild aus der Menge B = {B, D, K , A}
Menge aller Werte W = Z B
Menge aller Karten:
K = {(x, y ) | x F y W } = F (Z B)
Verteilung der Karten nach dem Geben:
I Skat: S = {ks1 , ks2 } K
I f
ur jedes i {1, 2, 3} Blatt des Spielers i:
Bi = {ki,1 , . . . , ki,10 } K
wobei
1. B1 B2 = , B1 B3 = , B2 B3 = ,
S B1 = , S B2 = , S B3 = und
2. K = S B1 B2 B3
85
Zerlegungen
Mengen A und B mit A B = heien disjunkt.
Beispiele:
I
I
Z Z
f
ur Ai = Menge aller Personen, die h
ochstens i cm gro sind,
ist {Ai | i } keine disjunkte Zerlegung der Menge P aller
Personen
f
ur Bi = Menge aller Personen, die zwischen i und i + 1 cm gro
sind, ist {Bi | i } eine disjunkte Zerlegung von P
{[n, n + 1)
86
iI
87
Beispiel Geschaftspartner
I
Kennzeichnung (Indexmenge) I = {K , L}
gekennzeichnete Geschaftspartner:
Kunden: A0K = {K } AK = {(K , a), (K , b), (K , d)},
Lieferanten: A0L = {L} AL = {(L, b), (L, c), (L, d)}
88
A = A
i
An = {(x1 , . . . , xn ) | i {1, . . . , n} : xi Ai }
i=1
F
ur endlich viele endliche Mengen Ai gilt
n
n
Y
Ai =
|Ai |
i=1
i=1
Beispiele:
I
5-Gange-Men
u: Auswahl aus
3 Vorspeisen, 2 Suppen, 5 Hauptgerichten, 3 Desserts, 2 Kase
3 2 5 3 2 = 180 m
ogliche Kombinationen
103 h
ochstens dreistellige Dezimalziffern
89
An =
A
i=1
A0 = {}
[
A =
An
n
+
N[
An = A \ {}
n \{0}
I
I
I
I
I
I
I
I
92
Folgen
Folgen (Listen, Worter) werden definiert:
extensional durch Angabe der Elemente und ihrer Reihenfolge
Beispiele: 3210, [1, 4, 9, 16, 25], abababababa
intensional durch Angabe einer Eigenschaft, die f
ur jeden Index i
das i-te Element eindeutig bestimmt.
Beispiele: (4 i)1i4 , (i 2 )i{1,...,5} ,
(wi )0i10 mit wi =
(vi )iN mit vi =
a falls i 2
b sonst
a falls i 2
b sonst
N)
93
94
Menge aller M
oglichkeiten der (zwei) Karten im Skat:
{{h, k} | h K k K h 6= k} 2S (Warum nicht S 2 ? )
Blatt = Menge aller Karten auf der Hand (zu Beginn des Spieles)
B 2S mit |B| = 10 (10 verschiedene Karten)
10
95
N
Z
96
97
Worter Beispiele
banane
ist ein Wort (Zeichenkette) mit Symbolen aus der Menge {a, b, e, n},
neben und abbbeeeab auch,
ananas und ab + bea nicht
2009
ist ein Wort mit Symbolen aus der Menge {0, 2, 9},
90 und 09020090 auch,
2090 nicht
(x + y ) (z x)
ist ein Wort mit Symbolen aus der Menge {x, y , z, (, ), +, , },
()xz(xy + auch,
x + 3 z nicht
(p p) q
ist ein Wort mit Symbolen aus der Menge {p, q, , , , (, )},
q (p q) und )(p auch,
p q nicht
otto holt obst .
ist ein Wort mit Symbolen aus der Menge {otto, obst, holt, .},
. otto . . otto auch,
los otto nicht
98
(w A (u w = v )))
(F
ur zwei Worter u A , v A gilt u v v genau dann,
wenn ein Wort w A existiert, so dass u w = v gilt.)
Beispiele:
I
n 6v anna
oma 6v tomate
f
ur jedes Wort u A gilt v u (mit w = u)
f
ur jedes Wort u A gilt u v u (mit w = )
Menge aller m
oglichen DNA L3 {A, T , G , C }
Z (ohne Variablen)
I
I
I
Folgen u
ber einer Menge A
extensionale und intensionale Darstellung
Lange von Folgen, leeres Wort (leere Folge)
unendliche Folgen,
endliche Folgen fester Lange (Tupel, Vektoren),
endliche Folgen variabler Lange (Worter, Listen)
I Operationen auf W
ortern: (iterierte) Verkett. ,
I Beziehungen zwischen W
ortern: Pra-, In-, Postfix
I
I
I
w A ((w L) (w L0 ))
L = L0 gdw.
w A ((w L) (w L0 ))
n3
n(3 +1)
An
n(3 +2)
104
105
Iterierte Verkettung
I
f
ur Sprachen L A
L0 = {}
N:
Ln+1 = Ln L = L
L}
| {z
n+1mal
L =
[
n
L =
n \{0}
f
ur W
orter (endliche Folgen) u A :
un
u
A ,
= u
u}
| {z
u = {u} = {u n | n
nmal
= u \ {} = {u}+ = {u n | n
N \ {0}}
N}
Beispiele:
(101)3
a
(ab)
101101101
und
1013 = 10111
N} = {, a, aa, aaa, . . .}
| i N} = {, ab, abab, ababab, . . .}
= {ai | i
i
= {(ab)
106
{aa, b}
= {u1 un | n
= {, b, aa, bb, aab, baa, bbb, aaaa, aabb, baab, bbaa, bbbb, . . .}
ab 6 {aa, b} , ba 6 {aa, b} , aba 6 {aa, b}
I
{aba, bb} =
({1}
{0} )
= {w
{0, 1}
| w1 = 1} {}
107
=
= {}
= {a}
= L(E ) L(F )
= L(E ) L(F )
= (L(E ))
N}
N}
L((ab) )
L((a + b) )
{a, b}
L(a b )
{u v | u a v b }
L((a b ) )
{a, b}
L(A aba)
{u aba | u A }
109
Beispiele
I
L (0 + (1 + 2 + + 9)(0 + 1 + + 9) ) =
Menge aller Dezimaldarstellungen nat
urlicher Zahlen
f
ur A = {A, B, . . . , Z , a, b, . . . , z} ist L(A (oma + otto)A ) =
Menge aller W
orter mit Infix oma oder otto
z.B. tomate L(A (oma + otto)A ), lotto L(A (oma + otto)A ),
ottomat L(A (oma + otto)A ),
hottentottenpotentatentantenattentat 6 L(A (oma + otto)A )
f
ur A = {A, B, . . . , Z , a, b, . . . , z, 0, 1, . . . , 9, ., } ist
L(A @htwk-leipzig.de)
Menge aller m
oglichen HTWK-Email-Adressen
Regulare Ausdr
ucke erm
oglichen eine endliche Darstellung unendlicher
Sprachen.
Aber: Nicht jede (unendliche) Sprache ist regular.
( mehr dazu in den LV zur theoretischen Informatik,
z.B. Automaten und Formale Sprachen im 3. Semester )
110
Relationen
Relationen reprasentieren Beziehungen zwischen Individuen
Definition
Jede Menge R A B heit Relation zwischen den Mengen A und B.
Beispiele:
I
R {a, b, c} {1, 2, 3, 4} mit R = {(a, 2), (a, 3), (c, 2), (c, 4)}
I
I
I
N2 mit R = {(m, n) N2 | m = n + 5}
R R2 mit R = {(x, y ) R2 | x 2 + y 2 = 1}
R2 mit = {(m, n) R2 | m n}
R
111
Modellierung von
I Aussagen durch Logiken
I
I
Daten durch
I
I
I
klassische Aussagenlogik
klassische Pradikatenlogik
Mengen
Folgen
Sprachen
Definition
Beispiele
112
Beispiel EU-Arbeitskreise
nach Uwe Kastens, Hans Kleine B
uning:
Modellierung - Grundlagen und formale Methoden
3 Arbeitskreise
4 Nationen : D, F, A, P
I
I
113
Modellierung EU-Arbeitskreise
Modellierung der (relevanten)
Daten: Mengen aller beteiligten
I Nationen L = {D, F , A, P}
I Sprachen S = {d, f , p},
I AK-Index A = {1, 2, 3},
I Delegierten-Index I = {1, 2, 3}
daraus konstruierte Mengen, z.B.
Menge aller Delegierten P = L D
deutsche Delegation {D} I = {D1, D2, D3}
Menge aller m
oglichen Sprachkompetenzen 2S
Menge aller m
oglichen Delegiertengruppen 2P
Zusammenhange z.B.
Amtssprache S L (z.B. (A, d) Amtssprache)
spricht P S (z.B. (D1, p) spricht)
lernt P S
Notation: oft (spricht(D1, p)) statt ((D1, p) spricht)
114
N3
115
Haufige Anwendungen
I
Abgeleitete Relationen
Inverse der binaren Relation R A B:
R 1 = {(b, a) | (a, b) R} B A
Beispiele: {(1, a), (1, b), (2, b)}1 = {(a, 1), (b, 1), (b, 2)},
istKindVon1 = istElternteilVon, istTeilVon1 = hatTeil, 1 =
Einschrankung von R A B auf M A:
R|M = {(a, b) R | a M}
Beispiele: {(1, a), (1, b), (2, b), (3, a)}|{2,3} = {(2, b), (3, a)},
istElternteilVon|Frauen = istMutterVon,
Projektionen von R A B:
1 (R)
= {a A | (a, b) R} A
2 (R)
= {b B | (a, b) R} B
Beispiele: 1 ({(1, a), (1, b), (2, b), (3, a)}) = {1, 2, 3},
2 (istKindVon) = Menge aller Eltern
117
Beispiele:
I
f
ur A = {1, 2, 3}, B = {a, b, c}, C = {, } und
R = {(1, a), (1, c), (2, b), (3, c)}, S = {(a, ), (a, ), (b, )}
R S= {(1, a), (1, c), (2, b), (3, c)} {(a, ), (a, ), (b, )}
= {(1, ), (1, ), (2, )}
118
F
ur alle Relationen R A B, S B C , T C D gilt:
(R S) T = R (S T )
i.A. R S 6= S R
(nicht kommutativ)
Gegenbeispiel: f
ur R = {(a, b)}, S = {(b, c)} gilt
R S = {(a, c)}, aber S R =
R IB = R = IA R
(R
S)1
S 1
(assoziativ)
R 1
119
Modellierungsbeispiel
Mengen:
B
P
O
L
Relationen:
hatAutor
={
={
={
={
(Buchtitel)
(Personen)
(Orte)
(Lander)
B P mit
hatAutor = { (Blumen, Max), (Schiffe, Paul),
(Schiffe, Ilse), (Pferde, Max), (Pferde, Ilse) }
wohntIn P O mit
wohntIn = {(Paul, Berlin), (Ilse, Leipzig), (Max,
Genf) }
liegtIn O L mit
liegtIn = {(Leipzig, D), (Berlin, D), (Genf, S) }
Verkettungen der Relationen:
I wohntIn liegtIn P L mit
wohntIn liegtIn ={(Paul,D), (Ilse,D), (Max, S)}
I hatAutor wohntIn B O mit hatAutor wohntIn = . . .
120
Modellierungsbeispiel
I
Wor
uber wird in welchen Landern geschrieben?
R = (hatAutor wohntIn liegtIn) B L
mit R ={(Blumen, S), (Schiffe, D), (Pferde, S), (Pferde, D)}
B
ucher zu welchen Themen schreiben deutsche Autoren?
M 0 = 2 (hatAutor wohntIn liegtIn)1 |{D} B
mit M 0 = {Schiffe, Pferde}
121
f
ur A = {a1 , . . . , am } und B = {b1 , . . . , bn }
|A| |B|-Matrix mit Eintragen aus {0, 1}
(
1 falls (ai , bj ) R
mij =
0 sonst
Verkettung von Relationen durch Matrixmultiplikation
(mit max statt +)
Modellierung von
I
I
Mengen
Folgen
Sprachen
Definition, Beispiele
Operationen auf Relationen:
inverse Relation, Verkettung, Projektionen, Einschrankung
Darstellungsformen binarer Relationen
123
124
n+1
= IM
= Rn R
[
=
Rn M2
transitive H
ulle
n \{0}
Rn M2
reflexiv-transitive H
ulle
125
Beispiel
R ({a, b, c})2
mit
(symmetrische H
ulle)
(reflexive H
ulle)
R 2 = {(a, c)}
R3 =
R
(= R n
2
f
ur beliebige n 3)
3
= R R
= {(a, a), (b, b), (c, c), (a, b), (b, c), (a, c)}
(reflexiv-transitive H
ulle)
126
127
Ubergangsrelation
T Q 2 mit
H
ullen der Ubergangsrelation
enthalten
zusatzliche Moglichkeiten f
ur Spielz
uge:
I reflexive H
Aussetzen
ulle T IQ
I symmetrische H
umgekehrte Z
uge
ulle T T 1
+
I transitive H
ulle T
mehrere Z
uge auf einmal (aber wenigstens einer)
I reflexiv-transitive H
ulle T
beliebig viele Z
uge auf einmal (Aussetzen erlaubt)
128
Quasiordnungen
Beispiele:
I
129
Aquivalenzrelationen
R {a, b, c}2 mit R = {(a, a), (a, b), (b, a), (b, b), (c, c)}
2
R (F W ) f
ur F = {, , , } und
W = ({7, 8, 9, 10} {B, D, K , A}) mit
R = {((f , w1 ), (f , w2 )) | (f F ) (w1 W ) (w2 W )}
2
R (A ) mit R = {(u, v ) (A ) | |u| = |v |} (gleiche
Lange)
Ahnlichkeit
von Dreiecken
f
ur jede Menge M: IM M 2 mit IM = {(x, x) | x M}
130
Aquivalenzklassen
Zu jeder Aquivalenzrelation
R M 2 heien
I
Aquivalenzklasse
von a bzgl. R
Beispiele:
I Aquivalenzklassen
bzgl. der Aquivalenzrelation
R {a, b, c}2
mit R = {(a, a), (a, b), (b, a), (b, b), (c, c)}:
[a]R = {a, b} = [b]R und [c]R = {c}
I Aquivalenzklassen
bzgl. der Aquivalenzrelation
haben dieselbe Farbe f
ur Skatkarten:
K , K , K , K (siehe Ubungsaufgabe
5.1.a)
[(, B)]R = K = {(, w ) | w {7, 8, 9, 10, B, D, K , A}}
131
Aquivalenzrelationen
und disjunkte Zerlegungen
1. Jede Aquivalenzrelation
R M 2 definiert eine disjunkte Zerlegung
mit
RP = {(a, b) | i I : {a, b} Mi }
Beispiele:
I
Relation R {a, b, c}2 mit R = {(a, a), (a, b), (b, a), (b, b), (c, c)}
definiert Zerlegung {[a]R , [b]R , [c]R } = {{a, b}, {c}}
der Menge {a, b, c}
Zerlegung P = {3 , 3 + 1, 3 + 2}
definiert die Relation RP = {(m, n)
N N
N2 | 3|(m n)}
132
v ({a, b} )2
N2 ( Z2, R2)
N
Z
Z | an = b
133
Pfeilspitzen weglassen,
stattdessen optische Ausrichtung (nach oben)
Beispiele (Tafel):
I
134
I
I
I
Definition, Beispiele
Operationen auf Relationen:
inverse Relation, Verkettung, Einschrankung, Projektionen
Eigenschaften binarer Relationen R M 2
reflexive, symmetrische, transitive H
ullen
spezielle binare Relationen auf einer Menge:
Halbordungen, Aquivalenzrelationen
135
Totale Ordnungen
Jede Halbordnung R M 2 mit
(a, b) M 2 ((a, b) R (b, a) R)
(alternativ)
N2 ( Z2, R2)
136
Totale Ordnungen
haufige Aufgabe: Sortieren von Elementen
z.B. Menge von Wortern aus A : {ab, , a, ac, abc, c}
Prafix-Relation v A A mit
(u, v ) A A ((u v v ) v 0 A (u v 0 = v ))
ist reflexiv,transitiv, antisymmetrisch, also eine Halbordnung
Gilt (u, v ) (A A ) : ((u v v ) (v v u)) ?
nein, z.B. f
ur A = {a, b, c}, u = ab, v = ac gilt ab 6v ac und
ac 6v ab
v ist also keine totale Ordnung auf A
Sortieren lassen sich nur Elemente aus totalen Ordnungen
totale Ordnungen auf A ?
137
Ordnungen auf A
ohne Ordnung auf dem Alphabet A:
Prafix-, Postfix-, Infix-Relation auf A sind
Halbordnungen, nicht total (linear)
bei gegebener totaler Ordnung < auf dem Alphabet A:
lexikographische Ordnung auf A :
u, v A : u lex v gdw.
1. u v v oder
2. w A a, b A : a < b wa v u wb v v
quasi-lexikographische Ordnung auf A :
u, v A : u qlex v gdw.
1. |u| < |v | oder
2. |u| = |v | u lex v
Beispiele: f
ur A = {a, b} mit a < b
I ab v aba, ab lex aba, ab qlex aba
I abab 6v abba, aber abab lex abba und abab qlex abba,
I aaa lex ab, aber aaa 6qlex ab
I ab 6lex aaba, aber ab qlex aaba
138
Funktionen (Wiederholung)
Funktion: spezielle Relation mit Richtung
Relation f A B heitgenau dann partielle Funktion,
wenn a A : 2 f |{a} 1
Relation f A B heitgenau dann (totale) Funktion,
wenn a A : 2 f |{a} = 1
Beispiele:
I
I
I
I
I
Syntax
Semantik
140
A=
B0
N N N
= {}:
Nullstellige Funktionen f : B 0 B heien auch
Konstanten f B.
Beispiel: c : 0 mit c = 3
141
Abgeleitete Funktionen
F
ur Funktion f : A B heit
f (A) = 2 (f ) B Bild von f ,
f (M) = 2 (f |M ) B f
ur M A Bild von M unter f ,
f (a) = 2 f |{a} B f
ur a A Bild von a unter f ,
1
1
f (N) = 2 f |N A f
ur N B Urbild von N unter f ,
1
1
f (b) = 2 f |{b} A f
ur b B Urbild von b unter f ,
F
ur jede (totale) Funktion f : A B gilt f 1 (B) = A
142
f :
surjektiv
f : 0
surjektiv
144
Beispiel:
f : {0, . . . , 4} B, wobei n {0, 1, . . . , 4} : f (n) = 7n + 2
f (0) = 2, f (1) = 9, f (2) = 16, f (3) = 23, f (4) = 30
alternative Darstellung:
f0 = 2, f1 = 9, f2 = 16, f3 = 23, f4 = 30
Folge f = [2, 9, 6, 23, 30] =(7n + 2)i{0,...,4}
Jede Funktion f : I B mit I = {0, . . . , n} reprasentiert
eine eindeutig definierte Folge (f (i))iI B
Jede Folge (ai )iI B reprasentiert
eine eindeutig definierte Funktion a : I B mit a(i) = ai
145
(Anzahl)
A0
nullstellige Funktionen f :
{0, 1}
f0 = 0, f1 = 1 (Konstanten)
2|A | = 21 = 2
2|A|
f01 = {a 7 0, b 7 1}
f10 = {a 7 1, b 7 0}
f11 = {a 7 1, b 7 1}
2(|A||B|)
146
F
ur endliche Mengen A = {a1 , . . . , an } und
beliebige feste Anordnung [a1 , . . . , an ]
lasst sich jede Teilmenge B A durch das eindeutige
Binarwort b1 . . . bn {0, 1}n mit bi = B (ai ) reprasentieren.
147
x U : A (x) = |A {x}|
Multimenge A u
ber Menge U: Funktion A : U
alternative Darstellungen von Multimengen:
z.B. f
ur U = {a, b, c, d} und A : U mit
A(a) = 3, A(b) = 3, A(c) = 0, A(d) = 1 durch
I {a 7 3, b 7 3, c 7 0, d 7 1} (Reihenfolge egal)
I {a, b, a, b, d, b, a} (Reihenfolge egal)
I als Relation A U ( \ 0) mit {(a, 3), (b, 3), (d, 1)}
148
Daten durch
I Mengen, Folgen, Sprachen
I charakteristische Funktionen
A : U {0, 1} von (Teil-)Mengen A U
I Multimengen A : U
I Folgen als Funktionen f : {0, . . . , n} B
Darstellungsformen, Anwendungen, Beziehungen, Operationen
I Aquivalenzrelationen,
Halbordungen, totale Ordnungen
(A punktweise B)
150
N und B : U N
N:
|A| =
xU
A(x)
151
Modellierungsbeispiel EU-Arbeitskreise
(nach Kastens, Kleine B
uning: Modellierung )
Ziel: Modellierung der Situation
I
drei Arbeitskreise
Wertebereiche:
Arbeitskreise
Lander
Sprachen
Delegierten-Nr.
Delegierte
:
:
:
:
:
Modellierungsbeispiel EU-Arbeitskreise
I
Was reprasentieren
2 (sD |{D1,A2,F 1} ), sD0 (D 0 |{A,D} ), sN0 (D) sN0 (F ), sN00 (D) sN00 (F ),
2 (sD1 |{d,f } ), 2 (sN1 |{d} ) 2 (sN1 |{f } ), (sN0 )1 ({f , s}) ?
153
|{f : A B | f injektiv}| =
(|B| i)
i=0
Folgerung
F
ur endliche Mengen A und B mit |A| > |B| existiert keine
injektive Funktion f : A B.
154
Endlicher Schubfachschluss
(pigeonhole principle)
155
Beispiele
I
Partygesprache: n 2 Personen
Anzahl Gesprachspartner ist f
ur zwei Personen gleich.
O: n Gaste, S: Anzahl der Gesprachspartner {0, . . . , n 1}
Problem: |O| = |S|
Fallunterscheidung: {p1 , . . . , pn } enthalt 0 oder nicht
156
Erweiterter Schubfachschluss
Satz
Sind O und S zwei endliche Mengen, dann existiert f
ur jede
Funktion f : O S ein s S mit
1
f (s) |O|
|S|
umgangssprachliche Formulierung:
F
ur jede Aufteilung von n Objekten auf k Schubfacher existiert ein
Schubfach, welches mindestens d kn e Objekte enthalt.
157
Beispiele
I
Wieviele Karten h
ochstens n
otig f
ur komplette Farbe aus
Skatblatt?
O: x 32 Karten, S: 4 Farben,
ur jede f 1 (s) = 8
x f
gesucht: kleinstes x mit 7 < 4 , also x = 29
158
Unendlicher Schubfachschluss
endlicher (erweiterter) Schubfachschluss:
Sind O und S zwei endliche Mengen, dann existiert f
ur jede
Funktion f : O S ein s S mit
1 |O|
f (s)
|S|
mit |O| wachst (bei festem S) auch
|O|
|S|
Beispiele
160
Modellierung von
I
Daten durch
Mengen (endliche und unendliche Machtigkeiten)
Multimengen, Folgen, Sprachen
Aquivalenzrelationen,
Halbordnungen, totale Ordnungen
161
n n-Matrix (f
ur M = {a1 , . . . , an }) mit Eintragen aus {0, 1}
(
1 falls (ai , aj ) R
mij =
0 sonst
(Charakteristische Funktion der Relation)
Gerichtete Graphen
gerichteter Graph G = (V , E ) (Digraph)
I Menge V von Ecken oder Knoten (vertex)
I Menge E V 2 von Kanten (edge)
haufige Notation: ab statt (a, b)
Endpunkte von (a, b) E sind a, b V
Schlinge Kante (a, a) E mit a V
Beispiele:
I G = (V , E ) mit
V
= {0, 1, . . . , 4}
= {(i, j) | j = i + 1 oder j = i + 3}
163
Ungerichtete Graphen
ungerichteter schlingenfreier Graph (V , E ):
Menge V von Ecken
I Menge E V von Kanten
2
haufige Notation: ab statt {a, b}
V
= {M V | |M| = k} = {M V | M enthalt genau k Elemente}
k
I
= {M V | |M| = 2 |M| = 1}
2
1
Beispiele:
I
Liniennetz Nahverkehr
Spezielle Graphen
(ungerichtet, schlingenfrei)
Ordnung des Graphen (V , E ): Anzahl |V | der Ecken
leerer Graph (V , E ) mit V = und E =
Der Graph (V , E ) mit V = {v1 , . . . , vn } heit
isoliert: In = ({v1 , . . . , vn }, ) (n isolierte Ecken)
vollstandig: Kn = ({v1 , .. . , vn }, E )
mit E = V2 ) (n paarweise verbundene Ecken)
Pfad: Pn = ({v1 , . . . , vn }, E )
mit E = {{vi , vi+1 } | i {1, . . . n 1}}
Kreis: Cn = ({v1 , . . . , vn }, E )
mit E = {{vi , vi+1 } | i {1, . . . n 1}} {{vn , v1 }}
166
Nachbarschaft
Ecken u, v V heien im Graphen (V , E )
benachbart (adjazent) gdw. uv E
unabhangig gdw. uv 6 E
Nachbarschaft (Menge aller Nachbarn) einer Ecke v in G :
NG (v ) = {u V | uv E }
N mit
v V : Ni,G (v ) = {u V | uv E }
(in v eingehende Kanten)
v V : No,G (v ) = {u V | vu E }
(von v ausgehende Kanten)
gradi,G : V
N mit
grado,G : V
N mit
Graph-Isomorphie
F
ur Graphen G = (VG , EG ) und H = (VH , EH ) heit eine Bijektion
f : VG VH Isomorphismus gdw.
a, b VG ((f (a), f (b)) EH (a, b) EG )
Kn , In , . . . bezeichnen Aquivalenzklassen
von Graphen bzgl. '
169
V
2
V
2
V
1
Diagramm
Adjazenzmatrix
(charakteristische Funktion von E V 2 )
Adjazenzliste
(Zuordnung Knoten 7 Menge aller Nachbarn)
Spezielle Graphen: In , Kn , Pn , Cn
Teilgraph-Relationen
F
ur Graphen G = (VG , EG ) und H = (VH , EH ) heit H
Teilgraph von G , gdw. VH VG und EH EG
echter Teilgraph von G , gdw. H Teilgraph von G und H 6= G
induzierter Teilgraph von G , gdw.
VH VG und EH = {{a, b} EG | {a, b} VH }
(Autotool: Beschrankung von G auf VH )
aufspannender Teilgraph von G , gdw.
H Teilgraph von G und VH = VG
Teilgraph-Relationen sind Halbordnungen
171
spezielle Graphen:
Km,n = Im In (vollstandige bipartite Graphen)
K1,n = I1 In (Sterne)
Kn1 ,...,nm = In1 Inm f
ur m > 1
172
Komplementargraph
f
ur G = (V , E ) und Eckenmenge U V
G U = (V \ U, E \ {{u, v } | {u, v } U 6= })
F
ur G = (V , E ) und Kantenmenge F
V
2
G F = (V , E \ F )
Komplementargraph zu G = (V , E ):
V
G = V,
\ E = K|V | E
2
G heit selbstkomplementar gdw. G ' G
Beispiele: P4 , C5
173
Pfade in Graphen
Pfad im Graphen G :
Teilgraph P von G , der f
ur ein n
N isomorph zu Pn ist.
Kreise in Graphen
Kreis im Graphen G :
Teilgraph C von G , der f
ur ein n
N isomorph zu Cn ist.
175
Wege in Graphen
Weg w im Graphen G = (V , E ):
Folge von Kanten w = [v1 v2 , . . . , vn vn+1 ] E
(Kanten konnen mehrfach vorkommen)
durch Folge der Ecken [v1 , . . . , vn+1 ] eindeutig bestimmt
Weg von a nach b in G :
Weg [v1 , . . . , vn ] in G mit v1 = a und vn = b
F
ur jede Ecke v V ist [v ] ein Weg von v nach v
Wege [v1 , . . . , vn ] mit v1 = vn heien geschlossen
176
Aquivalenzrelation
auf V .
(Aquivalenzklassen
[u]E sind Mengen von Knoten)
Zusammenhangs-Relation E auf G = (V , E )
(Erreichbarkeit)
Zusammenhangskomponenten: Aquivalenzklassen
bzgl. E
179
Satz
1. Ein Graph G = (V , E ) enthalt genau dann einen
geschlossenen Eulerweg, wenn er zusammenhangend ist und
grad(v ) f
ur jeden Knoten v V gerade ist.
2. Ein zusammenhangender Graph G = (V , E ) enthalt genau
dann einen Eulerweg, wenn er genau zwei oder keine Ecke
ungeraden Grades enthalt.
180
Multigraphen
Wiederholung: ungerichteter Graph G = (V , E ) mit E V2
z.B. G = ({a, b, c, d}, E ) mit der charakteristischen Funktion
V
1 falls xy {ab, ac, bd, dc}
E :
{0, 1} mit E (xy ) =
0
sonst
2
Multigraph G = (V , E ) mit Multimenge E : V2
(statt Teilmenge E : V2 {0, 1} )
z.B. G 0 = ({a, b, c, d}, E 0 ) mit
1 falls xy = ab
0 sonst
(analog f
ur gerichtete Graphen mit E : V 2
Modellierungsbeispiele:
Konigsberger-Br
ucken-Problem (Eulerweg im Multigraphen)
Prozessketten
181
Logistik
Robotik
Hardware-Entwurf
182
183
Bipartite Graphen
Ein Graph G = (V , E ) heit bipartit gdw. eine Zerlegung {V0 , V1 }
von
V (d.h. V0 V1 = und V0 V1 = V )
mit V20 V21 E = existiert.
Beispiele:
Pn f
ur alle n
Km,n f
ur alle m, n
kein Kn f
ur n > 2
Cn f
ur alle n 1 mit n 2 0
Sprachkenntnisse zu Personen
Personen zu Arbeitskreisen
Getranke-Angebot zu Restaurants
185
Multigraphen
Zusammenhangs-Relation E auf G = (V , E )
(Erreichbarkeit)
Zusammenhangskomponenten: Aquivalenzklassen
bzgl. E
Hamiltonpfade, Hamiltonkreise
186
187
Eckenfarbung
Graph G = (V , E ), Farben {1, . . . , n}
f : V {1, . . . , k} heit (konfliktfreie) k-Farbung f
ur G gdw.
u V v V ((uv E ) (f (u) = f (v )))
(f
ur keine Kante {u, v } E gilt f (u) = f (v ))
Jede Eckenfarbung f : V {1, . . . , n} definiert
eine Zerlegung der Eckenmenge V
{f 1 (i) | i {1, . . . , n}}
G = (V , E ) heit k-farbbar gdw. k-Farbung f
ur G existiert.
Beispiele:
I C5 ist 5- ,4- und 3-f
arbbar, aber nicht 2-farbbar
I K3,3 ist 2-f
arbbar,
I I2 I2 I1 ist 3-f
arbbar, aber nicht 2-farbbar
Anwendungen z.B. bei
I Register-Zuteilung (Ubersetzerbau)
I
Modellierungsbeispiel Sudoku
Aufgabe informal:
I
9 9 Felder
I
I
I
einer Zeile
einer Spalte
einem der neun 3 3-Bl
ocke
Modellierungsbeispiel Sudoku
formal (Verallgemeinerung auf n2 n2 -Feld):
Graph G = (V , E ) mit
V = {1, . . . , n2 }2
(n2 n2 Felder)
CV = {1, . . . , n2 }
(n2 Zahlen als Farben)
E = ((s, z), (s 0 , z 0 )) V 2 | (s
= s 0 ) (z =
z 0)
0
0
d ns e = d sn e d nz e = d zn e
Beispiel f
ur n = 2 (also 4 4-Feld und 4 Farben):
3
2
4
1
190
Chromatische Zahl
chromatische Zahl des Graphen G :
(G ) = min{k | G ist k-farbbar }
Beispiele:
I
(C5 ) = 3
f
ur alle n
f
ur alle n > 1 gilt (Pn ) = 2
f
ur alle n > 2 gilt
N gilt (Kn ) = n
I f
ur alle n N gilt (In ) = 1
(Cn ) =
2 falls n 0
3 falls n 1
mod 2
mod 2
f
ur min(m, n) 1 gilt (Km,n ) = 2
191
Baum-Strukturen
Hierarchien
Komponenten-Strukturen
Familien-Stammbaume
Enscheidungsbaume
zusammenhangend
192
Ungerichtete Baume
G = (V , E ) heit Baum, wenn
I
193
F
ur jeden Graphen G = (V , E ) sind folgenden Aussagen
aquivalent:
1. G ist ein Baum.
2. Zwischen je zwei Ecken u, v V existiert genau ein Pfad in G .
3. G ist minimal zusammenhangend.
(G ist zusammenhangend und f
ur jede Kante uv E ist
(V , E \ {uv }) nicht zusammenhangend)
4. G ist maximal kreisfrei.
(G enthalt keinen echten Kreis und f
ur jede Kante
uv V2 \ E enthalt (V , E {uv }) einen echten Kreis)
194
Gerichtete Baume
Gerichteter Baum:
gerichteter Graph G = (V , E ) mit
1. G enthalt keinen Kreis als Teilgraphen
2. Es existiert genau ein v V mit gradi,G (v ) = 0
3. u V u 6= v gradi,G (u) = 1
(Wurzel)
Hierarchien, Klassifikationen
Verzeichnis-Strukturen
Abstammung
Entscheidungsbaume
Wege in Graphen
Ableitungsbaume f
ur Sprachen
195
Modellierung von
Aussagen durch logische Formeln
Daten durch Mengen, Multimengen, Folgen, Sprachen
Zusammenhangen und Eigenschaften von Elementen von Mengen
durch Relationen
(Eigenschaften von Relationen)
HO, LO)
Spezielle binare Relationen (QO, AR,
Darstellung binarer Relationen durch Graphen
Zuordnungen zwischen Elementen von Mengen durch Funktionen
(Eigenschaften von Funktionen)
196
Grundannahme:
Die zu modellierende Welt besteht aus Individuen, die
Eigenschaften haben und zueinander in Beziehungen (Relationen,
Funktionen) stehen.
197
198
Individuenbereich: Menge
aller nat
urlichen Zahlen
Eigenschaften: prim, gerade
Beziehung: teilt |
Funktionen: Nachfolger, Quadrat
199
Menge
aller nat
urlichen Zahlen
Relationen: (zweistellig), | (teilt, zweistellig)
einstellige Relationen (Eigenschaften): prim, gerade
Funktionen: Nachfolger (einstellig), + (zweistellig)
N
R
200
(nicht-leerer) Tragermenge A,
Aquivalenzrelationen,
z.B. ( , =), (AL(P), ), ( , mod n), (Menge aller Graphen, ')
Halbordnungen,
z.B. ( , ),( , |), (2X , ),
(Menge aller Graphen, Teilgraph-Relation)
201
Relationale Strukturen
Eine relationale Struktur A = (A, {Ri | i I }) besteht aus
I
Beispiele:
( , |, )
({0, 1}, , =)
(2A , )
(A , v)
202
(2(A ) , , {})
Gruppe , z.B. ( , +, 0), ( n , +, 0), ( n , , 1) f
ur Primzahl n
N
N
Z
Z
Z
Q
R
Z
N
Z
Z
Z
R R R
R R
R R R
Z
203
(2M , , , \, )
204
I Funktionen Alterer,
kleinere-Matrikelnummer(zweistellig)
I Eigenschaft blond
I Relation befreundet (zweistellig)
C Menge 2N mit
I Konstanten ,
I Funktionen , (zweistellig)
I Eigenschaft endlich
I Relation (zweistellig)
205
Signaturen
(syntaktische) Gemeinsamkeiten der Strukturen A, B, C:
I eine Tr
agermenge
I zwei Konstanten (nullstellige Funktionen)
I zwei zweistellige Funktionen
I eine Eigenschaft (einstellige Relation)
I eine zweistellige Relation
Bezeichnung der Relationen und Funktionen durch Symbole (mit
zugeordneter Stelligkeit):
Signatur = (F , R ) mit Mengen
F = {(f , n) | n } von Funktionssymbolen (mit Stelligkeit)
R = {(R, n) | n } von Relationssymbolen (mit Stelligkeit)
(nullstellige Funktionssymbole heien Konstantensymbole)
Signatur definiert einen Typ von Strukturen (Syntax)
Strukturen mit derselben Signatur unterscheiden sich in der
Semantik der Symbole:
I Tr
agermengen
I Bedeutung der Funktions- und Relationssymbole
N
N
206
Signatur f
ur arithmetische Ausdr
ucke u
urlichen,
ber nat
rationalen, reellen, . . . Zahlen
F = {(+, 2), (, 2), (, 2), (/, 2)} {(x, 0) | x }
(je ein nullstelliges Symbol (Konstante) f
ur jede Zahl aus der
Tragermenge, hier z.B. )
R =
Signatur f
ur Mengen mit einer zweistelligen Relation
(Aquivalenzrelation,
Halbordnung, Graph)
F = , R = {(R, 2)}
Signatur f
ur aussagenlogische Formeln
F = {(, 2), (, 2), (, 1), (f, 0), (t, 0)},
R = {(=, 2), (, 2), (erfuellbar, 1)}
Signatur f
ur alle drei Strukturen A, B, C auf der vorletzten
Folie
F = {(apfel, 0), (banane, 0), (kirsche, 2), (pflaume, 2)}
R = {(rettich, 1), (tomate, 2)}
207
-Strukturen
F
ur Signatur = (F , R ) heit eine algebraische Struktur
A = (A, JKA ) -Struktur gdw.
I
(f , n) F : Jf KA : An A
A = ( , JKA ) mit
JcKA = 0, (x, y ) 2 : Jf KA (x, y ) = x + y ,
JRKA = {(x, y ) 2 | x|y }
B = ( , JKB ) mit
JcKB = 3, (x, y ) 2 : Jf KB (x, y ) = x y ,
JRKB = {(x, y ) 2 | x y }
-Strukturen
208
f
ur die Signatur = (F , R ) mit
F = und R = {(Q, 2)}
ist der gerichtete Graph G = (V , JQKG ) mit
V = {1, 2, 3} und JQKG = {(1, 1), (2, 3), (2, 1)}
eine -Struktur
f
ur die Signatur = (F , R ) mit
F = {(apfel, 0), (banane, 0), (kirsche, 2), (pflaume, 2)}
R = {(rettich, 1), (tomate, 2)}
sind z.B. die folgenden Strukturen -Strukturen:
I
209
Wiederholung Signaturen
Definition der Symbole f
ur Individuen (Konstanten) sowie deren
Eigenschaften und Beziehungen (Relationen, Funktionen)
Signatur = (F , R ) mit Mengen
F = {(f , n) | n } von Funktionssymbolen (mit Stelligkeit)
R = {(R, n) | n } von Relationssymbolen (mit Stelligkeit)
N
N
Beispiele:
I
= (F , R ) mit
= (F , R ) mit
F = {(Mutter-von, 1)} und
R = {(weiblich, 1), (verheiratet, 2), (Kind-von, 2), (=, 2)}
= (F , R ) mit
F = {(, 2), ($, 2)} und R =
211
(
(
xy z
(
(
prominente Halbringe:
A = ( , JKA )
B = (2 , JKB )
C = ({0, 1}, JKC )
D = (2M , JKD )
E = (2{a,b} , JKE )
F = ( {+}, JKF )
N
Z
R
mit
mit
mit
mit
mit
mit
x(y z) = (xy )z
)
x$(y $z) = (x$y )$z
)
und
und
und
und
und
und
J$KA =
J$KB =
J$KC = min
J$KD =
J$KE =
J$KF = +
212
Mehrsortige Strukturen
Modellierung von Strukturen mit verschiedenen Sorten (Tragermengen,
Typen) = {Si | i I } von Elementen
Beispiele mehrsortiger Strukturen:
Vektorraum mit
Sorten: Skalar, Vektor
Operationen, z.B. smult: Skalar Vektor Vektor
Relationen, z.B. gleichlang Vektor Vektor
Sorten: Menschen, B
ucher
Relation: A Menschen B
ucher
wobei (m, b) A gdw. m ist Autor von b
213
Mehrsortige Signaturen
F
R
S S)
Beispiel: B
ucher mit Autoren und Erscheinungsjahr
Sorten B (B
ucher), P (Personen), (Jahreszahlen),
2B (Mengen von B
uchern), also = {B, P, , 2B }
Funktionssymbole (mit Argument-und Ergebnistypen):
:B
Erscheinungsjahr
erstes-Buch-von
:P
B
F =
gemeinsame-Buecher-von : P 2 2B
P B
P2
214
Mehrsortige -Strukturen
f
ur jede Sorte S eine nichtleere Menge AS
(Tragermenge, Universum der Sorte)
f
ur jedes Funktionssymbol f : S1 . . . Sn S
eine Funktion Jf KA : AS1 . . . ASn AS
f
ur jedes Relationssymbol R S1 . . . Sn
eine Relation JRKA AS1 . . . ASn
215
:
:
:
:
float
string int
string
float float
int
string
int
bool
Datenbanken:
Tabellen sind extensionale Darstellungen (meist) mehrsortiger
Relationen
216
I
I
Signatur = ( , F , R ) mit
Terme
Beispiele: f
ur (einsortige) Signatur = (F , R ) mit
F = {(3, 0), (5, 0), (+, 2), (, 2)} und R = {(>, 2)} und Menge
= {x, y , z} von Variablen
Ausdr
ucke 3 + x, 5, y , ((y + 5) (3 x)) + x sind korrekt aus
Symbolen aus F und
zusammengesetzt
Ausdr
ucke 3x+, +5, 3(x + y ), (3x5) + z sind nicht korrekt aus
Symbolen aus F und
zusammengesetzt
Definition (induktiv)
X Term(F , X))
Grundterme
Terme ohne Variablen heien Grundterme.
Term (F , ) ist Menge aller Grundterme u
ber Signatur F
Beispiele:
f
ur F = {(f , 1), (g , 2), (h, 2), (c, 0)} und = {x, y , z} gilt
c Term(F , ) Term(F , )
(Grundterm)
(kein Grundterm)
z Term(F , ), aber z 6 Term(F , )
f (c) Term(F , ) Term(F , )
h(f (x), c) Term(F , ), aber h(f (x), c) 6 Term(F , )
f 6 Term(F , ), h(c) 6 Term(F , ), x(c) 6 Term(F , )
Warum gilt f
ur alle Signaturen F ohne Konstantensymbole
Term (F , ) = ?
(UA)
219
a (c b) AL(P) = Term(F , P)
(b t) (b f) AL(P) = Term(F , P)
Mehr Beispiele
f
ur F = {(+, 2), (, 2), (, 2), (/ 2)} {(q, 0) | q } ist
Term(F , ) die Menge aller arithmetischen Ausdr
ucke
(Terme) mit rationalen Zahlen (z.B. 3/5+1/4),
Term(F , {a, b, c}) die Menge aller arithmetischen Ausdr
ucke
(Terme) mit rationalen Zahlen und Variablen aus der Menge
{a, b, c} (z.B. (3 a) + ((2 b)/c)),
F = {(apfel, 0), (banane, 0), (kirsche, 2), (pflaume, 2)}
I
I
I
I
X)
221
X, dann size(t) = 1
n
X
size(ti )
i=1
Beispiele f
ur F = {(f , 1), (g , 2), (h, 2), (c, 0)} und
I
size(c) = 1
size(z) = 1
size(f (c)) = 2
X = {x, y , z}:
222
F
ur jeden Term t Term(F , ) ist die Menge var(t) aller in t
vorkommenden Variablen (induktiv) definiert durch:
IA: falls t = x
Beispiel: F
ur t = f (g (x, a), g (f (a, y ), x)) gilt var(t) = {x, y }
223
N}
Definition (induktiv)
Der Wert des F -Grundtermes t = f (t1 , . . . , tn ) Term(F , )
in der F -Struktur A = (A, JKA ) ist
JtKA = Jf KA (Jt1 KA , . . . , Jtn KA )
Fehlt hier der Induktionsanfang?
nein, ist als Spezialfall enthalten:
F
ur Terme t = c mit (c, 0) F (Konstante) gilt JtKA = JcKA
(Bedeutung der Konstante c in A, gegeben in Definition von A)
224
Beispiel
Signatur = (F , R ) mit
F = {(apfel, 0), (banane, 0), (kirsche, 2), (pflaume, 2)}
R = {(rettich, 1), (tomate, 2)}
s = apfel t = pflaume(apfel, kirsche(banane, apfel))
-Struktur A = (A, JKA ) mit
A =
JapfelKA = 5
f
ur alle (x, y )
f
ur alle (x, y )
A2 :
A2 :
JbananeKA = 3
JkirscheKA (x, y ) = x + y
JpflaumeKA (x, y ) = x y
JtomateKA = {(2n, n) | n
JsKA = JapfelKA = 5 JtKA = . . .
N}
225
Weiteres Beispiel
s = apfel t = pflaume(apfel, kirsche(banane, apfel))
-Struktur B = (B, JKB ) mit
B = {0, 1}
JapfelKB = 0
f
ur alle (x, y )
B 2:
JbananeKB = 1
f
ur alle (x, y ) B 2 : JpflaumeKB (x, y ) = max(x, y )
JrettichKB = {0}
JtKB = . . .
226
Weiteres Beispiel
s = apfel t = pflaume(apfel, kirsche(banane, apfel))
-Struktur C = (C , JKC ) mit
C
f
ur alle (x, y )
C 2:
JkirscheKC (x, y ) = x
f
ur alle (x, y ) C 2 : JpflaumeKC (x, y ) = y
JtKC = . . .
227
D = 2N
JapfelKD =
JbananeKD =
f
ur alle M, N D: JkirscheKD (M, N) = M N
f
ur alle M, N D: JpflaumeKD (M, N) = M N
JrettichKD = {M
N | |M| N}
JtomateKD = {(M, N) D 2 | M N}
JsKD = JapfelKD = ,
JtKD = . . .
228
Aquivalenz
von Grundtermen in einer Struktur
F -Grundterme s, t Term(F , ) mit JsKA = JtKA heien
aquivalent in A (s A t).
In den Beispielen oben gilt
s 6A t
s
6C
s D t
semantische Aquivalenz
aussagenlogischer Formeln
(ohne Aussagenvariablen)
229
Aquivalenz
von Grundtermen in -Strukturen
230
Signatur = (F , R ),
Variablenmenge
t Term(F ,
X)
X?
X A.
231
Beispiele
Term s = f (g (x, a), g (f (a, y ), x)) u
ber der Signatur = . . .
I Interpretation (A, ) mit -Struktur A = ( , JKA ), wobei
JaKA = 1
Jf KA (x, y ) = x + y
Jg KA (x, y ) = x y
Jf KB (x, y ) = x \ y
Jg KB (x, y ) = x y
IS f
ur t = f (t1 , . . . , tn ) gilt
Beispiele
Signatur = (F , R ) mit
F = {(a, 0), (b, 0), (f , 1), (g , 2), (h, 2)} und R =
Variablenmenge = {x, y }
-Struktur S = (S, JKS ) mit
S
JaKS
JbKS
= 5
= 3
Jf KS (a) = 1 + a
Jg KS (a, b) = a + b
JhKS (a, b) = a b
N
N
234
Atome in
Aussagenlogik : Aussagenvariable,
bekommt festen Wahrheitswert durch
Belegung (der Aussagenvariablen)
Pradikatenlogik : (parametrisierte) Aussage u
ber Eigenschaften
von oder Beziehungen zwischen Individuen
Wahrheitswert abhangig von beteiligten Individuen
z.B. nebeneinander(x, y ), gerade(n), x < 3, x < y ,
Geschwister(x, Mutter(y ))
235
Atome Syntax
Atom elementare Formel,
reprasentiert Eigenschaft von oder Beziehung
zwischen Individuen
Signatur = (F , R ) mit
I
Definition
Menge aller -Atome mit Variablen aus der Menge
Atom(,
X:
Atome Beispiele
I
Signatur = (F , R) mit
F = {(1, 0), (2, 0), ( , 1), (+, 2)}
R = {(=, 2), (, 2)}
Variablenmenge = {x, y , z}
I
I
I
X
X
x = 2 Atom(, )
) (aber x + 2 Term(F ,
px + 2 6 Atom(,
p
1+ 2
2 Atom(, )
X))
Signatur = (F , R ) mit
F = {(a, 0), (b, 0), (k, 2), (d, 2)}
R = {(P, 1), (Q, 2)}
Variablenmenge = {x, y }
I
I
I
I
I
y 6 Atom(, )
P(x) Atom(, )
P(a) Atom(, )
P(Q(P(a), k(x, y ))) 6 Atom(, )
Q(k(a, d(y , a)), x) Atom(, )
X
X
237
Atome Semantik
Signatur = (F , R ), Variablenmenge
-Interpretation (A, ) mit
I
XA
Wert des Atomes a = P(t1 , . . . , tn ) Atom(, X)
I
= JP(t1 , . . . , tn )K(A,)
= JPKA Jt1 K(A,) , . . . , Jtn K(A,)
1 falls Jt1 K(A,) , . . . , Jtn K(A,) JPKA
=
0 sonst
= {0, 1, 2}
JaKS
= 1
JPKS
= {0, 2}
d S : Jf KS (d) = 2 d
JRKS
239
aussagenlogische Junktoren t, f, , , , ,
-Atome
Quantoren ,
X
X
X
X
Beispiele
I
Signatur = (F , R ) mit
F = {(a, 0), (f , 1)} und R = {(P, 1), (R, 2)}
Variablenmenge = {x, y }
Formeln aus FOL(, ):
= P(f (x))
2
3
X=
= pq
= p (q p)
Variablen in Formeln
Eine Individuenvariable x
X kommt vor in
f
ur 1 = R(x, a) gilt var(1 ) = {x}
f
ur 2 = xR(x, f (y , x)) gilt var(2 ) = {x, y }
f
ur 3 =
(P(x) (P(f (x)) (xy ((P(x) P(y )) R(x, y )))))
gilt var(3 ) = {x, y }
242
243
Beispiele
1 = R(x, a)
2 = xR(x, f (y , x))
244
Satze
Jede Formel FOL(,
Beispiele:
I
f
ur FOL(,
universeller Abschlu := x1 xn
existentieller Abschlu := x1 xn
F
ur jede Formel FOL(,
Modifizierte Interpretationen
gegeben:
I
Signatur ,
Variablenmenge
X,
Belegung :
[x 7 d](y ) =
d
f
ur y = x
(y ) sonst
Variablenbelegung :
XA
Wert in Interpretationen
Wert in -Interpretation (S, ) mit S = (S, JKS )
X: JxK(S,) = (x) S
I eines Termes t = f (t1 , . . . , tn ) Term(F , X):
I
einer Individuenvariable x
JK(S,) = 1 JK(S,)
JxK(S,) = max{JK(S,[x7a]) | a S}
JxK(S,) = min{JK(S,[x7a]) | a S}
Beispiele
= (R , F ) mit F = {(f , 1)},R = {(R, 2)},
= R(x, y ) zR(z, z)
X = {x, y , z}
= xyR(x, f (y ))
248
X):
X
X
X
Aquivalenz
A in Struktur A
Grundatomen a Atom(, ): JaKA {0, 1}
Satzen FOL(, ): JKA {0, 1}
in -Interpretationen (A, ) mit Struktur A und
Belegung der Individuenvariablen : A:
Wert von
Termen t Term(, ): JtK(A,) A
Atomen A Atom(, ): JaK(A,) {0, 1}
Formeln FOL(, ): JK(A,) {0, 1}
X
X
X
249
X: JxK(S,) = (x) S
I eines Termes t = f (t1 , . . . , tn ) Term(F , X):
I
einer Individuenvariable x
JK(S,) = 1 JK(S,)
JxK(S,) = max{JK(S,[x7a]) | a S}
JxK(S,) = min{JK(S,[x7a]) | a S}
249
Beispiele
= (R , F ) mit F = {(f , 1)},R = {(R, 2)},
= R(x, y ) zR(z, z)
X = {x, y , z}
= xyR(x, f (y ))
249
XS
X)
X) heit
erf
ullbar gdw. Mod() 6=
unerf
ullbar gdw. Mod() =
allgemeing
ultig gdw.
Mod() = {(S, ) | S = (S, JKS ) ist -Struktur und :
X S}
Beispiele
= R(x) y ((R(y )) E (y , x))
I
Z
Z
251
Semantische Aquivalenz
von Formeln
(analog Aussagenlogik)
F
ur , FOL(, X ) gilt
gdw.
Mod() = Mod()
Beispiele:
I
xP(x) xP(x)
xyR(x, y ) 6 xyR(y , x)
xyR(x, y ) 6 xyR(x, y )
252
Wichtige Aquivalenzen
mit Quantoren
x x
x x
x x x( )
x x x( )
xy = y x
xy = y x
f
ur x 6 fvar() und {, } gilt auerdem
x x( )
x x( )
y x[y 7x]
y x[y 7x]
(gebundene Umbenennung)
253
X):
Z und
F
ur jede endliche Formelmenge = {1 , . . . , n } FOL(,
X) gilt
Mod() = Mod (1 n )
254
X):
Syntax :
I
I
I
I
I
Signatur = (F , R ),
(Individuen-)Variablen
Terme Term(, ), Grundterme
Atome Atom(, ), Grundatome
Formeln FOL(, ), Satze
I
I
I
X
X
X
Semantik :
XA
I (semantische) Aquivalenz
von Formeln
I
255
JK(S,) = JK(S,)
Beispiel: = xy (P(x) E (x, y ) P(y ))
F
ur Satze FOL(, ) gen
ugt es also, den Wert in Strukturen
(statt in Interpretationen) zu betrachten:
JKS = JK(S,)
f
ur jede beliebige Belegung :
XS
X):
A Mod()
C = ( , JKC ) mit
Jf KC (x) = x + 1, JG KC (x) gdw. x Primzahl
C 6 Mod()
D Mod()
E = (E , JKE ) mit E =
(Menge aller Punkte der Ebene),
E 6 Mod()
Jf KE (x, y ) = (x, y ), JG KE (x, y ) gdw. x < y
257
x P(x),
x P(x),
x R(x, x),
=
F
ur -Struktur A = ({a, b, c}, JKA ) mit JPKA = {b, c}
JRKA = {(a, a), (a, c), (b, b), (c, a), (c, c)} gilt A Mod()
N JRKB = gilt
F
ur -Struktur B = ( , JKB ) mit JPKB = 7
B 6 Mod()
258
N
N
F
ur 0 -Struktur A = ( , JKA ) mit
J=KA = IN , (m, n) 2 : Jf KA (m, n) = m n, JeKA = 1 gilt
A Mod(0 )
F
ur 0 -Struktur B = ({0, 1}, JKB ) mit
J=KB = I{0,1} , Jf KB = max, JeKB = 1 gilt B 6 Mod(0 )
ur die
Mod(0 ) = Menge aller 0 -Strukturen S = (S, JKS ), f
J=KS = IS und
S mit Jf KS ein Monoid mit neutralem Element JeKS bildet
259
xE
(x,
x),
xy (E (x, y ) E (y , x)),
x(G
(x) (R(x) B(x)),
Beispiel
P = {p, q, r } definiert die Signatur {p,q,r } = (F , R )
mit F = und R = {(p, 0), (q, 0), (r , 0)}
= p (r q)
FOL({p,q,r } , ) = AL({p, q, r })
{a 7 1, h 7 1, m 7 1, p 7 0},
{a 7 1, h 7 1, m 7 0, p 7 1},
Mod(P ) =
{a 7 1, h 7 1, m 7 1, p 7 1}
Antwort auf die Frage: ja (weil in jedem Modell von P auch h gilt)
263
Semantisches Folgern
F
ur FOL(,
gdw.
Mod() Mod()
|= 2FOL(,X) FOL(,
X)
Beispiele:
I
{p, p q} |= q
{p, (q p)} |= q
{p} |= q p
|= p p
Notation f
ur Spezialfalle
f
ur = {} : |=
f
ur =
:
|=
(statt
(statt
{}
|=
|=
)
)
264
f
ur = {x(P(x) Q(x)), P(x)} und = Q(y ) gilt
6|= , weil
f
ur (S, ) mit S = ({a, b}, JKS ) mit
JPKS = {b}, JQKS = {a} und = {x 7 a, y 7 b} gilt:
(S, ) Mod(), aber (S, ) 6 Mod()
f
ur = {x (P(x) Q(x)), x P(x)} und = (x Q(x))
gilt 6|= , weil
f
ur S = ({a, b}, JKS ) mit JPKS = {b} und JQKS = {a}
gilt S Mod(), aber S 6 Mod()
F
ur jede Formel FOL(,
X) gilt x |=
265
X)
I
I
I
Signatur, Variablen
Terme (induktive Definition, Baumform)
Atome (in AL(P): Aussagevariablen)
I Formeln (Junktoren, Quantoren)
Semantik
semantische Aquivalenz
von Formeln
erf
ullbare, unerf
ullbare, allgemeing
ultige Formeln
semantische Folgerungen aus Formelmengen
I
I
I
I
I
266
f
ur = {x(P(x) Q(x)), P(x)} und = Q(y ) gilt
6|= , weil
f
ur (S, ) mit S = ({a, b}, JKS ) mit
JPKS = {b}, JQKS = {a} und = {x 7 a, y 7 b} gilt:
(S, ) Mod(), aber (S, ) 6 Mod()
f
ur = {x (P(x) Q(x)), x P(x)} und = (x Q(x))
gilt 6|= , weil
f
ur S = ({a, b}, JKS ) mit JPKS = {b} und JQKS = {a}
gilt S Mod(), aber S 6 Mod()
F
ur alle Formeln , FOL(,
X) gilt
{ , } |=
(Modus ponens)
{ , } |=
(Modus tollens)
x |=
267
Modellierungsbeispiel: Taxi
Sachverhalt (Kontext) informal:
I
Tom ist p
unktlich.
Frage:
informal: Stand ein Taxi am Bahnhof ?
formal Gilt T |= t ?
268
n
^
i |=
i=1
F
ur jede Formelmenge FOL(,
gilt
( )
|=
gdw.
( |= )
Mod() = Mod( {})
gdw.
Mod( {}) =
gdw.
{} unerf
ullbar
gdw.
{} |= f
F
ur alle Formeln , FOL(,
X) gilt
|=
gdw.
allgemeing
ultig
gdw.
( |= ) ( |= )
|=
gdw.
|= ( )
gdw.
|= ( )
269
6.7
Lieblingsgetranke: Kontext siehe UA
Fragen:
I
I
I
Familienbeziehungen: Kontext
I
allgemein:
Zwei Personen sind Geschwister gdw. . . .
(Groeltern, verwandt,. . . )
Aufgaben-spezifisch:
Paul ist Vater von Anna und Tom. . . .
Fragen:
I
I
Erreichbarkeit:
Kontext: Menge von Orten A, B, C , . . ., existierende Straen,
Verbindungen
Fragen: (Wie) Ist B von A erreichbar?
270
X
X
271
X
X
gdw.
|=
272
Kalkule Motivation
Formale Methode zur schrittweisen syntaktischen Ableitung von
sematischen Folgerungen (Formeln) aus einer Menge von Formeln
(Hypothesen)
Definition von
Schlussregeln zur syntaktischen Ableitung von Folgerungen aus
Formelmengen (Hypothesen, Annahmen)
(analog Spielregeln),
oft mehrere Voraussetzungen und eine Folgerung
Ableitungen (und Beweisen) durch geeignete Kombinationen von
Schlussregeln (Baumstruktur)
273
Kalkule - Definition
Kalk
ul K = (A, R) mit Mengen von
Axiome A, d.h. (Schema f
ur) Formeln, deren
G
ultigkeit vorausgesetzt wird,
Regeln R zur syntaktischen Ableitung von
Folgerungen (weitere g
ultige Formeln)
aus Formelmengen (Axiomen und
Hypothesen)
haufige Darstellung von Regeln:
1
I
I
Voraussetzungen (oben): 1 , . . . , n
Folgerung (unten):
(I)
274
eine Einf
uhrungsregel (I)
Junktor in der Folgerung (unten), aber in keiner
Voraussetzung (oben) der Regel
(MP)
275
(I)
(I)
(E)
(E)
(I)
[]
..
.
(I)
(I)
x
(E)
[x 7 t]
(E)
[]
..
.
(E)
(E)
[x 7 t]
(I)
x
[]
..
.
t=t
(MT)
(=I)
276
Ableitungen in Kalkulen
gegeben: Kalk
ul K = (A, R),
Formelmenge (Hypothesen, Annahmen)
Definition (induktiv): Ableitung der Formel aus in K
IA: Ist eine Hypothese (also ) oder ein Axiom, dann
ist
eine Ableitung f
ur aus in K .
IS: Sind
1
Bn
eine Ableitung f
ur aus in K .
277
Beispiel Taxi
Ableitungsbaum f
ur {v (t p), v , p} ` t:
v
v (t p)
p
(E)
p (I)
t p
(MT)
t (E)
t
(Annahme)
2. v (t p)
(Annahme)
3. t p
4. p
(Annahme)
5. p
(I) mit 4
6. t
7. t
(E) mit 6
278
Modellierung in Logiken
Haufige Fragen f
ur gegebene Strukturen, Interpretationen, Formeln
und Formelmengen:
I
Erf
ullt eine gegebene Struktur / Interpretation eine gegebene
Formel / Formelmenge?
Gultigkeitsproblem
(Allgemein)-G
ultigkeitsproblem in einer Logik:
gegeben: Formel in dieser Logik
Frage:
Ist allgemeing
ultig?
Logiken, f
ur die diese Aufgabe algorithmisch l
osbar ist, heien
entscheidbar.
Erf
ullbarkeits- und Folgerungs-Probleme lassen sich auch als
G
ultigkeits-Probleme darstellen.
Die klassische Aussagenlogik ist entscheidbar.
(Uberpr
ufung endlich vieler endlicher Strukturen gen
ugt)
Beispiele f
ur Verfahren zur L
osung dieser Aufgaben in der
Aussagenlogik:
I
SAT-Solver
281
Unentscheidbarkeit
X)
Satz
Es existiert kein Algorithmus, der f
ur jede beliebige Formel
FOL(, X ) entscheidet, ob allgemeing
ultig ist.
282
I
I
Aussagen u
ber welche Bereiche lassen sich u
berhaupt
formulieren?
kompakte Darstellung typischer Aussagen
Verstandlichkeit der Formalisierung
283
hohe Ausdrucksstarke,
kompakte, verstandliche Formulierungen,
unentscheidbar
klassische Aussagenlogik AL
(Spezialfall, Fragment von FOL):
I
I
I
geringe Ausdrucksstarke
umfangreiche Darstellung
entscheidbar
Speziallogiken f
ur verschiedene Anwendungsbereiche, z.B.
I Temporallogiken (Spezifikation, Verifikation von Systemen)
I Hoare-Logik (Spezifikation, Verifikation imperativer Software)
I Beschreibungslogiken (Wissensextraktion aus Ontologien,
Semantic Web)
oft entscheidbare Fragmente von FOL mit modifizierter Syntax
mehr dazu in Lehrveranstaltungen spater im Studium
284
N3
x N
(x, y ) N2
(x, y , z)
N
N
N
: (x + y ) + z = x + (y + z)
: x +0=x
: x +y =y +x
u {a, b} : (len(u) = 0) (u = )
(u, v ) ({a, b} )2 : len(u v ) = len(u) + len(v )
(u, v ) ({a, b} )2 : (u v v ) (len(u) len(v ))
285
I
I
Signatur = ( , F , R ) mit
Konkrete Datentypen
(konkreter) Datentyp:
I
(= algebraische Struktur)
Beispiele:
I
Modellierungsbeispiel ID-Nummern
Aufgabe:
Verwaltung einer (endlichen) Menge ganzer Zahlen (z.B. ID-Nummern),
so dass festgestellt werden kann, ob eine Zahl darin enthalten ist und
Zahlen zur Menge hinzugef
ugt und daraus entfernt werden konnen.
Sorten (Wertebereiche): , 2N , {t, f } (Wahrheitswerte)
Signatur: Funktionen zum Finden, Hinzuf
ugen, Entfernen, . . .
contains :
2N {t, f }
add, remove : 2N 2N
F =
isempty :
2N {t, f }
:
2N
N
N
n
s 2N n
=
s 2N n
s 2N m, n
s 2N n
N
N
N
N
N
:
:
:
:
:
isempty() = t,
contains(, n) = f ,
contains(add(s, n), n) = t,
contains(remove(s, n), n) = f ,
add(add(s, n), m) = add(add(s, m), n),
add(add(s, n), n) = add(s, n), . . .
289
Modellierungsbeispiel Navigation
ADT f
ur (Blickrichtung in) Himmelsrichtungen Norden, Osten,
S
uden, Westen
mit Operationen f
ur Rechts- und Linksabbiegen und Umlenken
ADT Himmelsrichtungen (Spezifikation):
Sorten: eine Sorte (Himmelsrichtung) HR = {N, O, S, W}
Signatur:
N, O, S, W :
HR
rechts, links, um : HR HR
Axiome:
rechts(N) = O, links(N) = W, . . .
um(N)
= S, um(O) = W, . . .
h HR : rechts(links(h)) = h,
h HR : links(rechts(h)) = h,
h HR : rechts(rechts(h)) = um(h), . . .
291
A = ({(0, 1), (1, 0), (0, 1), (1, 0)}, JKA ) mit
JNKA = (0, 1), JOKA = (1, 0), JSKA = (0, 1), JWKA = (1, 0),
x
x
(x, y ) : JrechtsKA (x, y ) = R
JlinksKA (x, y ) = L
y
y
(x, y ) : JumKA (x, y ) = (x, y )
Ist diese Implementierung korrekt (d.h. Modell aller Axiome)?
I
Modellierungsbeispiel Papierstapel
Individuenmengen:
I
I
I
I
Funktionen:
top : Stapel Blatt
oberes Blatt auf dem Stapel
pop : Stapel Stapel
oberes Blatt vom Stapel entfernen
push : Blatt Stapel Stapel
Blatt oben auf den Stapel legen
293
=
=
=
=
=
t
f
e
s
s
295
isEmpty(push(e, s))
top(push(e, s))
pop(push(e, s))
s S e E : push(top(s), pop(s))
(1)
(2)
(3)
(4)
(5)
t
f
e
s
s
(4)
(3)
(3)
top(push(b, s)) = b
top(push(b, new))
296
Ubertragung der L
osung vom Modellbereich in die Realitat
298
Modellierung Ubertragung
aller relevanten Informationen von der
Realitat in einen Modellbereich (geeignet gewahlt) durch
Analyse und Formalisierung der Eigenschaften von
Aufgabenbereich (Kontext): (strukturierte) Daten,
Eigenschaften, Zusammenhange
Eingabedaten: Typ, m
ogliche Werte, Einschrankungen
Ausgabedaten (L
osung): Typ und Anforderungen:
Einschrankungen
Zusammenhange mit den Eingabedaten
Formalisierung in abstrakten Datentypen (ADT)
Losung der Aufgabe im Modellbereich mit
vorhandenen Methoden, z.B.
SAT-Solver, SW-Bibliotheken
speziellen (eigens entwickelte) Algorithmen
(Realisierung in konkreten Datentypen, Implementierung)
Ubertragung
der L
osung aus Modellbereich in Realitat
299
Modellierungsbeispiel: Winterbekleidung
Kontext (informal):
I
M
utze und Handschuhe tragt er nie zusammen.
Modellierungsbeispiel: Winterbekleidung
Idee (Losungsstrategie): L
osung mit SAT-Solver
Losungsprozess:
1. Formale Darstellung des Kontext als (aussagenlogische)
Formelmenge
= {m s h, (h s) m, (m h), h s}
2. Formale Darstellung der Aufgabestellungen (Fragen)
1 = s, 2 = h m, 3 = h
3. Ubersetzung
der Folgerungsprobleme |= i in
Erf
ullbarkeitsprobleme
( |= i gdw. {i } unerf
ullbar)
4. Darstellung von {i } als CNF, z.B. f
ur 1 = s:
= (m h s) (m h s) (m h) (h s) (s h) (s)
5. Darstellung im DIMACS-Format
6. Losung der Erf
ullbarkeitsprobleme mit einem SAT-Solver
7. Ubersetzung
der Ergebnisse in Antworten auf die Fragen:
unerf
ullbar 7 ja, erf
ullbar 7 nein
301
Algorithmen
(Wiederholung aus LV zu Programmierung)
Algorithmus: in Schritte geordnete Arbeitsvorschrift
I
endlich beschriebene
schrittweise ausgef
uhrte
Arbeitsvorschrift
zur Losung einer (Berechnungs-)Aufgabe,
d.h. zur Transformation einer Eingabe in eine Ausgabe
zur Ausf
uhrung eines Algorithmus ist n
otig:
Akteur / Maschine, welche die Beschreibungssprache interpretieren
kann
302
N
P
Nachbedingung: Ausgabe s N mit s = ni=1 i
Vorbedingung: Eingabe n
N
N
s0
f
ur jedes i 1, . . . , n :
s s +i
Algorithmus : Summe2
Eingabe : n
Ausgabe : s
s
N
N
n(n+1)
2
303
N:t k =x
Menge aller gemeinsamen Teiler von x N und y N:
T (x, y ) = {t N | (t|x) (t|y )}
I gr
oter gemeinsamer Teiler von x N und y N
t | x gdw. k
ggT(x, y ) = t
gdw.
Spezifikation (Anforderungen):
N, y N
Nachbedingungen (an Ausgaben): z N mit z = ggT(x, y )
Vorbedingungen (an Eingaben): x
304
N:
N22 :
N :
x
(x, y )
(x, y )
((x > y )
ggT(x, x) = x
ggT(x, y ) = ggT(y , x)
(ggT(x y , y ) = ggT(y , x)))
f
uhren zur Idee des ( einfachen ) Euklidischen Algorithmus:
Algorithmus : Gr
oter gemeinsamer Teiler
Eingabe : x , y
Ausgabe : ggT(x, x)
solange x 6= y :
wenn x > y dann
x x y
sonst
y y x
R
uckgabe x
305
Algorithmen-Entwicklung
1. Analyse der informalen Aufgabenstellung
2. (formale) Spezifikation:
Was (welche Berechnungsaufgabe) soll gel
ost werden?
exakte (formale) Beschreibung der Aufgabe:
I Anforderungen an Eingaben des Algorithmus
I Anforderungen an Ausgaben des Algorithmus
I Zusammenhang zwischen Ein- und Ausgabe
3. Entwurf des Algorithmus:
Wie soll es gel
ost werden?
I formale Darstellung der Arbeitsschritte
I zu jedem Schritt:
I
I
I
4. Verifikation:
Nachweis der Korrektheit des Algorithmenentwurfes bzgl. der
Spezifikation
5. Realisierung (Implementierung)
307
I
I
I
I
Problemverstandnis,
Abstraktion (Auswahl relevanter Eigenschaften),
Dokumentation wahrend des Entwicklungsprozesses,
Ideen f
ur L
osungsansatze
308
Algorithmen Spezifikation
Ausgangspunkt:
Ergebnis:
309
Beispiel: Minimum-Suche
informale Aufgabenstellung:
Entwurf eines Verfahrens, welches in jeder Folge nat
urlicher Zahlen das
Minimum findet
formale Spezifikation:
Vorbedingung: Eingabe (x1 , x2 , . . . , xn )
Nachbedingung: Ausgabe m
I
I
N mit
i {1, . . . , n} : m xi und
i {1, . . . , n} : m = xi
Algorithmus : Minimum
Eingabe : x = (x1 , . . . , xn )
Ausgabe : m
m x1
f
ur jedes i 2, . . . , n :
wenn xi < m dann
m xi
310
Himmelsrichtungen (Wiederholung)
(Blickrichtung in) Himmelsrichtungen
Norden, Osten, S
uden, Westen
mit Operationen f
ur Rechts- und Linksabbiegen und Umlenken
Himmelsrichtungen (Zustande) {N, O, S, W }
Norden, Osten, S
uden, Westen
Operationen (Aktionen) {R, L, U}
rechts drehen, links drehen, umdrehen
Ausf
uhrung einer Aktion bewirkt
Ubergang
(Relation) zwischen zwei Zustanden
d.h. jede Aktion a A definiert eine zweistellige Relation (a) auf
der Menge der Zustande,
im Beispiel:
(R) {N, O, S, W }2
(L) {N, O, S, W }
(U) {N, O, S, W }
Uberg
ange zwischen Himmelsrichtungen
gemeinsame Darstellung dieser Relationen als Graph (V , E ) mit
Kantenfarbung
V = {N, O, S, W } Menge der Zustande
E = (R) (L) (U) Kantenrelation
A = {R, L, U} Menge der Aktionen als Kantenfarben
N
R
R
L
L
U
U
L
L
R
R
S
313
Zustandsubergangssysteme
Zustands
ubergangssystem (Q, X , )
Q (endliche) Menge von Zustanden
X endliche Menge von Aktionen
: X (Q Q) Ubergangsrelationen
ordnet jeder Aktion a X eine Relation
(a) Q Q zu
(Graph mit Kantenfarbung, Farben: Aktionen)
Spezifikation (formale Beschreibung von Anforderungen) von
Zustands
ubergangssystemen
Darstellung der Eigenschaften von
I
Zustanden
(zulassigen) Aktionen
reale Automaten,
z.B. Getranke-, Fahrschein, Bankautomaten
Verkehrssysteme,
z.B. Stellwerk, Ampelschaltungen
Bedien-Oberflachen,
z.B. Folgen von Bedienoperationen
Digitaltechnik, Schaltwerke
Geschaftsprozesse
Spiel-Ablaufe
315
Beispiel: Munzschliefach
Aktionen: A aufschlieen
Eigenschaften: g bezahlt
Z zuschlieen
o offen
O T
ur
offnen
b belegt
S T
ur schlieen
G Geld einwerfen
Anforderungen (Spezifikation), z.B.
Am M
unzschliefach sollen nur Ablaufe (Wort w {A, Z , O, S, G } )
moglich sein, die folgende Anforderungen (Eigenschaften) erf
ullen:
I
Offene Facher k
onnen nicht zugeschlossen werden.
x(o(x) yZ (x, y ))
316
Beispiel Munzschliefach
Entwurf des Systems:
{b}
O
{o}
S
{g , o}
Z
{g }
O
Beispiele f
ur m
ogliche Ablaufe (wahrend eines Tages)
w {A, Z , O, S, G } :
OGSZAGSZA: zwei vollstandige Belegungszyklen
OSOSOS: T
ur wiederholt
offnen und schlieen
I
I OSOGSOSZASOSOGSZASO
Jeder m
ogliche Ablauf erf
ullt die Spezifikation (Anforderungen):
x(o(x) yZ (x, y )), x(b(x) yG (x, y )),
=
x(g (x) yZ (x, y ))
Menge aller m
oglichen Ablaufe ist regulare Sprache
(Alphabet: Aktionen)
mehr dazu in den LV zur Theoretischen Informatik
317
Ubergangsrelationen
: X (Q Q),
I Q Startzustande,
F Q akzeptierende Zustande.
Beispiel:
A = (X , Q, , {0, 3}, {2, 3, 4}) mit
X
{a, b, c}
{0, 1, 2, 3, 4}
(a) =
(b)
(c)
a,b
a
0
c
3
1
a
c
c
318
Anwendungen z.B.
I
Syntax-Uberpr
ufungen: Bezeichner, Zahl-Darstellungen,
korrekte Schl
usselw
orter
Endliche Automaten k
onnen z.B. nicht
I
Werte ausgeben
Zeichenvorkommen zahlen
Beispiel Kaffee-Automat
(einfacher) Kaffee-Automat:
I
R
uckgabe der gezahlten M
unzen nach Bedienung der R
uckgabetaste
1E
RT / 1 e
KT / K , RT / 2 e
320
Beispiel Schieberegister
Pseudozufallszahlen (als Bitfolgen, z.B. f
ur Verschl
usselung) lassen sich
durch Schieberegister erzeugen
Beispiel: 3 Register mit Inhalten r1 , r2 , r3 , in jedem Schritt:
Ausgabe r3 und
I Ubergang
r1 r2 r3 (r1 XOR r3 )r1 r2
I
100/0
110/0
111/1
011/1
101/1
010/0
001/1
322
Zusatzinformation
z.B. max. Temperatur in Waschmaschine (nur Lesen)
Variablenbelegungen (Lesen und Schreiben)
Warteschlange
Daten werden in der Reihenfolge verarbeitet, in der sie in den
Speicher eingetragen wurden (first in, first out, FIFO)
z.B. Print-Queue
Stack (Kellerautomaten)
Daten werden in der umgekehrten Eingangs-Reihenfolge
verarbeitet (last in, first out, LIFO)
z.B. Socken und Schuhe an- und ausziehen, Palindrome,
korrekte Klammerung
unendliches Arbeitsband (Turing-Maschinen)
einfaches abstraktes Berechnungsmodell mit derselben
Ausdrucksstarke
324
T : A Q 2 Ubergangsrelation
zu jeder Aktion aus
der Menge A der korrekten Spielz
uge (Aktionen):
nach rechts (R) bzw. links (L) springen,
jeweils mit Spezialfallen am Rand
T (R) =
u110v u001v | u|u| 6= 2
{2112 212}
{u011v u100v | v1 6= 2}
{2112 212}
{211v 2100v | v1 6= 2}
v 0112 v 12 | v|v | 6= 2
Uberg
ange der Turing-Maschine).
325
Uberg
ange definiert durch Anweisungen des Programmes
Beispiel: Zustands
ubergangssystem
der Berechnung f
ur Eingabe a = 3, b = 5:
Programm z.B.
c
(3, 5, ?)
(c a)
(3, 5, 3)
(a b)
(5, 5, 3)
(b c)
(5, 3, 3)
327
Beispiele:
I
328
329
sequentielle Ausf
uhrung
nebenlaufiger Systeme
Beispiele (Tafel):
I
Kerze anz
unden (mehrere Ressourcen)
330
Petri-Netz: Definition
nebenlaufiges Automaten-Modell
eingef
uhrt von Carl Adam Petri, 1962
Stellen/Transitions-Petri-Netz N = (S, T , F ) mit
S Menge von Stellen
(Bedigungen, Ressourcen)
T Menge von Transitionen (Aktionen)
wobei S T =
F (S T ) (T S) Menge von Kanten (Relation)
gerichteter bipartiter Graph (S T , F )
Beispiel (Tafel): N = (S, T , F ) mit
S = {A, B, C , D, E , F , G }
T = {a, b, c, d}
F
=
331
Petri-Netz: Zustande
jede Transition t T im Netz N = (S, T , F ) hat
Vorbereich (Eingange): VBN (t) = {s S | (s, t) F }
Nachbereich (Ausgange): NBN (t) = {s S | (t, s) F }
Zustand eines Petri-Netzes N = (S, T , F ):
Abbildung z : S
(ordnet jeder Stelle s S eine Anzahl von Marken zu)
Marken reprasentieren z.B.
I
I
erf
ullte Bedingungen
vorhandene Ressourcen
332
Zustandsubergange
Schalten einer aktivierten Transition t T
I
z2 (s) 1
t
z2 (s) + 1
z1 z2 gdw. s S : z2 (s) =
z2 (s)
Zustanden mit
falls s VBN (t)
falls s NBN (t)
sonst
Petri-Netze: Konflikte
I
I
I
Einschrankung:
I
Beispiel Ampelschaltung
eine Ampel
I
Fuganger-Uberweg
I
Ampel (Paar) f
ur Fahrzeuge
Ampel (Paar) f
ur Fuganger
Fuganger-Uberweg
mit Bedarfsschaltung
(Sensoren f
ur Fuganger und Fahrzeuge)
I
Ampel (Paar) f
ur Fahrzeuge
Ampel (Paar) f
ur Fuganger
sequentielle Ausf
uhrung
Synchronisation
verteilten Systemen
Beispiel Autowerkstatt
(nach Kastens, Kleine B
uning: Modellierung)
Modellierung
I
derer Eigenschaften
338
339
Auspragungen
340
Semantisches Netz
Modellierung in zwei Abstraktionsebenen:
I
341
Ubliche
visuelle Darstellungformen
Entity-Relationship-Diagramme (ERD):
Knoten: I entities (Typ-Namen) als Rechteck
I relationships (Relations-Namen)
als Raute
I Attribute als Ellipse
Kanten zwischen
I zwei entities
I entity und Attribut
I entity und relationship
evtl. Kardinalitaten an Kanten
(mehr dazu in LV zu Datenbanken)
Klassendiagramme in Unified Modeling Language (UML):
Knoten (Klassen): Typ-Namen mit Attributen
Kanten (Assoziationen): Relations-Namen
evtl. Kardinalitaten,
verschiedenen Pfeilarten an Kanten
(mehr dazu in LV zu Softwaretechnik)
342
Auftrage f
ur Fahrzeuge werden nur dann angenommen, wenn
es in der Werkstatt f
ur deren Typ ausgebildete Mechaniker
gibt:
(betrifft(a, f ) hatTyp(f , t))
a A f F t T :
(m M : kann(m, t))
343
Modellierung (Tafel)
sequentiell als Zustands
ubergangssystem
nebenlaufig als Petri-Netz
344
346
Nebenwirkungen:
I
Ubertragung der L
osung vom Modellbereich in die Realitat
349
Mengen
I
Russells Paradox
Leere Menge
Mengenoperationen: , , \,
, n , Tupel, Vektoren
Mengenbeziehungen: ,
zusammengesetzte Wertebereiche
B A = {f : A B},
Multimengen
350
Alphabet A
A , Worter (Folgen),
Operationen ,
(quasi-)lexikographische Ordnung
auf W
ortern
Sprachen
I
Operationen , ,
regulare Ausdr
ucke
regulare Sprachen
auf Sprachen
351
Relationen
I
Eigenschaften
H
ullen (reflexiv, transitiv, . . . )
Verkettung
Inverse
Projektionen
Einschrankung
Quasiordnungen
I
I
Halbordnungen, Hasse-Diagramm
Aquivalenzrelationen
Zerlegungen in Aquivalenzklassen
352
Graphen
I
Reprasentationen
Eigenschaften
spezielle Graphenklassen
Isomorphie
(induzierte) Teilgraphen
Graph-Operationen
Nachbarschaften, Zusammenhang,
Zusammenhangskomponenten
Funktionen
Eigenschaften
Bild
Urbild
Inverse
Verkettung
354
Terme
Sorten
Signaturen
Terme, Grundterme
Baumdarstellung
strukturelle Induktion
Teilterm-Relation
355
(Algebraische) Strukturen
-Struktur
Tragermengen (Individuenbereich)
I
I
Aquivalenz
von Termen und Formeln in Strukturen
mehrsortige Strukturen
konkrete Datentypen
356
Klassische Aussagenlogik
I
Junktoren
Wahrheitswertfunktionen
strukturelle Induktion
Teilformeln
Wahrheitswerttabellen
I
I
erf
ullbar, unerf
ullbar, allgemeing
ultig
semantische Folgerungen
SAT-Solver
beschrankte Ausdrucksstarke
357
Klassische Pradikatenlogik
I
Quantoren
Atome
Interpretationen
erf
ullbar, unerf
ullbar, allgemeing
ultig
I
I
semantische Aquivalenz,
Umformungen
semantische Folgerungen
Sorten
Signatur
Axiome
ADT Menge
ADT Stack
ADT (Softwaer-Schnittstellen)
als Reprasentation von Mengen konkreter Datentypen
(Implementierungen)
359
Algorithmen
Grundbausteine
Verkn
upfungen (Ablauf-Strukturen)
Darstellungsformen
Ausf
uhrung durch Aktoren
Nebenwirkungen
360
Zustandsubergangssysteme
Zustande
Zustands
ubergangs-Relation
Ausf
uhrung imperativer Programme als
Zustands
ubergangssystem
Petrinetze
361
Organisatorisches
vorgesehener Zeitaufwand laut Modulbeschreibung:
Prasenzstudium: 90 h als 4+2 SWS = 6 h jede Woche
Selbststudium: 120 h, verteilt z.B.
Bedingungen f
ur Pr
ufungszulassung:
Opal: b79 70%c = 55 Punkte und
Vorrechnen: 3 Punkte und
Autotool: b28/2c = 14 Punkte
362
Prufung
Wann? am 23. 3. 2016 um 9:00 - 11:00 Uhr
Wo? im Gutenberg-Bau:
Horsale G327, G329, G119, G121, G126
Treffpunkt oder Wegweiser zur Raumverteilung
(Plane):
Foyer Gutenberg-Bau (ab 8:30 Uhr)
Wie? Klausur 120 min
(einzige) zugelassene Hilfsmittel:
ein A4-Blatt handbeschrieben
Was? Inhalt der LV
Viel Erfolg!
363