Graphen und Algorithmen

Größe: px
Ab Seite anzeigen:

Download "Graphen und Algorithmen"

Transkript

1 Graphen und Algorithmen Vorlesung #7: Matchingtheorie Dr. Armin Fügenschuh Technische Universität Darmstadt WS 2007/2008

2 Übersicht Matchings und erweiternde Wege Satz von Berge Das Heiratsproblem und der Heiratssatz von Hall Matchings in bipartiten Graphen Der Ungarische Algorithmus Der Kuhn-Munkres-Algorithmus Lösung des Chinesischen Postbotenproblems 1/2-Approximation des TSP von Christofides 2

3 Matchings (Paarungen, Korrespondenzen) Generalvoraussetzung: In dieser Vorlesung sei G stets ein schlingenfreier (Multi-) Graph mit Knotenmenge V = V (G) und Kantenmenge E = E(G). Definition 1: Eine Kantenteilmenge M E heißt Matching von G, wenn keine zwei Kanten aus M einen gemeinsamen Endknoten haben. Beispiel: a f e e 2 e 1 b a b M 1 := {e 1,e 2 } M 2 := {e 1,e 3,e 4 } c f c G e 4 e 3 G d e d Definition 2: Ist ein Knoten v des Graphen G ein Endknoten einer Kante im Matching M, dann wird v als M-gesättigt bezeichnet. Man sagt auch, dass v durch M gesättigt wird. Andernfalls ist v M-ungesättigt. Beispiel (Forts.): Die Knoten a, b, c, e sind M 1 -gesättigt, f und d sind M 1 -ungesättigt. Jeder Knoten ist -gesättigt. M 2 e 1 3

4 Perfekte und maximale Matchings Definition 3: Ist M ein Matching von G, in dem jeder Knoten von G M-gesättigt ist, dann wird M als perfektes Matching bezeichnet. Ein Matching M heißt maximal, wenn G kein Matching M enthält, welches mehr Kanten als M hat. Ein Matching M heißt inklusionsmaximal, wenn M nicht durch Hinzufügen einer weiteren Kante von G vergrößert werden kann. Beispiel (Forts.): M 2 ist ein perfektes Matching. M 1 ist ein inklusionsmaximales Matching. Bemerkung: Jedes perfekte Matching ist ein maximales Matching. Die Umkehrung davon ist nicht wahr. Beispiel: Zwei maximale, nicht-perfekte Matchings. 4

5 Alternierende und erweiternde Wege Definition 4: Sei M ein Matching von G. Ein M-alternierender Weg in G ist ein Weg, dessen Kanten abwechselnd zu M und E\M gehören. Beispiel: P := (v 1,e 3,v 4,e 4,v 2,e 5,v 5,e 8,v 6,e 6,v 3 ) ist ein {e 3,e 5,e 6 }-alternierender Weg. v 7 e 9 v 1 v 2 v 3 e 1 e 2 e 4 e5 e 6 e 10 e 3 e11 e 12 v e 7 4 v e 8 5 v 6 Definition 5: Ein M-alternierender Weg, dessen Anfangs- und Endknoten M-ungesättigt sind, heißt M-erweiternder Weg. Beispiel: P =(v 6,e 6,v 3,e 2,v 2,e 5,v 5,e 7,v 4,e 4,v 1,e 3,v 7,e 12,v 8 ) ist ein {e 2,e 3,e 7,e 16 }-erweiternder Weg v 1 v 2 v 3 e 1 e 2 e 3 e 4 e5 e 6 v 4 e 8 e 7 v5 v 6 e 9 e 10 e 11 v 7 v 8 e 12 e 13 v 9 e 14 e 15 e16 v 10 5

6 Lemma von der symmetrischen Differenz Lemma 6: Seien M 1,M 2 zwei Matchings in einem schlichten Graphen G. Sei H der Untergraph von G, der durch die Kantenmenge M 1 M 2 := (M 1 \M 2 ) (M 2 \M 1 ) gegeben ist, d.h. durch die symmetrische Differenz der beiden Matchings. Sei K eine Zusammenhangskomponente von H. Dann gilt: Entweder ist K ein Zyklus gerader Länge, dessen Kanten abwechselnd in M 1 und M 2 liegen, oder K ist ein Weg, dessen Kanten abwechselnd in M 1 und M 2 liegen und dessen Endknoten in einem der beiden Matchings ungesättigt sind. Beispiel: e 9 e 1 e 2 e 9 e 1 e 2 e 1 e 2 e 4 e5 e 6 e 10 e 3 e11 e 12 e 4 e5 e 6 e 10 e 3 e11 e 12 e 10 e 12 e 7 e 8 M 1 := {e 2,e 8,e 10 } e 7 e 8 M 2 := {e 1,e 7,e 12 } Beweis (von Lemma 6): Sei v ein Knoten von H. Da M 1 Matching, gibt es höchstens eine Kante in M 1, die v als Endknoten hat. Ebenso gibt es höchstens eine Kante in M 2, die v als Endknoten hat. 1. Fall, v ist Endknoten einer Kante in M 1 \M 2 und auch einer Kante in M 2 \M 1. Dann ist deg H (v) = Fall, v ist Endknoten einer Kante in M 1 \M 2 oder in M 2 \M 1, aber nicht in beiden. Dann ist deg H (v) = 1. Die Zusammenhangskomponente von v ist dann entweder ein Weg oder ein Zyklus. 6 e 7 e 8 M 1 M 2 := {e 1,e 2,e 7,e 8,e 10,e 12 }

7 Umfärbungen entlang von Wegen Sei M ein Matching von G. Wir bezeichnen die Kanten in M als rot, alle anderen als blau. Sei P ein M-alternierender Weg in G, so dass die Kanten abwechselnd rot und blau sind. Ist P zudem M-erweiternd, dann sind die Endknoten ungesättigt. Also sind die erste und die letzte Kante von P blau. Damit ist P eine alternierende Folge der Form blau, rot, blau,..., rot, blau. Somit hat P eine ungerade Anzahl von Kanten, 2m +1, davon m rote und m +1blaue. Wir definieren eine Kantenmenge M, welche aus den Kanten von M minus den roten Kanten von P plus den blauen Kanten von P besteht. Die Endknoten von P sind nicht durch M gesättigt, und alle anderen Knoten von P sind bereits durch M gesättigt. Also ist M wiederum ein Matching, welches eine Kante mehr als M hat. Definition 7: Die oben beschriebene Operation, die ein gegebenes Matching M in ein größeres Matching M unter Verwendung eines M-erweiternden Weges P umwandelt, wird als Umfärbung entlang des erweiternden Weges P bezeichnet. Beispiel: e 3 v 1 v 2 v 3 e 1 e 2 e 4 e5 e 6 v 4 e 8 e 7 v5 v 6 v 1 e v 2 1 e 2 v 3 M = {e 2,e 3,e 7,e 16 } M = {e 4,e 5,e 6,e 12,e 16 } e P =(e 4 6,e 2,e 5,e 7,e 4,e 3,e 12 ) e5 e 6 v 4 e e 8 3 e 7 v5 v 6 e 9 e 10 e 11 e 9 e 10 e 11 v 7 v 8 e 12 e 13 v 9 v 7 e e e16 v 8 e 12 e 13 v 9 e 14 e 15 e16 v 10 7 v 10

