30
Praktikum Graphgeneratoren: Planare Graphen Marcus Krug & Jochen Speck Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 1 / 24

Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

  • Upload
    dohanh

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Praktikum Graphgeneratoren:

Planare Graphen

Marcus Krug & Jochen Speck

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 1 / 24

Page 2: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Zielsetzung

Generator fur planare Graphen

EingabeparameterI n Anzahl der KnotenI k Anzahl der Kanten

Jeder planare Graph wird mit positiver Wahrscheinlichkeit erzeugt.

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 2 / 24

Page 3: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Definitionen

Definition

Ein Graph G = (V ,E ), der eine ebene Zeichnung besitzt, bei der sichkeine Kanten uberschneiden ist ein planarer Graph.

Abbildung: K4 mit einer nicht ebenen und zwei ebenen Zeichnungen

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 3 / 24

Page 4: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Eigenschaften planarer Graphen

m ≤ 3n − 6

Rektilineare Zeichnung eines planaren GraphenI Jeder planare Graph besitzt eine ebene, uberschneidungsfreie

Zeichnung, bei der die Kanten von G Strecken sind.

Planaritatstest in Θ(n)

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 4 / 24

Page 5: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Naiver Ansatz

Algorithmus

Erzeuge unabhangige Menge mit n Knoten.while m < k do

Wahle zufallige Knoten u, v mit u, v /∈ Eif G + u, v planar then

fuge u, v zu G hinzuend if

end while

Aufwand: Ω(kn)

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 5 / 24

Page 6: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Grundidee fur den Algorithmus

Verzicht auf “teure” Planaritatstests.

Erzeuge maximalen planaren Graphen ohne Verwendung vonPlanaritatstests.

I Planarer Graph mit n Knoten und 3n − 6 Kanten.I Jeder planare Graph ist Teilgraph eines maximalen planaren Graphen.

Losche zufallige Kanten, solange m > k.

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 6 / 24

Page 7: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Illustration: Maximale Planare Graphen

Abbildung: Zwei nicht isomorphe maximale planare Graphen mit 7 Knoten und 15Kanten.

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 7 / 24

Page 8: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Erster Ansatz zur Erzeugung eines maximalen planarenGraphen

Initialisiere Graph G als Dreieck.

Fuge rekursiv die restlichen n − 3 Knoten wie folgt hinzu:

Wahle eine zufallige innere Facette F (Dreieck) aus.

Fuge einen neuen Knoten u in F ein.

Verbinde u mit allen Knoten aus V (F ).

Im i-ten Schritt hat G 3i − 6 Kanten, ist also maximal.

Aufwand: O(n)

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 8 / 24

Page 9: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Erster Ansatz zur Erzeugung eines maximalen planarenGraphen

Initialisiere Graph G als Dreieck.

Fuge rekursiv die restlichen n − 3 Knoten wie folgt hinzu:

Wahle eine zufallige innere Facette F (Dreieck) aus.

Fuge einen neuen Knoten u in F ein.

Verbinde u mit allen Knoten aus V (F ).

Im i-ten Schritt hat G 3i − 6 Kanten, ist also maximal.

Aufwand: O(n)

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 8 / 24

Page 10: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Erster Ansatz zur Erzeugung eines maximalen planarenGraphen

Initialisiere Graph G als Dreieck.

Fuge rekursiv die restlichen n − 3 Knoten wie folgt hinzu:

Wahle eine zufallige innere Facette F (Dreieck) aus.

Fuge einen neuen Knoten u in F ein.

Verbinde u mit allen Knoten aus V (F ).

Im i-ten Schritt hat G 3i − 6 Kanten, ist also maximal.

Aufwand: O(n)

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 8 / 24

Page 11: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Erster Ansatz zur Erzeugung eines maximalen planarenGraphen

Initialisiere Graph G als Dreieck.

Fuge rekursiv die restlichen n − 3 Knoten wie folgt hinzu:

