You are on page 1of 365

Modellierung

Prof. Dr. Sibylle Schwarz


HTWK Leipzig, Fakultat IMN
Gustav-Freytag-Str. 42a, 04277 Leipzig
Zimmer Z 411 (Zuse-Bau)
http://www.imn.htwk-leipzig.de/~schwarz
sibylle.schwarz@htwk-leipzig.de

Wintersemester 2015/16

Informatik
Informatik Lehre von der Darstellung und Verarbeitung von
Information durch Algorithmen
Teilgebiete der Informatik:
theoretisch

technisch

Sprachen zur Formulierung von Information und


Algorithmen,
I M
oglichkeiten und Grenzen
der Berechenbarkeit durch Algorithmen,
I Grundlagen f
ur technische und praktische
(und angewandte) Informatik
I

maschinelle Darstellung von Information


Mittel zur Ausf
uhrung von Algorithmen
(Rechnerarchitektur, Hardware-Entwurf, Netzwerk, . . . )
I
I

praktisch Entwurf und Implementierung von Algorithmen


(Betriebssysteme, Compilerbau, SE, . . . )
angewandt Anwendung von Algorithmen
(Text- und Bildverarbeitung, Datenbanken, KI, Medizin-,
Bio-, Wirtschafts-, Medieninformatik, . . . )
2

Syntax und Semantik


algorithmische Verarbeitung von Information erfordert
geeignete Darstellung der Information
I

Formalismus (Kalk
ul):
Maschinen-( und Menschen-)lesbare Sprache

eindeutige Zuordnung einer Bedeutung zu den Elementen des


Formalismus

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

In welchen Spielzustanden sind keine Z


uge moglich?

Welche Zustande sind aus dem Startzustand erreichbar?

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

Kann der Spieler, der den ersten Zug macht, gewinnen?

Wie kann der Spieler, der den zweiten Zug macht, gewinnen?

Wie kann der Spieler, der den ersten Zug macht, gewinnen?

Gewinnt immer der Spieler, der den ersten Zug macht?

(Wie) Hangt das von der Anzahl der M


unzen zu Beginn ab?
5

Modellierung des Munzenspiels: Zustande


...

...

Zustand (Konfiguration): Momentaufnahme des Spielfeldes


vor oder nach einem (vollstandigen) Spielzug
maschinenlesbare Modellierung eines Spielzustandes, z.B. durch
I

Folge von Stapeln von M


unzen verschiedener Werte, z.B.

...

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, . . .]

endliche Folge nat


urlicher Zahlen (nur relevanter Bereich),
z.B. [5] oder [1, 3, 1] oder [0, 5, 0] oder [0, 1, 3, 1, 0]

...

Abstraktion von Art und Anzahl der Objekte

erm
oglicht einfache Ubertragung
auf ahnliche Aufgaben
6

Modellierung des Munzenspiels: Ablauf

Modellierung aller moglichen Uberg


ange zwischen Zustanden
z.B. als
I

formale Darstellung der Spielregeln


Startzustand : [. . . , 0, 5, 0 . . .]
Spielzug: Ersetzung einer Teilfolge des Zustandes der
Form [x, y + 2, z] durch [x + 1, y , z + 1]
Regel: [x, y + 2, z] [x + 1, y , z + 1]
Spielende , wenn jedes Element der Folge < 2
(kein Zug mehr m
oglich)

formale (graphische) Darstellung aller m


oglichen Spielz
uge
(Tafel)

Modellierung des Verlaufes eines Spieles z.B. als


I

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

Prozess beim Losen von Aufgaben (Problemen)


Analyse der (informalen) Aufgabe, Identifikation von
I Aufgabenbereich (Kontext)
I Eingabedaten (Typ, m
ogliche Werte)
I gew
unschte L
osung
(Typ, Eigenschaften, Zusammenhang mit Eingabe)
Modellierung (Abstraktion, formale Darstellung) von
I Aufgabenbereich (Kontext)
I Anforderungen an Eingaben
I Anforderungen an L
osungen
Modellierung von Daten
und deren Eigenschaften und Beziehungen zueinander
Entwurf einer L
osungsstrategie f
ur die modellierte Aufgabe
(mit vorhandenen oder neuen Methoden)
Modellierung von Ablaufen und deren Eigenschaften
Realisierung der L
osungsstrategie im Modellbereich
Ausf
uhrung der L
osungsstrategie im Modellbereich

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.

2. 2 ist eine rationale oder eine irrationale Zahl.


2 6 .
Also ist 2 irrational.
Abstraktion: gemeinsames Schema

Aus (P oder Q) und (nicht P) lasst sich Q schlieen.


formal: {P Q, P} |= Q
oder allgemeiner (Abstraktion von spezieller Person / Zahl) :
x (((P(x) Q(x)) P(x)) Q(x))
maschinelle Verarbeitung logischer Formeln m
oglich
z.B. durch SAT-Solver, Inferenzsysteme, Prolog-Interpreter
10

Vorteile der formalen Darstellung

Abstraktion von unwichtigen Details


(Entwicklung und Verwendung von Modellen)
Prazisierung der relevanten Aussagen
(eindeutige Semantik)
Systematisches Losen (auch maschinell) von formal dargestellten
Problemen m
oglich
Struktureigenschaften formaler Beschreibungen
Schlussweisen unabhangig von Bedeutung der
Aussagen

11

Aus der Modulbeschreibung


Modul 1010 Modellierung

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

Inhalt der Lehrveranstaltung Modellierung


Einf
uhrung in formale Beschreibungsverfahren in der Informatik
Modellierung von
Aussagen durch aussagenlogische Formeln
Daten durch
I Mengen
I W
orter (Folgen) und Sprachen
I Terme
I Abstrakte Datentypen
Zusammenhangen (Beziehungen) durch
I Relationen
I Graphen
I Strukturen
Ablaufen durch Zustand
ubergangssysteme
Eigenschaften, Anforderungen (f
ur Daten und Systeme) durch
Formeln der Pradikatenlogik (der ersten Stufe)
(Ausblick in nichtklassische Logiken)
13

Lernziele (und Nebenwirkungen)

Fahigkeit zur Abstraktion

Verstandnis der grundlegenden Modellierungs-Formalismen der


Informatik:
Logik, Mengen, Relationen, Graphen, Terme, Strukturen,
Datentypen

anwendungsbereite Kenntnisse zur Modellbildung

Zusammenhange zu anderen Gebieten der Informatik und zur


Mathematik

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

Uwe Kastens, Hans Kleine B


uning:
Modellierung - Grundlagen und formale Methoden,
Hanser 2008

zur Logik
I

I
I

Michael Huth, Mark Ryan: Logic in Computer Schience,


Cambridge University Press 2010
Uwe Sch
oning: Logik f
ur Informatiker, Spektrum, 1995
Martin Kreuzer, Stefan K
uhling: Logik f
ur Informatiker,
Pearson Studium, 2006

15

Organisation der Lehrveranstaltung

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)

Vorlesung jeden Mittwoch und Freitag


(4 h / Woche)

Ubung
(5 Gruppen) Montag/Dienstag
(2 h / Woche)
Wiederholer vor JG 15: mit AMB, (MIB1, MIB2)

I Besprechung der Ubungsserien


(Vorrechnen)
I Fragen zum aktuellen Vorlesungsinhalt
Selbststudium:

(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

(enthalten auch zum L


osen der Ubungsaufgaben
notwendige Definitionen, Herleitungen, Beispiele, . . . )

Ubungsaufgaben
regelmaig und rechtzeitig l
osen,

(Aufgaben vom Typ der) Ubungsaufgaben gehoren


zum Stoff der LV und werden gepr
uft
B
ucher benutzen (Bibliothek, E-Books),

enthalten Erklarungen, zusatzliche Ubungsaufgaben


(Internet-Quellen sind oft unzuverlassig)
Lerngruppen bilden und gemeinsam lernen und Aufgaben losen
Nachfragen bei Dozenten (E-Mail, Sprechzeit, nach der
Lehrveranstaltung,. . . ), Mitstudenten, alteren
Studenten, Fachschaft, . . .
17

Schriftliche Ubungsaufgaben
(Ubungsserien)
I

gestellt jeweils am Mittwoch


(Aufgaben zu den Vorlesungen am Mittwoch und Freitag)

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

Bewertung bis zum folgenden Sonntag


(0: falsch, 1: u
berwiegend richtig, 2: korrekt)

I Besprechung in der darauffolgenden Ubung


Vortrage (Vorrechnen) zu den Aufgabenl
osungen

Ubungsserien
auch unter
www.imn.htwk-leipzig.de/~schwarz/lehre/ws15/modellierung

Nicht im Opal-Kurs eingesendete L


osungen werden nicht gewertet.

18


Seminar (Ubungen)

Lernziele bei der Bearbeitung der Ubungsaufgaben:


I

Nachbereitung der letzten Vorlesung anhand


der Vorlesungsfolien und Literatur (z.B. der angegebenen)

Vorbereitung der nachsten Vorlesung

Vorbereitung der Seminarvortrage zu jeder Aufgabe

Seminar (Ubungen):
I

Besprechung der L
osungen der schriftlichen Ubungsaufgaben,
Vorrechnen zur Pr
ufungszulassung

Fragen zum aktuellen Vorlesungsstoff und zu den neuen

schriftlichen und praktischen Ubungsaufgaben

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,

mindestens drei Vortrage in den Ubungen


(richtiges Vorrechnen der L
osungen)

50% aller Punkte f


ur praktische Pflichtaufgaben (Autotool)

Pr
ufung: Klausur 120 min

Aufgabentypen aus den Ubungsserien


einziges zugelassenes Hilfsmittel:
ein beidseiting handbeschriebenes A4-Blatt
20

Aussagen
Aussage = Behauptung
Beispiele:
I

Es regnet.

Die Strae ist na.

I
I

9 ist eine Primzahl.

3<5

x < 5 (hangt von x ab, keine Aussage)

Ist x < 5? (keine Aussage)

Sei x < 5. (keine Aussage)

Morgen regnet es.

Es ist nicht alles Gold, was glanzt.

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.) = ?

W(Die Strae ist na.) = ?

I
I

W(9 ist eine Primzahl.) = 0

W( 2 ) = 0

W(3 < 5) = 1

W(Morgen regnet es.) = ?

W(Es ist nicht alles Gold, was glanzt.)=1

22

Zusammengesetzte Ausdrucke Junktoren


Junktor (mit zugeordneter Stelligkeit):
Symbol (Syntax) f
ur Verkn
upfung von Aussagen
z.B. und (zweistellig), nicht (einstellig)

Gottlob Frege (18481925):


Die Bedeutung des Ganzen ist eine Funktion der
Bedeutung seiner Teile.
Wahrheitswert eines zusammengesetzten Ausdruckes lasst sich aus
dem Wahrheitswert seiner Teilausdr
ucke berechnen.
Semantik (Bedeutung) eines n-stelligen Junktors :
[] : {0, 1}n {0, 1}
(n-stellige Funktion auf der Menge {0, 1})
Wahrheitswertkonstanten (nullstellige Junktoren):
t mit [t] = 1
f mit [f] = 0
23

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

W(p q) = min(W(p), W(q))

[] = min ist kommutativ, assoziativ


n
^

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

W(p q) = max(W(p), W(q))

[] = max ist kommutativ, assoziativ


n
_

pi = p1 p2 pn

i=1
25

Negation

( 2
I
I

Q)

(meist

2 6

Q)

W( 2 ) = 0

W(( 2 )) = 1

p ist genau dann wahr, wenn p falsch ist.

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(Die Strae ist na.)=?

W(Wenn es regnet, dann ist die Strae na.)=1

p q ist genau dann wahr,


wenn die Aussage p falsch oder die Aussage q wahr ist.

W(p) W(q) W(p q)


0
0
1
0
1
1
1
0
0
1
1
1


W(p q) =

1 falls W(p) W(q)


0 sonst

27


Aquivalenz

3 < 5 gilt genau dann, wenn 0 < 5 3 gilt.


I

W(3 < 5) = 1

W(0 < 5 3) = 1

W(3 < 5 gilt genau dann, wenn 0 < 5 3 gilt.)=1

p q ist genau dann wahr, wenn


entweder beide Aussagen p und q gelten
oder beide nicht gelten.

W(p) W(q) W(p q)


0
0
1
0
1
0
1
0
0
1
1
1


W(p q) =

1 falls W(p) = W(q)


0 sonst

28

Was bisher geschah


(Klassische) Aussagenlogik:
I

Aussage

Wahrheitswerte 0 (falsch) und 1 (wahr)

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)

formale Beschreibung der Situation:


I elementare Aussagen (Atom):
a Anna geht zur Party.
m Max geht zur Party.
p Paul geht zur Party.
h Annas Hund geht zur Party.
P = {a, h, m, p}
I zusammengesetzte Aussage (aussagenlogische Formel):
(((m p) a) (p m)) (a h)
| {z }
|
{z
}
| {z }
(1)

(2)

(3)

30

Aussagenlogische Formeln (Syntax)


Junktoren z.B. t, f (nullstellig), (einstellig),
, , , (zweistellig)
Aussagenvariablen (Atome), z.B. p, q, r , s, . . . oder p1 , p2 , . . .

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

Ist eine Formel, dann ist auch eine Formel.


Sind und Formeln, dann sind auch
, , und Formeln.

IS: (Verallgemeinerung aller Unterpunkte zu IS)


Sind j ein n-stelliger Junktor und 1 , . . . , n Formeln,
dann ist auch j(1 , . . . , n ) eine Formel.
(Aus {1 , . . . , n } AL(P) folgt j(1 , . . . , n ) AL(P).)
31

Aussagenlogische Formeln (Beispiele)


Junktoren der klassischen Aussagenlogik: {t, f, , , , , }
k
urzere Notation:
ohne auere Klammern und Klammern um
Beispiele:
t (t)

Formel ohne Aussagenvariablen

Formel mit Aussagenvariable p

(p q)
(p q)
q

keine Formel (syntaktisch unkorrekt)


Formel mit Aussagenvariablen p, q
keine Formel (syntaktisch unkorrekt)

Baumstruktur (analog arithmetischen Termen)


Beispiel (Tafel):
= ((p q) (r (p q)))
32

Menge aller Aussagenvariablen einer Formel


Definition (induktiv):
F
ur jede aussagenlogische Formel AL(P) ist die Menge var()
aller in vorkommenden Aussagenvariablen definiert durch:
IA: falls = p (Atom), dann var() = {p}
I nullstellige Junktoren (t, f):
IS:
I

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

Anzahl der Variablenvorkommen in einer Formel


Definition (induktiv):
F
ur jede aussagenlogische Formel AL(P) ist die ANzahl von
Varablenvorkommen varcount() definiert durch:
IA: falls = p (Atom), dann varcount() = 1
I nullstellige Junktoren (t, f):
IS:
I

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

Menge aller Teilformeln einer Formel

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

Prinzip der strukturellen Induktion


Beobachtung:
Bestimmung von Variablenmenge, Gr
oe, Menge der Teilformeln
einer aussagenlogischen Formel geschah nach demselben Schema:
Definition einer Funktion f : AL(P) X durch
Induktion u
ber die Struktur der Formel
F
ur jede aussagenlogische Formel AL(P) ist der Funktionswert
f () definiert durch:
IA: Definition des Funktionswertes f () f
ur Atome = p
(Blatter im Formelbaum)
IS: Definition des Funktionswertes f () f
ur zusammengesetzte
Formeln durch die Funktionswerte der Teilformeln von

36

Aussagenlogische Interpretationen (Semantik)

(Belegungen der Aussagenvariablen mit Wahrheitswerten)

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 )

Beispiel: P = {p, q} und W mit W (p) = 1 und W (q) = 0

37

Wahrheitswerte fur Formeln


Erweiterung der Belegung W : P {0, 1} zu einer Funktion
W : AL(P) {0, 1}
Der Wert W () der Formel in der Interpretation W wird induktiv mit
den Wahrheitswertfunktionen der Junktoren
aus den Werten der Teilformeln von bestimmt:
IA: falls = p (Atom), dann W () = W (p)
IS:

I
I

nullstellige Junktoren t, f: W (t) = 1 , W (f) = 0


einstelliger Junktor :
f
ur = gilt W () = []W () = 1 W ()
zweistellige Junktoren {, , , }:

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 )

Beispiel (Tafel): = ((p q) (r (p q)))


W (p) = 0, W (q) = 1, W (r ) = 0, W () = . . .
38

Wahrheitswerttabellen
Darstellung der Werte einer Formel AL(P) in
allen m
oglichen Interpretationen W (P) in einer Tabelle

Jede Zeile reprasentiert eine Interpretationen W : var() : {0, 1}


W (p1 ) W (p2 )
0
0

0
0

..
.
1

W (pn1 ) W (pn ) W ()
0
0
0
1
1

Beispiel (Tafel): ((p q) (r (p q)))


Wahrheitswerttabellen von Formeln mit n Aussagenvariablen sind
Wertetabellen n-stelliger Boolescher Funktionen
f : {0, 1}n {0, 1}.
Die Semantik jeder aussagenlogischen Formel mit n
Aussagenvariablen ist eine n-stellige Boolesche Funktion.
39

Erfullbarkeit und Allgemeingultigkeit


Eine Formel AL(P) heit
erf
ullbar , wenn (wenigstens) eine Belegung W : P {0, 1}
mit W () = 1 existiert.
Beispiel: p p
unerf
ullbar (Widerspruch), wenn keine Belegung W : P {0, 1}
mit W () = 1 existiert.
(wenn also f
ur jede Belegung W gilt W () = 0),
Beispiel: p p
allgemeing
ultig (Tautologie), wenn f
ur jede Belegung
W : P {0, 1} gilt W () = 1
(wenn also keine Belegung W mit W () = 0
existiert).
Beispiel: p p

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 ().

Aquivalente Formeln haben dieselbe Semantik (Wahrheitswertfunktion).

Nachweis der Aquivalenz


von Formeln z.B. durch Wahrheitswerttabellen
Beispiele:
pq

p q

pq

p q

pq

(p q)

pq

(p q) (q p)

Achtung: Das Symbol ist kein Junktor (Syntax), sondern ein


Symbol f
ur eine Beziehung zwischen Formeln (Semantik).
41


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

Was bisher geschah: klassische Aussagenlogik


Syntax Symbole und Struktur
I
I

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

Prinzip der strukturellen Induktion u


ber Baumstruktur von Formeln
Semantik (Bedeutung der Syntaxelemente)
I
I
I
I
I
I

eines Junktors: Wahrheitswertfunktion


einer Aussagenvariablen: Wahrheitswert
aller Aussagenvariablen einer Menge P:
durch Belegung (Interpretation) W : P {0, 1}
einer Formel aus AL(P): Funktion
W : AL(P) {0, 1} Boolesche Funktion
Erf
ullbarkeit, Allgemeing
ultigkeit von Formeln

Aquivalenz
von Formeln, z.B. p q p q
43

Modelle aussagenlogischer Formeln

Die Aussagenvariablen-Belegung W : P {0, 1}


erf
ullt die Formel AL(P) (ist ein Modell f
ur )
genau dann, wenn W () = 1.

Beispiel: Modelle (erf


ullende Belegungen) f
ur
p (q p) AL({p, q}):
W10 mit W10 (p) = 1 und W10 (q) = 0,
W01 mit W01 (p) = 0 und W01 (q) = 1,
W11 mit W11 (p) = 1 und W11 (q) = 1

44

Modellmengen aussagenlogischer Formeln


Menge aller Modelle von AL(P):
Mod() = {W : P {0, 1} | W () = 1}
(k
urzere Darstellung als WW-Tabellen)
Beispiele:
Mod(p (q p)) = {W10 , W01 , W11 },
Mod(p p) = {W0 , W1 } = {W : {p} {0, 1}},
Mod(p p) =
Formel AL(P) ist
unerf
ullbar gdw. Mod() =
erf
ullbar gdw. Mod() 6=
allgemeing
ultig gdw. Mod() = {W : P {0, 1}}
aquivalent zu AL(P) gdw. Mod() = Mod()
45


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

Umformen von Formeln


Satz (Ersetzbarkeitstheorem)
F
ur drei Formeln , , AL(P), wobei und eine
Teilformel von ist, gilt 0 ,
wobei 0 entsteht, indem in ein Vorkommen von durch
ersetzt wird.

(Nachweis durch strukturelle Induktion)


Formeln konnen also durch Ersetzung aquivalenter Teilformeln in
semantisch aquivalente Formeln umgeformt werden.

(Anderung
der Syntax bei unveranderter Semantik)

47

Junktorbasen (vollstandige Operatorensysteme)


Eine Menge J von Junktoren heit genau dann Junktorbasis
(vollstandiges Operatorensystem), wenn zu jeder aussagenlogische
Formel eine aquivalente aussagenlogische Formel (d.h. )
existiert, wobei nur Junktoren aus der Menge J enthalt.
Beispiele: Die Mengen
I

{, , }

{, }

{, }

{, }

