Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

1,403 views

Published on

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

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,403
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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?

×