Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen,...

40
1 Graphen ¨ Uberblick 2 1. Einf¨ uhrung: Graphen in der Informatik 2. Digraphen, ungerichtete und einfache Graphen 3. B¨ aume 4. Euler- und Hamiltongraphen 5. Planare Graphen und Knotenf¨ arbungen 6. Matchings 7. Adjazenzmatrix eines Graphen 1.1 Einf¨ uhrung: Graphen in der Informatik Graphen in der Informatik 3 Verkehrsnetze: Wegfindung/Navigation, billigste/schnellste/umweltfreundlichste Verbindung, alternative Routen bei Stau/Blockaden, . . . . Bsp.: MVV Netz [Quelle] Graphen in der Informatik 4 Computergraphik: Meshes, Subdivision, verdeckte Fl¨ achen, konvexe H¨ ullen, Kollisionserkennung, . . . . Bsp.: Stanford Bunny: 1

Transcript of Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen,...

Page 1: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

1 Graphen

Uberblick 2

1. Einfuhrung: Graphen in der Informatik

2. Digraphen, ungerichtete und einfache Graphen

3. Baume

4. Euler- und Hamiltongraphen

5. Planare Graphen und Knotenfarbungen

6. Matchings

7. Adjazenzmatrix eines Graphen

1.1 Einfuhrung: Graphen in der Informatik

Graphen in der Informatik 3

• Verkehrsnetze:

Wegfindung/Navigation, billigste/schnellste/umweltfreundlichste Verbindung, alternative Routenbei Stau/Blockaden, . . .

. Bsp.: MVV Netz

[Quelle]

Graphen in der Informatik 4

• Computergraphik:

Meshes, Subdivision, verdeckte Flachen, konvexe Hullen, Kollisionserkennung, . . .

. Bsp.: Stanford Bunny:

1

Page 2: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

[Quelle]

Graphen in der Informatik 5

• Simulation und Numerik:

Lineare Gleichungssystem, Finite Elemente, Finite Volumen, . . .

. Bsp.: Luftstrom um Flugzeugflugel,

[Quelle]

Graphen in der Informatik 6

• Internet/Netzwerke:

Webranking (Page Rank), Analyse sozialer Netze (Cliquen), Ausfallsicherheit, Routing von Nach-richten, . . .

. Bsp.: Linkstruktur Google vs. Stanford

2

Page 3: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

[Quelle][Quelle]

Graphen in der Informatik 7

• Erdos-Zahl:

[Quelle]

Graphen in der Informatik 8

• Chemie:

Strukturformeln (Elektronen, Valenz, Keil, Skelett), Isomerie, . . .

. Bsp.: Klassifikation von Isomerien

[Quelle]

Graphen in der Informatik 9

• Syntax von Termen/Formeln, Schaltkreise:

. Bsp.: A ∩ (B ∪A) und a · (−(b+ a)) als Syntaxbaume und als”Schaltkreise“ (Subtermsharing)

3

Page 4: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

A ·

B A

·

a −

+

b a

A B

·

a b

+

·

Graphen in der Informatik 10

• Programmiersprachen:

Syntax, Semantik, Compiler, Programmanalyse, Clone, Refactoring, UML, . . .

. Bsp.: Syntax (abstrakter Syntaxbaum)

def gcd(a,b):while b != 0:

if a > b:a = a - b

elseb = b - a

return a

[Quelle]

Graphen in der Informatik 11

• Programmiersprachen:

Syntax, Semantik, Compiler, Programmanalyse, Clone, Refactoring, UML, . . .

. Bsp.: Kontrollfluss

def gcd(a,b):while b != 0:

if a > b:a = a - b

elseb = b - a

return a

4

Page 5: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

en

b 6= 0?

a > b?

a := a− bb := b− a

ex

b 6= 0

b = 0

a > ba ≤ b

Graphen in der Informatik 12

• Programmiersprachen:

Syntax, Semantik, Compiler, Programmanalyse, Clone, Refactoring, UML, . . .

. Bsp.: Semantik (Programmzustand: (pc,a,b) )

1def gcd(a,b):2while b != 0:3if a > b:4a = a - b5else6b = b - a7return a

(1, 0, 0)

(2, 0, 0)

(7, 0, 0)

(1, 2, 3)

(2, 2, 3)

(2, 2, 3)

(6, 2, 3)

(2, 2, 1)

(1, 2, 5)

(2, 2, 5)

(3, 2, 5)

(6, 2, 5)

(1,−1,−2)

(2,−1,−2)

(3,−1,−2)

(4,−1,−2)

(2,−1,−3)

. . .

1.2 Digraphen, ungerichtete und einfache Graphen

1.2.1 Digraphen

Digraphen 13

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

– einer Menge V – genannt Knotenmenge, Elemente von V entsprechend Knoten von G.

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

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

. Ein Digraph G ist bipartit, falls V = A ∪ B mit A ∩ B = ∅ (kurz: V = A ] B) und E ⊆A×B ∪B ×A (nur Kanten zwischen A und B).

5

Page 6: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

1

2

a

b

alternativ 1

2

a

b

Digraphen: Pfade 14

. Eine Folge v0, v1, . . . , vl von Knoten vi ∈ V heißt Pfad (Weg), falls (vi−1, vi) ∈ E fur jedes i ∈ [l]gilt, d.h. wenn je zwei aufeinanderfolgende 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.

1

2

a

b

alternativ

1

2

a

b

Digraphen: Zusammenhang 15

• Formal: Sei G = (V,E) ein Digraph.

– G ist zusammenhangend, falls u(E ∪ E−1)∗v fur alle u, v ∈ V gilt.

– G ist stark zusammenhangend, falls sowohl uE∗v als auch vE∗u fur alle u, v ∈ V gilt.

– U ⊆ V ist eine (starke) Zusammenhangskomponente, falls G[U ] (stark) zusammenhangend.