{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

Satz uber Normalformen


Satz
Zu jeder Formel AL(P) existieren
I

eine aquivalente Formel 1 AL(P) in NNF,


eine aquivalente Formel 2 AL(P) in CNF und

eine aquivalente Formel 3 AL(P) in DNF.

Beweis (konstruktiv) durch Angabe einer Transformationsvorschrift


beliebiger Formeln in Normalformen:
1. Formeln mit Junktoren , , t, f schrittweise durch Formeln
mit ausschlielich , , ersetzen
2. Konstruktion einer NNF durch (mehrmalige) Anwendung der
deMorganschen Regeln
3. Konstruktion der CNF und DNF durch (mehrmalige)
Anwendung der Distributivgesetze auf die NNF
Beispiele (Tafel): p q , (a b) c
50

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

Test aller moglichen Belegungen, aufwendig


f
ur groe Anzahl an Aussagenvariablen unpraktikabel

Umformung in eine zu aquivalente DNF


Test von auf Erf
ullbarkeit
f
ur groe Anzahl an Aussagenvariablen unpraktikabel
Konstruktion einer Formel mit

1. erf
ullbar gdw. erf
ullbar und
2. Erf
ullbarkeit f
ur einfach zu testen

CNF-SAT ist schwierig zu l


osen. (zeitaufwendig)
52

SAT-Solver
SAT-Solver: Werkzeug zum L
osen von CNF-SAT-Instanzen
SAT-Solver
I

benutzen heuristische Verfahren,

finden f
ur praktische Probleme oft schnell eine Losung,

meist Ausgabe einer erf


ullenden Belegung (wenn eine existiert)

aktive Forschung auf diesem Gebiet:


jahrlich Wettbewerbe (www.satcompetition.org/)
typische Anwendung von SAT-Solvern:
1. Modellierung des urspr
unglichen Problems P als
CNF-SAT-Instanz P 0 (Darstellung als CNF )
2. Losung von P 0 mit SAT-Solver

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

die Herren Lehmann, M


uller und Richter

,
LT MS
,

,
RS LT
,
, MS MT MB , . . .

,
LS LB
, ...

Darstellung als CNF


=

(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

Losung mit SAT-Solver


Eingabe im DIMACS-Format f
ur CNF (ASCII):
erste Zeile enthalt Typ (cnf), Anzahl der Aussagenvariablen und
Disjunktionen (z.B. p cnf 9 25)
I Aussagenvariablen {1, . . . , n}
I jede Disjunktion (Klausel) eine Zeile,
- statt , Literale durch Leerzeichen getrennt,
0 markiert Ende der Klausel
I

Darstellung der Bahnfahrer-Aufgabe als CNF in DIMACS-Format


p cnf 9 25
c 1:LS, 2:LT, 3:LB, 4:MS, 5:MT, 6:MB, 7:RS, 8:RT, 9:RB
-3 5 0
-2 4 0
...
L
osung mit SAT-Solver, z.B. MiniSat, Lingeling
SATISFIABLE
1 -2 -3 -4 -5 6 -7 8 -9 0
Ausgabe: erf
ullende Belegung {1 7 1, 6 7 1, 8 7 1} (sonst 0)
wahr sind also 1 : LS, 6 : MB und 8 : RT
55

Modellierungsbeispiel: n-Damen-Aufgabe

Frage: Lassen sich n Damen so auf einem n n-Schachbrett


anordnen, dass keine Dame eine andere bedroht?
Losung: zulassige Anordnung, falls m
oglich

Bedingungen f
ur zulassige Anordnungen:
I

n Damen auf dem Feld, also in jeder Zeile (wenigstens) eine

keine Zeilenbedrohung

keine Spaltenbedrohung

keine diagonale Bedrohung

56

Reprasentation der 3-Damen-Aufgabe


9 Felder Aussagenvariablen {x1 , . . . , x9 }
Bedingungen:
I
I

in jeder Zeile (wenigstens) eine Dame


x1 x2 x3 ,
x4 x5 x6 ,

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

keine diagonale Bedrohung


x1 x5 ,
x2 x6 ,
x3 x5 ,
x2 x4 ,

x3 x7 ,

x9
x8
x7
x8

1.3
Man vergleiche mit den Kontext-Bedingungen aus UA
57

4 Damen
16 Felder Aussagenvariablen {x1 , . . . , x16 }

eine mogliche Losung (Modell, erf


ullende Belegung):
1 2 3 4 5 6 7 8 9 10 11 12
13 14 15 16

58

Einsatz von SAT-Solvern

typische Anwendungen f
ur SAT-Solver z.B.
I

Schaltkreisentwurf und -verifikation

Konfiguration

Model-Checking

Planen

Constraint-Losen

kombinatorische Suchprobleme, z.B.


Graph-Farbungen (Register-Zuordnung, Sudoku)

59

Beschrankte Ausdrucksstarke der Aussagenlogik


I

Aussagen immer zweiwertig


(nur wahr oder falsch, keine Zwischenwerte),
z.B.: Die Rose ist rot. Das Bier ist kalt. Der Student ist fleiig.
(Erweiterung zu mehrwertigen Logiken, fuzzy logic)

Aussagen immer absolut


(keine Abhangigkeit vom Kontext, z.B. Ort, Zeitpunkt),
z.B.: Es regnet. x > 3
(Erweiterung zur Modal- und Temporallogiken)

Aussagen u
ber alle Elemente groer Mengen aufwendig

(Erstellung, Platzbedarf), z.B. Zuordnungen

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.

Individuenbereich (Objekte): Lebewesen


Individuen (Konstanten) Max
Eigenschaften: istFisch, schwimmt
pradikatenlogische Formeln:
1. istFisch(Max)
2. x(istFisch(x) schwimmt(x))
3. schwimmt(Max)
61

Modellierung in Pradikatenlogik

Grundannahme:
Die zu modellierende Welt besteht aus Individuen, die
Eigenschaften haben und zueinander in Beziehungen (Relationen,
Funktionen) stehen.

Aussagen beschreiben Eigenschaften von und und Beziehungen


zwischen Individuen.

Formalisierung solcher Aussagen durch pradikatenlogische Formeln.

62

Pradikatenlogische Aussagen Beispiele


Personen sind genau dann Geschwister, wenn sie dieselbe
Mutter oder denselben Vater haben.
I A ist genau dann Nachfahre von B, wenn B As Vater oder As
Mutter ist oder ein Elternteil von A Nachfahre von B ist.
I Nachfahren derselben Person sind verwandt.
Individuenbereich: Menge von Personen
Beziehungen: Nachfahre, verwandt, Geschwister
Funktionen: Mutter, Vater
I

Primzahlen sind genau diejenigen nat


urlichen Zahlen, die
genau zwei verschiedene Teiler haben.
I Gerade Zahlen sind genau diejenigen nat
urlichen Zahlen, die
durch 2 teilbar sind.
I Es existieren gerade Primzahlen.
I Nachfolger ungerader Primzahlen sind nicht prim.
I Das Quadrat jeder geraden Zahl ist gerade.
Individuenbereich: Menge
aller nat
urlichen Zahlen
Eigenschaft: prim, gerade
Beziehung: teilt
Funktion: Nachfolger, Quadrat
I

63

Atome (elementare Aussagen)

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

Pradikatenlogik (der ersten Stufe) Syntax


bekannt: aussagenlogische Junktoren t, f, , , , ,
neu: pradikatenlogische Atome, Quantoren ,

Definition (induktiv)
Die Menge aller Formeln der Pradikatenlogik ist definiert durch:
IA: Alle Atome sind Formeln.
IS:

I
I
I

t und f sind Formeln.


Ist eine Formel und x eine Individuenvariable,
dann sind auch , x, x Formeln.
Sind und Formeln, dann sind auch
, , und Formeln.

Baumstruktur der Formeln


65

Modellierung in Pradikatenlogik Beispiel Topfdeckel


Auf jeden Topf passt ein Deckel.
I

Individuenbereich: Kochgeschirr

Eigenschaften: ist-Topf T ( ), ist-Deckel D( )

Beziehung: passt-auf P( , )

Schrittweise Entwicklung einer Formel:


1. Atome: P(x, y ) (x passt auf y ),
D(x) (x ist ein Deckel), T (y ) (y ist ein Topf)
2. Formel D(x) T (y ) P(x, y )
Der Deckel x passt auf den Topf y .
3. Formel x (D(x) T (y ) P(x, y ))
Es gibt einen Deckel, welcher auf den Topf y passt.
4. Formel y x (D(x) T (y ) P(x, y ))
Zu jedem Topf gibt es einen Deckel, der auf diesen Topf passt.
bedeutet dasselbe wie: Auf jeden Topf passt ein Deckel.
66

Modellierung in Pradikatenlogik Beispiel Geschwister


Personen sind genau dann Geschwister, wenn sie dieselbe Mutter oder
denselben Vater haben.
I
I

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

(Zwei beliebige) Personen sind genau dann Geschwister, wenn Sie


dieselbe Mutter oder denselben Vater haben.
xy (G (x, y ) (z (M(z, x) M(z, y )) u (V (u, x) V (u, y ))))
67

Was bisher geschah


Modellierung von Aussagen
I

(klassische) Aussagenlogik
I

Syntax: Atome sind Aussagenvariablen


Junktoren , , , ,
induktive Definition: Baumstruktur der Formeln
Semantik: Belegungen, WW-Tabellen, Modellmenge

strukturelle Induktion

I
I

erf
ullbare, allgemeing
ultige Formeln

Aquivalenz
von Formeln

(klassische) Pradikatenlogik
I

Syntax: strukturierte Aussagen (Atome)


(Eigenschaften und Beziehungen zwischen Individuen)
Quantoren ,

Modellierungsbeispiele (Topfdeckel, Geschwister)


68

2.6)
Modellierungsbeispiel Bauteile (UA
I

Die Baugruppen A und D k


onnen nur gemeinsam auftreten. a d

Der Einbau von D macht den Einbau von C erforderlich.

Jede Variante, die A nicht enthalt, muss B enthalten.

B und D schlieen einander aus.

d c
a b
(b d)

alle Bedingungen in einer Formel


(a d) (d c) (a b) ((b d))
aquivalente CNF (durch aquivalente Umformungen)
(a d) (d a) (d c) (a b) (b d)
DIMACS mit 1 f
ur a, 2 f
ur b, 3 f
ur c, 4 f
ur d:
p cnf 4 5
-1 4 0 1 -4 0 -4 3 0 1 2 0 -2 -4 0
Ausgabe SAT-Solver (minisat): SATISFIABLE SAT -1 2 3 -4 0
reprasentiert L
osung aus Bauteilen B und C
andere Varianten durch Hinzuf
ugen von Klauseln (Zeilen), die bekannte
Modelle aussschlieen, z.B. 1 -2 -3 4 0
69

Modellierungsbeispiel Skat
Modellierung:
(wichtig)

Jede Karte hat Farbe und Wert

deutsches oder franz


osisches Blatt?

Ordnung zwischen Karten derselben Farbe


(wichtig)
z.B. 7 < 8 < 9 < 10 < B < D < K < A bei Null-Spiel

Bedienregeln

Trumpfregeln

(egal)

Formale Darstellung der Karten:


Jede Karte ist eindeutig reprasentiert durch Paar von
Farbe aus der Menge {, , , } und
Wert

I
I

Zahl aus der Menge {7, 8, 9, 10} oder


Bild aus der Menge {B, D, K , A}
70

Modellierungsbeispiel gerade Zahlen


Gerade Zahlen sind genau die durch 2 teilbaren ganzen Zahlen.
Individuen:

Z (Menge aller ganzen Zahlen)

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

als pradikatenlogische Formel:

Z mit 2y = x existiert.

(x ) y ((y ) (2y = x))


Menge aller geraden Zahlen:

Z
{2y | y Z}
2Z

{x | (x ) y ((y ) (2y = x))}


=
=

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

Menge A heit endlich gdw. eine Zahl n existiert, so da A


genau n Elemente enthalt.
Die leere Menge ist die (eindeutig bestimmte) Menge,
die kein Element enthalt.
Beispiele:

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

nicht endlich (Widerspruchsbeweis)

|A| heit Machtigkeit (Kardinalitat) von A.


Beispiele:
I

|{rot, gr
un, blau, gelb}| = 4

|{x | x

|{a, b, {a, b}, {a, a, b}, b}| = 3

|| = 0

N x 10}| = 11
73

Beziehungen zwischen Mengen


Element-Relation
Notation x M f
ur: x ist Element der Menge M
Negation kurz 6: a 6 M gdw. (a M)
Beispiele: a {a, b, 2}, {a} 6 {a, b, 2}
Teilmengen-Relation
A B gdw. x (x A x B)
Beispiele: {a, b} {2, a, b, {2}}, {a} {a},
{a} 6 {{a}}, aber {a} {{a}}
= Mengengleichheit
A = B gdw. x (x A x B)
6 {a, {b}, 2}
Beispiele: {a, b, 2} = {2, a, b, 2}, {a, b, 2} =
echte Teilmenge
A B gdw. (A B) (A = B)
Beispiele: {2, a} {a, b, 2},
{2, a} 6 {2, a} , {2, a, b} 6 {2, a}

74

Operationen auf Mengen


Vereinigung A B = {x | (x A) (x B)}
(x (A B)) (x A) (x B)
Beispiel: {a, c, d} {b, c} = {a, b, c, d}
Schnitt A B = {x | (x A) (x B)}
(x (A B)) (x A) (x B)
Beispiel: {a, c, d} {b, c} = {c}
Differenz A \ B = {x | (x A) (x B)}
(x (A \ B)) (x A) (x B)
Beispiel: {a, c, d} \ {b, c} = {a, d}
symmetrische Differenz AB = (A \ B) (B \ A)= (A B) \ (A B)
Beispiel: {a, c, d}{b, c} = {a, b, d}
bei gegebenem Universum U mit A U:
Komplement A = U \ A = {x U | (x A)}
(x A) (x A)
Beispiel: F
ur U = {a, b, c, d} gilt {a, c} = {b, d}
75

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

Was bisher geschah


Modellierung von Aussagen
in klassischer Aussagen- und Pradikaten-Logik

Modellierung von Daten durch Mengen


I

Darstellung: extensional, intensional

leere Menge

Mengenbeziehungen , , =,

Mengenoperationen , , ,

Potenzmenge der Menge M: 2M

Machtigkeit (Kardinalitat) endlicher Mengen

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

Menge aller in einem Skatblatt aus 7 Karten moglichen


Farbkombinationen
= Menge aller nichtleeren Teilmengen von {, , , }
= 2{,,,} \ {}
(24 1 = 15 Moglichkeiten)

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

A = Menge aller Frauen und P(x), falls x blond


B = Menge aller blonden Frauen

A = Menge aller Skatkarten und P(x), falls x bedient (, A)


B = {(, W ) | W {7, 8, 9, 10, B, D, K }}

A = {x | (x ) (x 100)} = {0, . . . , 100} und


P(x), falls x gerade
B = {x | (x ) (x 100) (2|x)}

N
N

N und P(x), falls x 100


I A = N und P(x), falls 2|x und x 100
I

A=2

80

Russells Paradox
(Problem der naiven Mengenlehre)
I

Menge A, die alle Mengen (als Elemente) enthalt

Mengeneigenschaft P: P(x), falls (x x)

Wenn die Menge A existiert, dann existiert nach


Aussonderungsprinzip auch die Menge
B = {x | (x A) P(x)} = {x | (x A) (x x)}
Gilt B A ? Nein

(Tafel)

Also kann keine solche Menge A existieren, die jede Menge


(und damit insbesondere auch B) als Element enthalt.
alternative Formulierungen: Barbier, Kreter
81

(Kartesisches) Produkt von Mengen


A B = {(x, y ) | (x A) (y B)}

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,. . .

Namen = Vornamen Familiennamen

Telefonbuch = ( Namen Vornamen ) Nummer

Zeit = ( Stunde Minute ) Sekunde


= {0, . . . , 23} {0, . . . , 59} {0, . . . , 59}

F
ur alle endlichen Mengen A und B gilt |A B| = |A| |B|
82

Beispiele

(1, 2) ({0, 1} {1, 2}), aber (1, 2) 6 ({1, 2} {0, 1})


({0, 1} {1, 2}) ({1, 2} {0, 1}) = {(1, 1)}

Cafeteria-Essen aus {Bratwurst,Wiener,Knacker}


{Kartoffelsalat, Nudelsalat}
3 2 = 6 Moglichkeiten

12 15 mogliche (gemischte) Tanzpaare aus


je einem von 12 Mannern und je einer von 15 Frauen

{a}

N = {(a, 0), (a, 1), (a, 2), . . .} = {a0, a1, a2, . . .}

83

Eigenschaften des Produktes von Mengen


I

ist nicht kommutativ


{a, b} {1, 2} = {(a, 1), (a, 2), (b, 1), (b, 2)}
6= {1, 2} {a, b} = {(1, a), (2, a), (1, b), (2, b)}

ist fast assoziativ

(A B) C kann mit A B C identifiziert werden.


z.B. ({a} {1, 2}) {, } = {(a, 1), (a, 2)} {, }
= {((a, 1), ), ((a, 2), ), ((a, 1), ), ((a, 2), )}
lasst sich eineindeutig zuordnen zu
{(a, 1, ), (a, 2, ), (a, 1, ), (a, 2, )}

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 und 2Z + 1 sind disjunkt


2Z und 3Z sind nicht disjunkt,
denn 0 2Z 3Z, also 2Z 3Z 6=
2

Eine Familie von Mengen {Ai }iI heit genau dann


disjunkte Zerlegung einer Menge B, wenn
1. ij ((i =
6 j) ((Ai Aj ) = ))
(alle Ai paarweise disjunkt) und
S
(die Mengen Ai u
2. iI Ai = B
berdecken B vollstandig)
Beispiele:

Z Z

{2 , 2 + 1} ist eine (endliche) disjunkte Zerlegung von

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)

R|n Z} ist eine (unendliche) Zerlegung von R

86

Vereinigung disjunkter Mengen


Vereinigung A B = {x | (x A) (x B)}
Beispiel: Kunden K = {a, b, d}, Lieferanten L = {b, c, d},
Vereinigung G = K L = {a, b, c, d} (Geschaftspartner)
enthalt keine Information dar
uber, ob b Kunde oder Lieferant ist
Idee: Mengen vor Vereinigung durch Hinzuf
ugen einer
Kennzeichen-Komponente disjunkt machen

(Verwaltung von Paaren aus Kennzeichen und Element)


Disjunkte Vereinigung der Mengen {Ai }iI mit Indexmenge I :
[
A0i mit A0i = {i} Ai = {(i, x) | x Ai }
iI

Machtigkeit der disjunkten Vereinigung der Mengen {Ai }iI :




[ X


|Ai |
A0i =


iI

iI

87

Beispiel Geschaftspartner
I

Menge aller Kunden: AK = {a, b, d}

Menge aller Lieferanten: AL = {b, c, d},

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)}

Menge aller (gekennzeichneten) Geschaftspartner:


A0K A0L = {(K , a), (K , b), (L, b), (L, c), (K , d), (L, d)}

Anzahl der (gekennzeichneten) Geschaftspartner


|A0K A0L | = |Ak | + |AL | = 6

88

Kartesisches Produkt mehrerer Mengen


n

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

|{0, 1}| = 2n Binarw


orter mit n Stellen

103 h
ochstens dreistellige Dezimalziffern

65 verschiedene Ergebnisse beim f


unfmal aufeinanderfolgenden
W
urfeln mit einem W
urfel

65 verschiedene Ergebnisse beim W


urfeln mit f
unf
verschiedenfarbigen W
urfeln

89

Iterierte Produkte einer Menge


n

An =

A
i=1

