planaritätsalgorithmus nach demoucron, malgrange und pertuiset

64
Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset Seminar Fortgeschrittene Konzepte der Programmierung SS 2008, Universität Bayreuth Vortrag am 23.06.2008 Martin Klinke

Upload: martin-klinke

Post on 07-Jul-2015

805 views

Category:

Education


0 download

DESCRIPTION

Seminar Fortgeschrittene Konzepte der Programmierung SS 2008, Universität Bayreuth Vortrag am 23.06.2008 Martin Klinke

TRANSCRIPT

Page 1: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Seminar Fortgeschrittene Konzepte der ProgrammierungSS 2008, Universität Bayreuth

Vortrag am 23.06.2008Martin Klinke

Page 2: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Inhalt

1.Was bedeutet Planarität anschaulich?

2.Motivation: Warum mit Planarität beschäftigen?

3.Kriterien für Planarität

4.Algorithmus zur Erkennung und Einbettung von planaren Graphen

21 2 3 4

Page 3: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Was bedeutet Planarität anschaulich?

1 2 3 4

Page 4: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Ein planarer Graph...

... lässt sich in der Ebene zeichnen, ohne dass sich Kanten überschneiden.

41 2 3 4

[2]

Page 5: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Nicht-planare Graphen...

... lassen sich dagegen nicht ohne Überschneidungen in der Ebene zeichnen.

51 2 3 4

[2]

Page 6: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Motivation: Warum mit Planarität beschäftigen?

1 2 3 4

Page 7: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Anwendungen von Planarität

71 2 3 4

[3]

[4]

Page 8: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Anwendungen von Planarität

•Entwurf elektrischer Schaltkreise

71 2 3 4

[3]

[4]

Page 9: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Anwendungen von Planarität

•Entwurf elektrischer Schaltkreise

71 2 3 4

[3]

[4]

Page 10: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Anwendungen von Planarität

•Entwurf elektrischer Schaltkreise

•Übersichtliche Darstellung von Abläufen, z.B. Programmen, Projektaufgaben

71 2 3 4

[3]

[4]

Page 11: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Anwendungen von Planarität

•Entwurf elektrischer Schaltkreise

•Übersichtliche Darstellung von Abläufen, z.B. Programmen, Projektaufgaben

71 2 3 4

[3]

[4]

Page 12: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Anwendungen von Planarität

81 2 3 4

Häuser

Gas Wasser Strom

Page 13: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Anwendungen von Planarität

•Menschen zu beschäftigen: Verbinde jedes Haus mit Gas, Wasser und Strom, ohne dass sich die Leitungen kreuzen...

81 2 3 4

Häuser

Gas Wasser Strom

Page 14: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Anwendungen von Planarität

•Menschen zu beschäftigen: Verbinde jedes Haus mit Gas, Wasser und Strom, ohne dass sich die Leitungen kreuzen...

81 2 3 4

Häuser

Gas Wasser Strom

Page 15: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Anwendungen von Planarität

•Menschen zu beschäftigen: Verbinde jedes Haus mit Gas, Wasser und Strom, ohne dass sich die Leitungen kreuzen...

81 2 3 4

Häuser

Gas Wasser Strom

Page 16: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Anwendungen von Planarität

•Menschen zu beschäftigen: Verbinde jedes Haus mit Gas, Wasser und Strom, ohne dass sich die Leitungen kreuzen...

81 2 3 4

Häuser

Gas Wasser Strom

Page 17: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Anwendungen von Planarität

•Menschen zu beschäftigen: Verbinde jedes Haus mit Gas, Wasser und Strom, ohne dass sich die Leitungen kreuzen...

81 2 3 4

Häuser

Gas Wasser Strom

Page 18: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Anwendungen von Planarität

•Menschen zu beschäftigen: Verbinde jedes Haus mit Gas, Wasser und Strom, ohne dass sich die Leitungen kreuzen...

81 2 3 4

Häuser

Gas Wasser Strom

Page 19: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Anwendungen von Planarität

•Menschen zu beschäftigen: Verbinde jedes Haus mit Gas, Wasser und Strom, ohne dass sich die Leitungen kreuzen...

81 2 3 4

Häuser

Gas Wasser Strom

Page 20: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Anwendungen von Planarität

