23.07.2013 Aufrufe

5 Graphen

5 Graphen

5 Graphen

MEHR ANZEIGEN
WENIGER ANZEIGEN

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 .

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!