Algorithmische Graphentheorie

Werbung
Algorithmische Graphentheorie
Vorlesung 8 und 9: Matchings
Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca
[email protected]
19. Mai 2017
1/46
W IEDERHOLUNG : M INIMALE AUFSPANNENDE
B ÄUME UND TSP
2/46
M INIMALE AUFSPANNENDE B ÄUME UND TSP
Satz
Es sei G = (V, E) ein vollständiger Graph mit Gewichtsfunktion
w : E → N. Weiterhin sei TSP eine optimale TSP-Tour und MST
sei ein Minimalgerüst (minimaler aufspannender Baum). Dann
gilt:
w(MST) ≤ w(TSP).
3/46
M INIMALE AUFSPANNENDE B ÄUME UND TSP
Satz
Es sei G = (V, E) ein vollständiger Graph mit Gewichtsfunktion
w : E → N, für die die Dreiecksungleichung gilt, d.h.
w({i, k}) ≤ w({i, j}) + w({j, k}) ∀ i, j, k ∈ V.
Weiterhin sei TSP eine optimale TSP-Tour und MST sei ein
minimaler aufspannender Baum. Dann gilt:
w(MST) ≤ w(TSP) ≤ 2w(MST).
4/46
B EISPIEL
5/46
M INIMALE AUFSPANNENDE B ÄUME UND TSP
Bemerkung
Das Verfahren liefert uns nicht nur eine obere Schranke für
die Länge einer optimalen Tour,
sondern auch ein effizientes Konstruktionsverfahren für
eine Tour mit Länge ≤ 2w(TSP).
Die Tour ergibt sich dabei direkt aus der
DFS-Numerierung.
Alternative:
Jede Kante des minimalen aufspannenden Baumes wird
durch zwei gerichtete Kanten ersetzt,
mit dem Algorithmus von Hierholzer wird ein Eulerkreis
berechnet und
die Knoten werden in der Reihenfolge wie im Eulerkreis
angefahren.
6/46
B EISPIEL
7/46
C LUSTERANALYSE MIT MINIMALE AUFSPANNENDE
B ÄUME
Gegeben sei eine Menge von Punkten z.B. im R2 , die gewisse
Häufungen aufweist. Wie kann man diese Häufungen
algorithmisch erkennen?
8/46
C LUSTERANALYSE MIT MINIMALE AUFSPANNENDE
B ÄUME
9/46
C LUSTERANALYSE MIT MINIMALE AUFSPANNENDE
B ÄUME
10/46
C LUSTERANALYSE MIT MINIMALE AUFSPANNENDE
B ÄUME
11/46
M ATCHINGS
Beispiel
Eine Firma mehrere Stellen neu zu besetzen und hat folgendes
Problem: Für die Stellen gibt es viele Bewerber, aber nicht jeder
Bewerber kann jede Stelle ausfüllen. Außerdem ist zu beachten,
dass jede Stelle nur mit einem Bewerber besetzt werden kann
und umgekehrt jeder Bewerber höchstens eine Stelle besetzen
kann.
12/46
D AS M USEUMSW ÄRTERPROBLEM
Museumswärter
Ein Museum möchte Wärter aufstellen, so dass die ganze
Ausstellungsfläche im Blickfeld von mindestens einem Wärter
liegt. Hierbei gehen wir davon aus, dass die Wärter einen
Rundumblick haben und beliebig weit sehen können.Da das
Museum nur aus engen Gängen besteht, können wir es als
Graphen beschreiben, indem wir Kreuzungen, Ecken und
Sackgassen jeweils einen Knoten zuordnen und für alle Gänge
Kanten einfügen.
13/46
D AS M USEUMSW ÄRTERPROBLEM
14/46
D AS M USEUMSW ÄRTERPROBLEM
Wollen wir aus Kostengründen möglichst wenige Wärter
aufstellen, so werden wir diese immer an Knoten aufstellen, da
sie dann alle dazu inzidenten Kanten überwachen können. Wir
suchen also eine möglichst kleine Teilmenge der Knoten, so
dass jede Kante im Graphen zu mindestens einem dieser
Knoten inzident ist. Um eine untere Schranke für die Anzahl
der nötigen Wärter zu bekommen, können wir versuchen eine
möglichst große Menge an Kanten zu finden, die jeweils keine
gemeinsamen Endknoten haben. Jede dieser Kanten muss dann
von einem anderen Wärter überwacht werden, daher brauchen
wir mindestens so viele Wärter wie wir solche Kanten finden
können, vergleiche Abbildung.
15/46
M ATCHINGS
Definition
Es sei G = (V, E) ein gerichteter oder ungerichteter Graph. Eine
Menge M ⊆ E heißt Matching, wenn keine zwei Kanten e, e0 ∈ E
adjazent sind. Ein Matching heißt maximal, wenn es kein Matching
M ⊂ M0 gibt.
Da Adjazenz von Kanten nicht davon abhängt, ob diese
gerichtet oder ungerichtet sind, werden wir im folgenden nur
ungerichtete Graphen betrachten. Wir interessieren uns
offensichtlich für Matchings mit möglichst vielen Kanten. Dies
gibt Anlass zu den folgenden Definitionen.
16/46
M ATCHINGS
Definition
Es sei G = (V, E) ein ungerichteter Graph und M ⊆ E ein Matching.
Alle zu M inzidenten Knoten heißen M-überdeckt, alle nicht zu M
inzidenten Knoten heißen M-frei.
Ein Matching heißt perfekt, wenn es alle Knoten v ∈ V überdeckt.
Die Matching-Größe von G ist definiert als
ν(G) := max{|M| | M ist ein Matching in G}.
Offensichtlich besitzt ein Graph G genau dann ein perfektes
Matching, wenn ν(G) = |V|
2 gilt.
17/46
B EMERKUNG
Achtung:
Unser Ziel ist es, Matchings mit möglichst vielen, also ν(G)
vielen Kanten zu finden. Diese sind dann auch immer
maximale Matchings, umgekehrt hat aber nicht jedes maximale
Matching ν(G)-viele Kanten:
18/46
C HARAKTERISIERUNG VON M ATCHINGS MAXIMALER
K ARDINALIT ÄT
Bevor wir uns überlegen, wir wir ein Matching mit ν(G) vielen
Kanten finden, wollen wir uns überlegen, wie man einem
gegebenen Matching ansehen kann, ob es diese Eigenschaft hat.
Dafür führen wir die folgenden Wege ein:
Definition
Es sei G = (V, E) ein ungerichteter Graph und M ⊆ E ein Matching.
Ein einfacher Weg P in G heißt M-alternierend, wenn seine Kanten
abwechselnd in M und nicht in M liegen. Ein M-alternierender Weg,
der kein Kreis ist und dessen beide Endknoten M-frei sind, heißt
M-vergrößernder Weg.
19/46
C HARAKTERISIERUNG VON M ATCHINGS MAXIMALER
K ARDINALIT ÄT
Existiert ein solcher Weg, vergleiche Abbildung, so können wir
das betrachtete Matching so abändern, dass es mehr Kanten
hat.
20/46
C HARAKTERISIERUNG VON M ATCHINGS MAXIMALER
K ARDINALIT ÄT
Lemma
Es sei G = (V, E) ein ungerichteter Graph, M ⊆ E ein Matching
und P ein M-vergrößernder Weg. Dann ist
M0 := (M ∪ P) \ (M ∩ P) = (M \ P) ∪ (P \ M)
ein Matching mit |M0 | = |M| + 1 > |M|.
21/46
B EWEIS
22/46
C HARAKTERISIERUNG VON M ATCHINGS MAXIMALER
K ARDINALIT ÄT
Tatsächlich ist die Bedingung, dass es keinen M-vergrößernden
Weg geben darf, nicht nur notwendig sondern auch
hinreichend dafür, dass ein Matching M genau ν(G) Kanten
enthält.
Satz von Berge
Es sei G = (V, E) ein ungerichteter Graph. Für ein Matching
M ⊆ E gilt |M| = ν(G) genau dann, wenn es keinen
M-vergrößernden Weg gibt.
23/46
B EWEIS
⇒ Es sei M ⊆ E ein Matching mit |M| = ν(G). Dann kann es
nach keinen M-vergrößernden Weg geben. (Vergleiche letztes
Lemma!).
24/46
B EWEIS
25/46
B EMERKUNG
26/46
B IPARTITE G RAPHEN
Definition
Es sei G = (V, E) ein gerichteter oder ungerichteter Graph. G heißt
bipartit, wenn es eine Partition der Knotenmenge V1 ∪ V2 = V,
V1 ∩ V2 = gibt, so dass jede Kante e ∈ E sowohl mit einem Knoten in
V1 als auch mit einem Knoten in V2 inzidiert.
Ob ein Graph bipartit ist, oder nicht, hängt offensichtlich nicht
davon ab, ob seine Kanten orientiert sind. Daher betrachten wir
im folgenden nur ungerichtete Graphen. In
zusammenhängenden Graphen ist die Partition der Knoten
eindeutig, in nicht zusammenhängenden Graphen ist sie nicht
eindeutig.
27/46
B IPARTITE G RAPHEN
Definition
Mit Kn,m bezeichnen wir den vollständigen bipartiten Graphen mit
|V| = n + m, der eine Partition mit |V1 | = n und |V2 | = m besitzt.
28/46
C HARAKTERISIERUNGSSATZ
Satz
Ein ungerichteter Graph G = (V, E) ist genau dann bipartit,
wenn er keine Kreise ungerader Länge enthält.
29/46
B EWEIS
30/46
B EWEIS
31/46
K OROLLAR
Korollar
Es sei G = (V, E) ein ungerichteter Graph. Ist G ein Baum, so ist
G bipartit.
Der Beweis des vorherigen Satzes ist die Grundlage des
folgenden Algorithmus, der für einen zusammenhängenden
Graphen überprüft, ob er bipartit ist und gegebenenfalls eine
Partition der Knotenmenge bestimmt.
Nichtzusammenhängende Graphen sind genau dann bipartit,
wenn alle ihre Zusammenhangskomponenten bipartit sind,
hier kann der Algorithmus also auf die
Zusammenhangskomponenten angewendet werden.
32/46
A LGORITHMUS
33/46
K ORREKTHEITSSATZ
Satz
Es sei G = (V, E) ein zusammenhängender ungerichteter
Graph. Dann bestimmt der obige Algorithmus korrekt, ob G
bipartit ist und gibt in diesem Fall eine zugehörige
Knotenpartition V = V1 ∪ V2 zurück.
34/46
M ATCHINGS IN BIPARTITE G RAPHEN
Wie findet man ein Matching maximaler Kardinalität in
bipartiten Graphen?
35/46
D ER UNGARISCHE A LGORITHMUS
36/46
D ER UNGARISCHE A LGORITHMUS
37/46
K ORREKTHEITSSATZ
Satz
Es sei G = (V, E) ein ungerichteter bipartiter Graph mit
Knotenpartition V = V1 ∪ V2 . Dann ist der ungarische
Algorithmus wohldefiniert und bestimmt ein Matching M
maximaler Kardinalität.
Satz von Hall
Es sei G = (V, E) ein ungerichteter bipartiter Graph mit
Knotenpartition V = V1 ∪ V2 . Dann gibt es genau dann ein
Matching M, so dass alle Knoten v1 ∈ V1 M-überdeckt sind,
wenn gilt: Für alle S ⊆ V1 ist
|N(S)| := |{v2 ∈ V2 | ∃v1 ∈ S. {v1 , v2 } ∈ E}| ≥ |S|.
Man nennt die Menge N(S) die Nachbarschaft der Menge S.
38/46
B EWEIS
39/46
B EWEIS
40/46
A NWENDUNGEN DER M ATCHINGS F ÜR TSP
Sei G = (V, E) ein ungerichteter, vollständiger und metrischer
Graph mit Kantengewichten w(e) > 0 für alle e ∈ E und
T∗ = (V, E∗ ) ein minimaler spannender Baum von G.
Dann bezeichnen wir mit U ⊆ V die Menge aller Knoten, die in
T∗ ungeraden Grad haben. Da die Menge U eine gerade Anzahl
von Elementen haben muss, existiert in dem vollständigen
Graphen mit Knotenmenge U ein perfektes Matching. Folglich
gibt es auch ein perfektes Matching M∗ mit minimalem
Gewicht.
In dem Graphen G∗ = (V, E∗ ∪ M∗ ) haben dann alle Knoten
geraden Grad und G∗ ist zusammenhängend. Daher besitzt G∗
einen Euler-Kreis PE mit w(PE ) = w(T∗ ) + w(M∗ ), den wir wie
bei der Minimaler-spannender-Baum-Heuristik zu einem
Hamilton-Kreis PH mit w(PH ) ≤ w(PE ) = w(T∗ ) + w(M∗ )
abkürzen können.
41/46
A NWENDUNGEN DER M ATCHINGS F ÜR TSP
42/46
A NWENDUNGEN DER M ATCHINGS F ÜR TSP
43/46
C HRISTOFIDES H EURISTIK
44/46
B EISPIEL
45/46
K ORREKTHEITSSATZ
Satz
Es sei G = (V, E) ein ungerichteter, vollständiger und
metrischer Graph mit Kantengewichten w(e) > 0 für alle e ∈ E.
Dann bestimmt die Christofides-Heuristik einen Hamilton
Kreis, welcher höchstens
1
3
1−
2
|V|
mal so lang wie der kürzeste ist.
46/46
Herunterladen