•Menschen zu beschäftigen: Verbinde jedes Haus mit Gas, Wasser und Strom, ohne dass sich die Leitungen kreuzen...

81 2 3 4

Häuser

Gas Wasser Strom

Page 21: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Anwendungen von Planarität

•Menschen zu beschäftigen: Verbinde jedes Haus mit Gas, Wasser und Strom, ohne dass sich die Leitungen kreuzen...

81 2 3 4

Häuser

Gas Wasser Strom

Page 22: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Anwendungen von Planarität

•Menschen zu beschäftigen: Verbinde jedes Haus mit Gas, Wasser und Strom, ohne dass sich die Leitungen kreuzen...

81 2 3 4

Häuser

Gas Wasser Strom

Page 23: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Kriterien für Planarität

1 2 3 4

Page 24: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Definition: Graph

•Ein Graph G wird durch zwei Mengen beschrieben [5]:

•Knotenmenge V = {v1, v2, ..., vn}

•Kantenmenge E ⊆ V2

•Hier nur Betrachtung von

•schlichten ungerichteten und

•zweifach zusammenhängenden Graphen

101 2 3 4

Page 25: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Definition: Inzidenz, Adjazenz

•Ein Knoten v und eine Kante e = (u, v) sind zueinander inzident.

•Zwei Kanten e = (u, v) und f = (v, w) sind zueinander adjazent.

•Zwei Knoten u, v sind zueinander adjazent, wenn die Kante (u,v) existiert.

111 2 3 4

Page 26: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Definition: Einbettung

•Nach [1]: Ein Graph G ist einbettbar in einen Raum L, wenn eine Abbildung der Knoten und Kanten von G auf Punkte und Jordan-Kurven von L existiert, so dass gilt:• verschiedene Knoten werden auf verschiedene Punkte

abgebildet;•wenn ein Knoten inzident zu einer Kante ist, dann ist das

Abbild des Knotens ein Endpunkt des Abbildes der Kante;

•nicht-adjazente Kanten von G werden auf Kurven abgebildet, die sich nicht schneiden;

•adjazente Kanten werden auf Kurven abgebildet, die sich nur in einem Punkt schneiden; dieser Punkt entspricht dem Knoten, der Teil beider Kanten ist.

121 2 3 4

Page 27: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Stereographische Projektion

•Ein Graph ist genau dann planar, wenn er in eine Kugeloberfläche eingebettet werden kann.

131 2 3 4

[1]

Page 28: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Stereographische Projektion

•Ein Graph ist genau dann planar, wenn er in eine Kugeloberfläche eingebettet werden kann.

131 2 3 4

N

v

v‘

[1]

Page 29: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Euler-Formel - 1

•Nach Eulers Theorem (1758) [1] gilt für jeden zusammenhängenden planaren Graphen die Formeln - m + f = 2.

•n: Anzahl Knoten

•m: Anzahl Kanten

•f: Anzahl Flächen

141 2 3 4

Page 30: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Euler-Formel - 2

•Für jeden zusammenhängenden planaren (n,m)-Graphen G mit n ≥ 3 gilt die Ungleichungm ≤ 3n - 6.

151 2 3 4

Page 31: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

K5

161 2 3 4

K5

Page 32: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

K5

•K5 ist nicht planar

161 2 3 4

K5

Page 33: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

K5

•K5 ist nicht planar

•n=5, m=10m ≤ 3n - 610 ≤ 9 ✘

161 2 3 4

K5

Page 34: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

K3,3

171 2 3 4

K3,3

Page 35: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

K3,3

•K3,3 ist nicht planar

171 2 3 4

K3,3

Page 36: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

K3,3

•K3,3 ist nicht planar•n=6, m=9

m ≤ 3n - 6 bzw. 9 ≤ 12 ✔⇒ f = 5

171 2 3 4

K3,3

Page 37: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

K3,3

•K3,3 ist nicht planar•n=6, m=9

m ≤ 3n - 6 bzw. 9 ≤ 12 ✔⇒ f = 5

•Bipartit ⇒ jede

Fläche muss von mind. 4 Kanten berandet sein ⇒ 2m ≥ 4f

bzw. 18 ≥ 20 ✘

171 2 3 4

K3,3

Page 38: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Algorithmus zur Erkennung und Einbettung von planaren Graphen

1 2 3 4