– U ist eine maximale (starke) Zusammenhangskomponente, falls es kein U ′ mit U ( U ′ ⊆ Vund G[U ′] selbst (starke) Zusammenhangskomponente gibt.

. Beispiele:

1

2

3

4

1

2

3

4

1

2

3

4

Digraphen: Kreise 16

• Ein Kreis (Zyklus) ist ein Pfad v0, v1, . . . , vl mit v0 = vl; ein Kreis ist einfach, falls alle Knotenv0, . . . , vl−1 paarweise verschieden sind (also |{v0, v1, . . . , vl}| = l); m.a.W. falls der Kreis nichtselbst einen kleineren Kreis enthalt.

. Eine”Selbstkante“ (u, u) ∈ E (Kreis der Lange 0) bezeichnet man als Schleife/Schlinge.

• Ein Digraph ohne Kreise heißt azyklisch (kreisfrei).

– DAG kurz fur directed acyclic graph.

– Z.B. ist das Hasse-Diagramm einer partiellen Ordnung ein DAG.

• Falls uEv, dann heißt u Vorganger von v und v Nachfolger von u:

– Nachfolger von u: uE = {v ∈ V | uEv}

6

Page 7: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

– Vorganger von v: Ev = {u ∈ V | uEv}

Digraphen: Teilgraphen 17

• Fur U ⊆ V schreibt man G[U ] fur (U,E ∩ (U × U)) (von U induzierter Teilgraph).

. Beispiel: U = {a, 2, b}

1

2

a

b 2

a

b

. Ein Digraph H = (VH , EH) ist ein Teilgraph von G = (VG, EG), falls VH ⊆ VG und EH ⊆ EG.

Digraphen: Isomorphie 18

• Zwei Digraphen G,H sind isomorph (”strukturgleich”), kurz G ∼= H, falls es eine Bijektion (

”Knote-

numbenennung”) β : VG → VH gibt, die die Kanten respektiert/erhalt, d.h. uEGv gdw β(u)EHβ(v)

. Beispiel: β(1) = 5, β(2) = 3, β(a) = 7, β(b) = 2

1

2

a

b

5

3

7 2

. ∼= ist Aquivalenzrelation.

. Anwendungen: Bildererkennung, Copy&Paste-Code finden (Refactoring) u.v.a. Reine textbasierteSuche reicht i.A. nicht, da Variablenbezeichner u.U. abgeandert oder neu berechnet wurden.

Digraphen: Darstellung 19

• Haufig ist man nicht an den konkreten Knotenobjekten/bezeichnern interessiert und lasst diese inder graphischen Darstellung einfach weg.

. Beispiel:

statt

1

2

a

b

fur V = {1, 2, a, b} und E = {(1, 2), (1, b), (2, a), (2, b), (a, 1), (b, 2), (b, b)}

1.2.2 Ungerichtete und einfache Graphen

Ungerichtete und einfache Graphen 20

• Ein Digraph G = (V,E) ist ungerichtet, falls E symmetrisch ist.

7

Page 8: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

• Ein Digraph ist ein einfacher Graph, falls er ungerichtet ist und keine Schleifen besitzt, also Esymmetrisch und irreflexiv ist.

– Statt (u, v), (v, u) ∈ E ⊆ V × V nur noch {u, v} ∈ E ⊆(V2

).

.(V2

):={{u, v} ⊆ V | u 6= v

}Menge aller 2-elementiger Teilmengen.

– Statt Vorganger und Nachfolger nur Nachbarschaft Γ(u) = {v ∈ V | {u, v} ∈ E}; Knotengraddeg(u) := |Γ(u)|.

– Man stellt {u, v} ∈(V2

)als ungerichtete (

”kopflose“) Kante dar, z.B:

statt

fur G = (V,E) mit V = {1, 2, a, b} und E = {{1, 2}, {1, a}, {1, b}, {2, a}, {2, b}}

Ungerichtete und einfache Graphen 21

• Die Definition von Kreis wird fur ungerichtete Graphen abgeandert:

. Triviale Kreise u, v, u werden ausgeschlossen.

. Ein Pfad u0, u1, . . . , ul mit u0 = ul und {u0, . . . , ul} = l ist ein Kreis in einem ungerichteten Graph,falls

∣∣{ui, ui+1 (mod l), ui+2 (mod l)}∣∣ = 3 fur alle i ∈ [l].

Ausblick: weitere Graphklassen 22

• Ausblick:

– Multigraph: wie Digraph nur Kantenrelation wird zur Multimenge von Knotenpaaren

d.h. auch mehr als eine Kante von u nach v.

– Hypergraph: wie ungerichteter Graph nur mit E ⊆ P(V )

d.h. eine (Hyper-)Kante e = {v1, . . . , vk} ∈ E verbindet mehrere Knoten gleichzeitig.

– Knotenbeschrifteter Digraph: Digraph (V,E) zzgl. Knotenbeschriftung l : V → Σ∗.

– Kantenbeschrifteter Digraph:

• Im Weiteren Fokus auf einfache Graphen.

1.2.3 Wichtige Klassen von einfachen Graphen

Spezielle (einfache) Graphen 23

• Vollstandiger Graph Kn :=(

[n],([n]2

))K1 K2 K3 K4 K5

• Kreisgraph Cn := ([n], {{i, (i mod n) + 1} | i ∈ [n]})

8

Page 9: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

C1 C2 C3 C4 C5

• Pfadgraph Pn := ([n], {{i, i+ 1} | i ∈ [n− 1]})

P1 P2 P3 P4 P5

Spezielle (einfache) Graphen 24

• Bipartiter Graph Km,n := ([m+ n], {{i, j} | i ∈ [m], j ∈ [m+ n] \ [m]}) (m ≤ n)

K1,1 K1,2 K2,2 K2,3 K3,3

• Gittergraph Mm,n := ([m]× [n], {{(i, j), (k, l)} | |i− k|+ |j − l| = 1}) (m ≤ n)

M1,2 M2,2 M2,3 M3,3 M3,4

Spezielle (einfache) Graphen 25

• Hyperwurfel der Dimension n [0.2cm]

Qn := ({0, 1}n, {{u, v} |∑ni=1 |ui − vi| = 1}) mit Q0 := ({ε}, ∅)

Q0 Q1 Q2 Q3

Q4:

9

Page 10: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

Spezielle (einfache) Graphen 26

• Hyperwurfel der Dimension n [0.2cm]

Qn := ({0, 1}n, {{u, v} |∑ni=1 |ui − vi| = 1}) mit Q0 := ({ε}, ∅)

Q0 Q1 Q2 Q3

Q4:

Spezielle (einfache) Graphen 27

• Perfekter Binarbaum der Hohe h [2mm]

Bh := ([2]≤h, {{u, ux} | u ∈ [2]<h, x ∈ [2]})

B0 B1 B2 B3

. Anmerkung: je nach Literatur auch als”vollstandiger Binarbaum” bezeichnet.

• Ein Knoten u mit deg(u) ≤ 1 wird als Blatt bezeichnet, alle anderen Knoten als innere Knoten.

Perfekte Binarbaume 28

• Behauptung. Fur alle h ∈ N0: Bh hat 2h Blatter.

. Wie konnen wir zeigen, dass es tatsachlich fur ALLE h ∈ N0 gilt?

• Induktionsprinzip:

Beschreibe, wie man prinzipiell fur jedes konkrete h ∈ N0 schrittweise einen Beweis erhalten kann.

. In unserem Fall:

– Induktionsbasis: Zeige, dass B0 genau 20 = 1 Blatter hat im Fall h = 0.

– Induktionsschritt: Wahle ein beliebiges, aber dann festes h ∈ N0.

Nimm an, dass fur dieses h bereits gezeigt wurde, dass Bh gerade 2h Blatter hat (das ist dieInduktionsannahme).

Zeige hiermit, dass auch Bh+1 genau 2h+1 Blatter besitzt.

. Der Induktionsschritt erlaubt es den Beweis fur h = 0 auf h = 1, dann von h = 1 auf h = 2,dann von h = 2 auf h = 3 und so schließlich auf jedes h ∈ N0 zu erweitern.

10

Page 11: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

• Allgemeines Schema eines Induktionsbeweises:

. Zu beweisende Aussage der Form”Fur alle n ∈ N0 gilt die Behauptung P“.

. Induktionsbeweis:

– Induktionsbasis: P gilt fur n = 0.

. Beweis des Induktionsbasis: · · ·

– Induktionsschritt: Sei n ∈ N0 beliebig fixiert.

∗ Induktionsannahme: P gilt fur n.

∗ Induktionsbehauptung: P gilt fur n+ 1.

. Beweis der Induktionsbehauptung: · · · (darf die Induktionsannahme verwenden.)

Perfekte Binarbaume 29

• Lemma: Fur alle h ∈ N0: Bh hat 2h Blatter.

. Beweis:

• Induktionsbasis: B0 hat 20 Blatter.

. Beweis des Induktionsbasis: B0 besteht aus genau einem Knoten/Blatt nach Definition.

• Induktionsschritt: Sei h ∈ N0 beliebig fixiert.

– Induktionsannahme: Bh hat 2h Blatter.

– Induktionsbehauptung: Bh+1 hat 2h+1 Blatter.

– Beweis der Induktionsbehauptung:

. Bh+1 hat zwei Blatter v1 und v2 fur jedes Blatt v von Bh.

. Damit hat Bh+1 doppelt so viele Blatter wie Bh.

. Aus der Induktionsannahme folgt: Bh+1 hat 2 · 2h = 2h+1 Blatter.

Perfekte Binarbaume 30

• Lemma: Fur alle h ∈ N0: Bh hat 2h+1 − 1 Knoten.

. Beweis:

• Induktionsbasis: B0 hat 21 − 1 Knoten.

. Beweis des Induktionsbasis: Offensichtlich, B0 hat einen Knoten.

• Induktionsschritt: Sei h ∈ N0 beliebig fixiert.

– Induktionsannahme: Bh hat 2h+1 − 1 Knoten.

– Induktionsbehauptung: Bh+1 hat 2(h+1)+1 − 1 = 2h+2 − 1 Knoten.

– Beweis der Induktionsbehauptung:

. Anzahl der Knoten von Bh+1 = Anzahl der Knoten von Bh + Anzahl der Blatter vonBh+1.

11

Page 12: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

. Aus der Induktionsannahme und aus dem letzten Lemma folgt: Anzahl der Knoten vonBh+1 =

(2h+1 − 1

)+ 2h+1 = 2 · 2h+1 − 1 = 2h+2 − 1.

Noch zwei Induktionsbeweise 31

• Lemma: Jeder einfacher zushgd. Graph mit n Knoten hat mindestens n− 1 Kanten.

. Beweis mittels Induktion nach n:

– Induktionsbasis: n = 1. Es gibt nur einen Graphen mit n = 1. Er ist zushgd. und hat 0 Kanten.

– Induktionsschritt: Sei n ∈ N beliebig fixiert.

∗ Induktionsbehauptung: Jeder einfacher zushgd. Graph mit n+ 1 Knoten hat mindestensn Kanten.

∗ Induktionsannahme: Jeder einfacher zushgd. Graph mit m ≤ n Knoten hat mindestensm− 1 Kanten.

∗ Induktionsbeweis: Sei G = (V,E) ein zushgd. Graph mit |V | = n + 1 Knoten. Fixiereeinen beliebigen Knoten u ∈ V und betrachte G′ = G[V − {u}].

Noch zwei Induktionsbeweise 32

• Lemma: Jeder einfacher zushgd. Graph mit n Knoten hat mindestens n− 1 Kanten.

. Beweis mittels Induktion nach n:

– Induktionsbeweis (Fort.): Die max. Zshgskomponenten von G′ seien G1, . . . , Gr. Es gilt:

1 ≤ r ≤ deg(u) |V | = 1 +∑i∈[r]

|Vi| |E| = deg(u) +∑i∈[r]

|Ei|

Fur jede Komponente Gi = (Vi, Ei) gilt |Vi| ≤ n und damit nach Induktionsannahme |Ei| ≥|Vi| − 1. Damit:

|E| = deg(u) +∑i∈[r] |Ei|

≥ deg(u) +∑i∈[r](|Vi| − 1)

= |V | − 1− r + deg(u)≥ |V | − 1= n

Noch zwei Induktionsbeweise 33

• Lemma: Jeder einfache zshgd. Graph mit n ≥ 3 Knoten und mindestens n Kanten besitzt einenKreis.

. Beweis:

Beweis mittels Induktion nach der Anzahl der Knoten n ≥ 3:

– Induktionsbasis: Fur n = 3 gibt es nur den C3.

– Induktionsschritt: Sei n ≥ 3 beliebig fixiert.

∗ Induktionsbehauptung: Jeder einfache zshgd. Graph mit n + 1 Knoten und mindestensn+ 1 Kanten besitzt einen Kreis.

∗ Induktionsannahme: Fur alle m ≤ n gilt: Jeder einfache zshgd. Graph mit m Knoten undmindestens m Kanten besitzt einen Kreis.

∗ Induktionsbeweis: Sei G ein zusammenhangender einfacher Graph mit n+ 1 ≥ 4 Knotenund m ≥ n + 1 Kanten. Fixiere eine beliebige Kante {u, v} ∈ E. Sei G′ der Graph, deraus G entsteht, wenn wir {u, v} entfernen.

12

Page 13: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

Noch zwei Induktionsbeweise 34

• Lemma: Jeder einfache zshgd. Graph mit n ≥ 3 Knoten und mindestens n Kanten besitzt einenKreis.

. Beweis:

. Induktionsbeweis (Fort.): Ist G′ noch zshgd., dann gibt es einen Pfad von u nach v in G′, derzusammen mit {u, v} einen Kreis in G ergibt.

. Ist G′ nicht mehr zusammenhangend, dann besteht G′ aus genau zwei maximalen Zshgskom-ponenten Gu, Gv. Wir zeigen durch Widerspruch, dass Gu oder Gv (oder beide) einen Kreisbesitzt.

Seien nu, nv die Anzahl der Knoten und mu,mv die Anzahl der Kanten von Gu und Gv. Esgilt

n+ 1 = nu + nv m = mu +mv + 1

Wenn sowohl Gu wie auch Gw kreisfrei sind, dann gilt nach Induktionsannahme mu < nuund mv < nv. Es folgt m = mu + mv + 1 < nu + nv = n + 1, in Widerspruch zur Annahmem ≥ n+ 1.

1.2.4 Gradfolge

Gradfolge 35

• Jedem (einfachen) Graphen G = (V,E) konnen wir seine Gradfolge zuordnen:

(deg(v1), deg(v2), . . . , deg(vn)) fur V = {v1, v2, . . . , vn}

. Ohne Einschrankung durfen wir die Knoten so umbenennen, dass die Gradfolge aufsteigend sortiertist.

• Zwei nicht isomorphe Graphen konnen diesselbe Gradfolge besitzen:

Gradfolge 36

• Anhand der Gradfolge lasst sich aber manchmal schnell erkennen, dass ein Graph – bzw. sogarjeder Graph mit dieser Gradfolge – eine gewisse Eigenschaft (nicht) besitzt, ohne dass man hierzudie eigentliche Struktur analysieren muss.

. (Sehr einfaches) Beispiel: Ein Graph mit Gradfolge (0, 2, 2, 2, 2) kann nicht zusammenhangend sein.

. (Einfaches) Beispiel: Ein Graph mit Gradfolge (1, 1, 1, 1) kann nicht zusammenhangend sein.

. Beispiel: Was gilt fur den Zusammenhang eines Graphens mit Gradfolge (1, 1, 2, 2, 2) bzw. (1, 1, 1, 1, 2, 2, 2)bzw. (1, 2, 3, 4, 5)?

Gradfolge 37

. Lemma (”Hand-shaking Theorem”) Fur jeden einfachen Graphen G = (V,E) gilt:

2 |E| =∑i∈[n]

deg(vi)

. Beweis: Jede Kante {u, v} ∈ E wird in der Summe sowohl durch deg(u) als auch durch deg(v)gezahlt.

13

Page 14: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

. Konsequenzen:

– Ein einfacher Graph kann zu gegebenem (d1, d2, . . . , dn) hochstens dann existieren, falls∑i∈[n] di

gerade ist.

– Ein einfacher Graph muss eine gerade Anzahl an Knoten von ungeradem Grad besitzen.

– Ein einfacher Graph mit |V | > 12

∑i∈[n] di + 1 kann nicht zushg. sein. Beweis: Dann gilt

|V | > |E|+ 1 und der Graph hat nicht genug Kanten.

. Damit gibt es gar keinen Graphen mit Gradfolge (1, 2, 3, 4, 5) und (1, 1, 1, 1, 2, 2, 2) kann nichtzusammenhangend sein.

1.2.5 Realisierbarkeit von Gradfolgen

Realisierbarkeit von Gradfolgen 38

• Welche Tupeln von Zahlen sind die Gradfolge eines Graphen?

• Lemma: Es gibt einen einfachen Graphen mit n Knoten und Gradfolge (d1, . . . , dn) gdw. es eineneinfachen Graphen mit n− 1 Knoten und Gradfolge sort(d1, . . . , dn−dn−1, dn−dn − 1, . . . , dn−1− 1)gibt. Dabei bezeichnet sort(t) den Tupel, den man aus t erhalt, in dem man die Komponenten vont aufsteigend sortiert.

. Informell: Die neue Gradfolge wird aus (d1, . . . , dn) gewonnen in dem man (a) dn entfernt, (b) dieletzten dn Komponenten um 1 verkleinert und (c) aufsteigend sortiert.

. Beispiel: (1, 1, 2, 3, 4, 4, 5) ist realisierbargdw. (0, 1, 1, 2, 3, 3) ist realisierbargdw. (0, 0, 1, 1, 2) ist realisierbargdw. (0, 0, 0, 0) ist realisierbar.

Realisierbarkeit von Gradfolgen 39

• Welche Tupel von Zahlen sind die Gradfolge eines Graphen?

• Lemma: Es gibt einen einfachen Graphen mit n Knoten und Gradfolge (d1, . . . , dn) gdw. es eineneinfachen Graphen mit n− 1 Knoten und Gradfolge sort(d1, . . . , dn−dn−1, dn−dn − 1, . . . , dn−1− 1)gibt.

– Beweisidee:

(⇒): Ist inG der Knoten mit maximalem Grad dn genau mit Knoten der Grade dn−1, dn−2, . . . , dn−dnverbunden, dann erhalt man durch Entfernen dieses Knotens einen Graphen G′ mit der (un-sortierten) Gradfolge (d1, . . . , dn−dn−1, dn−dn − 1, . . . , dn−1 − 1).

. Beispiel:

– Beweisidee:

Ist inG der Knoten mit maximalem Grad dn nicht genau mit Knoten der Grade dn−1, dn−2, . . . , dn−dnverbunden, dann tauscht man Nachbarn so lange aus, bis dies der Fall ist.

Und entfernt dann erst den Knoten mit maximalen Grad.

. Beispiel:

14

Page 15: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

. Idee:”Grun” soll neuer Nachbar von

”Blau” werden, ohne dass sich die Knotengrade andern.

. Beispiel: Vertauschen von Nachbarn.

. Beispiel: Vertauschen von Nachbarn.

. Beispiel: Vertauschen von Nachbarn.

– Beweisidee:

(⇐): Hat man andererseits einen einfachen GraphenG′ zu der unsortierten Gradfolge (d1, . . . , dn−dn−1, dn−dn−1, . . . , dn−1 − 1) bereits gefunden, dann fugt man einfach einen neuen Knoten hinzu und ver-bindet diesen mit Knoten der Grade dn−dn − 1, . . . , dn−1 − 1.

. Beispiel:

Realisierbarkeit von Gradfolgen 40

• Algorithmus von Havel-Hakimi:

– Eingabe : Aufsteigend sortierte Gradfolge (d1, d2, . . . , dn).

– Falls d1 < 0: Abbruch, es existiert kein entsprechender Graph.

15

Page 16: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

– Falls dn = 0: Gib ([n], ∅) zuruck.

– Sonst:

Setze (d′1, . . . , d′n−1) := (d1, . . . , dn−dn−1, dn−dn − 1, . . . , dn−1 − 1).

Bestimme eine Permutation π : [n−1]→ [n−1], so dass (d′π(1), . . . , d′π(n−1)) wieder aufsteigend

sortiert ist.

Bestimme rekursiv, soweit moglich, einen Graphen G′ = ([n− 1], E′) zu (d′π(1), . . . , d′π(n−1)).

Gib G = ([n], E) mit

E = {{π−1(u), π−1(v)} | (u, v) ∈ E′} ∪ {{n, n− dn}, . . . , {n, n− 1}}

zuruck.

• Beispiel: Gegeben (1, 1, 2, 3, 4, 4, 5).

. 1. Phase: top-down Reduktion der Gradfolge

– (1, 1, 2, 3, 4, 4, 5) fuhrt auf (1, 0, 1, 2, 3, 3) bzw. (0, 1, 1, 2, 3, 3)

– (0, 1, 1, 2, 3, 3) fuhrt auf (0, 1, 0, 1, 2) bzw. (0, 0, 1, 1, 2)

– (0, 0, 1, 1, 2) fuhrt auf (0, 0, 0, 0)

. 2. Phase: bottom-up Konstruktion

– Graph zu (0, 0, 0, 0)

– Graph zu (0, 0, 1, 1, 2)

– Graph zu (0, 1, 1, 2, 3, 3)

– Graph zu (1, 1, 2, 3, 4, 4, 5)

1.3 Baume

1.3.1 Grundlagen

Baume 42

• Allgemeine Definition:

Ein einfacher Graph G = (V,E), der sowohl zusammenhangend als auch kreisfrei ist, wird als Baumbezeichnet.

Ein Knoten u ∈ V mit deg(u) = 1 wird als Blatt bezeichnet, alle anderen Knoten als innere Knoten.

Baume 43

• Beispiel: Bis auf Isomorphie alle Baume mit hochstens 5 Knoten:

16

Page 17: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

• Ein Graph, dessen maximale Zusammenhangskomponenten Baume sind, wird als Wald bezeichnet.

Eigenschaften von Baumen 44

• Lemma: Ist G = (V,E) ein Baum, dann gilt |E| = |V | − 1.

. Beweis:

Wir wissen bereits:

– Jeder einfache Graph G = (V,E) mit |E| ≥ |V | enthalt einen Kreis.

– Jeder zushgd. einfache Graph G = (V,E) besitzt aber mindestens |E| ≥ |V | − 1 Kanten.

Ist also G ein Baum, muss |V | − 1 ≤ |E| < |V | gelten.

Eigenschaften von Baumen 45

• Lemma: Jeder Baum G = (V,E) mit |V | ≥ 2 hat (min.) zwei Blatter.

. Beweis mittels Induktion nach n = |V | ≥ 2

– Induktionsbasis: Fur n = 2 ist die Behauptung korrekt.

– Induktionsschritt: Sei n ≥ 2 beliebig fixiert.

∗ Induktionsbehauptung: Jeder Baum mit n+ 1 Knoten hat zwei Blatter.

∗ Induktionsannahme: Jeder Baum mit m ≤ n Knoten hat zwei Blatter.

∗ Induktionsbeweis: Sei G = (V,E) ein Baum mit n+ 1 ≥ 3 Knoten.

. Wir behaupten: Es gibt einen Knoten u ∈ V mit deg(u) = 1. Beweis: Da G zshg. habenalle Knoten Grad 1 oder hoher. Wenn alle KNoten mindestens Grad 2 haben dann ist Gnicht kreisfrei.

. Sei w ∈ V der einzige Nachbar von u. Entfernen von u und {u,w} liefert einen GraphenG′ mit n Knoten und n−1 Kanten. G′ ist immer noch kreisfrei, da nur eine Kante entferntwurde; G′ ist noch zshgd., da jeder einfache Pfad von w nach v ∈ V − {u} nicht {u,w}verwenden kann.

. Nach Induktionsannahme hat also G′ mindestens zwei Blatter. Hochstens eines davonkann w sein. Sei v 6= w Blatt von G′. Dann sind w und v Blatter von G.

Eigenschaften von Baumen 46

• Definition: Sei G = (V,E) ein (einfacher) Graph.

Einen Teilgraph T = (V,E′) mit E′ ⊆ E, der selbst ein Baum ist, nennt man Spannbaum von G.

17

Page 18: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

• Wir hatten uns bereits uberlegt, dass jeder zusammenhangende Graph mindestens |V | − 1 Kantenhat.

. Weiterhin wissen wir, dass jeder zusammenhangende Graph mit genau |V | − 1 Kanten ein Baumist.

. Jeder zusammenhangende Graph sollte daher einen Spannbaum besitzen: man entfernt einfach jedeKante, die nicht fur den Zusammenhang notwendig ist.

Eigenschaften von Baumen 47

• Lemma: Jeder zusammenhangende Graph G = (V,E) hat (mindestens) einen Spannbaum.

. Beweis mittels Induktion nach k := |E| ∈ N0.

Erinnerung: Ein zushg. Graph mit k Kanten hat 1 ≤ n ≤ k + 1 Knoten.

– IBasis: Fur k = 0 ist die Behauptung korrekt.

– ISchritt: Sei k ≥ 0 beliebig fixiert.

∗ IBehauptung: Jeder zushgd. Graph mit k + 1 Kanten hat einen Spannbaum.

∗ IAnnahme: Jeder zushgd. Graph mit ≤ k Kanten hat einen Spannbaum.

∗ IBeweis: Sei G = (V,E) ein zushgd. Graph mit k + 1 Kanten.

Fixiere eine bel. Kante {u,w} ∈ E. Sei G′ = (V,E′) der Graph, der durch Entfernen von{u,w} aus G entsteht.

Nach Induktionsannahme finden wir fur jede der maximal 2 maximalen Zushgsk. von G′

einen Spannbaum Ti = (Vi, Ei).

Gibt es nur eine maximale Zushgsk., dann ist T1 auch ein Spannbaum von G.

Ansonsten ist T = (V,E1 ]E2 ]{{u,w}}) ein Spannbaum von ganz G: durch Hinzufugenvon {u,w} kann kein Kreis geschlossen werden, sonsten waren T1, T2 schon davor verbun-den gewesen und G′ damit zushgd.