8 Satz von Berge Satz 8 (Berge, 1957): Ein Matching M in einem Graphen G ist genau dann ein maximales Matching, wenn G keinen M-erweiternden Weg enthält. Beweis: ( ) Sei M maximales Matching von G und sei P ein M-erweiternder Weg. Durch Umfärbung entlang P entsteht ein Matching M von G, welches eine Kante mehr enthält als M, im Widerspruch zur Maximalität von M. ( ) Sei M ein Matching von G, so dass es keinen M-erweiternden Weg gibt. Sei M ein maximales Matching von G. Zu zeigen ist: M = M. Es ist M = M\M + M M und M = M \M + M M. Also bleibt zu zeigen: M\M = M \M. Sei H der Untergraph von G mit Kantenmenge M M =(M\M ) (M \M). Für die Zusammenhangskomponenten von H gilt nach Lemma 6: Entweder sind es gerade Zyklen mit Kanten abwechselnd in M und M, oder es sind Wege mit Kanten abwechselnd in M und M, deren Endknoten in einem der beiden Matchings ungesättigt sind. Wenn eine Komponente ein Weg ist, dann ist dieser gerade. Ein Weg ungerader Länge hätte Endknoten, die im selben Matching M (oder M ) ungesättigt sind. Dann gibt es einen M- (oder M -) erweiternden Weg. M-erweiternde Wege gibt es nicht (nach Voraussetzung). M -erweiternde Wege gibt es nicht (da M maximal, siehe -Teil des Beweises). Also sind alle Komponenten von H gerade Wege oder gerade Zyklen, welche die selbe Zahl von Kanten in M wie in M haben. Somit ist M\M = M \M. 8

9 Das Heiratsproblem Gegeben sei eine endliche Menge Jungen. Jeder Junge hat mehrere Freundinnen. Können alle Jungen so verheiratet werden, dass jeder Junge (genau) eine Freundin heiraten kann? Als graphentheoretisches Problem formuliert: Gegeben sei ein bipartiter Graph G =(V, E) mit Bipartition V = X Y. Welche Bedingungen sind notwendig bzw. hinreichend, damit ein Matching in G existiert, welches jeden Knoten von X sättigt. Philip Hall (engl. Mathematiker, ) zeigte, dass das Heiratsproblem für n Jungen genau dann lösbar ist, wenn für jedes k, 1 k n, jede Menge von k Jungen zusammen mindestens k Freundinnen haben. Definition 9: Sei S eine Knotenmenge in G. Die benachbarte Menge N(S) von S in G ist die Menge aller Knoten, die adjazent zu Knoten in S ist. 9

10 Der Heiratssatz von Hall Satz 10 (Hall, 1935): Sei G =(V, E) ein bipartiter Graph mit V = X Y. G hat genau dann ein Matching, welches jeden Knoten von X sättigt, wenn N(S) S für alle Teilmengen S von X. Beweis: ( ) Sei M ein Matching, welches jeden Knoten in X sättigt. S X kann nur dann gesättigt werden, wenn sie mindestens S Nachbarn hat. Also ist N(S) S für alle Teilmengen S von X. ( ) Sei N(S) S für alle Teilmengen S von X. Angenommen, es gibt kein Matching, welches jeden Knoten von X sättigt. Sei M ein maximales Matching von G. Auch durch M wird nicht ganz X gesättigt. Sei x 0 ein Knoten, der nicht durch M gesättigt wird. Da M maximal, gibt es nach dem Satz von Berge keinen M -erweiternden Weg in G. Wenn also P ein M -alternierender Weg in G ist, dessen Endknoten x 0 ist, dann muss das andere Ende von P ein M -gesättigter Knoten sein. Es ist entweder P =(x 0,y 1,x 1,y 2,x 2,..., y n,x n ) oder P =(x 0,y 1,x 1,..., x n 1,y n ), mit x i X, y i Y ( G bipart.), {y 1,x 1 }, {y 2,x 2 },... M, {x 0,y 1 }, {x 1,y 2 },... / M. Im zweiten Fall wird y n durch M gesättigt. Aber {x n 1,y n } ist keine Kante in M. Also gibt es noch eine weitere Kante {y n,x n }, um die P verlängert werden kann. Somit kommt o.b.d.a. nur der erste (linke) Fall für P vor. Seien S bzw. T die Menge aller Knoten in X bzw. Y, die durch einen M -alternierenden Weg von x 0 erreichbar sind (wobei wir x 0 aus S ausschließen). Da jeder Knoten in X mit einem Knoten in Y gepaart ist, gilt S = T. 10

11 Der Heiratssatz von Hall (Forts.) Beispiel: X x0! a b S! "# c $ d e f g E F G G Y A! B "# T C D $ H I La nge La nge La nge La nge La nge La nge 1: 2: 3: 4: 5: 6: (x0, B), (x0, C) (x0, B, b), (x0, C, c) (x0, B, b, A), (x0, B, b, C) (x0, B, b, A, a), (x0, B, b, C, c) (x0, B, b, A, a, D) (x0, B, b, A, a, D, d) Beweis (Forts.): Sei S := S! {x0 } und y Y adjazent zu einem Knoten in S, d.h. y N (S). 1. Fall, y ist adjazent zu x0. Dann ist y Endknoten eines M -alternierenden Weges der Länge 1. Also ist y T. 2. Fall, y ist adjazent zu einem Knoten xi X, der auf einem M -alternierenden Weg P mit Endknoten x0 vorkommt. 1. Fall, y ist bereits ein Knoten in P. 2. Fall, P kann durch Hinzufügen der Kante {xi, y} zu einem längeren M -alternierenden Weg P! erweitert werden. In beiden Unterfällen ist y T. Da in beiden Fällen stets y T, ist N (S) T. Offensichtlich gilt T N (S). Also ist N (S) = T. Anderseits ist S = S! + 1 = T + 1 = N (S) + 1. Also ist N (S) < S, im Widerspruch zur Voraussetzung. Die Annahme war also falsch, und es gibt ein Matching, welches alle Knoten von X sättigt. 11

12 Perfekte Matchings in regulären bipartiten Graphen Satz 11: Sei G ein k-regulärer bipartiter Graph (mit k>0). Dann hat G ein perfektes Matching. Das heißt: Wenn jeder Junge k Freundinnen hat und jedes Mädchen k Freunde, dann kann jeder Junge eine seiner Freundinnen und jedes Mädchen einen ihrer Freunde heiraten. Beweis (von Satz 11): Sei X Y = V die Bipartition von G =(V, E). Es gibt X Knoten in X, und jeder Knoten hat k Kanten. Somit gibt es k X Kanten zwischen X und Y. Mit dem gleichen Argument gibt es k Y Kanten zwischen Y und X. Aus k X = k Y folgt durch Kürzen ( k>0 ) dann X = Y. Sei S X und E 1 die Teilmenge der Kanten, die mit Knoten aus S inzidieren. Aufgrund der k -Regularität gilt E 1 = k S. Sei E 2 die Teilmenge der Kanten, die mit Knoten aus N(S) inzidieren. Da N(S) die Menge der mit S benachbarten Knoten ist, gilt E 1 E 2. Folglich E 1 E 2. Aufgrund der k -Regularität gilt E 2 = k N(S). Also ist k N(S) = E 2 E 1 = k S. Durch Kürzen ( k>0 ) folgt dann N(S) S. Da S eine beliebige Knotenteilmenge war, folgt aus dem Heiratssatz von Hall, dass G ein Matching M enthält, welches jeden Knoten von X sättigt. Da X = Y, wird auch jeder Knoten in Y durch dieses Matching M gesättigt. Damit ist M ein perfektes Matching. 12