Page 39: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

BegrifflichkeitenEin Graph G und seine Fragmente S1 bis S6 bzgl. eines Subgraphen G‘

191 2 3 4

[1]

Page 40: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

BegrifflichkeitenEin Graph G und seine Fragmente S1 bis S6 bzgl. eines Subgraphen G‘

321 54

9 10 11

678

G

191 2 3 4

[1]

Page 41: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

BegrifflichkeitenEin Graph G und seine Fragmente S1 bis S6 bzgl. eines Subgraphen G‘

321 54

678

F2

F1

G‘321 54

9 10 11

678

G

191 2 3 4

[1]

Page 42: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

BegrifflichkeitenEin Graph G und seine Fragmente S1 bis S6 bzgl. eines Subgraphen G‘

321 54

678

F2

F1

G‘321 54

9 10 11

678

G

321 4

9 10

S1

11

3S2

5 6

2

S3

8

1

S4

7

2

S5

6

4

S6

6

191 2 3 4

[1]

Page 43: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Definition: Fragment

•Nach [1]: Als Fragment S bzgl. G‘ bezeichnet man einen Subgraphen von G, bei dem es sich um einen der beiden folgenden Typen handelt:

•Eine Kante e = (u, v) ∈ E(G), so dass e ∉ E(G‘) und u, v ∈ V(G‘).

•Eine Zusammenhangskomponente von G - G‘ die durch alle Kanten (und ihre Enden) von G, die die Komponente mit G verbinden, erweitert wird.

201 2 3 4

Page 44: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Definition: Kontaktknoten

•Nach [1]: Ein Knoten v eines Fragments S bzgl. G‘ wird als Kontaktknoten bezeichnet, wenn v ∈ V(G‘).

321 54

678

G‘

211 2 3 4

321 4

9 10

S

Page 45: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Definition: Kontaktknoten

•Nach [1]: Ein Knoten v eines Fragments S bzgl. G‘ wird als Kontaktknoten bezeichnet, wenn v ∈ V(G‘).

321 54

678

G‘

211 2 3 4

321 4

9 10

S

Page 46: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Definition: α-Pfad

•Nach [1]: Einfacher Pfad L des Fragments S,

•der zwei verschiedene Kontaktknoten verbindet und

•keine weiteren Kontaktknoten enthält.

221 2 3 4

321 4

9 10

S

Page 47: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Definition: Zulässige Fläche

•Nach [1]: Eine zulässige Fläche für ein Fragment S bzgl. G‘ ist eine Fläche von G‘, die alle Kontaktknoten von S enthält.

•F(S): Menge aller zulässigen Flächen für S

231 2 3 4

321 54

678

F2

F1

G‘

11

321 4

9 10

S

F3

F4

Page 48: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Definition: Zulässige Fläche

•Nach [1]: Eine zulässige Fläche für ein Fragment S bzgl. G‘ ist eine Fläche von G‘, die alle Kontaktknoten von S enthält.

•F(S): Menge aller zulässigen Flächen für S

231 2 3 4

321 54

678

F2

F1

G‘

11

321 4

9 10

S

F3

F4

Page 49: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Konkurrierende Fragmente

•Nach [1]: Zwei Fragmente S1 und S2 werden als konkurrierend bezeichnet, wenn

•θ = F(S1) ∩ F(S2) ≠ ∅ und

•zwei α-Pfade L1 ∈ S1, L2 ∈ S2 existieren, die nicht gleichzeitig in jede Fläche aus θ eingebettet werden können.

241 2 3 4

Page 50: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Der Algorithmus...

•basiert auf den Ideen von Demoucron, Malgrange und Pertuiset von 1964

•kann nicht nur auf Planarität testen, sondern liefert eine planare Einbettung, falls möglich

•arbeitet inkrementell

251 2 3 4

Page 51: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Algorithmus nach Demoucron [1]

261 2 3 4

Page 52: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

1.Wähle einfachen Kreis C aus G und bette ihn in die Ebene ein, setze G‘ = C

Algorithmus nach Demoucron [1]

261 2 3 4

Page 53: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

1.Wähle einfachen Kreis C aus G und bette ihn in die Ebene ein, setze G‘ = C

2.Suche Flächen von G‘ und Fragmente bzgl. G‘. Wenn keine Fragmente vorhanden, dann G‘ ≅ G, d.h. G eingebettet ⇒ Ende