18

Page 19: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

Eigenschaften von Baumen 48

• Lemma: Sei G = (V,E) ein einfacher Graph. Folgende Aussagen sind aquivalent:

(1) G ist ein Baum.

(2) G ist zushgd. mit |V | = |E|+ 1.

(3) G ist kreisfrei mit |V | = |E|+ 1.

(4) Zwei beliebige Knoten u, v sind durch genau einen einfachen Pfad in G verbunden.

. Beweis:”Wenn (1), dann auch (2) und (3)”

– Wir wissen bereits, dass jeder Baum |V | = |E|+ 1 erfullt.

Nach Def. ist jeder Baum auch kreisfrei und zushgd. Damit folgen (2) und (3) aus (1).

. Beweis:”Wenn (2), dann auch (3)”

– Wir wissen auch, dass

(i) jeder zushgd. Graph mindestens |E| ≥ |V | − 1 Kanten besitzt;

(ii) aber auch jeder zushgd. Graph mit |E| ≥ |V | einen Kreis enthalt.

Damit hat erfullt jeder Graph, der (2) erfullt, immer auch (3).

. Beweis:”Wenn (3), dann auch (2)”

– Sei G kreisfrei mit |V | = |E|+ 1.

Seien G1, . . . , Gl die maximalen Zushgsk. von G; da G kreisfrei, ist auch jedes Gi = (Vi, Ei)kreisfrei.