13 Skizze eines Matchingalgorithmus für bipartite Graphen Eingabe: bipartiter Graph G =(V, E) mit V = X Y. Ausgabe: (a) entweder ein Matching M, durch das alle Knoten in X gesättigt werden, (b) oder eine Knotenteilmenge S mit N(S) < S. (1) algorithm matching (2) wähle ein beliebiges Matching M (3) while es gibt einen M-ungesättigten Knoten x 0 do (4) if es gibt einen M-erweiternden Weg P mit Endknoten x 0 then (5) bestimme Matching M durch Umfärbung von M entlang P (6) setze M := M (7) else (8) bestimme S wie im Beweis des Heiratssatzes (9) gib S aus (10) goto (14) (11) end if (12) end while (13) gib M aus (14) end algorithm Die algorithmische Schwierigkeit ist dabei die Bestimmung eines M-erweiternden Weges mit Endknoten bzw. der Nachweis, dass es keinen solchen Weg gibt. x 0 13

14 Alternierende Bäume Definition 12: Sei M ein Matching des bipartiten Graphen G =(V, E) mit V = X Y. Sei x 0 ein M-ungesättigter Knoten in X. Ein Untergraph H von G mit den folgenden Eigenschaften: (a) H ist ein Baum, (b) x 0 V (H), (c) für jeden Knoten v V (H) ist der (eindeutige) Weg zwischen x 0 und v in H ein M -alternierender Weg, wird als M-alternierender Baum mit Wurzel x 0 bezeichnet. Beispiel: X a b c d e e G D E Y A B C D E b a C A B Ein M-erweiternder Weg mit Endknoten x 0 kann konstruiert werden, indem man einen M-alternierenden Baum mit Wurzel x 0 wachsen lässt. Dieses Verfahren wird Ungarische Methode genannt (nach D. König und J. Egerváry, 1931). 14 c x 0

15 So wachsen alternierende Bäume Alternierende Bäume wachsen so, dass stets eine der beiden Bedingungen erfüllt ist: (a) entweder sind alle Knoten von H, mit Ausnahme von x 0, M-gesättigt und in M gepaart, (b) oder H enthält einen M-ungesättigten Knoten v x 0. Fall (a): Bezeichne mit S die Knoten in H mit gerader Entfernung ( =0) zu x 0. Bezeichne mit T die Knoten in H mit ungerader Entfernung zu x 0. Per Induktion sieht man ein, dass dann T = S gilt. Setze S := S {x 0 }. Bemerke: S, S,T sind wie im Heiratssatz von Hall definiert. Es gilt T N(S). 1. Fall, T N(S). Dann gibt es einen Knoten y V (G), y / T, der adjazent mit einem Knoten x S ist. Dann ist entweder x = x 0 oder x S. Damit ist x entweder ungesättigt oder bereits gepaart. x 0 Also ist die Kante {x, y} nicht in M. Wird y durch M gesättigt, gibt es eine weitere Kante {y, z} M. Der Baum wächst dann durch Hinzufügen von {x, y} und {y, z}. Ist y ungesättigt, tritt Fall (b) ein (siehe unten). 2. Fall, T = N(S). Dann gilt (siehe Beweis von Hall) N(S) = T = S = S 1, also N(S) < S. Somit enthält der Graph kein Matching, welches jeden Knoten in X sättigt. Fall (b): Der Baum hat einen Weg P, dessen beide Endknoten x 0 und v M-ungesättigt sind. Durch Umfärben entlang P erhält man ein vergrößertes Matching. 15

16 Der Ungarische Algorithmus Eingabe: bipartiter Graph G =(V, E) mit V = X Y. Ausgabe: (a) entweder ein Matching M durch das alle Knoten in X gesättigt werden, (b) oder eine Knotenteilmenge S mit N(S) < S. (1) algorithm hungarian (2) wähle ein beliebiges Matching M (3) while es gibt einen M-ungesättigten Knoten x 0 do (4) S := {x 0 },T := (5) repeat (6) if N(S) =T then (7) gib S aus (8) goto (19) (9) else (10) wähle y N(S)\T (11) (12) T := T {y} if es gibt ein z mit {y, z} M then (13) (14) S := S {z} end if (15) end if (16) until y ungesättigt (17) färbe M entlang des Weges von x 0 nach y um (18) end while (19) end algorithm 16 G X a b c d e f g Y A B C D E F G M := {ab, cc, ed, fg} a B b F a e D B d a B g A c C b C b C

17 Korrektheitsbeweis Satz 13: Der ungarische Algorithmus arbeitet korrekt. Beweis: Zu Beginn jeder äußeren Iteration, in Schritt (4), hat S ein Element mehr als T. Werden weitere gesättigte Knoten angehängt, dann wird ein Element zu S und ein Element zu T hinzugefügt, vgl. Schritt (11) und (13). Also hat S stets ein Element mehr als T, d.h. T = S 1. Terminiert der Algorithmus aufgrund von N(S) =T, so ist N(S) = T = S 1 < S. Wegen des Heiratssatzes von Hall ist die Ausgabe, dass es in diesem Fall kein Matching gibt, welches jeden Knoten von X sättigt, korrekt. Andernfalls terminiert der Algorithmus erst, wenn jeder Knoten von X gesättigt ist. 17

18 Optimale Matchings Definition 14: Sei G = (V, E) ein bewerteter vollständiger bipartiter Graph mit Bipartition V = X Y, wobei X = {x1,..., xn } und Y = {y1,..., yn } und wi,j die Bewertung der Kante {xi, yj } ist. Ein optimales Matching ist ein maximal-bewertetes perfektes Matching in G. Definition 15: Sei G wie zuvor. Eine Abbildung λ : V R heißt zulässige Knotenkennzeichnung von G, wenn λ(xi ) + λ(yj ) wi,j für alle xi X, yj Y gilt. Eine zulässige Knotenkennzeichnung kann stets erzielt werden durch die Setzung λ(xi ) := max{wi,j : 1 j n} für alle xi X und λ(yj ) := 0 für alle yj Y. Beispiel: λ(x1) = 13 λ(x2) = 10 λ(x3) = λ(x1) = 13 λ(x2) = 11 λ(x3) = λ(y1) = 0 λ(y1) = 1 λ(y2) = 0 λ(y3) = 0 λ(y2) = 0 λ(y3) = 0 Definition 16: Sei λ eine zulässige Knotenkennzeichnung von G und Eλ := {{xi, yj } : λ(xi ) + λ(yj ) = wi,j }. Dann wird Gλ := (V, Eλ ) als der Gleichheitsuntergraph bzgl. λ bezeichnet. Beispiel (Forts.): λ(x1) = 13 λ(x2) = 10 λ(x3) = λ(x1) = 13 λ(x2) = 11 λ(x3) = 9 13 λ(y1) = 0 λ(y2) = 0 λ(y3) = 0 λ(y1) = 1 18 λ(y2) = 0 λ(y3) = 0

19 Gleichheitsuntergraphen und optimale Matchings Satz 17: Sei λ eine zulässige Knotenkennzeichnung für den bewerteten vollständigen bipartiten Graphen G. Wenn der Gleichheitsuntergraph G λ ein perfektes Matching M enthält, dann ist M ein optimales Matching für G. Beweis: Sei M ein perfektes Matching für G λ. Da G λ die gleichen Knoten wie G enthält, ist M ein perfektes Matching von G. Es ist w(m )= w. {x i,y j } M i,j Für jede Kante {x i,y j } M ist {x i,y j } G λ, also w i,j = λ(x i )+λ(y j ). Da das Matching M perfekt ist, verbinden seine Kanten alle Knoten von G genau ein Mal. Damit ist w(m )= w. {x i,y j } M i,j = n (λ(x i)+λ(y i )) i=1 Sei nun M ein beliebiges perfektes Matching von G. Dann gilt w(m) = w i,j n (λ(x i)+λ(y i )). {x i,y j } M i=1 Es folgt w(m ) w(m). Da M ein beliebiges Matching von G war, ist M daher ein optimales Matching von G. 19

