Planaritätsalgorithmus nach Demoucron,Malgrange und PertuisetSeminar Fortgeschrittene Konzepte der ProgrammierungSS 2008, ...
1            2   3       4         2Inhalt1.Was bedeutet Planarität anschaulich?2.Motivation: Warum mit Planarität beschäf...
1     2     3     4Was bedeutet Planarität anschaulich?
1      2         3         4               4                                             [2]Ein planarer   ... lässt sich ...
1     2        3        4                 5                                            [2]Nicht-planare   ... lassen sich ...
1     2     3      4Motivation: Warum mit Planaritätbeschäftigen?
1     2     3       4   7Anwendungen von Planarität                                 [3]                                 [4]
1         2   3   4   7Anwendungen von Planarität•Entwurf elektrischer Schaltkreise                                    [3]...
1         2   3   4   7Anwendungen von Planarität•Entwurf elektrischer Schaltkreise                                    [3]...
1         2   3   4   7Anwendungen von Planarität•Entwurf elektrischer Schaltkreise                                    [3]...
1         2   3   4   7Anwendungen von Planarität•Entwurf elektrischer Schaltkreise                                    [3]...
1     2     3       4            8Anwendungen von Planarität                           Häuser                     Gas   Wa...
1       2   3       4            8Anwendungen von Planarität•Menschen zu                   Häuser beschäftigen: Verbinde j...
1       2   3       4            8Anwendungen von Planarität•Menschen zu                   Häuser beschäftigen: Verbinde j...
1       2   3       4            8Anwendungen von Planarität•Menschen zu                   Häuser beschäftigen: Verbinde j...
1       2   3       4            8Anwendungen von Planarität•Menschen zu                   Häuser beschäftigen: Verbinde j...
1       2   3       4            8Anwendungen von Planarität•Menschen zu                   Häuser beschäftigen: Verbinde j...
1       2   3       4            8Anwendungen von Planarität•Menschen zu                   Häuser beschäftigen: Verbinde j...
1       2   3       4            8Anwendungen von Planarität•Menschen zu                   Häuser beschäftigen: Verbinde j...
1       2   3       4            8Anwendungen von Planarität•Menschen zu                   Häuser beschäftigen: Verbinde j...
1       2   3       4            8Anwendungen von Planarität•Menschen zu                   Häuser beschäftigen: Verbinde j...
1       2   3       4            8Anwendungen von Planarität•Menschen zu                   Häuser beschäftigen: Verbinde j...
1       2       3   4Kriterien für Planarität
1         2        3     4               10Definition: Graph•Ein Graph G wird durch zwei Mengen beschrieben [5]:  •Knotenme...
1        2        3        4                 11Definition: Inzidenz, Adjazenz •Ein Knoten v und eine Kante e = (u, v) sind ...
1          2         3         4                12Definition: Einbettung • Nach [1]: Ein Graph G ist einbettbar in einen Ra...
1        2        3        4            13Stereographische Projektion •Ein Graph ist genau dann planar, wenn er in eine  K...
1        2        3          4          13Stereographische Projektion •Ein Graph ist genau dann planar, wenn er in eine  K...
1        2     3       4            14Euler-Formel - 1•Nach Eulers Theorem (1758) [1] gilt für jeden zusammenhängenden pla...
1       2       3       4           15Euler-Formel - 2 •Für jeden zusammenhängenden planaren (n,m)-  Graphen G mit n ≥ 3 g...
1   2   3   4        16K5                     K5
1         2   3   4        16K5 •K5 ist nicht planar                                    K5
1        2   3   4        16K5 •K5 ist nicht planar •n=5, m=10  m ≤ 3n - 6  10 ≤ 9 ✘                                    K5
1   2   3   4          17K3,3                       K3,3
1           2   3   4          17K3,3 •K3,3 ist nicht planar                                      K3,3
1           2   3   4          17K3,3 •K3,3 ist nicht planar •n=6, m=9  m ≤ 3n - 6  bzw. 9 ≤ 12 ✔     f=5                 ...
1           2   3   4          17K3,3 •K3,3 ist nicht planar •n=6, m=9  m ≤ 3n - 6  bzw. 9 ≤ 12 ✔     f=5 •Bipartit   jede...
1     2    3     4Algorithmus zur Erkennung undEinbettung von planaren Graphen
1      2        3        4                19                                            [1]                   Ein Graph G ...
1                 2         3        4                19           9 10              11   G   1   2       3   4 5       8 ...
1                 2         3                   4                  19           9 10              11                    F1...
1                 2                3                    4                       19                9 10                  11...
1        2        3         4              20Definition: Fragment•Nach [1]: Als Fragment S bzgl. G‘ bezeichnet man einen Su...
1        2   3       4                        21Definition: Kontaktknoten •Nach [1]: Ein Knoten  v eines Fragments S       ...
1        2   3       4                        21Definition: Kontaktknoten •Nach [1]: Ein Knoten  v eines Fragments S       ...
1          2   3           4           22Definition: α-Pfad•Nach [1]: Einfacher Pfad L des Fragments S, •der zwei  verschie...
1         2   3               4                     23Definition: Zulässige Fläche •Nach [1]: Eine  zulässige Fläche für   ...
1         2   3               4                     23Definition: Zulässige Fläche •Nach [1]: Eine  zulässige Fläche für   ...
1        2        3        4                24Konkurrierende Fragmente•Nach [1]: Zwei Fragmente S1 und S2 werden als konku...
1          2       3        4              25Der Algorithmus...•basiert auf den Ideen von Demoucron, Malgrange und Pertuis...
1     2     3     4     26Algorithmus nach Demoucron [1]
1          2         3          4                  26Algorithmus nach Demoucron [1]1. Wähle einfachen Kreis C aus G und be...
1         2          3         4                   26Algorithmus nach Demoucron [1]1. Wähle einfachen Kreis C aus G und be...
1          2         3          4                 26Algorithmus nach Demoucron [1]1. Wähle einfachen Kreis C aus G und bet...
1          2          3         4                    26Algorithmus nach Demoucron [1]1. Wähle einfachen Kreis C aus G und ...
1          2          3         4                    26Algorithmus nach Demoucron [1]1. Wähle einfachen Kreis C aus G und ...
1          2          3         4                    26Algorithmus nach Demoucron [1]1. Wähle einfachen Kreis C aus G und ...
1        2   3           4               27Beispiel•Durchlauf des Algorithmus anhand des dargestellten                    ...
1             2           3           4                 28                                                         zulässi...
1             2       3       4                 29                                                        zulässige       ...
1        2       3        4                30Aufwand•Der Algorithmus nach Demoucron kann bestenfalls mit quadratischer Zei...
1          2           3          4                31Quellen1.Lectures on Graph Theory, O. Melnikov, BI Wissenschaftsverla...
1          2     3       4Vielen Dank für die Aufmerksamkeit!Seminar Fortgeschrittene Konzepte der ProgrammierungSS 2008, ...
1   2   3   4Fragen?
Nächste SlideShare
Wird geladen in …5
×

Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

