10. 1 2 3 4 7
Anwendungen von Planarität
•Entwurf elektrischer
Schaltkreise
[3]
•Übersichtliche
Darstellung von
Abläufen, z.B.
Programmen,
Projektaufgaben
[4]
11. 1 2 3 4 7
Anwendungen von Planarität
•Entwurf elektrischer
Schaltkreise
[3]
•Übersichtliche
Darstellung von
Abläufen, z.B.
Programmen,
Projektaufgaben
[4]
12. 1 2 3 4 8
Anwendungen von Planarität
Häuser
Gas Wasser Strom
13. 1 2 3 4 8
Anwendungen von Planarität
•Menschen zu Häuser
beschäftigen:
Verbinde jedes Haus
mit Gas, Wasser und
Strom, ohne dass sich
die Leitungen
kreuzen... Gas Wasser Strom
14. 1 2 3 4 8
Anwendungen von Planarität
•Menschen zu Häuser
beschäftigen:
Verbinde jedes Haus
mit Gas, Wasser und
Strom, ohne dass sich
die Leitungen
kreuzen... Gas Wasser Strom
15. 1 2 3 4 8
Anwendungen von Planarität
•Menschen zu Häuser
beschäftigen:
Verbinde jedes Haus
mit Gas, Wasser und
Strom, ohne dass sich
die Leitungen
kreuzen... Gas Wasser Strom
16. 1 2 3 4 8
Anwendungen von Planarität
•Menschen zu Häuser
beschäftigen:
Verbinde jedes Haus
mit Gas, Wasser und
Strom, ohne dass sich
die Leitungen
kreuzen... Gas Wasser Strom
17. 1 2 3 4 8
Anwendungen von Planarität
•Menschen zu Häuser
beschäftigen:
Verbinde jedes Haus
mit Gas, Wasser und
Strom, ohne dass sich
die Leitungen
kreuzen... Gas Wasser Strom
18. 1 2 3 4 8
Anwendungen von Planarität
•Menschen zu Häuser
beschäftigen:
Verbinde jedes Haus
mit Gas, Wasser und
Strom, ohne dass sich
die Leitungen
kreuzen... Gas Wasser Strom
19. 1 2 3 4 8
Anwendungen von Planarität
•Menschen zu Häuser
beschäftigen:
Verbinde jedes Haus
mit Gas, Wasser und
Strom, ohne dass sich
die Leitungen
kreuzen... Gas Wasser Strom
20. 1 2 3 4 8
Anwendungen von Planarität
•Menschen zu Häuser
beschäftigen:
Verbinde jedes Haus
mit Gas, Wasser und
Strom, ohne dass sich
die Leitungen
kreuzen... Gas Wasser Strom
21. 1 2 3 4 8
Anwendungen von Planarität
•Menschen zu Häuser
beschäftigen:
Verbinde jedes Haus
mit Gas, Wasser und
Strom, ohne dass sich
die Leitungen
kreuzen... Gas Wasser Strom
22. 1 2 3 4 8
Anwendungen von Planarität
•Menschen zu Häuser
beschäftigen:
Verbinde jedes Haus
mit Gas, Wasser und
Strom, ohne dass sich
die Leitungen
kreuzen... Gas Wasser Strom
24. 1 2 3 4 10
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
25. 1 2 3 4 11
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.
26. 1 2 3 4 12
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.
27. 1 2 3 4 13
Stereographische Projektion
•Ein Graph ist genau dann planar, wenn er in eine
Kugeloberfläche eingebettet werden kann.
[1]
28. 1 2 3 4 13
Stereographische Projektion
•Ein Graph ist genau dann planar, wenn er in eine
Kugeloberfläche eingebettet werden kann.
N
v
v‘
[1]
29. 1 2 3 4 14
Euler-Formel - 1
•Nach Eulers Theorem (1758) [1] gilt für jeden
zusammenhängenden planaren Graphen die Formel
n - m + f = 2.
•n: Anzahl Knoten
•m: Anzahl Kanten
•f: Anzahl Flächen
30. 1 2 3 4 15
Euler-Formel - 2
•Für jeden zusammenhängenden planaren (n,m)-
Graphen G mit n ≥ 3 gilt die Ungleichung
m ≤ 3n - 6.
36. 1 2 3 4 17
K3,3
•K3,3 ist nicht planar
•n=6, m=9
m ≤ 3n - 6
bzw. 9 ≤ 12 ✔
f=5
K3,3
37. 1 2 3 4 17
K3,3
•K3,3 ist nicht planar
•n=6, m=9
m ≤ 3n - 6
bzw. 9 ≤ 12 ✔
f=5
•Bipartit jede K3,3
Fläche muss von
mind. 4 Kanten
berandet sein
2m ≥ 4f
bzw. 18 ≥ 20 ✘
38. 1 2 3 4
Algorithmus zur Erkennung und
Einbettung von planaren Graphen
39. 1 2 3 4 19
[1]
Ein Graph G und seine
Begrifflichkeiten Fragmente S1 bis S6 bzgl. eines
Subgraphen G‘
40. 1 2 3 4 19
9 10 11
G 1 2 3 4 5
8 7 6
[1]
Ein Graph G und seine
Begrifflichkeiten Fragmente S1 bis S6 bzgl. eines
Subgraphen G‘
41. 1 2 3 4 19
9 10 11 F1
1 2 3 4 5
G 1 2 3 4 5 G‘
F2
8 7 6 8 7 6
[1]
Ein Graph G und seine
Begrifflichkeiten Fragmente S1 bis S6 bzgl. eines
Subgraphen G‘
42. 1 2 3 4 19
9 10 11 F1
1 2 3 4 5
G 1 2 3 4 5 G‘
F2
8 7 6 8 7 6
9 10 11 2 1 2 4
1 2 3 4 3 5 6 8 7 6 6
S1 S2 S3 S4 S5 S6
[1]
Ein Graph G und seine
Begrifflichkeiten Fragmente S1 bis S6 bzgl. eines
Subgraphen G‘
43. 1 2 3 4 20
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.
44. 1 2 3 4 21
Definition: Kontaktknoten
•Nach [1]: Ein Knoten
v eines Fragments S 9 10
bzgl. G‘ wird als
S
Kontaktknoten
1 2 3 4
bezeichnet, wenn v
∈ V(G‘).
1 2 3 4 5
G‘
8 7 6
45. 1 2 3 4 21
Definition: Kontaktknoten
•Nach [1]: Ein Knoten
v eines Fragments S 9 10
bzgl. G‘ wird als
S
Kontaktknoten
1 2 3 4
bezeichnet, wenn v
∈ V(G‘).
1 2 3 4 5
G‘
8 7 6
46. 1 2 3 4 22
Definition: α-Pfad
•Nach [1]: Einfacher
Pfad L des Fragments
S,
•der zwei
verschiedene 9 10
Kontaktknoten S
verbindet und 1 2 3 4
•keine weiteren
Kontaktknoten
enthält.
47. 1 2 3 4 23
Definition: Zulässige Fläche
•Nach [1]: Eine
zulässige Fläche für 9 10
ein Fragment S S
bzgl. G‘ ist eine 1 2 3 4
Fläche von G‘, die
11
alle Kontaktknoten F1 F3
von S enthält. 1 2 3 4 5 F4
G‘
F2
•F(S): Menge aller
8 7 6
zulässigen Flächen
für S
48. 1 2 3 4 23
Definition: Zulässige Fläche
•Nach [1]: Eine
zulässige Fläche für 9 10
ein Fragment S S
bzgl. G‘ ist eine 1 2 3 4
Fläche von G‘, die
11
alle Kontaktknoten F1 F3
von S enthält. 1 2 3 4 5 F4
G‘
F2
•F(S): Menge aller
8 7 6
zulässigen Flächen
für S
49. 1 2 3 4 24
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.
50. 1 2 3 4 25
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
52. 1 2 3 4 26
Algorithmus nach Demoucron [1]
1. Wähle einfachen Kreis C aus G und bette ihn in die Ebene ein,
setze G‘ = C
53. 1 2 3 4 26
Algorithmus nach Demoucron [1]
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
54. 1 2 3 4 26
Algorithmus nach Demoucron [1]
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
55. 1 2 3 4 26
Algorithmus nach Demoucron [1]
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
56. 1 2 3 4 26
Algorithmus nach Demoucron [1]
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
57. 1 2 3 4 26
Algorithmus nach Demoucron [1]
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
58. 1 2 3 4 27
Beispiel
•Durchlauf des
Algorithmus anhand
des dargestellten G
Ausgangsgraphen G 1 2
•Das Format für die 5 6
Darstellung der
Zwischenschritte 4 3
stammt aus [6].
61. 1 2 3 4 30
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.
63. 1 2 3 4
Vielen Dank für die Aufmerksamkeit!
Seminar Fortgeschrittene Konzepte der Programmierung
SS 2008, Universität Bayreuth
Vortrag am 23.06.2008
Martin Klinke