Wahle eine zufallige innere Facette F (Dreieck) aus.

Fuge einen neuen Knoten u in F ein.

Verbinde u mit allen Knoten aus V (F ).

Im i-ten Schritt hat G 3i − 6 Kanten, ist also maximal.

Aufwand: O(n)

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 8 / 24

Page 12: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Erster Ansatz zur Erzeugung eines maximalen planarenGraphen

Initialisiere Graph G als Dreieck.

Fuge rekursiv die restlichen n − 3 Knoten wie folgt hinzu:

Wahle eine zufallige innere Facette F (Dreieck) aus.

Fuge einen neuen Knoten u in F ein.

Verbinde u mit allen Knoten aus V (F ).

Im i-ten Schritt hat G 3i − 6 Kanten, ist also maximal.

Aufwand: O(n)

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 8 / 24

Page 13: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Problem

Vorgehen nicht vollstandig.

Es gibt immer einen Knoten mit Grad 3.

Folgender 4-regularer kann so nicht konstruiert werden.

Abbildung: Ein 4-regularer maximaler planarer Graph.

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 9 / 24

Page 14: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Neuer Ansatz: Kontraktion

G = (V ,E ) Graph, e = u, v ∈ E

G/e = (V ′,E ′) Graph, der durch Kontraktion der Kante e entsteht

V ′ = (V − u, v) ∪ veE ′ = x , y ∈ E | x , y /∈ u, v ∪

ve , x | x ∈ V ′, u, x ∈ E ∨ v , x ∈ E

Abbildung: Kontraktion schematisch

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 10 / 24

Page 15: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Hinfuhrung

Lemma

Sei G = (V ,E ) ein maximaler planarer Graph mit n ≥ 4 Knoten

dann existiert e = u, v ∈ E mit |N(u) ∩ N(v)| = 2.

Lemma

Sei G = (V ,E ) ein maximaler planarer Graph mit n ≥ 4 Knoten und

sei e = u, v ∈ E mit |N(u) ∩ N(v)| = 2,

dann ist G/e maximal planar.

Es gibt eine Folge von maximalen planaren GraphenG = G0,G1, . . . ,Gn−4,Gn−3 = K3 mit

Gi = Gi−1/e fur eine Kante e von Gi−1

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 11 / 24

Page 16: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Hinfuhrung

Lemma

Sei G = (V ,E ) ein maximaler planarer Graph mit n ≥ 4 Knoten

dann existiert e = u, v ∈ E mit |N(u) ∩ N(v)| = 2.

Lemma

Sei G = (V ,E ) ein maximaler planarer Graph mit n ≥ 4 Knoten und

sei e = u, v ∈ E mit |N(u) ∩ N(v)| = 2,

dann ist G/e maximal planar.

Es gibt eine Folge von maximalen planaren GraphenG = G0,G1, . . . ,Gn−4,Gn−3 = K3 mit

Gi = Gi−1/e fur eine Kante e von Gi−1

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 11 / 24

Page 17: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Hinfuhrung

Lemma

Sei G = (V ,E ) ein maximaler planarer Graph mit n ≥ 4 Knoten

dann existiert e = u, v ∈ E mit |N(u) ∩ N(v)| = 2.

Lemma

Sei G = (V ,E ) ein maximaler planarer Graph mit n ≥ 4 Knoten und

sei e = u, v ∈ E mit |N(u) ∩ N(v)| = 2,

dann ist G/e maximal planar.

Es gibt eine Folge von maximalen planaren GraphenG = G0,G1, . . . ,Gn−4,Gn−3 = K3 mit

Gi = Gi−1/e fur eine Kante e von Gi−1

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 11 / 24

Page 18: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Kontraktion mit mehr als zwei gemeinsamen Nachbarn

Abbildung: Kontraktion mit mehr als zwei gemeinsamen Nachbarn: G/e nichtmaximal planar

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 12 / 24

Page 19: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Extraktion

“Umkehrung” einer Kontraktion