1.284 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Bildung
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.284
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
3
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

  1. 1. Planaritätsalgorithmus nach Demoucron,Malgrange und PertuisetSeminar Fortgeschrittene Konzepte der ProgrammierungSS 2008, Universität BayreuthVortrag am 23.06.2008Martin Klinke
  2. 2. 1 2 3 4 2Inhalt1.Was bedeutet Planarität anschaulich?2.Motivation: Warum mit Planarität beschäftigen?3.Kriterien für Planarität4.Algorithmus zur Erkennung und Einbettung von planaren Graphen
  3. 3. 1 2 3 4Was bedeutet Planarität anschaulich?
  4. 4. 1 2 3 4 4 [2]Ein planarer ... lässt sich in der Ebene zeichnen, ohne dass sich Graph... Kanten überschneiden.
  5. 5. 1 2 3 4 5 [2]Nicht-planare ... lassen sich dagegen nicht ohne Überschneidungen in der Graphen... Ebene zeichnen.
  6. 6. 1 2 3 4Motivation: Warum mit Planaritätbeschäftigen?
  7. 7. 1 2 3 4 7Anwendungen von Planarität [3] [4]
  8. 8. 1 2 3 4 7Anwendungen von Planarität•Entwurf elektrischer Schaltkreise [3] [4]
  9. 9. 1 2 3 4 7Anwendungen von Planarität•Entwurf elektrischer Schaltkreise [3] [4]
  10. 10. 1 2 3 4 7Anwendungen von Planarität•Entwurf elektrischer Schaltkreise [3]•Übersichtliche Darstellung von Abläufen, z.B. Programmen, Projektaufgaben [4]
  11. 11. 1 2 3 4 7Anwendungen von Planarität•Entwurf elektrischer Schaltkreise [3]•Übersichtliche Darstellung von Abläufen, z.B. Programmen, Projektaufgaben [4]
  12. 12. 1 2 3 4 8Anwendungen von Planarität Häuser Gas Wasser Strom
  13. 13. 1 2 3 4 8Anwendungen 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. 14. 1 2 3 4 8Anwendungen 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. 15. 1 2 3 4 8Anwendungen 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. 16. 1 2 3 4 8Anwendungen 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. 17. 1 2 3 4 8Anwendungen 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. 18. 1 2 3 4 8Anwendungen 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. 19. 1 2 3 4 8Anwendungen 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. 20. 1 2 3 4 8Anwendungen 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. 21. 1 2 3 4 8Anwendungen 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. 22. 1 2 3 4 8Anwendungen 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
  23. 23. 1 2 3 4Kriterien für Planarität
  24. 24. 1 2 3 4 10Definition: 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. 25. 1 2 3 4 11Definition: 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. 26. 1 2 3 4 12Definition: 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. 27. 1 2 3 4 13Stereographische Projektion •Ein Graph ist genau dann planar, wenn er in eine Kugeloberfläche eingebettet werden kann. [1]
  28. 28. 1 2 3 4 13Stereographische Projektion •Ein Graph ist genau dann planar, wenn er in eine Kugeloberfläche eingebettet werden kann. N v v‘ [1]
  29. 29. 1 2 3 4 14Euler-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. 30. 1 2 3 4 15Euler-Formel - 2 •Für jeden zusammenhängenden planaren (n,m)- Graphen G mit n ≥ 3 gilt die Ungleichung m ≤ 3n - 6.
  31. 31. 1 2 3 4 16K5 K5
  32. 32. 1 2 3 4 16K5 •K5 ist nicht planar K5
  33. 33. 1 2 3 4 16K5 •K5 ist nicht planar •n=5, m=10 m ≤ 3n - 6 10 ≤ 9 ✘ K5
  34. 34. 1 2 3 4 17K3,3 K3,3
  35. 35. 1 2 3 4 17K3,3 •K3,3 ist nicht planar K3,3
  36. 36. 1 2 3 4 17K3,3 •K3,3 ist nicht planar •n=6, m=9 m ≤ 3n - 6 bzw. 9 ≤ 12 ✔ f=5 K3,3
  37. 37. 1 2 3 4 17K3,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. 38. 1 2 3 4Algorithmus zur Erkennung undEinbettung von planaren Graphen
  39. 39. 1 2 3 4 19 [1] Ein Graph G und seineBegrifflichkeiten Fragmente S1 bis S6 bzgl. eines Subgraphen G‘
  40. 40. 1 2 3 4 19 9 10 11 G 1 2 3 4 5 8 7 6 [1] Ein Graph G und seineBegrifflichkeiten Fragmente S1 bis S6 bzgl. eines Subgraphen G‘
  41. 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 seineBegrifflichkeiten Fragmente S1 bis S6 bzgl. eines Subgraphen G‘
  42. 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 seineBegrifflichkeiten Fragmente S1 bis S6 bzgl. eines Subgraphen G‘
  43. 43. 1 2 3 4 20Definition: 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. 44. 1 2 3 4 21Definition: 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. 45. 1 2 3 4 21Definition: 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. 46. 1 2 3 4 22Definition: α-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. 47. 1 2 3 4 23Definition: 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. 48. 1 2 3 4 23Definition: 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. 49. 1 2 3 4 24Konkurrierende 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. 50. 1 2 3 4 25Der 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
  51. 51. 1 2 3 4 26Algorithmus nach Demoucron [1]
  52. 52. 1 2 3 4 26Algorithmus nach Demoucron [1]1. Wähle einfachen Kreis C aus G und bette ihn in die Ebene ein, setze G‘ = C
  53. 53. 1 2 3 4 26Algorithmus nach Demoucron [1]1. Wähle einfachen Kreis C aus G und bette ihn in die Ebene ein, setze G‘ = C2. Suche Flächen von G‘ und Fragmente bzgl. G‘. Wenn keine Fragmente vorhanden, dann G‘ ≅ G, d.h. G eingebettet Ende
  54. 54. 1 2 3 4 26Algorithmus nach Demoucron [1]1. Wähle einfachen Kreis C aus G und bette ihn in die Ebene ein, setze G‘ = C2. Suche Flächen von G‘ und Fragmente bzgl. G‘. Wenn keine Fragmente vorhanden, dann G‘ ≅ G, d.h. G eingebettet Ende3. Existiert ein Fragment S ohne zulässige Fläche, dann ist G nicht- planar Ende
  55. 55. 1 2 3 4 26Algorithmus nach Demoucron [1]1. Wähle einfachen Kreis C aus G und bette ihn in die Ebene ein, setze G‘ = C2. Suche Flächen von G‘ und Fragmente bzgl. G‘. Wenn keine Fragmente vorhanden, dann G‘ ≅ G, d.h. G eingebettet Ende3. Existiert ein Fragment S ohne zulässige Fläche, dann ist G nicht- planar Ende4. Existiert ein Fragment S mit einer einzigen zulässigen Fläche F, dann zu Schritt 6, ansonsten zu Schritt 5
  56. 56. 1 2 3 4 26Algorithmus nach Demoucron [1]1. Wähle einfachen Kreis C aus G und bette ihn in die Ebene ein, setze G‘ = C2. Suche Flächen von G‘ und Fragmente bzgl. G‘. Wenn keine Fragmente vorhanden, dann G‘ ≅ G, d.h. G eingebettet Ende3. Existiert ein Fragment S ohne zulässige Fläche, dann ist G nicht- planar Ende4. Existiert ein Fragment S mit einer einzigen zulässigen Fläche F, dann zu Schritt 6, ansonsten zu Schritt 55. Wähle ein beliebiges Fragment S und davon eine beliebige zulässige Fläche F
  57. 57. 1 2 3 4 26Algorithmus nach Demoucron [1]1. Wähle einfachen Kreis C aus G und bette ihn in die Ebene ein, setze G‘ = C2. Suche Flächen von G‘ und Fragmente bzgl. G‘. Wenn keine Fragmente vorhanden, dann G‘ ≅ G, d.h. G eingebettet Ende3. Existiert ein Fragment S ohne zulässige Fläche, dann ist G nicht- planar Ende4. Existiert ein Fragment S mit einer einzigen zulässigen Fläche F, dann zu Schritt 6, ansonsten zu Schritt 55. Wähle ein beliebiges Fragment S und davon eine beliebige zulässige Fläche F6. Bette einen beliebigen α-Pfad L von S in F ein und ersetze G‘ durch G‘ ∪ L; gehe zu Schritt 2
  58. 58. 1 2 3 4 27Beispiel•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].
  59. 59. 1 2 3 4 28 zulässige G‘ Flächen Fragmente Flächen 1 6 F1={∞, 456} 4 2 3 F(S1)={F1, F2}5 6 F2={456} F(S2)={F1, F2}4 5 6 F1={∞, 456} 2 35 6 F2={1456} F(S1)={F1, F2} 1 F3={164} 5 64
  60. 60. 1 2 3 4 29 zulässige G‘ Flächen Fragmente Flächen 2 F1={∞, 2654} 2 3 5 6 F2={265} F(S1)={F1, F2} 1 F3={1465} F4={164} 5 43 25 6 14
  61. 61. 1 2 3 4 30Aufwand•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.
  62. 62. 1 2 3 4 31Quellen1.Lectures on Graph Theory, O. Melnikov, BI Wissenschaftsverlag 19942.http://cgm.cs.mcgill.ca/~athens/cs507/Projects/2004/Andrew-King/ 507planar.html, letzter Abruf: 08.06.20083.http://flickr.com/photos/hinkelstone/2435823037/, letzter Abruf: 08.06.20084.http://blog.keelit.com/2007/04/12/, letzter Abruf: 08.06.20085.http://www.user.fh-stralsund.de/~pscheff/KonflikteVermeiden.pdf, letzter Abruf: 22.06.20086.http://www.mathe2.uni-bayreuth.de/EWS/demoucron.pdf, letzter Abruf: 22.06.2008
  63. 63. 1 2 3 4Vielen Dank für die Aufmerksamkeit!Seminar Fortgeschrittene Konzepte der ProgrammierungSS 2008, Universität BayreuthVortrag am 23.06.2008Martin Klinke
  64. 64. 1 2 3 4Fragen?

×