Algorithmus nach Demoucron [1]

261 2 3 4

Page 54: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

1.Wähle einfachen Kreis C aus G und bette ihn in die Ebene ein, setze G‘ = C

2.Suche Flächen von G‘ und Fragmente bzgl. G‘. Wenn keine Fragmente vorhanden, dann G‘ ≅ G, d.h. G eingebettet ⇒ Ende

3.Existiert ein Fragment S ohne zulässige Fläche, dann ist G nicht-planar ⇒ Ende

Algorithmus nach Demoucron [1]

261 2 3 4

Page 55: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

1.Wähle einfachen Kreis C aus G und bette ihn in die Ebene ein, setze G‘ = C

2.Suche Flächen von G‘ und Fragmente bzgl. G‘. Wenn keine Fragmente vorhanden, dann G‘ ≅ G, d.h. G eingebettet ⇒ Ende

3.Existiert ein Fragment S ohne zulässige Fläche, dann ist G nicht-planar ⇒ Ende

4.Existiert ein Fragment S mit einer einzigen zulässigen Fläche F, dann zu Schritt 6, ansonsten zu Schritt 5

Algorithmus nach Demoucron [1]

261 2 3 4

Page 56: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

1.Wähle einfachen Kreis C aus G und bette ihn in die Ebene ein, setze G‘ = C

2.Suche Flächen von G‘ und Fragmente bzgl. G‘. Wenn keine Fragmente vorhanden, dann G‘ ≅ G, d.h. G eingebettet ⇒ Ende

3.Existiert ein Fragment S ohne zulässige Fläche, dann ist G nicht-planar ⇒ Ende

4.Existiert ein Fragment S mit einer einzigen zulässigen Fläche F, dann zu Schritt 6, ansonsten zu Schritt 5

5.Wähle ein beliebiges Fragment S und davon eine beliebige zulässige Fläche F

Algorithmus nach Demoucron [1]

261 2 3 4

Page 57: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

1.Wähle einfachen Kreis C aus G und bette ihn in die Ebene ein, setze G‘ = C

2.Suche Flächen von G‘ und Fragmente bzgl. G‘. Wenn keine Fragmente vorhanden, dann G‘ ≅ G, d.h. G eingebettet ⇒ Ende

3.Existiert ein Fragment S ohne zulässige Fläche, dann ist G nicht-planar ⇒ Ende

4.Existiert ein Fragment S mit einer einzigen zulässigen Fläche F, dann zu Schritt 6, ansonsten zu Schritt 5

5.Wähle ein beliebiges Fragment S und davon eine beliebige zulässige Fläche F

6.Bette einen beliebigen α-Pfad L von S in F ein und ersetze G‘ durch G‘ ∪ L; gehe zu Schritt 2

Algorithmus nach Demoucron [1]

261 2 3 4

Page 58: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Beispiel

271 2 3 4

4

65

1 2

3

•Durchlauf des Algorithmus anhand des dargestellten Ausgangsgraphen G

•Das Format für die Darstellung der Zwischenschritte stammt aus [6].

G

Page 59: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

281 2 3 4

G‘ Flächen Fragmentezulässige Flächen

F1={∞, 456}F2={456}

F(S1)={F1, F2}F(S2)={F1, F2}

F1={∞, 456}F2={1456}F3={164}

F(S1)={F1, F2}

4

65 4

61

5

32

6

4

651

5

32

6

Page 60: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

291 2 3 4

G‘ Flächen Fragmentezulässige Flächen

F1={∞, 2654}F2={265}F3={1465}F4={164}

F(S1)={F1, F2}

5

32

4

651

2

4

651

23

Page 61: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Aufwand

•Der Algorithmus nach Demoucron kann bestenfalls mit quadratischer Zeitkomplexität (O(n2)) implementiert werden. [5]

•Es existieren andere Algorithmen, die das Problem mit linearem Aufwand lösen.

301 2 3 4

Page 63: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Vielen Dank für die Aufmerksamkeit!

Seminar Fortgeschrittene Konzepte der ProgrammierungSS 2008, Universität Bayreuth

Vortrag am 23.06.2008Martin Klinke

1 2 3 4

Page 64: Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

Fragen?

1 2 3 4