20 Ein Algorithmus für optimale Matchings in vollständigen bipartiten Graphen Beginne mit einer zulässigen Knotenkennzeichnung λ für G. Bestimme den Gleichheitsuntergraphen G λ. Wähle ein beliebiges Matching M in G λ. Wende die ungarische Methode auf G λ und M an. 1. Fall, die ungarische Methode liefert ein perfektes Matching M. Nach Satz 17 ist M dann ein optimales Matching für G. Fertig. 2. Fall, sie liefert ein nicht-perfektes Matching M, das nicht weiter vergrößert werden kann. Dann gibt es einen M -alternierenden Baum H, der keinen M -erweiternden Weg hat. Dieser Baum kann in G λ nicht mehr weiter wachsen. Wir verändern nun λ zu λ, so dass λ ebenso eine zulässige Knotenkennzeichnung ist, der Gleichheitsuntergraph G λ sowohl M als auch den M -alternierenden Baum H enthält, der M -alternierende Baum H in G λ weiter wachsen kann. Bemerke, dass der M -alternierende Baum H so erzeugt wurde, dass es Untermengen S X und T Y gibt mit N Gλ (S) =T. 20

21 Defekte Definition 18: Seien S X und T Y die durch die ungarische Methode erzeugten Untermengen mit N Gλ (S) =T. Dann ist d λ := min{λ(x) +λ(y) w x,y : x S, y / T } der Defekt von λ. Für einen Knoten v in G setze λ(v) d λ ; v S, λ (v) := λ(v) +d λ ; v T, λ(v) ; v/ S T. Dieses λ erfüllt die vorhin geforderten Eigenschaften: λ ist eine zulässige Knotenkennzeichnung, der Gleichheitsuntergraph G λ enthält M und den M -alternierenden Baum H, der M -alternierende Baum H kann in G λ weiter wachsen. Dann wird das Verfahren mit G λ (an Stelle von G λ ) fortgesetzt. Die Knotenkennzeichnung wird so lange geändert, bis ein perfektes Matching im Gleichheitsuntergraphen entsteht. Dieses ist nach Satz 17 dann ein optimales Matching. Dieses Verfahren ist nach Kuhn (1955) und Munkres (1957) benannt. 21

22 Der Algorithmus von Kuhn-Munkres X a b c d e f g A B C D E F G G Y (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) Eingabe: vollständiger bipartiter Graph G = Kn,n = (V, E) mit Bewertung w : E R. Ausgabe: optimales Matching M. algorithm kuhnmunkres wähle eine zul. Knotenkennzeichung λ wähle ein beliebiges Matching M von Gλ while es gibt M -ungesättigten Knoten x0 do S := {x0 }, T := repeat if NGλ (S) = T then dλ := min{λ(x) + λ(y) wx,y : x S, y / T} λ(v) := λ(v) dλ v S, λ(v) := λ(v) + dλ v T end if wähle y NGλ (S)\T T := T {y} if es gibt ein z mit {y, z} M then S := S {z} end if until y ungesättigt färbe M entlang des Weges von x0 nach y um end while end algorithm 22 (wx,y ) x X y Y = x0 = g. S = {g}, T = {}. dλ = 1. E f G d D a b e F B X a b c d e f A B C D E F C g g G Y G

