SlideShare ist ein Scribd-Unternehmen logo
1 von 64
Downloaden Sie, um offline zu lesen
Planaritätsalgorithmus nach Demoucron,
Malgrange und Pertuiset
Seminar Fortgeschrittene Konzepte der Programmierung
SS 2008, Universität Bayreuth

Vortrag am 23.06.2008
Martin Klinke
1            2   3       4         2



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
1     2     3     4




Was bedeutet Planarität anschaulich?
1      2         3         4               4




                                             [2]




Ein planarer   ... lässt sich in der Ebene
               zeichnen, ohne dass sich
    Graph...   Kanten überschneiden.
1     2        3        4                 5




                                            [2]




Nicht-planare   ... lassen sich dagegen nicht
                ohne Überschneidungen in der
   Graphen...   Ebene zeichnen.
1     2     3      4




Motivation: Warum mit Planarität
beschäftigen?
1     2     3       4   7



Anwendungen von Planarität




                                 [3]




                                 [4]
1         2   3   4   7



Anwendungen von Planarität
•Entwurf elektrischer
 Schaltkreise



                                    [3]




                                    [4]
1         2   3   4   7



Anwendungen von Planarität
•Entwurf elektrischer
 Schaltkreise



                                    [3]




                                    [4]
1         2   3   4   7



Anwendungen von Planarität
•Entwurf elektrischer
 Schaltkreise



                                    [3]

•Übersichtliche
 Darstellung von
 Abläufen, z.B.
 Programmen,
 Projektaufgaben
                                    [4]
1         2   3   4   7



Anwendungen von Planarität
•Entwurf elektrischer
 Schaltkreise



                                    [3]

•Übersichtliche
 Darstellung von
 Abläufen, z.B.
 Programmen,
 Projektaufgaben
                                    [4]
1     2     3       4            8



Anwendungen von Planarität


                           Häuser




                     Gas   Wasser Strom
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
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
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
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
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
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
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
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
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
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
1       2       3   4




Kriterien für Planarität
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
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.
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.
1        2        3        4            13



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




                                            [1]
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]
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
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.
1   2   3   4        16



K5




                     K5
1         2   3   4        16



K5
 •K5 ist nicht planar




                                    K5
1        2   3   4        16



K5
 •K5 ist nicht planar

 •n=5, m=10
  m ≤ 3n - 6
  10 ≤ 9 ✘
                                    K5
1   2   3   4          17



K3,3




                       K3,3
1           2   3   4          17



K3,3
 •K3,3 ist nicht planar




                                      K3,3
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
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 ✘
1     2    3     4




Algorithmus zur Erkennung und
Einbettung von planaren Graphen
1      2        3        4                19




                                            [1]

                   Ein Graph G und seine
Begrifflichkeiten   Fragmente S1 bis S6 bzgl. eines
                   Subgraphen G‘
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‘
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‘
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‘
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.
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
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
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.
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
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
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.
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
1     2     3     4     26



Algorithmus nach Demoucron [1]
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
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
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
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
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
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
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].
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           3
5        6   F2={1456}                                 F(S1)={F1, F2}
    1
             F3={164}              5           6
4
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
    4


3           2

5               6
        1

4
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.
1          2           3          4                31



Quellen
1.Lectures on Graph Theory, O. Melnikov, BI Wissenschaftsverlag 1994
2.http://cgm.cs.mcgill.ca/~athens/cs507/Projects/2004/Andrew-King/
  507planar.html, letzter Abruf: 08.06.2008
3.http://flickr.com/photos/hinkelstone/2435823037/, letzter Abruf:
  08.06.2008
4.http://blog.keelit.com/2007/04/12/, letzter Abruf: 08.06.2008
5.http://www.user.fh-stralsund.de/~pscheff/KonflikteVermeiden.pdf,
  letzter Abruf: 22.06.2008
6.http://www.mathe2.uni-bayreuth.de/EWS/demoucron.pdf, letzter
  Abruf: 22.06.2008
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
1   2   3   4




Fragen?

Weitere ähnliche Inhalte

Andere mochten auch

Fossil Bay Energy - Investment Opportunity CIM - September 2016 - BMM v3
Fossil Bay Energy - Investment Opportunity CIM - September 2016 - BMM v3Fossil Bay Energy - Investment Opportunity CIM - September 2016 - BMM v3
Fossil Bay Energy - Investment Opportunity CIM - September 2016 - BMM v3Dan Kulka
 
Buchbranche 2020
Buchbranche 2020Buchbranche 2020
Buchbranche 2020awa1
 
Growtainer simplified v1.1
Growtainer simplified v1.1Growtainer simplified v1.1
Growtainer simplified v1.1ifrost
 
Presentacion um dyl marzo 2004
Presentacion um dyl  marzo 2004Presentacion um dyl  marzo 2004
Presentacion um dyl marzo 2004rtoledo0
 
Herbert Magazin
Herbert Magazin Herbert Magazin
Herbert Magazin AnjaSchober
 
El petroleo
El petroleoEl petroleo
El petroleolina0102
 
PICTURES OF THAI BINH - HAM RONG GAS DISTRIBUTION CENTER
PICTURES OF THAI BINH - HAM RONG GAS DISTRIBUTION CENTERPICTURES OF THAI BINH - HAM RONG GAS DISTRIBUTION CENTER
PICTURES OF THAI BINH - HAM RONG GAS DISTRIBUTION CENTERNguyen Truong Son
 
Coal and mine version 2007
Coal and mine  version 2007Coal and mine  version 2007
Coal and mine version 2007Arvinder Singh
 
Naturgas - klimaneutrales Gas der Städtische Werke AG
Naturgas - klimaneutrales Gas der Städtische Werke AGNaturgas - klimaneutrales Gas der Städtische Werke AG
Naturgas - klimaneutrales Gas der Städtische Werke AGStädtische Werke AG
 