Weiterhin sind die Gi zushgd., also Baume mit |Vi| = |Ei|+ 1. Daher:

|V | =∑i∈[l]

|Vi| =∑i∈[l]

(|Ei|+ 1) = |E|+ l

Aus |V | = |E|+ 1 und |V | = |E|+ l folgt l = 1, d.h. G ist bereis zushgd. Also folgt (2) auchaus (3).

. Beweis:”(1) gdw. (4)”

– Sei G ein Graph, indem es zwei Knoten u,w gibt, die durch zwei unterschiedliche einfachePfade v0, v1, . . . , vl und v′0, v

′1, . . . , v

′l′ verbunden sind (v0 = v′0 = u, vl = v′l′ = w).

1

2 3 4 5

6 7 8

1

2 3 4 5

6 7 8

. Beweis:”(1) gdw. (4)”

– Sei s der Index des ersten Knotens (beginnend in u), an dem die beiden Pfade verzweigen.

1

2 3 4 5

6 7 8

1

2 3 4 5

6 7 8

. Beweis:”(1) gdw. (4)”

19

Page 20: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

– Sei b der Index des ersten Knotens nach va auf dem Pfad v0, v1, . . . , vl, der auch wieder aufdem zweiten Pfad liegt. Diesen gibt es, da vl = v′l′ . Da beide Pfade einfach sind, gibt es eineindeutiges b′ > a mit vb = v′b′ .

1

2 3 4 5

6 7 8

1

2 3 4 5

6 7 8

. Beweis:”(1) gdw. (4)”

– Dann ist va, va+1, . . . , vb, v′b′−1, . . . , v

′a ein einfacher Kreis in G, der die drei unterschiedlichen

Knoten vl, vl+1, vr enthalt.

1

2 3 4 5

6 7 8

. Beweis:”(1) gdw. (4)”

– Ist G also ein Baum, d.h. zushgd. und kreisfrei, gilt auch (4).

– Jeder Graph, der (4) erfullt, ist aber auch zushgd. und kreisfrei.

1.3.2 Wurzelbaume

Wurzelbaume 49

• In der Informatik finden Baume z.B. als Suchstrukturen Verwendung.

. Hierbei gibt es einen speziellen Start-/Einstiegsknoten, in dem die Suche beginnt, welcher als Wurzelbezeichnet wird.

. Implizit stellt man sich den Baum als gerichteten Graphen vor, indem alle Kanten von der Wurzelweggerichtet sind.

Wurzelbaume 50

. Definition: Ein Wurzelbaum G = (V,E, r) ist ein Baum G = (V,E) mit fest gewahlter Wurzelr ∈ V .

– Die Hohe hG(v) eines Knotens v in G ist sein Abstand (Lange des kurzestens Pfades) zu r.

– Die Hohe von G wird mit h(G) = max{hG(v) | v ∈ V } bezeichnet.

. Implizit sind alle Kanten von der Wurzel weggerichtet, d.h. man schreibt uEv fur”{u, v} ∈ E

und hG(v) = hG(u) + 1”.

Gilt uEv, dann nennt man u Vater von v und v Kind von u.

Im Fall uE∗v nennt man v Nachfahre von u und u Vorfahre von v.

(D.h. E∗ ist eine partielle Ordnung auf V mit r dem minimalen Element.)

. Fur u ∈ V ist (uE∗, E, u) gerade der durch u induzierte Teilbaum von G.

20

Page 21: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

Wurzelbaume 51

• Beispiel: Perfekte Binarbaume mit Wurzel ε:

([2]<h, {{u, u1}, {u, u2} | u ∈ [2]<h−1}︸ ︷︷ ︸=Bh

, ε)

(B0, ε) (B1, ε) (B2, ε) (B3, ε)

. (Bh, ε) hat gerade die Hohe h; jedes Blatt hat Hohe h; jeder innere Knoten hat Hohe hochstensh− 1; insgesamt gibt es 2h+1 − 1 Knoten und damit 2h+1 − 2 Kanten.

Wurzelbaume 52

• Beispiel: Entsprechend perfekte Baume vom Grad d und Hohe h:

([d]<h, {{u, ux} | u ∈ [d]<h−1}, x ∈ [d], ε)

Anwendung: Suffixbaume 53

• Muss man in einem gegebenen Text t ∈ Σ∗ wiederholt nach Vorkommen von Wortern w1, w2, . . . , wk ∈ Σ∗

suchen, so kann die Suche mittels eines Suffixbaums beschleunigt werden:

– Der Suffixbaum zu t hat als Knoten alle Infixe von t$, wobei $ ein kunstliches Endsymbol ist.

– Zwei Infixe u, u′ von t sind durch eine Kante verbunden, wenn es ein x ∈ Σ ] {$} mit u′ = ux gibt.

– Jedes Blatt u$ ist mit dem Startindex |t| − |u| von u bzgl. t beschriftet.

. Beispiel: m = banana (Knotenbezeichner als Kantenlabel)

5 3 1

4 2

0

a n a n a

$ $ $

n

a n a

$ $

b

a n a n a

$

1.4 Euler- und Hamiltonkreise

Euler- und Hamiltonkreise: Motivation 54

• In einem Museum soll ein Wachmann am Abend nach und nach alle Lichtschranken an denDurchgangen (in rot) zu den einzelnen Ausstellungsraumen von Hand aktivieren:

21

Page 22: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

. Frage: Gibt es eine Moglichkeit fur den Wachmann, jeden Durchgang genau einmal zu besuchen(er muss nicht hindurchgehen!)?

Euler- und Hamiltonkreise: Motivation 55

• Modellierung als Graph:

– Stelle Durchgange als Knoten dar, verbinde zwei Durchgange mit einer Kante, falls sie einenRaum gemeinsam haben.

Euler- und Hamiltonkreise: Motivation 56

• Unter dieser Modellierung ubersetzt sich die Frage in:

Gibt es einen Kreis, der jeden Knoten genau einmal besucht?

. Solche Kreise nennt man Hamiltonkreise.

22

Page 23: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

Euler- und Hamiltonkreise: Motivation 57

. Der Wachmann langweilt sich.

. Er fragt sich: Gibt es eine Moglichkeit, jeden (roten) Durchgang genau einmal zu durchqueren unddabei die Lichtschranke zu aktivieren?

• Modellierung als Graph:

– Stelle Raume (ink. umschließenden Raum) als Knoten dar, Durchgange als Kanten (ggf. Mehr-fachkanten).

×2 ×2×2 ×2

Euler- und Hamiltonkreise: Motivation 58

• Unter dieser Modellierung ubersetzt sich die Frage in:

Gibt es einen Kreis, der jede Kante genau entsprechend ihrer Vielfachheit besucht?

. Einen solchen Kreis nennt man Eulerkreis.

×2 ×2×2 ×2

Euler- und Hamiltonkreise: Motivation 59

. Wie schnell kann ein Rechner Eulerkreise bzw. Hamiltonkreise finden oder bestimmen, dass es keinegibt?

Euler- und Hamiltonkreise: Definition 60

• Wir betrachten im Folgenden nur einfache Graphen.

– Schleifen sind sowohl fur Euler- als auch Hamiltonkreise uninteressant (warum?).

– Mehrfachkanten sind fur Hamiltonkreise uninteressant (warum?).

– Fur Eulerkreise kann man ungerichtete Graphen mit Mehrfachkanten in einfache Graphenuberfuhren, indem man jede Kante durch einen Hilfsknoten kunstlich unterteilt:

• Definition: Sei G = (V,E) ein einfacher Graph. Ein Kreis v0, v1, . . . , vl in G heißt

– Eulerkreis, falls {{v0, v1}, {v1, v2}, . . . , {vl, v0}}M = E.

– Hamiltonkreis, falls jeder {v0, v1, . . . , vl−1}M = V .

23

Page 24: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

Eulerkreise: Existenz 61

• Satz: Ein einfacher Graph G = (V,E) mit |V | ≥ 3 besitzt genau dann einen Eulerkreis, wennsowohl (1) G zusammenhangend ist als auch (2) jeder Knoten geraden (positiven) Knotengrad hat.

. Es lasst sich somit sehr einfach entscheiden, ob ein gegebener Graph G einen Eulerkreis besitzt