A0 = {}
[
A =
An
n
+

N[

mit leerem Wort

An = A \ {}

n \{0}

(Notation: statt mitunter auch (), [])


Elemente aus An , A+ , A heien
I

Folgen (Vektoren) (a1 , a2 , . . . , an ),

Listen [a1 , a2 , . . . , an ], [a1 , a2 , . . .] oder

Worter (Strings) a1 a2 . . . an (endlich)


90

Iteriertes Produkt Beispiele


I

{0, 1} Menge aller Binarw


orter (beliebiger Lange)
z.B. 10, 10010, 010,

Menge aller Binarw


orter der Lange 3
{0, 1}3 = {000, 001, 010, 011, 100, 101, 110, 111}

{0, 1, 2} Menge aller Ternarw


orter (beliebiger Lange)
z.B. 20, 1202010,

Menge aller Ternarw


orter der Lange 2
{0, 1, 2}2 = {00, 01, 02, 10, 11, 12, 20, 21, 22}

{0} {1, 2, 3, 4, 5, 6, 7, 8, 9} {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}


Menge aller nat
urlichen Zahlen in Dezimaldarstellung (ohne
f
uhrende Nullen)

{a, b} alle Worter (beliebiger Lange), die nur die Buchstaben


a und b enthalten (z.B. aba, ababa, aaaa, bbbaaa, )

{{a, b} } alle Folgen solcher W


orter
(z.B. (a, aa, aaa), (ba), , (, , ))
91

Was bisher geschah


Modellierung von Aussagen durch
Aussagenlogik

I
I

Syntax: Junktoren, Aussagenvariablen, Formelbaum


Semantik: Belegungen, WW-Tabellen

Pradikatenlogik Syntax (Quantoren, Individuenvariablen)

Modellierung von Daten durch


Mengen

I
I
I
I
I
I

extensionale und intensionale Darstellung


Machtigkeiten von (endlichen) Mengen |M|
Beziehungen zwischen Mengen , =,
leere Menge
Potenzmenge 2M
Mengen-Operationen , , , \, ,
Produkt , iterierte Produkte n ,

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

(i 2 )iN = [0, 1, 4, 9, . . .], (3)kN = [3, 3, 3, 3, . . .]


Lange der Folge (an )nI :
Anzahl der Elemente (= Machtigkeit der Indexmenge I

N)
93

Modellierung durch Folgen


Beispiel W
urfelfolgen:

Menge der moglichen Werte (Augenzahlen): {1, 2, . . . , 6},


z.B. 3 {1, 2, . . . , 6}

Menge aller Folgen von Werten bei viermaligem W


urfeln
(nacheinander): {1, 2, . . . , 6}4 ,
z.B. [3, 6, 5, 3] {1, 2, . . . , 6}4

Menge aller Folgen von Werten beim W


urfeln beliebig oft
nacheinander: {1, 2, . . . , 6} ,
z.B. [3, 2, 2, 5, 1] {1, 2, . . . , 6} , {1, 2, . . . , 6}

94

Modellierung durch Mengen und Folgen


I

Menge aller Skatkarten:


S = {, , , } ({7, 8, 9, 10} {B, D, K , A})

Folge aller Unter (B) nach Wert aufsteigend geordnet


[(, B), (, B), (, B), (, B)] S 4

Folge aller Karten der Farbe nach Wert (Nullspiel) aufsteigend


geordnet
[(, 7), (, 8), (, 9), (, 10), (, B), (, D), (, K ), (, A)] S 8

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)

Kartenfacher (zu Beginn des Spieles): Folge (k1 , . . . , k10 ) S 10 mit


|{k1 , . . . , k10 }| = 10 (alle Karten verschieden), z.B.
[(, B), (, B), (, A), (, 9), (, A), (, K ), (, 9), (, 10), (, 8), (, 7)]

Stich: Folge von drei nacheinander gelegten Karten


(geordnetes Tripel) (k1 , k2 , k3 ) S 3 mit |{k1 , . . . , k3 }| = 3

Spiel: Folge der (wahrend des Spiels gefallenen) Stiche S 3

10
95

Zusammenhange Folgen Mengen


Folge (an )nI gegeben
I Menge {an | n I } der Elemente der Folge (an )nI
(eindeutig)
I
I

Folge [1, 4, 9, 16], Menge der Elemente {1, 4, 9, 16}


Folge [a, a, a, . . .], Menge der Elemente {a}

(Folge lasst sich nicht eindeutig rekonstruieren.)


I Menge der Anfangsst
ucke der Folge (eindeutig)
n
Beispiel: (2 )nN , Menge {[1], [1, 2], [1, 2, 4], . . .}
(Folge lasst sich eindeutig rekonstruieren.)
Menge A gegeben
I Folgen (an )nI durch Mengen definiert (A , A )
I beliebige Anordnung der Elemente einer Menge zu Folgen
(i.A. nicht eindeutig, mehrere M
oglichkeiten), z.B.
I
I
I

M = {a, b, c, d}, Folgen [a, b, c, d], [b, d, b, c, d, a]


M = , Folgen [0, 1, 2, . . .] , [0, 2, 4, 6, 8, 1, 3, 5, 7, 9, 10, 12 . . .]
M = , Folgen [0, 1, 1, 2, 2, 3, 3, . . .]
[0, 1, 2, 3, 3, 2, 1, 4, 5, . . .]

N
Z

96

Alphabet, Wort, Sprache

Alphabet (endliche) Menge A von Symbolen


Wort endliche Folge von Symbolen w = w1 wn mit
i {1, . . . , n} : wi A
Lange eines Wortes |w | = Anzahl der Symbole in w
Anzahl der Vorkommen eines Symboles in einem Wort
|w |a = Anzahl der a in w (f
ur a A)
Sprache Menge von W
ortern L A

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

Verkettung von Wortern (Folgen)


Verkettung von Wortern:
F
ur alle Worter u = u1 um A , v = v1 vn A gilt
u v = u1 um v1 vn
Beispiel: anne marie = annemarie
Eigenschaften der Operation :
I ist assoziativ, d.h.
u A v A w A ((u v ) w = u (v w ))
I

Das leere Wort ist neutrales Element f


ur , d.h.
w A ( w = w = w )

ist nicht kommutativ.


Gegenbeispiel: u = marie, v = anne
u v = marieanne 6= annemarie = v u
99

Beziehungen zwischen Wortern (Folgen)


Prafix (Anfangswort) v
u A v A ((u v v )

(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

an v anna (mit w = na)

n 6v anna

tom v tomate (mit w = ate)

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 = )

(analog zur Teiler-Beziehung zwischen nat


urlichen Zahlen)
100

Postfix- und Infix-Beziehung auf Wortern (Folgen)


Postfix-Beziehung:
u A v A (Postfix(u, v ) (w A (w u = v )))
F
ur zwei W
orter u = u1 um A , v = v1 vn A heit u genau
dann Postfix (Suffix) von v , wenn ein Wort w A existiert, so dass
w u = v gilt.
Beispiel: enten ist Postfix von studenten (mit w = stud)
Infix-Beziehung (Teilwort, Faktor):
u A v A (Infix(u, v ) (w A w 0 A (w u w 0 = v )))
F
ur zwei W
orter u = u1 um A , v = v1 vn A heit u genau
dann Infix von v , wenn zwei W
orter w , w 0 A existieren, so dass
0
w u w = v gilt.
Beispiel: uwe ist Infix von sauwetter (mit w = sa, w 0 = tter )
satt ist kein Infix von sauwetter
101

Beispiele fur Sprachen


I

Menge aller englischen W


orter L1 {a, . . . , z}

Menge aller deutschen W


orter L2 {a, . . . , z, ,a,o,
u}

Menge aller m
oglichen DNA L3 {A, T , G , C }

Menge aller nat


urlichen Zahlen in Dezimaldarstellung
L4 = {0, . . . , 9} (evtl. mit f
uhrenden Nullen)

Menge aller nat


urlichen Zahlen in Binardarstellung (Bitfolgen
beliebiger Lange) L5 = {0, 1}

Menge aller aussagenlogischen Formeln in AL({p, q, r })


L6 {p, q, r , t, f, , , , , , (, )},

Menge aller arithmetischen Ausdr


ucke u
ber
L7 {0, . . . , 9, +, , , /, (, )},

Menge aller deutschen Satze L8 (L2 {., , , !, ?, (, ), })

Z (ohne Variablen)

Wie lassen sich unendliche Sprachen endlich darstellen?


(Voraussetzung f
ur maschinelle Verarbeitung)
verschiedene Darstellungen in den LV zur theoretischen Informatik
z.B. Automaten und formale Sprachen im 3. Semester (INB)
102

Was bisher geschah


Modellierung von Aussagen durch Logiken
Modellierung von Daten durch
Mengen

extensionale und intensionale Darstellung


Machtigkeiten endlicher Mengen,
Beziehungen zwischen Mengen , =,
I Mengen-Operationen , , , \, , , n , , 2M

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

Sprachen Mengen von W


ortern (endlichen Folgen)
Beispiele
103

Sprachen als Mengen


Sprachen L A sind Mengen von W
ortern (endlichen Folgen)
Mengenbeziehungen auf Sprachen:
L L0 gdw.

w A ((w L) (w L0 ))

L = L0 gdw.

w A ((w L) (w L0 ))

Mengenoperationen auf Sprachen:


L L0 = {w | w L w L0 }
L L0 = {w | w L w L0 }
L \ L0 = {w | w L w 6 L0 }
Komplement einer Sprache L A : L = A \ L
Beispiel:
[
[
L=
An
L=
An

n3

n(3 +1)

An

n(3 +2)
104

Verkettung von Sprachen

Verkettung von Sprachen:


L1 L2 = {u v | (u L1 ) (v L2 )}
Beispiel:
L1 = {111, 1, 10} L2 = {00, 0}
L1 L2 = {111, 1, 10} {00, 0}
= {1110, 11100, 10, 100, 1000}

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

Mehr Beispiele fur Sprachen

{aa, b}
= {u1 un | n

N i {1, . . . , n} (ui {aa, b})}

= {, 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} =

{} {aba, bb} = {aba, bb}

{bb} = {w {b} | |w | 2 } = {, bb, bbbb, . . .}

({1}

{0} )

= {w

{0, 1}

| w1 = 1} {}

107

Regulare Ausdrucke Syntax


Die Menge RegExp(A) aller regularen Ausdr
ucke u
ber einem
Alphabet A ist (induktiv) definiert durch:
IA: RegExp(A),
RegExp(A) und
f
ur jedes Symbol a A gilt a RegExp(A)
IS: f
ur alle E RegExp(A) und F RegExp(A) gilt
(E + F ), EF , (E ) RegExp(A).
(Baumdarstellung)
Beispiele:
I ( + 1) RegExp({0, 1}),
I ( + ((ab) a) ) RegExp({a, b}),
I () RegExp({, , , }),
I f
ur beliebiges Alphabet A gilt RegExp(A),
( + ) RegExp(A),
I 0+(1+2+3+4+5+6+7+8+9)(0+1+2+3+4+5+6+7+8+9)
RegExp({0, 1, 3, 4, 5, 6, 7, 8, 9})
108

Regulare Ausdrucke Semantik


Jeder regulare Ausdruck E RegExp(A) reprasentiert
eine Sprache L(E ) A .
L()
L()
a A :
L(a)
E , F RegExp(A) : L(E + F )
E , F RegExp(A) :
L(EF )
E , F RegExp(A) :
L(E )

=
= {}
= {a}
= L(E ) L(F )
= L(E ) L(F )

= (L(E ))

Eine Sprache L A heit genau dann regular, wenn ein regularer


Ausdruck E RegExp(A) existiert, so dass L = L(E ).
Beispiele: F
ur A = {a, b} gilt
L(ab )

N}
N}

{a, ab, abb, abbb, abbbb, . . .} = {ab i | i

L((ab) )

{, ab, abab, ababab, . . .} = {(ab)i | i

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

H Studenten Dozenten mit (s, d) H gdw.


s h
ort (wenigstens) eine Vorlesung bei d.

S Skatkarten Skatkarten mit (h, k) B gdw.


Karte h hat h
oheren Wert als Karte k

B Spieler Skatkarten mit (s, k) B gdw.


Spieler hat s die Karte k auf der Hand.

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

Zur Definition einer Relation R A B geh


oren (sind anzugeben):
die Mengen A, B (Typ der Relation) und
I die Menge R (extensional oder intensional)
I

111

Was bisher geschah

Modellierung von
I Aussagen durch Logiken
I
I

Daten durch
I
I
I

klassische Aussagenlogik
klassische Pradikatenlogik
Mengen
Folgen
Sprachen

Zusammenhangen durch Relationen


I
I

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

aus jeder Nation 3 Delegierte


Bedingungen:

I
I

Jede Nation ist in jedem AK vertreten.


In jedem AK gibt es eine Sprache, die alle Mitglieder des AK
sprechen.

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

Relationen verschiedener Stelligkeit


Die leere Relation ist Relation zwischen beliebigen
Mengen A und B.
Relation R A B f
ur spezielle A
B = A , also A B = A2
R A2 heit binare Relation auf A.
Beispiele: 2 mit = {(x, y ) 2 | x y },
Identitat auf A: IA A2 mit IA = {(x, x) | x A}

B = An1 , also A B = A An1 = An


R An heit n-stellige Relation auf A.
Beispiel: R = {(x, y , z) 3 | x 2 + y 2 = z 2 }

N3

B = A0 = {}, also A B = A {} = {(a, ) | a A}


Relation entspricht einer Teilmenge R A.
R A heit dann auch einstellige Relation auf A.
(Eigenschaft von Elementen aus A)
Beispiel: G mit G = {n | 2 < n}

115

Haufige Anwendungen
I

Datenbanken: jede Tabelle reprasentiert eine Relation T , z.B.


Id
Vorname Name Studieng. Jg. Gruppe
34567 Lisa
Klein
AMB
15 1
12345 Erwin
Meier
MIB
15 2
56789 Paula
M
uller INB
14 1
..
..
..
..
..
..
.
.
.
.
.
.
mit T {0, 1, . . . , 9}5 Vornamen Namen
{AMB, INB, MIB} {0, 1, . . . , 9}2 {1, 2}
und z.B. ( 12345, Erwin, Meier, MIB, 15, 2 ) T

Ontologien, z.B. Komponenten eines Systems:


istTeilVon (Hand, Arm), istTeilVon (Finger, Hand),
istEin (Daumen, Finger)

Ablaufe, z.B. durch Ubergangsrelation


T zwischen Zustanden
M
unzspiel: (0230, 1040) T , (0230, 0311) T , (0311, 1121) T ,
(1040, 1121) T , (1121, 1202) T
116

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

Verkettung von Relationen


Verkettung R S A C
der Relationen R A B und S B C :
R S = {(x, y ) A C | z B((x, z) R (z, y ) S)}

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, )}

istKindVon istKindVon = istEnkelVon

118

Eigenschaften der Verkettung von Relationen

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)

(IA , IB sind neutrale Elemente)

R 1

119

Modellierungsbeispiel
Mengen:
B
P
O
L
Relationen:
hatAutor

={
={
={
={

Blumen, Pferde, Schiffe }


Paul, Max, Ilse }
Leipzig, Berlin, Genf }
D, S }

(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)}

In welchen Orten wohnen Autoren von B


uchern u
ber Pferde?

M = 2 (hatAutor wohntIn) |{Pferde} O
mit M = {Genf, Leipzig}

B
ucher zu welchen Themen schreiben deutsche Autoren?


M 0 = 2 (hatAutor wohntIn liegtIn)1 |{D} B
mit M 0 = {Schiffe, Pferde}
121

Darstellung binarer Relationen


Darstellungsformen f
ur binare Relation R A B auf
endlichen Mengen A und B:
I

Menge geordneter Paare (intensional oder extensional)

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 +)

(gerichteter) Graph G = (A B, R) mit


Eckenmenge A B und Kantenmenge R

falls (wenigstens) eine der Mengen A und B unendlich ist,


i.A. intensionale Darstellung von Relationen R A B notig
122

Was bisher geschah

Modellierung von
I
I

Aussagen durch Logiken


Daten durch
I
I
I

Mengen
Folgen
Sprachen

Zusammenhangen und Eigenschaften durch Relationen


I
I

Definition, Beispiele
Operationen auf Relationen:
inverse Relation, Verkettung, Projektionen, Einschrankung
Darstellungsformen binarer Relationen

123

Eigenschaften binarer Relationen


Eine binare Relation R M 2 heit
reflexiv gdw. x M : ((x, x) R)
z.B. R = {(a, a), (a, b), (b, b)} {a, b}2 , =, , v,
irreflexiv gdw. x M : ((x, x) 6 R)
z.B. R = {(a, b), (b, a)} {a, b}2 ,
<, , istGeschwisterVon, istKindVon
symmetrisch gdw. x, y M : ((x, y ) R (y , x) R)
z.B. R = {(a, b), (b, a), (b, b)} {a, b}2 ,
=, istGeschwisterVon
asymmetrisch gdw. x, y M : ((x, y ) R (y , x) 6 R)
z.B. R = {(a, b)} {a, b}2 , <, istKindVon,
antisymmetrisch gdw. x, y M : (((x, y ) R (y , x) R) x = y )
z.B. R = {(b, b)} {a, b}2 , , v, ,
transitiv gdw. x, y , z M :
(((x, y ) R (y , z) R) (x, z) R)
z.B. R = {(c, b), (a, b), (a, c)} {a, b, c}2 ,
=, , <, v, , istVorfahreVon
mehr Beispiele und Gegenbeispiele in Kastens: Modellierung

124

Hullen binarer Relationen


Die reflexive (symmetrische, transitive, reflexiv-transitive) H
ulle einer
Relation R M 2 ist die kleinste (bzgl. ) Relation S M 2 mit
1. R S und
2. S reflexiv (symmetrisch, transitiv, reflexiv und transitiv).
reflexive H
ulle von R: R IM
symmetrische H
ulle von R: R R 1
Wiederholung: Verkettung der Relationen R M 2 und S M 2
R S = {(x, z) M 2 | y M : (x, y ) R (y , z) S}
Iterierte Verkettung von R M 2 mit sich selbst:
R0
R

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

R = {(a, b), (b, c)}

R 1 = {(b, a), (c, b)}


R R 1 = {(a, b), (b, c), (b, a), (c, b)}

(symmetrische H
ulle)

R 0 = {(a, a), (b, b), (c, c)}


R R 0 = {(a, b), (b, c), (a, a), (b, b), (c, c)}

(reflexive H
ulle)

R 2 = {(a, c)}
R3 =
R

(= R n
2

f
ur beliebige n 3)
3

= R R R = {(a, b), (b, c), (a, c)}


(transitive H
ulle)

= R R

= {(a, a), (b, b), (c, c), (a, b), (b, c), (a, c)}
(reflexiv-transitive H
ulle)

126

Modellierungsbeispiel: Lineares Solitaire


Spielbeginn: n Spielsteine, je einer auf n benachbarten Spielfeldern
in einer Reihe.
Spielzug: Springe mit einem Stein u
ber einen benachbarten
Stein auf das dahinterliegende freie Feld und entferne
den u
bersprungenen Stein.
Spielende: Das Spiel endet, wenn kein Spielzug moglich ist.
Modellierung f
ur n = 4:
I

Spielfeld {0, 1} (frei, belegt)

Spielzustand: Folge von Spielfeldern,


z.B. 011110 (Spielbeginn), 011110, 010010
Menge aller Spielzustande {0, 1}6 (4 + 2 Randfelder)

127

Modellierung: Lineares Solitaire


I
I
I

Menge der Spielzustande Q = {0, 1}6 ,


Startzustand 011110 Q,

Ubergangsrelation
T Q 2 mit

(011110, 100110) , (011110, 011001)


(100110, 100001) , (011001, 100001)
T =

(100110, 101000) , (011001, 000101)

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

Relation R M 2 heit Quasiordnung gdw. R reflexiv und transitiv

Beispiele:
I

R {a, b, c}2 mit


R = {(a, a), (a, b), (b, b), (b, c), (a, c), (c, c)}

T (Menge aller Personen)2 mit


(p, q) T gdw. p h
ochstens so alt ist wie q

Z2 mit S = {(a, b) Z2 | |a| |b|}

129


Aquivalenzrelationen

Relation R M 2 heit Aquivalenzrelation


gdw. R reflexiv, transitiv und symmetrisch
(symmetrische Quasiordnung)
Beispiele:
I

R {a, b, c}2 mit R = {(a, a), (a, b), (b, a), (b, b), (c, c)}

Relation haben dieselbe Farbe f


ur Paare von Skatkarten

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 )}

Relation sind im selben Studiengang f


ur Studenten

2
R (A ) mit R = {(u, v ) (A ) | |u| = |v |} (gleiche
Lange)

Gleichmachtigkeit von Mengen: (A, B) R gdw. |A| = |B|

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

zwei Elemente a M und b M genau dann


aquivalent bzgl. R, wenn (a, b) R

die Menge aller zu a M aquivalenten Elemente aus M


[a]R = {x M | (a, x) R}

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

von M in die Menge aller Aquivalenzklassen


{[a]R | a M}
2. Jede (disjunkte) Zerlegung P = {Mi | i I } einer Menge M

definiert eine Aquivalenzrelation


RP M 2

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 F = {K , K , K , K } der Menge aller Skatkarten


definiert die Relation RF (haben dieselbe Farbe)

Zerlegung P = {3 , 3 + 1, 3 + 2}
definiert die Relation RP = {(m, n)

N N

N2 | 3|(m n)}
132

Halbordnungen (partielle Ordnungen)


Relation R M 2 heit Halbordnung
gdw. R reflexiv, transitiv und antisymmetrisch
(antisymmetrische Quasiordnung)
a M und b M heien genau dann vergleichbar bzgl. R,
wenn (a, b) R oder (b, a) R
Beispiele:
I

R {a, b, c, d}2 mit


R = {(a, a), (a, b), (a, c), (a, d), (b, b), (b, d), (c, c), (d, d)}

R ( Menge aller AMB-Studenten )2 mit


(p, q) R gdw. (Matrikelnr. von p) (Matrikelnr. von q)

v ({a, b} )2

Teilerrelation | 2 mit a|b gdw. n


(Warum ist | 2 keine Halbordnung?)

Teilmengenrelation auf 2{a,b,c}

N2 ( Z2, R2)
N
Z

Z | an = b
133

Hasse-Diagramme von Halbordnungen