23 Lösung des chinesischen Briefträgerproblems Aus dem letzten Kapitel (#6) haben wir gesehen, wie das chinesische Briefträgerproblem (CPP) zu lösen ist, wenn der zu Grunde liegende Graph G = (V, E) eulersch ist, oder der Graph genau zwei Knoten ungeraden Grades hat. In der allgemeinen Situation (mehr als zwei ungerade Knoten) kann eine Lösung wie folgt ermittelt werden: Sei U die Menge der ungeraden Knoten in G. Für jedes Paar ungerader Knoten u, v U berechne man ihre Entfernung du,v im Graphen G bzgl. der Bewertung c (z.b. mittels des Algorithmus von Dijkstra oder Floyd-Warshal). Wir definieren einen vollständigen bewerteteten Graphen (KU, d). Bemerke, dass die Anzahl ungerader Knoten gerade ist. Also hat KU ein perfektes Matching. Es gibt effiziente Algorithmen (Edmonds, 1965) zur Bestimmung eines minimalen perfekten Matchings M in (KU, d). Die Wege in G, die den Kanten in M entsprechen, werden in G verdoppelt. Dadurch entsteht ein Eulerscher Obergraph G! von G. In diesem kann mittels des Algorithmus von Fleury eine Eulertour bestimmt werden. Diese ist dann die Lösung des chinesischen Briefträgerproblems. 23

24 Der Algorithmus von Christofides (1976) c(t ) = 186 Eingabe: Instanz (K n,c) für mtsp Ausgabe: 1/2-approximative Tour C T (1) algorithm christofides Düsseldorf (2) bestimme minimalen Spannbaum T für (K n,c) Aachen (3) sei U die Menge der Knoten mit ungeradem Grad in T (4) bestimme ein minimales perfektes Matching M in (K U,c) (5) sei G der eulersche Multigraph, der aus T durch Hinzufügen der Kanten von M entsteht. (6) bestimme eine Eulertour K für G C (7) wähle eine in K enthaltene Tour C (8) end algorithm Freiburg Darmstadt Stuttgart Hamburg c(c) = 266 Nürnberg München G Berlin U = {Aa, Be, Dü, F r, Mü, St} K =(Be, Mü, Nü, St, F r, St, Da, Dü, Aa, Dü, Ha, Be) Aa Be Da Dü F r Ha M ü N ü St Aa Be Da Dü Fr Ha M ü N ü St C =(Be, Mü, Nü, St, F r, Da, Dü, Aa, Ha, Be) M = {AaDü, BeMü, F rst} c(m ) = Düsseldorf Aachen Stuttgart Freiburg München Berlin

25 Beweis der Approximationsgüte Satz 19: Der Algorithmus von Christofides ist 1/2-approximativ. Beweis: Sei C eine optimale Tour. Nach Lemma 30 / VL 6 gilt für die in Schritt (8) konstruierte Tour C die Abschätzung c(c) c(e) = c(t )+c(m ). U aus Schritt (3) hat eine gerade Anzahl von Knoten, U =2m. Sei (i 1,i 2,..., i 2m ) die Reihenfolge, in der die Knoten von U in C besucht werden. Wir definieren zwei perfekte Matchings M 1,M 2 von K U durch M 1 := {i 1 i 2,i 3 i 4,..., i 2m 1 i 2m },M 2 := {i 2 i 3,i 4 i 5,..., i 2m i 1 }. Da c die Dreicksungleichung erfüllt und M minimal ist, gilt c(c ) c i1 i 2 + c i2 i 3 + c i3 i c i2m 1 i 2m + c i2m i 1 = c(m 1 )+c(m 2 ) 2c(M ). Also ist c(m ) c(c )/2. Ferner ist c(t ) c(c ). Somit gilt c(c) c(t )+c(m ) c(c )+c(c )/2 = 3/2c(C ). Nach Definition ist der Algorithmus daher 1/2-approximativ. 25

26 Literaturquellen J. Clark, D.A. Holton, Graphentheorie, Spektrum Akademischer Verlag, Heidelberg, (Kapitel 4, Seite ) D. Jungnickel: Graphen, Netzwerke und Algorithmen, BI Wissenschaftsverlag, Mannheim, (Kapitel 12-14, Seite ) B. Korte, J. Vygen: Combinatorial Optimization - Theory and Algorithms, 2nd Edition, Springer Verlag, Berlin, (Kapitel 10&11, Seite ) 26

Graphen und Algorithmen

Graphen und Algorithmen Graphen und Algorithmen Vorlesung #8: Färbungsprobleme Dr. Armin Fügenschuh Technische Universität Darmstadt WS 2007/2008 Übersicht Knotenfärbung (vs. Kanten- & Kartenfärbung) Satz von Brooks Algorithmen

Mehr

Matchings (Paarungen) in Graphen. PS Algorithmen auf Graphen SS `06 Steven Birr

Matchings (Paarungen) in Graphen. PS Algorithmen auf Graphen SS `06 Steven Birr Matchings (Paarungen) in Graphen PS Algorithmen auf Graphen SS `06 Steven Birr 1 Gliederung 1) Definitionen und Beispiele 2) Algorithmus des maximalen Matchings 3) Das Personal-Zuteilungsproblem Ungarischer

Mehr

Graphentheorie. Kardinalitätsmatchings. Kardinalitätsmatchings. Kardinalitätsmatchings. Rainer Schrader. 11. Dezember 2007

Graphentheorie. Kardinalitätsmatchings. Kardinalitätsmatchings. Kardinalitätsmatchings. Rainer Schrader. 11. Dezember 2007 Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 11. Dezember 2007 1 / 47 2 / 47 wir wenden uns jetzt einem weiteren Optimierungsproblem zu Gliederung Matchings in bipartiten Graphen

Mehr

Betriebswirtschaftliche Optimierung

Betriebswirtschaftliche Optimierung Institut für Statistik und OR Uni Graz 1 Approximationsalgorithmen auf metrischen Instanzen Minimum Spanning Tree Definition (Spannbaum) Ein Spannbaum in einem Graphen G = (V,E) ist ein kreisfreier Teilgraph

Mehr

Betriebliche Optimierung

Betriebliche Optimierung Betriebliche Optimierung Joachim Schauer Institut für Statistik und OR Uni Graz Joachim Schauer ( Institut für Statistik und OR Uni Graz Betriebliche ) Optimierung 1 / 21 1 Approximationsalgorithmen auf

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie 1 Algorithmische Graphentheorie Sommersemester 2014 5. Vorlesung Matchings / Paarungen II Kombinatorischer Algorithmus, Anwendung für Handlungsreisende, LP-Runden Dr. Joachim Spoerhase Prof. Dr. Alexander

Mehr

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN

KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN F. VALLENTIN, A. GUNDERT 1. Definitionen Notation 1.1. Ähnlich wie im vorangegangenen Kapitel zunächst etwas Notation. Wir beschäftigen uns jetzt mit ungerichteten

Mehr

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Hausaufgabe 2 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008 Technische Universität München Fakultät für Informatik Lehrstuhl für Informatik 15 Computergraphik & Visualisierung Prof. Dr. Rüdiger Westermann Dr. Werner Meixner Wintersemester 2007/08 Lösungsblatt 9

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 4 Programm des

Mehr

WS 2008/09. Diskrete Strukturen

WS 2008/09. Diskrete Strukturen WS 2008/09 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0809

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 3 Programm des

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist:

Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist: Svenja Hüning, Michael Kerber, Hannah Schreiber WS 2016/2017 Übung zur Vorlesung Diskrete Mathematik (MAT.107) Blatt Beispiellösungen Abgabefrist: Hinweise: Dieses Blatt präsentiert Beispiellösungen zu

Mehr

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5) Praktikum Diskrete Optimierung (Teil 5) 6.05.009 Matchings in Graphen Es sei ein ungerichteter Graph G = (V, E) gegeben. Ein Matching in G ist eine Teilmenge M E, so dass keine zwei Kanten aus M einen

Mehr

3 Klassifikation wichtiger Optimierungsprobleme

3 Klassifikation wichtiger Optimierungsprobleme 3 Klassifikation wichtiger Optimierungsprobleme 3.1 Das MIN- -TSP Wir kehren nochmal zurück zum Handlungsreisendenproblem für Inputs (w {i,j} ) 1 i

Mehr

Das Heiratsproblem. Definition Matching

Das Heiratsproblem. Definition Matching Das Heiratsproblem Szenario: Gegeben: n Frauen und m > n Männer. Bekanntschaftsbeziehungen zwischen allen Männern und Frauen. Fragestellung: Wann gibt es für jede der Frauen einen Heiratspartner? Modellierung

Mehr

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme

Algorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck. 10 Matching-Probleme 10 Matching-Probleme 10.1 Definition von Matching-Probleme Definition 21 [2-dimensionales Matching] Sei G = (V, E) ein ungerichteter Graph und E E. E ist ein Matching, wenn für alle Kantenpaare e 1, e

Mehr

Systems of Distinct Representatives

Systems of Distinct Representatives Systems of Distinct Representatives Seminar: Extremal Combinatorics Peter Fritz Lehr- und Forschungsgebiet Theoretische Informatik RWTH Aachen Systems of Distinct Representatives p. 1/41 Gliederung Einführung

Mehr

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1}

2. Entsprechende Listen P i von Vorgängern von i 3. for i := 1 to n do. (ii) S i = Knoten 2 + 1} 1. Berechne für jeden Knoten i in BFS-Art eine Liste S i von von i aus erreichbaren Knoten, so dass (i) oder (ii) gilt: (i) S i < n 2 + 1 und Si enthält alle von i aus erreichbaren Knoten (ii) S i = n

Mehr

WS 2015/16 Diskrete Strukturen Kapitel 4: Graphen (Matchings)

WS 2015/16 Diskrete Strukturen Kapitel 4: Graphen (Matchings) WS 2015/16 Diskrete Strukturen Kapitel 4: Graphen (Matchings) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15

Mehr

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 6: Matchings und TSP-Problem Dipl-Math. Wolfgang Kinzner 4.4.2012 Kapitel 6: Matchings und TSP-Problem Matching und Matchingproblem Flussalgorithmus

Mehr

Bäume und Wälder. Definition 1

Bäume und Wälder. Definition 1 Bäume und Wälder Definition 1 Ein Baum ist ein zusammenhängender, kreisfreier Graph. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten Bäume sind. Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt

Mehr

Bäume und Wälder. Definition 1

Bäume und Wälder. Definition 1 Bäume und Wälder Definition 1 Ein Baum ist ein zusammenhängender, kreisfreier Graph. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten Bäume sind. Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt

Mehr

Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik. a 0 = 0 =

Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik. a 0 = 0 = Lösungsskizzen zu den Klausuraufgaben zum Kurs 4 Algorithmische Mathematik 4KSL3 6 Punkte Aufgabe. Die Folge (a n ) n N natürlicher Zahlen a n sei rekursiv definiert durch a 0 = 0, a n = a n + n falls

Mehr

Diskrete Mathematik Graphentheorie (Übersicht)

Diskrete Mathematik Graphentheorie (Übersicht) Diskrete Mathematik Graphentheorie (Übersicht) Dr. C. Löh 2. Februar 2010 0 Graphentheorie Grundlagen Definition (Graph, gerichteter Graph). Ein Graph ist ein Paar G = (V, E), wobei V eine Menge ist (die

Mehr

Übung zur Vorlesung Diskrete Strukturen I

Übung zur Vorlesung Diskrete Strukturen I Technische Universität München WS 00/0 Institut für Informatik Aufgabenblatt Prof. Dr. J. Csirik. November 00 Brandt & Stein Übung zur Vorlesung Diskrete Strukturen I Abgabetermin: Tutorübungen am. und.

Mehr

Dieser Graph hat 3 Zusammenhangskomponenten

Dieser Graph hat 3 Zusammenhangskomponenten Vl 2, Informatik B, 19. 04. 02 1.1.3 Definitionen und wichtige Graphen Sei im folgenden G =(V;E) ein schlichter ungerichteter Graph. Definition: Der Grad eines Knoten v in einem ungerichteten Graphen ist

Mehr

Proseminar Graphentheorie Vortrag 3 Matching. Inhalt: 1. Grundlagen 2. Matchings in bipatiten Graphen 3. Matchings in allgemeinen Graphen

Proseminar Graphentheorie Vortrag 3 Matching. Inhalt: 1. Grundlagen 2. Matchings in bipatiten Graphen 3. Matchings in allgemeinen Graphen Proseminar Graphentheorie Vortrag 3 Matching Inhalt: 1. Grundlagen 2. Matchings in bipatiten Graphen 3. Matchings in allgemeinen Graphen 1. Grundlagen Definition Matching: Eine Menge M von unabhängigen

Mehr

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert:

Graphen KAPITEL 3. Dieses Problem wird durch folgenden Graph modelliert: KAPITEL 3 Graphen Man kann als Ursprung der Graphentheorie ein Problem sehen, welches Euler 1736 von Studenten aus Königsberg gestellt bekam. Der Fluss Pregel wird von 7 Brücken überquert, und die Frage

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 7 und 8: Euler- und Hamilton-Graphen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 17. April 2018 1/96 WIEDERHOLUNG Eulersche

Mehr

Bemerkung: Der vollständige Graph K n hat n(n 1)

Bemerkung: Der vollständige Graph K n hat n(n 1) Bemerkung: Der vollständige Graph K n hat n(n 1) 2 Kanten. Bew: Abzählen! Definition 111. Graphen mit n paarweise zyklisch verbundenen Kanten heißen Kreise (vom Grad n) und werden mit C n bezeichnet. Beispiel

Mehr

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Fortgeschrittene Netzwerk- und Graph-Algorithmen Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester

Mehr

5. Bäume und Minimalgerüste

5. Bäume und Minimalgerüste 5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein

Mehr

Kapitel IV Minimale Spannbäume

Kapitel IV Minimale Spannbäume Kapitel IV Minimale Spannbäume 1. Grundlagen Ein Graph G = (V, E) besteht aus einer Menge V von Knoten und einer Menge E von Kanten. Wir werden nur endliche Knoten- (und damit auch Kanten-) Mengen betrachten.

Mehr

Diskrete Mathematik 1 WS 2008/09

Diskrete Mathematik 1 WS 2008/09 Ruhr-Universität Bochum Lehrstuhl für Kryptologie und IT-Sicherheit Prof. Dr. Alexander May M. Ritzenhofen, M. Mansour Al Sawadi, A. Meurer Lösungsblatt zur Vorlesung Diskrete Mathematik 1 WS 008/09 Blatt

Mehr

Übungsaufgaben Graphentheorie, Wintersemester 2011/12

Übungsaufgaben Graphentheorie, Wintersemester 2011/12 Übungsaufgaben Graphentheorie, Wintersemester 2011/12 Frank Göring 25. Januar 2012 Zusammenfassung Übungsaufgaben zur Graphentheorievorlesung. 1 Bis 19.10.2011 1. Wir hatten einen Graphen G als zusammenhängend

Mehr

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,... Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,..., k, so dass gilt M = k c i P i i=1 k c i = r. i=1 Diskrete Strukturen 7.1 Matchings

Mehr

Kürzeste-Wege-Algorithmen und Datenstrukturen

Kürzeste-Wege-Algorithmen und Datenstrukturen Kürzeste-Wege-Algorithmen und Datenstrukturen Institut für Informatik Universität zu Köln SS 2009 Teil 1 Inhaltsverzeichnis 1 Kürzeste Wege 2 1.1 Voraussetzungen................................ 2 1.2

Mehr

Argumentationen zu ermöglichen, verlangen wir, dass diese Eigenschaft auch für induzierte Teilgraphen

Argumentationen zu ermöglichen, verlangen wir, dass diese Eigenschaft auch für induzierte Teilgraphen Kapitel 9 Perfekte Graphen 9.1 α- und χ-perfektheit Eine Clique in einem Graphen G ist ein induzierter vollstäniger Teilgraph. Die Cliquenzahl ω(g) ist die Kardinalität einer größten in G enthaltene Clique.

Mehr

Algorithmische Graphentheorie (SS2013)

Algorithmische Graphentheorie (SS2013) Algorithmische Graphentheorie (SS2013) Kapitel 1 Grundlagen Walter Unger Lehrstuhl für Informatik 1 08.05.2013 09:42 (1:2) Walter Unger 8.5.2013 10:26 SS2013 Z x Inhalt I 1 Einleitende Definitionen

Mehr

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung Gliederung der Vorlesung 1. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken

Mehr

durch Einfügen von Knoten konstruiert werden kann.

durch Einfügen von Knoten konstruiert werden kann. Satz von Kuratowski Definition Unterteilung eines Graphen Sei G = (V, E) und e = {u, v} E. 1 Das Einfügen eines neuen Knoten w in die Kante e führt zum Graphen G = (V {w}, E \ e {{u, w}, {w, v}}). 2 Der

Mehr

Studientag zur Algorithmischen Mathematik

Studientag zur Algorithmischen Mathematik Studientag zur Algorithmischen Mathematik Minimale aufspannende Bäume und Matchings Winfried Hochstättler Diskrete Mathematik und Optimierung FernUniversität in Hagen 22. Mai 2011 Outline Minimale aufspannende

Mehr

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.

\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Das Komplement Ḡ = (V, ( V ) \ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Ein Graph H = (V, E )

Mehr

lässt sich auch ableiten, dass es einen augmentierenden Pfad der Länge höchstens

lässt sich auch ableiten, dass es einen augmentierenden Pfad der Länge höchstens Praktikum Algorithmen-Entwurf (Teil 5)..5 Matchings in Graphen Es sei ein ungerichteter Graph G = (V, E) gegeben. Ein Matching in G ist eine Teilmenge M E, so dass keine zwei Kanten aus M einen Endpunkt

Mehr

Algorithmische Methoden für schwere Optimierungsprobleme

Algorithmische Methoden für schwere Optimierungsprobleme Algorithmische Methoden für schwere Optimierungsprobleme Prof. Dr. Henning Meyerhenke Institut für Theoretische Informatik 1 KIT Henning Universität desmeyerhenke, Landes Baden-Württemberg Institutund

Mehr

Bemerkung: Es gibt Algorithmen für minimale Spannbäume der Komplexität O(m + n log n) und, für dünnbesetzte Graphen, der Komplexität O(m log n), wobei

Bemerkung: Es gibt Algorithmen für minimale Spannbäume der Komplexität O(m + n log n) und, für dünnbesetzte Graphen, der Komplexität O(m log n), wobei Bemerkung: Es gibt Algorithmen für minimale Spannbäume der Komplexität O(m + n log n) und, für dünnbesetzte Graphen, der Komplexität O(m log n), wobei { log x = min n N n: log (log ( log(x) )) } {{ } n

Mehr

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1

4.2 Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition 4.2.1 Allgemeines. Minimale Spannbäume: Der Algorithmus von Jarník/Prim Definition.. (a) Ein Graph G =(V, E) heißt kreisfrei, wenn er keinen Kreis besitzt. Beispiel: Ein kreisfreier Graph: FG KTuEA, TU Ilmenau

Mehr

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann

Bäume und Wälder. Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann Bäume und Wälder Seminar: Graphentheorie Sommersemester 2015 Dozent: Dr. Thomas Timmermann Ida Feldmann 2-Fach Bachelor Mathematik und Biologie 6. Fachsemester Inhaltsverzeichnis Einleitung 1 1. Bäume

Mehr

Übung zur Vorlesung Diskrete Strukturen I

Übung zur Vorlesung Diskrete Strukturen I Technische Universität München WS 00/03 Institut für Informatik Aufgabenblatt 6 Prof. Dr. J. Csirik 18. November 00 Brandt & Stein Übung zur Vorlesung Diskrete Strukturen I Abgabetermin: Tutorübungen am

Mehr

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314

Mehr

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie

Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 1: Grundlagen der algorithmischen Graphentheorie Dipl-Math. Wolfgang Kinzner 2.4.2012 Kapitel 1: Grundlagen der algorithmischen Graphgentheorie

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 02.07.2015 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 4: Suchstrategien Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 14. April 2017 HALBORDNUNG TOPOLOGISCHE ORDNUNG TOPOLOGISCHES

Mehr

Wiederholung zu Flüssen

Wiederholung zu Flüssen Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:

Mehr

Vorlesungstermin 2: Graphentheorie II. Markus Püschel David Steurer. Algorithmen und Datenstrukturen, Herbstsemester 2018, ETH Zürich

Vorlesungstermin 2: Graphentheorie II. Markus Püschel David Steurer. Algorithmen und Datenstrukturen, Herbstsemester 2018, ETH Zürich Vorlesungstermin 2: Graphentheorie II Markus Püschel David Steurer Algorithmen und Datenstrukturen, Herbstsemester 2018, ETH Zürich Wiederholung: Vollständige Induktion Ziel: zeige n N. A(n) für eine Aussage

Mehr

Univ.-Prof. Dr. Goulnara ARZHANTSEVA

Univ.-Prof. Dr. Goulnara ARZHANTSEVA Diskrete Mathematik Univ.-Prof. Dr. Goulnara ARZHANTSEVA SS 2018 c Univ.-Prof. Dr. Goulnara Arzhantseva Kapitel 08: Menger, König und Hall / Planare Graphen 1 / 30 Der Satz von Menger: s t trennende Kantenmenge

Mehr

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.

Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. a) Es seien W 1 = (V, E 1 ), W 2 = (V, E 2 ) Untergraphen von G, die beide Wälder sind. Weiter gelte E 1 > E 2.

Mehr

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Pfade. Traveling Salesman Problem. Flüsse in Netzwerken

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 10.06.2016 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP

Mehr

Wir betrachten einen einfachen Algorithmus, der den Zusammenhang eines Graphen testen soll.

Wir betrachten einen einfachen Algorithmus, der den Zusammenhang eines Graphen testen soll. Kapitel 2 Zusammenhang 2.1 Zusammenhängende Graphen Wir betrachten einen einfachen Algorithmus, der den Zusammenhang eines Graphen testen soll. (1) Setze E = E, F =. (2) Wähle e E und setze F = F {e},

Mehr

Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen)

Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen) WS 2015/16 Diskrete Strukturen Kapitel 4: Graphentheorie (Grundlagen) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15

Mehr

1.Aufgabe: Minimal aufspannender Baum

1.Aufgabe: Minimal aufspannender Baum 1.Aufgabe: Minimal aufspannender Baum 11+4+8 Punkte v 1 v 2 1 3 4 9 v 3 v 4 v 5 v 7 7 4 3 5 8 1 4 v 7 v 8 v 9 3 2 7 v 10 Abbildung 1: Der Graph G mit Kantengewichten (a) Bestimme mit Hilfe des Algorithmus

Mehr

Felix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09

Felix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09 Felix Brandt, Jan Johannsen Vorlesung im Wintersemester 2008/09 Übersicht Übersicht Definition Ein Matching in G = (V, E) ist eine Menge M E mit e 1 e 2 = für e 1, e 2 M, e 1 e 2 Ein Matching M ist perfekt,

Mehr

Kapitel 1: Fallstudie Bipartite Graphen Gliederung der Vorlesung

Kapitel 1: Fallstudie Bipartite Graphen Gliederung der Vorlesung Kapitel : Fallstudie Bipartite Graphen Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und. Minimal spannende Bäume. Kürzeste Wege 6. Traveling Salesman

Mehr

6. Übung zur Linearen Optimierung SS08

6. Übung zur Linearen Optimierung SS08 6 Übung zur Linearen Optimierung SS08 1 Sei G = (V, E) ein schlichter ungerichteter Graph mit n Ecken und m Kanten Für eine Ecke v V heißt die Zahl der Kanten (u, v) E Grad der Ecke (a) Ist die Anzahl

Mehr

Diskrete Strukturen Kapitel 4: Graphentheorie (Euler-Hamilton)

Diskrete Strukturen Kapitel 4: Graphentheorie (Euler-Hamilton) WS 2015/16 Diskrete Strukturen Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_15

Mehr

Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen

Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen Vorlesung Diskrete Strukturen Eulersche und Hamiltonsche Graphen Bernhard Ganter WS 2013/14 1 Eulersche Graphen Kantenzug Ein Kantenzug in einem Graphen (V, E) ist eine Folge (a 0, a 1,..., a n ) von Knoten

Mehr

Graphentheorie. Zusammenhang. Zusammenhang. Zusammenhang. Rainer Schrader. 13. November 2007

Graphentheorie. Zusammenhang. Zusammenhang. Zusammenhang. Rainer Schrader. 13. November 2007 Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 13. November 2007 1 / 84 2 / 84 Gliederung stest und Schnittkanten älder und Bäume minimal aufspannende Bäume Der Satz von Menger 2-zusammenhängende

Mehr

Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik

Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik 1142KWL09 Aufgabe 1. Zeigen Sie, dass für alle n 2 gilt: n paarweise verschiedene Geraden im R 2 schneiden sich untereinander

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Vorlesung 2: Einführung in die Graphentheorie - Teil 2 Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 2. März 2018 1/48 OPERATIONEN

Mehr

Ferienkurs Propädeutikum Diskrete Mathematik

Ferienkurs Propädeutikum Diskrete Mathematik Ferienkurs Propädeutikum Diskrete Mathematik Teil 3: Grundlagen Graphentheorie Tina Janne Schmidt Technische Universität München April 2012 Tina Janne Schmidt (TU München) Ferienkurs Propädeutikum Diskrete

Mehr

1. Einige Begriffe aus der Graphentheorie

1. Einige Begriffe aus der Graphentheorie . Einige Begriffe aus der Graphentheorie Notation. Sei M eine Menge, n N 0. Dann bezeichnet P n (M) die Menge aller n- elementigen Teilmengen von M, und P(M) die Menge aller Teilmengen von M, d.h. die

Mehr

Naiver Algorithmus für Hamiltonkreis

Naiver Algorithmus für Hamiltonkreis Naiver Algorithmus für Hamiltonkreis Algorithmus HAMILTON EINGABE: G = ([n], E) in Adjazenzmatrixdarstellung 1 Für alle Permutationen π : [n] [n]. 1 Falls (π(1), π(2),..., π(n)) ein Kreis in G ist, AUSGABE

Mehr

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren.

Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren. Beweis: 1. 2. Seien u, v V, u v. Da G zusammenhängend ist, muss mindestens ein Pfad zwischen u und v existieren. Widerspruchsannahme: Es gibt zwei verschiedene Pfade zwischen u und v. Dann gibt es einen

Mehr

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken

Mehr

Algorithmische Graphentheorie

Algorithmische Graphentheorie Algorithmische Graphentheorie Sommersemester 204 4. Vorlesung Matchings / Paarungen Kombinatorische Anwendungen des Max-Flow-Min-Cut-Theorems Prof. Dr. Alexander Wolff 2 Paarungen (Matchings) Def. Sei

Mehr

8: Bipartite Graphen. s 1. bei dem es eine Kante zwischen s i und k gibt, wenn der Schüler s i die Note k für seine Arbeit bekommen hat.

8: Bipartite Graphen. s 1. bei dem es eine Kante zwischen s i und k gibt, wenn der Schüler s i die Note k für seine Arbeit bekommen hat. Chr.Nelius: Graphentheorie (WS 2018/19) 8 Bipartite Graphen 26 8: Bipartite Graphen In einer Schulklasse mit 24 Schülern s 1,s 2,s 3,...,s 24 wurde eine Mathe Arbeit geschrieben. Um das Ergebnis bildlich

Mehr

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume)

Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) WS 2016/17 Diskrete Strukturen Kapitel 4: Graphentheorie (Bäume) Hans-Joachim Bungartz Lehrstuhl für wissenschaftliches Rechnen Fakultät für Informatik Technische Universität München http://www5.in.tum.de/wiki/index.php/diskrete_strukturen_-_winter_16

Mehr

Wiederholung

Wiederholung Wiederholung Knotenfärbung von Graphen Chromatische Zahl χ(g) Beweis: Jeder planare Graph ist 5-färbbar Vierfarbensatz: Jeder planare Graph ist 4-färbbar. Kantenfärbung: χ (G) = (G) oder (G)+1 Matchings

Mehr

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik Prof. Dr. A. Taraz, Dipl-Math. A. Würfl, Dipl-Math. S. König Weihnachtsblatt Aufgabe W.1 Untersuchen Sie nachstehenden

Mehr

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Klausurvorbereitung

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Klausurvorbereitung Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik Prof. Dr. A. Taraz, Dipl.-Math. S. König, Dipl.-Math. A. Würfl, Klausurvorbereitung Die Klausur zum Propädeutikum Diskrete

Mehr

Graphentheorie. Perfekte Graphen. Perfekte Graphen. Perfekte Graphen. Rainer Schrader. 22. Januar 2008

Graphentheorie. Perfekte Graphen. Perfekte Graphen. Perfekte Graphen. Rainer Schrader. 22. Januar 2008 Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 22. Januar 2008 1 / 47 2 / 47 eine Clique in G ist ein induzierter vollständiger Teilgraph Gliederung α- und χ-perfektheit Replikation

Mehr

Diskrete Mathematik 1

Diskrete Mathematik 1 Ruhr-Universität Bochum Lehrstuhl für Kryptologie und IT-Sicherheit Prof. Dr. Alexander May M. Ritzenhofen, M. Mansour Al Sawadi, A. Meurer Lösungsblatt zur Vorlesung Diskrete Mathematik 1 WS 2008/09 Blatt

Mehr

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1

Aufgabe 1: Berechnen Sie für den in Abbildung 1 gegebenen Graphen den. Abbildung 1: Graph für Flussproblem in Übungsaufgabe 1 Lösungen zu den Übungsaufgaben im Kapitel 4 des Lehrbuches Operations Research Deterministische Modelle und Methoden von Stephan Dempe und Heiner Schreier Aufgabe 1: Berechnen Sie für den in Abbildung

Mehr

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.

Definition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V. Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.

Mehr

Zusammenfassung zu Graphentheorie

Zusammenfassung zu Graphentheorie Sara Adams Zusammenfassung zu Graphentheorie - WS 2004/05 2 Inhaltsverzeichnis Zusammenfassung zu Graphentheorie Sara Adams 2. Juli 2005 Diese Zusammenfassung basiert auf der Vorlesung Graphentheorie gehalten

Mehr

Lösungen zu Kapitel 5

Lösungen zu Kapitel 5 Lösungen zu Kapitel 5 Lösung zu Aufgabe : (a) Es gibt derartige Graphen: (b) Offensichtlich besitzen 0 der Graphen einen solchen Teilgraphen. Lösung zu Aufgabe : Es sei G = (V, E) zusammenhängend und V

Mehr

Graphentheorie. Färbungen. Knoten- und Kantenfärbungen. Knoten- und Kantenfärbungen. Rainer Schrader. 28. Januar 2008

Graphentheorie. Färbungen. Knoten- und Kantenfärbungen. Knoten- und Kantenfärbungen. Rainer Schrader. 28. Januar 2008 Graphentheorie Rainer Schrader Färbungen Zentrum für Angewandte Informatik Köln 28. Januar 2008 1 / 57 2 / 57 wir wollen versuchen, die Knoten eines Graphen zu färben dabei dürfen keine zwei benachbarten

Mehr

Formale Grundlagen. Graphentheorie 2008W. Vorlesung im 2008S

Formale Grundlagen. Graphentheorie 2008W. Vorlesung im 2008S Minimale Formale Grundlagen Graphentheorie Franz Binder Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Minimale Inhalt Minimale

Mehr

Operations Research. Flüsse in Netzwerken. Flüsse in Netzwerken. Unimodularität. Rainer Schrader. 2. Juli Gliederung.

Operations Research. Flüsse in Netzwerken. Flüsse in Netzwerken. Unimodularität. Rainer Schrader. 2. Juli Gliederung. Operations Research Rainer Schrader Flüsse in Netzwerken Zentrum für Angewandte Informatik Köln 2. Juli 2007 1 / 53 2 / 53 Flüsse in Netzwerken Unimodularität Gliederung Netzwerke und Flüsse bipartite

Mehr

Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik

Lösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik Lösungsskizzen zu den Klausuraufgaben zum Kurs Algorithmische Mathematik KSL09 Aufgabe. Zeigen oder widerlegen Sie: Es existiert ein Graph mit Valenzsequenz (8,,,,,,,,,). Geben Sie im Falle der Existenz

Mehr

Graphen. Definitionen

Graphen. Definitionen Graphen Graphen werden häufig als Modell für das Lösen eines Problems aus der Praxis verwendet, wie wir im Kapitel 1 gesehen haben. Der Schweizer Mathematiker Euler hat als erster Graphen verwendet, um

Mehr

Definition : Diechromatische Zahl eines Graphen G ist die kleinste Anzahl chromatische Zahl von Farben für eine zulässige Färbung.

Definition : Diechromatische Zahl eines Graphen G ist die kleinste Anzahl chromatische Zahl von Farben für eine zulässige Färbung. 4 Definition : Eine zulässige Färbung ist eine Färbung der Knoten des ( un- zulässige Färbung gerichteten ) Graphen, so daß je zwei adjazente Knoten verschiedene Farben haben. Trivial ist, daß n verschiedene

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 16 Programm: Einführung

Mehr

WS 2013/14. Diskrete Strukturen

WS 2013/14. Diskrete Strukturen WS 2013/14 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws1314

Mehr

Matching. Organisatorisches. VL-18: Matching. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger. Tanzabend

Matching. Organisatorisches. VL-18: Matching. (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger. Tanzabend Organisatorisches VL-18: Matching (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Sprechstunde: Mittwoch 11:15 12:00 Übungen: Tim Hartmann,

Mehr

Ferienkurs zum Propädeutikum Diskrete Mathematik. Technische Universität München

Ferienkurs zum Propädeutikum Diskrete Mathematik. Technische Universität München Ferienkurs zum Propädeutikum Diskrete Mathematik Andreas Würfl Stefan König Technische Universität München WS 09/10 Übersicht 1 Binäre Relationen 2 Elementares Zählen 3 Partitionen zählen 4 Erzeugende

Mehr

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung. Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 14. November 2007 1 / 22 2 / 22 Gliederung eulersche und semi-eulersche Graphen Charakterisierung eulerscher Graphen Berechnung eines

Mehr