Abbildung: Extraktion schematisch

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 13 / 24

Page 20: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Algorithmus: Maximaler Planarer Graph

Algorithmus

Eingabe: Anzahl der Knoten n

Ausgabe: ein maximaler planarer Graph mit n Knoten

Initialisiere G = (V ,E ) als Dreieck.for i = 4 . . . n do

Wahle zufalligen Knoten ve ∈ V .Wahle zufallige Kanten ve , x, ve , y ∈ E.Erzeuge neue Knoten u, v.V ← (V − ve) ∪ u, vFuge Kanten gemaß Zeichnung ein.

end for

Aufwand: O(n)

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 14 / 24

Page 21: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Algorithmus: Planarer Graph

Algorithmus

Eingabe: Anzahl der Knoten n, Anzahl der Kanten k

Ausgabe: ein zufalliger planarer Graph mit n Knoten und k Kanten

Erzeuge maximalen planarer Graphen G = (V ,E ) (m = 3n − 6).while m > k do

Losche zufallige Kante.end while

Aufwand: O(n + n) = O(n)

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 15 / 24

Page 22: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Vollstandigkeit

Theorem

Der Algorithmus erzeugt jeden planaren Graphen mit positiverWahrscheinlichkeit.

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 16 / 24

Page 23: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Geschlecht

Abbildung: Flache vom Geschlecht eins bzw. zwei.

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 17 / 24

Page 24: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Planare Graphen Hoherer Ordnung

Definition

G = (V ,E ) planarer Graph der Ordnung g , gdw.

G lasst sich auf einer Flache vom Geschlecht g so zeichnen, dassseine Kanten uberschneidungsfrei sind.

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 18 / 24

Page 25: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Warum Planare Graphen Hoherer Ordnung?

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 19 / 24

Page 26: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Illustration: Ein planarer Graph Hoherer Ordnung

Triangulierter Torus mit n Knoten: 6-regular ⇒ 3n Kanten

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 20 / 24

Page 27: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Algorithmus: Planarer Graph Hoherer Ordnung

Algorithmus

Erzeuge planaren Graphen mit n Knoten und k Kanten.for i = 1, . . . , g do

Wahle zufallige Facetten F1,F2.Verbinde die Facetten mit einer Kante (durch den “Tunnel”) ⇒ neue“Tunnelfacette” F ∗.Wahle zufalligen Parameter l fur die Anzahl der “Tunnelkanten” aus1, . . . , |V (F1)|+ |V (F2)|.for j = 2, . . . , l do

Wahle zufallige “Tunnelfacette” und splitte diese an zweigeeigneten Knoten.Aktualisiere Facetten-Information.

end forend for

Aufwand: O(n + gn).

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 21 / 24

Page 28: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Zeichnungen von “torusplanaren” Graphen

Abbildung: Parametrisierung

Abbildung: “torusplanarer” K7

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 22 / 24

Page 29: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Zusammenfassung

Effizienter und vollstandiger Algorithmus zur Erzeugung von planarenGraphen.

Reduktion auf “einfacheres” Problem: Erzeugung eines maximalenplanaren Graphen.

Vorgehen auch auf andere Generatoren ubertragbar: z.B. Graphen mitvorgegebener Core-Struktur

Planare Graphen hoheren Geschlechts, Erweiterung des Algorithmus

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 23 / 24

Page 30: Praktikum Graphgeneratoren: Planare Graphen - KIT · Zielsetzung Generator f¨ur planare Graphen Eingabeparameter I n Anzahl der Knoten I k Anzahl der Kanten Jeder planare Graph wird

Ausblick

Welche Klasse von Graphen liefert erster Ansatz?

Verteilung der Graphen?

Vollstandigkeit und Effizienz des Algorithmus zur Erzeugung vonplanaren Graphen hoherer Ordnung?

Marcus Krug & Jochen Speck () Planare Graphen 13. Februar 2006 24 / 24