. Im Fall von Hamiltonkreisen ist es sehr unwahrscheinlich, dass es ein so einfach zu uberprufendesKriterium gibt. Es handelt sich um ein sogenanntes NP-vollstandiges Problem (mehr dazu in Theo-retische Informatik im 4. Semester).

Eulerkreise: Existenz 62

• Beweis: Ein einfacher Graph G = (V,E), der einen Eulerkreis besitzt, ist zusammenhangend undjeder Knoten hat einen geraden Grad.

Wir fixieren einen Eulerkreis.

– G ist zusammenhangend: Da Jeder Knoten auf dem Eulerkreis liegt, gibt es zwischen je zweibeliebig gewahlten Knoten einen verbindenden Pfad gibt.

– Jeder Knoten hat geraden Grad: Sei u ∈ V beliebig fixiert.

Fur jede Kante, die bzgl. des Eulerkreises von u wegfuhrt, muss es auch genau eine Kantegeben, welche bzgl. des Eulerkreises zu u hinfuhrt.

Also hat u geraden Grad.

Eulerkreise: Existenz 63

• Beweis: Ein einfacher Graph G = (V,E), der zusammenhangend ist und in dem jeder Knotengeraden Grad hat, besitzt einen Eulerkreis.

Da G zusammenhangend ist, hat jeder Knoten mindestens Grad 1; nach Annahme sogar deg(v) ≥ 2und damit |E| ≥ |V |.

Wir verwenden Induktion nach der Anzahl der Kanten k := |E|.

– IBasis: Es gelte k = 3 (mit weniger Kanten gibt es mindestens einen Knoten mit ungerademGrad). Dann ist der Graph isomorph zum C3 und besitzt einen Eulerkreis.

– ISchritt: Sei k ∈ N0 beliebig fixiert.

∗ IAnnahme: Jeder zshgd. Graph G = (V,E) mit |E| ≤ k und nur geraden Knotengradenbesitzt einen Eulerkreis.

∗ IBehauptung: Jeder zshgd. Graph G = (V,E) mit |E| = k + 1 und nur geraden Knoten-graden besitzt einen Eulerkreis.

– ISchritt: Sei k ∈ N0 beliebig fixiert.

∗ IBeweis: Sei G = (V,E) zshgd. mit |E| = k + 1 und nur geraden Knotengraden.

Fixiere eine beliebige Kante {u,w} ∈ E. Sei G′ = G[E − {u,w}].

Wir behaupten: es gibt in G′ einen Pfad von u nach w.

Bewis der Behauptung: Die Zshgkpt. von u in G′ enthalt eine gerade Anzahl von Knotenmit ungeradem Grad (Hand-Shaking Theorem).

Da u und w die einzigen Knoten mit ungeradem Grad sind, muss w zu der Zshgkpt. vonu gehoren.

Es folgt, dass mindestends ein Pfad von u nach w fuhrt.

24

Page 25: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

a

b

c

d e

f

g

h

– ISchritt: Sei k ∈ N0 beliebig fixiert.

∗ IBeweis: Sei G = (V,E) zshgd. mit |E| = k + 1 und nur geraden Knotengraden.

Es gibt somit in G′ einen einfachen Pfad v0, . . . , vl von u nach w, zusammen mit {u,w}somit einen einfachen Kreis κ = v0, v1, . . . , vl, v0.

a

b

c

d e

f

g

h

– ISchritt: Sei k ∈ N0 beliebig fixiert.

∗ IBeweis: Sei G = (V,E) zshgd. mit |E| = k + 1 und nur geraden Knotengraden.

Sei G′′ der Graph, der aus G durch Entfernen der Kanten von κ entsteht. Jeder Knotenvon G′′ hat geraden Grad.

Fur jede der max. Zshgsk. von G finden wir daher einen Eulerkreis κi nach IAnnahme;wir durfen annahmen, dass κi jeweils in einem Knoten von κ loslauft.

a

b

c

d e

f

g

h

κ = adeha, κ1 = abdca, κ2 = eghfe

– ISchritt: Sei k ∈ N0 beliebig fixiert.

∗ IBeweis: Sei G = (V,E) zshgd. mit |E| = k + 1 und nur geraden Knotengraden.

Wir erhalten einen Eulerkreis fur ganz G, indem wir die Eulerkreise κi anstelle ihrerStarknoten in κ substituieren.

a

b

c

d e

f

g

h

κ = adeha, κ1 = abdca, κ2 = eghfe

Eulerkreis: (abdca)d(eghfe)ha

Hamiltonkreise: Existenz 64

• Satz: Ein einfacher Graph G = (V,E) mit |V | ≥ 3 besitzt einen Hamiltonkreis, wenn in G jeder

Knoten mindestens Knotengrad |V |2 hat.

. Dieser Satz ist keine Charakterisierung der Graphen, die einen Hamiltonkreis haben! Er stelltlediglich eine hinreichende Bedingung dar.

25

Page 26: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

Hamiltonkreise: Existenz 65

• Beweis: Ein einfacher Graph G = (V,E), indem jeder Knoten mindestens Grad |V |2 hat, enthalt

einen Hamiltonkreis.

Sei G = (V,E) ein solcher Graph. Setze n = |V |. Dann ist G zusammenhangend: Wurde G inmindestens zwei max. Zshgsk. zerfallen, so hatte die kleineste max. Zshgsk. hochstens n

2 Knotenund damit jeder Knoten hochstens Grad n

2 − 1.

Sei π = v0, v1, . . . , vm ein langster einfacher Pfad in G; dann muss jeder Nachbar von v0 auf πliegen, ebenso jeder Nachbar von vm; ansonsten ware π nicht maximal.

Seien 0 < i1 < . . . < ik ≤ m die Positionen der Nachbarn von v0 bzgl. π; es gilt nach Annahmedeg(v0) = k ≥ n

2 .

Einer der Knoten vi1−1, . . . , vik−1 muss ein Nachbar von vm sein: ansonsten konnte vm nur nochmaximal Grad n− 1− k ≤ n− 1− n

2 <n2 besitzen entgegen unserer Annahme.

Wir finden also ein j ∈ [k] mit {v0, vij}, {vij−1, vm} ∈ E.

Damit ist κ = v0, v1, vij−1, vm, vm−1, . . . , vij , v0 ein einfacher Kreis in G.

Wurde ein Knoten vi auf κ einen Nachbarn w besitzen, der nicht auf κ liegt, dann konnte man κbei vi zu einem Pfad offnen, welcher zusammen mit w einen langeren Pfad als π ergeben wurde.

Da G zusammenhangend ist, muss jeder Knoten von G bereits auf κ liegen, d.h. κ ist ein Hamil-tonkreis.

1.5 Planare Graphen und Knotenfarbungen

Planaritat 66

• (Informelle) Definition: Ein einfacher GraphG = (V,E) ist planar, falls man ihn in die Zeichenebeneohne Kantenuberschneidungen zeichnen kann.

• Motivation: Moglichst ubersichtliche Darstellung.

26

Page 27: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

? ?

. Anwendungen: Layout von Graphen (Diagramme, Schaltkreise, . . . ).

Eulersche Polyederformel 67

• Erstes Ziel: K3,3 und K5 sind nicht planar. Hilfsmittel:

. Satz: Eulersche Polyederformel (EPF)

Sei G = (V,E) ein zusammenhangender planerer Graph. Sei f die Anzahl der Flachen, in die Gbei uberschneidungsfreier Darstellung die Zeichenebene zerschneidet. Dann gilt:

f − |E|+ |V | = 2

. Korollar: f ist bereits durch |E| und |V | bestimmt, jede uberschneidungsfreie Darstellung einesplanaren Graphen zerschneidet die Ebene in dieselbe Anzahl von Flachen.

. Beachte: Die umschließende Flache wird mitgezahlt (Vorstellung: Zeichenpapier entlang Kantenmit Teppichmesser zerschneiden).

Eulersche Polyederformel 68

. Beweis mittels Induktion nach n = |E| − |V |+ 1 ∈ N0.

(Da G zshgd.: |E| ≥ |V | − 1.)

– IBasis: Im Fall n = 0 folgt |E| = |V |−1, also ist G ein Baum mit f = 1, also gilt 1−|E|+|V | =1− |V |+ 1 + |V | = 2.

– ISchritt: Sei n ∈ N0 beliebig fixiert.

IBehauptung: Die EPF gilt fur jeden zshgd. planaren Graph G = (V,E) mit |E| − |V |+ 1 =n+ 1.

IAnnahme: Die EPF gilt fur jeden zshgd. planaren Graph G = (V,E) mit |E| − |V |+ 1 ≤ n.

IBeweis: Sei G = (V,E) ein zshgd. planarer Graph mit |E|− |V |+1 = n+1 > 1, insbesondere|E| > |V |. Sei f die Anzahl der Flachen, in die G di Ebene zerteilt.

IBeweis: Da G zshgd., muss G somit einen Kreis κ enthalten. Entfernen einer beliebigen Kante{u,w} von κ aus G fuhrt auf G′ = G[E−{{u,w}}], dabei werden die durch {u,w} getrenntenFlachen zu einer Flache vereinigt.

G′ ist noch zshgd. und planar, hat eine Kante weniger als G und unterteilt die Ebene in f − 1Flachen. Nach Induktionsannahme gilt (f−1)−(|E|−1)+ |V | = 2, also auch f−|E|+ |V | = 2.

27

Page 28: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

Eulersche Polyederformel 69

• EPF fur planare Graphen mit k max. Zhgskomponenten (Beweis zur Ubung):

f − |E|+ |V | = 1 + k

• Folgerungen: Fur jeden planaren Graphen G = (V,E) gilt

– f − |E|+ |V | ≥ 2.

– |E| ≤ 3 |V | − 6, falls |V | ≥ 3, da:

Jede Flache wird durch mindestens 3 Kanten definiert; dabei zahlen wir jede Kante aberdoppelt, d.h. |E| ≥ 3

2f bzw. f ≤ 23 |E|. Damit

2 ≤ f − |E|+ |V | ≤ 2

3|E| − |E|+ |V |

– es gibt mind. einen Knoten u ∈ V mit deg(u) ≤ 5, falls |V | ≥ 3, da:

Ansonsten musste |E| = 12

∑v∈V deg(v) ≥ 1

2 · 6 |V | = 3 |V | gelten.

Eulersche Polyederformel 70

• Folgerungen: K3,3 und K5 sind nicht planar.

– Im K5 gilt |V | = 5, |E| = 10, also 10 = |E| ≥ 3 |V | − 6 = 9.

