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