Successfully reported this slideshow.
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.476 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
  • Als Erste(r) kommentieren

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?

×