(f
ur Halbordnungen auf endlichen Mengen)
graphische Darstellung der Relation mit folgenden Konventionen:
I

Pfeilspitzen weglassen,
stattdessen optische Ausrichtung (nach oben)

reflexive Kanten (Schlingen) weglassen

transitive Kanten weglassen

Beispiele (Tafel):
I

Halbordnung auf 2{a,b,c} ,

auf {0, . . . , 6},

Teiler-Halbordnung | auf {0, . . . , 6}

134

Was bisher geschah


Modellierung von
I

Aussagen durch Logiken

Daten durch Mengen, Folgen, Sprachen

Zusammenhangen und Eigenschaften durch Relationen


I
I

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)

heit totale (lineare) Halbordnung.


(alle Elemente miteinander vergleichbar)
Beispiele:
I

R ({a, b, c})2 mit


R = {(a, a), (a, b), (a, c), (c, b), (b, b), (c, c)}

R ( Menge aller AMB-Studenten )2 mit


(p, q) R gdw. (Matrikelnr. von p) (Matrikelnr. von q)

alphabetische Ordnung der W


orter im W
orterbuch

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 heit genau dann partielle Funktion,
wenn a A : 2 f |{a} 1
Relation f A B heit genau dann (totale) Funktion,
wenn a A : 2 f |{a} = 1
Beispiele:
I

Abbildung aller HTWK-Studenten auf ihren Geburtstag


ist totale Funktion

Abbildung von Geburtstag auf Studenten


ist keine Funktion

I
I
I
I

Z2 mit f = {(x, x 2) | x Z} ist (totale) Funktion


f 0 Z2 mit f = {(x 2 , x) | x Z} ist keine Funktion
g N2 mit g = {(x 2 , x) | x N} ist partielle Funktion
g N2 mit g = {(x 2 , x) | x N} ist partielle Funktion
k R2 mit h = {(sin x, x) | x R} ist keine Funktion
139

Definition von Funktionen


Funktion f : A B wird definiert durch Angabe von:
Typ (Signatur):
Definitionsbereich : Menge A
Wertebereich : Menge B
Werte Zuordnung f
extensional z.B. f = {a 7 1, b 7 0}
(statt f = {(a, 1), (b, 0)})
intensional z.B. x : f (x) = x 2

Syntax

Semantik

Graph von f : Relation f A B = {(x, f (x)) | x A}

140

Mehrstellige Funktionen auf einer Menge

A = B n : Funktion f : B n B heit auch


n-stellige Funktion auf B
Achtung: n-stellige Funktionen auf B sind
(n + 1)-stellige Relationen auf B.
Beispiel: f : mit
(x, y ) 2 : f (x, y ) = 2x + y

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

Eigenschaften von Funktionen (Wiederholung)


Funktion f : A B heit


injektiv , falls f
ur alle b B gilt f 1 (b) 1,


surjektiv , falls f
ur alle b B gilt f 1 (b) 1,


bijektiv , falls f
ur alle b B gilt f 1 (b) = 1,
Eine Funktion ist genau dann bijektiv,
wenn sie injektiv und surjektiv ist.
Beispiele:

N N mit x N : f (x) = x 2 ist injektiv, nicht surjektiv


I f : Z Z mit x Z : f (x) = x 2 ist weder injektiv noch

f :

surjektiv

f : 0
surjektiv

R0 mit x R0 : f (x) = x 2 ist injektiv und


143

Mengen von Funktionen


Menge aller (totalen) Funktionen von A nach B:


B A = {f : A B} = {f A B | a A : 2 f |{a} = 1}
Beispiel: {0, 1}{p,q,r } = {W : {p, q, r } {0, 1}}

F
ur alle endlichen Mengen A, B gilt B A = |B||A| .
( Es existieren |B||A| verschiedene Funktionen von A nach B.)
Beispiele:
I

|{0, 1}||{p,q,r }| = 23 = 8 Funktionen W : {p, q, r } {0, 1}

3|A| Funktionen f : A {rot, gr


un, blau}

4|A| Funktionen f : A {1, 2, 3, 4}

4|A| Funktionen f : A {0, 1}2

144

Funktionen auf Anfangsstucken von


Funktion f : I B mit I = {0, . . . , n}

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

Funktionen nach {0, 1}


F
ur endliche Mengen A und B
I

(Anzahl)
A0

nullstellige Funktionen f :
{0, 1}
f0 = 0, f1 = 1 (Konstanten)

2|A | = 21 = 2
2|A|

einstellige Funktionen f : A {0, 1}


Beispiel: f
ur A = {a, b}
f00 = {a 7 0, b 7 0}

f01 = {a 7 0, b 7 1}

f10 = {a 7 1, b 7 0}

f11 = {a 7 1, b 7 1}

mogliche Urbilder der 1:


1
1
1
1
f00
(1) = , f01
(1) = {b}, f10
(1) = {a}, f11
(1) = {a, b}
f
u
r
beliebige
Menge
A:
 1

f (1) A | f 2A = 2A (Potenzmenge von A)
I

zweistellige Funktionen f : A B {0, 1}

2(|A||B|)

146

Charakteristische Funktion einer Menge


Menge A definiert f
ur jede Teilmenge B A die
charakteristische Funktion B : A {0, 1} mit
(
1 falls x B
x A : B (x) =
0 sonst
Beispiel: f
ur A = {a, b, c, d} und B = {a, d} A gilt
B : A {0, 1} mit B = {a 7 1, b 7 0, c 7 0, d 7 1}
(B ordnet jedem x A den Wahrheitswert der Aussage x B zu.)
Umgekehrt definiert jede Funktion f : A {0, 1} eine Teilmenge
f 1 (1) A

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

Multimengen (Vielfachmengen, Bags)


zur Beschreibung von Elementen mit Vielfachheit
Beispiele:
I Bibliothek mit mehreren Exemplaren von B
uchern
I Vorrat an M
unzen
I Romm
e-Blatt
Teilmenge A einer Menge U (Universum)
als charakteristische Funktion von A bzgl. U:
A : U {0, 1} mit

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

Was bisher geschah


Modellierung von
I

Aussagen durch Logiken

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

Zusammenhangen und Eigenschaften durch Relationen


Darstellungsformen, Anwendungen, Beziehungen, Operationen
I Eigenschaften bin
arer Relationen R M 2
I reflexive, symmetrische, transitive H
ullen

I Aquivalenzrelationen,
Halbordungen, totale Ordnungen

Zuordnungen durch Funktionen (spezielle Relationen)


Darstellungsformen, Anwendungen, Beziehungen, Operationen
I Menge B A aller (totalen) Funktionen f : A B
I injektive, surjektive, bijektive Funktionen (Wiederholung)
149

Beziehungen zwischen Multimengen


Multimenge A : U
Multimenge B : U

N ist genau dann Teil(multi)menge der


N, wenn
x U : A(x) B(x)

(A punktweise B)

Zwei Multimengen A : U und B : U


gleich, wenn
x U : A(x) = B(x)

N sind genau dann

(Charakteristische Funktionen von) Mengen A U sind spezielle


Multimengen mit der Eigenschaft x U : A(x) 1

150

Operationen auf Multimengen


F
ur Multimengen A : U

N und B : U N

Vereinigung x U : (A B)(x) = max(A(x), B(x))

disjunkte Vereinigung x U : (AB)(x)


= A(x) + B(x)
Schnitt x U : (A B)(x) = min(A(x), B(x))
Differenz x U : (A \ B)(x) = max(0, A(x) B(x))
(mehr dazu und weitere Operationen in den
LV zu Datenbanken)
F
ur den Spezialfall Mengen (Funktionen nach {0, 1}) ergibt das
genau die Mengenoperationen
Machtigkeit der Multimenge A : U

N:

|A| =

xU

A(x)

151

Modellierungsbeispiel EU-Arbeitskreise
(nach Kastens, Kleine B
uning: Modellierung )
Ziel: Modellierung der Situation
I

drei Arbeitskreise

Nationen D,F,A,S senden je 3 Delegierte

Jedem Arbeitskreis soll aus jeder Nation (wenigstens) ein


Delegierter angeh
oren.

In jedem Arbeitskreis gibt es (wenigstens) einen gemeinsame


Sprache.

Wertebereiche:
Arbeitskreise
Lander
Sprachen
Delegierten-Nr.
Delegierte

:
:
:
:
:

A = {A1, A2, A3} = {A} {1, 2, 3}


N = {D, F , A, S}
S = {d, f , s}
D = {1, 2, 3}
D0 = N D

Was reprasentieren 1 (D 0 ), D 0 |{A,F } ?


152

Modellierungsbeispiel EU-Arbeitskreise
I

Zuordnung der (momentanen) Sprachkenntnisse zu Delegierten


0
I als Relation s
D D S, z.B.
sD = {(D1, d), (D1, f ), (D2, d), (D2, s), (D3, d), (F 1, f ),
(F 2, f ), (F 3, f ), (F 3, s), (A1, d), (A2, d), (A2, f ), (A3, s), . . .}
I als Funktion s 0 : D 0 2S , z.B. mit
D
sD0 (D1) = {d, f }, sD0 (D2) = {d, s}, sD0 (D3) = {d},
sD0 (F 1) = {f } = sD0 (F 2), sD0 (F 3) = {f , s},. . .

Sprachkenntnisse in der Delegation einer Nation


I als Relation s
N N S,
z.B. sN = {(D, d), (D, f ), (D, s), (F , f ), (F , s), . . .}
I als Funktion s 0 : N 2S (Mengen von Sprachen),
N
z.B. sN0 (D) = {d, f , s}, sN0 (F ) = {f , s}, . . .
s
I als Funktion s 00 : N
(Multimengen von Sprachen), z.B.
N
00
sN (D) = {d 7 3, f 7 1, s 7 1}, sN00 (F ) = {f 7 3, s 7 1},
sN00 (A) = {d 7 2, s 7 1},. . .

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

Anzahl injektiver Funktionen


Satz
Die Anzahl aller injektiven Funktionen von einer endlichen Menge
A in eine endliche Menge B ist
|A|1

|{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)

Satz (endlicher Schubfachschluss)


Sind O und S zwei endliche Mengen mit |O|
> |S|, dann existiert
f
ur jede Funktion f : O S ein s S mit f 1 (s) > 1.
umgangssprachliche Formulierung:
O Menge von Objekten
S Menge von Schubfachern
F
ur jede Aufteilung von n Objekten auf k < n Schubfacher
existiert ein Schubfach, welches mehr als ein Objekt enthalt.

155

Beispiele
I

Von 13 Personen haben wenigstens zwei im gleichen Monat


Geburtstag.
O: 13 Personen, S: 12 Monate

Bei 5mal Rast auf einer Wanderung in einem Gebiet mit 3


Einkehrm
oglicheiten (wenigstens) eine mehrfach besucht.
O: 5 Zeitpunkte, S: 3 Einkehrm
oglichkeiten

10 verschiedenfarbige Paare Socken


Wieviele blind nehmen f
ur einfarbiges Paar?
O: x < 20 Socken, S: 10 Farben
gesucht: kleinstes x mit x > |S| (x = 11)

je 10 schwarze und weie Socken


Wieviele blind nehmen f
ur einfarbiges Paar?
O: x < 20 Socken, S: 2 Farben (x = 3)

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

Unter 30 Personen sind mindestens 5 am gleichen Wochentag


geboren.
O: 30 Personen, S: 7 Wochentage
 
also existiert Wochentag s S mit f 1 (s) 30
7 =5

Von 5 Aussagen haben wenigstens 3 denselben Wahrheitswert.


O: 5 Aussagen, S: {0, 1}
 
also existiert Wahrheitswert s {0, 1} mit f 1 (s) 25 = 3

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

Unter je 6 Personen existieren immer entweder 3, die einander


kennen oder 3, die einander nicht kennen.

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|

Satz (unendlicher Schubfachschlu)


Sind O eine unendliche und S eine endliche Menge, dann existiert
f
ur jede Funktion f : O S ein s S mit unendlichem Urbild
f 1 (s).
umgangssprachliche Formulierung:
F
ur jede Aufteilung unendlich vieler Objekte auf endliche viele
Schubfacher existiert ein Schubfach, welches unendlich viele
Objekte enthalt.
159

Beispiele

In jeder unendlichen Menge A enden unendlich viele


Zahlen auf dieselbe Ziffer.
O: A, S: 10 mogliche letzte Stellen

In jeder unendlichen Folge von Ziffern kommt (wenigstens)


eine Ziffer unendlich oft vor.
O: Folgen-Indices , S: 10 m
ogliche Ziffern

In jeder unendlichen Folge von Symbolen aus einem endlichen


Alphabet A kommt (wenigstens) ein Symbol aus A unendlich
oft vor.
O: Folgen-Indices , S: |A| Symbole

160

Was bisher geschah

Modellierung von
I

Aussagen durch Logiken

Daten durch
Mengen (endliche und unendliche Machtigkeiten)
Multimengen, Folgen, Sprachen

Zusammenhangen und Eigenschaften durch Relationen


Spezielle binare Relationen:

Aquivalenzrelationen,
Halbordnungen, totale Ordnungen

Zuordnungen durch Funktionen (spezielle Relationen)

161

Wiederholung: Darstellung binarer Relationen


Darstellungsformen f
ur binare Relation R M 2 auf
endlicher Menge M:
I

Menge geordneter Paare (intensional oder extensional)

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)

(gerichteter) Graph G = (M, R) mit Eckenmenge M und


Kantenmenge R
(Diagramm)

wichtige Eigenschaften binarer Relationen:


(ir)reflexiv, transitiv, (a)symmetrisch, antisymmetrisch
162

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}

Ablaufe (z.B. lineares Solitaire)


gerichteter Graph:
(endliche) Menge V mit einer zweistelligen Relation E V 2
I

163

Reprasentationen endlicher Graphen


Graph G = (V , E )
2

Relation E V 2 (also E 2(V ) )


(extensionale oder intensionale) Angabe aller
Elemente in V und E
Diagramm des Graphen
Adjazenzmatrix von G = (V , E ) mit V = {v1 , . . . , vn }:
2
|V |2 -Matrix MG {0, 1}(|V | ) mit

1 wenn (vi , vj ) E
2
(i, j) |V | : MG (i, j) =
0 sonst
(charakteristische Funktion der Relation E V 2 )
Adjazenzliste von G = (V , E ):
V
LG V

 2 mit 
LG = v , 2 E |{v } | v V
= {(v , U) | v V U = {u V | (v , u) E }}
164

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

ungerichteter Graph mit Schlingen: (V , E ) mit


   
V
V
E

= {M V | |M| = 2 |M| = 1}
2
1
Beispiele:
I

G = (V , E ) mit V = {0, 1, . . . , 4} und E = {{i, j} V | 2|(i j)}

Liniennetz Nahverkehr

Graph (ohne Zusatz) bedeutet im Folgenden immer


endlich, ungerichtet und schlingenfrei
(Darstellung einer symmetrischen irreflexiven Relation)
165

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 }

Ecke v V mit NG (v ) = heit isoliert.


Graph G = (V , E ) definiert Funktion gradG : V

N mit

a V : gradG (a) = |NG (a)|


gradG (a) heit Grad der Ecke a.
(V , E ) heit n-regular (regular) gdw. a V : gradG (a) = n
167

Eckengrad in gerichteten Graphen


Nachbarn in gerichteten Graphen G = (V , E ):
I

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)

gerichteter Graph G = (V , E ) definiert Funktionen


I

gradi,G : V

N mit

a V : gradi,G (a) = |Ni,G (a)|


gradi,G (a) heit Eingangs-Grad der Ecke a.
I

grado,G : V

N mit

a V : grado,G (a) = |No,G (a)|


grado,G (a) heit Ausgangs-Grad der Ecke a.
168

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 )

Graphen G und H, zwischen denen ein Isomorphismus existiert,


