Upload
louisa-bachmeier
View
221
Download
0
Embed Size (px)
Citation preview
Planare GraphenPlanare GraphenZeichnen von GraphenZeichnen von Graphen
Proseminar Algorithmen auf GraphenProseminar Algorithmen auf GraphenSommersemester 2006Sommersemester 2006
Christoph BöselChristoph Bösel
ÜberblickÜberblick
Begriff
Euler-Satz
Kuratowski-Satz
Boyer-Myrvold-Algorithmus O(n)
Demoucron-Algorithmus O(n²)
Zeichnen
Zusammenfassung, Fragen
A={K2}
Begriff „planar“Begriff „planar“
AA 11 22
11 00 11
22 11 00
BB 11 22 33
11 00 11 11
22 11 00 11
33 11 11 00
CC 11 22 33 44
11 00 11 11 11
22 11 00 11 11
33 11 11 00 11
44 11 11 11 00
B={K3}2
11
23
planarin der Ebene darstellbar,ohne dass sich Kantenüberschneiden
1
2 3
4
1
2
3
4
C={K4}
kein Einfluss- gerichtet/ungerichtet- mehrfache Kanten- Schlingen- Gewichtung von Kanten- etc.vereinfacht- einfach- ungerichtet
komplettjeder Knoten besitzt mitjedem weiteren Knoteneine gemeinsame Kante
Der KDer K55
DD 11 22 33 44 55
11 00 11 11 11 11
22 11 00 11 11 11
33 11 11 00 11 11
44 11 11 11 00 11
55 11 11 11 11 00
1
2
3
4
D={K5}
Fehlt nur eineclevere Idee?
Gibt es (eine)Lösung?
5
5
Satz von EulerSatz von Euler
1
2
3
4
5
6
V = C6 = 6
6 = 6
Satz von EulerSatz von Euler
1
2
3
4
5
6
V = C6 =
6 =
5
5?
Satz von EulerSatz von Euler
1
2
3
4
5
6
V = C6 =
=
5
5
- E- 1
5
Satz von EulerSatz von Euler
1
2
3
4
5
6
V = C6 =
=
- E- 5 1
1 1
Satz von EulerSatz von Euler
1
2
3
4
5
6
V = C6 =
=
- E- 1
1
6
0 ?
Satz von EulerSatz von Euler
1
2
3
4
5
6
V = C6 =
=
- E- 1
1
6
+ F+ 1
1
Satz von EulerSatz von Euler
1
2
3
4
5
6
V = C6 =
=
- E- 16
+ F+
+ 12 + 1
2 2
+E[+V] v [+F] v [-C]
vereinfacht- zusammenhängend, C=1
weitergeeulertweitergeeulert
V - E + F = 2
mi ≤ 2E1
2
3
4
mi ≥ 3F
F ≤ 2E / 3
E = V + F - 2 ≤ V + 2E / 3 - 2
E ≤ 3V - 6
Euler und der KEuler und der K55
DD 11 22 33 44 55
11 00 11 11 11 11
22 11 00 11 11 11
33 11 11 00 11 11
44 11 11 11 00 11
55 11 11 11 11 00
1
2
3
4
D={K5}
5
5
E 3V - 6≤10 3*5 - 6≤
10 9≤?
Widerspruch!
Wirklich soeinfach?
11/6 vs. K11/6 vs. K5 5 UU 1/1 1/1
EE 11 22 33 44 55 66
11 00 11 11 11 00 00
22 11 00 11 11 11 00
33 11 11 00 00 11 11
44 11 11 00 00 11 11
55 00 11 11 11 00 11
66 00 00 11 11 11 00
1
2
3
4
F
5
5
11 3*6 - 6≤
11 12≤
Und nun?
FF 11 22 33 44 55 66
11 00 11 11 11 11 00
22 11 00 11 11 11 00
33 11 11 00 11 11 00
44 11 11 11 00 11 11
55 11 11 11 11 00 00
66 00 00 00 11 00 00
1
2
3
4
5
6
E6
Satz von KuratowskiSatz von Kuratowski
1
5
2
3
4
1
2
3
6
5
4
Ein endlicher Graph ist genau dann planar, wenn er keinenTeilgraphen enthält, der durch die Erweiterung des K3,3 oderK5 entstanden ist.
K3,3
K5
FF 11 22 33 44 55 66
11 00 11 11 11 11 00
22 11 00 11 11 11 00
33 11 11 00 11 11 00
44 11 11 11 00 11 11
55 11 11 11 11 00 00
66 00 00 00 11 00 00FF 11 22 33 44 55 66
11 00 11 00 11 11 11
22 11 00 00 11 11 11
33 00 00 00 00 11 00
44 11 11 00 00 11 11
55 11 11 11 11 00 11
66 11 11 00 11 11 00
GG 11 22 33 44 55 66 77 88 99 .... .... ....
11 00 11 00 11 00 00 11 11 00 00 11 00
22 11 00 11 00 11 11 00 00 11 00 00 00
33 00 11 00 00 11 11 00 00 11 00 00 00
44 11 00 00 00 00 00 00 00 00 00 00 00
55 00 11 11 00 00 11 00 00 11 00 00 00
66 00 11 11 00 11 00 11 00 11 00 00 00
77 11 00 00 00 00 11 00 11 00 00 11 00
88 11 00 00 00 00 00 11 00 00 00 00 11
99 00 11 11 00 11 11 00 00 00 00 00 00
.... 00 00 00 00 00 00 00 00 00 00 11 00
.... 00 00 00 00 00 00 11 00 00 11 00 00
.... 00 11 00 00 00 00 00 11 00 00 00 00
Heute schonwas vor?
Boyer-MyrvoldBoyer-Myrvold
GG 11 22 33 44 55 66 77 88 99
11 00 11 00 11 00 00 11 11 00
22 11 00 11 00 11 11 00 00 11
33 00 11 00 00 11 11 00 00 11
44 11 00 00 00 00 00 00 00 00
55 00 11 11 00 00 11 00 00 11
66 00 11 11 00 11 00 11 00 11
77 11 00 00 00 00 11 00 11 00
88 11 00 00 00 00 00 11 00 00
99 00 11 11 00 11 11 00 00 00
1.
1
2
3
5
6
7
8
9
4
1
2 3
4
5
6
7 8
9
- Graph wird durch Tiefensuche in Baumstruktur überführt- Knoten werden nach Postorder-Reihenfolge neu bezeichnet- Datenstruktur G~ initialisieren
Boyer-MyrvoldBoyer-Myrvold
2. for jeden Knoten v = 1 to n
3. for jedes Kind c von v in GBaumkante (vc, c) in G~ einfügen
4. for jede Rückkante, indizent zu v und einem Nachfolger wWalkup(G~, v, w)
5. for jedes Kind c von v in GWalkdown(G~, vc)
6. for jede Rückkante, indizent zu v und einem Nachfolger wif (vc, w) є G~/
Kuratowski-Teilgraphen aus G~ isolierenreturn (nicht planar, G~)
7. return (planar, G~)
Boyer-MyrvoldBoyer-Myrvold
positiv:
negativ:
- Laufzeit O(n)- Rückgabe von
- Entscheidung planar/nicht-planar- Kuratowski-Teilgraph (wenn nicht planar)- Einbettung (wenn planar)
- robust- einfacher als andere O(n)-Algorithmen
- immernoch recht komplex
DemoucronDemoucron
1. beliebigen Kreis aus G in G‘ einbinden2. alle Flächen von G‘ bestimmen3. F(S) bestimmen (verbleibende Fragmente von G)4. if F(S)=O then return planar5. für alle F(S) die angrenzbaren Flächen bestimmen6. if es gibt F(S) ohne solche Fläche then return nicht-planar7. if es gibt F(S) mit nur einer Fläche then goto 9.8. Fragment von F(S) aussuchen9. α-Pfad aussuchen und in angrenzbare Fläche einbinden
10. goto 2.
/
DemoucronDemoucron
positiv:
negativ:
- einfach zu implementieren
- Laufzeit O(n²)- keine Rückgabe außer planar/nicht-planar
Zeichnen von GraphenZeichnen von Graphen
1
2
3
4
5
6
1
2
3
4
5
6
platzsparende, übersichtlicheEinbettung
irgendwiehalt..
Einbettung durch Boyer-Myrvold-Aglorithmusoder andere, spezialisierte Algorithmen
ZusammenfassungZusammenfassung
planar – p wie platt
K5 und K3,3 - die Wurzeln alles Bösen
Grundversorgung durch einfache, aber zeiltlich aufwändigeAlgorithmen mit quadratischer Laufzeit
leistungsstarke Algorithmen mit linearer Laufzeit und jederMenge Goodies, jedoch sehr komplex
übersichtliche Zeichnung als Erweiterung des Planaritätstests
Fragen?