– Im K3,3 besteht jeder Kreis aus mindestens 4 Kanten.

In einer eine uberschneidungsfreie Darstellung des K3,3 musste jede Flache durch mindestens4 Kanten begrenzt sein.

Es musste also 42f ≤ |E| = 9 gelten und damit:

f − |E|+ |V | ≤ 92 − 9 + 6 = 1.5 < 2

Minoren und Satz von Kuratowski 71

• Sei G = (V,E) ein einfacher Graph. Fixiere eine beliebige Kante e = {u,w} ∈ E. Dann schreibtman G/e fur den einfachen Graphen, den man aus G erhalt, indem man u mit w identifiziert:

G/e =

(V − {w},

(E ∩

(V − {w}

2

))∪ {{u, x} | {w, x} ∈ E}

)Man sagt, dass G/e aus G durch die Kantenkontraktion von e gewonnen wird.

28

Page 29: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

Minoren und Satz von Kuratowski 72

• Definition: Fur zwei gegebene einfache Graphen H = (VH , EH) und G = (VG, EG) sagt man, dass

”H ein Minor von G” ist, falls man aus G schrittweise mittels Entfernen von Kanten, Entfernen

von Knoten vom Grad 0 und Kantenkontraktion einen zu H isomorphen Graphen erzeugen kann.

. Satz von Kuratowski:

Ein einfacher Graph G = (V,E) ist genau dann planar, wenn weder der K3,3 noch der K5 einMinor von G ist.

Knotenfarbungen 73

• Definition: Sei G = (V,E) ein einfacher Graph.

Eine Abbildung c : V → N ist eine Knotenfarbung von G, falls c(u) 6= c(w) entlang jeder Kante{u,w} ∈ E gilt;

die Anzahl der von c verwendeten Farben ist gerade |c(V )|.

Die chromatische Zahl χ(G) von G ist die minimale Anzahl von Farben, fur die es eine Kno-tenfarbung von G gibt, d.h.

χ(G) := min {|c(V )| | c : V → N Knotenfarbung von G}

. Trivial: 2 ≤ χ(G) < |V | fur jeden einfachen Graphen G = (V,E) mit |E| ≥ 1.

Knotenfarbung 74

x = 5y = 6z = x + yy = z * xu = y * y

• Die Frage nach der chromatischen Zahl ergibt sich sehr naturlich, wenn man Konflikte mittelseinfacher Graphen G = (V,E) darstellt:

. Beispiel: Register-Minimierung

Zwei Variablen stehen in Konflikt, falls der Wert der einen zu Berechnung des Werts der anderenbenotigt wird; Farbung entspricht Zuordnung der Knoten/Variablen auf Register.

x

y z

u

Knotenfarbungen 75

29

Page 30: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

• Beobachtungen:

– χ(G) ≤ |V | fur jeden einfachen Graphen G = (V,E).

– χ(G) ≤ 2, falls G bipartit.

– χ(G) > 1, sobald E 6= ∅.

– χ(Kn) = n, χ(Km,n) = 2, χ(C2k) = 2, χ(C2k+1) = 3.

– Fur jeden einfachen Graphen G = (V,E) gilt χ(G) ≤ 1 + maxv∈V deg(v).

• Lemma:

Fur jeden einfachen Graphen G = (V,E) gilt χ(G) ≤ 12 +

√2 |E|+ 1

4 .

• Beweis: Sei c : V → [χ(G)] eine minimale Knotenfarbung. Dann ist {c−1(i) | i ∈ [χ(G)]} einePartition von V .

Fur zwei beliebige Farben 1 ≤ i < j ≤ χ(G) muss es jeweils Knoten ui,j ∈ c−1(i), vi,j ∈ c−1(j) mit{ui,j , vi,j} ∈ E geben; ansonsten konnten wir die Farbe j durch die Farbe i ersetzen.

Damit muss es mindestens |E| ≥ 12χ(G)(χ(G)− 1) Kanten geben.

Knotenfarbungen 76

• Satz: Vier-Farben-Satz

Fur jeden einfachen planaren Graphen G = (V,E) gilt χ(G) ≤ 4.

• Einer der ersten computeruntersutzten Beweise (1976):

Reduktion”von Hand” auf 1936 Falle, welche durch einen Computer uberpruft wurden; spater

Reduktion auf nur noch 633 Falle (1996).

2005 erster vollstandig formaler, durch Computer uberprufter Beweis.

• Wir zeigen den einfacheren Funf-Farben-Satz.

Funf-Farben-Satz 77

• Beweis Funf-Farben-Satz:

Ohne Einschrankung ist G zusammenhangend.

Annahme: Die Behauptung ist nicht wahr.

Dann gibt es einen einfachen planaren GraphenG = (V,E) mit χ(G) > 5 mit minimaler Knotenzahln = |V |.

Da immer χ(G) ≤ n, muss n ≥ 6 gelten.

Es gibt ein u ∈ V mit deg(u) ≤ 5 (schon bewiesen, folgt aus der EPF). Sei H = G[V − {u}].

Da G ein Gegenbeispiel mit minimaler Knotenzahl ist, muss χ(H) ≤ 5 und damit aber auchdeg(u) = 5 in G gelten; insbesondere mussen alle funf Farben fur alle funf Nachbarn von u in Hverwendet werden.

Wir fixieren eine solche Farbung c : V \ {u} → [5] von H. Wir zahlen die Nachbarn von u in Gim Uhrzeigersinn auf Γ(u) = {u1, . . . , u5}

30

Page 31: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

u1

u2

u3u4

u5

Wir machen nun eine Fallunterscheidung danach, ob es in H einen Pfad von u1 nach u3 gibt, aufdem sich nur die Fraben Rot und Blau abwechseln.

Sei hierzu H1,3 = H[c−1({1, 3})] der durch die roten und blauen Knoten induzierte Teilgraph vonH. Gibt es in H keinen Pfad zwischen u1 und u3, der nur die Farben Rot und Blau verwendet,dann liegen u1 und u3 in verschiedenen max. Zusammenhangskomponenten K1,K3 von H1,3.

u1

u2

u3u4

u5

Vertauschen wir in der Komponente K3 von u3 die Farben Rot und Blau

c′(v) :=

c(v) falls v 6∈ K3

3 falls c(v) = 1, v ∈ K3

1 falls c(v) = 3, v ∈ K3

dann wirkt sich dies nicht auf u1 aus und wir erhalten eine korrekte Farbung c′ von H mit:

u1

u2

u3u4

u5

Mit c′(u) := 3 erhalten wir somit ein 5-Farbung von G obwohl χ(G) > 5. Es muss somit in Heinen Pfad π zwischen u1 und u3 geben, der nur die Farben Rot und Blau verwendet.

u1

u2

u3u4

u5

Sei nun H2,4 = H[c−1({2, 4})] analog zu gerade eben der Teilgraph von H, der von den grunen undorangenen Knoten induziert wird. Die max. Zusammenhangskomponente von u2 bzgl. H2,4 mussvollstandig in dem durch den Kreis uπu eingeschlossenen Gebiet liegen:

u1

u2

u3u4

u5

31

Page 32: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

D.h. jeder Pfad von u2 nach u4 in H muss wegen der Planaritat uber einen der Knoten auf πlaufen.

Damit mussen u2 und u4 bzgl. H2,4 in verschiedenen Komponenten liegen; wir konnen somit dieFarben Grun und Orange in der Komponente von u4 vertauschen, womit wir u orange farbenkonnen.

1.6 Matchings

1.6.1 Grundlagen und Heiratssatz

Matchings 78

• Problemstellung:

Sei S eine Menge von Studierenden, P eine Menge von Praktikumsplatzen und E ⊆ S × P mit

”sEp falls s Interesse an p hat”.

. Gesucht ist eine Zuordnung, die jedem Studierenden (hochstens) einen Praktikumsplatz zuordnet,also eine partielle Funktion f : S ↪→ P , die zusatzlich E respektiert, d.h. f ⊆ E.

. E schrankt somit die moglichen Zuordnungen ein (Nebenbedinungen).

S1 S2 S3 S4

P1 P2 P3 P4 P5 P6

. Definition: Sei G = (V,E) ein einfacher Graph. Ein Matching M ist eine Teilmenge M ⊆ E derKanten, so dass |e ∩ e′| 6= 1 fur alle e, e′ ∈M .

Das Heiratsproblem 79

• Bekannt als das Heiratsproblem

• Gegeben seien heiratswillige Damen und Herren. Jede Dame gibt an, mit welchem der Herren sie sicheventuell vermahlen wurde.

• Das Problem besteht nun darin, die Damen so zu verheiraten, dass jede Dame einen Herren ihrer Wahlerhalt, und dass selbstverstandlich keine zwei Damen mit demselben Herrn verheiratet sind.

Heiratssatz 80

• Satz:

Sei G = (A ]B,E) ein einfacher bipartiter Graph mit (oBdA, sonst beide vertauschen) |A| ≤ |B|.

Dann gibt es ein Matching M ⊆ E mit |M | = |A| genau dann, wenn jede Knotenteilmenge X ⊆ Amindestens |X| Nachbarn (in B) besitzt, d.h. falls

|Γ(X)| ≥ |X| wobei Γ(X) =⋃x∈X

Γ(x)

32

Page 33: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

. Dass die Bedingung notwendig ist, sieht man sofort:

Ist M ⊆ E ein Matching mit |M | = |A|, dann ist fM = {(a, b) ∈ A×B | {a, b} ∈M} eine injektiveFunktion mit f(X) ⊆ Γ(X) und damit |X| = |f(X)| ≤ |Γ(X)|.

. Wir zeigen, dass die Bedingung auch hinreichend ist.

Heiratssatz 81

• Sei G = (A ]B,E) ein einfacher bipartiter Graph mit der Eigenschaft

|Γ(X)| ≥ |X| fur alle X ⊆ A wobei Γ(X) =⋃x∈X

Γ(x)

. Sei M ⊆ E ein Matching und fM : A ↪→ B die durch M bestimmte partielle Funktion. Wir zeigen,wie man im Fall |M | < |A| das Matching vergroßern kann.

Sei also a0 ∈ A ein (bzgl. M) ungematchter Knoten. Setze A0 = {a0} und B0 = Γ(A0).

Nach Annahme gilt |B0| ≥ 1. Gibt es ein b ∈ B0, das ebenfalls ungematcht ist, konnen wir direktM um {a0, b} erweitern. Beispiel:

