Kap. 2: Maximum Cut in planaren Graphen Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 5. VO 13. November 2006 Überblick • 2.1 Einführung – Schnitte in Graphen – Planare Graphen – Euler-Graphen • 2.2 Transformation in T-Join Problem • 2.3 Algorithmus für das T-Join Problem kleinsten Gewichts 2 2.1 Einführung • Sei G=(V,E) ungerichtet: • Eine Kantenmenge F⊆E heißt Schnitt (engl.: Cut ), wenn es eine Knotenmenge W⊆V gibt, so dass F := δ(W) := { uv∈E: u∈W, v∈V\W } gilt. Cut δ(W): W={2,3} 1 W 3 2 5 4 6 Achtung: Cut ≠ (s,t)-Cut (trennt geg. s von t) 3 Maximum Cut Problem • Gegeben: Graph G=(V,E), ungerichtet, mit Kantengewichten c∈RE. • Gesucht: Schnitt F = δ(W) mit maximalem Gewicht c(F):= ∑ c(e) e∈F Cut δ(W): W={2,3} 1 W 3 2 5 4 6 4 Komplexität Das Maximum Cut Problem ist NP-schwierig, sogar wenn alle Gewichte c(e)=1 sind. In polynomieller Zeit lösbar, wenn • alle Gewichte negativ sind (bis auf höchstens ein c(e)), dann: Minimum Cut Problem (lösbar z.B. mit Hilfe von Maximalen Flüssen in Netzwerken. • G ein planarer Graph ist Reduktion zu T-Join Problem (Hadlock 1975) → jetzt! 5 Planare Graphen Ein Rätsel A B C G W E Rätselbuch von Dudeney, 1911 6 Erster Versuch A B C G W E 7 Neuer Versuch A B C G W E 8 Nach Umordnung B C E G A Das geht nicht! W 9 Def. planarer Graph • G=(V,E) ist planar genau dann, wenn eine injektive Abbildung der Knoten und Kanten von G auf die Ebene existiert, die folgende Bedingungen erfüllt: – Jedem Knoten wird ein Punkt zugeordnet und – jede Kante vw wird auf eine stetige Kurve abgebildet, die die Bilder von v und w verbindet. – Dabei dürfen die Bilder verschiedener Kanten nur die Bilder ihrer gemeinsamen Endpunkte gemeinsam haben. • Das Bild einer solchen Abbildung heißt planare Zeichnung. • G ist also planar, wenn er eine planare Zeichnung besitzt (d.h. ohne Kantenkreuzungen in die Ebene gezeichnet werden kann). 10 Planare Graphen • G heißt eben, wenn G planar in die Ebene eingebettet ist. • Ein ebener Graph unterteilt die Ebene in verschiedene zusammenhängende Gebiete (Flächen, engl.: faces). Eine davon ist unbegrenzt, sie heißt Außenfläche. 1 3 2 1 5 4 G ist planar 6 3 2 5 4 6 und jetzt auch eben 11 Kombinatorische Planare Einbettungen a C e A b B c d ≅ a b Geordnete Liste (Uhrzeiger) der Liste (Gegenuhrzeiger) der Randknoten jeder Region: Nachbarn für jeden Knoten: a: b: c: d: e: c ≅ ≅ a e A: a, b, e B: b, a, c, d C: c, a, e, b, d c, e, b e, d, a a, d b, c b, a Spiegelbild e e b a d d c b d c Ein planarer 3-zusammenhängender Graph hat genau 2 kombinatorische Einbettungen 12 Kombinatorische Einbettungen Ein (planarer) Graph kann exponentiell viele verschiedene Einbettungen besitzen a c d e ..... .. Graph G mit n Knoten und (n-2)! kombinatorischen Einbettungen b Viele Optimierungsprobleme über der Menge aller kombinatorischen Einbettungen sind NP-schwierig 13 Theorem von Kuratowski Ein Graph ist genau dann planar wenn er keine Unterteilung des K3,3 und K5 enthält. K3,3 K5 Planaritätstest und Einbettungsberechnung: lineare Zeit (später in VO) 14 Planare Graphen Lemma: Sei G ein planarer Graph. Dann gilt: |E| ≤ 3|V|-6 für |V|≥3. Beweis: aus Eulerscher Polyederformel: |E|+2 = |V|+|F| 15 Euler-Graphen Def.: Ein Graph heißt Euler-Graph (Eulersch), wenn ein geschlossener Kantenzug existiert, der alle Knoten besucht und dabei jede Kante genau einmal durchläuft. Lemma: Sei G=(V,E) zusammenhängend. Dann sind die folgenden Aussagen äquivalent: • G ist Eulersch • Jeder Knoten in G hat geraden Knotengrad • Die Kantenmenge von G kann in kantendisjunkte Kreise zerlegt werden. Beweis: Übung 16 Duale Graphen Def.: Geg. ein ebener Graph G=(V,E) mit Flächen R. Dann ist der geometrisch duale Graph G*=(V*,E*) def. als: • V*:= R • Kanten E* sind def. wie folgt: für alle f,g∈R und e∈E, so dass e die Flächen f und g begrenzt, entsteht eine Kante e*=fg. Beobachtungen: • Für jede Kante in E existiert eine eindeutige Kante in E* und vice versa. • Es gilt: (G*)*=G 17 Beispiel: Dualer Graph 18 Duale Graphen • Ein Elementarschnitt F in G ist ein Schnitt bei dem für jedes F´⊂F gilt: F´ ist kein Schnitt. minimal bzgl. Inklusion • Jeder (einfache) Kreis in G entspricht einem Elementarschnitt in G* und umgekehrt. Bw.: „⇒“: Sei C ein Kreis in G. Betrachte G*\C*: zerfällt in zwei Teile ⇒ C* ist Schnitt in G*. „⇐“: klar 5 G G* 1 C 3 2 4 7 6 19 2.2 Max Cut in planaren Graphen • Eine Menge F⊆E ist ein Schnitt in G genau dann wenn (V*,F*) ein Eulerscher Untergraph in G* ist. • Bw.: „⇒“: Sei F=δ(W) Schnitt in G. • F ist Vereinigung von Elementarschnitten δ(W1)∪δ(W2)∪…∪δ(Wk). • Jeder Elementarschnitt ist einfacher Kreis in G* • Schnitt F* ≙ C1∪ C2∪…∪Ck, sogar kantendisjunkte Vereinigung (weil jede Kante im Schnitt nur 1 Mal vorkommt)→Eulersch • • • • „⇐“: Sei F* Eulerscher Untergraph F*= C1⊍C2 ⊍ …⊍Ck (einfache Kreise) Alle Ci entsprechen Elementarschnitten in G: δ(Wi) F=δ(W1)∪ δ(W2)∪…∪δ(Wk). 20 Max Cut in planaren Graphen • Idee: Bestimme einen maximalen Eulerschen Untergraphen im dualen Graphen G* von G. • Problem: Knoten mit ungeradem Knotengrad: nicht Eulersch. Def. T-Join: • Knoten heißt gerade, wenn er geraden Knotengrad hat, sonst ungerade. • T: Menge der ungeraden Knoten in G • Kantenmenge J⊆E heißt T-Verbindung (T-Join), falls in (V,J) alle Knoten aus T einen ungeraden Grad und alle Knoten aus V \ T einen geraden Grad haben. 21 T-Join und Euler-Graphen Lemma: J⊆E ist T-Join in G ⇔ (W,F) mit F:=E\J ist Eulerscher Untergraph von G. • Bw.: „⇒“: Sei J ein T-Join. • Menge der ungeraden Knoten in G = Menge der ungeraden Knoten in (V,J) • F:=E\J enthält keine ungeraden Knoten. • „⇐“: Sei (W,F) Eulerscher Untergraph von G. Sei J:=E\F. • Menge der ungeraden Knoten in E und J ist die gleiche • In (V, E\F) behalten also alle Knoten aus T ungeraden Grad und alle Knoten aus V\T geraden Grad. • J:=E\F ist folglich ein T-Join. 22 T-Join und Eulersche Graphen Lemma: Sei G=(V,E) ein Graph mit Gewichten ce für alle e∈E, F,J⊆E und T:= {Menge der ungeraden Knoten in G}. Dann ist das Problem max c(F) mit F Eulersch äquivalent zu min c(J) mit J ist T-Join. 23 Das minimale T-Join Problem Gegeben: Graph G=(V,E) mit Gewichten ce∈R für alle e∈E und eine Knotenmenge T⊆V, |T| gerade. Gesucht ist ein T-Join kleinsten Gewichts. Definitionen: • E– := {e∈E: ce<0} • N := {v∈V: v ungerade in (V,E–)} • T´:= T ∆ N, wobei T Menge der ungeraden Knoten • T´ sind also Knoten, die mit ungerader Anzahl von Kanten mit nichtnegativem Gewicht inzident sind. weiter: s. nächste VO 24