5 Graphen
5 Graphen
5 Graphen
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Grundlagen der Mathematik für Informatiker 1<br />
5 <strong>Graphen</strong><br />
5.1 Gerichtete <strong>Graphen</strong><br />
Definition 5.1 (V,E) heißt gerichteter Graph (Digraph), wenn<br />
• V Menge von Knoten (auch Ecken genannt, vertex)<br />
• E ⊆ V 2 Menge von Kanten (edge).<br />
gerichteter Graph: relationale Struktur mit einer zweistelligen<br />
Relation<br />
Endpunkte einer Kante (a,b) ∈ E: a,b ∈ V<br />
Schlinge: Kante (a,a) ∈ E mit a ∈ V<br />
Beispiel 1 (V,E) mit V = {0,1,...,4} und<br />
E = {(i, j) | j = i+1 oder j = i+3}
Grundlagen der Mathematik für Informatiker 2<br />
Repräsentationen endlicher <strong>Graphen</strong><br />
Relation G = (V,E) durch (explizite oder implizite) Angabe aller<br />
Elemente von V und E<br />
Diagramm des <strong>Graphen</strong><br />
Adjazenzmatrix |V | × |V |-Matrix A = (ai ⎧<br />
j) mit<br />
⎨ 1, wenn (vi,vj) ∈ E<br />
ai j =<br />
⎩ 0, sonst<br />
Adjazenzliste LG : V →2 V mit u ∈ LG(v) genau dann, wenn (u,v) ∈ E
Grundlagen der Mathematik für Informatiker 3<br />
5.2 Ungerichtete <strong>Graphen</strong><br />
Definition 5.2 (V,E) heißt ungerichteter (schlingenfreier) Graph,<br />
wenn<br />
• V Menge von Knoten (auch Ecken)<br />
<br />
Menge von Kanten<br />
• E ⊆ V<br />
2<br />
Notation: auch ab statt {a,b}<br />
<br />
V<br />
Hierbei sei := {M | M ⊆ V ∧ M enthält genau 2 Elemente }<br />
2<br />
Vereinbarung: Graph (ohne Zusatz) bedeute im folgenden immer:<br />
endlich, ungerichtet und schlingenfrei.<br />
ungerichteter Graph ohne Schlingen: relationale Struktur mit<br />
zweistelliger symmetrischer irreflexiver Relation
Grundlagen der Mathematik für Informatiker 4<br />
Ordnung von <strong>Graphen</strong><br />
Für jede endliche Menge A bezeichne |A| die Anzahl der Elemente<br />
in A.<br />
Ordnung des <strong>Graphen</strong> (V,E): Anzahl |V | der Knoten<br />
Der Graph (V,E) heißt<br />
leer genau dann, wenn V = /0 (und also E = /0),<br />
isoliert genau dann, wenn E = /0,<br />
vollständig genau dann, wenn E = V 2 .<br />
Bezeichnung: Kn – vollständiger Graph mit n Knoten
Grundlagen der Mathematik für Informatiker 5<br />
Nachbarschaft<br />
Die Knoten u,v ∈ V heißen im <strong>Graphen</strong> (V,E)<br />
benachbart (adjazent) genau dann, wenn uv ∈ E,<br />
unabhängig genau dann, wenn uv ∈ E.<br />
Nachbarschaft (Menge aller Nachbarn) eines Knotens v in G:<br />
NG(v) = {u ∈ V | uv ∈ E}<br />
(für gerichtete <strong>Graphen</strong>: NG(v) = {u ∈ V | uv ∈ E ∪ E −1 })<br />
Ein Knoten v ∈ V mit NG(v) = /0 heißt isoliert.
Grundlagen der Mathematik für Informatiker 6<br />
Knotengrad<br />
In einem <strong>Graphen</strong> G = (V,E) werde die Funktion grad G : V →N wie<br />
folgt definiert<br />
grad G(a) = |NG(a)| .<br />
grad G(a) heißt Grad des Knotens a.<br />
(V,E) heißt n-regulär (regulär), falls für alle a ∈ V gilt grad G(a) = n.<br />
Satz 5.1 Für jeden <strong>Graphen</strong> (V,E) gilt ∑a∈V grad G(a) = 2|E|.<br />
Folgerung 5.2 In jedem endlichen <strong>Graphen</strong> ist die Anzahl der Knoten<br />
von ungeradem Grad gerade.
Grundlagen der Mathematik für Informatiker 7<br />
Graph-Isomorphie<br />
(Spezialfall der Isomorphie relationaler Strukturen)<br />
Definition 5.3 Zwei <strong>Graphen</strong> G = (VG,EG) und H = (VH,EH) heißen<br />
isomorph (G ≃ H), falls eine Bijektion f : VG→VH existiert, sodass für<br />
alle a,b ∈ VG gilt:<br />
{ f(a), f(b)} ∈ EH genau dann, wenn {a,b} ∈ EG.<br />
Die Isomorphie ≃ ist eine Äquivalenzrelation auf der Menge aller<br />
<strong>Graphen</strong>.<br />
Äquivalenzklassen [G]≃ heißen Isomorphieklassen.<br />
isolierte <strong>Graphen</strong> In := [({1,···,n}, /0)]≃<br />
vollständige <strong>Graphen</strong> Kn := [({1,···,n}, {1,···,n}<br />
2<br />
)]≃<br />
Pfade Pn := [({1,···,n},{{i,i+1}|i ∈ {1,···,n − 1}})]≃<br />
Kreise Cn := [({1,···,n},{{i,i+1}|i ∈ {1,···,n − 1}} ∪ {{n,1}})]≃
Grundlagen der Mathematik für Informatiker 8<br />
Graphinvarianten<br />
Eine Funktion f von <strong>Graphen</strong> in eine Menge heißt genau dann<br />
Graphinvariante, wenn für isomorphe <strong>Graphen</strong> G,H stets<br />
f(G) = f(H) gilt.<br />
Beispiele:<br />
• Anzahl der Knoten<br />
• Anzahl der Kanten<br />
• Menge der Knotengrade<br />
Graphinvarianten helfen beim Isomorphietest.
Grundlagen der Mathematik für Informatiker 9<br />
Graph-Relationen<br />
Für <strong>Graphen</strong> G = (VG,EG) und H = (VH,EH) heißt H<br />
Teilgraph von G genau dann, wenn VH ⊆ VG und EH ⊆ EG gilt,<br />
echter Teilgraph von G genau dann, wenn H = G und H<br />
Teilgraph von G ist,<br />
induzierter Teilgraph von G genau dann, wenn VH ⊆ VG und<br />
EH = {{a,b} ∈ EG | {a,b} ⊆ VH} = EG ∩VH ×VH<br />
(Im Autotool: Beschränkung von G auf VH)<br />
aufspannender Teilgraph von G genau dann, wenn H Teilgraph<br />
von G ist und VH = VG gilt
Grundlagen der Mathematik für Informatiker 10<br />
Operationen auf <strong>Graphen</strong><br />
Für zwei <strong>Graphen</strong> G = (VG,EG) und H = (VH,EH) setzen wir:<br />
G ∪ H := (VG ∪VH,EG ∪ EH)<br />
G ∩ H := (VG ∩VH,EG ∩ EH)<br />
GH := (VG ×VH,E) mit<br />
⎧<br />
⎨<br />
E =<br />
⎩ {(a,b),(c,d)}<br />
<br />
<br />
<br />
<br />
<br />
<br />
(a = c ∧ {b,d} ∈ EH)<br />
∨ ({a,c} ∈ EG ∧ b = d)<br />
G ∗ H := VG ∪VH,EG ∪ EH ∪ <br />
{g,h} | g ∈ VG ∧ h ∈ VH ,<br />
falls VG und VH disjunkt sind.<br />
Beispiel 2 (<strong>Graphen</strong>klassen) Km,n = Im ∗ In, speziell:<br />
Sterne K1,n<br />
allgemein Kn1,...,nm<br />
= In1 ∗ ··· ∗ Inm für m > 1<br />
⎫<br />
⎬<br />
⎭
Grundlagen der Mathematik für Informatiker 11<br />
Paare (Bipartite) <strong>Graphen</strong><br />
Definition 5.4 Ein Graph G = (V,E) heißt genau dann paar (oder<br />
bipartit), wenn es eine Zerlegung {V0,V1} von V (d.h. V0 ∩V1 = /0,<br />
Vi = /0 und V0 ∪V1 = V ) mit ( V0 V1<br />
2 ∪ 2 ) ∩ E = /0 gibt.<br />
Beispiel 3 1. Pn für alle n<br />
2. Km,n für alle m,n ∈ N<br />
3. kein Kn für n > 2<br />
4. Cn für alle n ≥ 1 mit n ≡ 0 (mod 2)<br />
Bemerkung:<br />
Ein Graph G = (V,E) ist genau dann bipartit, wenn ein Km,n = (V,E ′ )<br />
mit E ⊆ E ′ existiert.
Grundlagen der Mathematik für Informatiker 12<br />
Komplementärgraph<br />
Definition 5.5 Das Komplement eines <strong>Graphen</strong> G = (V,E) ist der<br />
Graph G = (V,E) mit<br />
uv ∈ E genau dann, wenn uv ∈ E gilt.<br />
G heißt genau dann selbstkomplementär, wenn G ≃ G<br />
Beispiel 4 (2 selbstkomplementäre <strong>Graphen</strong>) Pfad P4,<br />
Kreis C5
Grundlagen der Mathematik für Informatiker 13<br />
5.3 Wege, Pfade, Kreise<br />
Wege (Kantenfolgen) in <strong>Graphen</strong><br />
Weg w im <strong>Graphen</strong> G = (V,E):<br />
Folge von Kanten w = (v1v2,v2v3,...,vnvn+1) mit vivi+1 ∈ E<br />
(Knoten und Kanten können mehrfach vorkommen!)<br />
Länge des Weges w:<br />
Anzahl der Kanten in w (hier n)<br />
Ein Weg ist durch Folge der Knoten (v1,...,vn+1) eindeutig bestimmt<br />
Weg von a nach b in G:<br />
Weg (v1,...,vn) in G mit v1 = a und vn = b<br />
Für jeden Knoten v ∈ V ist die Knotenfolge (v) ein leerer Weg von v<br />
nach v.
Grundlagen der Mathematik für Informatiker 14<br />
Pfade in <strong>Graphen</strong><br />
Pfad (wiederholungsfreier Weg) im <strong>Graphen</strong> G = (V,E):<br />
Teilgraph P von G, der für ein n ∈ N isomorph zu Pn ist.<br />
Ein Pfad P = (V ′ ,E ′ ) in G = (V,E) ist eindeutig bestimmt durch<br />
1. die Menge E ′ ⊆ E der Kanten oder<br />
2. die Folge (v1,···,vn) der Knoten in V ′ ⊆ V .<br />
Länge des Pfades = Anzahl der Kanten<br />
(z.B. im Pn also n − 1)<br />
Pfad im <strong>Graphen</strong> von a nach b im <strong>Graphen</strong> G:<br />
P = (v1,···,vn) in G mit v1 = a und vn = b<br />
Maximaler Pfad in G bzgl. Teilgraph-Relation:<br />
P = (V ′ ,E ′ ) ist maximaler Pfad in G = (V,E) genau dann, wenn<br />
∀ab ∈ E : (V ′ ∪ {a,b},E ′ ∪ {ab}) ist kein Pfad in G.
Grundlagen der Mathematik für Informatiker 15<br />
Kreis im <strong>Graphen</strong> G = (V,E):<br />
Kreise in <strong>Graphen</strong><br />
Teilgraph C von G, der für ein n ∈ N isomorph zu Cn ist.<br />
(echte Kreise: isomorph zu Cn mit n ≥ 3)<br />
Kreis C = (V ′ ,E ′ ) in G = (V,E) ist eindeutig bestimmt durch die<br />
1. Menge E ′ der Kanten oder durch die<br />
2. Folge (v1,···,vn,v1) der Knoten in V ′ ⊆ V .<br />
Länge des Kreises = Anzahl der Kanten<br />
(z.B. im Cn also n)<br />
Satz 5.3 1. Jeder Graph (V,E) enthält einen Pfad mit<br />
min{gradG(a) | a ∈ V }+1 Knoten.<br />
2. Jeder Graph (V,E) enthält einen Kreis mit mindestens<br />
min{gradG(a) | a ∈ V }+1 Knoten.
Grundlagen der Mathematik für Informatiker 16<br />
Pfade und Kreise in Wegen<br />
Jeder Weg w = (v1v2,...,vn−1vn) im <strong>Graphen</strong> G definiert einen<br />
Teilgraphen Hw = ({v1,...,vn},{v1v2,...,vn−1vn}) in G.<br />
Satz 5.4 Jeder Weg von a nach b in G enthält einen Pfad von a nach b<br />
in G als Teilfolge.<br />
Satz 5.5 Existieren in einem <strong>Graphen</strong> G = (V,E) zwei verschiedene<br />
(nicht überall gleiche) Pfade zwischen a ∈ V und b ∈ V , dann enthält G<br />
einen Kreis.
Grundlagen der Mathematik für Informatiker 17<br />
Zusammenhangsrelation<br />
Relation RG ⊆ V ×V im <strong>Graphen</strong> G = (V,E)<br />
(u,v) ∈ RG (u und v sind zusammenhängend)<br />
genau dann, wenn es einen Weg von u nach v in G gibt.<br />
Bemerkung:<br />
Für jeden <strong>Graphen</strong> G = (V,E) ist RG eine Äquivalenzrelation auf V .<br />
Äquivalenzklassen [u]RG<br />
von G<br />
sind Knotenmengen induzierter Teilgraphen<br />
und heißen Zusammenhangskomponenten von G.
Grundlagen der Mathematik für Informatiker 18<br />
Bäume<br />
Definition 5.6 G = (V,E) heißt Baum, wenn<br />
• G zusammenhängend ist und<br />
• kein Teilgraph von G ein echter Kreis ist.<br />
G = (V,E) heißt Wald, wenn kein Teilgraph von G ein echter Kreis ist.<br />
v ∈ V mit grad(v) ≤ 1 heißt Blatt<br />
Lemma 5.6 Jeder Baum mit mindestens 2 Knoten hat mindestens 2<br />
Blätter.
Grundlagen der Mathematik für Informatiker 19<br />
Charakterisierung der Bäume<br />
Satz 5.7 Für jeden <strong>Graphen</strong> G = (V,E) sind folgenden Aussagen<br />
äquivalent:<br />
1. G ist ein Baum.<br />
2. Zwischen je zwei Knoten u,v ∈ V existiert genau ein Pfad in G.<br />
3. G ist minimal zusammenhängend.<br />
(G ist zusammenhängend und für jede Kante uv ∈ E ist<br />
(V,E \ {uv}) nicht zusammenhängend.)<br />
4. G ist maximal kreisfrei.<br />
(G enthält keinen echten Kreis, aber für jede Kante uv ∈ V 2 \ E<br />
enthält (V,E ∪ {uv}) einen echten Kreis.)
Grundlagen der Mathematik für Informatiker 20<br />
Gerüste<br />
Teilgraph H von G heißt Gerüst von G, falls<br />
• H ein Baum und<br />
• H ein aufspannender Teilgraph von G ist.<br />
Beispiele:<br />
• P5 in K5<br />
• K1,4 in K5<br />
• G für jeden Baum G<br />
• I3 hat kein Gerüst<br />
• P2 ∪ K4 hat kein Gerüst<br />
Satz 5.8 G ist genau dann zusammenhängend, wenn G ein Gerüst<br />
besitzt.
Grundlagen der Mathematik für Informatiker 21<br />
EULERsche Wege und Das Königsberger<br />
Brückenproblem<br />
Definition 5.7 Es sei G = (V,E) ein Graph. Ein Weg (e1,...,en) ∈ E ∗<br />
heißt EULERscher Weg, falls E = {e1,...,en} und ei = e j für i = j, d.h.<br />
der Weg (e1,...,en) ∈ E ∗ enthält jede Kante aus E genau einmal.<br />
Ist der Anfangsknoten v1,(e1 = {v1,v2}) gleich dem Endknoten<br />
vn+1,(en = {vn,vn+1}), so spricht man von einem EULERschen Kreis.<br />
Satz 5.9 (Euler) Ein zusammenhängender Graph G = (V,E) ohne<br />
Schlingen hat genau dann einen EULERschen Kreis, wenn der Grad<br />
aller Knoten gerade ist.<br />
Königsberger Brückenprblem<br />
Kann man einen Spaziergang durch Königsberg machen und dabei<br />
jede der 7 Brücken über den Fluß Pregel genau einmal passieren?
Grundlagen der Mathematik für Informatiker 22<br />
HAMILTONsche Wege<br />
(dual zu EULERschen Wegen)<br />
Definition 5.8 Es sei G = (V,E) ein Graph. Ein Weg (v1,...,vn) ∈ V ∗<br />
heißt HAMILTONscher Weg, falls V = {v1,...,vn} und vi = v j für i = j,<br />
d.h. der Weg (v1,...,vn) ∈ V ∗ enthält jeden Knoten aus V genau<br />
einmal.<br />
Ist außerdem {vn,v1} ∈ E, so spricht man von einem HAMILTONschen<br />
Kreis.<br />
Bemerkung: Es ist schwierig – genauer gesagt NP-schwierig –<br />
herauszufinden, ob ein Graph einen HAMILTONschen Weg hat.<br />
Lemma 5.10 (Dirac) Hat ein Graph G = (V,E) einen minimalen<br />
Knotengrad von ≥ |V |/2, so hat G einen HAMILTONschen Kreis.
Grundlagen der Mathematik für Informatiker 23<br />
Planare <strong>Graphen</strong><br />
Definition 5.9 Ein Graph G = (V,E) heißt planar, wenn er sich ohne<br />
Überkreuzung von Linien in der Ebene zeichnen lässt.<br />
Die Zeichnung des planaren <strong>Graphen</strong> in der Ebene zerlegt die Ebene<br />
in eine endliche Anzahl von zusammenhängenden Gebieten (auch<br />
Flächen genannt), wobei wir das äußere (unbeschränkte) Gebiet<br />
mitzählen.<br />
Satz 5.11 (EULERsche Polyederformel) Ist G = (V,E) mit V = /0 ein<br />
zusammenhängender planarer Graph ohne Schlingen mit f Flächen,<br />
so gilt<br />
|V |+ f = |E|+2.
Grundlagen der Mathematik für Informatiker 24<br />
Folgerung 5.12 Es sei G = (V,E) ein planarer Graph mit mindestens<br />
3 Ecken (3 ≤ |V |). Dann gilt<br />
Ist G außerdem bipartit, so gilt<br />
|E| ≤ 3 · |V| − 6.<br />
|E| ≤ 2 · |V| − 4.<br />
Bemerkung: Es gibt genau fünf regelmäßige Polyeder: das Tetraeder<br />
(den Vierflächner), das Hexaeder (den Sechsflächner oder Würfel),<br />
das Oktaeder (den Achtflächner), das Dodekaeder (den Zwölfflächner)<br />
und das Ikosaeder (den Zwanzigflächner).
Grundlagen der Mathematik für Informatiker 25<br />
Wir betrachten die Menge<br />
Zum Beweis von Folgerung 5.12<br />
B = {(F,e) : F ist Fläche und e ∈ E ist zu F benachbart}<br />
= [<br />
{(F,e0) : e0 ist zu F benachbart}, und<br />
=<br />
e0∈E<br />
[<br />
F0 ist Fläche<br />
{(F0,e) : e ∈ E ist zu F0 benachbart}.<br />
Es gelten die folgenden Beschränkungen:<br />
1. Jede Kante e0 ∈ E ist zu höchstens 2 Flächen benachbart, d.h.<br />
|{(F,e0) : e0 ist zu F benachbart}| ≤ 2, und<br />
2. Jede Fläche F0 ist zu mindestens 3 Kanten benachbart, d.h.<br />
|{(F0,e) : e ∈ E ist zu F0 benachbart}| ≥ 3<br />
(≥ 4 , falls G paarer Graph).<br />
→ Das ergibt 2 · |E| ≥ |B| ≥ 3 · f .