Extintores portatiles modificado
Extintores portatiles modificadoExtintores portatiles modificado
Extintores portatiles modificadoladisnely
 

Andere mochten auch (15)

Fossil Bay Energy - Investment Opportunity CIM - September 2016 - BMM v3
Fossil Bay Energy - Investment Opportunity CIM - September 2016 - BMM v3Fossil Bay Energy - Investment Opportunity CIM - September 2016 - BMM v3
Fossil Bay Energy - Investment Opportunity CIM - September 2016 - BMM v3
 
Buchbranche 2020
Buchbranche 2020Buchbranche 2020
Buchbranche 2020
 
Growtainer simplified v1.1
Growtainer simplified v1.1Growtainer simplified v1.1
Growtainer simplified v1.1
 
Presentacion um dyl marzo 2004
Presentacion um dyl  marzo 2004Presentacion um dyl  marzo 2004
Presentacion um dyl marzo 2004
 
Geldanlage und finanzielle Freiheit
Geldanlage und finanzielle FreiheitGeldanlage und finanzielle Freiheit
Geldanlage und finanzielle Freiheit
 
Herbert Magazin
Herbert Magazin Herbert Magazin
Herbert Magazin
 
El petroleo
El petroleoEl petroleo
El petroleo
 
Ammonite cormetrics presentation german october 2012
Ammonite cormetrics presentation german october 2012Ammonite cormetrics presentation german october 2012
Ammonite cormetrics presentation german october 2012
 
PICTURES OF THAI BINH - HAM RONG GAS DISTRIBUTION CENTER
PICTURES OF THAI BINH - HAM RONG GAS DISTRIBUTION CENTERPICTURES OF THAI BINH - HAM RONG GAS DISTRIBUTION CENTER
PICTURES OF THAI BINH - HAM RONG GAS DISTRIBUTION CENTER
 
Yahoo! Versorgerstudie
Yahoo! VersorgerstudieYahoo! Versorgerstudie
Yahoo! Versorgerstudie
 
Coal and mine version 2007
Coal and mine  version 2007Coal and mine  version 2007
Coal and mine version 2007
 
03b soldadura procesos_v1.4
03b soldadura procesos_v1.403b soldadura procesos_v1.4
03b soldadura procesos_v1.4
 
Naturgas - klimaneutrales Gas der Städtische Werke AG
Naturgas - klimaneutrales Gas der Städtische Werke AGNaturgas - klimaneutrales Gas der Städtische Werke AG
Naturgas - klimaneutrales Gas der Städtische Werke AG
 
Extintores portatiles modificado
Extintores portatiles modificadoExtintores portatiles modificado
Extintores portatiles modificado
 
Motor Bensin 2 TAKT
Motor Bensin 2 TAKTMotor Bensin 2 TAKT
Motor Bensin 2 TAKT
 

Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset

  • 1. Planaritätsalgorithmus nach Demoucron, Malgrange und Pertuiset Seminar Fortgeschrittene Konzepte der Programmierung SS 2008, Universität Bayreuth Vortrag am 23.06.2008 Martin Klinke
  • 2. 1 2 3 4 2 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
  • 3. 1 2 3 4 Was bedeutet Planarität anschaulich?
  • 4. 1 2 3 4 4 [2] Ein planarer ... lässt sich in der Ebene zeichnen, ohne dass sich Graph... Kanten überschneiden.
  • 5. 1 2 3 4 5 [2] Nicht-planare ... lassen sich dagegen nicht ohne Überschneidungen in der Graphen... Ebene zeichnen.
  • 6. 1 2 3 4 Motivation: Warum mit Planarität beschäftigen?
  • 7. 1 2 3 4 7 Anwendungen von Planarität [3] [4]
  • 8. 1 2 3 4 7 Anwendungen von Planarität •Entwurf elektrischer Schaltkreise [3] [4]
  • 9. 1 2 3 4 7 Anwendungen von Planarität •Entwurf elektrischer Schaltkreise [3] [4]
  • 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
  • 23. 1 2 3 4 Kriterien für Planarität
  • 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.
  • 31. 1 2 3 4 16 K5 K5
  • 32. 1 2 3 4 16 K5 •K5 ist nicht planar K5
  • 33. 1 2 3 4 16 K5 •K5 ist nicht planar •n=5, m=10 m ≤ 3n - 6 10 ≤ 9 ✘ K5
  • 34. 1 2 3 4 17 K3,3 K3,3
  • 35. 1 2 3 4 17 K3,3 •K3,3 ist nicht planar K3,3
  • 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
  • 51. 1 2 3 4 26 Algorithmus nach Demoucron [1]
  • 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].
  • 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 3 5 6 F2={1456} F(S1)={F1, F2} 1 F3={164} 5 6 4
  • 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 4 3 2 5 6 1 4
  • 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.
  • 62. 1 2 3 4 31 Quellen 1.Lectures on Graph Theory, O. Melnikov, BI Wissenschaftsverlag 1994 2.http://cgm.cs.mcgill.ca/~athens/cs507/Projects/2004/Andrew-King/ 507planar.html, letzter Abruf: 08.06.2008 3.http://flickr.com/photos/hinkelstone/2435823037/, letzter Abruf: 08.06.2008 4.http://blog.keelit.com/2007/04/12/, letzter Abruf: 08.06.2008 5.http://www.user.fh-stralsund.de/~pscheff/KonflikteVermeiden.pdf, letzter Abruf: 22.06.2008 6.http://www.mathe2.uni-bayreuth.de/EWS/demoucron.pdf, letzter Abruf: 22.06.2008
  • 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
  • 64. 1 2 3 4 Fragen?