5 Graphen

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