Kapitel 6 Graphentheorie

Werbung
Kapitel 6
Graphentheorie
Graphen: Allgemeines
Eulersche Graphen
Hamiltonsche Graphen
Graph- und Subgraphisomorphismus
Planare Graphen
Färben von Graphen
Matchings von Graphen
Bäume und Wälde
Kapitel 6 “Graphentheorie” – p.1/42
Graphen: Allgemeines (1)
Graphen gehen auf den Mathematiker Leonhard Euler zurück, der im 18.
Jahrhundert versuchte, das Königsberger Brückenproblem zu lösen.
Gibt es in der Stadt Königsberg einen Rundweg, bei dem man alle
sieben Brücken der Stadt über den Pregel genau einmal überquert
und wieder zum Ausgangspunkt gelangt?
Euler bewies, dass es keinen solchen Rundweg geben kann.
Kein klassisches geometrisches Problem, sondern ein topologisches Problem,
da es nicht auf die genaue Lage der Brücken ankommt, sondern nur darauf,
welche Brücke welche Inseln miteinander verbindet.
Kapitel 6 “Graphentheorie” – p.2/42
Graphen: Allgemeines (2)
Definition Ein (ungerichteter) Graph G ist ein Tupel (V, E), wobei V eine
endliche nichtleere Menge von Knoten ist. Die Menge E = {(x, y) | x, y ∈ V }
spezifiziert die Kanten zwischen Knoten. Es gilt: (x, y) := (y, x).
Beispiel: Repräsentation eines Strassennetzes
Die Knoten entsprechen den Ortschaften. Zwei Orte sind durch eine Kante
verbunden, wenn es eine Strasse gibt, die diese beiden Orte auf direktem
Wege verbindet.
Wichtiges Problem: den kürzesten Weg zwischen zwei Orten A und B
bestimmen.
Beispiel: Modellierung von Bekanntschaften
Die Knoten entsprechen den Personen. Zwei Personen sind durch eine Kante
verbunden, wenn sie sich kennen. Hier wird angenommen, dass die Relation
“kennen” symmetrisch ist.
Kapitel 6 “Graphentheorie” – p.3/42
Graphen: Allgemeines (3)
Definition Der Grad deg(v) eines Knotens v ∈ V ist die Anzahl von Knoten,
die durch eine Kante mit v verbunden sind.
Beispiel: Ein vollständiger Graph Kn besteht aus n Knoten, die alle
paarweise miteinander verbunden sind.
In Kn haben alle Knoten v den Grad deg(v) = n − 1.
Kapitel 6 “Graphentheorie” – p.4/42
Graphen: Allgemeines (4)
Satz Für jeden Graphen gibt es mindestens zwei Knoten mit demselben Grad.
Beweis: Siehe Beispiel auf Folie 3 dieses Kapitels und Folie 13, Kapitel
“Kombinatorik”
Satz Für jeden Graphen G = (V, E) gilt:
X
deg(v) = 2|E|
v∈V
Beweis: In der Summe links wird jede Kante genau zweimal gezählt, zwar bei
den beiden durch diese Kante verbundenen Knoten.
Kapitel 6 “Graphentheorie” – p.5/42
Graphen: Allgemeines (5)
Satz Für jeden Graphen G = (V, E) gilt: Die Anzahl der Knoten mit
ungeradem Grad ist gerade.
Beweis: Wir partitionieren die Knotenmenge V in Vg (Knoten mit geradem
Grad) und Vu (Knoten mit ungeradem Grad). Es gilt:
Vg ∪ Vu = V,
Vg ∩ Vu = ∅
und somit
2|E| =
X
v∈V
deg(v) =
X
deg(v) +
v∈Vg
|
X
deg(v)
v∈Vu
{z
}
gerade
Die zweite Summe müsste auch gerade sein. Also ist |Vu | gerade.
Kapitel 6 “Graphentheorie” – p.6/42
Eulersche Graphen (1)
Definition Eine Eulertour in einem Graphen G = (V, E) ist ein Weg, der jede
Kante genau einmal enthält und dessen Anfangs- und Endknoten identisch
sind. Enthält ein Graph eine Eulertour, so nennt man ihn eulersch.
Ist G eulersch, so ist der Grad deg(v) aller Knoten v ∈ V gerade, denn aus
jedem Knoten geht man genauso oft “hinein” und “hinaus”. Es gilt sogar die
Umkehrung.
Definition Ein Graph G = (V, E) heisst zusammenhängend, wenn jeder
Knoten u mit jedem Knoten v über eine Kette von Kanten miteinander
verbunden ist.
Satz (Euler) Ein zusammenhängender Graph G = (V, E) ist genau dann
eulersch, wenn der Grad aller Knoten gerade ist.
Kapitel 6 “Graphentheorie” – p.7/42
Eulersche Graphen (2)
Beweis: Die eine Richtung ist bereits gegeben. Für die andere skizzieren wir
einen algorithmischen Beweis. Man wählt einen Knoten v1 beliebig.
Ausgehend von v1 durchläuft man Kanten in beliebiger Reihenfolge – mit der
Einschränkung, dass man keine Kante mehr als einmal benutzt. Zu jedem
Knoten 6= v1 , den wir auf unserem Weg betreten, gibt es mindestens eine
bisher unbenutzte Kante, über die wir ihn wieder verlassen können. Der so
konstruierte Weg W1 muss daher irgendwann wieder in v1 enden. Es könnte
allerdings sein, dass wir dann noch nicht alle Knoten durchlaufen haben. Da
der Graph zusammenhängend ist, muss es in diesem Fall aber mindestens
einen Knoten v2 in W1 geben, von dem eine noch nicht benutzte Kante
ausgeht. In diesem Knoten starten wir den obigen Prozess erneut. Wir finden
dann einen anderen Weg W2 , der in v2 beginnt und endet. Die beiden Wege
W1 und W2 können wir jetzt zu einem neuen Weg verschmelzen, indem wir
erst in W1 das Teilstück von v1 zu v2 durchlaufen, dann nach W2
überschwenken, diesen Weg komplett durchlaufen, und nach Rückkehr zu v2
das verbliebene Teilstück von W1 durchlaufen. Enthält der so gefundene Weg
noch immer nicht alle Knoten, wählen wir analog zu v2 einen Knoten v3 und
wiederholen obiges Verfahren solange, bis der Weg alle Knoten enthält.
Kapitel 6 “Graphentheorie” – p.8/42
Eulersche Graphen (3)
Beispiel:
b
c
a
d
f
e
Wählen wir v1 = a, so könnte man als Weg W1 beispielsweise
W1 = (a, b, e, f, a) finden. Der erste Knoten dieses Wegs, von dem eine Kante
ausgeht, die sich nicht auf W1 befindet, ist b = v2 . Als Weg W2 kann man
dann W2 = (b, c, f, b) wählen. Die Verschmelzung von W1 und W2 führt zu
dem Weg (a, b, c, f, b, e, f, a). Dieser enthält noch immer nicht alle Kanten.
Wählt man v3 = c und W3 = (c, d, e, c), so erhält man die Eulertour
(a, b, c, d, e, c, f, b, e, f, a).
Kapitel 6 “Graphentheorie” – p.9/42
Eulersche Graphen (4)
Beispiel: Das Königsberger Brückenproblem hat keine Lösung.
Achtung: Hier sind Multikanten zwischen zwei Knoten zugelassen.
Quiz: Wie viele Brücken müssten mindestens nachgebaut werden (und wo),
damit eine Eulertour möglich ist?
Kapitel 6 “Graphentheorie” – p.10/42
Eulersche Graphen (5)
Definition Eine offene Eulertour oder Eulerweg ist dann gegeben, wenn die
Identität von Start- und Endknoten nicht verlangt wird, d.h. statt eines Zyklus
wird lediglich ein Weg verlangt, der jede Kante des Graphen genau einmal
enthält.
Satz (Euler) Ein zusammenhängender Graph G = (V, E) hat genau dann eine
offene Eulertour, wenn der Grad aller Knoten bis auf zwei gerade ist. Die
beiden Knoten mit ungeradem Grad dienen als Start- und Endknoten der
offenen Eulertour.
Beispiel: Das Königsberger Brückenproblem hat auch keine offene Eulertour.
Beispiel: “Haus vom Nikolaus”
Kann man diese Figur zeichnen, ohne den Stift abzusetzen und ohne eine
Linie doppelt zu ziehen?
Kapitel 6 “Graphentheorie” – p.11/42
Hamiltonsche Graphen (1)
Definition Ein Hamiltonkreis in einem Graphen G = (V, E) ist ein Kreis
(Startknoten = Endknoten), der alle Knoten von V genau einmal durchläuft.
Enthält ein Graph einen Hamiltonkreis, so nennt man ihn hamiltonsch.
Sir William Rowan Hamilton
(1805–1865)
Hamilton was ein irisches Universalgenie: In seiner Jugend entwickelte er den
Ehrgeiz, genaue soviele Sprachen zu sprechen wie er Jahre alt war (dies hat er
angeblich bis zu seinem 17ten Lebensjahr durchgehalten). Schon vor
Beendigung seines Studiums wurde er zum Königlichen Irischen Astronomen
ernannt. Die nach ihm benannten Kreise untersuchte er im Zusammenhang
mit einem von ihm entwickelten Geschicklichkeitsspiel.
Kapitel 6 “Graphentheorie” – p.12/42
Hamiltonsche Graphen (2)
Hamiltonsche Graphen werden zur Modellierung vieler praktischer Probleme
verwendet
Beispiel: Problem des Handlungsreisenden
Ein Handlungsreisender möchte eine Reihe von Städten besuchen, die
untereinander durch Strassen verbunden sind. Es gibt genau dann eine
Rundreise, bei der keine Stadt mehrfach besucht wird, wenn das Strassennetz
hamiltonsch ist.
Realistischere Variante: Man versieht die Kanten des Graphen mit Kosten
(Entfernung, Fahrtkosten, etc.) und sucht nach einem Hamiltonkreis, der die
Gesamtkosten minimiert.
Kapitel 6 “Graphentheorie” – p.13/42
Hamiltonsche Graphen (3)
Beispiel: Alle vollständigen Graphen Kn sind hamiltonsch
Beispiel: Der Petersen-Graph enthält keinen Hamiltonkreis
Satz (R. Karp, 1972) Das Entscheidungsproblem “Gegeben ein Graph
G = (V, E), enthält G einen Hamiltonkreis?” ist N P-vollständig.
Man kann wohl keinen Algorithmus finden, der entscheidet, ob ein Graph
hamiltontsch ist und dessen Laufzeit polynomiell in der Grösse des Graphen
(also in der Anzahl Knoten und Kanten) ist.
Kapitel 6 “Graphentheorie” – p.14/42
Hamiltonsche Graphen (4)
Intuitiv: Die Existenz eines Hamiltonkreises ist umso wahrscheinlicher, je mehr
Kanten pro Knoten der Graph hat. Extremes Beispiel: Kn .
Definition Bei einem Schlingenfreien Graphen gibt es keinen Knoten, der
durch eine Kante mit sich selbst verbunden ist.
Satz Erfüllt ein schlingenfreier Graph G = (V, E) die Bedingung
deg(x) + deg(y) ≥ |V |, für alle x, y ∈ V mit x 6= y und (x, y) 6∈ E
so ist G hamiltonsch.
Korollar Ein schlingenfreier Graph G = (V, E) mit deg(v) ≥
Knoten v ∈ V ist hamiltonsch.
Korollar Ein schlingenfreier Graph G = (V, E) mit |E| ≥
hamiltonsch.
|V |
2
|V |−1
2
für alle
+ 2 ist
Kapitel 6 “Graphentheorie” – p.15/42
Graph- und Subgraphisomorphismus (1)
Definition Zwei Graphen G1 = (V1 , E1 ) und G2 = (V2 , E2 ) sind isomorph,
wenn es eine bijektive Abbildung f : V1 → V2 gibt, so dass
(a, c) ∈ E1 ⇔ (f (a), f (b)) ∈ E2 . Dann ist f ein Isomorphismus zwischen G1
und G2 .
Intuitiv: Zwei Graphen mit der gleichen Knotenzahl, die gleichartig verbunden
sind, sind isomorph.
Beispiel: Erkennung von Isomorphismen ist nicht immer einfach
Kapitel 6 “Graphentheorie” – p.16/42
Graph- und Subgraphisomorphismus (2)
Definition Ein Graph G1 = (V1 , E1 ) heisst Teilgraph (Subgraph) von
G = (V, E), falls V1 ⊆ V und E1 ⊆ E.
G1 , G2 und G3 sind Subgraphen von G. G3 ist Subgraph von G2 .
Kapitel 6 “Graphentheorie” – p.17/42
Graph- und Subgraphisomorphismus (3)
Definition Ein Subgraphisomorphismus von Graph G1 = (V1 , E1 ) nach
G2 = (V2 , E2 ) ist ein Isomorphismus zwischen G1 und einem Teilgraphen von
G2 .
Beispiel: Erkennung von Subgraphisomorphismen ist noch schwieriger
Kapitel 6 “Graphentheorie” – p.18/42
Graph- und Subgraphisomorphismus (4)
Komplexität:
Subgraphisomorphismus: N P-vollständig
Graphisomorphismus: höchstwahrscheinlich nicht N P-vollständig;
Es existiert jedoch kein Algorithmus in polynomieller Zeit (ausser für
Spezialklassen von Graphen).
Anwendungen: Vergleich von strukturellen Beschreibungen
Vergleich von Molekülen
Anwendungen im Bildverstehen (Vergleich zwischen Modell- und
Szenenbeschreibung)
Kapitel 6 “Graphentheorie” – p.19/42
Planare Graphen (1)
Formal ist ein Graph durch (V, E) vollständig beschrieben. Anschaulich erst
dann, wenn ein Graph gezeichnet wird. Übersichtliche Zeichnung: Anzahl der
Schnittpunkte von Kanten möglichst gering halten. Besonders übersichtlich
wird die Zechnung, wenn solche Überkreuzungen total vermieden werden.
Definition Ein Graph heisst planar, wenn man ihn so zeichnen (man sagt
auch: in die Ebene einbetten) kann, dass sich keine Kanten kreuzen. Ein
ebener Graph ist ein planarer Graph zusammen mit seiner Darstellung in der
Ebene.
Beispiel: Ein planarer Graph (links) mit seiner Eintettung (rechts)
Kapitel 6 “Graphentheorie” – p.20/42
Planare Graphen (2)
Beispiel: Vollständiger Graph K4 (links) ist planar. K5 (rechts) nicht planar:
Sämtliche Versuche, ihn planar darzustellen, schlagen spätestens an der
letzten Kante fehl.
Quiz: Ist Kn eulersch?
Kapitel 6 “Graphentheorie” – p.21/42
Planare Graphen (3)
Definition Ein Graph G = (V, E) ist bipartit, wenn die Knotenmenge V in
zwei Mengen A und B partitioniert werden kann, so dass alle Kanten einen
Knoten aus A mit einem Knoten aus B verbinden.
Definition Ein vollständiger bipartiter Graph Km,n besteht aus zwei Mengen
A und B mit m bzw. n Knoten, wobei jeder Knoten aus A mit jedem Knoten
aus B durch eine Kante verbunden ist.
Beispiel: K2,n , n beliebig, ist planar (links K2,3 ). K3,3 (rechts) nicht planar.
Kapitel 6 “Graphentheorie” – p.22/42
Planare Graphen (4)
Ebene Darstellungen planarer Graphen sind i.A. nicht eindeutig. Allerdings gelten gewisse
Invarianzen. Beispielsweise ist in jeder beliebigen ebenen Darstellung die Anzahl der Gebiete
(das äussere Gebiet zählt man mit) konstant.
Satz (Eulersche Polyederformel) Sei G = (V, E) ein zusammenhängender Graph. Dann
gilt:
#Gebiete = |E| − |V | + 2
Beweis: Durch Induktion über Anzahl der Knoten. Der Fall mit einem Knoten ist trivial. Für
einen Graphen Gn = (Vn , En ) mit n Knoten wählen wir einen beliebigen Knoten vn aus Vn :
Gn = (Vn , En ) = (Vn−1 ∪ {vn }, En−1 ∪ E ∗ )
wobei Vn−1 = Vn \{vn }, E ∗ die von vn ausgehenden Kanten und En−1 die restlichen
Kanten enthält. Jede beliebige ebene Darstellung von Gn beinhaltet eine ebene Darstellung
von Gn−1 plus vn und E ∗ , wobei das Letztere deg(vn ) − 1 zusätzliche Gebiete
hervorbringt. Somit gilt:
#Gebiete(Gn )
=
#Gebiete(Gn−1 ) + deg(vn ) − 1
=
(|En−1 | − |Vn−1 | + 2) + |E ∗ | − 1
=
|En | − |Vn | + 2
Kapitel 6 “Graphentheorie” – p.23/42
Planare Graphen (5)
Satz Für jeden planaren Graphen G = (V, E) mit |V | ≥ 3 Knoten gilt:
|E| ≤ 3|V | − 6
Beweis: Seien R die durch die Einbettung von G entstehenden Gebiete. Jedes
Gebiet wird on mindestens 3 Kanten begrenzt und jede Kante begrenzt
höchstens zwei Gebiete. Daraus folgt, dass 3|R| ≤ 2|E|. Und zusammen mit
der eulerschen Formel erhalten wir:
2
|E| ≥ |R| = |E| − |V | + 2
3
woaus das gewünschte Resultat folgt.
Beispiel: K5 ist nicht planar (|V | = 5, |E| =
5
2
= 10)
Beispiel: Mit dem obigen Satz können wir nicht zeigen, dass K3,3 (|V | = 6,
|E| = 9) nicht planar ist. Dafür wird eine strengere Schranke für die Anzahl
Kanten eines planaren Graphen benötigt.
Kapitel 6 “Graphentheorie” – p.24/42
Planare Graphen (6)
Definition Ein Graph G1 wird Minor des Graphen G2 genannt, falls G1
isomorph zu einem durch Knotenverschmelzung entstandenen Untergraphen
von G2 ist. Knotenverschmelzung bedeutet hier, dass zwei benachbarte
Knoten v1 und v2 unter Entfernung einer diese beiden Knoten verbindenden
Kante zu einem Knoten v12 verschmolzen werden, wobei alle restlichen
Kanten beibehalten werden.
Beispiel: Der rechte Graph ist jeweils ein Minor des linken Graphen
Kapitel 6 “Graphentheorie” – p.25/42
Planare Graphen (7)
Satz (Kuratowski) Ein Graph G ist genau dann planar, wenn G keinen
Teilgraphen G′ enthält, so dass K5 oder K3,3 ein Minor von G′ ist.
Beispiel: Der Petersen-Graph ist nicht planar.
Der Petersen-Graph steht im Titelblatt von Journal of Graph Theory, Discrete
Mathematics, und dem Buch “Graph Theory” von Harary.
Kapitel 6 “Graphentheorie” – p.26/42
Planare Graphen (8)
Bei Anwendungen planarer Graphen (z.B. Visualisierung von Strukturen oder
Objekten) steht der algorithmische Aspekt im Vordergrund. Es exisitieren
Verfahren, die in O(|V | + |E|) Zeit testen, ob ein Graph G = (V, E) planar
ist, und falls ja, diesen auch in die Ebene einzubetten.
Will man zusätzlich ästhetische Aspekte berücksichtigen, stösst man auf ein
Forschungsgebiet mit zahlreichen unigelösten Problemen. Ein Grund liegt in
der Schwierigkeit, überhaupt zu beschreiben, was man gerne hätte. Bsp. vier
verschiedene Einbettungen desselben Graphen:
Welches hiervon die richtige, schönste oder anschaulichste ist, hängt vom
Kontext und nicht zuletzt auch vom Geschmack des Betrachters ab.
Kapitel 6 “Graphentheorie” – p.27/42
Färben von Graphen (1)
Definition Eine Knotenfärbung eines Graphen G = (V, E) mit k Farben ist
eine Abbildung c : V → [k], so dass gilt:
c(u) 6= c(v) für alle Kanten (u, v) ∈ E
Die chromatische Zahl χ(G) ist die minimale Anzahl Farben, die für eine
Knotenfärbung von G benötigt wird.
Beispiel: Der vollständige Graph Kn hat chromatische Zahl n. Kreise Cn
gerader Länge n haben chromatische Zahl 2, Kreise Cn ungerader Länge n
haben chromatische Zahl 3.
1
1
2
5
3
4
K5
2
2
1
1
1
2
C6
2
3
1
2
C5
Kapitel 6 “Graphentheorie” – p.28/42
Färben von Graphen (2)
Satz Ein Graph ist genau dann bipartit, wenn die chromatische Zahl 2 ist.
Bipartiter Graph mit Knotenteilmengen A und B schreibt man mit (A ⊎ B, E).
Satz Ein zusammenhängender Graph G = (V, E) ist genau dann bipartit,
wenn er keinen Kreis ungerader Länge als Teilgraphen enthält.
Beweis: Die eine Richtung folgt daraus, dass ungerade Kreis chromatische
Zahl 3 haben, sie können daher in einem bipartiten Graphen nicht enthalten
sein. Um die andere Richtung zu zeigen wählen wir einen beliebigen Knoten v
aus. Alle Knoten, die einen geraden Abstand mit v haben (einschliesslich v
selbst mit Abstand 0), werden mit 1 und alle anderen Knoten mit 2 gefärbt.
Da keine Kreise ungerader Länge existieren, ist diese Färbung zulässig.
Definition Der Abstand zwischen zwei Knoten u und v ist die minimale
Anzahl von aufeinander folgenden Kanten, um von u aus v zu erreichen.
Kapitel 6 “Graphentheorie” – p.29/42
Färben von Graphen (3)
Anwendungen von Knotenfärbung:
Färben von politischen Landschaften: benachbarte Länder bekommen
unterschiedliche Farben
Visualisierung von Segmentierungsergebnissen in der Bildverarbeitung
Kapitel 6 “Graphentheorie” – p.30/42
Färben von Graphen (4)
Satz (Vierfarbensatz) Für jeden planaren Graphen G gilt χ(G) ≤ 4.
Ken Appel und Wolfgang Haken fanden 1977 einen Beweis mit Hilfe des
Computers. Der Beweis reduzierte die Anzahl der problematischen Fälle
von Unendlich auf 1.936 (eine spätere Version sogar 1.476), die durch
einen Computer einzeln geprüft wurden.
1996 konnten Neil Robertson, Daniel Sanders, Paul Seymour und Robin
Thomas einen modifizierten Beweis finden, der die Fälle auf 633
reduzierte. Auch diese mussten per Computer geprüft werden.
Der Vierfarbensatz war das erste grosse mathematische Problem, das mit Hilfe
von Computern gelöst wurde. Deshalb wurde der Beweis von einigen
Mathematikern nicht anerkannt, da er nicht direkt durch einen Menschen
nachvollzogen werden kann. Schliesslich muss man sich auf die Korrektheit
des Compilers und der Hardware verlassen. Auch die mathematische Eleganz
des Beweises wurde kritisiert (“Ein guter Beweis liest sich wie ein Gedicht –
dieser sieht aus wie ein Telefonbuch!”).
Kapitel 6 “Graphentheorie” – p.31/42
Färben von Graphen (5)
Es existiert ein einfacher Beweis für:
Satz (Fünffarbensatz) Für jeden planaren Graphen G gilt χ(G) ≤ 5.
Es existiert ein Algorithmus mit Laufzeit O(|V |2 ), der einen planaren Graphen
mit höchstens vier Farben färbt.
I.A. ist das Färben von Graphen ein schwieriges Problem. Schon die scheinbar
einfache Frage “Gegeben ein Graph G = (V, E), gilt χ(G) ≤ 3?” ist
N P-vollständig.
Greedy-Algorithmus: Wir besuchen die Knoten des Graphen in einer
beliebigen Reihenfolge v1 , v2 , . . . , vn und ordnen dem aktuellen Knoten jeweils
die kleinste Farbe zu, die noch nicht für einen benachbarten, bereits
besuchten Knoten verwendet wird.
Kapitel 6 “Graphentheorie” – p.32/42
Färben von Graphen (6)
Definition Eine Kantenfärbung eines Graphen G = (V, E) mit k Farben ist
eine Abbildung c : E → [k], so dass gilt:
c(e1 ) 6= c(e2 ) für zwei beliebige benachbarte Kanten e1 und e2
Der chromatische Index χ′ (G) ist die minimale Anzahl Farben, die für eine
Kantenfärbung von G benötigt wird.
Beispiel: Desargues-Grap: 3-regulärer Graph (alle Knoten mit Grad 3) mit 20
Knoten und 30 Kanten
Kapitel 6 “Graphentheorie” – p.33/42
Färben von Graphen (7)
Satz (Vizing) Sei ∆(G) der maximale Grad aller Knoten eines Graphen G. Es
gibt einen Algorithmus, der die Kanten eines Graphen G = (V, E) in Zeit
O(|V | · |E|) so färbt, dass es gilt:
∆(G) ≤ χ′ (G) ≤ ∆(G) + 1
Beispiel: Petersen-Graph. χ = 3 und χ′ = 4.
Kapitel 6 “Graphentheorie” – p.34/42
Matchings von Graphen (1)
Definition Eine Kantenmenge M ⊆ E eines Graphen G = (V, E) heisst
Matching (Paarung), wenn je zwei beliebige verschiedene Kanten aus M
disjunkt sind, d.h. sie besitzen keine gemeinsamen Knoten. Ist ein Knoten in
einer Kante einer Paarung enthalten, so nennt man ihn von der Paarung
überdeckt. Eine Paarung M nennt man maximal oder nicht erweiterbar, wenn
man keine weitere Kante e aus E zu M hinzufügen kann, so dass M ∪ {e} eine
Paarung ist. Gibt es in G keine Paarung, die mehr Elemente als M enthält, so
nennt man M grösste Paarung. Ist jeder Knoten von V Element einer Kante
von M (also von M überdeckt), so nennt man M eine perfekte Paarung.
Beispiel: M = {e} für jede Kanten e ∈ E ist ein Matching
Beispiel: Matching (links), perfektes Matching (Mitte)
Kapitel 6 “Graphentheorie” – p.35/42
Matchings von Graphen (2)
Beispiel: Nicht jeder Graph enthält ein perfektes Matching; insb. bei Graphen
mit ungerader Anzahl von Knoten. Es gibt sogar Graphen mit beliebig vielen
Knoten, deren grösstes Matching aus einer einzigen Kante besteht. Dies sind
z.B. die sog. Sterngraphen Sn .
Kapitel 6 “Graphentheorie” – p.36/42
Matchings von Graphen (3)
Beispiel: Heiratsproblem
Es gibt sieben heiratswillige Frauen und auch sieben Männer, die als
Ehepartner in Erwägung kommen. Jede Frau stellte eine Liste von potentiellen
Ehepartnern zusammen und man stellte sich die Frage, ob alle Frauen
verheiraten können, ohne Bigamie zu betreiben. Die potentiellen Ehepartner
sind in Tabellenform angegeben. Rechts: Der Graph für dieses Problem mit
der rot markierten Lösung.
F1
F2
F3
F4
F5
F6
F7
M2 , M3
M2 , M3
M1 , M3 , M4 , M5 , M6
M2 , M3 , M4 , M7
M4 , M6
M5 , M7
M2 , M3 , M7
Kapitel 6 “Graphentheorie” – p.37/42
Matchings von Graphen (4)
Beispiel: Stellenvermittlung beim Arbeitsamt
Dem Arbeitsamt liegen vier Stellenangebote und ebenso viele Stellengesuche
vor. Bipartiter Graph (links): Jeder Knoten in der linken Teilmenge steht für
einen Arbeitssuchenden und jeder in der rechten für eine offene Stelle. Eine
Kante zwischen einem Arbeitssuchenden und einem Stellenangebot bedeutet,
dass er für den entsprechenden Beruf qualifiziert ist.
Mitte: Matching. Rechts: Grösstes Matching.
Kapitel 6 “Graphentheorie” – p.38/42
Matchings von Graphen (5)
Nachbarschaft eines Knotens v ∈ V :
Γ(v) = { u ∈ V | (u, v) ∈ E }
Nachbarschaft einer Knotenmenge X ⊆ V :
Γ(X) = ∪v∈X Γ(v)
Satz (Hall) Für einen bipartiten Graphen G = (A ⊎ B, E) gibt es genau dann
eine Matching M der Kardinalität |M | = |A|, wenn gilt:
|Γ(X)| ≥ |X| für alle X ⊆ A
Korollar Erfüllt ein bipartiter Graph G = (V, E) die Bedingungen des Satzes
von Hall, so kann man ein Matching M der Kardinalität |M | = |A| in Zeit
O(|V | · |E|) bestimmen.
Kapitel 6 “Graphentheorie” – p.39/42
Bäume und Wälde (1)
Definition Ein Baum ist ein zusammenhängender, kreisfreier Graph. Ein Wald
ist Graph, dessen Komponenten Bäume sind. Ein Knoten v eines Baumes mit
Grad deg(v) = 1 heisst Blatt.
Lemma Jeder Baum T = (V, E) mit |V | ≥ 2 Knoten enthält mindestens zwei
Blätter.
Lemma Ist T = (V, E) ein Baum mit |V | ≥ 2 Knoten und u ∈ V ein Blatt,
so bleibt der Graph nach Entfernung von u und von u ausgehenden Kanten
ein Baum.
Satz Ist T = (V, E) ein Baum, dann gilt:
|E| = |V | − 1
Kapitel 6 “Graphentheorie” – p.40/42
Bäume und Wälde (2)
Lemma Sei T = (V, E) ein Baum und v ∈ V ein beliebiger Knoten. Nach
Entfernung von v und von v ausgehenden Kanten entstehen k = deg(v)
Bäume.
Lemma Nach Entfernung einer Kante in einem Baum entstehen genau zwei
Bäume.
Das folgende Lemma zeigt, dass der Grund für das Zerfallen des Baumes die
Kreisfreiheit ist. Wenn ein Graph einen Kreis enthält, kann man eine Kante
aus dem Kreis entfernen, ohne dass der Zusammenhang verloren geht.
Lemma Sei G = (V, E) ein zusammenhängender Graph und C ein Kreis in
G. Dann gilt für alle im Kreis C enthaltenen Kanten e:
Ge = (V, E\{e}) ist zusammenhängend
Kapitel 6 “Graphentheorie” – p.41/42
Bäume und Wälde (3)
Wieviele Bäume mit 3 Knoten gibt es?
2
1
2
3
1
2
3
1
3
Diese drei Bäume haben dieselbe Form, unterscheiden sich nur in den Namen; sie sind also
isomorph zueinander. Bei der Untersuchung der Anzahl Bäume mit n Knoten muss man
sich unterscheiden:
Die Namen der Knoten sollen berücksichtigt werden (markierte Bäume)
Nur die verschiedenen Formen zählen, also die Anzahl nicht-isomorpher Bäume
Anzahl Bäume
n=2
n=3
n=4
n=5
n=6
n=7
n=8
markiert
1
3
16
125
1296
16807
262144
nicht-isomorph
1
1
2
3
6
11
23
Obwohl es wesentlich mehr markierte Bäume gibt, ist es viel einfacher, ihre Anzahl zu
bestimmen, als die der nicht-isomorphen Bäume.
Satz (Cayley) Für n ≥ 2 Knoten gibt es genau nn−2 markierte Bäume.
Kapitel 6 “Graphentheorie” – p.42/42
Herunterladen