heien isomorph (G ' H).

Isomorphie ist Aquivalenzrelation


auf Menge aller Graphen.

Kn , In , . . . bezeichnen Aquivalenzklassen
von Graphen bzgl. '

169

Was bisher geschah


Graph G = (V , E )
gerichtet E V 2
ungerichtet ohne Schlingen: E 
mit Schlingen: E

V
2

V
2

V
1



Graph (ohne Zusatz): ungerichtet ohne Schlingen


Reprasentation eines Graphen G = (V , E ) durch
I

extensionale Beschreibung (der Relation E auf V )

intensionale Beschreibung (der Relation E auf V )

Diagramm

Adjazenzmatrix
(charakteristische Funktion von E V 2 )

Adjazenzliste
(Zuordnung Knoten 7 Menge aller Nachbarn)

Spezielle Graphen: In , Kn , Pn , Cn

Isomorphie von Graphen (Aquivalenzrelation)


170

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

Operationen auf Graphen


F
ur zwei Graphen G = (VG , EG ) und H = (VH , EH ):
G H = (VG VH , EG EH )
G H = (VG VH , EG EH )
G H = (VG VH , EG EH (VG VH ))
f
ur VG und VH disjunkt (ggf. Knoten umbenennen)

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.

Pfad P = (V 0 , E 0 ) in G = (V , E ) ist eindeutig bestimmt durch


I

Menge E 0 E der Kanten oder

Folge [v1 , . . . , vn ] der Ecken in V 0 V

Lange des Pfades = Anzahl der Kanten im Pfad


z.B. Lange von P5 ist 4
Pfad von a nach b im Graphen G :
Pfad p = [v1 , . . . , vn ] in G mit v1 = a und vn = b
Maximaler Pfad in G bzgl. Teilgraph-Relation:
Pfad P = (V 0 , E 0 ) ist maximaler Pfad in G = (V , E ) gdw.
f
ur alle Kanten ab E gilt:
(V 0 {a, b}, E 0 {ab}) ist kein Pfad in G
174

Kreise in Graphen
Kreis im Graphen G :
Teilgraph C von G , der f
ur ein n

N isomorph zu Cn ist.

echte Kreise: Cn mit n 3


Kreis C = (V 0 , E 0 ) in G = (V , E ) ist eindeutig bestimmt durch
I

Menge E 0 E der Kanten oder

Folge [v1 , . . . , vn ] der Ecken in V 0 V

Lange des Kreises = Anzahl der Kanten im Kreis


z.B. Lange von C5 ist 5

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

Zusammenhang in ungerichteten Graphen


Transitive H
ulle E V 2 der Kanten-Relation E V 2 heit
Zusammenhangsrelation im Graphen G = (V , E )
also: (u, v ) E (u und v sind in G zusammenhangend) gdw. ein
Weg von u nach v in G existiert
F
ur jeden ungerichteten Graphen G = (V , E ) ist E eine

Aquivalenzrelation
auf V .

(Aquivalenzklassen
[u]E sind Mengen von Knoten)

Von den Aquivalenzklassen


[u]E induzierte Teilgraphen von G
heien Zusammenhangskomponenten von G
Graph G = (V , E ) heit zusammenhangend gdw.
G aus genau einer Zusammenhangskomponente besteht.
177

Zusammenhang in gerichteten Graphen


Transitive H
ulle E V 2 der Kanten-Relation E V 2 heit
Zusammenhangsrelation im Graphen G = (V , E )
also:
(u, v ) E (u und v sind in G zusammenhangend)
gdw. ein (gerichteter) Weg von u nach v in G existiert
gerichteter Graph G = (V , E ) heit
stark zusammenhangend gdw. (u, v ) V 2 : (u, v ) E
schwach zusammenhangend gdw. der ungerichtete Graph
G 0 = (V , E E 1 ) zusammenhangend ist
starke Zusammenhangskomponenten von G : maximale stark
zusammenhangende induzierte Teilgraphen von G
schwache Zusammenhangskomponenten von G :
Zusammenhangskomponenten von
G 0 = (V , E E 1 )
178

Was bisher geschah


I

gerichtete / ungerichtete Graphen G = (V , E )

Darstellungen von Graphen

Spezielle Graphen: In , Kn , Pn , Cn , Km,n , K1,n , Kn1 ,...,nm

Beziehungen zwischen Graphen:


Isomorphie, Teilgraph-Relationen

Operationen auf Graphen: , , ,

Nachbarschaften und Eckengrade in Graphen,


n-regulare Graphen

Pfade, Kreise, Wege in Graphen

Zusammenhangs-Relation E auf G = (V , E )
(Erreichbarkeit)

Zusammenhangskomponenten: Aquivalenzklassen
bzgl. E

179

Eulerwege und -kreise


Eulerweg in G = (V , E ):
Weg w = [v1 v2 , . . . , vn vn+1 ] E in G , der jede Kante in E genau
einmal enthalt, d.h.
I E = {e1 , . . . , en },
S
I V =
i{1,...,n} ei und
I i 6= j {1, . . . , n} : ei 6= ej
Eulerkreis (geschlossener Eulerweg) in G = (V , E ):
Eulerweg w = [e1 , . . . , en , e1 ] in G

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

2 falls xy {bd, dc}


0
E (xy ) =
4 falls xy = ac

0 sonst

(analog f
ur gerichtete Graphen mit E : V 2
Modellierungsbeispiele:

N statt E : V 2 {0, 1})

Konigsberger-Br
ucken-Problem (Eulerweg im Multigraphen)

Ketten oder Kreise aus Domino-Steinen, z.B. f


ur
Stein(multi-)menge [1, 3], [2, 2], [1, 2], [2, 4], [1, 3], [1, 4]

Prozessketten

181

Hamiltonpfade und -kreise


Hamiltonpfad in G = (V , E ):
Pfad w = (v1 , . . . , vn ) in G mit V = {v1 , . . . , vn }
Hamiltonkreis in G = (V , E ):
Kreis w = (v1 , . . . , vn ) in G mit V = {v1 , . . . , vn }
Beispiele: Cn , Kn f
ur alle n 3
Anwendungen
I

Problem des Handlungsreisenden


(TSP: Travelling Salesman Problem)

Logistik

Robotik

Hardware-Entwurf
182

Gefarbte (markierte) Graphen


Graph G = (V , E )
Menge CV von Eckenmarkierungen,
Menge CE von Kantenmarkierungen
Eckenfarbung von G : f : V CV
Kantenfarbung von G : f : E CE
zur Modellierung z.B.:
I Linennetzplan mit CE = Fahrzeiten zwischen Stationen
I Straennetz mit CE = Entfernung (Kosten)
(TSP: Hamilton-Kreis mit geringsten Kosten gesucht)
I Straennetz mit CE = H
ochstgeschwindigkeit
I Spielplan mit CV = Ereignisfeld-Beschreibung
I Spielplan mit CE = Straen-Bebauungszustand
I Ablauf-Graphen mit CE = Options-Auswahl (z.B. Spielzug)
I Formelbaum mit CV = Junktoren und Aussagevariablen
I Multigraphen mit CE =
\ {0}

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

Ein Graph ist genau dann bipartit, wenn er 2-farbbar ist.


Ein Graph G = (V , E ) ist genau dann bipartit, wenn ein
Km,n = (V , E 0 ) existiert, so dass E E 0 ist.
184

Anwendung bipartiter Graphen

Modellierung von Zuordnungen, z.B.


I

Sprachkenntnisse zu Personen

Personen zu Arbeitskreisen

Getranke-Angebot zu Restaurants

Aufgaben zu Mitarbeitern mit unterschiedlichen


Qualifikationen

Flugzeuge zu Piloten mit Ausbildung auf verschiedenen


Flugzeugtypen

185

Was bisher geschah


I

gerichtete / ungerichtete Graphen G = (V , E )

Multigraphen

Darstellungen von Graphen

Spezielle Graphen: In , Kn , Pn , Cn , Km,n , K1,n , Kn1 ,...,nm

Beziehungen zwischen Graphen:


Isomorphie, Teilgraph, induzierter Teilgraph, aufspannender
Teilgraph

Operationen auf Graphen: , , ,

Nachbarschaften und Eckengrade in Graphen,


n-regulare Graphen

Zusammenhangs-Relation E auf G = (V , E )
(Erreichbarkeit)

Zusammenhangskomponenten: Aquivalenzklassen
bzgl. E

Pfade, Kreise, Wege in Graphen

Eulerwege, Eulerkreise (geschlossene Euler-Wege)

Hamiltonpfade, Hamiltonkreise
186

Gefarbte (markierte) Graphen


Graph G = (V , E )
Menge CV von Eckenmarkierungen,
Menge CE von Kantenmarkierungen
Eckenfarbung von G : Zuordnung f : V CV
Kantenfarbung von G : Zuordnung f : E CE
zur Modellierung z.B.:
I Linennetzplan mit CE = Fahrzeiten zwischen Stationen
I Straennetz mit CE = Entfernung (Kosten)
(TSP: Hamilton-Kreis mit geringsten Kosten gesucht)
I Straennetz mit CE = H
ochstgeschwindigkeit
I Spielplan mit CV = Ereignisfeld-Beschreibung
I Spielplan mit CE = Straen-Bebauungszustand
I Ablauf-Graphen mit CE = Options-Auswahl (z.B. Spielzug)
I Formelbaum mit CV = Junktoren und Aussagevariablen
I Multigraphen mit CE =
\ {0}

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

kombinatorische Aufgaben, z.B. Sudoku


188

Modellierungsbeispiel Sudoku
Aufgabe informal:
I

9 9 Felder

einzutragen sind die Ziffern 1 bis 9 in alle leeren Felder

Startkonfiguration: einige Felder schon mit Ziffern belegt


Bedingungen: keine Zahl mehrfach in

I
I
I

einer Zeile
einer Spalte
einem der neun 3 3-Bl
ocke

Aufgabe: korrektes Eintragen von Ziffern in jedes freie Feld

Idee: Reprasentation korrekter L


osungen als gefarbte Graphen mit
Felder als Ecken des Graphen
Zahlen {1, . . . , 9} als Farben f
ur Knoten
Bedingungen (Konflikte) als Kanten des Graphen
Aufgabe: Finden einer konfliktfreien Farbung des Graphen
189

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

Formeln, arithmetische Ausdr


ucke

sind spezielle Graphen

zusammenhangend

enthalten keine Kreise

192

Ungerichtete Baume
G = (V , E ) heit Baum, wenn
I

G zusammenhangend ist und

kein Teilgraph von G ein echter Kreis ist.

G = (V , E ) heit Wald, wenn kein Teilgraph von G ein echter


Kreis ist.
v V mit grad(v ) 1 heit Blatt
Jeder Baum mit mindestens 2 Ecken hat mindestens 2 Blatter.
In jedem Baum G = (V , E ) gilt |V | = |E | + 1

193

Charakterisierung der Baume

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)

Modellierung durch gerichtete Baume, z.B.


I

Hierarchien, Klassifikationen

Verzeichnis-Strukturen

Abstammung

Entscheidungsbaume

Wege in Graphen

Ableitungsbaume f
ur Sprachen
195

Was bisher geschah

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

Wiederholung: Modellierung in Pradikatenlogik

Grundannahme:
Die zu modellierende Welt besteht aus Individuen, die
Eigenschaften haben und zueinander in Beziehungen (Relationen,
Funktionen) stehen.

Pradikatenlogik zur Formalisierung von Aussagen u


ber
Eigenschaften oder Beziehungen von Individuen aus
(algebraischen) Strukturen

197

Wiederholung: Pradikatenlogische Aussagen

Personen sind Geschwister, wenn sie dieselbe Mutter oder


denselben Vater haben.

A ist genau dann Nachfahre von B, wenn B As Vater oder


As Mutter ist oder ein Elternteil von A Nachfahre von B ist.

Nachfahren derselben Person sind verwandt.

Individuenbereich: Menge von Personen


Beziehungen: ist-Nachfahre-von, sind-verwandt, sind-Geschwister
Funktionen: Mutter-von, Vater-von

198

Wiederholung: Pradikatenlogische Aussagen


I

Primzahlen sind genau diejenigen nat


urlichen Zahlen, die
genau zwei verschiedene Teiler haben.

Gerade Zahlen sind genau diejenigen nat


urlichen Zahlen, die
durch zwei teilbar sind.

Es existieren gerade Primzahlen.

Nachfolger ungerader Primzahlen sind nicht prim.

Das Quadrat jeder geraden Zahl ist gerade.

Individuenbereich: Menge
aller nat
urlichen Zahlen
Eigenschaften: prim, gerade
Beziehung: teilt |
Funktionen: Nachfolger, Quadrat

199

(Algebraische) Strukturen Beispiele


(Trager-)Mengen (Individuenbereiche) mit Relationen (Eigenschaften,
Beziehungen) und Funktionen (Operationen) auf den Elementen, z.B.
I

Menge aller Personen


Relationen: ist-alter-als, sind-Geschwister (zweistellig)
einstellige Relationen (Eigenschaften): blond
Funktion (einstellig): Mutter-von

Menge
aller nat
urlichen Zahlen
Relationen: (zweistellig), | (teilt, zweistellig)
einstellige Relationen (Eigenschaften): prim, gerade
Funktionen: Nachfolger (einstellig), + (zweistellig)

Menge 2 aller Punkte der Ebene


Relationen: hat-kleineren-Abstand-von-0 (zweistellig),
bilden-gleichseitiges-Dreieck (dreistellig)
Funktionen: verschieben (einstellig), Mittelpunkt (zweistellig)

Menge A aller endlichen W


orter u
ber Alphabet A
Relation: Anfangswort, lexikographische Ordnung (zweistellig)
Funktion: Verkettung (zweistellig)

N
R

200

Algebraische Strukturen mehr Beispiele


Darstellung algebraischer Strukturen A = (A, f1 , . . . , fm , R1 , . . . , Rn ) mit
I

(nicht-leerer) Tragermenge A,

(endlicher) Menge von Funktionen f1 , . . . , fm

(endlicher) Menge von Relationen R1 , . . . , Rn

algebraische Strukturen (ohne Funktionen) kennen wir schon, z.B.


I

Aquivalenzrelationen,
z.B. ( , =), (AL(P), ), ( , mod n), (Menge aller Graphen, ')

Halbordnungen,
z.B. ( , ),( , |), (2X , ),
(Menge aller Graphen, Teilgraph-Relation)

Graphen. z.B. V = {0, 1, 2, 3, 4},


E = {(0, 1), (1, 2), (1, 3), (2, 0), (2, 4), (3, 2), (3, 4), (4, 1)},
(V , E ) mit V = {a, b, c}, E = ,
(V , E ) mit V = {0, 1, 2, 3}, E = V 2 \ {(x, x) | x V }

201

Relationale Strukturen
Eine relationale Struktur A = (A, {Ri | i I }) besteht aus
I

einer nichtleeren Menge A und

einer Menge von Relationen Ri Ani (je mit Stelligkeit ni )

Beispiele:

( , |, )

({0, 1}, , =)

(2A , )

(A , v)

Menge aller endlichen Graphen mit ' und


Teilgraph-Relationen

202

Algebraische Strukturen noch mehr Beispiele


(funktionale) algebraische Strukturen (Algebren) aus den
Mathematik-LV:

Halbgruppe , z.B. ( , +), (2 , ), (2X , ) , (A , ), (2(A ) , )


Monoid , z.B. ( , , 1), ( , +, 0), (2X , , ) , (A , , ),

(2(A ) , , {})
Gruppe , z.B. ( , +, 0), ( n , +, 0), ( n , , 1) f
ur Primzahl n

Halbring , z.B. (2 , +, ), ({0, 1}, XOR, ), (2(A ) , , )


Ring , z.B. ( , +, , 0, 1), ( n , +, , 0, 1) f
ur Primzahl n
K
orper , z.B. ( , +, , 0, 1), ( n , +, , 0, 1) f
ur Primzahl n
Vektorraum n
zwei Tragermengen (Individuen verschiedener Typen):
Skalare , Vektoren n
Funktionen, z.B. skalare Addition, Multiplikation
+, :
Vektoraddition + : n n n , Skalarprodukt
(, ) : n n
Kombinationen (Strukturen mit Funktionen und Relationen)
z.B. halbgeordnete Gruppe ( , +, 0, )

N
N
Z
Z
Z
Q
R

Z
N
Z

Z
Z

R R R
R R
R R R
Z

203

Algebren (Strukturen ohne Relationen)


Eine Algebra A = (A, {fi | i I }) besteht aus
I

einer Menge A 6= und

einer Menge von Funktionen fi : Ani A


(je mit Stelligkeit ni )

wobei A unter jeder Funktion fi (algebraisch) abgeschlossen ist.


Beispiele:

( , +, , s, 0) mit einstelliger Nachfolgerfunktion s

({0, . . . , 7}, +, 0) ist keine Algebra, weil


{0, . . . , 7} nicht unter + abgeschlossen (z.B. 4 + 5 6 {0, . . . , 7})

( , ) ist keine Algebra, weil

({0, 1}, min, max)

({0, 1}, XOR, )

(2M , , , \, )

N nicht unter abgeschlossen

Menge aller (endlichen) Graphen unter ,



I {M 2N | |M| }, ,
(Menge aller endlichen Teilmengen von
)

aber nicht {M 2N | |M| },
, weil z.B. |{1, 4}| 6
I

204

Algebraische Strukturen desselben Types


A Menge {0, 1} mit
I Konstanten 0, 1
I Funktionen min, max (zweistellig)
I Eigenschaft gerade
I Relation (zweistellig)
B Menge aller Studenten im Raum mit
I Konstanten Anton, Berta

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

Beispiele fur Signaturen


I

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

A 6= Tragermenge (Individuenbereich, Universum)

(f , n) F : Jf KA : An A

(R, n) R : JRKA An (bzw. JRKA : An {0, 1} )

JKA ordnet jedem Funktions- und Relationssymbol seine Bedeutung in A


(Funktion / Relation passender Stelligkeit) zu.
Beispiel: f
ur die Signatur = (F , R )
mit R = {(R, 2)} und F = {(f , 2), (c, 0)} sind z.B.
I

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

Weitere Beispiele fur -Strukturen


I

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

A = ({0, 1}, JKA ) mit JapfelKA = 0, JbananeKA = 1


(x, y ) {0, 1} : JkirscheKA (x, y ) = min(x, y )
(x, y ) {0, 1} : JpflaumeKA (x, y ) = max(x, y ),
JrettichKA = {0}, JtomateKA = {(0, 0), (0, 1), (1, 1)}
C = (2N , JKC ) mit JapfelKC = , JbananeKC =
(x, y ) 2N : JkirscheKC (x, y ) = x y ,
(x, y ) 2N : JpflaumeKC (x, y ) = x y ,
JrettichKC = {M | M endlich},
(x, y ) 2N : (x, y ) JtomateKC x y

209

Was bisher geschah


Modellierung von
Aussagen durch logische Formeln
Daten durch Mengen, Multimengen, Folgen, Sprachen
Zusammenhangen und Eigenschaften von Elementen von Mengen
durch Relationen
Zuordnungen zwischen Elementen von Mengen durch Funktionen
im Zusammenhang in (algebraischen) Strukturen
Signatur = (F , R )
definiert Symbole und Stelligkeiten / Typen (Syntax)
-Struktur A = (A, JKA ) mit
(Semantik)
Menge A 6= (Tragermenge)
(Individuenbereich, Universum)
Funktionen: (f , n) F : Jf KA : An A
(Bedeutung der Funktionssymbole)
Relationen: (R, n) R : JRKA An
(Bedeutung der Relationssymbole)
210

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 = {(+, 2), ( , 1), (1, 0), (7, 0)} und


R = {(, 2), (prim, 1)}

= (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

Wiederholung Strukturen Beispiel Halbring


klassische Definition (Menschen-lesbar):
Eine algebraische Struktur (A, , $) heit genau dann Halbring, wenn sie
die folgenden Bedingungen erf
ullt:
I
I

(A, ) und (A, $) sind Halbgruppen und


$ ist distributiv u
ber

formale Definition (maschinell zu verarbeiten):


Signatur = (F , R ) mit
Axiome (Anforderungen)

(
(
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

F = {(, 2), ($, 2)}, R = {(=, 2)}

x(y z) = (xy )z
)
x$(y $z) = (x$y )$z
)

x$(y z) = (x$y )(x$z) )


(xy )$z = (x$z)(y $z) )
JKA = +
JKB = +
JKC = max
JKD =
JKE =
JKF = min

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

Sorten: Menschen, , Orte


Relation: B Menschen
Orte
wobei (m, j, o) B gdw. m wurde im Jahr j in o geboren

Stapel (von Elementen, z.B. B


ucher, Teller, Zahlen, . . . ) mit
Sorten: Bool, Element, StapelhElementi
(polymorph)
Operationen, z.B.
push: StapelhElementi Element StapelhElementi
Relationen, z.B. ist-leer StapelhElementi

213

Mehrsortige Signaturen

mehrsortige Signatur = ( , F , R ) besteht aus

F
R

= {Si | i I }: Menge der Sorten


: Menge der Funktionssymbole
mit Argument- und Ergebnistypen (f :
: Menge der Relationssymbole
mit Argumenttypen (s )

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

Relationen (mit Argumenttypen):



ist-Autor-von
R =
sind-Coautoren

P B
P2

214

Mehrsortige -Strukturen

gegeben: mehrsortige Signatur = ( , F , R )

mehrsortige -Struktur A = ({AS | S }, JKA ) mit

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

Mehrsortige Strukturen in der Informatik


Programmierung:
Datentypen (Sorten) int, float, bool, string
mit Operationen (Signatur), z.B.:
floor
duplicate
length
>

:
:
:
:

float
string int
string
float float

int
string
int
bool

Datenbanken:
Tabellen sind extensionale Darstellungen (meist) mehrsortiger
Relationen

216

Formale Darstellung algebraischer Strukturen


(abstrakte Algebra, abstrakter Datentyp, ADT)
I

I
I

Signatur = ( , F , R ) mit

Menge von Sortensymbolen,


Menge F von Funktionssymbolen
mit Stelligkeit / Typdeklaration
Menge R von Relationssymbolen
mit Stelligkeit / Typdeklaration

Menge von Axiomen beschreibt Zusammenhange zwischen


den Symbolen
(meist pradikatenlogische Formeln, Gleichungen)

ADT zur Definition von Software-Schnittstellen:


Festlegung der
Syntax in Sorten und Signatur (z.B. Java-Interfaces)
Semantik (Anforderungen an Implementierung) in Axiomen
217

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)

Die Menge Term(F , ) aller Terme u


ber der (funktionalen) Signatur
F mit Variablen aus der Menge
ist definiert durch:
IA: Jede Variable x

X ist ein Term.

X Term(F , X))

IS: Sind (f , n) F (f ist n-stelliges Funktionssymbol) und t1 , . . . , tn


Terme aus Term(F , ),
dann ist f (t1 , . . . , tn ) ein Term aus Term(F , ).

verschiedene Darstellungen von Termen m


oglich,
z.B. Baum, Infix-, Prafix-, Postfixform
218

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

Spezialfall: aussagenlogische Formeln


Terme u
ber der funktionalen Signatur
F = {(t, 0), (f, 0), (, 1), (, 2), (, 2), (, 2), (, 2)}
mit Aussagenvariablen aus P
sind genau alle aussagenlogischen Formeln AL(P)
F
ur diese Signatur F gilt also AL(P) = Term(F , P)
Beispiele: f
ur P = {a, b, c, d}
I

a (c b) AL(P) = Term(F , P)

(b t) (b f) AL(P) = Term(F , P)

(ab) (b f) 6 AL(P) = Term(F , P)

(f t) AL(P) = Term(F , P),


sogar (f t) AL() = Term(F , )
220

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

apfel Term(F , ), Grundterm


kirsche (x, pflaume(y , banane)) Term(F , {x, y , z})
kein Grundterm
banane(apfel(pflaume, kirsche(pflaume))) 6 Term(F ,
pflaume(apfel, kirsche(banane, apfel)) Term(F , )

X)

221

Groe von Termen


F
ur jeden Term t Term(F ,
definiert durch:
IA: falls t = x

X) ist seine Groe size(t) (induktiv)

X, dann size(t) = 1

IS: falls t = f (t1 , . . . , tn ), 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

size(h(f (x), c)) = 4

X = {x, y , z}:

222

Menge aller Variablen in einem Term

F
ur jeden Term t Term(F , ) ist die Menge var(t) aller in t
vorkommenden Variablen (induktiv) definiert durch:
IA: falls t = x

X (Variable), dann var(t) = {x}

IS: falls t = f (t1 , . . . , tn ) mit (f , n) F , dann


var(t) = var(t1 ) var(tn )

Beispiel: F
ur t = f (g (x, a), g (f (a, y ), x)) gilt var(t) = {x, y }

223

Wert von Grundtermen in Strukturen


