Algorithmische Graphentheorie (SS2013) Kapitel 1 Grundlagen Walter Unger Lehrstuhl für Informatik 1 08.05.2013 09:42 Einleitende Definitionen Zusammenhang von Graphen Flüsse (1:2) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 Inhalt I 1 Einleitende Definitionen Graphen Spezielle Graphen 2 Zusammenhang von Graphen Definitionen Aussagen Gerichteter Graph 3 Flüsse Einleitung 4 Matchings Definition Matching auf bipatiten Graphen Anwendungen Probleme 5 Faktoren in Graphen Einleitung Aussagen 6 Posets Definition und Aussagen SS2013 Z Posets x Einleitende Definitionen Graphen Zusammenhang von Graphen Flüsse (1:1) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Definition: Graph v2 v9 Definition (ungerichteter Graphen) v4 Sei V (G) = {v1 , ..., vn } eine nicht-leere Knotenmenge und E (G) eine Menge oder Multimenge von Paaren aus V (G) (Kantenmenge). Die Mengen V (G) und E (G) definieren den Graphen G = (V (G), E (G)). Falls G eindeutig ist schreiben wir vereinfacht: V b.z.w. E . D.h. G = (V , E ). Standardmäßig: n = |V | und m = |E |. v6 v1 v8 v5 v0 v3 v7 Z Posets g Einleitende Definitionen Graphen Zusammenhang von Graphen Flüsse (1:2) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 Sprechweisen zu Graphen v2 v9 Definition (Sprechweisen) v4 Sei G = (V (G), E (G)) und e = (v , w ) ∈ E (G). v6 v1 Die Knoten v , w heißen verbunden (adjazent) durch die Kante e. Eine Kante e heißt Schleife (loop), falls v = w gilt. Zwei Kanten heißen parallel, falls sie gleich sind. Ein Graph ohne parallele Kanten heißt einfach (simple). Falls nicht anders erwähnt, behandeln wir im Folgenden nur einfache Graphen ohne Schleifen. v8 v5 v0 v3 v7 SS2013 Z Posets g Einleitende Definitionen Graphen Zusammenhang von Graphen Flüsse Matchings (1:3) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 Knotengrad Definition (Knotengrad) Sei v ∈ V (G). Mit deg(v ) = |{e ∈ E (G) e = (v , v 0 ), v 0 ∈ V (G) \ {v }}| bezeichnen wir den Knotengrad (degree) von v . v2 deg(v0 ) = 4. v9 v4 deg(v1 ) = 3. deg(v4 ) = 6. v6 v1 v8 deg(v5 ) = 6. v5 v0 v3 v7 SS2013 Z Posets g Einleitende Definitionen Graphen Zusammenhang von Graphen Flüsse Matchings (1:4) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 Handshake Theorem Theorem X deg(v ) = 2|E (G)|. v ∈V (G) Beweis: Jede Kante verbindet zwei Knoten. Theorem Die Anzahl der Knoten von ungeradem Grad ist gerade. Beweis: X deg(v ) + X v ∈V (G) v ∈V (G) deg(v ) mod 2=0 deg(v ) mod 2=1 deg(v ) = 2|E (G)| SS2013 Z Posets i Einleitende Definitionen Spezielle Graphen Zusammenhang von Graphen Flüsse (1:5) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Regulär und vollständig Z Definition (Regulär) Ein Graph G heißt k-regulär, falls für alle v ∈ V (G) gilt: d(v ) = k. e d a e f d c a b b e f d c a f c b Definition (Vollständig) Ein Graph G heißt vollständig (complete), falls für alle Knotenpaare a, b aus V gilt: (a, b) ∈ E . Schreibweise: Kn . Posets g Einleitende Definitionen Spezielle Graphen Zusammenhang von Graphen (1:6) Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Spezielle Graphen Z Definition (Bipartit) Ein Graph G heißt bipartit, falls sich V disjunkt in V 0 , V 00 aufteilen läßt, so dass jede Kante nur Knoten aus den beiden verschiedenen Partitionen verbindet. Schreibweise: G = (V 0 , V 00 , E ) Definition (Vollständig bipartit) Ein Graph G heißt vollständig bipartit, falls sich V disjunkt in V 0 , V 00 aufteilen läßt und 0 E = {(a, b) a ∈ V , b ∈ V 00 }. Schreibweise: Kp,q mit p = |V 0 | und q = |V 00 |, Stern (star), falls Sn = K1,n−1 . Posets g Einleitende Definitionen Spezielle Graphen Zusammenhang von Graphen (1:7) Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 Beispiele a4 b4 a3 b3 a3 b3 a2 b2 a2 b2 a1 b1 a1 b1 a0 b0 a0 b0 b4 SS2013 Z Posets g Einleitende Definitionen Spezielle Graphen Zusammenhang von Graphen Flüsse Matchings (1:8) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 v2 v9 Teilgraphen Definition (Teilgraph) Ein Graph H = (V (H), E (H)) ist ein Teilgraph von G = (V (G), E (G)), falls V (H) ⊆ V (G) und E (H) ⊆ E (G). v4 v6 v1 v8 v5 v0 v3 v7 Z Posets g Einleitende Definitionen Spezielle Graphen Zusammenhang von Graphen Flüsse Matchings (1:9) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 v2 v9 Teilgraphen Definition (knoteninduzierter Teilgraph) Ein Graph H = (V (H), E (H)) ist ein knoteninduzierter Teilgraph von G = (V (G), E (G)), falls V (H) ⊆ V (G) und E (H) = {(a, b) ∈ E (G) a, b ∈ V (H)}. v4 v6 v1 v8 v5 v0 v3 v7 Z Posets g Einleitende Definitionen Spezielle Graphen Zusammenhang von Graphen Flüsse Matchings (1:10) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 Isomorphe Graphen Definition (Isomorph) Zwei Graphen G und H sind isomorph, falls es eine bijektive Abbildung f : V (G) 7→ V (H) gibt, so dass für alle v , w ∈ V (G) gilt: (v , w ) ∈ E (G) genau dann, wenn (f (v ), f (w )) ∈ E (H). v2 v3 a2 b2 v1 v4 a1 b1 v0 v5 a0 b0 SS2013 Z Posets g Einleitende Definitionen Definitionen Zusammenhang von Graphen Flüsse Matchings (1:11) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Zusammenhang Definition Ein Graph G = (V , E ) heißt zusammenhängend, falls es zwischen je zwei verschiedenen Knoten a, b einen Weg von a nach b gibt. v2 v9 v4 v6 v1 v8 v5 v0 v3 v7 Z Posets g Einleitende Definitionen Definitionen Zusammenhang von Graphen (1:12) Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Knotenseparator Definition Sei G = (V , E ), V 0 ⊂ V heißt Knoten-Separator (vertex cut), falls G − V 0 nicht zusammenhängend ist. Schreibweise: G − V 0 := (V \ V 0 , {(a, b) ∈ E | a, b ∈ V \ V 0 }) Definition Falls {v } ein Knoten-Separator ist, dann heißt v Artikulationspunkt. Theorem Nur Cliquen Kn haben keinen Knoten-Separator. Z Posets g Einleitende Definitionen Definitionen Zusammenhang von Graphen (1:13) Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 Beispiel v2 v9 v2 v9 v4 v4 v6 v6 v1 v1 v8 v8 v5 v5 v0 v0 v3 v7 v2 v3 v9 v7 v2 v9 v4 v4 v6 v6 v1 v1 v8 v8 v5 v5 v0 v0 v3 v7 v3 v7 SS2013 Z Posets g Einleitende Definitionen Definitionen Zusammenhang von Graphen Flüsse (1:14) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Kantenseperator Definition Sei G = (V , E ), E 0 ⊂ E heißt Kanten-Separator (edge cut), falls G − E 0 nicht zusammenhängend ist. Schreibweise: G − E 0 := (V , E \ E 0 ) Definition Falls {v , w } ein Kanten-Separator ist, dann heißt {v , w } Brücke. Theorem Ein minimaler Kanten-Separator E 0 von G = (V , E ) induziert einen 2-partiten Graphen. D.h. G = (V , E 0 ) ist 2-patiter Graph. Z Posets g Einleitende Definitionen Definitionen Zusammenhang von Graphen Flüsse Matchings (1:15) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 Beispiel v2 v9 v4 v6 v1 v8 v5 v0 v3 v7 SS2013 Z Posets g Einleitende Definitionen Definitionen Zusammenhang von Graphen (1:16) Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Zusammenhang Z Definition G = (V , E ) ist k-fach zusammenhängend, falls: ∀V 0 ⊂ V : |V 0 | = k − 1 gilt G − V 0 ist zusammenhängend. Fall G k-fach zusammenhängend ist, dann auch (k − 1)-fach. Schreibweise: κ(G) = max{k | G ist k-fach zusammenhängend} Definition G = (V , E ) ist k-fach Kanten zusammenhängend, falls: ∀E 0 ⊂ E : |E 0 | = k − 1 gilt G − E 0 ist zusammenhängend. Fall G k-fach Kanten zusammenhängend ist, dann auch (k − 1)-fach. Schreibweise: λ(G) = max{k | G ist k-fach Kanten zusammenhängend} Posets g Einleitende Definitionen Aussagen Zusammenhang von Graphen Flüsse Matchings (1:17) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 Aussagen zum Zusammenhang Theorem Für jeden Graphen G = (V , E ) gilt: κ(G) 6 λ(G) 6 δ(G) Schreibweise: δ(G) := min{deg(v ) | v ∈ V } Theorem Für alle nat. Zahlen 0 < a 6 b 6 c gibt es einen Graphen G mit: κ(G) = a, λ(G) = b, δ(G) = c Theorem Sei G = (V , E ) mit: |V | = n und δ(G) > n/2. Dann gilt: λ(G) = δ(G) SS2013 Z Posets g Einleitende Definitionen Aussagen Zusammenhang von Graphen Flüsse (1:18) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Aussagen zum Knoten Zusammenhang Z Theorem Sei G = (V , E ) mit: |V | = n und |E | = e. Dann ist der maximale Zusammenhang (maximale k mit G ist k-fach zusammenhängend) von G: 0 2 · e/n falls falls e <n−1 e >n−1 Theorem Sei G = (V , E ) zusammenhängend. Die folgenden Aussagen sind äquivalent: 1 v ∈ V ist ein Knoten-Separator. 2 ∃a, b ∈ V : a, b 6= v : Jeder Weg von a nach b geht über v . 3 ˙ = V \ {v } und jeder Weg von a ∈ A nach b ∈ B geht über v . ∃A, B: A∪B Posets g Einleitende Definitionen Aussagen Zusammenhang von Graphen Flüsse (1:19) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Aussagen zum Kanten Zusammenhang Theorem Sei G = (V , E ) zusammenhängend. Die folgenden Aussagen sind äquivalent: 1 e ∈ E ist ein Kanten-Separator. 2 e ist in keinem einfachen Kreis von G 3 ∃a, b ∈ E : jeder Weg von a nach b geht über e 4 ˙ = V und jeder Weg von a ∈ A nach b ∈ B geht über e ∃A, B: A∪B Z Posets g Einleitende Definitionen Aussagen Zusammenhang von Graphen Flüsse (1:20) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Definitionen Z Definition Sei G = (V , E ) und (a, b) = e ∈ E . Die Aufteilung (subdivision) der Kante e ˙ }, E ∪ {(a, v ), (v , b)} \ {e}) ergibt den Graphen G = (V ∪{v b c d a f e Definition Eine Menge von Wegen von G = (V , E ) heißt intern-knotendisjunkt, falls keine zwei Wege einen inneren Knoten gemeinsam haben. Die inneren Knoten sind alle außer Start- und Endknoten. Posets g Einleitende Definitionen Aussagen Zusammenhang von Graphen Flüsse (1:21) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Z Theorem Sei G = (V , E ) mit |V | > 3. Die folgenden Aussagen sind äquivalent: 1 G ist 2-fach zusammenhängend. 2 Jedes Knotenpaar ist mit zwei intern-knotendisjunkten Wegen verbunden. 3 Jedes Knotenpaar liegt auf einem gemeinsamen einfachen Kreis. 4 Es gibt eine Kante. Und jeder Knoten zusammen mit dieser Kante liegt auf einem gemeinsamen einfachen Kreis. 5 Es gibt zwei Kanten. Und jedes Kantenpaar liegt auf einem gemeinsamen einfachen Kreis. 6 Zu einem Knotenpaar a, b und einer Kante e gibt es einen einfachen Weg von a nach b über e. 7 Zu drei Knoten a, b, c gibt es einen Weg von a nach b über c. 8 Zu drei Knoten a, b, c gibt es einen Weg von a nach b, ohne über c zu gehen. Posets g Einleitende Definitionen Aussagen Zusammenhang von Graphen (1:22) Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Aussagen Z Theorem Sei G = (V , E ) k-fach zusammenhängend, dann liegen je k Knoten auf einem gemeinsamen einfachen Kreis. Schreibweise: Seien (G = V , E ) und (H = W , F ) Graphen ˙ , E ∪ F ∪ {(a, b) | a ∈ V , b ∈ W }) G + W = (V ∪W Theorem Ein Graph G ist 3-fach zusammenhängend genau dann, wenn G aus einem Rad Wi = K1 + Ci (i > 4) durch die folgenden Operationen aufbaubar ist: 1 Hinzufügen einer neuen Kante. 2 Aufspalten eines Knotens vom Grad > 4 in zwei verbundenen Knoten vom Grad > 3. Posets g Einleitende Definitionen Aussagen Zusammenhang von Graphen (1:23) Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Aussagen zu k-fach Zusammenhang Theorem (Menger’s Theorem) G ist k-fach zusammenhängend genau dann, wenn es zwischen je zwei Knoten k intern-knotendisjunkte Wege gibt. Theorem (Menger’s Theorem) G ist k-fach-Kanten zusammenhängend genau dann, wenn es zwischen je zwei Knoten k kanten-disjunkte Wege gibt. Z Posets g Einleitende Definitionen Aussagen (1:24) Zusammenhang von Graphen Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Bestimmung des Zusammenhangs Theorem Der 1-fache Zusammenhang kann mit DFS/BFS bestimmt werden. Theorem Der 1-fache Kanten-Zusammenhang kann mit DFS/BFS bestimmt werden. Theorem Der 2-fache Zusammenhang kann mit DFS/BFS bestimmt werden. Theorem Der k-fache Zusammenhang kann mit Flussalgorithmen bestimmt werden. Theorem Der k-fache Kanten-Zusammenhang kann mit Flussalgorithmen bestimmt werden. Z Posets g Einleitende Definitionen Gerichteter Graph Zusammenhang von Graphen Flüsse (1:25) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Definition: Graph v2 v9 Definition (gerichteter Graphen) v4 Sei V (G) = {v1 , ..., vn } eine nicht-leere Knotenmenge und E (G) eine Menge oder Multimenge von Paaren aus V × V (Kantenmenge). Die Mengen V (G) und E (G) definieren den Graphen G = (V (G), E (G)). Falls G eindeutig ist, schreiben wir vereinfacht: V b.z.w. E . D.h. G = (V , E ). Standardmäßig: n = |V | und m = |E |. v6 v1 v8 v5 v0 v3 v7 Z Posets g Einleitende Definitionen Gerichteter Graph Zusammenhang von Graphen (1:26) Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Starker Zusammenhang Definition Ein gerichteter Graph G = (V , E ) heißt stark zusammenhängend, falls es zwischen je zwei verschiedenen Knoten a, b einen Weg von a nach b gibt. Theorem Der starke Zusammenhang kann mit DFS/BFS bestimmt werden. Z Posets g Einleitende Definitionen Einleitung Zusammenhang von Graphen Flüsse (1:27) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Das Fluss Problem Definition (Fluss) Sei G = (V , E ) ein gerichteter Graph mit Kostenfunktion c : E 7→ N. Seien s, t ∈ V Quelle und Senke. Eine Funktion f : E 7→ N ist eine Flussfunktion gdw.: ∀e ∈ E : 0 6 f (e) 6 c(e) P P ∀v ∈ V \ {s, t} : e=(v ,w )∈E f (e) = e=(w ,v )∈E f (e) Der Wert des Flusses ist: P e=(s,w )∈E f (e) − P e=(w ,s)∈E Definition (Maximaler Fluss Problem) Gegeben: Graph G = (V , E ), s, t ∈ V and c : E 7→ N Bestimme: Maximale Flussfunktion f . Theorem (Maximaler Fluss Problem) Das Problem den maximalen Fluss zu bestimmen ist in P. f (e) Z Posets g Einleitende Definitionen Einleitung Zusammenhang von Graphen Flüsse Matchings (1:28) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Der Minimale Schnitt Definition (Schnitt) Sei G = (V , E ) ein gerichteter Graph mit Kostenfunktion c : E 7→ N. Seien s, t ∈ V Quelle und Senke. A, B ⊂ V wird Schnitt genannt, falls s ∈ A und t ∈ B A ∩ B = ∅ und A ∪ B = V Die Kapazität vom Schnitt A, B ist: P e=(v ,w )∈E ,v ∈A,w ∈B Theorem (Min-Cut-Max-Flow) Der Minimale Schnitt ist gleich dem maximalen Fluss. c(e) Z Posets g Einleitende Definitionen Definition Zusammenhang von Graphen Flüsse Matchings (1:29) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Das Maximal Matching Problem Z Definition Sei G = (V , E ) ein Graph. Die Kanten e, e 0 ∈ E sind unabhängig, wenn sie keinen gemeinsamen Knoten haben. Definition (Matching) Sei G = (V , E ) ein Graph. M ⊆ E heißt Matching, falls ∀e, f ∈ M, e 6= f : e ∩ f = ∅. D.h. M ist Menge von unabhängigen Kanten. Definition Sei G = (V1 , V2 , E ) ein bipartiter Graph, und es existiert eine Menge M von |V1 | unabhängigen Kanten. Dann heißt M vollständiges Matching von V1 nach V2 . Posets g Einleitende Definitionen Zusammenhang von Graphen Matching auf bipatiten Graphen Flüsse Matchings (1:30) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Theorem von Hall Z Definition Sei G = (V1 , V2 , E ) ein bipartiter Graph und A ⊆ V1 . Wir bezeichnen: Γ(A) = {v ∈ V2 (v , w ) ∈ E , w ∈ A}. Theorem (Hall) Sei G = (V1 , V2 , E ) ein bipartiter Graph. Es existiert ein vollständiges Matching von V1 nach V2 genau dann, wenn für jedes A ⊆ V1 gilt |Γ(A)| > |A|. Corollary Jeder reguläre bipartite Graph G = (V1 , V2 , E ) mit |V1 | = |V2 | enthält ein vollständiges Matching. Posets i Einleitende Definitionen Zusammenhang von Graphen Matching auf bipatiten Graphen Flüsse Matchings (1:31) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Beweis (Hall) Z Theorem (Hall) Sei G = (V1 , V2 , E ) ein bipartiter Graph. Es existiert ein vollständiges Matching von V1 nach V2 genau dann, wenn für jedes A ⊆ V1 gilt |Γ(A)| > |A|. =⇒ einfach: Sei M Matching mit |M| = |V1 | und sei A ⊂ V1 beliebig. |Γ(A)| = |{v ∈ V2 (v , w ) ∈ E , w ∈ A}|. |Γ(A)| > |{v ∈ V2 (v , w ) ∈ M, w ∈ A}|. |Γ(A)| > |A|. Posets i Einleitende Definitionen Zusammenhang von Graphen Matching auf bipatiten Graphen Flüsse Matchings (1:32) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Beweis (Hall) Z Theorem (Hall) Sei G = (V1 , V2 , E ) ein bipartiter Graph. Es existiert ein vollständiges Matching von V1 nach V2 genau dann, wenn für jedes A ⊆ V1 gilt |Γ(A)| > |A|. ⇐= durch Widerspruch: Sei M größtes Matching mit |M| < |V1 |. Sei A1 = {v ∈ V1 | ∃b ∈ V2 : {v , b} ∈ M}. Sei A2 = {v ∈ V2 | ∃b ∈ V1 : {v , b} ∈ M}. Sei a ∈ V1 \ A1 . Γ(a) ⊂ A2 , da M größtes Matching. Jeder alternierende Weg von a kann nur Knoten aus A01 ∪ A02 erreichen mit A0i ⊂ Ai und |A01 | = |A02 |. Damit Γ(A01 ∪ {a}) ⊂ A02 . |A01 ∪ {a}| > |A02 |. Posets i Einleitende Definitionen Anwendungen Zusammenhang von Graphen (1:33) Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Anwendungen I Z Corollary Sei G = (V1 , V2 , E ) ein bipartiter Graph und |Γ(A)| > |A| − d für jedes A ⊆ V1 . Dann hat G mindestens |V1 | − d unabhängige Kanten. =⇒ durch Widerspruch: Sei M größtes Matching mit m = |M| < |V1 | − d. Sei A1 = {v ∈ V1 | ∃b ∈ V2 : {v , b} ∈ M}. Sei A2 = {v ∈ V2 | ∃b ∈ V1 : {v , b} ∈ M}. Sei a0 , a1 , · · · , ad ∈ V1 \ A1 . Γ(ai ) ⊂ A2 , da M größtes Matching. Jeder alternierende Weg von ai kann nur Knoten aus A1 ∪ A2 erreichen. Damit Γ(A1 ∪ {ai }) ⊂ A2 . m + d + 1 = |A1 ∪ {ai | 0 6 i 6 d}| > |A2 | = m. Posets n Einleitende Definitionen Anwendungen Zusammenhang von Graphen Flüsse Matchings (1:34) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Anwendungen II Corollary Sei G = (V1 , V2 , E ) ein bipartiter Graph mit V1 = (x1 , ..., xm ) und V2 = (y1 , ..., yn ). Dann enthält G einen Spanngraph H mit degH (xi ) = di und 0 6 degH (yi ) 6 1 genau dann, wenn für jedes A ⊆ V1 gilt |Γ(A)| > X di . xi ∈A =⇒ einfach: Sei S Spanngraph mit |S| = |V1 |. Sei A ⊂ V1 beliebig. |Γ(A)| = |{v ∈ V2 (v , w ) ∈ E , w ∈ A}|. |Γ(A)| > |{v ∈ V2 (v , w ) ∈ S, w ∈ A}|. P |Γ(A)| > xi ∈A di . Z Posets n Einleitende Definitionen Anwendungen Zusammenhang von Graphen Flüsse Matchings (1:35) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Anwendungen III Corollary Sei G = (V1 , V2 , E ) ein bipartiter Graph mit V1 = (x1 , ..., xm ) und V2 = (y1 , ..., yn ). Dann enthält G einen Spanngraph H mit degH (xi ) = di und 0 6 degH (yi ) 6 1 genau dann, wenn für jedes A ⊆ V1 gilt |Γ(A)| > X di . xi ∈A ⇐= durch Widerspruch: Sei S größter Spanngraph mit |S| < |V1 |. Sei A1 = {v ∈ V1 | ∃b ∈ V2 : {v , b} ∈ S}. Sei A2 = {v ∈ V2 | ∃b ∈ V1 : {v , b} ∈ S}. Sei a ∈ V1 \ A1 . N(a) ∩ A2 6= ∅, da S größter P Spanngraph. Damit |Γ(A1 ∪ {a})| < xi ∈A1 ∪{a} di . Z Posets n Einleitende Definitionen Anwendungen Zusammenhang von Graphen (1:36) Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Anwendungen IV Z Definition Sei A = (aij ) eine Matrix, i = 1, ..., r , j = 1, ..., n, mit aij ∈ {1, ..., n}. Die Matrix A heißt lateinisches Rechteck, wenn keine zwei Elemente einer Zeile oder einer Spalte gleich sind. Theorem Sei A ein r × n lateinisches Rechteck. Dann kann A zu einem n × n lateinischen Quadrat erweitert werden. Beweis: Übung. Posets n Einleitende Definitionen Probleme Zusammenhang von Graphen Flüsse (1:37) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Matchingprobleme Definition (Maximal Matching Problem) Gegeben: Graph G = (V , E ) Bestimme: Matching M mit: ∀e ∈ E : M ∪ {e} ist kein Matching. Definition (Maximum Matching Problem) Gegeben: Graph G = (V , E ) Bestimme: Matching M mit: ∀M 0 : M 0 ist ein Matching =⇒ |M 0 | 6 |M|. Z Posets g Einleitende Definitionen Probleme Zusammenhang von Graphen Flüsse Matchings (1:38) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 Das Maximal Matching Problem Theorem (Maximal Matching Problem) Das Maximal Matching Problem ist in P für bipartite Graphen. Algorithmus: Eingabe G = (V , E ) bipartiter Graph Setze M = ∅ Solange E 6= ∅, mache Wähle e ∈ E Setze M = M ∪ {e} Setze E := E \ {f ∈ E | e ∩ f 6= ∅} SS2013 Z Posets g Einleitende Definitionen Probleme Zusammenhang von Graphen Flüsse Matchings (1:39) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Alternierende Pfade Z Posets g A ⊕ B = (A ∪ B) \ (A ∩ B) Sei G = (V , E ) ein Graph und M ⊂ E ein Matching. Ein Knoten v ∈ V heißt frei, falls v 6∈ ∪e∈M e. Ein Pfad v0 , {v0 , v1 }, v1 , {v1 , v2 }, v2 , {v2 , v3 }, v3 , . . . , vl−1 , {vl−1 , vl }, vl heißt alternierend, falls {vi−1 , vi } ∈ M ⇔ {vi , vi+1 } 6∈ M (0 < i < l). v0 v1 v2 v3 v4 v5 v6 Ein alterniernder Pfad v0 , {v0 , v1 }, v1 , {v1 , v2 }, v2 , {v2 , v3 }, v3 , . . . , vl−1 , {vl−1 , vl }, vl heißt erweiternd, falls v0 , vl frei sind. v0 v1 v2 v3 v4 v5 Bemerkung: Eine Kante zwischen freien Knoten ist ein verbessernder Pfad. Damit arbeitet der Algorithmus wie folgt: 1 2 Setze M = ∅. Solange es erweiternden Pfad P gibt, mache: 1 Erweitere M, d.h. M = M ⊕ E (P). Einleitende Definitionen Probleme Zusammenhang von Graphen Flüsse (1:40) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 Beispiel allgemeiner Graph SS2013 Z Posets g A ⊕ B = (A ∪ B) \ (A ∩ B) Versuch mit verbessernde Pfade auf allgemeinen Graphen: a1 b1 b2 c1 c2 d1 a0 b0 b3 c0 c3 d0 a2 b4 c4 Ungerade Kreise können Probleme machen d2 Einleitende Definitionen Probleme Zusammenhang von Graphen (1:41) Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Satz von Berge Z Posets i A ⊕ B = (A ∪ B) \ (A ∩ B) Theorem (Berge) Ein Matching M 0 in einem Graphen G ist genau dann kardinalitätsmaximal (maximum), wenn es keinen erweiternden alternierenden Weg gibt. Beweis: =⇒ trivial. ⇐= durch Widerspruch. Sei M Matching mit |M| > |M 0 |. Weiterhin gebe es keinen erweiternden alternierenden Weg für M 0 . Betrachte Graph H mit Kanten die nur aus M ∪ M 0 \ (M ∩ M 0 ). Dieser besteht aus Wegen und Kreisen. Damit gibt es einen erweiternden alternierende Weg für M 0. Einleitende Definitionen Probleme Zusammenhang von Graphen Flüsse Matchings (1:42) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 The Maximum Matching Problem Z Posets g A ⊕ B = (A ∪ B) \ (A ∩ B) Theorem (Maximum Matching Problem) The Maximum Matching Problem ist in P. Algorithmus: Eingabe G = (V , E ) [bipartiter] Graph Setze M = ∅. Solange es einen alternierenden Pfad (a0 , a1 , a2 , · · · al ) in G gibt, mit l ungerade, {a2·i , a2·i+1 } 6∈ M und {a2·i+1 , a2·i } ∈ M mache Vertausche Kanten in P: Füge Kanten aus {a2·i , a2·i+1 } zu M und lösche Kanten der Form {a2·i+1 , a2·i } von M Falls G = (V , E ) kein bipartiter Graph, dann löse ungerade Kreise rekursiv auf. Einleitende Definitionen Einleitung (1:43) Zusammenhang von Graphen Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 Faktoren Definition Sei G ein Graph. Ein k-regulärer Spanngraph H von G heißt k-Faktor. Theorem Der Graph K2t ist die Summe von 2t − 1 1-Faktoren. Theorem Der Graph K2t+1 ist die Summe von t Spannkreisen. SS2013 Z Posets n Einleitende Definitionen Einleitung Zusammenhang von Graphen Flüsse Matchings (1:44) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 Beispiel I a3 a2 a1 a4 a10 a9 a5 a8 a6 a7 SS2013 Z Posets n Einleitende Definitionen Einleitung Zusammenhang von Graphen (1:45) Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Beweis I Theorem Der Graph K2t ist die Summe von 2t − 1 1-Faktoren. Zeichne 2t − 1 Knoten a1 , a2 , · · · , a2t−1 , als reguläres (2t − 1)-Eck. Zeichne a2t als Spitze einer Pyramide auf die Knoten a1 , a2 , · · · , a2t−1 . Wähle 1-Faktor: Kante des (2t − 1)-Ecks. Alle parallelen Diagonalen in dem (2t − 1)-Ecks. Eine verbleibende Kante von einzigen verbleibenden freien Knoten zur Spitze. Z Posets n Einleitende Definitionen Einleitung Zusammenhang von Graphen Flüsse (1:46) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 Beispiel II a3 a2 a4 a1 a11 a5 a10 a6 a9 a7 a8 SS2013 Z Posets n Einleitende Definitionen Einleitung Zusammenhang von Graphen (1:47) Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Beweis II Theorem Der Graph K2t+1 ist die Summe von t Spannkreisen. Zeichne 2t Knoten a1 , a2 , · · · , a2t , als reguläres (2t)-Eck. Zeichne a2t+1 als Spitze einer Pyramide auf die Knoten a1 , a2 , · · · , a2t . Wähle 2-Faktor: Verbinde genau gegenüberliegende Knoten wie folgt: Gehe im Zick-Zack über alle Knoten des (2t)-Ecks. D.h.zuerst zum direkten rechten Nachbarn, dann zum direkten linken Nachbarn (d.h. zwei Knoten zurück). usw. Verbinde dann die genau gegenüberliegende Knoten nochmal über a2t+1 Nun kann man zu jeder Kante genau einen Kreis identifizieren. Z Posets n Einleitende Definitionen Aussagen Zusammenhang von Graphen (1:48) Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Aussagen Z Definition Sei G ein Graph. Ein Spanngraph H von G heißt [k, k 0 ]-Faktor, falls für alle Knoten v vom H gilt: k 6 deg(v ) 6 k 0 .Der k, k 0 -Faktor heißt perfekt, falls jede Zusammenhangskomponente regulär ist. Theorem (Tutte 1953) Ein Graph G = (V , E ) enthält einen perfekten [1,2]-Faktor genau dann, wenn für jedes S ⊂ V gilt: |S| 6 |Γ(S)|. Beweis (=⇒) Sei S perfekter [1,2]-Faktor. S1 = {x ∈ S | degS (x ) = 1} und S2 = {x ∈ S | degS (x ) = 2}. Damit |S1 | = |ΓH (S1 )| und |S2 | 6 |ΓH (S2 )|. Da ΓH (S2 ) und ΓH (S1 ) disjunkt sind, gilt: |S| = |S1 | + |S2 | 6 |ΓH (S1 )| + |ΓH (S2 )| = |ΓH (S)| 6 |ΓG (S)|. Posets n Einleitende Definitionen Aussagen Zusammenhang von Graphen Flüsse (1:49) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Beweis (Teil 2) Theorem (Tutte 1953) Ein Graph G = (V , E ) enthält einen perfekten [1,2]-Faktor genau dann, wenn für jedes S ⊂ V gilt: |S| 6 |Γ(S)|. Beweis (⇐=): Sei V = {x1 , x2 , · · · , xn }, setze: V1 = {x10 , x20 , · · · , xn0 } und V2 = {x100 , x200 , · · · , xn00 }. Damit G 0 = (V1 , V2 , {(xi0 , xj00 ) | (xi , xj ) ∈ E ) bipartiter Graph. Setze S 0 = {xi0 | xi ∈ S}. Dann gilt: Γ(S 0 ) = {xi00 | xi ∈ Γ(S)} Damit gilt weiter: |S 0 | = |S| 6 |Γ(S)| = |Γ(S 0 )|. Damit enthällt G 0 einen 1-Faktor M (Matching). Setze H = {(xi , xj ) | (xi0 , xj00 ) ∈ M}. Damit ist H ein [1,2]-Faktor. Z Posets n Einleitende Definitionen Aussagen Zusammenhang von Graphen Flüsse (1:50) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 Beweis (Teil 3) Beweis (⇐=): Sei V = {x1 , x2 , · · · , xn }, setze: V1 = {x10 , x20 , · · · , xn0 } und V2 = {x100 , x200 , · · · , xn00 }. Damit G 0 = (V1 , V2 , {(xi0 , xj00 ) | (xi , xj ) ∈ E ) bipartiter Graph. Setze S 0 = {xi0 | xi ∈ S}. Dann gilt: Γ(S 0 ) = {xi00 | xi ∈ Γ(S)}. Damit gilt weiter: |S 0 | = |S| 6 |Γ(S)| = |Γ(S 0 )|. Damit enthällt G 0 einen 1-Faktor M (Matching). Setze H = {(xi , xj ) | (xi0 , xj00 ) ∈ M}. Damit ist H ein [1,2]-Faktor. Zeige: degH (xi ) = 1 und {xi , xj } ∈ H dann gilt degH (xj ) = 1: Es gibt k, l: (xi0 , xk00 ), (xl0 , xi00 ) ∈ M. Damit gilt k = l und degH (xj ) = 1. SS2013 Z Posets n Einleitende Definitionen Aussagen Zusammenhang von Graphen (1:51) Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Aussagen Definition Eine Zusammenhangskomponente von einen G heißt ungerade (bzw. gerade), wenn sie ein ungerade (bzw. gerade) Anzahl von Knoten enthält. Sei q(G) die Anzahl der ungeraden Zusammenhangskomponenten von G. Theorem (Tutte 1947) Ein Graph G = (V , E ) enthält einen 1-Faktor genau dann, wenn für jedes S ⊂ V gilt: q(G − S) 6 |S|. Theorem (Petersen 1891) Sei G ein 3-regulärer 2-fach-Kanten zusammenhängender Graph. Dann ist G die Summe von einem 1-Faktor und einem 2-Faktor. Theorem (Petersen 1891) Ein Graph G = (V , E ) ist die Summe von k 2-Faktoren genau dann, wenn G 2k-regulär ist. Z Posets n Einleitende Definitionen Aussagen Zusammenhang von Graphen Flüsse (1:52) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Beweis I (Teil 1) Theorem (Tutte 1947) Ein Graph G = (V , E ) enthält einen 1-Faktor genau dann, wenn für jedes S ⊂ V gilt: q(G − S) 6 |S|. Beweis (=⇒) Sei S ⊂ V und G habe 1-Faktor. Seien U1 , U2 , · · · Up die ungeraden Komponenten von G − S. Von jedem Ui muss ein Kante des Faktors nach S gehen. Sei {ui , si } diese Kante. Damit: q(G − S) = p = |{s1 , s2 , · · · , sp }| 6 |S|. Z Posets n Einleitende Definitionen Aussagen Zusammenhang von Graphen Flüsse Matchings (1:53) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Beweis I (Teil 2) Theorem (Tutte 1947) Ein Graph G = (V , E ) enthält einen 1-Faktor genau dann, wenn für jedes S ⊂ V gilt: q(G − S) 6 |S|. Beweis (⇐=) durch Induktion über n = |V |: Bemerkung: Für alle ungeraden n gilt die Behauptung. Beachte dazu: S = ∅. Induktionsanfang n = 2: Wegen S = ∅ gibt es eine Kante. Damit gilt der Induktionsanfang. Z Posets n Einleitende Definitionen Aussagen Zusammenhang von Graphen Flüsse Matchings (1:54) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Beweis I (Teil 3) Z Theorem (Tutte 1947) Ein Graph G = (V , E ) enthält einen 1-Faktor genau dann, wenn für jedes S ⊂ V gilt: q(G − S) 6 |S|. Beweis (⇐=) Induktionsschritt n > 4: Wähle S maximal mit q(G − S) = |S|. Wir zeigen, dann G − S enthält keine geraden Komponenten. Seien nun U1 , U2 , · · · Up die ungeraden Komponenten von G − S. Wir zeigen dann, dass für xi ∈ V (Ui ) der Graph Ui − {xi } einen 1-Faktor hat. Danach finden wir einen 1-Faktor in G. Posets n Einleitende Definitionen Aussagen Zusammenhang von Graphen Flüsse (1:55) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Beweis I (Teil 3a) Theorem (Tutte 1947) Ein Graph G = (V , E ) enthält einen 1-Faktor genau dann, wenn für jedes S ⊂ V gilt: q(G − S) 6 |S|. Zeige: G − S enthält keine geraden Komponenten: Annahme: Es gibt gerade Komponente V 0 und a ∈ V 0 , Dann gilt: |S| + 1 = 1 + q(G − S) 6 q(G − (S ∪ {a})) 6 |S ∪ {a}| = |S| + 1 Widerspruch zur Maximalität von S. Z Posets n Einleitende Definitionen Aussagen Zusammenhang von Graphen Flüsse (1:56) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 Beweis I (Teil 3b) Zeige: Für xi ∈ V (Ui ) hat der Graph Ui − {xi } einen 1-Faktor. Annahme: H = Ui − {xi } hat keinen 1-Faktor. Nach IV existiert nun S 0 ⊂ V (H) mit q(H − S 0 ) > |S 0 |. Zwischenüberlegung: |V (H)| ist gerade und q(H − S 0 ) − |S 0 | ist auch gerade. Ist |S 0 | ungerade so auch |V (H) − S 0 | und damit q(H − S 0 ). Ist |S 0 | gerade so auch |V (H) − S 0 | und damit q(H − S 0 ). Damit gilt: q(H − S 0 ) > |S 0 | + 2. |S| + |S 0 | + 1 = |S ∪ S 0 ∪ {xi }| > q(G − (S ∪ S 0 ∪ {xi })) q(G − (S ∪ S 0 ∪ {xi })) = q(G − S) − 1 + q(H − S 0 ) q(G − S) − 1 + q(H − S 0 ) > |S| − 1 + |S 0 | + 2 = |S| + |S 0 | + 1 Widerspruch zur Maximalität von S. SS2013 Z Posets n Einleitende Definitionen Aussagen Zusammenhang von Graphen Flüsse (1:57) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Beweis I (Teil 3c) Zeige: es gibt 1-Faktor in G. Finde Matching M mit |M| = p zwischen S und den U1 ∪ U2 ∪ . . . ∪ Up . Setze: U = {U1 ∪ U2 ∪ . . . ∪ Up }. Setze: B = (U, S, {{Ui , s} | ∃ui ∈ V (Ui ) : {ui , s} ∈ E (G)}). Zeige nun, B hat perfektes Matching. Sei nun X ⊂ U und Y = ΓB (X ), dann gilt: |X | 6 q(G − Y ). Zusammengefasst: |X | 6 q(G − Y ) 6 |Y | = |ΓB (X )|. Damit hat B ein perfektes Matching. Damit hat G einen 1-Faktor. Z Posets n Einleitende Definitionen Aussagen Zusammenhang von Graphen (1:58) Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Beweis II Z Theorem (Petersen 1891) Ein Graph G = (V , E ) ist die Summe von k 2-Faktoren genau dann, wenn G 2k-regulär ist. =⇒ trivial. ⇐= Über Eulergrapheigenschaft und Induktion Falls k = 1, so besteht G aus disjunkten Kreisen. G besitzt o.E.d.A. einen Eulerkreis. Richte die Kanten nach dem Eulerkreis aus (Knotenmenge F ). Sei V = {x1 , x2 , · · · , xn }, setze: V1 = {x10 , x20 , · · · , xn0 } und V2 = {x100 , x200 , · · · , xn00 }. Damit G 0 = (V1 , V2 , {{xi0 , xj00 } | (xi0 , xj00 ) ∈ F ) regulärer bipartiter Graph vom Grad k. Dieser hat k perfekte Matchings. Diese Matchings definieren k 2-Faktoren in G. Posets n Einleitende Definitionen Aussagen Zusammenhang von Graphen (1:59) Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Beweis III Z Theorem (Petersen 1891) Sei G ein 3-regulärer 2-fach-Kanten zusammenhängender Graph. Dann ist G die Summe von einem 1-Faktor und einem 2-Faktor. Sei A ⊂ V . Seien U1 , U2 , · · · , Up die ungeraden Komponenten in G − A. Zu jeder Komponente in Ui gibt es mindestens 2 Kanten in G, die Ui und A verbinden. Wegen der 3-Regularität sind es sogar mindestens 3 Kanten. Damit gibt es mindestens 3 · q(G − A) Kanten von G − A nach A. 3|A| = dG (A) := P x ∈A dG (x ) > 3 · q(G − A). q(G − A) 6 |A|. Wende Satz von Tutte an. Posets n Einleitende Definitionen Definition und Aussagen Zusammenhang von Graphen (1:60) Flüsse Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Posets Z Definition Sei P eine finite Menge und < eine transitive anti-reflexible Relation. Das Paar (P, <) heißt teilweise geordnete Menge (Poset). Eine Teilmenge A ⊂ P heißt Antikette, wenn x < y impliziert {x , y } 6∈ A. Weiterhin, heißt C ⊂ P Kette, wenn für alle x , y ∈ C entweder x 6 y oder x > y gilt. Theorem (Dilworth) Sei P eine Poset und m ist die maximale Kardinalität der Antikette in P. Dann ist P eine Vereinigung von m Ketten. Theorem (Sperner) Die Kardinalität der maximalen Antikette in Q n ist n bn/2c . Posets n Einleitende Definitionen Definition und Aussagen Zusammenhang von Graphen Flüsse Matchings (1:61) Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Posets Theorem (Leader 1995) Sei A, B ⊆ Q n mit |A| = gilt: Es gibt n k Es gibt n k Pk i=1 n i , |B| = Pl i=1 n i und k 6 l < n/2. Dann Kanten, die A mit Q n \ A verbinden. Knoten-disjunkte Wege von A nach B. Z Posets n Einleitende Definitionen Definition und Aussagen Zusammenhang von Graphen Flüsse (1:62) Matchings Faktoren in Graphen <> Walter Unger 8.5.2013 10:26 SS2013 Literatur 1 Golumbic M.C. Algorithmic Graph Theory and Perfect Graphs 2 Harary F.: Graphentheorie, 1974. 3 Oré O.: Graphen und ihre Anwendungen, 1974. 4 Bollobás B.: Graph theory - an introductory course, 1985. 5 Bollobás B.: Extremal Graph Theory, 1976 6 Wilson R.J.: Einführung in die Graphentheorie, 1972 7 Bondy J.A., Murty U.S.: Graph theory with Applications, 1976 8 Beineke L.W., Wilson R.J., eds. : Selected topics in graph theory, 1978 9 Brandstädt A.: Special graph classes - a survey. Z Posets n Einleitende Definitionen Definition und Aussagen Zusammenhang von Graphen Flüsse (1:63) Matchings <> Walter Unger 8.5.2013 10:26 Legende n Nicht relevant g Grundlagen, die implizit genutzt werden i Idee des Beweises oder des Vorgehens s Struktur des Beweises oder des Vorgehens w Vollständiges Wissen Faktoren in Graphen SS2013 Z Posets x