M = {(S2,P1), (S3,P2), (S4,P5)}A0 = {S1}, B0 = {P1,P3,P4}b = P3 oder P4 S1 S2 S3 S4

P1 P2 P3 P4 P5 P6

Wir nehmen also an, das alle Knoten in B0 bereits gematcht sind. Setze A1 = A0 ∪ f−1M (B0) undB1 = Γ(A1). Beispiel:

M = {(S1,P4), (S2,P2), (S4,P3)}A0 = {S3}, B0 = {P2}A1 = {S3, S2}, B1 = {P1, P2}

S1 S2 S3 S4

P1 P2 P3 P4 P5 P6

Hat ein a1 ∈ A1 einen Nachbarn b, der ungematcht ist, dann konnen wir a1 mit b und a0 mitfM (a1)

”ummatchen” und damit M vergroßern.

Vor dem “Ummatchen”:

M = {(S1,P4), (S2,P2), (S4,P3)}A0 = {S3}, B0 = {P2}A1 = {S3, S2}, B1 = {P1, P2}a1 = S2, b = P1

S1 S2 S3 S4

P1 P2 P3 P4 P5 P6

Hat ein a1 ∈ A1 einen Nachbarn b, der ungematcht ist, dann konnen wir a1 mit b und a0 mitfM (a1)

”ummatchen” und damit M vergroßern.

Nach dem “Ummatchen”:

M = {(S1,P4), (S2,P2), (S4,P3)}A0 = {S3}, B0 = {P2}A1 = {S3, S2}, B1 = {P1, P2}a1 = S2, b = P1

S1 S2 S3 S4

P1 P2 P3 P4 P5 P6

33

Page 34: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

Wir wiederholen die Konstruktion Ai+1 = Ai ∪ f−1M (Bi), Bi+1 = Γ(Ai+1) so lange, bis wir einai ∈ Ai finden, das einen ungematchten Nachbarn b ∈ Γ(ai) besitzt, welcher uns erlaubt, dasMatching um a0 zu erweitern. Beispiel, in dem erst B2 einen ungematchten Knoten enthalt:

Vor dem “Ummatchen”:

M = {(S1,P2), (S2,P3), (S3,P4)}A0 = {S4}, B0 = {P4}A1 = {S4, S3}, B1 = {P2, P3, P4}A2 = {S4, S3, S2, S1}, B2 = {P1, . . . , P4} S1 S2 S3 S4

P1 P2 P3 P4 P5 P6

Wir wiederholen die Konstruktion Ai+1 = Ai ∪ f−1M (Bi), Bi+1 = Γ(Ai+1) so lange, bis wir einai ∈ Ai finden, das einen ungematchten Nachbarn b ∈ Γ(ai) besitzt, welcher uns erlaubt, dasMatching um a0 zu erweitern. Beispiel, in dem erst B2 einen ungematchten Knoten enthalt:

Nach dem “Ummatchen”:

M = {(S1,P2), (S2,P3), (S3,P4)}A0 = {S4}, B0 = {P4}A1 = {S4, S3}, B1 = {P2, P3, P4}A2 = {S4, S3, S2, S1}, B2 = {P1, . . . , P4} S1 S2 S3 S4

P1 P2 P3 P4 P5 P6

Alle Kanten vom “Pfad” S4, P4, S3, P3, S2, P2, S1 werden “umgematcht”.

Wir zeigen fur alle i ≥ 0: Wenn alle Knoten in Bi gematcht sind dann gilt Ai ⊂ Ai+1.

Erinnerung: Ai+1 := Ai ∪ f−1M (Bi) und Bi+1 := Γ(Ai+1).

(1) Es gilt |f−1M (Bi)| = |Bi|, denn alle Knoten in Bi sind gematcht und fM ist injektiv.

(2) Es gilt a0 ∈ Ai \ f−1M (Bi), denn a0 ∈ Ai ist nicht gematcht und alle Knoten in f−1M (Bi) sindgematcht.

Daraus folgt: |Ai| ≤ |Γ(Ai)| (Annahme des Heiratssatzes)= |Bi| (Def. von Bi)=

∣∣f−1M (Γ(Bi))∣∣ (1)

<∣∣Ai ∪ f−1M (Bi)

∣∣ (2)= |Ai+1| (Def. von Ai)

Wir zeigen: es gibt ein i ≥ 0 so dass Bi einen ungematchten Knoten enthalt.

Da alle die Mengen A0 ⊆ A1 ⊆ A2 . . . Teimengen der endlichen Menge A sind, gibt es einen Indexi ≥ 0 mit Ai = Ai+1. Fur dieses i gilt dann, dass die Menge Bi einen ungematchten Knoten enthalt.

1.6.2 Matchings nach Praferenzen

Matchings nach Praferenzen 82

• Gegeben seien heiratswillige Damen und Herren in gleicher Anzahl.

• Jede Dame (jeder Herr) stellt eine Praferenzliste zur Verfugung, die alle Herren (alle Damen) enthalt—indieser Gesellschaft ist jede Heirat besser als keine Heirat.

• Das Problem besteht darin, die Damen und Herren so zu verheiraten, dass es keinen Anreiz fur Seiten-sprunge gibt: Kein Paar ware lieber miteinander als mit den jeweiligen Ehegatten.

34

Page 35: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

Matchings nach Praferenzen 83

• Formal:

Gesucht ist eine bijektive Abbildung f : A→ B (mit |A| = |B|).

Die Nebenbedingungen sind jetzt aber nicht mehr von der Form”a kann (nicht) mit b gematcht

werden”.

Stattdessen besitzt jedes a ∈ A eine totale Praferenzordnung ≺a⊆ B × B; und jedes b ∈ Bentsprechend ≺b⊆ A×A.

Die Nebenbedingung ist nun, dass f stabil bzgl. aller Praferenzordnungen ist:

– f ist instabil, falls es a, a′ ∈ A gibt mit

f(a) ≺a f(a′) (”a bevorzugt den Partner von a′”) und

a′ ≺f(a′) a (”Der Partner von a′ bevorzugt a.”)

. a und f(a′) wurden ihre aktuellen Partner verlassen.

Matchings nach Praferenzen 84

• Beispiel:

– Personen: A = {a1, a2}, B = {b1, b2}.

– Praferenzen: b1 ≺a1 b2 b2 ≺a2 b1 a1 ≺b1 a2 a1 ≺b2 a2– Instabiles Matching (

”Heirat”): a2 praferiert b1, b1 praferiert a2.

a1

a2

b1

b2

– Stabiles Matching (”Heirat”): a1 praferiert b2, a2 praferiert b1; b1 und b2 praferieren a2; b1

hat seinen praferierten Partner, b2 muss sich mit a1 abfinden, das Leben ist einfach nicht fair...

a1

a2

b1

b2

. Stabil heißt nicht, dass jeder seinen am hochsten praferierten Partner bekommt.

Gale-Shapley-Algorithmus 85

• Lloyd S. Shapley: wichtige Beitrage im Bereich Spieltheorie (stochastische Spiele), MathematiknobelpeistragerPreistrager fur Wirtschaftswissenschaften der schwedischen Reichsbank im Gedenken an Alfred No-bel (2012).

35

Page 36: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

• David Gale: wichtige Beitrage im Bereich Spieltheorie/Optimierung

• Algorithmus:

– Gegeben: Mengen A, B und zugehorige Praferenzordnungen.

– Gesucht: Stabiles Matching f : A→ B

– f : A→ B ∪ {⊥}, g : B → A ∪ {>} mit f(A) = {⊥}, g(B) = {>}.

– Solange es ein ungematchtes b 6∈ Rng(f) gibt:

Matche b mit dem von ihm am meisten praferierten a, das (1) er nicht mehr praferiert, alsseinen letzten Partner (a ≺b g(b)), und das (2) ihn dem aktuellen Partner vorzieht (f(a) ≺a b)(mit ⊥ ≺a b, a ≺b >):

f(a∗) := b, g(b) := a∗ mit a∗ := max≺b{a ∈ A | a ≺b g(b), f(a) ≺a b}

Gale-Shapley-Algorithmus 86

• Algorithmus:

– Gegeben: Mengen A, B und zugehorige Praferenzordnungen.

– Gesucht: Stabiles Matching f : A→ B

– f : A→ B ∪ {⊥}, g : B → A ∪ {>} mit f(A) = {⊥}, g(B) = {>}.

– Solange es ein ungematchtes b 6∈ Rng(f) gibt:

f(a∗) := b, g(b) := a∗ mit a∗ := max≺b{a ∈ A | a ≺b g(b), f(a) ≺a b}

. Beispiel: Zwei Frauen a1, a2 und zwei Manner b1, b2 mit:

b2 ≺a1 b1 b1 ≺a2 b2 a1 ≺b1 a2 a1 ≺b2 a2

a1 a2 b1 b2⊥ ⊥ > >⊥ b1 a2 >⊥ b2 a2 a2b1 b2 a1 a2

Einige Beobachtungen:

– Die Zahl |{a ∈ A | f(a) 6= ⊥}| der gematchten a kann nicht abnehmen:

a∗ wird entweder zum ersten Mal mit einem b gematcht oder a∗ bekommt ein neues b zuge-ordnet.

– Keine zwei a, a′ sind mit demselben b gematcht (f(a) = f(a′) nur, falls f(a) = ⊥ = f(a′)): a∗

bekommt immer nur ein ungematchtes b zugeordnet.

. Daher: Gibt es ein ungematchtes b 6∈ Rng(f), dann auch ein a mit f(a) = ⊥. Jedes solchea muss a ≺b g(b) erfullen; ansonsten ware b statt mit g(b) mit dem am meisten praferiertendieser a gematcht worden.

– Also finden wir stets ein a∗ fur jedes ungematchte b.

. In jeder Runde nimmt der Werte g(b) ab; maximal kann der Wert n-Mal abnehmen; insgesamtwird also g hochstens n2-Mal umdefiniert.

. Der Algorithmus terminiert also nach hochstens n2 Runden.

Behauptung: Nach Terminierung ist f ein stabiles Matching.

Annahme: Es gibt a, a′ mit b := f(a′) und f(a) ≺a b, a′ ≺b a.

36

Page 37: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

– Sollte b in einer Runde mit a gematcht worden sein, dann muss dieses Matching spater auf-gehoben worden sein, da a sich verbessern konnte; da f(a) in jeder Runde nicht abnehmenkann, wurde dies b ≺a f(a) bedeuten.

