Diskrete Strukturen GrundlagenMengen in der Informatik 10. Reihenfolge der Objekte, mehrfache...

Post on 01-Jun-2020

4 views 0 download

transcript

Diskrete StrukturenGrundlagen

c© F. Brandt, J. Esparza und M. Luttenberger

Fakultat fur InformatikTechnische Universitat Munchen

19. November 2019

1 Grundlagen

Einfuhrung

Mengen

Relationen

Funktionen

Kardinalitat: Vergleiche von unendlichen Mengen

Zusammenfassung

Einfuhrung

Ziel und Motivation 4

•”Grundvokabular“ der Mathematik lernen.

• Naturliche Sprache ist oft mehrdeutig.

• Mathematische Sprache erlaubt die prazise Definition von mathematischenObjekten und die exakte Formulierung von Satzen und Resultaten.

Ziele und Motivation 5

. In der Informatik: Mengen, Relationen, Funktionen etc. Grundlage fur

• Beschreibung von Algorithmen,

• Definition, was ein Programm”tut“ (Semantik),

• Definition, welche Zeichenketten Programme sind (Syntax),

• Definition, was ein Programm”tun soll“ (Spezifikation),

• Datenstrukturen (Arrays, Listen, Baume, Hash-Tabellen, . . . )

1 Grundlagen

Einfuhrung

Mengen

Basisvokabular und -konzepte

Vergleiche von Mengen

Operationen auf Mengen

Potenzmenge und Partitionen

Visualisierung von Mengen: Venn- und KV-Diagramme

Mengenterme

Tupel, Sequenzen, Folgen und Worter

Relationen

Funktionen

Kardinalitat: Vergleiche von unendlichen Mengen

Zusammenfassung

Mengen

Mengen

Basisvokabular und -konzepte

Mengenlehre 9

[Quelle]

Unter einer”Menge“ verstehen wir jede Zusammenfassung M von be-

stimmten wohlunterschiedenen Objekten m unserer Anschauung oder un-seres Denkens (welche die

”Elemente“ von M genannt werden) zu einem

Ganzen (Georg Cantor)

Mengen in der Informatik 10

. Reihenfolge der Objekte, mehrfache Nennung von Objekten, etc. spielen keineRolle.

So kennt eine Menge kein erstes, zweites, usw. Objekt.

. Daneben sind noch die Basisoperationen wichtig, um aus zwei oder mehrMengen eine neue Menge zu

”konstruieren“: Vereinigung, Schnitt, Differenz.

. Im Folgenden Wiederholung dieser Begriffe und deren Abkurzungen(”Schulwissen“).

Mengen: Basisvokabular 11

• Ein gegebenes Objekt x ist entweder in einer gegebenen Menge M enthaltenoder nicht.

.”x ∈M“ kurz fur

”Objekt x ist in Menge M enthalten“.

.”x 6∈M“ kurz fur

”Objekt x ist nicht in der Menge M enthalten“.

• Die Objekte x mit x ∈M nennt man die Elemente von M .

. Entsprechend liest man”x ∈M“ auch als

”x (ist) Element von M“ und

x 6∈M als”x (ist) kein Element von M“.

• Um Mengen zu definieren, kann man entweder alle Elemente der Mengeexplizit aufzahlen oder man definiert die Menge implizit durch Angabe einercharakterisierenden Eigenschaft der Elemente.

. Dabei verwendet man nach Konvention die Zeichen und zum Einleitenbzw. Beenden einer Mengendefinition.

Mengen: Basisvokabular 12

. Beispiel: explizite (auch: extensionale) Definition

M := a, 2, $

d.h. M enthalt genau die drei Objekte”a“,

”2“,

”$“

. Beispiel: implizite (auch: intensionale) Definition

x |”x ist deutscher Staatsburger mit Wohnsitz in Munchen“

. Abkurzungen fur Mengen, die sehr oft vorkommen:

• N = 1, 2, 3, . . . Menge der naturlichen/positiven ganzen Zahlen;

• N0 = 0, 1, 2, . . . naturliche Zahlen inkl. 0;

• Z = . . . ,−2,−1, 0, 1, 2, . . . ganze Zahlen;

• Q = p/q | p ∈ Z, q ∈ N rationale Zahlen;

• R reelle Zahlen.

Mengen: Basisvokabular 13

• Die leere Menge ist durch definiert, wofur man haufig auch ∅ schreibt. D.h.es gibt kein Objekt x mit x ∈ ∅, oder i.a.W. fur jedes Objekt x gilt x 6∈ ∅.

• Mengen sind auch Objekte und konnen damit selbst Elemente von Mengensein, z.B.

1, 1, 2, 1, , 1, 2, 3

. Das kann allerdings auch zu Problemen bei impliziten Definitionen fuhren,siehe Russelsche Antinomie:

R := x |”x ist Menge mit der Eigenschaft x 6∈ x“

Weder R ∈ R noch R 6∈ R”macht Sinn“. Losungen: ZFC-Mengenlehre oder

Typentheorie.

Mengen

Vergleiche von Mengen

Mengen: Vergleiche von Mengen 15

• M1 ist eine Teilmenge von M2 (kurz: M1 ⊆M2), falls jedes Element von M1

auch Element von M2 ist.

. Entsprechend schreibt man kurz”M1 6⊆M2“, falls M1 keine Teilmenge von

M2 ist, d.h. falls mindestens ein Element x von M1 kein Element von M2 ist.

• Fur die Menge der Objekte, die nur Elemente von M2, aber nicht von M1

sind, schreibt man kurz M2 \M1 (oder auch: M2 −M1).

