DS Graphen von Leo am 18. Feb 11 - Home

Werbung
1
Graphen
Definition: Ein Graph G = (V, E) setzt sich aus einer Knotenmenge V und
einer (Multi)Menge E ⊆ V × V , die als Kantenmenge bezeichnet wird, zusammen. Falls E symmetrisch ist, d.h.(∀u, v ∈ V )[(u, v) ∈ E ⇒ (v, u) ∈ E],
so ist G ein ungerichteter Graph, ansonsten heißt G gerichteter Graph. Alternativ kann man ungerichtete Graphen als Menge von 2-elementigen Mengen
auffassen, und gerichtete Graphen als Menge von geordneten 2-Tupeln. Eine
Schlinge bezeichnet eine Kante der Form (u, u) oder u, u. Falls E eine Multimenge ist, nennt man G auch Multigraph. Ein Graph ist einfach, wenn
er keine Schlingen oder Mehrfachkanten enthält - E also keine Multimenge ist und (∀u, v ∈ V )[(u, v) ∈ E ⇒ u 6= v]. Als vollständiger Graph Kn
wird ein Graph bezeichnet der alle Tupel aus V × V enthält, bis auf die
reflexiven Glieder. D.h. Kn ist gleichzeitig einfach. Die Definition lautet also
E = u, v|u, v ∈ V ∧ u 6= v bzw. analog für gerichtete Graphen. Die Anzahl
der Kanten in einem vollständigen Graphen beträgt
n
n · (n − 1)
|E| =
=
2
2
dies beruht auf der Auswahl einer zweielementigen Teilmenge
aus |V | = n.
Als Folge ergibt sich, dass ein einfacher Graph maximal n2 Kanten besitzen
kann.
Ein Graph heißt bipartit, falls sich V in zwei nichtleere, disjunkte Teilmengen
zerlegen lässt, also V = V1 ] V2 und für alle Kanten folgendes gilt:
(∀e ∈ E)[e ∈ (V1 × V2 ) ∪ (V 2 × V1 ]
Für bipartite Graphen ist auch eine Schreibweise der Art G = (V1 , V2 , E)
möglich. Ein Beispiel für einen bipartiten Graphen stellt der C8 dar, ein
Graph der einen Kreis darstellt und der sich beispielsweise in zwei Mengen
V1 , V2 zerlegen ließe mit |V1 | = |V2 | = 4. Als vollständigen bipartiten Graph
bezeichnet man denjenigen Graphen der bei Zerlegung in zwei Teilmengen
die Eigenschaft
E = (V1 × V2 ) ∪ (V2 × V1 )
besitzt. Die Notation ist dabei Km,n . Es ist jedoch egal, in welcher Reihenfolge die Kardinalitäten m = |V1 |, n = |V2 | notiert werden aufgrund der
Kommutativität von ∪. Ein k-partiter Graph verallgemeinert die Konzepte
des bipartiten Graphen. Analog dazu wird V in mehre Teilmengen zerlegt
und die Kanten besitzen die Eigenschaft eine Teilmenge der vereinigten kartesischen Produkte der disjunkten, nichtleeren Teilmengen zu sein. Die Notation ist dabei z.B. für einen tripartiten Graph, der in drei Teilmengen mit
jeweils 2 Knoten zerlegt wurde K2,2,2 .
Als n-dimensionaler binärer Hyperwürfel wird ein Graph bezeichnet dessen Knotenmenge V = Vn = Bn = 0, 1n ist und
E = {(u, v) ∈ Vn 2 |Hammingabstand(u, v) = 1}
1
was soviel bedeutet wie, dass die Kantenmenge nur genau die Kantenmenge
enthält zwischen zwei Knoten, die sich an einer Stelle unterscheiden(wenn
man die Knoten als Zeichenkette auffasst). Für die Anzahl der Knoten erhält
n
man nach Definition |Vn | = |Bn | = |2|n = 2n und für die Kanten |E| = n · 22 .
Als Pfad der Länge n wird eine Folge von Knoten v1 , v2 , v3 , ..., vn aus V
bezeichnet wobei für 0 < i < n gelte, dass (vi , vi+1 ) ∈ E erfüllt ist. Anschaulich sind also die Knoten v1 bis vn im Graphen verbunden. Ein Graph
der genau nur einen Pfad der Länge n enthält, schreibt man auch Pn , wobei
Pn = (V, E) wie folgt definiert ist:
V = {v1 , v2 , ..., vn }
und
E = {{vi , vi+1 }|1 ≤ i < n}
Ein Spezialfall stellt ein einfacher Pfad dar, der dadurch definiert ist, dass
alle Knoten der Folge paarweise verschieden sind. Ein wie oben definierter
Graph Pn ist jedoch per Definition immer einfach.
Ein Kreis stellt eine Erweiterung eines Pfades dar. Der Unterschied zum Pfad
besteht lediglich darin, dass Anfangs- und Endknoten der Folge v1 , v2 , v3 , ..., vn
miteinander verbunden sind. Man könnte auch einen Kreis lediglich als Spezialfall eines Pfades v1 , ..., vn definieren, bei dem lediglich v1 = vn gilt. Ein
einfacher Kreis ist demnach analog dem Pfad genau dann einfach, falls die
Knoten v1 bis vn−1 paarweise verschieden sind.
Ähnlich Pn lässt sich auch ein Graph definieren, der lediglich aus einem
Kreis besteht. Sei Cn = (V, E) und V = {v1 , v2 , v3 , ..., vn }, es gilt
E = {{vi , v(i+1)
mod n }|1
≤ i < n + 1}
Bei einem ungerichteten Graphen machen solche Graphen jedoch erst für
n ≥ 3 Sinn.
Als Gitter wird ein Graph Mm,n = (V, E) bezeichnet, falls V = {1, ..., m} ×
{1, ..., n} und für alle Kanten
(∀{(i, j), (k, l)} ∈ E) [|i − k| + |j − l| = 1]
gilt. Anschaulich lässt sich Mm,n als ein Gitter aus m vertikalen und n horizontalen Knoten darstellen.
Ein Torus stellt ähnlich wie der Kreis für den Pfad eine Erweiterung der
Definition für das Gitter dar. Als Torus wird ein Graph Tm,n = (V, E bezeichnet, bei dem V = {1, ..., m} × {1, ..., n} gilt, aber
(∀{(i, j), (k, l)} ∈ E) [|(i − k)
mod m| + |(j − l) mod n| = 1]
Zwei Graphen sind genau dann isomorph, falls eine entsprechende Bijektion
2
besteht.
Zwei Knoten u, v ∈ V eines Graphen G = (V, E) bezeichnet man als adjazent(benachbart), falls {u, v} ∈ E gilt. Andersrum nennt man u und v
inzident zur Kante {u, v}. u und v werden dabei als Endknoten der Kante
{u, v} bezeichnet. Zwei Kanten {u, v} und {v, w} sind adjazent, wenn sie
einen gemeinsamen Endknoten(hier v) enthalten.
Als Nachbarschaft eines Knoten u bezeichnet man die Menge aller Knoten,
die zu diesem adjazent sind.
N (u) = {v ∈ V |u 6= v ∧ {u, v} ∈ E}
Die Kardinalität |N (u)| = d(u) bezeichnet man als Grad des Knoten u. Falls
u keine Nachbarn besitzt, also d(u) = 0, so nennt man u isoliert.
Für einen Graphen mit der Knotenmenge V = {v1 , ..., vn } wird die Folge
d(v1 ), d(v2 ), ..., d(vn ) mit d(v1 ) ≥ d(v2 ) ≥ ... ≥ d(vn ) als Gradfolge bezeichnet. Für isomorphe Graphen ist sie identisch, andersherum gilt dies aber
nicht, d.h. zwei Graphen sind nicht zwangsläufig isomorph, wenn ihre Gradfolgen identisch sind.
Die Summe aller Grade aller Knoten v ∈ V beträgt 2 · |E|.
X
d(v) = 2 · |E|
v∈V
Als Folge ergibt sich, dass die Anzahl der Knoten mit ungeradem Grad
in einem Graphen gerade ist.
Ein Graph heißt k-regulär wenn
(∀v ∈ V ) [d(v) = k]
gilt.
Ein Graph G0 = (V 0 , E 0 ) wird als Teilgraph von G = (V, E) bezeichnet,
falls
V 0 ⊆ V ∧ E0 ⊆ E
gilt. Ein Graph H heißt Unterteilung von G, falls sich H dadurch erzeugen
lässt, indem eine Kante {u, v} ∈ V durch einen Pfad ersetzt wird(Hierbei
gilt natürlich, dass die Knotenmenge von H größer als die von G ist).
Nach dem Satz von Kuratowski ist ein Graph genau dann nicht planar,
wenn er eine Unterteilung des K5 oder des K3,3 als Teilgraph enthält.
3
Ein Teilgraph G0 von G heißt (knoten-)induzierter Teilgraph von G, falls
für die Kantenmenge E 0 von G0 folgendes gilt
E 0 = E ∩ (V 0 × V 0 )
Anschaulich bedeutet dies, dass alle Kanten die in G für alle Knoten v 0 ∈ V 0
enthalten sind auch in E 0 enthalten sein müssen, damit G0 ein induzierter
Teilgraph von G ist. Aus diesem Grund wird auch ein induzierter Teilgraph
G00 mit der Knotenmenge V 00 = V \ V 0 als G \ V 0 bezeichnet.
Ein Knoten u in einem Graphen G = (V, E) ist genau dann von einem
anderen Knoten v ∈ V erreichbar, falls G einen Pfad mit den Endknoten u
und v enthält. Dies lässt sich auch als Äquivalenzrelation beschreiben.
Die zugehörigen Äquivalenzklassen der Erreichbarkeitsrelation R nennt man
Zusammenhangskomponenten. Ein Graph wird als zusammenhängend bezeichnet, falls er genau eine Zusammenhangskomponente besitzt.
Unter einem Baum wird ein Graph verstanden, der zusammenhängend und
kreisfrei ist. Ein Baum besitzt dabei die Eigenschaft, dass |V | = |E| + 1 gilt,
sowie, dass es für zwei Knoten genau einen einfachen Pfad in G gibt. Durch
Umformung und Einsetzen der Baumbedingung ergibt sich
X
d(v) = 2 · |E| = 2n − 2
v∈V
mit |V | = n.
Ein Teilgraph T = (V 0 , E 0 ) von G wird als Spannbaum bezeichnet, falls
G ein Baum ist.
Die Anzahl der verschiedenen Spannbäume T von G, wobei |V | = n wird
mit
t(n) = nn−2
bezeichnet. Dieser Satz geht auf Arthur Cayley zurück und lässt sich z.B.
mittels Prüfercodedefinition beweisen.
Eine Kante e eines Graphen G nennt sich Brücke, falls G0 = (V, E\{e}) mehr
Zusammenhangskomponenten enthält als G. Anschaulich bedeutet dies, dass
durch Entfernen dieser Kante eine Zusammenhangskomponente des Graphen in zwei Zusammenhangskomponenten zerfällt. Eine Kante ist dabei
genau dann eine Brücke, falls es keinen Kreis gibt der sie enthält.
Als Abstand zweier Knoten u und v wird die minimale Anzahl k der Kanten
zwischen den Knoten verstanden: d(u, v) = k. Der größtmögliche Abstand
von allen Knoten wird als Durchmesser D(G) bezeichnet.
4
Die Adjazenzmatrix eines Graphen G ist eine quadratische Matrix der Maße
n × n mit n = |V |, in der für ein Element aij gilt aij = 1 falls {vi , vj } ∈ E
gilt, ansonsten aij = 0. Bei ungerichteten Graphen ist die Adjazenzmatrix
dabei symmetrisch(d.h. aij = aji ). Falls G keine Schlingen enthält, sind die
Diagonalelemente 0.
Die Inzidenzmatrix von G ist als Matrix der Maße n × m definiert mit
n = |V | und m = |E|. Ein Element bij ist dabei = 1 falls der Knoten vi in
der Kante ej enthalten ist.
5
Herunterladen