gegeben: funktionale Signatur F = {(f , n) | n
-Struktur A = (A, JKA )

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

JrettichKA = {0, . . . , 10}

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

JkirscheKB (x, y ) = min(x, y )

f
ur alle (x, y ) B 2 : JpflaumeKB (x, y ) = max(x, y )
JrettichKB = {0}

JtomateKB = {(0, 0), (0, 1), (1, 1)}


JsKB = JapfelKB = 0,

JtKB = . . .
226

Weiteres Beispiel
s = apfel t = pflaume(apfel, kirsche(banane, apfel))
-Struktur C = (C , JKC ) mit
C

= Menge aller Studenten hier

JapfelKC = Student hinten rechts

f
ur alle (x, y )

C 2:

JbananeKC = Student daneben

JkirscheKC (x, y ) = x

f
ur alle (x, y ) C 2 : JpflaumeKC (x, y ) = y

JrettichKC = {x C | x ist blond}

JtomateKC = {(x, y ) C 2 | x hilft y }


JsKC = JapfelKC = Student hinten rechts

JtKC = . . .
227

Noch ein Beispiel


s = apfel t = pflaume(apfel, kirsche(banane, apfel))
-Struktur D = (D, JKD ) mit

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

schon bekannter Spezialfall:

semantische Aquivalenz
aussagenlogischer Formeln
(ohne Aussagenvariablen)
229

Was bisher geschah


zusammenhangende Modellierung von
Mengen von Individuen (evtl. verschiedener Typen)
Funktionen auf Individuen dieser Mengen
Relationen zwischen Individuen dieser Mengen
in (algebraischen) Strukturen
klare Unterscheidung zwischen
Syntax: Symbole zur formalen (maschinell zu verarbeitenden)
Darstellung von Sorten (Typen, Mengen),
Individuen, Funktionen und Relationen
Signatur = (F , R )
Terme u
ber der Signatur F : Term(F , )
Spezialfall Grundterme (ohne Variablen)
strukturelle Induktion u
ber Terme
(Definition von Funktionen,
Nachweis von Eigenschaften)

Semantik: -Strukturen definieren Bedeutung der Symbole aus


Wert von Grundtermen in -Strukturen
(induktiv)

Aquivalenz
von Grundtermen in -Strukturen

230

Interpretation von Termen mit Variablen


gegeben:
I

Signatur = (F , R ),

Variablenmenge

-Struktur A = (A, JKA )

t Term(F ,

X)

Welchen Wert (Individuum) in A haben Variablen x

X?

Belegung : A der Individuenvariablen


(ordnet jeder Variablen einen Wert aus dem Trager von A zu)
Eine Interpretation f
ur einen Term t Term(F ,
(A, ) aus
I
I

X) ist ein Paar

einer -Struktur A = (A, JKA ) und


einer Belegung :

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

und Variablenbelegung : {x, y } , wobei


(x) = 2 und (y ) = 1
Interpretation (B, ) mit -Struktur B = (2{a,b,c} , JKB ):
JaKB = {b, c}

Jf KB (x, y ) = x \ y

Jg KB (x, y ) = x y

und Variablenbelegung : {x, y } 2{a,b,c} , wobei


(x) = und (y ) = {b}
232

Werte von Termen mit Variablen

Der Wert des Termes t Term(F , ) in der F -Struktur


A = (A, JKA ) ist (induktiv) definiert durch
IA f
ur t = x

X gilt JtKA = (x)

IS f
ur t = f (t1 , . . . , tn ) gilt

JtKA = Jf KA (Jt1 KA , . . . , Jtn KA )


Der Wert eines Termes in einer Interpretation ((A, JKA ), ) ist ein
Element aus A.
(Man bemerke die Analogie zur Berechnung des Wahrheitswertes
einer aussagenlogischen Formel
mit Aussagenvariablen.)
Der Wert von Grundtermen aus Term(F , ) in einer Interpretation
(A, ) hangt nicht von der Belegung ab.
233

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

: {x, y } mit (x) = 0, (y ) = 1


: {x, y } mit (x) = 2, (y ) = 0
Terme s = g (h(f (a), x), h(x, y )) und t = h(f (x), g (y , a))
JsK(S,) = . . . , JtK(S,) = . . . , JsK(S,) = . . . , JtK(S,) = . . . (Tafel)
Variablenbelegungen

234

Atome (elementare Aussagen)

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

Menge F von Funktionssymbolen mit Stelligkeit (f , n)

Menge R von Relationssymbolen mit Stelligkeit (R, n)

Definition
Menge aller -Atome mit Variablen aus der Menge
Atom(,

X:

X) = {R(t1, . . . , tn ) | (R, n) R und t1, . . . , tn Term(F , X)}

Atome ohne Individuenvariablen heien Grundatome.


Menge aller Grundatome: Atom(, )
236

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

-Struktur A = (A, JKA )

XA
Wert des Atomes a = P(t1 , . . . , tn ) Atom(, X)
I

Belegung der Individuenvariablen :

in der Interpretation (A, ):


JaK(A,)

= JP(t1 , . . . , tn )K(A,)


= JPKA Jt1 K(A,) , . . . , Jtn K(A,)


1 falls Jt1 K(A,) , . . . , Jtn K(A,) JPKA
=
0 sonst

(Spezialfall Atom a mit (a, 0) R : JaK(A,) = JaKA )


Der Wert eines Atomes in einer Interpretation (A, ) ist ein
Wahrheitswert.
Der Wert von Grundatomen aus Atom(, ) in einer Interpretation
(A, ) hangt nicht von der Belegung ab.
238

Semantik von Atomen Beispiele


Signatur = (F , R ) mit
F = {(a, 0), (f , 1)} und R = {(P, 1), (R, 2)},
Variablenmenge = {x, y }
-Struktur S = (S, JKS ) mit

= {0, 1, 2}

JaKS

= 1

JPKS

= {0, 2}

d S : Jf KS (d) = 2 d
JRKS

= {(1, 0), (1, 2), (2, 2)}

Belegung : {x, y } {0, 1, 2}: (x) = 0, (y ) = 1


Wert der folgenden Atome aus Atom(, )
in der Interpretation (S, ) (Tafel):
JP(x)K(S,) = . . . , JP(a)K(S,) = . . .,
JP(f (a))K(S,) = . . . , JP(f (f (x)))K(S,) = . . .,
JR(x, a)K(S,) = . . ., JR(f (y ), x)K(S,) = . . .

239

Pradikatenlogik (der ersten Stufe) Syntax


I

aussagenlogische Junktoren t, f, , , , ,

-Atome

Quantoren ,

Die Menge FOL(, ) aller Formeln der Pradikatenlogik (der


ersten Stufe, first order logic) u
ber der Signatur mit
(Individuen-)Variablen aus der Menge
ist (induktiv) definiert
durch:

IA: Atom(, ) FOL(, )


(alle Atome sind Formeln)
IS:

Aus {1 , . . . , n } FOL(, ) folgt f


ur jeden
n-stelligen Junktor :
(1 , . . . , n ) FOL(, )
Aus FOL(, ) und x folgt
{x, x} FOL(, )

X
X
X
X

(Baumstruktur, analog zur Definition von Termen)


240

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

= (P(x) (P(f (x)) (xy ((P(x) P(y )) R(x, y )))))


= xy 2

= (, R ) mit R = {(p, 0), (q, 0)},

X=

Formeln aus FOL(, ):


1

= pq

= p (q p)

(Syntax der Aussagenlogik ist Spezialfall der FOL-Syntax)


241

Variablen in Formeln
Eine Individuenvariable x

X kommt vor in

Term t, falls t = x oder


t = f (t1 , . . . , tn ) und x in einem ti vorkommt,
Atom a = p(t1 , . . . , tn ), falls x in einem ti vorkommt,
Formel , falls x in einem Atom in
(Teilformel von , die ein Atom ist) vorkommt.
var(): Menge aller in vorkommenden Indiviuenvariablen
Beispiele (Tafel: Formelbaume):
I

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

Freie und gebundene Vorkommen von Variablen


Ein Vorkommen der Indiviuenvariablen x in heit
gebunden , falls x in einer Teilformel von der Form x oder
x vorkommt,
bvar(): Menge aller in gebundenen
vorkommenden Variablen
frei , sonst
fvar(): Menge aller in frei vorkommenden
Variablen

var() = fvar() bvar() gilt immer.


fvar() bvar() 6= ist m
oglich, aber nicht notwendig.

243

Beispiele
1 = R(x, a)
2 = xR(x, f (y , x))

bvar(1 ) = , fvar(1 ) = {x}


bvar(2 ) = {x}, fvar(2 ) = {y }

3 = (P(x) (P(f (x)) (xy ((P(x) P(y )) R(x, y )))))


bvar(3 ) = {x, y }, fvar(3 ) = {x}
4 = xy 3

bvar(4 ) = {x, y }, fvar(4 ) =

244

Satze
Jede Formel FOL(,

X) mit fvar() = heit Satz.

Beispiele:
I

xy (R(x, y ) R(y , x)) ist ein Satz.

R(x, y ) R(y , x),


x(R(x, y ) R(y , x)),
y (R(x, y ) R(y , x)),
x(R(x, y ) yR(y , x)) sind keine Satze.

f
ur FOL(,

X) mit fvar() = {x1, . . . , xn }:

universeller Abschlu := x1 xn
existentieller Abschlu := x1 xn
F
ur jede Formel FOL(,

X) sind und Satze.


245

Modifizierte Interpretationen
gegeben:
I

Signatur ,

Variablenmenge

-Struktur A = (A, JKA ),

X,

X A der Variablen aus X in A


modifizierte Belegung [x 7 d] : X A mit
I

Belegung :


[x 7 d](y ) =

d
f
ur y = x
(y ) sonst

-Interpretation (A, ) mit


I
I

-Struktur A = (A, JKA )

Variablenbelegung :

XA

modifizierte Interpretation (A, [x 7 d])


246

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

JtK(S,) = Jf KS Jt1 K(S,) , . . . , Jtn K(S,) S

eines Atomes a = p(t1 , . . . , tn ) Atom(, ):


JaK(S,) = JpKS (Jt1 K(S,) , . . . , Jtn K(S,) ) {0, 1}
einer Formel FOL(,

X): JK(S,) {0, 1}

JK(S,) = 1 JK(S,)

J K(S,) = max(JK(S,) , JK(S,) )


J K(S,) = min(JK(S,) , JK(S,) )

JxK(S,) = max{JK(S,[x7a]) | a S}
JxK(S,) = min{JK(S,[x7a]) | a S}

(zur Semantik des Allquantors siehe auch


http://spikedmath.com/445.html)
247

Beispiele
= (R , F ) mit F = {(f , 1)},R = {(R, 2)},
= R(x, y ) zR(z, z)

X = {x, y , z}

= xyR(x, f (y ))

-Struktur A = (A, JKA ) mit A = {a, b, c}


Jf KA (a) = Jf KA (b) = c, Jf KA (c) = a
JRKA = {(a, a), (b, a), (a, c)}
Belegung (x) = b, (y ) = a , (z) = b
JK(A,) = . . .
JK(A,) = . . .

-Struktur B = (B, JKB ) mit B =


Jf KB (d) = d, JRKB =
Belegung (x) = 5, (y ) = 3, (z) = 1,
JK(B,) = . . .
JK(B,) = . . .

248

Was bisher geschah


Klassische Pradikatenlogik der ersten Stufe FOL(,

X):

Syntax : Signatur = (F , R ), Individuenvariablen


Terme Term(, ) (aus nur F relevant),
Grundterme Term(, )
Atome Atom(, ), Grundatome Atom(, )
Formeln FOL(, )
Variablen in Formeln (frei, gebunden)
Satze (Formeln ohne freie Variblen)

X
X
X

Semantik in -Strukturen A = (A, JKA ): Wert von


Grundtermen t Term(, ): JtKA A

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

Wiederholung FOL: Semantik


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

JtK(S,) = Jf KS Jt1 K(S,) , . . . , Jtn K(S,) S

eines Atomes a = p(t1 , . . . , tn ) Atom(, ):


JaK(S,) = JpKS (Jt1 K(S,) , . . . , Jtn K(S,) ) {0, 1}
einer Formel FOL(,

X): JK(S,) {0, 1}

JK(S,) = 1 JK(S,)

J K(S,) = max(JK(S,) , JK(S,) )


J K(S,) = min(JK(S,) , 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 ))

-Struktur A = (A, JKA ) mit A = {a, b, c}


Jf KA (a) = Jf KA (b) = c, Jf KA (c) = a
JRKA = {(a, a), (b, a), (a, c)}
Belegung (x) = b, (y ) = a , (z) = b
JK(A,) = . . .
JK(A,) = . . .

-Struktur B = (B, JKB ) mit B =


Jf KB (d) = d, JRKB =
Belegung (x) = 5, (y ) = 3, (z) = 1,
JK(B,) = . . .
JK(B,) = . . .

249

Modelle fur Formeln


-Interpretation (S, ) erf
ullt (ist Modell f
ur) die Formel FOL(,
genau dann, wenn JK(S,) = 1.

Menge aller Modelle der Formel FOL(, )




S = (S, JKS ) ist -Struktur und :
Mod() = (S, )
und JK(S,) = 1
Formel FOL(,

XS

X)

X) heit

erf
ullbar gdw. Mod() 6=

(z.B. x (P(x) Q(x)))

unerf
ullbar gdw. Mod() =

(z.B. xP(x) xP(x) )

allgemeing
ultig gdw.
Mod() = {(S, ) | S = (S, JKS ) ist -Struktur und :

X S}

(Menge aller -Interpretationen)


250

Beispiele
= R(x) y ((R(y )) E (y , x))
I

Struktur G = ({1, . . . , 4}, JKG ) mit


JRKG = {1, 2, 4},
JE KG = {(1, 2), (3, 2)} und
Belegung : {x, y } {1, . . . , 4} mit (x) = 2, (y ) = 2
(G, ) Mod()

Struktur H = ({a, b}, JKH ) mit


JRKH = {a},
JE KH = {(a, a), (b, b)},
Belegung : {x, y } {a, b} mit (x) = a, (y ) = a
(H, ) 6 Mod()

Struktur J = ( , JKJ ) mit


JRKJ = 2 (Menge aller geraden Zahlen),
JE KJ = {(i, i + 1) | i } und
Belegung : {x, y } mit (x) = (y ) = 0
(J , ) Mod()

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

Modelle von Formelmengen


Menge aller Modelle der Formelmenge FOL(,
\
Mod() =
Mod()

X):

Beispiel: Signatur = (, R ) mit R = {(P, 1), (E , 2)}




x (P(x) P(y )) ,
=
xy ((P(x) E (x, y )) P(y ))
I

(A, ) mit A = ({0, . . . , 5}, JKA ), wobei JPKA = {0, 2} und


JE KA = {(i, i + 1) | i {0, . . . , 4}}
und (x) = 1, (y ) = 2 Mod()

(B, ) mit B = ( , JKB ), wobei JPKB = 2


JE KB = {(i, i + 1) | i }
und (x) = (y ) = 0 Mod()

Z und

F
ur jede endliche Formelmenge = {1 , . . . , n } FOL(,

X) gilt

Mod() = Mod (1 n )
254

Was bisher geschah


Klassische Pradikatenlogik der ersten Stufe FOL(,

X):

Syntax :
I
I
I
I
I

Signatur = (F , R ),
(Individuen-)Variablen
Terme Term(, ), Grundterme
Atome Atom(, ), Grundatome
Formeln FOL(, ), Satze

I
I
I

-Strukturen A = (A, JKA )


Belegung der Individuenvariablen :
-Interpretationen (A, )

X
X
X

Semantik :

XA

Werte von (Individuen-)Variablen, Termen, Atomen


und Formeln in -Interpretationen
I Modellmengen von Formeln
I erf
ullbare, unerf
ullbare, allgemeing
ultige Formeln

I (semantische) Aquivalenz
von Formeln
I

255

Modelle von Satzen

Auf den Wert eines Satzes FOL(, ) (Formel ohne freie


Variablen) in einer Interpretation I = (S, ) hat die Belegung
keinen Einfluss, d.h. f
ur beliebige Belegungen , : S gilt

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 :

Menge aller Modelle des Satzes FOL(,

XS

X):

Mod() = {S | S = (S, JKS ) ist -Struktur und JKS = 1}


256

Modelle pradikatenlogischer Satze Beispiel


= x(G (x) G (f (x))
I

A = (A, JKA ) mit A = Menge aller Menschen,


Jf KA (x) = Vater von x, JG KA (x) gdw. x mannlich

A Mod()

B = (B, JKB ) mit B = Menge aller Orte 51 n


ordlicher Breite
Jf KB (x) = Ort 50 km westlich von x, JG KB (x) gdw. x in Sachsen
B 6 Mod()

C = ( , JKC ) mit
Jf KC (x) = x + 1, JG KC (x) gdw. x Primzahl

D = ( , JKD ) mit Jf KD (x) = x + 1,


JG KD = 2

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

Modelle von Satzmengen Beispiel


Signatur = (, R ) mit R = {(R, 2), (P, 1)}

x P(x),

x P(x),
x R(x, x),
=

xy (R(x, y ) R(y , x)) ,

xy z ((R(x, y ) R(y , z)) R(x, z))

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()

Mod() = Menge aller -Strukturen S = (S, JKS ), f


ur die
JPKS 6= , \ JPKS 6= (und damit |S| 2) und

JRKS eine Aquivalenzrelation


ist

258

Modelle von Satzmengen Beispiel


Signatur 0 = (0F , 0R ) mit 0F = {(f , 2), (e, 0)}, 0R {(=, 2)}


xy (f (f (x, y ), z) = f (x, f (y , z))),
0
=
x (f (x, e) = x)

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

Charakterisierung von Strukturen durch Satzmengen


Beispiel: Graphen mit Eckenfarbung mit Farben aus {R, G , B}
Signatur = (, R ) mit R = {(R, 1), (G , 1), (B, 1), (E , 2)}

xE
(x,
x),

xy (E (x, y ) E (y , x)),

x(R(x) G (x) B(x)),


=
x(R(x) (G (x) B(x)),

x(G
(x) (R(x) B(x)),

x(B(x) (G (x) R(x))


(jede Ecke mit genau einer Farbe aus {R, G , B} gefarbt)
Konfliktfreiheit der Eckenfarbung:
= xy (((R(x)R(y ))(G (x)G (y ))(B(x)B(y ))) E (x, y ))
Mod() = Menge aller ungerichteten schlingenfreien Graphen mit
Eckenfarbung mit Farben aus {R, G , B}
Mod( {}) = Menge aller ungerichteten schlingenfreien
Graphen mit konfliktfreier Eckenfarbung mit Farben aus {R, G , B}
260

Aussagenlogik als FOL-Spezialfall


Wiederholung:
Syntax : f
ur Signatur P = (F , R ) mit F = und
R = {(p, 0) | p P}. gilt AL(P) = FOL(P , )
(Alle Formeln in FOL(P , ) sind Satze, enthalten
keine Individuenvariablen, keine Terme und keine
Quantoren)
Semantik : Jede P -Struktur S = (S, JKS ) definiert f
ur jedes
p P einen Wahrheitswert JpKS {0, 1},
also Funktion WS : P {0, 1} (Belegung aller
Aussagenvariablen p P mit Wahrheitswerten) mit
p P : WS (p) = JpKS
Damit gilt auch f
ur alle Formeln FOL(P , ):
WS () = JKS
261

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 })

{p,q,r } -Struktur S = (S, JKS ) mit


JpKS = Jr KS = 1 und JqKS = 0
entspricht der Belegung WS : {p, q, r } {0, 1}
(der Aussagenvariablen):
WS = {p 7 1, q 7 0, r 7 1}
Wert von in S: JKS = 0 = WS ()
Modellmenge von :
I in AL({p, q, r }): Mod() = . . .
I in FOL({p,q,r } , ): Mod() = . . .
262

Modellierungsbeispiel Party (Wiederholung)


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.
Frage: Wird Annas Hund auf der Party sein?
formale Beschreibung:
I

elementare Aussagen (Atome): P = {a, h, m, p}

Beschreibung der Situation als Formelmenge:


P = {(m p) a, p m, (a h)} AL(P)

Formulierung der Frage als Behauptung : h


(positive Antwort auf die Frage)

Alle Situationen, in denen alle Angaben erf


ullt sind:

{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(,

X) und FOL(, X) gilt


|=

gdw.

Mod() Mod()

( ist semantische Folgerung aus .)


Folgerungsrelation

|= 2FOL(,X) FOL(,

X)

Beispiele:
I

{p, p q} |= q

{p, (q p)} |= q

{p} |= q p

|= p p

{x(P(x) Q(x)), P(y )} |= Q(y )

{x(P(x) Q(x)), P(x)} |= Q(x)

Notation f
ur Spezialfalle
f
ur = {} : |=
f
ur =
:
|=

(statt
(statt

{}

|=
|=

)
)
264

Semantisches Folgern Beispiele


I

Party: P |= a h, weil S Mod(P ) : Ja hKS = 1


und damit Mod(P ) Mod({a h}),
auerdem gilt z.B. P |= p m, aber P 6|= p

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()

{x (P(x) Q(x)), x P(x)} |= x Q(x)

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(,

Gelten |= und |= , dann gilt auch |= .

X) gilt x |=

265

Was bisher geschah


Modellierung in Logiken:

X)

klassische Pradikatenlogik FOL(,

Spezialfall klassische Aussagenlogik AL(P)


Syntax

I
I
I

Signatur, Variablen
Terme (induktive Definition, Baumform)
Atome (in AL(P): Aussagevariablen)
I Formeln (Junktoren, Quantoren)

Semantik

-Interpretation I = (S, ) mit


I -Struktur S = (S, JK )
S
I Belegung :
S
Wert von Termen, Atomen, Formeln in
-Interpretationen
Modellmengen von Formeln und Formelmengen

semantische Aquivalenz
von Formeln
erf
ullbare, unerf
ullbare, allgemeing
ultige Formeln
semantische Folgerungen aus Formelmengen

I
I
I
I
I

266

Semantisches Folgern Beispiele


I

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()

{x (P(x) Q(x)), x P(x)} |= x Q(x)

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

Bei Zugverspatung ist Tom nicht p


unktlich, falls kein Taxi am
Bahnhof steht.

Der Zug hat Verspatung.

Tom ist p
unktlich.

Modellierung als (aussagenlogische) Formelmenge:


T = {v (t p), v , p}

Frage:
informal: Stand ein Taxi am Bahnhof ?
formal Gilt T |= t ?
268

Eigenschaften der Folgerungsrelation


F
ur jede endliche Formelmenge = {1 , . . . , n } gilt
|=

genau dann, wenn

n
^

i |=

i=1

F
ur jede Formelmenge FOL(,
gilt
( )

|=

gdw.

X) und jede Formel FOL(, X)

( |= )
Mod() = Mod( {})

gdw.

Mod( {}) =

gdw.

{} unerf
ullbar

gdw.

{} |= f

F
ur alle Formeln , FOL(,

X) gilt

|=

gdw.

allgemeing
ultig

gdw.

( |= ) ( |= )

|=

gdw.

|= ( )

gdw.

|= ( )
269

Weitere Modellierungsbeispiele mit Folgerungsfragen


I

6.7
Lieblingsgetranke: Kontext siehe UA
Fragen:
I

I
I

Haben Anna und Paul (wenigstens) ein gemeinsames


Lieblingsgetrank?
Welche?
Welche Restaurants bieten dieses an?

Familienbeziehungen: Kontext
I

allgemein:
Zwei Personen sind Geschwister gdw. . . .
(Groeltern, verwandt,. . . )
Aufgaben-spezifisch:
Paul ist Vater von Anna und Tom. . . .

Fragen:
I
I

Sind Paul und Tina verwandt?


Wer sind Annas Groeltern, Nichten, . . . ?

Erreichbarkeit:
Kontext: Menge von Orten A, B, C , . . ., existierende Straen,
Verbindungen
Fragen: (Wie) Ist B von A erreichbar?
270

Anwendungen von Folgerungsaufgaben: Verifikation


Verifikation: Nachweis der Korrektheit von Software und Systemen
bzgl. einer gegebenen Spezifikation
Beispiel Schaltkreis-Verifikation
gegeben: Schaltung: Ausgabe-Verhalten (boolesche Funktion)
als Formel AL(P)
Spezifikation: Zielfunktion als logische Formel AL(P)
Frage: Erf
ullt die Schaltung die Spezifikation?
(Folgt aus {} ? Gilt {} |= ?)
Losung: ja / nein, evtl. mit Gegenbeispiel (unkorrekter Zustand)
Beispiel Korrektheit von Software
gegeben: Programm : tatsachlicher Zusammenhang
zwischen Ein- und Ausgaben als Formelmenge FOL(, )
Spezifikation: gew
unschter Zusammenhang
zwischen Ein- und Ausgaben als logische Formel FOL(, )
Frage: Erf
ullt das Programm die Spezifikation?
(Folgt aus ? Gilt |= ?)
L
osung: ja / nein, evtl. mit Gegenbeispiel (Eingabe mit falscher Ausgabe)

X
X

271

Syntaktisches Ableiten Ziel


gegeben: Formelmenge
Formel
Frage : Gilt |= ?
Ziel:
Verfahren zur Beantwortung dieser Frage durch syntaktische
Operationen (ohne Verwendung der Semantik, Modellmengen)

X
X

Syntaktische Ableitungsrelation ` 2FOL(,X) FOL(, )


passend zur
semantischen Folgerungsrelation |= 2FOL(,X) FOL(, )
` passt zu |= gdw.
f
ur jede Formelmenge FOL(,
FOL(, ) gilt

X) und jede Formel

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):

Beispiel: Regel (-Einf


uhrung)

(I)

274

Beispiel: Kalkul des naturlichen Schlieens


(Gerhard Gentzen, 1935)
Idee: formale Beschreibung des menschlichen Vorgehens beim
logischen Schlieen und Beweisen
F
ur jeden Junktor {, , , } und jeden Quantor
I

eine Einf
uhrungsregel (I)
Junktor in der Folgerung (unten), aber in keiner
Voraussetzung (oben) der Regel

eine Eliminierungsregel (E)


Junktor in einer Voraussetzung (oben), aber nicht in der
Folgerung (unten) der Regel

Beispiel: Modus Ponens eliminiert die Implikation

(MP)

275

Einige Regeln im Kalkul des naturlichen Schlieens

(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

eine Schlussregel in K und B1 , . . . , Bn Ableitungen f


ur
1 , . . . , n aus in K , dann ist
B1

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

klassische (sequentielle) Darstellung der Ableitung (des Beweises):


1. v

(Annahme)

2. v (t p)

(Annahme)

3. t p

(E) mit 1 und 2

4. p

(Annahme)

5. p

(I) mit 4

6. t

(MT) mit 3 und 5

7. t

(E) mit 6
278

Was bisher geschah


Modellierung von
Daten durch Mengen (Individuenbereiche),
haufig zusammengesetzt durch Mengenoperationen,
Zusammenhangen zwischen Individuen durch
Relationen (auch Eigenschaften)
Funktionen (Operationen)
gemeinsam in algebraischen Strukturen
Modellierung von
Bedingungen (Eigenschaften, Anforderungen) an Individuen und
Beziehungen durch Formel(menge)n in (klassischen)
Logiken:
FOL(, ) Pradikatenlogik mit
AL(P) Aussagenlogik als Spezialfall
(Fragment)

Charakterisierung algebraischer Strukturen durch Formeln


279

Modellierung in Logiken
Haufige Fragen f
ur gegebene Strukturen, Interpretationen, Formeln
und Formelmengen:
I

Erf
ullt eine gegebene Struktur / Interpretation eine gegebene
Formel / Formelmenge?

In welchen Interpretationen gilt eine Formel?

Ist eine gegebene Formel / Formelmenge erf


ullbar?

Ist eine gegebene Formel allgemeing


ultig?

Folgt eine gegebene Formel aus einer gegebenen


Formelmenge?

Gibt es automatische Verfahren (Algorithmen), die diese Aufgaben


l
ost (entscheidet),
also zu jeder Eingabe die Frage in endlicher Zeit korrekt mit ja
oder nein beantwortet.
280

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

semantisch: Modellmengen, Wahrheitswerttabellen

syntaktisch: Beweis in Kalk


ulen (z.B. nat
urliches Schlieen)

SAT-Solver
281

Unentscheidbarkeit

der Pradikatenlogik der ersten Stufe FOL(,

X)

Satz
Es existiert kein Algorithmus, der f
ur jede beliebige Formel
FOL(, X ) entscheidet, ob allgemeing
ultig ist.

FOL(, ) ist also unentscheidbar.


(mehr dazu in der LV Theoretische Informatik)

282

Eignung von Logiken zur Modellierung verschiedener


Aufgabenbereiche

verschiedene Logiken unterschieden sich in


I Ausdrucksst
arke:
I

I
I

Aussagen u
ber welche Bereiche lassen sich u
berhaupt
formulieren?
kompakte Darstellung typischer Aussagen
Verstandlichkeit der Formalisierung

Reprasentation von Informationen


I

algorithmische Entscheidbarkeit wichtiger Fragen


(maschinelle) Verarbeitung von Informationen

283

Vergleich verschiedener Logiken


klassische Logiken:
I klassische Pr
adikatenlogik der ersten Stufe FOL:
I
I
I

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

Charakterisierung algebraischer Strukturen


Algebraische Strukturen sind eindeutig definiert durch
Syntax:
Tragermengen (Typen, Sorten), z.B. {0, 1}, , {a, b} , 2M
Funktionen (Operationen), z.B. len : {a, b} , + : 2 ,
: ({a, b} )2 {a, b} , 0 , {a, b} , 2M
Relationen , z.B. 2 , prim , v ({a, b} )2 ,
Semantik:
Zusammenhange zwischen Funktionen und Relationen, z.B.

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

Formale Darstellung algebraischer Strukturen


(abstrakte Algebra, abstrakter Datentyp, ADT)
I

I
I

Signatur = ( , F , R ) mit

Menge von Sortensymbolen,


Menge F von Funktionssymbolen
mit Stelligkeit / Typdeklaration
Menge R von Relationssymbolen
mit Stelligkeit / Typdeklaration

Menge von Axiomen beschreibt Zusammenhange zwischen


den Symbolen
(meist pradikatenlogische Formeln, Gleichungen)

ADT zur Definition von Software-Schnittstellen:


Festlegung der
Syntax in Sorten und Signatur (z.B. Java-Interfaces)
Semantik (Anforderungen an Implementierung) in Axiomen
Abstraktion von konkreten Reprasentationen der Daten
(Tragermengen) und konkrete Implementierung der Operationen
286

Konkrete Datentypen
(konkreter) Datentyp:
I

Tragermenge (nichtleer, Menge aller Werte)

Eigenschaften von und Relationen zwischen den Elementen


der Tragermenge

Operationen auf der Tragermenge

(= algebraische Struktur)
Beispiele:
I

integer mit +,-,*,/

string mit ++, reverse

boolean mit And, Or, Not

string integer mit length

Jeder ADT reprasentiert eine Menge konkreter Datentypen:


genau alle Implementierungen (-Strukturen), die alle Axiome des
ADT erf
ullen
(= Mod())
287

Kombination von Strukturen


einfache (einsortige) Datentypen, z.B. int, bool, float, ...
zusammengesetzte Datentypen
Konstruktion durch Operationen auf den Tragermengen:
Vereinigung von Datentypen
Beispiel Skat: W = Z B
Produkt (kartesisches) von Datentypen:
Beispiel Skat: K = F W
mehrfaches Produkt desselben Typs, z.B.
Tupel
Beispiel Skat:
Blatt in der Hand nach dem Geben K 10
Rekursion : rekursive Datentypen, z.B. Listen, Baume
Abbildung zwischen Datentypen (Funktionen)
z.B. Multimengen, Maps
Zusammengesetzte Datentypen = mehrsortige Strukturen
288

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

Axiome (definieren die Semantik der Operationen):

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

Konkrete Datentypen (Implementierung) Beispiele


verschiedene M
oglichkeiten zur Reprasentation der Sorten:
I

Wahrheitswerte z.B. als {0, 1} oder {1, 1}

Zahlen in verschiedenen Zahlendarstellungen, z.B.


dezimal, binar, zu anderer Basis, Maschinenzahlen (eingeschrankter
Bereich)

Mengen als (sortierte) Folgen (mit / ohne Wiederholungen) von


Zahlen

Mengen als Zuordnung Zahl {0, 1} mit


1, falls Zahl in der Menge, 0 sonst
(charakteristische Funktion der Menge)

Mengen als {0, 1}-Folgen variabler Lange


(z.B. nur relevanter Teil der charakteristischen Funktion)

abstrakter Datentyp: Signatur und Axiome ,


exakte Formulierung der Aufgabe, Spezifikation
konkreter Datentyp: -Struktur, welche erf
ullt (Modell f
ur )
Umsetzung, Implementierung
290

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

Konkrete Datentypen (Beispiele)


Implementierung des ADT Himmelsrichtungen, z.B.:


cos sin
I als Punkte im 2 mit Drehmatrizen
sin cos




0 1
0 1
= /2 : R =
= /2 : L =
1 0
1 0

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

B = ({0, 1, 2, 3}, JKB ) mit


JNKB = 0, JOKB = 1, JSKB = 2, JWKB = 3,
x : JrechtsKB (x) = (x + 1) mod 4
x : JlinksKB (x) = (x 1) mod 4,
x : JumKB (x) = (x + 2) mod 4
Ist diese Implementierung korrekt?
292

Modellierungsbeispiel Papierstapel

Individuenmengen:
I
I

I
I

Blatter (oben einseitig bedruckt)


Stapel (von Blattern)

Eigenschaft: (Stapel) ist leer

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

Eigenschaften der Stapel-Operationen


Operationen:
top : Stapel Blatt
pop : Stapel Stapel
push : Blatt Stapel Stapel
einige Zusammenhange zwischen den Stapel-Operationen:
f
ur alle Blatter (Stapelelemente) e und alle Stapel s gilt:
I Wird zuerst ein Blatt e auf einen Stapel s gelegt und dann
von diesem Stapel das obere Blatt weggenommen, enthalt
man den urspr
unglichen Stapel s
pop(push(e, s)) = s
I top(push(e, s)) = e
I push(top(s), pop(s)) = s
Beobachtung:
Dieselben Eigenschaften gelten auch f
ur B
ucher-, Teller- und
andere Stapel,
sind also unabhangig vom Typ der Stapelelemente
294

ADT Stack (Stapel, Keller)


Abstraktion von der Realisierung
(Tragermengen, Implementierung der Operationen)
Sorten E : Elementtyp,
S: Stapel von Elementen vom Typ E ,
B = {t, f } (Wahrheitswerte)
Signatur : top
:S
E
pop
:S
S
push
: E S S
new
:
S
isEmpty : S
B
Axiome , z.B.
isEmpty(new)
s S e E : isEmpty(push(e, s))
s S e E :
top(push(e, s))
s S e E :
pop(push(e, s))
s S e E : push(top(s), pop(s))
konkrete Datentypen (Implementierungen) dazu in
LV Algorithmen und Datenstrukturen

=
=
=
=
=

t
f
e
s
s
295

ADT Stack (Stapel, Keller)


Aus den Axiomen
isEmpty(new)
s S e E :
s S e E :
s S e E :

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

lassen sich durch syntaktische Umformungen


(ohne Wissen u
ber Realisierung, konkreten Datentyp)
weitere Eigenschaften ableiten, welche in jeder Realisierung gelten,
z.B. gilt top(pop(push(a, push(b, s)))) = top(push(b, new)) wegen
top(pop(push(a, push(b, s))))

(4)

(3)

(3)

top(push(b, s)) = b
top(push(b, new))
296

Spezifikation und Verifikation


Jeder ADT spezifiziert eine Menge konkreter Datentypen:
genau alle Implementierungen (-Strukturen), die alle Axiome des
ADT erf
ullen
Menge aller korrekten Implementierungen des ADT
= Modellmenge der Menge der Axiome des ADT
Verifikation:
formaler Nachweis der Korrektheit von Implementierungen bzgl.
der Spezifikation (ADT)
oft durch Ableitungen in geeigneten Kalk
ulen
maschinelle Unterst
utzung durch Werkzeuge wie
z.B. Coq, pvs, Isabelle, KIV, KeY
(mehr dazu in LV im Master-Studium)
297

WH: Prozess beim Losen von Aufgaben (Problemen)


Analyse der (informalen) Aufgabe, Identifikation von
I Aufgabenbereich (Kontext)
I Eingabedaten (Typen, m
ogliche Werte)
I gew
unschte L
osung
(Typ, Eigenschaften, Zusammenhang mit Eingabe)
Modellierung (Abstraktion, formale Darstellung) von
I Aufgabenbereich (Kontext)
I Anforderungen an Eingaben
I Anforderungen an L
osungen
Modellierung von Daten
und deren Eigenschaften und Beziehungen zueinander
Entwurf einer L
osungsstrategie f
ur die modellierte Aufgabe
(mit vorhandenen oder neuen Methoden)
Modellierung von Ablaufen und deren Eigenschaften
Realisierung der L
osungsstrategie im Modellbereich
Ausf
uhrung der L
osungsstrategie im Modellbereich

Ubertragung der L
osung vom Modellbereich in die Realitat
298

Maschinelle Losung von Aufgaben

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

Wenn es kalt ist, tragt Paul immer eine M


utze, einen Schal
oder Handschuhe.

Ohne Handschuhe oder Schal tragt er keine M


utze.

M
utze und Handschuhe tragt er nie zusammen.

Handschuhe und Schal tragt er immer zugleich.

Aufgabe: Beantwortung der folgenden Fragen (mit ja/nein)


Welche der folgenden Aussagen sind semantische Folgerungen
daraus:
I

Bei Kalte tragt er immer seinen Schal.

Bei Kalte tragt er immer Handschuhe oder M


utze.

Er tragt nie Handschuhe.


300

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

in einer formalen Beschreibungssprache

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

Beispiel: Summe der ersten n naturlichen Zahlen


informale Aufgabenstellung:
Addiere alle nat
urlichen Zahlen von 1 bis n.
Spezifikation (formale Aufgabenbeschreibung, Anforderungen):

N
P
Nachbedingung: Ausgabe s N mit s = ni=1 i

Vorbedingung: Eingabe n

verschiedene Algorithmen, welche diese Spezifikation erf


ullen:
Algorithmus : Summe1
Eingabe : n
Ausgabe : s

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

Beispiel: groter gemeinsamer Teiler


Aufgabe: Zu zwei nat
urlichen Zahlen soll ihr gr
oter gemeinsamer
Teiler (ggT) berechnet werden.
Kontextwissen (Definitionen):

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 ist Teiler von x:

t | x gdw. k

ggT(x, y ) = t

gdw.

((t T (x, y )) (s T (x, y )(s|t)))

Spezifikation (Anforderungen):

N, y N
Nachbedingungen (an Ausgaben): z N mit z = ggT(x, y )
Vorbedingungen (an Eingaben): x

304

Beispiel: Algorithmus fur ggT


(bekannte) Eigenschaften des ggT:

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

Struktur von Algorithmen


Konstruktion komplexer Berechnungsvorschriften aus
Grundbausteinen: elementare Algorithmen (Schritte), z.B.
I Zuweisung,
I Aufruf eines Unterprogrammes,
I Ein- oder Ausgabe (Interaktion)
Verkn
upfungen von Algorithmen durch
sequentielle Ausf
uhrung (nacheinander)
parallelle Ausf
uhrung (gleichzeitig, benotigt
mehrere Ausf
uhrende, z.B. Prozessoren)
bedingte Ausf
uhrung, Alternative (Verzweigung)
wiederholte Ausf
uhrung (Schleifen)
rekursive Ausf
uhrung
Blocke , Unterprogramme
(Notation in Struktogramm, Pseudocode, . . . )
306

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

Was wird getan? (Aktionen, Anweisungen)


Womit wird es getan? (Daten)
Wie geht es weiter? (n
achster Schritt)

4. Verifikation:
Nachweis der Korrektheit des Algorithmenentwurfes bzgl. der
Spezifikation
5. Realisierung (Implementierung)
307

Algorithmen Analyse der Aufgabe


Was soll gelost werden?

ist zu Beginn des Software-Entwicklungsprozesses oft noch


nicht klar,

zunachst grober Ansatz,

wird schrittweise verfeinert,


formale Darstellung f
ordert

I
I
I
I

Problemverstandnis,
Abstraktion (Auswahl relevanter Eigenschaften),
Dokumentation wahrend des Entwicklungsprozesses,
Ideen f
ur L
osungsansatze

308

Algorithmen Spezifikation
Ausgangspunkt:
Ergebnis:

umgangssprachlich formulierte und oft


ungenaue Aufgabenbeschreibung
exakte und vollstandige Definition des
Problemes

Spezifikation einer Berechnungaufgabe:


korrekte formale Beschreibung des Zusammenhanges zwischen
Eingaben und Ausgaben
Spezifikation einer Berechnungsaufgabe enthalt
Vorbedingung: Forderung an die Eingaben
Nachbedingung: Forderung an die Ausgaben

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

aus Spezifikation lasst sich folgender Algorithmus ablesen:

Algorithmus : Minimum
Eingabe : x = (x1 , . . . , xn )
Ausgabe : m

m x1
f
ur jedes i 2, . . . , n :
wenn xi < m dann
m xi
310

Was bisher geschah


Modellierung von
Daten durch Mengen
Beziehungen (Zusammenhange und Eigenschaften) durch Relationen,
Graphen und Funktionen
Anforderungen durch Logiken
Modellierung als
algebraische Strukturen (konkrete Datentypen)
zur Modellierung zusammenhangender Datenbereiche
Tragermengen, Funktionen (, Relationen)
abstrakte Datentypen (ADT) zur Modellierung zusammenhangender
Datenbereiche und derer Eigenschaften:
Sorten, Signatur, Axiome
Algorithmen zur Modellierung von Anleitungen (Folgen von
Anweisungen) zu schrittweisen Ablaufen:
Spezifikation (Anforderungen)
Aufbau aus Grundbausteinen und Verkn
upfungen
(Baumstruktur)
311

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

(R) = {(N, W ), (O, N), (S, O), (W , S)}

(L) {N, O, S, W }

(L) = {(N, O), (O, S), (S, W ), (W , N)}

(U) {N, O, S, W }

(U) = {(N, S), (O, W ), (S, N), (W , O)}


312


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

Wirkung der Aktionen (Zustands


ubergange)

als (pradikatenlogische) Formelmengen.


314

Modellierung mit Zustandsubergangssystemen


Anwendungsbeispiele:
I

reale Automaten,
z.B. Getranke-, Fahrschein, Bankautomaten

Verkehrssysteme,
z.B. Stellwerk, Ampelschaltungen

Steuerung von Industrieanlagen

Bedien-Oberflachen,
z.B. Folgen von Bedienoperationen

Digitaltechnik, Schaltwerke

Zeit- und Ablaufplanung

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 ))

In belegte Facher kann kein Geld eingeworfen werden.


x(b(x) yG (x, y ))

Kein nicht bezahltes Fach kann zugeschlossen werden.


x(g (x) yZ (x, y ))

Dazu werden auch haufig nichtklassische Logiken verwendet,


z.B. Temporallogiken: (entscheidbare) FOL-Fragmente
(mehr dazu in spateren LV zu Verifikation)

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

Endliche Automaten Definition


NFA (nondeterministic finite automaton) A = (X , Q, , I , F ) mit
X endliches Alphabet,
Q endliche Menge von Zustanden,

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) =

{(0, 0), (0, 1), (1, 3)}

(b)

{(0, 0), (1, 2)}

(c)

{(0, 3), (3, 3), (4, 1)}

a,b
a

0
c
3

1
a

c
c

318

Anwendung endlicher Automaten


Endliche Automaten k
onnen z.B.
I

regulare Sprachen akzeptieren,


d.h. bei Eingabe mit ja / nein antworten

Anwendungen z.B.
I

Zulassigkeit von Email-Adressen

Suchen von (auch mehreren) Zeichenketten in Texten

Programmtransformation (z.B. im Compiler):

Syntax-Uberpr
ufungen: Bezeichner, Zahl-Darstellungen,
korrekte Schl
usselw
orter

Endliche Automaten k
onnen z.B. nicht
I

Werte ausgeben

Zeichenvorkommen zahlen

beliebig lange Zeichenketten speichern

korrekte Klammerung erkennen

rechnen, z.B. addieren


319

Beispiel Kaffee-Automat
(einfacher) Kaffee-Automat:
I

liefert nach Einwurf von 2 e und Bedienung der Kaffee-Taste einen


Becher Kaffee

erlaubt Einwurf von M


unzen zu 1 e und 2 e

R
uckgabe der gezahlten M
unzen nach Bedienung der R
uckgabetaste

formale Beschreibung als Mealy-Automat (Ausgabe bei Uberg


angen):
I

Zustande Q = {0, 1, 2} (Anzahl der bisher gezahlten e)


Aktionen A = {1E, 2E, KT, RT}
Ausgaben O = {K , 1 e, 2 e}
2E
1E
0

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

formale Beschreibung als Moore-Automat (Ausgabe bei Zustanden):


Zustande Q = {001, 010, 011, 100, 101, 110, 111}
Aktionen A = {w } (nur eine Aktion, wird nicht markiert)
Ausgaben O = {0, 1}

100/0

110/0

111/1

011/1

101/1

010/0

001/1

erzeugte (pseudo-zufallige) Ausgabefolge: 0011101 . . .


321

Automaten mit zusatzlichem Speicher

Endliche Automaten sind zur Modellierung vieler Systeme /


Ablaufe nicht ausdrucksstark genug,

Ausdrucksstarke lasst sich durch zusatzlichen Speicher


erhohen

Aktionen im Speicher (Lesen, Schreiben usw.) sind


Nebenwirkungen

322

Typische Arten interner Speicher


I

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

(mehr dazu in den LV zur Theoretischen Informatik)


323

Lineares Solitaire (Wiederholung)


informale Beschreibung des Spieles:
Spielbeginn: n Spielsteine, je einer auf n benachbarten Spielfeldern
in einer Reihe.
Spielz
uge:

L Springe mit einem Stein u


ber den linken
Nachbarn auf das dahinterliegende freie
Feld und entferne den u
bersprungenen
Stein.
R Springe mit einem Stein u
ber den
rechten Nachbarn auf das
dahinterliegende freie Feld und entferne
den u
bersprungenen Stein.

Spielende: Das Spiel endet, wenn kein Spielzug moglich ist.

324

Lineares Solitaire als Zustandsubergangssystem




Q = (21) v (12) {0, 1, 2}2 | v {0, 1}
(unendliche) Menge der Spielzustande
s = 21n 2 Q Startzustand

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}