– Damit bleibt nur, dass b nie mit a gemacht wurde, d.h. es gibt eine Runde, zu deren Beginna ≺b g(b), an deren Ende jedoch g(b) = a∗ ≺b a gilt.

∗ Zu Beginn a ≺b g(b) = >, g(b) kann nur abnehmen, am Schluss gilt g(b) = a′ ≺b a.

Da a ≺b g(b) folgt aus der Definition von a∗, dass wieder b ≺a f(a) gelten muss, sonst warea∗ nicht maximal.

Ohne Beweis: Nach Terminierung ist f optimal im folgenden Sinn:

Ist e ein stabiles Matching, dann gilt e−1(b) �b f−1(b) fur jedes b ∈ B.

. M.a.W. jeder Mann erhalt am Ende die am meisten praferierte Frau aus der Teilmenge aller Frauen,mit welchen eine stabile

”Ehe” uberhaupt moglich ist.

. Konsequenz: Die konkrete Wahl eines ungematchten b in jeder Runde hat keinen Einfluss auf dasEndresultat.

1.7 Adjanzenzmatrix eines Graphen

Adjazenmatrix eines Graphen: Matrizen 87

• Eine z × s Matrix uber eine Menge D ist eine Tabelle von Elementen von D mit z Zeilen und sSpalten.

• Notation: M ∈ Dz×s

. Mi,j ∈ D: Eintrag in i-ter Zeile und j-ter Spalte.

• D1×s: Zeilenvektoren; Dz×1: Spaltenvektoren

. Beispiel einer 3 × 4 matrix uber N:

M =

(M1,1 M1,2 M1,3 M1,4

M2,1 M2,2 M2,3 M2,4

M3,1 M3,2 M3,3 M3,4

)=

(0 2 3 10 1 2 01 0 0 1

)

Matrizen: Summe 88

• Summe fur reellwertige Matrizen A ∈ Rn×m, B ∈ Rn×m:

. NB.: Gleiche Anzahl von Zeilen und Spalten.

• Summe C = A+B ∈ Rn×m definiert durch

Ci,j := Ai,j +Bi,j

• Beispiel: (1 2 03 0 1

)+

(0 1 1−2 1 −1

)=

(1 + 0 2 + 1 0 + 13− 2 0 + 1 1− 1

)=

(0 3 11 1 0

)

Matrizen: Multiplikation 89

• Multiplikation fur reellwertige Matrizen A ∈ Rk×m, B ∈ Rm×n:

. NB.: Spaltenzahl links gleich Zeilenzahl rechts

• Produkt C = A ·B ∈ Rk×n definiert durch

Ci,j :=∑t∈[m]

Ai,t ·Bt,j

37

Page 38: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

. Ci,j ist das Skalarprodukt des i-ten Zeilenvektors und des j-ten Spaltenvektors.

. Beispiel: (1 2 02 0 1

0 −13 11 0

=

(1 · 0 + 2 · 3 + 0 · 1 1 · −1 + 2 · 1 + 0 · 02 · 0 + 0 · 3 + 1 · 1 2 · −1 + 0 · 1 + 1 · 1

)=

(6 11 −1

). Beachte: Matrixmultiplikation ist nicht kommutativ!

Adjanzenzmatrix, Pfade zahlen 90

• Adjanzenzmatrix eines gerichteten (endlichen) Graphens G = (V,E):

– Fixiere eine Aufzahlung der Knoten: V = {v1, v2, . . . , vn}

. Alternativ: nenne Knoten um, so dass V = [n].

– Adjazenzmatrix AG = (ai,j)i,j∈[n] ∈ {0, 1}n×n mit”ai,j = 1 gdw. viEvj“

. Beispiel:

1

2

3

4

AG =

a1,1 a1,2 a1,3 a1,4a2,1 a2,2 a2,3 a2,4a3,1 a3,2 a3,3 a3,4a4,1 a4,2 a4,3 a4,4

=

0 1 0 10 0 1 11 0 0 00 1 0 1

Adjanzenzmatrix, Pfade zahlen 91

• Anwendung: (gewichtete) Pfade zahlen, Random-Surfer-Modell

. Lemma: (AkG)i,j ist gerade die Anzahl der verschiedenen k-Schritt-Pfade von vi nach vj .

. Beispiel:

1

2

3

4

AG =

0 1 0 10 0 1 11 0 0 00 1 0 1

A2G =

0 1 1 21 1 0 10 1 0 10 1 1 2

A3G =

1 2 1 30 2 1 30 1 1 21 2 1 3

Adjanzenzmatrix, Pfade zahlen 92

• Anwendung: (gewichtete) Pfade zahlen, Random-Surfer-Modell

. Lemma: (AnG)i,j ist gerade die Anzahl der verschiedenen k-Schritt-Pfade von vi nach vj

. Beweis: Sei Φki,j die Menge aller k-Schritt-Pfade von vi nach vj .

Behauptung: (AkG)i,j =∣∣Φki,j∣∣ fur alle k ∈ N0.

– Induktionsbasis fur k = 0:

38

Page 39: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

∗ Linke Seite: (A0G)i,j ∈ {0, 1} mit (A0

G)i,j = 1 gdw i = j, da nach Definition A0G die

Identitatsmatrix.

A0G =

1 0 . . . 00 1 . . . 0...0 0 . . . 1

∗ Rechte Seite: Falls i = j, dann Φ0

i,j = {vi}, also∣∣Φ0i,i

∣∣ = 1; sonst Φ0i,j = ∅, also

∣∣Φ0i,j

∣∣ = 0

Also gilt (A0G)i,j =

∣∣Φ0i,j

∣∣– Induktionsschritt: Sei k ∈ N0 beliebig fixiert.

∗ Induktionsbehauptung: Es gilt (Ak+1G )i,j =

∣∣Φk+1i,j

∣∣∗ Induktionsannahme: Es gilt (AkG)i,j =

∣∣Φki,j∣∣ und∣∣(A1

G)i,j∣∣ =

∣∣Φ1i,j

∣∣∗ Induktionsbeweis:

Linke Seite: (AkG)i,j = (AkG · A1G)i,j =

∑m∈[n](A

kG)i,m(A1

G)m,j nach Definition der Ma-trixmult.

Rechte Seite: Φki,j =⊎m∈[n] Φki,mΦ1

m,j , da wir die k-Schritt-Pfade nach dem vorletztenKnoten vm paritionieren konnen.Daher:∣∣Φk+1i,j

∣∣ =∑m∈[n]

∣∣Φki,m∣∣ ∣∣Φ1m,j

∣∣ =∑m∈[n](A

kG)i,m(AG)m,j = (Ak+1

G )i,j .

Adjanzenzmatrix, Pfade zahlen 93

• Anwendung: Random surfer model

V : Webpages; E: Links; User klickt mit W’keit pi,j = 1|viE| auf Webpage vi auf Link zu vj (falls

viEvj ; sonst pi,j = 0).

. Ubergangsmatrix: PG = (pi,j)i,j∈[n]

. Fakt: (P kG)i,j ist gerade die Wahrscheinlichkeit von vi nach vj in genau k Schritten zu kommen –jetzt gewichtete Pfade

”zahlen”.

. Beispiel:

1

2

3

4

PG =

0 12

0 12

0 0 12

12

1 0 0 00 1

20 1

2

P 2G =

0 14

14

12

12

14

0 14

0 12

0 12

0 14

14

12

P 3G =

14

14

18

38

0 38

18

12

0 14

14

12

14

14

18

38

Adjanzenzmatrix, Pfade zahlen 94

• Interpretiere Wahrscheinlichkeiten (P kG)i,j als Bruchteil des k-ten Zeitintervalls [k − 1, k), den derUser auf Webpage vj verbringt, wenn er in vi startet.

. Dann verbringt der User im Mittel im Zeitraum [0, T ) beginnend in i auf j die Zeit

Q :=

(1

T

T−1∑k=0

P kG

)i,j

. Fakt: Summe konvergiert fur T →∞, d.h. Q”existiert”.

39

Page 40: Uberblick 2 - TUM1 Graphen Uberblick 2 1.Einf uhrung: Graphen in der Informatik 2.Digraphen, ungerichtete und einfache Graphen 3.B aume 4.Euler- und Hamiltongraphen 5.Planare Graphen

. Beweis falls G”stark zusammenhangend” in Vorlesung DWT, 4. Semester.

Adjanzenzmatrix, Pfade zahlen 95

. Beispiel: “Stark zusammenhangender” Graph

1

2

3

4

1

100

99∑n=0

PnG ≈

0.1494 0.2845 0.1408 0.42530.1422 0.2902 0.1437 0.42390.1480 0.2816 0.1494 0.42100.1394 0.2845 0.1408 0.4353

T→∞−−−−→

17

27

17

37

17

27

17

37

17

27

17

37

17

27

17

37

. Unabhangig, auf welcher Webpage User startet, er verbringt im Mittel 3/7 seiner Zeit auf Webpage

4, 2/7 auf Webpage 2 und je 1/7 der Zeit auf den beiden restlichen.

. (War angeblich) Grundlage fur PageRank von Google: Q·,j Relevanz von Webpage j (Internetnotfalls kunstlich stark zusammenhangend gemacht).

Adjanzenzmatrix, Pfade zahlen 96

. Beispiel: nicht stark zusammenhangender Graph

1

2

3

4

1

100

99∑n=0

PnG ≈

0.01 0.3311 0. 0.65890 0.3378 0 0.6622

0.01 0.3278 0.01 0.65220 0.3311 0 0.6689

T→∞−−−−→

0 13

0 23

0 13

0 23

0 13

0 23

0 13

0 23

. Unabhangig, auf welcher Webpage User startet, er verbringt im Mittel 2/3 seiner Zeit auf Webpage

4, 1/3 auf Webpage 2 und (gemittelt uber alle Zeit) keine Zeit auf den beiden verbleibendenWebpages.

. Anschaulich: Da der RandumSurfer in jedem Schritt auf einen Link klicken muss, kann er nurendlich viel Zeit auf 1 und 3 verbringen.

Adjanzenzmatrix, Pfade zahlen 97

. Beispiel: “nicht zusammenhangender” Graph

1

2

3

4

1

100

99∑n=0

PnG ≈

1 0 0. 00 0.3378 0 0.6622

0.99 0 0.01 00 0.3311 0 0.6689

T→∞−−−−→

1 0 0 00 1

30 2

30 0 0 00 1

30 2

3

. Jetzt Wahrscheinlichkeiten/Relevanz von Startknoten abhangig, da Graph in mehrere Komponen-

ten zerfallt.

40