. Man schreibt M1 (M2, falls zwar M1 ⊆M2, jedoch auch M2 \M1

mindestens ein Element besitzt.

. Beispiele:

• Fur jede beliebige Menge M gilt stets ∅ ⊆M .

• Fur eine Menge M gilt M ⊆ ∅ nur und nur dann, wenn M = ∅.

• Es gilt M1 ⊆M2 genau dann, wenn M1 \M2 = ∅.

Mengen: Vergleiche von Mengen 16

• M1 und M2 werden genau dann als gleich (identisch) angesehen (kurz:

”M1 = M2“), wenn jedes Element von M1 auch Element von M2 ist, und

jedes Element von M2 auch Element von M1 ist.

. Kurz: M1 = M2 genau dann, wenn sowohl M1 ⊆M2 als auch M2 ⊆M1.

. Mit anderen Worten, um zu zeigen, dass zwei Mengen verschieden sind (kurz:

”M1 6= M2“) muss man ein Objekt x finden, das Element genau einer der

beiden Mengen ist.

• Man schreibt kurz M1∆M2 fur die Menge, welche genau die Objektezusammenfasst, welche Element genau einer der beiden Mengen M1,M2

(aber nicht beider) sind.

. M2 \M1 nennt man die Differenz von M2 und M1,

M1∆M2 nennt man die symmetrische Differenz von M1,M2.

. Beachte:

Im Allgemeinen M2 \M1 6= M1 \M2, aber stets M1∆M2 = M2∆M1.

Mengen: Vergleiche von Mengen 17

• Als Machtigkeit/Kardinalitat (kurz: |M |) einer Menge M bezeichnet man dieZahl der (unterschiedlichen) Elemente in M .

• Eine Menge M ist endlich (kurz: |M | <∞), falls es eine naturliche Zahl kgibt und eine entsprechende Anzahl von verschiedenen Objektenx1, x2, . . . , xk, so dass M = x1, x2, . . . , xk gilt.

. Ansonsten bezeichnet man M als unendlich (kurz: |M | =∞).

. Weitere Einteilung von unendlichen Mengen folgt spater.

Mengen

Operationen auf Mengen

Mengen: Operationen auf Mengen 19

• Standardoperationen fur zwei Mengen M1,M2:

Schnitt und Vereinigung

. Man schreibt kurz M1 ∩M2 fur die Menge mit der Eigenschaft:

”Ist x ein Objekt, dann ist x ein Element von M1 ∩M2 genau dann, wenn x

sowohl Element von M1 als auch von M2 ist.“

M1 ∩M2 wird der Schnitt von M1 und M2 genannt.

Gilt M1 ∩M2 = ∅, dann sagt man, dass M1 und M2 disjunkt sind.

. Entsprechend schreibt man kurz M1 ∪M2 fur die Menge mit der Eigenschaft

”Ist x ein Objekt, dann ist x ein Element von M1 ∪M2 genau dann, wenn x

Element von mindestens einer der beiden Mengen M1,M2 ist.“

M1 ∪M2 wird die Vereinigung von M1 und M2 genannt.

Mengen: Operationen auf Mengen 20

• Haufig benotigt man auch den Schnitt und die Vereinigung von mehrerenMengen.

• Fur eine Menge S, deren Elemente selbst Mengen sind, definiert man:

∩S :=⋂

M∈S M:= x |

”fur jedes M ∈ S gilt x ∈M“

∪S :=⋃

M∈S M:= x |

”es gibt mindestens ein M ∈ S mit x ∈M“

. Damit gilt M1 ∩M2 = ∩M1,M2 und M1 ∪M2 = ∪M1,M2.• Gilt S = M1, . . . ,Mk fur ein k ∈ N, dann schreibt man auch

k⋃i=1

Mi := ∪Sk⋂

i=1

Mi := ∩S

Mengen: Operationen auf Mengen 21

• Ist eine Menge Ω fest vorgegeben (fixiert) und betrachtet man ausschließlichTeilmengen von Ω, so schreibt man fur eine Menge A ⊆ Ω statt Ω\A kurz A.

. Ω nennt man dann das Universum oder die Grundmenge und

A das Komplement von A (bzgl. Ω).

. Wichtig: Ohne Angabe, welches Universum gewahlt wurde, macht A keinenSinn.

Mengen

Potenzmenge und Partitionen

Mengen: Potenzmenge 23

• Bezeichnet M eine Menge, so schreibt man 2M oder P(M) fur diePotenzmenge von M :

P(M) := 2M := A | A ⊆M

Die Potenzmenge von M enthalt alle Teilmengen von M als Elemente.

. Beispiele:P(1, 2) = ∅, 1, 2, 1, 2

P(1, 2, 3) = ∅, 1, 2, 3,1, 2, 1, 3, 2, 3, 1, 2, 3

P(∅) = ∅

P(∅, ∅) = ∅, ∅, ∅, ∅, ∅

• Die Potenzmenge einer Menge mit k Elementen hat Kardinalitat . . . 2k.

. Intuitiv: um eine Teilmenge zu konstruieren muss fur jedes Elemententschieden werden, ob es zur Teilmenge gehort oder nicht.

. damit k ja/nein (binare) Entscheidungen.

. also 2k mogliche Teilmengen (”richtiger“ Beweis spater).

Mengen: Partitionen 24

• Eine Partition einer Menge M ist eine Menge P ⊆ P(M) von disjunkten,nicht leeren Teilmengen von M , deren Vereinigung genau M ergibt.

Etwas formaler:

• M = ∪P , d.h. die Elemente von P uberdecken M .

• Fur beliebige A,B ∈ P gilt entweder A = B oder A ∩B = ∅.

• Fur beliebiges A ∈ P gilt A 6= ∅.

. Beispiel: Die moglichen Partitionen von 1, 2, 3 sind:

1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 3, 2, 1, 2, 3

. Einige mogliche Partitionen von N0:

2N0, 2N0 + 1, x | x ∈ N0, N0 . . .

Mengen

Visualisierung von Mengen: Venn- und

KV-Diagramme

Mengen: Veranschaulichung 26

• Die Beziehungen zwischen mehreren Mengen veranschaulicht man z.B.mittels Venn-Diagrammen oder Karnaugh-Veitch-Diagramme.

AB

Ω

A

B

A

B C

Ω

A

B

C

. Wichtig: Allgemeine Lage aller Mengen. (Bildquelle: [wikipedia])

Mengen: Veranschaulichung 27

• Venn-Diagramme und KV-Diagramme fur 4 allgemeine Mengen

(Bildquelle: [wikipedia])

A

B

C

D

A

B

C

D

A

B

C

D

A

B

C

D

A

B

C

D

Mengen: Veranschaulichung 28

• Venn-Diagramme und KV-Diagramme fur 5 allgemeine Mengen

(Bildquelle: [wikipedia])

A A

B

C

D

E

Mengen

Mengenterme

Mengenausdrucke/-terme 30

• Stehen A,B,C, . . . fur beliebige Mengen, sind also Variablenbezeichner vom

”Typ Menge“, dann konnen wir mittels ∩,∪,P(•), \,∆

Mengenterme/-ausdrucke aufstellen, die die Konstruktion von weiteren,komplexeren Mengen beschreiben.

. Ist ein Universum Ω definiert, dann steht auch das Komplement A einerMenge A ⊆ Ω zur Verfugung.

• Werten sich zwei Mengenterme fur jede konkrete Wahl von MengenA,B,C, . . . stets zur selben Menge aus, dann nennt man die Mengentermeaquivalent.

Mengenausdrucke/-terme 31

• Die Aquivalenz von Mengentermen lasst sich entweder mittelsKV-Diagrammen uberprufen (fur bis zu ca. 5 Variablen) oder mittelsAquivalenzumformungen unter Verwendung vonStandardaquivalenzen/-identitaten.

. Zunachst: alles entsprechend zur Umformung von arithmetischenAusdrucken/Termen, spater formale Definition fur logische Formeln.

• Standardaquivalenzen fur Mengenvariablen A,B,C.

A = A ∪AA = A ∩AA = A ∪ ∅∅ = A ∩ ∅

A ∪B = B ∪AA ∩B = B ∩A

A ∪ (B ∪ C) = (A ∪B) ∪ CA ∩ (B ∩ C) = (A ∩B) ∩ C

Mengenausdrucke/-terme 32

• Noch mehr Standardaquivalenzen fur Mengenvariablen A,B,C.

A ∩ (B ∪ C) = (A ∩B) ∪ (A ∩ C)A ∪ (B ∩ C) = (A ∪B) ∩ (A ∪ C)

A \ (B ∪ C) = (A \B) ∩ (A \ C)A \ (B ∩ C) = (A \B) ∪ (A \ C)

A = A ∪ (A ∩B)A = A ∩ (A ∪B)

A∆B = (A \B) ∪ (B \A)

. Mit definiertem Universum Ω:

A ∩A = ∅A ∪A = ΩA \B = A ∩B

A = A

A ∪B = A ∩BA ∩B = A ∪B

Mengenausdrucke/-terme 33

• Uberprufen/Beweisen z.B. durch Aufstellen des KV-Diagramms einmal fur dielinke und einmal fur die rechte Seite einer Aquivalenz.

. Beispiel: A \ (B ∩ C) = (A \B) ∪ (A \ C)

. Linke Seite: v.l.n.r. A, B ∩ C, A \ (B ∩ C)

A

B

C

A

B

C

A

B

C

. Rechte Seite: v.l.n.r. A \B, A \ C, (A \B) ∪ (A \ C)

A

B

C

A

B

C

A

B

C

Mengen

Tupel, Sequenzen, Folgen und Worter

Tupel, Sequenzen, Folgen und Worter 35

• Mengen: Zusammenfassung von Objekten ohne Beachtung von Anordnungoder Vielfachheiten von beliebig vielen Objekten.

a, b, ∅, b, a, a = ∅, a, b, a, b

. Tupel: Zusammenfassung einer festen, endlichen Anzahl von Objekten unterBeachtung der Anordnung/Auflistung der Objekte und Beachtung vonVielfachheiten.

(a, b, ∅, b, a, a) 6= (∅, a, b, a, b)

. Definitionen von Tupeln durch ( und ) eingeleitet bzw. beendet.

Tupel, Sequenzen, Folgen und Worter 36

• Sequenz/Folge: Ist fur jede naturliche Zahl i ∈ N (oder auch i ∈ N0) einObjekt ai gegeben, dann bezeichnet man die unendliche Auflistung(a1, a2, . . .) (bzw. (a0, a1, . . .)), die die Objekte nach ansteigendem Indexauflistet/zusammenfasst, als Sequenz/Folge.

Kurzschreibweise: (ai)i∈N (bzw. (ai)i∈N0)

. Beispiel: (i)i∈N0 = (0, 1, 2, 3, . . .), (1/i)i∈N = (1, 1/2, 1/3, 1/4, . . .)

• Haufig sagt man statt Tupel auch endliche Sequenz oder Folge und fasst dieDefinitionen zusammen:

Gilt I ⊆ N0 und ist fur jedes i ∈ I ein Objekt ai gegegeben, so schreibt(ai)i∈I fur das Tupel, welches die Objekte ai nach ansteigendem Indexauflistet.

. Notation: Fur k ∈ N definiert man [k] := 1, 2, . . . , k mit [0] = ∅.

. Dann gilt (ai)i∈[k] = (a1, a2, . . . , ak) mit (ai)i∈[0] = ().

Tupel, Sequenzen, Folgen und Worter 37

• Lange |t| eines Tupels t oder auch Anzahl #t der Komponenten/Eintrageeines Tuples ist die Anzahl der Objekte (einschließlich Vielfachheiten) derzusammengefassten Objekte.

. Beispiele: |(a, (b, c))| = 2

|(a, a, a, a, a, a)| = 6

|( a, b, b, a, ∅, (a, (b, ∅)) )| = 4

. Synonyme: k-Tupel fur Tupel der Lange k, Paar fur 2-Tupel

. Zwei Tupel sind identisch, wenn sie dieselbe Lange haben und sie an jederPosition denselben Eintrag besitzen.

. Beispiele:

(a, (b, c)) 6= (a, (c, b))

(a, b, c) = (a, c, b) 6= (c, b, a) 6= () 6= (a, b, c)

Tupel, Sequenzen, Folgen und Worter 38

• Sind A,B Mengen, so schreibt man A×B fur das kartesische Produkt vonA und B: die Menge aller Paare, deren erste Komponente ein Element aus Aund deren zweite Komponente ein Element aus B ist:

A×B = (a, b) | a ∈ A, b ∈ B

. Entsprechend definiert man

• A1 ×A2 × . . .×Ak = (a1, a2, . . . , ak) | a1 ∈ A1, a2 ∈ A2, . . . , ak ∈ Ak

(fur k = 0 ist das Produkt die Menge () ).

• Beachte: (A×B)× C 6= A×B × C 6= A× (B × C) da

• A×B × C = (a, b, c) | a ∈ A, b ∈ B, c ∈ C

• (A×B)× C = ((a, b), c) | a ∈ A, b ∈ B, c ∈ C

• A× (B × C) = (a, (b, c)) | a ∈ A, b ∈ B, c ∈ C

Tupel, Sequenzen, Folgen und Worter 39

• Graphisch veranschaulicht (entspricht Speicherstruktur):

(a, b, c) entspricht

a b c

((a, b), c) entspricht

a b

c

(a, (b, c)) entspricht

a

b c

Tupel, Sequenzen, Folgen und Worter 40

• Man schreibt Ak = A× . . .×A︸ ︷︷ ︸k mal

fur alle k-Tupel mit Komponenten aus A:

Ak = (a1, . . . , ak) | a1 ∈ A, a2 ∈ A, . . . , ak ∈ A

. Beachte: A0 := () und A1 := (a) | a ∈ A 6= A

. Programmiersprachen machen auch diesen Unterschied, z.B. Python:

[′a′] ist die Liste, die das Zeichen a enthalt, und nicht einfach das Zeichen a;entsprechend ist [] die leere Liste.

• Tupel konnen prinzipiell durch Mengen”simuliert“ werden z.B. (a, b) durch

0, a, 1, b oder (ohne Zahlen aber umstandlicher) durch∅, a, ∅, b.

Worter und Sprachen 41

• Fur die Informatik bilden Tupel die konzeptuelle Grundlage fur Zeichenketten(strings).

• Ublicherweise ist eine Menge von Grundzeichen (Alphabet) vorgegeben.

• z.B. ASCII, UTF-8, alphanumerisch a, . . . , z, A, . . . , Z, 0, . . . , 9

. Haufig wird ein Alphabet mit Σ oder Γ bezeichnet und man betrachtet nurTupel mit Eintragen aus diesem Alphabet.

. Fur die Menge aller (endlichen) Tupel mit Eintragen aus einem Alphabet Σschreibt man kurz Σ∗ :=

⋃k∈N0

Σk = ∪Σk | k ∈ N0.

. Man nennt Σ∗ auch die Menge aller endlichen Worter uber Σ, undbezeichnet die Elemente von Σ∗ als (endliche) Worter (uber Σ).

Worter und Sprachen 42

• Solange keine Missverstandnisse entstehen konnen, schreibt man fur ein Wort(a1, a2, . . . , ak) einfach kurz a1a2 . . . ak.

. Fur das leere Tupel () benotigt man dann ein spezielles Symbol, meistens ε(empty word) oder λ (leeres Wort), das man dann das leere Wort nennt.

• Ist Σ ein Alphabet, so bezeichnet man eine Teilmenge L ⊆ Σ∗ als Sprache(uber Σ).

• Fur Worter und Tupel definiert man noch die Konkatenation (”Verkettung“):

• Die Konkatenation uv zweier Worter u = u1 . . . uk und v = v1 . . . vl(ui, vj ∈ Σ) ist uv := u1 . . . ukv1 . . . vl.

. Beachte: uε = εu = u und |uv| = |u|+ |v|.

• Entsprechend ist die Konkatenation zweier Tupel (u1, . . . , uk) und (v1, . . . , vl)das neue Tupel (u1, . . . , uk, v1, . . . , vl).

1 Grundlagen

Einfuhrung

Mengen

Relationen

Basisvokabular und -konzepte

Binare Relationen und Graphen

Relationales Produkt

Binare Relationen auf einer Menge

Aquivalenzrelationen

Ordnungsrelationen

Funktionen

Kardinalitat: Vergleiche von unendlichen Mengen

Zusammenfassung

Relationen

Relationen

Basisvokabular und -konzepte

Relationen 46

• Gegeben Mengen A1, A2, . . . , Ak, so nennt man R ⊆ A1 ×A2 × . . .×Ak

eine (k-stellige) Relation oder eine Relation der Stelligkeit/Aritat k.

. Gilt (a1, a2, . . . , ak) ∈ R, dann sagt man, dass die Objekte a1, a2, . . . , akbzgl. R in Relation stehen.

• Relationen bilden die Grundlage fur Datenbanken: Vereinfacht gesprochen isteine (klassische) Datenbank eine Menge von Datenbanktabellen, wobei jedeTabelle eine Relation abspeichert, z.B.

AId ANachname AVorname

1 Man Spider2 Brot Bernd3 Woman Wonder4 Gaga Lady

AId AMatrikelnummer

1 31412 2718283 17014 3694

AId AGeschlecht

1 m2 b3 w4 w

R S T

Relationen: Join und Projektion 47

• Die wichtigste Datenbankoperation sind Join und Projektion.

• Der Join R ./i=j S konkateniert (”verkettet“) jedes Tupel (r1, . . . , rk) ∈ R

mit jedem Tupel (s1, . . . , sl) ∈ S, soweit ri = sj gilt:

R ./i=j S =

(r1, . . . , rk, s1, . . . , sl) |(r1, . . . , rk) ∈ R,(s1, . . . , sl) ∈ S,

ri = sj

• Die Projektion πi1,i2,...,ij reduziert jedes Tupel (r1, . . . , rk) ∈ R auf die

Eintrage an den Positionen 1 ≤ i1, i2, . . . , ij ≤ k:

πi1,i2,...,ij (R) = (ri1 , ri2 , . . . , rij ) | (r1, . . . , rk) ∈ R

. Hiermit lassen sich die Datenbanktabellen verknupfen und filtern, um damitDatenbankanfragen zu beantworten.

. Mehr dazu in Datenbanken.

Relationen 48

• Beispiel: Relationen/Tabellen R,S, T

AId ANachname AVorname

1 Man Spider2 Brot Bernd3 Woman Wonder4 Gaga Lady

AId AMatrikelnummer

1 31412 2718283 20174 3694

AId AGeschlecht

1 m2 b3 w4 w

R S T

. Datenbankanfragen entsprechen Verknupfen der Tabellen mittels Join undProjektion z.B. Anfrage

”Vornamen aller weiblichen Personen“:

π3(R ./1=1 (T ./2=1 (w)))

(Selbst auswerten mit R,S, T von oben.)

Relationen

Binare Relationen und Graphen

Binare Relationen 50

• Im Weiteren: binare, d.h. 2-stellige Relationen R ⊆ A×B. Grundlage fur alle verzeigerten Datenstrukturen in der Informatik (z.B. Listen,

Baume, Graphen).

. Binare Relationen auf Zahlen aus der Schule bekannt:

”kleiner-gleich“ ≤,

”kleiner“ <,

”gleich“ =,

”ungleich“ 6=, usw.

Notationsproblem: = = (x, x) | x ∈ R ⊆ R× R (?!)

. Daher ≤R bzw. =N usw. fur bessere Unterscheidbarkeit.

. Infixnotation: aR b fur (a, b) ∈ R• Vgl.: 3 ≤N 5 statt (3, 5) ∈ ≤N

. Fur spater: inverse Relation R−1 := (b, a) | (a, b) ∈ R.. Z.B. ≤−1

R = ≥R.

Binare Relationen: Graphen 51

. Veranschaulichung von binaren Relationen mittels Graphen.

• Ein gerichteter Graph (kurz: Digraph) G = (V,E) besteht aus

• einer Menge V – genannt Knotenmenge, Elemente von V entsprechendKnoten von G.

• einer binaren Relation E ⊆ V × V – genannt Kantenrelation/-menge,Elemente von E entsprechend Kanten von G.

. Ein Digraph G ist endlich, falls V endlich ist; ansonsten ist G unendlich.

. Ein Digraph G ist bipartit, falls V = A ∪B mit A ∩B = ∅ undE ⊆ A×B ∪B ×A (es gibt nur Kanten zwischen A und B).

• Visualisierung eines (endlichen) Digraphen G = (V,E):

• Fur jeden Knoten v ∈ V”male“ einen

”Knubbel“ mit Namen

”v“

• Fur jede Kante (s, t)”male“ einen

”Pfeil“ vom

”Knubbel“ fur s zum

”Knubbel“ fur t (s fur

”source“, t fur

”target“).

Falls s = t, dann”male Schleife“.

Falls G unendlich, nur schematische Skizze moglich.

Binare Relationen: Graphen 52

• Beispiel: G = (V,E) mit

V = 1, 2, a, b

E = (1, b), (2, b), (2, a), (1, 2), (b, b), (b, 2), (a, 1)

1

2

a

b

alternativ

1

2

a

b

Nicht bipartit.

Binare Relationen: Graphen 53

• Beispiel: G = (V,E) mit

V = 1, 2, a, b

E = (1, b), (2, b), (2, a), (b, 2), (a, 1)

1

2

a

b

alternativ

1

2

a

b

Bipartit.

Binare Relationen: Graphen 54

• Visualisierung von R ⊆ A×B als Digraph GR := ((A ∪B), R).

. Beispiel: Visualisierung von (x, y) | x, y ∈ 0, 1, 2, 3, x ≤N0y

0 1 2 3

. Beispiel: Skizze zu ≤N0⊆ N0 × N0

0 1 2 3 . . .

Binare Relationen: Graphen 55

• Ein Tupel (v0, v1, . . . , vl) (oder einfach v0, v1, . . . , vl) von Knoten vi ∈ Vheißt Weg/Pfad, falls (vi−1, vi) ∈ E fur jedes i ∈ [l] gilt, d.h. wenn je zweiaufeinanderfolgende Knoten durch eine Kante aus E verbunden sind.

• Die Lange eines Pfades (v0, v1, . . . , vl) ist l, d.h. die Anzahl der Kanten(”Schritte“), von v0 bis vl.

. Ein Pfad heißt einfach, falls kein Knoten mehrmals in dem Pfad vorkommt(”besucht“ wird).

. Fakt: In einem endlichen Digraphen hat ein einfacher Pfad maximal Lange|V | − 1.

• Beispiel:

v0 v1 v2 v3

Einige Pfade:

v0 v0, v0 v0, v1 v0, v1, v0 v0, v1, v2, v3, v1

Relationen

Relationales Produkt

Relationales Produkt 57

• Sind R ⊆ A×B sowie S ⊆ C ×D binare Relationen, dann ist das relationaleProdukt von R und S die binare Relation RS ⊆ A×D gegeben durch

RS = (a, d) | es gibt x ∈ B ∩ C mit (a, x) ∈ R und (x, d) ∈ S

oder kurz: RS = π1,4(R ./2=1 S).

• Wenn B ∩ C = ∅, dann gilt also RS = ∅.• Man nennt RS auch die Verkettung von R und S.

• Visualisierung des relationalen Produkts:

Der Graph zu RS enthalt eine Kante (u, v) genau dann, wenn (gdw.) eseinen

”Verbindungsknoten w“ und eine R-Kante (u,w) und eine S-Kante

(w, v) gibt.

Bedeutung von”A gdw. B“: Wenn A dann B und wenn B dann A.

Relationales Produkt 58

R S RR

1

2

a

b

1

2

a

b

1

2

a

b

RS SR SS

1

2

a

b

1

2

a

b

1

2

a

b

Relationen

Binare Relationen auf einer Menge

Binare Relationen auf einer Menge 60

• Weiterer wichtiger Spezialfall:

Binare Relationen R ⊆ A×A, die auf einer Menge A definiert sind.

. Konnen mit sich selbst mittels relationalem Produkt mehrfach verknupftwerden:

”Zusammenziehen der k-Schritt-Pfade“

• R0 := IdA := (a, a) | a ∈ A

• R1 := R = R0R

• R2 := RR = R1R

• Rk+1 := RkR = RRk = RR . . . R︸ ︷︷ ︸k + 1 mal

fur beliebiges k ∈ N0.

. Bemerkung: Obige Definition wird als induktive Definition bezeichnet.

Die Definition ist (fast) ein Algorithmus, wie man Rk+1 mittels R und Rk

rekursiv”berechnen“ kann.

Binare Relationen auf einer Menge 61

• Sei R gegeben durch:

1

2

3

4

. v.l.n.r. R0, R2, R3:

1

2

3

4

1

2

3

4

1

2

3

4

Binare Relationen auf einer Menge 62

• Sei R gegeben durch:

1

2

3

4

. v.l.n.r. R0 ∪R1 ∪R2, R0 ∪R1 ∪ · · · ∪R3, R0 ∪R1 ∪ · · · ∪R4:

1

2

3

4

1

2

3

4

1

2

3

4

Binare Relationen auf einer Menge 63

• Transitive Hulle einer binaren Relation R ⊆ A×A:

R+ :=⋃

k∈NRk (

”alle Pfade, die mindestens einen Schritt machen“)

• Reflexiv-transitive Hulle einer binaren Relation R ⊆ A×A:

R∗ :=⋃

k∈N0Rk = R0 ∪R+

. v ist von u”erreichbar“, falls uR∗v.

. Weitere Notation:

R≤k :=⋃k

i=0Ri (

”Erreichbarkeit in hochstens k Schritten“)

• Hinweis: Bedeutung von ∗ uberladen, unterscheide von z.B. Menge allerendlichen Worter Σ∗.

Binare Relationen auf einer Menge 64

• Sei R gegeben durch:

1

2

3

4

. v.l.n.r. R+, R∗:

1

2

3

4

1

2

3

4

Binare Relationen auf einer Menge 65

• Es gilt: Ist A endlich und n = |A|, dann gilt R∗ = R≤n−1.

Exkurs: Beweise 66

• Es gilt: Ist A endlich und n = |A|, dann gilt R∗ = R≤n−1:

• Wir wollen diese Aussage beweisen.

• Beweis: Sequenz von Aussagen, die von einer Hypothese (A endlich undn = |A|) zu einer Konklusion oder einem Ziel (R∗ = R≤n−1) fuhren.

• Hypothese: A endlich und n = |A|. Ziel: R∗ = R≤n−1.

Um zu zeigen, dass R∗ = R≤n−1 gilt, zeigen wir:

• Jedes Element von R∗ gehort zu R≤n−1, d.h. R∗ ⊆ R≤n−1.Hypothese: A endlich und n = |A|. Ziel: R∗ ⊆ R≤n−1.

• Jedes Element von R≤n−1 gehort zu R∗, d.h. R≤n−1 ⊆ R∗.Hypothese: A endlich und n = |A|. Ziel: R∗, d.h. R≤n−1 ⊆ R∗.

• Wir haben die Aufgabe in zwei Teilaufgaben zerlegt.

Exkurs: Beweise 67

• Teil I: Hypothese: A endlich und n = |A|. Ziel: R∗ ⊆ R≤n−1.

Um zu zeigen, dass jedes Element von R∗ zu R≤n−1 gehort, betrachten wirein beliebiges Paar (s, t) ∈ A×A, nehmen (s, t) ∈ R∗ an, und zeigen(s, t) ∈ R≤n−1.

• Hypothese: A endlich und n = |A| und (s, t) ∈ R∗. Ziel: (s, t) ∈ R≤n−1.

Um zu zeigen, dass (s, t) ∈ R≤n−1 gilt, ersetzen wir (s, t) ∈ R∗ und(s, t) ∈ R≤n−1 durch aquivalente Aussagen:

• (s, t) ∈ R∗: Es gibt einen Pfad von s nach t in Digraph GR.

• (s, t) ∈ R≤n−1: Es gibt einen Pfad von s nach t in Digraph GR, der hochstensn− 1 Schritte macht.

• Hypothese: A endlich und n = |A| und es gibt einen Pfad von s nach t in GR.

Ziel: Es gibt einen Pfad von s nach t in GR, der hochstens n− 1 Schrittemacht.

Exkurs: Beweise 68

• Hypothese: A endlich und n = |A| und (s, t) ∈ R∗ und es gibt einen Pfadvon s nach t in GR.

Ziel: Es gibt einen Pfad von s nach t in GR, der hochstens n− 1 Schrittemacht.

Kern des Beweises: Sei s, . . . , u, . . . , u, . . . , t ein Pfad von s nach t, der denKnoten u zweimal enthalt. Dann erhalt man durch Entfernen des

”nutzlosen“

Teilpfads von u nach u, einen neuen, kurzeren Pfad s, . . . , u, . . . , t, der ueinmal weniger enthalt. Durch wiederholte Anwendung dieser Regel enthaltman einen einfachen Pfad von s nach t.

Jeder einfache Pfad von GR besteht aus hochstens n− 1 Schritten, da ersonst mindestens einen Knoten zweimal besucht.

Exkurs: Beweise 69

• Teil II: Hypothese: A endlich und n = |A|. Ziel: R≤n−1 ⊆ R∗.

Um zu zeigen, dass jedes Element von R∗ zu R∗ gehort, betrachten wir einbeliebiges Paar (s, t) ∈ A×A, nehmen (s, t) ∈ R≤n−1 an, und zeigen(s, t) ∈ R∗.

• Hypothese: A endlich und n = |A| und (s, t) ∈ R≤n−1. Ziel: (s, t) ∈ R∗.

Um zu zeigen, dass (s, t) ∈ R∗ gilt, ersetzen wir (s, t) ∈ R∗ und(s, t) ∈ R≤n−1 durch aquivalente Aussagen:

• (s, t) ∈ R∗: Es gibt einen Pfad von s nach t in Digraph GR.

• (s, t) ∈ R≤n−1: Es gibt einen Pfad von s nach t in Digraph GR, der hochstensn− 1 Schritte macht.

• Hypothese: A endlich und n = |A| und es gibt einen Pfad von s nach t inGR, der hochstens n− 1 Schritte macht.Ziel: Es gibt einen Pfad von s nach t in GR.

Es ist offensichtlich, dass das Ziel aus der Hypothese folgt.

Binare Relationen auf einer Menge 70

• Es gilt: Ist A endlich und n = |A|, dann gilt R∗ = R≤n−1:

Beweisskizze: Wir zeigen fur alle s, t ∈ A

(s, t) ∈ R∗ gdw. (s, t) ∈ R≤n−1

(s, t) ∈ R∗

gdw es gibt einen Pfad von s nach t in GR

gdw es gibt einen einfachen Pfad von s nach t in GR

gdw es gibt einen Pfad von s nach t in GR der hochstens n− 1 Schritte macht

gdw (s, t) ∈ R≤n−1.

. Weitere Eigenschaften (zur Ubung):

• (R∗)∗ = (R+)∗ = (R∗)+ = R∗

• (R+)+ = R+

Binare Relationen auf einer Menge 71

• Eine binare Relation R ⊆ A×A auf einer Menge A ist

• reflexiv falls: IdA ⊆ R

”Jeder Knoten hat eine Schleife“

• symmetrisch falls: Wann immer (s, t) ∈ R, dann auch (t, s) ∈ R

”Zwischen je zwei Knoten entweder beide Kanten oder gar keine Kante“

• asymmetrisch falls: Wann immer (s, t) ∈ R, dann immer (t, s) 6∈ R

”Keine Schleifen und zwischen je zwei verschiedenen Knoten hochstens eine

Kante“

• antisymmetrisch falls: Wann immer (s, t) ∈ R und auch (t, s) ∈ R, dann giltimmer s = t

”Zwischen zwei verschiedenen Knoten existiert hochstens eine Kante“

• transitiv falls: Wann immer (s, t) ∈ R und auch (t, u) ∈ R, dann auch(s, u) ∈ R

”Kommt man mit genau zwei Schritten von s nach u, dann auch mit genau

einem.“

Binare Relationen auf einer Menge 72

• Eigenschaften der folgenden Relationen?

1

2

3

4

1

2

3

4

1

2

3

4

1

2

3

4

1

2

3

4

1

2

3

4

Binare Relationen auf einer Menge 73

• Weitere Beispiele:

. =Z: reflexiv; symmetrisch; transitiv

. ≤Z: reflexiv; antisymmetrisch; transitiv

. <Z: nicht reflexiv; asymmetrisch; transitiv

. 6=Z: nicht reflexiv; symmetrisch; nicht transitiv

. |Z ⊆ Z× Z mit”a|b“ definiert durch

”ba∈ Z“ (sprich

”a teilt b“)

nicht reflexiv; nicht symmetrisch; nicht asymmetrisch; nicht antisymmetrisch;transitiv

. |N ⊆ N× N (Einschrankung von”teilt“ auf positive ganze Zahlen)

reflexiv; antisymmetrisch; transitiv

. ≡m⊆ Z× Z mit”a ≡m b“ definiert durch

”m|(a− b)“ fur festes m ∈ N

reflexiv; symmetrisch; transitiv

. ⊆ auf P(Z): reflexiv; antisymmetrisch; transitiv

. Kongruenzbegriff auf Dreiecken: reflexiv; symmetrisch; transitiv

Binare Relationen auf einer Menge 74

• Noch mehr Beispiele fur Worter u, v ∈ Σ∗

. u ist ein Prafix von v (kurz: u p v),

falls es ein w ∈ Σ∗ mit uw = v gibt.

p: reflexiv; antisymmetrisch; transitiv

. u ist ein Suffix von v (kurz: u s v),

falls es ein w ∈ Σ∗ mit wu = v gibt.

s: reflexiv; antisymmetrisch; transitiv

. u ist ein Infix (Faktor) von v (kurz: u i v),

falls es w,w′ ∈ Σ∗ mit wuw′ = v gibt.

f : reflexiv; antisymmetrisch; transitiv

. u und v sind konjugiert (kurz: u ∼=c v),

falls es w,w′ ∈ Σ∗ mit u = ww′ und v = w′w gibt.

∼=c: reflexiv; symmetrisch; transitiv

Binare Relationen auf einer Menge 75

• Klassifikation:

• ≤Z, |N,⊆,p,s,i werden als partielle Ordnungen bezeichnet:

reflexiv, antisymmetrisch, transitiv

• =Z,≡m,∼=c,”Kongruenz von Dreiecken“ werden als Aquivalenzrelationen

bezeichnet:

reflexiv, symmetrisch, transitiv

Relationen

Aquivalenzrelationen

Aquivalenzrelationen 77

• Betrachte die Relationen =Z, ≡k (Kongruenz modulo k), ∼=c

. Gemeinsamkeiten: reflexiv, symmetrisch, transitiv

Unterteilen/partitionieren die Objekte des Universums nach verschiedenen

”Aquivalenzbegriffen“

• a =Z b:”a und b dieselbe/identische Zahl“

”Feinste“ Partitionierung: x | x ∈ Z

• a ≡m b:”a und b derselbe Rest bei Division durch m“

Partitionierung: Menge der Restklassen mZ,mZ + 1, . . . ,mZ + (m− 1) mitmZ = mz | z ∈ Z

”Grobste“ Partitionierung fur m = 1: Z (

”alles gleich“)

Aquivalenzrelationen 78

• Allgemeine Definition: Eine binare Relation R ⊆ A×A uber einer Menge Aheißt Aquivalenzrelation (auf A), falls:

• R reflexiv und symmetrisch und transitiv.

. Fur R ⊆ A×A eine Aquivalenzrelation definiert man:

• Aquivalenzklasse eines Objekts a bzgl. R:

[a]R = b ∈ A | aRb

Bsp.: [1]=Z = 1, [−5]≡3 = 3Z + 1

. Fakt: Es gilt a ∈ [a]R und [a]R = [b]R fur aRb und [a]R ∩ [b]R = ∅ fur(a, b) 6∈ R

• Quotient von A bzgl. R als die Menge aller Aquivalenzklassen:

A/R = [a]R | a ∈ A

Bsp.: Z/=Z = x | x ∈ Z, Z/≡3 = 3Z, 3Z + 1, 3Z + 2

. Fakt: A/R ist eine Partition von A

Aquivalenzrelationen 79

• Weitere wichtige Aquivalenzrelationen:

Aquivalenzen auf Termen/Formeln/Programmen

. (x+ y)2 und x2 + 2xy+ y2 verschiedene Zeichenketten/arithmetische Terme,aber werten sich fur alle reellen Zahlen x, y ∈ R stets zu demselben Wert aus,weswegen man (ungenau) einfach (x+ y)2 = x2 + 2xy + y2 schreibt.

. Entsprechend (A ∩ C) \B und (A ∩ (B ∪ C)) im mengentheoretischen Sinnaquivalent, aber verschiedene Terme.

. Wichtig fur die Informatik: Entscheiden, ob zwei (als Zeichenkette)verschiedene Programme dasselbe tun.

Z.B. prototypische Implementierung vs. optimierte Implementierung.

. Ausblick: Im Allgemeinen kann man kein Programm schreiben, das dieAquivalenz von zwei anderen Programmen entscheidet.

Siehe Einfuhrung in die theoretische Informatik.

Relationen

Ordnungsrelationen

Ordnungsrelationen 81

• Beispiele: ≤Z, |N,⊆,p,s,i

. Gemeinsamkeiten: reflexiv, antisymmetrisch, transitiv

Ordnen Objekte zumindest teilweise (partiell) an.

. Unterschiede:

• Fur zwei beliebige a, b ∈ Z gilt mindestens a ≤Z b oder b ≤Z a,

d.h. bzgl. ≤Z sind alle ganzen Zahlen vergleichbar.

• Es gibt a, b ∈ N, so dass weder a|Nb noch b|Na gilt,

d.h. bzgl. |N gibt es unvergleichbare positive ganze Zahlen, z.B. die Primzahlen.

Ordnungsrelationen 82

• Man definiert daher:

. R ⊆ A×A ist eine partielle Ordnung (Halbordnung) auf A, falls

• R reflexiv und antisymmetrisch und transitiv.

. R ⊆ A×A ist eine totale Ordnung (Totalordnung) auf A, falls

• R eine partielle Ordnung auf A ist, und

• je zwei beliebige a, b stets bzgl. R in Relation stehen, d.h. mindestens aRboder bRa gilt.

• Man definiert entsprechend noch strikte/strenge Varianten, indem man dieReflexivitat durch die Irreflexivitat ersetzt, womit die Antisymmetrie zurAsymmetrie wird.

• R ist irreflexiv, falls (a, a) 6∈ R fur jedes a ∈ A, d.h. R ∩ IdA = ∅.

. Bsp.: <Z =≤Z \IdZ

Ordnungsrelationen 83

• Visualisierung einer (partiellen) Ordnung R ⊆ A×A:

Statt R bzw. den zugehorigen Digraphen GR,

stellt man nur eine moglichst”kleine“ Relation S ⊆ R dar,

fur die S∗ = R gilt. GS wird dann Hasse-Diagramm von R genannt.

. Beispiel: ≤N0

Statt

0 1 2 3 . . .

nur

0 1 2 3 . . .

Ordnungsrelationen 84

. Beispiel: Hasse-Diagramm zu |N ∩ ([10]× [10])

1

2 3 5 7

4 6 9 10

8

. Beispiel: Hasse-Diagram zu ⊆ auf P([3])

1 2 3

1, 2 1, 3 2, 3

1, 2, 3

Ordnungsrelationen 85

. Beispiel: Hasse-Diagramm zur Ordnung auf Aquivalenzrelationen uber1, 2, 3:R S falls:

• wann immer a R b, dann a S b,

• oder aquivalent R ⊆ S

1, 2, 3

1, 2, 3 1, 3, 2 1, 2, 3

1, 2, 3

Ordnungsrelationen 86

• Noch ein paar Standardbegriffe bzgl. einer Ordnung R ⊆ A×A:

• m ∈ A ist ein maximales Element bzgl. R, falls:

Gilt mRa fur ein a ∈ A, dann auch aRm und damit a = m.

.”Keine Kanten zu einem anderen Element“

. Erinnerung: bzgl. partieller Ordnungen kann es auch unvergleichbare Objektegeben.

• m ∈ A ist das großte Element bzgl. R, falls aRm fur jedes a ∈ A gilt.

•”Keine Kanten zu einem anderen Element, aber von jedem anderen Element

eine Kante.“

. Ist R total, dann ist ein maximales Element sofort auch das großte Element.

• Entsprechend definiert man ein minimales und das kleinste Element bzgl. R.

Ordnungsrelationen 87

• Erinnerung: Fur eine binare Relation R ⊆ A×A haben wir die transitive HulleR+ :=

⋃k∈NR

k und die reflexiv-transitive Hulle R∗ =⋃

k∈N0Rk definiert.

• Die Teilmengenrelation ⊆ ist eine Halbordnung auf der Menge aller binarenRelationen auf A.

• Bzgl. ⊆ lassen sich R∗ und R+ auch wie folgt charakterisieren:

• R+ ist das kleinste Element bzgl. ⊆ in

S ⊆ A×A | R ⊆ S und S ist transitiv

d.h. ist S transitiv mit R ⊆ S, dann gilt R+ ⊆ S.

• R∗ ist das kleinste Element bzgl. ⊆ in

S ⊆ A×A | R ⊆ S und S ist reflexiv und transitiv

d.h. ist S reflexiv und transitiv mit R ⊆ S, dann gilt R∗ ⊆ S.

Ordnungsrelationen 88

• Fakt: Mit R ist auch R−1 eine Ordnung. (”Pfeile umdrehen“)

• Begriffe”minimal“ und

”maximal“ bzw.

”kleinstes“ und

”großtes“ dual, d.h.

beim Wechsel von R zu R−1 vertauschen sie sich.

• Beispiele:

• Bzgl. |N ist 1 das kleinste Element, es gibt keine maximalen Elemente.

• Bzgl. |−1N (

”ist Vielfaches“) ist 1 das großte Element.

• Bzgl. |N\1 sind die Primzahlen die minimalen Elemente.

• Bzgl. ≤Z gibt es keine minimalen/maximalen Elemente

• Bzgl. ≤N0 ist 0 das kleinste Element

• Bzgl. ≥N0 ist 0 das großtes Element

1 Grundlagen

Einfuhrung

Mengen

Relationen

Funktionen

Basisvokabular und -konzepte

Visualisierung

Operationen auf Funktionen

Eigenschaften von Funktionen

Kardinalitat: Vergleiche von unendlichen Mengen

Zusammenfassung

Funktionen

Funktionen

Basisvokabular und -konzepte

Funktionen 92

• Eine Relation R ⊆ A×B ist eine Funktion (Abbildung), falls:

Fur jedes a ∈ A gibt es genau ein b ∈ B mit (a, b) ∈ R• D.h. es gibt mindestens ein b ∈ B mit aRb UND

• wann immer auch aRb′, dann gilt b = b′.

. Konventionen/Anmerkungen (wie in der Schule):

• f, g, h, . . . als Funktionenbezeichner.

•”f : A→ B“ um zu sagen, dass f ⊆ A×B eine Funktion von A nach B ist.

•”f(a)“ steht fur das eindeutige b ∈ B mit (a, b) ∈ f .

Beachte: Schreibrichtung dreht sich damit um:”afb“ vs.

”b = f(a)“

In manchen Fallen ist”af“ praktischer als

”f(a)“.

• Definition von Funktionen mittels”7→“ z.B.: f : R→ R, x 7→ x2 + 1

Funktionen 93

• Weitere Konventionen/Anmerkungen:

• Fur die Menge aller Funktionen von A nach B schreibt manBA := f : A→ B.

• Gilt A =×k

i=1Ai, dann schreibt man einfach f(a1, . . . , ak) statt

f((a1, . . . , ak)).

. k bezeichnet man dann als Stelligkeit oder Aritat von f .

. Entsprechend bezeichnet man f :×k

i=1Ai → B auch als k-are Funktion z.B.

nullar, unar, binar, tertiar usw.

. Spezialfall nullare Funktion: f : () → B

Ist nur fur das leere Tupel (=”kein Argument“) definiert und ordnet diesem

immer denselben Wert zu.

Funktionen 94

• Weitere Konventionen/Anmerkungen:

• Die Urbildmenge Dom(f) einer Funktion f : A→ B ist die Menge A.

Die Bildmenge Rng(f) von f ist die Menge f(a) | a ∈ A.

Allgemeiner definiert man fur X ⊆ A und Y ⊆ B:

• f−1(Y ) = a ∈ A | f(a) ∈ Y ⊆ Dom(f) (Urbilder von Y )

• f(X) = f(a) | a ∈ X ⊆ Rng(f) (Bilder von X)

. Nach unserer Definition muss eine Funktion f : A→ B jedem a ∈ A ein Bildf(a) zuweisen. Solche Funktionen werden auch als total bezeichnet.

• Als partielle Funktion bezeichnet man entsprechend eine Relation f ⊆ A×Bbzgl. der jedes a ∈ A mit hochstens einem b ∈ B in Relation steht.

. Kurz”f : A → B“, um darauf hinzuweisen, dass f nur partiell ist.

• f : A→ B (totale) Funktion: Dom(f) = A

• f : A → B partielle Funktion: Dom(f) ⊆ A

. Partielle Funktionen werden in der Informatik haufig benutzt, um u.U. nichtterminierende Programme zu beschreiben.

Funktionen

Visualisierung

Funktionen: Visualisierung 96

• Visualisierung einer Funktion f : A→ B (wie in der Schule) durch einenbipartiten Graphen mit

”Knubbel“ fur A links und

”Knubbel“ fur B rechts.

. Beispiel: f = (a, 1), (b, 1), (c, 2) ⊆ A×B fur A = a, b, c und B = [3]

Als Funktion: Als Relation:

a

b

c

1

2

3

a

b

c

1

2

3

Funktionen: Visualisierung 97

• Visualisierung einer Funktion f : A→ B (wie in der Schule) durch einenbipartiten Graphen mit

”Knubbel“ fur A links und

”Knubbel“ fur B rechts.

. Beispiel: f = (a, a), (b, a), (c, b) ⊆ A×A fur A = a, b, c

Als Funktion: Als Relation:

a

b

c

a

b

c

a b c

. Fur A = B Darstellungen unterschiedlich; Darstellung als Relation nutzlich,falls man an der Sequenz x, f(x), f(f(x)), . . . interessiert ist (siehePermutationen).

Funktionen

Operationen auf Funktionen

Funktionen: Operationen 99

• Abbildungen der Form f : Ak → A werden auch als k-stellige Operationenauf A bezeichnet.

• Beispiele: Addition und Multiplikation +R, •R : R× R→ R auf R

• Fur binare Operationen verwendet man ublicherweise die Infixnotation:

(x +R y) statt +R(x, y); (x • Ry) statt •R(x, y)

. Haufig verwendet man ⊕,,⊗, u.a. Symbole als Bezeichner fur binareOperationen.

. Meistens lasst man auch die außersten Klammern weg, falls keineMissverstandnisse entstehen konnen, also z.B. nur a b statt (a b)

• Eine binare Operation : A×A→ A ist

• assoziativ falls (a b) c = a (b c) fur alle a, b, c ∈ A.

• kommutativ falls a b = b a fur alle a, b ∈ A.

• idempotent falls a a = a fur alle a ∈ A.

Funktionen: Komposition 100

• Komposition (Nacheinanderausfuhrung) (g f)(a) := g(f(a)) vonFunktionen f : A→ B und g : B → C

(g f) : A→ C, a 7→ g(f(a))

. Anmerkungen:

• Lies”g f“ als

”g nach f“

• Komposition ist assoziativ (als Operation auf die Menge der Funktionen), abernicht kommutativ:

(h (g f))(a) = h((g f)(a))

= h(g(f(a)))

= (h g)(f(a)) = ((h g) f)(a)

Funktionen: Komposition 101

• Komposition (Nacheinanderausfuhrung) (g f)(a) := g(f(a)) vonFunktionen f : A→ B und g : B → C

(g f) : A→ C, a 7→ g(f(a))

. Beachte umgekehrte Lese/Schreibrichtung im Vergleich zu Relationen:

Relationales Produkt Komposition

fg = (a, g(f(a))) | a ∈ A = (g f)

a

b

c

1

2

3

α

β

γ

f

f

f

g

g

g

a

b

c

α

β

γ

(g f)

(g f)

(g f)

Funktionen

Eigenschaften von Funktionen

Injektive, surjektive und bijektive Funktionen 103

• Erinnerung:

Fur f : A→ B und Y ⊆ B bezeichnet f−1(Y ) = a ∈ A | f(a) ∈ Y dieMenge der Urbilder von Y .

• Eine Funktion f : A→ B ist

• injektiv, falls aus f(a) = f(a′) stets a = a′ folgt.

Aquivalent:∣∣f−1(b)

∣∣ ≤ 1 fur jedes b ∈ B

• surjektiv, falls fur jedes b ∈ B ein a ∈ A mit f(a) = b gibt.

Aquivalent: f(A) = B, Rng(f) = B,∣∣f−1(b)

∣∣ ≥ 1 fur jedes b ∈ B.

• bijektiv, falls sie sowohl injektiv als auch surjektiv ist.

Aquivalent:∣∣f−1(b)

∣∣ = 1 fur jedes b ∈ B.

. Eine bijektive Funktion f : A→ A nennt man Permutation.

Funktionen: Eigenschaften 104

• Beispiele:

a

b

c

d

e

1

2

3

4

5

a

b

c

d

e

1

2

3

4

5

a

b

c

d

e

1

2

3

4

5

a

b

c

d

e

1

2

3

4

a

b

c

d

1

2

3

4

5

a

b

c

d

e

1

2

3

4

5

Funktionen: Umkehrfunktion 105

• Ist f bijektiv, dann ist auch (b, a) | b ∈ B, a ∈ f−1(b) ∈ AB eineFunktion, die man als Umkehrfunktion/Inverse von f bezeichnet, und fur dieman ebenfalls die Notation

”f−1“ verwendet.

. Beweis, dass R := (b, a) | b ∈ B, a ∈ f−1(b) ∈ AB .

Zu zeigen: Jedes b ∈ B steht mit genau einem a ∈ A bzgl. R in Relation.

• Jedes b ∈ B hat ein Bild.

Fixiere ein beliebiges b ∈ B

Da f surjektiv, gibt es ein a ∈ A mit f(a) = b bzw. a ∈ f−1(b).

Also (b, a) ∈ R.

• Falls (b, a) ∈ R und (b, a′) ∈ R, dann a = a′.

Nach Definition von R: a, a′ ∈ f−1(b), also f(a) = b = f(a′).

Da f(a) = b = f(a′) und f injektiv gilt a = a′.

Funktionen: Eigenschaften 106

• Einige Eigenschaften und erste Beweise:

• Ist f : A→ B eine bijektive Funktion, dann auch f−1.

Exkurs: Indirekte Beweise 107

Die Aussage”wenn A dann B“ ist aquivalent zu

”wenn nicht B, dann nicht A“.

Die Aussage”wenn nicht B, dann nicht A“ heisst die Kontraposition der Aussage

”wenn A dann B“.

In einem indirekten Beweis wird die Kontraposition der Aussage bewiesen.Die Hypothese ist

”nicht B“ und das Ziel

”nicht A“.

• Ist f : A→ B eine bijektive Funktion, dann ist f−1 injektiv.

. Zu zeigen: Ist f : A→ B eine bijektive Funktion und b, b′ ∈ B mit b 6= b′,dann gilt f−1(b) 6= f−1(b′).

. Kontraposition: Gilt f−1(b) = f−1(b′) dann entweder b = b′ oder f : A→ Bist keine bijektive Funktion (oder beides).

. Beweis der Kontraposition: Wenn f−1(b) = f−1(b′) := a und b 6= b′, dann istf : A→ B sogar keine Funktion, da b und b′ zwei verschiedene Bilder von asind.

Funktionen: Eigenschaften 108

• Einige Eigenschaften und erste Beweise:

• Ist f : A→ B eine bijektive Funktion, dann auch f−1.

. Beweis:

. f−1 ist injektiv.

Erledigt.

. f−1 ist surjektiv.

Sei a ∈ A beliebig. Setze b := f(a). Dann gilt bereits f−1(b) = a.

Funktionen: Eigenschaften 109

• Einige Eigenschaften und erste Beweise:

• Sei f : A→ B eine bijektive Funktion. Dann ist f−1 die einzige Funktion gaus AB mit der Eigenschaft (g f) = IdA und (f g) = IdB .

. Beweis:

• Es gilt (f−1 f) = IdA.

Sei a ∈ A beliebig fixiert. Sei b = f(a). Dann gilt a ∈ f−1(b), alsoa = f−1(b) = f−1(f(a)).

• Hat g : B → A die Eigenschaft (g f) = IdA, dann gilt g = f−1.

f−1 = IdA f−1 = (g f) f−1 = g (f f−1) = g IdB = g

• (f f−1) = IdB . Selber machen!

• Hat g : B → A die Eigenschaft (f g) = IdB , dann gilt g = f−1. Selbermachen!

Funktionen: Eigenschaften 110

• Einige Eigenschaften und erste Beweise:

• Fur f : A→ B und g : B → A gelte (g f) = IdA und (f g) = IdB .

Dann sind f, g bijektiv mit f−1 = g und g−1 = f .

. Beweis:

• f ist injektiv, da fur a, a′ ∈ A mit f(a) = f(a′) gilt:

a = IdA(a) = (g f)(a) = g(f(a)) = g(f(a′)) = (g f)(a′) = IdA(a′) = a′

• f ist surjektiv, da g(b) ein Urbild fur b ∈ B bzgl. f ist:

b = IdB(b) = (f g)(b) = f(g(b))

• Entsprechend folgt, dass g bijektiv ist.

• Da f−1, g−1 eindeutig, folgt f = g−1 und g = f−1.

• Konsequenz: Ist f bijektiv, dann gilt f = (f−1)−1.

Funktionen: Eigenschaften 111

• Einige Eigenschaften und erste Beweise:

• Sind f : A→ B und g : B → C bijektiv, dann auch (g f) : A→ C und es gilt(g f)−1 = (f−1 g−1).

. Beweis:

• Bereits gezeigt: Da f und g bijektiv, existieren f−1, g−1.

• Es gilt: (g f) (f−1 g−1) = IdC und (f−1 g−1) (g f) = IdA.

(g f) (f−1 g−1) = g f f−1 g−1 = g IdB g−1 = g g−1 = IdC

Entsprechend: (f−1 g−1) (g f) = IdA

• Wie auf letzter Folie gezeigt:

Damit sind (g f), (f−1 g−1) bijektiv mit (g f)−1 = (f−1 g−1).

Funktionen: Eigenschaften 112

• Einige Eigenschaften und erste Beweise:

• Ist (g f) : A→ C bijektiv, dann ist f : A→ B injektiv und g : B → Csurjektiv.

. Beweis:

• Setze h := (g f). Da h bijektiv, existiert h−1.

(Das bedeutet nicht, dass f−1 : B → A, g−1 : C → B existieren.)

• f ist injektiv, da:

Mit f(a) = f(a′) ergibt sich h(a) = h(a) =: c und daher aucha = h−1(c) = a′.

• g ist surjektiv, da b = f(h−1(c)) ein Urbild von c ∈ C ist.

Funktionen: Eigenschaften 113

• Weitere Eigenschaften (Beweise zur Ubung):

• Ist f injektiv, dann ist g : A→ f(A), a 7→ f(a) bijektiv.

• Ist f : A→ A injektiv und A endlich, dann ist f bijektiv.

• Ist f : A→ A surjektiv und A endlich, dann ist f bijektiv.

• Sind f : A→ B und g : B → C injektiv/surjektiv, dann auch (g f).

• Ist (g f) surjektiv, dann auch g.

• Ist (g f) injektiv, dann auch f .

• f−1(X ∪ Y ) = f−1(X) ∪ f−1(Y ) und f−1(X ∩ Y ) = f−1(X) ∩ f−1(Y ).

• f(X ∪ Y ) = f(X) ∪ f(Y ), aber f(X ∩ Y ) ⊆ f(X) ∩ f(Y ).

f ist genau dann injektiv, wenn stets f(X ∩ Y ) = f(X) ∩ f(Y ) gilt.

1 Grundlagen

Einfuhrung

Mengen

Relationen

Funktionen

Kardinalitat: Vergleiche von unendlichen Mengen

Multimengen

Zusammenfassung

Kardinalitat: Vergleiche von unendlichen Mengen

Kardinalitat von Mengen 116

. Grundlage fur den Vergleich von unendlichen Mengen:

• Eine Injektion f : A→ B erlaubt es jedes Element aus a ∈ A eindeutig mitf(a) ∈ B zu identifizieren. B hat damit anschaulich

”mindestens so viele

Elemente“ wie A.

• Eine Bijektion f : A→ B erlaubt es, die Elemente von A und B eindeutig zu

”paaren“. B hat damit anschaulich

”genau so viele“ Elemente wie A.

. Man definiert daher:

•”|A| ≤ |B| (lies: B mindestens so machtig wie A)“ durch

”es gibt eine injektive Funktion f : A→ B“

•”|A| = |B| (lies: A,B gleichmachtig)“ durch

”es gibt eine bijektive Funktion f : A→ B“

• Entsprechend bedeutet”|A| < |B| (echt machtiger)“, dass es zwar eine

Injektion f : A→ B, aber keine Bijektion g : A→ B gibt.

Kardinalitat von Mengen 117

. Gefahr: Machen diese Definitionen uberhaupt Sinn?

• Wenn |A| ≤ |B| und |B| ≤ |C|, gilt auch |A| ≤ |C| ?

Ja, da die Komposition injektiver Funktionen wieder injektiv ist.

• Gilt fur beliebige Mengen: wenn |A| ≤ |B| und |A| ≥ |B|, dann |A| = |B| ?

Ohne Beweis: Satz von Cantor-Bernstein-Schroder

Sind f : A→ B und g : B → A injektiv, dann gibt es h : A→ B bijektiv.

• Es folgt: |A| = |B| wenn es injektive Funktionen f : A→ B und g : B → Agibt.

• Es folgt: |A| < |B| wenn es eine injektive Funktion f : A→ B aber keineinjektive Funktion g : B → A gibt.

Kardinalitat von Mengen 118

• Beispiele:

• |N| = |2N| mittels der Injektionen N→ 2N, n 7→ 2n und 2N→ N, n 7→ n, oderder Bijektion 2N→ N, n 7→ n/2

• |N| = |Z| mittels der Bijektion

f : Z→ N, z 7→

2z + 1 falls z ≥ 0−2z sonst

• |N| ≤ |N0| ≤ |Z| ≤ |N|, also N,N0,Z gleichmachtig.

• |N| = |N× N| mittels der Bijektion

f : N× N→ N, (n,m) 7→ 1

2(m + n− 1)(m + n− 2) + m

. Damit auch: |Q| = |N|

• Man nennt eine Menge A abzahlbar, falls |A| ≤ |N|; ansonsten nennt man Auberabzahlbar.

Kardinalitat von Mengen 119

Bemerkungen:

• Man bezeichnet |A| als Kardinalzahl (fur eine Menge A).

• Der Satz von Cantor-Bernstein-Schroder sagt, dass ≤ auf den Kardinalzahlenantisymmetrisch ist.

• Intuition: A ist abzahlbar wenn es moglich ist, jedes Element von A mit einereindeutigen Identifikationsnummer (aus N) zu versehen.

• Aquivalente Intuition: A ist abzahlbar wenn es eine (endliche oderunendliche) Liste gibt, die alle Elemente von A enthalt.

Kardinalitat von Mengen: Uberabzahlbare Mengen 120

• Es gilt stets |A| < |P(A)| (Satz von Cantor).

• Mit f : A→ P(A), a 7→ a folgt |A| ≤ |P(A)|.

Es muss noch gezeigt werden, dass es keine Bijektion f : A→ P(A) gibt.

. Beweis mittels Diagonalisierung:

Wir nehmen an, dass g : A→ P(A) bijektiv ist.

Setze M = a ∈ A | a 6∈ g(a) ∈ P(A).

Da g angeblich bijektiv, gibt es ein m ∈ A mit g(m) = M .

Aber: m ∈M genau dann, wenn m 6∈ g(m) = M , was nicht mit unserenAnnahmen uber Mengen vereinbar ist.

Kardinalitat von Mengen 121

• Noch mehr Beispiele:

• |0, 1∗| = |N| wegen Bijektion 0, 1∗ → N, w 7→ (1w)2, wobei (w)2 die Zahlmit binarer Darstellung w bezeichnet.

• |A∗| = |N| fur jede endliche Menge A.

• Die Menge der C/Java/Python-Programme ist abzahlbar.

• |N| < |[0, 1]| wegen |N| < |P(N)| =∣∣0, 1N∣∣ = |[0, 1]|

• |(0, 1]| = |[1,∞)| wegen Bijektion [1,∞)→ (0, 1], x→ 1/x

• |(0, 1]| = |R|

• |R| < |P(R)| =∣∣RR∣∣

• |N| < |P(N)| = |R| < |P(P(N))| < . . .

Kardinalitat von Mengen: Beweistechniken 122

• Fur |A| = |B|:• Direkt: gebe eine Bijektion A→ B oder B → A an.

• Mit Hilfe des Satzes von Cantor-Bernstein-Schroder: gebe Injektionen A→ Bund B → A an. (I.d.R. viel einfacher!)

• Fur |A| < |B|: bilde eine Ungleichungskette

|A| ≤ |C1| ≤ · · · ≤ |Cn| ≤ |B|

wobei mindestens ein Glied nicht nur ≤ sondern auch < erfullt.

• Fur |Ci| ≤ |Ci+1| gebe eine Injektion an (Spezialfall: Ci ⊆ Ci+1).

• Fur |Ci| < |Ci+1| benutze den Satz von Cantor.

Kardinalitat: Vergleiche von unendlichen Mengen

Multimengen

Multimengen 124

• Menge”=“ Zusammenfassung von Objekten ohne Beachtung von

Vielfachheiten und Reihenfolge

• Multimenge”=“ Zusammenfassung von Objekten ohne Beachtung der

Reihenfolge, aber unter Beachtung von Vielfachheiten.

. In Datenbanken werden Multimengen auch als”Bags“ bezeichnet: eine

Tasche beachtet die Vielfachheit eines Objekts, aber eben nicht dieReihenfolge (

”set semantics“ vs.

”bag semantics“)

. Haufig verwendet man auch”“ zur Notation von Multimengen, wenn klar

ist, dass eine Multimenge gemeint ist.

Im Folgenden jedoch”M“ fur Multimengen:

. Beispiel:

a, b, c, aM = b, c, a, aM 6= b, a, cM

= a, b, c = a, b, b, c 6= a, b, b, cM

Multimengen 125

• Fur ein festes Universum (Grundmenge) Ω lassen sich Multimengen mittelsZahlfunktionen m ∈ NΩ

0 darstellen

. Z.B. fur Ω = a, b, c, d:

a, b, c, aM = (a, 2), (b, 1), (c, 1), (d, 0)

. Eine Menge A ⊆ Ω lasst sich entsprechend als Funktion 0, 1Ω auffassen;diese Funktion nennt man die charakteristische Funktion von A (aus diesemGrund schreibt man auch haufig 2Ω fur P(Ω)).

• Die Vereinigung zweier Multimengen ist dann einfach die punktweise Additionder Zahlfunktionen.

. Der Schnitt zweier Multimengen kann z.B. als das punktweise Minimum derZahlfunktionen definiert werden.

1 Grundlagen

Einfuhrung

Mengen

Relationen

Funktionen

Kardinalitat: Vergleiche von unendlichen Mengen

Zusammenfassung

Zusammenfassung

Grundlagen – Zusammenfassung 128

• Mengen:

• Grundlage fur alle anderen Zusammenfassungen, Relationen, Funktionen

• Operationen: Schnitt, Vereinigung, Differenz, sym. Differenz, Komplement(bzgl. Grundmenge), Potenzmenge

• Visualisierung: Venn-Diagramme, KV-Diagramme

• Relationen: R ⊆ A1 ×A2 × . . .×Ak

• Grundlage fur relationale Datenbanken, Funktionen, Ordnungen

• Operationen (neben Mengenoperationen): Join, Projektion, Konkatenation,relationales Produkt, (reflexive-)transitive Hulle

• Visualisierung: Digraph

Grundlagen – Zusammenfassung 128

• Ordnungen: R ⊆ A×A• R reflexiv, antisymmetrisch und transitiv

• Grundlage fur Optimierung/Maximierung/Minimierung, Anordnung vonSuchergebnissen, etc.

• Visualisierung: Hasse-Diagramm

• Aquivalenzrelationen: R ⊆ A×A• R reflexiv, symmetrisch und transitiv

• Grundlage fur Abstraktion

• Visualisierung: Digraph, Aquivalenzklassen

Grundlagen – Zusammenfassung 128

• Funktionen: f : A→ B = BA ⊆ A×B• Grundlage fur Beschreibung von Eingabe-Ausgabe-Verhalten von Programmen

• Visualisierung: Funktionsgraph (manchmal Digraph als Relation)

• Kardinalitat:

• Vergleich von Mengen bzgl. der Anzahl der zusammengefassten Objekte

• |A| ≤ |B|, falls f : Ainjektiv−−−−→ B existiert.

• |A| = |B|, falls |A| ≤ |B| und |B| ≤ |A|,

oder falls f : Abijektiv−−−−→ B existiert.