v 112 v 0012 | v|v | 6= 2


{2110v 21v | v1 6= 2}
T (L)

{u011v u100v | v1 6= 2}
{2112 212}

{211v 2100v | v1 6= 2}

v 0112 v 12 | v|v | 6= 2

Das Spiel (Zustands


ubergangssystem) lasst sich durch eine (geeignet
definierte) Turing-Maschine simulieren (jeder Spielzug durch mehrere

Uberg
ange der Turing-Maschine).
325

Berechnungen als Zustandsubergangssysteme


imperative Programmierung (von-Neumann-Modell):
Programm (imperativ): Folge von Anweisungen
Ausf
uhrungsmodell: abstrakte Maschine
Zustand der abstrakten Maschine besteht aus
I Belegung der Variablen im Speicher und
I n
achste Anweisung (Programmzahler)
Startzustand f
ur Programm p und Eingabe i:
I Variablen im Speicher mit Werten aus i belegt,
I erste Anweisung von p (Programmz
ahler)
Berechnung (Ausf
uhrung) des Programmes p:
sequentielle Ausf
uhrung der Anweisungen in p
Modellierung durch (endliche oder unendliche) Folge von
Zustands
ubergangen (Rechenschritten)
Ausgabe: Speicherbelegung nach Ende der Berechnung
Semantik (Wirkung) eines imperativen Programmes p:
Abbildung (partielle Funktion) von Eingaben auf Ausgaben

und Nebenwirkungen (z.B. Anderung


der Speicherbelegung)
326

Beispiel: Vertauschen mit Hilfsvariable


Aufgabe (informal): Vertauschen der Werte zweier Variablen
Spezifikation: Vorbedingung: Eingabe a = A , b = B
Nachbedingung: Ausgabe a = B , b = A
Zustande (A, B, C ) 3 (unendlich viele), wobei
A Wert der Variable (Speicherplatz) a (B, C analog)

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)

Verifikation des Programmes (Nachweis der Korrektheit bzgl.


Spezifikation) durch Ausf
uhrung mit symbolischen Werten (A, B, C )
manuell oder maschinell m
oglich
(mehr dazu in Master-LV zu Software-Verifikation)

327

Visuelle Darstellungen fur Ablaufe und Algorithmen

Beispiele:
I

UML statecharts (in spateren LV)

BPMN zur Modellierung von Geschaftsprozessen

Lego Mindstorms Software

328

Was bisher geschah


Modellierung von
Daten durch Mengen (einfach, zusammengesetzt)
Beziehungen (Zusammenhange und Eigenschaften)
durch Relationen, Graphen und Funktionen
Ablaufen durch Zustands
ubergangssysteme
sequentiell (ein Akteur):
endliche Automaten mit Erweiterungen
Anleitungen durch Algorithmen
(strukturierte Anweisungsfolgen, Programme)
Anforderungen (Spezifikation) an Daten, Eigenschaften,
Zusammenhange, Ablaufe, Algorithmen, . . .
durch Logiken

329

Modellierung von Ablaufen


bisher: Modellierung von Systemen mit
I

sequentielle Ausf
uhrung

durch einen Akteur

Modellierung des Verhaltens


I

nebenlaufiger Systeme

mit mehreren Akteuren / Komponenten

Akteure / Komponenten kommunizieren miteinander

abhangig von mehreren Ressourcen

reagiert auf Ereignisse


(Vorliegen von Ressourcen)

Beispiele (Tafel):
I

Fahrstuhl (Ressource = Kabine)

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


=

(A, a), (a, B), (B, b), (b, C ), (a, D),


(E , c), (c, F ), (F , d), (d, G ), (D, d)

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

Transition t T ist im Zustand z aktiviert gdw.


s VBN (t) : z(s) 1
Beispiel (Tafel): N = (S, T , F ) mit
S = {1, 2, 3}
T = {a, b, c}
F = {(1, a), (1, b), (a, 1), (a, 2), (2, c), (c, 3), (b, 3), (3, c)}
und Anfangszustand z0 = {1 7 1, 2 7 0, 3 7 0}

332

Zustandsubergange
Schalten einer aktivierten Transition t T
I

verbraucht je eine Marke an jeder Stelle im Vorbereich

erzeugt je eine Marke an jeder Stelle im Nachbereich


t

Jede Transition t definiert eine Relation auf

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

In jedem Schritt schaltet genau eine aktive Transition

Falls mehrere Aktionen aktiv sind, wird eine davon beliebig


ausgewahlt (nichtdeterministisch)

Darstellung als Diagramm (Zustands


ubergangssystem)
meist f
ur gegebenen Anfangszustand z0
333

Petri-Netze: Konflikte
I
I
I

Schalten einer aktiven Transition verbraucht Marken


Transitionen mit gemeinsamen Stellen im Vorbereich
konkurrieren um Marken
ermoglicht Synchronisation nebenlaufiger Ablaufe
(Transitionsfolgen)

Transitionen t1 T und t2 T stehen zueinander im Konflikt


gdw.
VB(t1 ) VB(t2 ) 6=
Beispiel (Tafel):
N = (S, T , F ) mit S = {1, 2, 3, 4, 5}, T = {a, b, c, d} und


(1, a), (a, 2), (2, b), (b, 1), (b, 3), (3, a),
F =
(5, c), (c, 4), (4, d), (d, 5), (d, 3), (3, c)
enthalt Konflikt zwischen den Transitionen a und c,
weil Stelle 3 VBN (a) VBN (c)
334

Kapazitaten und -Schranken


Erweiterung:
I

Einschrankung:
I

jede Kante bekommt eine Gewicht ( ),


beschreibt die Anzahl der Marken, die bei jedem Schalten
durch die Kante flieen sollen.

Stellen kann eine Kapazitat ( ), zugeordnet werden,


beschreibt die maximal erlaubte Anzahl von Marken in dieser
Stelle

falls alle Kapazitaten beschrankt


Zustandsmenge endlich (aber evtl. gro)
vollstandige Analyse des Zustands
ubergangsgraphen (prinzipiell)
moglich
Spezialfall Bedingung/Ereignis-Netze:
I

jede Kante hat Gewicht 1

jede Kapazitat ist 1


335

Beispiel Ampelschaltung
eine Ampel
I

schaltet zwischen rot und gr


un

Fuganger-Uberweg
I

Ampel (Paar) f
ur Fahrzeuge

Ampel (Paar) f
ur Fuganger

nicht beide gleichzeitig gr


un

schaltet streng abwechselnd f


ur Fahrzeuge und Fuganger
gr
un

Fuganger-Uberweg
mit Bedarfsschaltung
(Sensoren f
ur Fuganger und Fahrzeuge)
I

Ampel (Paar) f
ur Fahrzeuge

Ampel (Paar) f
ur Fuganger

nicht beide gleichzeitig gr


un

schaltet bei Bedarf (Fuganger)


336

Modellierung mit Petri-Netzen


I

sequentielle Ausf
uhrung

Auswahl (ein Zweig von mehreren)

nebenlaufige Verzweigung (mehrere Zweige)

Synchronisation

Konflikte (gegenseitiger Ausschluss)

Verbindung von Erzeuger-Verbraucher-Kreislaufen

Anwendungen zur Modellierung z.B. von


I

realen oder abstrakten Automaten und Maschinen,

kommunizierenden Prozessen (z.B. in Rechnern),

Verhalten von Software- oder Hardware-Komponenten,

verteilten Systemen

Geschaftsablaufen in einer Firma,

Spielen (bzw. Spielregeln),

biologischen Prozessen (Bioinformatik).


337

Beispiel Autowerkstatt
(nach Kastens, Kleine B
uning: Modellierung)

Reprasentation der Informationen zur


Auftragsabwicklung in einer Autowerkstatt

Modellierung
I

der (Mengen der) beteiligten Individuen (Objekte, Entities)

derer Eigenschaften

der Beziehungen zwischen Individuen

der Ablaufe bei der Auftragsabwicklung

338

Individuen(-Mengen), Eigenschaften, Beziehungen


Kunde hat Namen, besitzt KFZ, erteilt Auftrage
Auftrag hat Eingangsdatum, betrifft KFZ,
wird von Mechanikern bearbeitet,
benotigt Ersatzteile
Fahrzeug ist PKW (mit einer Farbe)
oder Motorrad (mit / ohne Tuning)
hat Typ, Baujahr und Fahrgestellnummer
KFZ-Typ hat Typ-Namen
Ersatzteil ist geeignet f
ur KFZ-Typ
Mechaniker hat Namen,
ist ausgebildet f
ur KFZ-Typ
bearbeitet Auftrage

339

Auspragungen

Kunde Meier (Kunden-Nr. 12)


bringt am 27.7.2004
seinen blauen Golf (Bj. 2001, Fahrgestell-Nr. 435793) . . .

Kunde Schmidt (Kunden-Nr. 17)


bringt am 28.7.2004
seinen roten Audi (Bj. 2002, Fahrgestell-Nr. 578349) . . .

340

Semantisches Netz
Modellierung in zwei Abstraktionsebenen:
I

obere Ebene (Terminologie):


Begriffe (Klassen, Entity-Mengen)
z.B. Kunde, Auftrag, Fahrzeug, Mechaniker
und deren
Attribute (Eigenschafts-Namen),
z.B. Name, Nummer, Farbe
Rollen (Relations-Namen)
z.B. ist-ein, besitzt, bearbeitet

untere Ebene (Auspragungen):


Individuen (Objekte, Entities, Instanzen)
Werte der Attribute
Beziehungen (Relationen) zwischen Individuen

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

Modellierung von Bedingungen


I

Jeder Auftrag soll (von wenigstens einem Mechaniker)


bearbeitet werden:
a Am M : bearbeitet(m, a)

Jeder Auftrag soll von h


ochstens drei Mechanikern bearbeitet
werden:
a A : |{m M | bearbeitet(m, a)}| 3

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 von Ablaufen


Bearbeitung eines einzelnen Auftrages
1. Erteilung des Auftrags
2. Bestellung und Entgegennahme der fehlenden Ersatzteile
3. Bereitstellung der vorhandenen Ersatzteile
4. Bearbeitung des Auftrages
5. Auslieferung

Modellierung (Tafel)
sequentiell als Zustands
ubergangssystem
nebenlaufig als Petri-Netz

344

Modellierung von Aufgaben


gegeben: informale Aufgabenstellung
Modellierung: Identifikation und formale Darstellung von
Kontext (allgemein):
I Individuenbereiche
I Eigenschaften von und Zusammenh
ange
zwischen Individuen
Aufgabe (fallspezifisch):
I Eingaben: Bereiche (Typen) und Eigenschaften
I Ausgaben: Bereiche (Typen) und Eigenschaften
I Zusammenhang zwischen Ein- und Ausgaben
erst danach:
Suche nach oder Entwurf von L
osungsverfahren
345

Vorteile der formalen Darstellung


Abstraktion von unwichtigen Details
(Entwicklung und Verwendung von Modellen)
Prazisierung der relevanten Aussagen
(eindeutige Semantik)
Systematisches Losen von formal dargestellten Problemen moglich
(auch maschinell, z.B. durch SAT-Solver)
Struktureigenschaften formaler Beschreibungen
Schlussweisen unabhangig von Bedeutung der
Aussagen
Korrektheitsnachweise (Verifikation) f
ur Software und Systeme auf
der Grundlage formaler Beschreibungen
(Spezifikation) m
oglich (auch maschinell)

346

Modul Modellierung Lernziele


(nach Modulbeschreibung)
I

Anwendung mathematischer und logischer Grundkonzepte zur


Modellierung praktischer Aufgabenstellungen

Beherrschen von Formalismen zur Beschreibung von


Anforderungen an Software und Systeme (Spezifikation)

Wissen um Moglichkeit formaler Korrektheitsnachweise f


ur
Software und Systeme (Verifikation)

Nebenwirkungen:
I

Fahigkeit zur Abstraktion


(durch konsequente Verwendung formaler Darstellungen)

anwendungsbereite Kenntnisse zur Modellbildung

(durch viele Beispiele und Ubungsaufgaben)

Verweise auf Zusammenhange zu anderen Gebieten der


Informatik und zur Mathematik
347

Modul Modellierung Inhalt


Modellierung von Daten und Zusammenhangen durch
I Mengen (Individuen-, Wertebereiche), Multimengen
I Relationen
I Graphen
I Funktionen
I Terme, strukturelle Induktion
I algebraische Strukturen
I Abstrakte und konkrete Datentypen
Modellierung von Eigenschaften durch Logiken
I klassische Aussagenlogik
I klassische Pr
adikatenlogik der ersten Stufe
Modellierung von Ablaufen durch
I Algorithmen
I Zustands
ubergangssysteme (sequentiell)
I Petri-Netze (nebenl
aufig)
348

Prozess beim Losen von Aufgaben (Problemen)


Analyse der (informalen) Aufgabe, Identifikation von
I Aufgabenbereich (Kontext)
I Eingabedaten (Typ, m
ogliche Werte)
I gew
unschte L
osung
(Typ, Eigenschaften, Zusammenhang mit Eingabe)
Modellierung (Spezifikation, formale Darstellung) von
I Aufgabenbereich (Kontext)
I Anforderungen an Eingaben
I Anforderungen an L
osungen
Modellierung von (Anforderungen an)
Daten, Zusammenhangen und deren Eigenschaften
Entwurf einer L
osungsstrategie f
ur die modellierte Aufgabe
(mit vorhandenen oder neuen Methoden)
Modellierung von Ablaufen und deren Eigenschaften
Realisierung der L
osungsstrategie im Modellbereich
Ausf
uhrung der L
osungsstrategie im Modellbereich

Ubertragung der L
osung vom Modellbereich in die Realitat
349

Mengen
I

extensionale, intensionale Darstellung

(endliche und unendliche) Machtigkeit |M|

Russells Paradox

Leere Menge

Mengenoperationen: , , \,

, n , Tupel, Vektoren

Mengenbeziehungen: ,

zusammengesetzte Wertebereiche

B A = {f : A B},

Potenzmenge 2A , charakteristische Funktion A

Multimengen

350

Worter und Sprachen


I

Alphabet A

A , Worter (Folgen),

intensionale, extensionale Darstellung

Lange |w |, Anzahl von Buchstabenvorkommen |w |a

Operationen ,

Prafix-, Postfix-, Infix-Beziehungen

(quasi-)lexikographische Ordnung

auf W
ortern

Sprachen
I

Sprachen als Mengen

Operationen , ,

regulare Ausdr
ucke

regulare Sprachen

auf Sprachen

351

Relationen
I

Eigenschaften

Darstellung als Funktion

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

Wege, Pfade, Kreise in Graphen

Nachbarschaften, Zusammenhang,
Zusammenhangskomponenten

Euler-Weg und -Kreis,

Hamilton-Pfad und -Kreis

Farbungen (Knoten, Kanten)

Baume, Walder als spezielle Graphen


353

Funktionen

als spezielle Relationen

totale / partielle Funktionen

Eigenschaften

Definitions- und Wertebereich

Bild

Urbild

Inverse

Verkettung

Folgen, Mengen, Multimengen als Funktionen

Darstellung von Relationen als Funktionen

354

Terme

Sorten

Signaturen

Terme, Grundterme

Baumdarstellung

strukturelle Induktion

Teilterm-Relation

355

(Algebraische) Strukturen

-Struktur

Tragermengen (Individuenbereich)

Interpretation der Signatur-Symbole

I
I

Werte von Termen und Formeln in Strukturen

Aquivalenz
von Termen und Formeln in Strukturen

mehrsortige Strukturen

konkrete Datentypen

356

Klassische Aussagenlogik
I

Junktoren

Wahrheitswertfunktionen

aussagenlogische Formeln (Baumstruktur)

strukturelle Induktion

Teilformeln

Belegungen von Aussagenvariablen

Wahrheitswerttabellen

Modelle, Modellmenge von Formeln und Formelmengen

I
I

erf
ullbar, unerf
ullbar, allgemeing
ultig

semantische Aquivalenz, Umformungen

semantische Folgerungen

SAT-Solver

beschrankte Ausdrucksstarke
357

Klassische Pradikatenlogik
I

Quantoren

freie, gebundene Variablen

Atome

Formeln (Baumstruktur, Schichten)

Belegungen von Individuenvariablen

Interpretationen

Modelle, Modellmenge von Formeln und Formelmengen

erf
ullbar, unerf
ullbar, allgemeing
ultig

I
I

Charakterisierung von Strukturen durch Formelmengen

semantische Aquivalenz,
Umformungen

semantische Folgerungen

Aussagenlogik als Spezialfall


358

Abstrakte Datentypen (ADT)

Sorten

Signatur

Axiome

ADT Menge

ADT Stack

passende konkrete Datentypen

ADT (Softwaer-Schnittstellen)
als Reprasentation von Mengen konkreter Datentypen
(Implementierungen)

Umformungen mit Axiomen

359

Algorithmen

Grundbausteine

Verkn
upfungen (Ablauf-Strukturen)

Anforderungen, formale Spezifikation


(Vor- und Nachbedingungen)

Darstellungsformen

Ausf
uhrung durch Aktoren

Nebenwirkungen

360

Zustandsubergangssysteme

Zustande

Zustands
ubergangs-Relation

Darstellung als Graph

formale Beschreibung von Zustanden und Uberg


angen

Automaten mit Zusatzspeicher

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.

90 h (= 6h jede Woche) Ubungsaufgaben,


Nach- und
Vorbereitung
30 h Pr
ufungsvorbereitung

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

Aufgabentypen aus Ubungsserien


bekannt

Viel Erfolg!
363

You might also like