Zeichnen planarer Graphen

Werbung
1
Visualisierung von Graphen
Geradlinige Zeichnungen planarer Graphen
6. Vorlesung
Sommersemester 2014
(basierend auf Folien von Marcus Krug und Tamara Mchedlidze, KIT)
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
2
Planare Graphen: Charakterisierung, Test, Zeichnung
Satz. [Kuratowski 1930: Sur le problème des courbes gauches en topologie ]
Sei G ein einfacher Graph. Dann gilt:
G planar ⇔ weder K5 noch K3,3 ist Minor von G .
Kazimierz Kuratowski
Warschau 1896–1980 Warschau
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
2
Planare Graphen: Charakterisierung, Test, Zeichnung
Satz. [Kuratowski 1930: Sur le problème des courbes gauches en topologie ]
Sei G ein einfacher Graph. Dann gilt:
G planar ⇔ weder K5 noch K3,3 ist Minor von G .
Satz. [Hopcroft & Tarjan, J. ACM 1974]
Sei G ein einfacher Graph mit n Knoten. Dann kann
man in O (n) Zeit entscheiden, ob G planar ist.
John Edward Hopcroft
*1939, Seattle, WA, U.S.A.
Philipp Kindermann, Alexander Wolff
Robert Endre Tarjan
*1948 Pomona, CA, USA
·
Lehrstuhl für Informatik I
·
Universität Würzburg
2
Planare Graphen: Charakterisierung, Test, Zeichnung
Satz. [Kuratowski 1930: Sur le problème des courbes gauches en topologie ]
Sei G ein einfacher Graph. Dann gilt:
G planar ⇔ weder K5 noch K3,3 ist Minor von G .
Satz. [Hopcroft & Tarjan, J. ACM 1974]
Sei G ein einfacher Graph mit n Knoten. Dann kann
man in O (n) Zeit entscheiden, ob G planar ist.
Satz. [Wagner 1936, Fáry 1948, Stein 1951]
Jeder planare Graph lässt sich geradlinig zeichnen.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
2
Planare Graphen: Charakterisierung, Test, Zeichnung
Satz. [Kuratowski 1930: Sur le problème des courbes gauches en topologie ]
Sei G ein einfacher Graph. Dann gilt:
G planar ⇔ weder K5 noch K3,3 ist Minor von G .
Satz. [Hopcroft & Tarjan, J. ACM 1974]
Sei G ein einfacher Graph mit n Knoten. Dann kann
man in O (n) Zeit entscheiden, ob G planar ist.
Satz. [Wagner 1936, Fáry 1948, Stein 1951]
Jeder planare Graph lässt sich geradlinig zeichnen.
Satz. [Koebe 1936: Kontaktprobleme der konformen Abbildung]
Jeder planare Graph lässt sich
als Berührgraph von Kreisscheiben (coin graph) repräsentieren.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
2
Planare Graphen: Charakterisierung, Test, Zeichnung
Satz. [Kuratowski 1930: Sur le problème des courbes gauches en topologie ]
Sei G ein einfacher Graph. Dann gilt:
G planar ⇔ weder K5 noch K3,3 ist Minor von G .
Satz. [Hopcroft & Tarjan, J. ACM 1974]
Sei G ein einfacher Graph mit n Knoten. Dann kann
man in O (n) Zeit entscheiden, ob G planar ist.
Satz. [Wagner 1936, Fáry 1948, Stein 1951]
Jeder planare Graph lässt sich geradlinig zeichnen.
Satz. [Koebe 1936: Kontaktprobleme der konformen Abbildung]
Jeder planare Graph lässt sich
als Berührgraph von Kreisscheiben (coin graph) repräsentieren.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
2
Planare Graphen: Charakterisierung, Test, Zeichnung
Satz. [Kuratowski 1930: Sur le problème des courbes gauches en topologie ]
Sei G ein einfacher Graph. Dann gilt:
G planar ⇔ weder K5 noch K3,3 ist Minor von G .
Satz. [Hopcroft & Tarjan, J. ACM 1974]
Sei G ein einfacher Graph mit n Knoten. Dann kann
man in O (n) Zeit entscheiden, ob G planar ist.
Satz. [Wagner 1936, Fáry 1948, Stein 1951]
Jeder planare Graph lässt sich geradlinig zeichnen.
Satz. [Koebe 1936: Kontaktprobleme der konformen Abbildung]
Jeder planare Graph lässt sich
als Berührgraph von Kreisscheiben (coin graph) repräsentieren.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
2
Planare Graphen: Charakterisierung, Test, Zeichnung
Satz. [Kuratowski 1930: Sur le problème des courbes gauches en topologie ]
Sei G ein einfacher Graph. Dann gilt:
G planar ⇔ weder K5 noch K3,3 ist Minor von G .
Satz. [Hopcroft & Tarjan, J. ACM 1974]
Sei G ein einfacher Graph mit n Knoten. Dann kann
man in O (n) Zeit entscheiden, ob G planar ist.
Satz. [Wagner 1936, Fáry 1948, Stein 1951]
Jeder planare Graph lässt sich geradlinig zeichnen.
Satz. [Koebe 1936: Kontaktprobleme der konformen Abbildung]
Jeder planare Graph lässt sich
als Berührgraph von Kreisscheiben (coin graph) repräsentieren.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
3
Planare Graphen zeichnen
Satz. [Tutte 1963: How to draw a graph]
Ein (3-fach zshg.) planarer Graph lässt sich in
Linearzeit geradlinig (und konvex) zeichnen.
William Thomas Tutte
Newmarket, GB 1917–2002 Kitchener, Kanada
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
3
Planare Graphen zeichnen
Satz. [Tutte 1963: How to draw a graph]
Ein (3-fach zshg.) planarer Graph lässt sich in
Linearzeit geradlinig (und konvex) zeichnen.
William Thomas Tutte
Newmarket, GB 1917–2002 Kitchener, Kanada
Satz. [de Fraysseix, Pach & Pollack 1988]
Jeder eingebettete planare Graph mit n Knoten lässt sich
geradlinig und planar auf dem (2n − 4) × (n − 2) Gitter
zeichnen.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
3
Planare Graphen zeichnen
Satz. [Tutte 1963: How to draw a graph]
Ein (3-fach zshg.) planarer Graph lässt sich in
Linearzeit geradlinig (und konvex) zeichnen.
William Thomas Tutte
Newmarket, GB 1917–2002 Kitchener, Kanada
Satz. [de Fraysseix, Pach & Pollack 1988]
Jeder eingebettete planare Graph mit n Knoten lässt sich
geradlinig und planar auf dem (2n − 4) × (n − 2) Gitter
zeichnen.
n−2
2n − 4
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
3
Planare Graphen zeichnen
Satz. [Tutte 1963: How to draw a graph]
Ein (3-fach zshg.) planarer Graph lässt sich in
Linearzeit geradlinig (und konvex) zeichnen.
William Thomas Tutte
Newmarket, GB 1917–2002 Kitchener, Kanada
Satz. [de Fraysseix, Pach & Pollack 1988]
Jeder eingebettete planare Graph mit n Knoten lässt sich
geradlinig und planar auf dem (2n − 4) × (n − 2) Gitter
zeichnen.
n−2
2n − 4
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
3
Planare Graphen zeichnen
Satz. [Tutte 1963: How to draw a graph]
Ein (3-fach zshg.) planarer Graph lässt sich in
Linearzeit geradlinig (und konvex) zeichnen.
William Thomas Tutte
Newmarket, GB 1917–2002 Kitchener, Kanada
Satz. [de Fraysseix, Pach & Pollack 1988]
Jeder eingebettete planare Graph mit n Knoten lässt sich
geradlinig und planar auf dem (2n − 4) × (n − 2) Gitter
zeichnen.
n−2
2n − 4
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
3
Planare Graphen zeichnen
Satz. [Tutte 1963: How to draw a graph]
Ein (3-fach zshg.) planarer Graph lässt sich in
Linearzeit geradlinig (und konvex) zeichnen.
William Thomas Tutte
Newmarket, GB 1917–2002 Kitchener, Kanada
Satz. [de Fraysseix, Pach & Pollack 1988]
Jeder eingebettete planare Graph mit n Knoten lässt sich
geradlinig und planar auf dem (2n − 4) × (n − 2) Gitter
zeichnen.
n−2
heute
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
2n − 4
·
Universität Würzburg
4-1
Idee
Es reicht, maximal planare (triangulierte) Graphen zu
betrachten.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4-2
Idee
Es reicht, maximal planare (triangulierte) Graphen zu
betrachten.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4-3
Idee
Es reicht, maximal planare (triangulierte) Graphen zu
betrachten.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4-4
Idee
Es reicht, maximal planare (triangulierte) Graphen zu
betrachten.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4-5
Idee
Es reicht, maximal planare (triangulierte) Graphen zu
betrachten.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4-6
Idee
Es reicht, maximal planare (triangulierte) Graphen zu
betrachten.
Zeichne inkrementell
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4-7
Idee
Es reicht, maximal planare (triangulierte) Graphen zu
betrachten.
Zeichne inkrementell
v
G0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4-8
Idee
Es reicht, maximal planare (triangulierte) Graphen zu
betrachten.
Zeichne inkrementell
v
G0
Philipp Kindermann, Alexander Wolff
G0
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4-9
Idee
Es reicht, maximal planare (triangulierte) Graphen zu
betrachten.
Zeichne inkrementell
v
G0
Philipp Kindermann, Alexander Wolff
G0
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4-10
Idee
Es reicht, maximal planare (triangulierte) Graphen zu
betrachten.
Zeichne inkrementell
v
G0
Philipp Kindermann, Alexander Wolff
v
G0
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Kanonische Ordnungen
Definition: Kanonische Ordnung
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Kanonische Ordnungen
Definition: Kanonische Ordnung
Sei G = (V , E ) ein triangulierter, planar eingebetteter Graph
mit n ≥ 3 Knoten. Eine Ordnung π = (v1 , v2 , . . . , vn ) der Knoten heißt kanonische Ordnung, falls gilt
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Kanonische Ordnungen
Definition: Kanonische Ordnung
Sei G = (V , E ) ein triangulierter, planar eingebetteter Graph
mit n ≥ 3 Knoten. Eine Ordnung π = (v1 , v2 , . . . , vn ) der Knoten heißt kanonische Ordnung, falls gilt
für 3 ≤ k ≤ n ist der von {v1 , . . . vk } induzierte Teilgraph
Gk zweifachzusammenhängend und intern trianguliert.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Kanonische Ordnungen
Definition: Kanonische Ordnung
Sei G = (V , E ) ein triangulierter, planar eingebetteter Graph
mit n ≥ 3 Knoten. Eine Ordnung π = (v1 , v2 , . . . , vn ) der Knoten heißt kanonische Ordnung, falls gilt
für 3 ≤ k ≤ n ist der von {v1 , . . . vk } induzierte Teilgraph
Gk zweifachzusammenhängend und intern trianguliert.
für 2 ≤ k ≤ n ist v1 , v2 ist Außenkante von Gk .
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Kanonische Ordnungen
Definition: Kanonische Ordnung
Sei G = (V , E ) ein triangulierter, planar eingebetteter Graph
mit n ≥ 3 Knoten. Eine Ordnung π = (v1 , v2 , . . . , vn ) der Knoten heißt kanonische Ordnung, falls gilt
für 3 ≤ k ≤ n ist der von {v1 , . . . vk } induzierte Teilgraph
Gk zweifachzusammenhängend und intern trianguliert.
für 2 ≤ k ≤ n ist v1 , v2 ist Außenkante von Gk .
für k < n liegt vk +1 auf dem Rand der äußeren Facette von
Gk +1 und alle Nachbarn von vk +1 in Gk +1 bilden ein
zusammenhängendes Intervall auf dem Rand Co (Gk ) der
äußeren Facette von Gk .
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6-1
Beispiel kanonische Ordnung
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6-2
Beispiel kanonische Ordnung
16
G16
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6-3
Beispiel kanonische Ordnung
16
G15
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6-4
Beispiel kanonische Ordnung
16
15
G15
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6-5
Beispiel kanonische Ordnung
16
15
G14
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6-6
Beispiel kanonische Ordnung
16
14
15
G14
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6-7
Beispiel kanonische Ordnung
16
14
15
G13
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6-8
Beispiel kanonische Ordnung
16
14
15
13
G13
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6-9
Beispiel kanonische Ordnung
16
14
15
13
G12
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6-10
Beispiel kanonische Ordnung
16
14
15
Sehne
G13
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6-11
Beispiel kanonische Ordnung
16
14
15
13
G13
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6-12
Beispiel kanonische Ordnung
16
14
15
13
G12
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6-13
Beispiel kanonische Ordnung
16
14
15
12
13 11
10
6
9
8
7
4
5
3
1
Philipp Kindermann, Alexander Wolff
2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
7
Existenz einer kanonischen Ordnung
Lemma. Jeder planare, triangulierte Graph G = (V , E ) hat eine
kanonische Ordnung.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
7
Existenz einer kanonischen Ordnung
Lemma. Jeder planare, triangulierte Graph G = (V , E ) hat eine
kanonische Ordnung.
Beweis: Umgekehrte Induktion über k .
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
7
Existenz einer kanonischen Ordnung
Lemma. Jeder planare, triangulierte Graph G = (V , E ) hat eine
kanonische Ordnung.
Beweis: Umgekehrte Induktion über k .
vn
k = n:
v2
v1
Induktionsvoraussetzung: Die Knoten vn , vn−1 , . . . , vk +1
wurden so gewählt, dass die drei Bedingungen erfüllt sind.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
8
Existenz einer kanonischen Ordnung
Wir suchen geeignetes vk in Gk .
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
8
Existenz einer kanonischen Ordnung
Wir suchen geeignetes vk in Gk .
IV
Gk
v1
Philipp Kindermann, Alexander Wolff
v2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
8
Existenz einer kanonischen Ordnung
Wir suchen geeignetes vk in Gk .
vk
IV
v1
Philipp Kindermann, Alexander Wolff
v2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
8
Existenz einer kanonischen Ordnung
Wir suchen geeignetes vk in Gk .
vk
IV
v1
Philipp Kindermann, Alexander Wolff
vk darf nicht an Sehne liegen.
Reicht das aus?
v2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
8
Existenz einer kanonischen Ordnung
Wir suchen geeignetes vk in Gk .
IV
vk
vk darf nicht an Sehne liegen.
Reicht das aus?
v1
v2
Zeige: vk nicht an Sehne ⇒ Gk −1 zweifach zusammenhängend
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
8
Existenz einer kanonischen Ordnung
Wir suchen geeignetes vk in Gk .
vk
IV
vk darf nicht an Sehne liegen.
Reicht das aus?
v1
v2
Zeige: vk nicht an Sehne ⇒ Gk −1 zweifach zusammenhängend
vk
Gk−1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
8
Existenz einer kanonischen Ordnung
Wir suchen geeignetes vk in Gk .
vk
IV
vk darf nicht an Sehne liegen.
Reicht das aus?
v1
v2
Zeige: vk nicht an Sehne ⇒ Gk −1 zweifach zusammenhängend
vk
Gk−1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
8
Existenz einer kanonischen Ordnung
Wir suchen geeignetes vk in Gk .
vk
IV
vk darf nicht an Sehne liegen.
Reicht das aus?
v1
v2
Zeige: vk nicht an Sehne ⇒ Gk −1 zweifach zusammenhängend
vk
Gk−1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
8
Existenz einer kanonischen Ordnung
Wir suchen geeignetes vk in Gk .
vk
IV
vk darf nicht an Sehne liegen.
Reicht das aus?
v1
v2
Zeige: vk nicht an Sehne ⇒ Gk −1 zweifach zusammenhängend
vk
Gk nicht 2fach-zshgd.
Gk−1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
8
Existenz einer kanonischen Ordnung
Wir suchen geeignetes vk in Gk .
vk
IV
vk darf nicht an Sehne liegen.
Reicht das aus?
v1
v2
Zeige: vk nicht an Sehne ⇒ Gk −1 zweifach zusammenhängend
vk
vk
Gk nicht 2fach-zshgd.
Gk−1
Gk−1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
8
Existenz einer kanonischen Ordnung
Wir suchen geeignetes vk in Gk .
vk
IV
vk darf nicht an Sehne liegen.
Reicht das aus?
v1
v2
Zeige: vk nicht an Sehne ⇒ Gk −1 zweifach zusammenhängend
vk
vk
Gk nicht 2fach-zshgd.
Gk−1
Gk−1
Philipp Kindermann, Alexander Wolff
Gk nicht
trianguliert
·
Lehrstuhl für Informatik I
·
Universität Würzburg
8
Existenz einer kanonischen Ordnung
Wir suchen geeignetes vk in Gk .
vk
IV
vk darf nicht an Sehne liegen.
Reicht das aus?
v1
v2
Zeige: vk nicht an Sehne ⇒ Gk −1 zweifach zusammenhängend
vk
vk
Gk nicht 2fach-zshgd.
Gk nicht
trianguliert
Gk−1
Gk−1
Philipp Kindermann, Alexander Wolff
vk
·
Lehrstuhl für Informatik I
Gk−1
·
Universität Würzburg
8
Existenz einer kanonischen Ordnung
Wir suchen geeignetes vk in Gk .
vk
IV
vk darf nicht an Sehne liegen.
Reicht das aus?
v1
v2
Zeige: vk nicht an Sehne ⇒ Gk −1 zweifach zusammenhängend
vk
vk
Gk nicht 2fach-zshgd.
Gk nicht
trianguliert
Sehne
Gk−1
Gk−1
Philipp Kindermann, Alexander Wolff
vk
·
Lehrstuhl für Informatik I
Gk−1
·
Universität Würzburg
9-1
Finde Knoten vk der nicht an Sehne liegt
Zeige: Es gibt einen Knoten vk auf der Außenfacette, der an
keine Sehne angrenzt.
– starte Umlauf von
v1 ; Sehnen bilden Klammernstruktur
v1
Philipp Kindermann, Alexander Wolff
v2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-2
Finde Knoten vk der nicht an Sehne liegt
Zeige: Es gibt einen Knoten vk auf der Außenfacette, der an
keine Sehne angrenzt.
– entferne innere Knoten
– starte Umlauf von
v1 ; Sehnen bilden Klammernstruktur
v1
Philipp Kindermann, Alexander Wolff
v2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-3
Finde Knoten vk der nicht an Sehne liegt
Zeige: Es gibt einen Knoten vk auf der Außenfacette, der an
keine Sehne angrenzt.
– entferne innere Knoten
vk
– starte Umlauf von
v1 ; Sehnen bilden Klammernstruktur
– ⇒ finde geeignetes vk
v1
Philipp Kindermann, Alexander Wolff
v2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
10
Berechnen einer kanonischen Ordnung
Algorithmus Kanonische Ordnung
forall the v ∈ V do
chords(v ) ← 0; out(v ) ← false; mark(v ) ← false;
out(v1 ), out(v2 ), out(vn ) ← true;
for k = n to 3 do
wähle v 6= v1 , v2 mit mark(v ) = false, out(v ) = true, chords(v ) = 0;
vk ← v ; mark(v ) ← true;
(w1 = v1 , w2 , . . . , wt−1 , wt = v2 ) ← Co (Gk−1 );
(wp , . . . , wq ) ← unmarkierte Nachbarn von vk ;
out(wi ) ← true for all p < i < q;
aktualisiere chords(·) für diese wi und ihre Nachbarn;
chord(v ): Anzahl der zu v adjazenten Sehnen
mark(v ) = true ⇔ v wurde schon eine Nummer zugewiesen
out(v )=true ⇔ v liegt auf der Außenfacette des aktuellen Teilgraphen
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
10
Berechnen einer kanonischen Ordnung
Algorithmus Kanonische Ordnung
forall the v ∈ V do
chords(v ) ← 0; out(v ) ← false; mark(v ) ← false;
out(v1 ), out(v2 ), out(vn ) ← true;
for k = n to 3 do
wähle v 6= v1 , v2 mit mark(v ) = false, out(v ) = true, chords(v ) = 0;
vk ← v ; mark(v ) ← true;
(w1 = v1 , w2 , . . . , wt−1 , wt = v2 ) ← Co (Gk−1 );
(wp , . . . , wq ) ← unmarkierte Nachbarn von vk ;
out(wi ) ← true for all p < i < q;
aktualisiere chords(·) für diese wi und ihre Nachbarn;
chord(v ): Anzahl der zu v adjazenten Sehnen
mark(v ) = true ⇔ v wurde schon eine Nummer zugewiesen
out(v )=true ⇔ v liegt auf der Außenfacette des aktuellen Teilgraphen
Der Algorithmus findet eine kanonische Ordnung in O(n) Zeit.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
11-1
Shift-Algorithmus von de Fraysseix, Pach und Pollack
Invariante: Gk−1 ist so gezeichnet, dass
v1 auf (0, 0) und v2 auf (2k − 6, 0)
liegt.
die Außenfacette (ohne die Kante
{v1 , v2 }) x-monoton ist.
jede Kante auf der Außenfacette (ohne
die Kante {v1 , v2 }) Steigung ±1 hat.
Gk−1
v2
v1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
11-2
Shift-Algorithmus von de Fraysseix, Pach und Pollack
Invariante: Gk−1 ist so gezeichnet, dass
v1 auf (0, 0) und v2 auf (2k − 6, 0)
liegt.
die Außenfacette (ohne die Kante
{v1 , v2 }) x-monoton ist.
jede Kante auf der Außenfacette (ohne
die Kante {v1 , v2 }) Steigung ±1 hat.
vk
Gk−1
v2
v1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
11-3
Shift-Algorithmus von de Fraysseix, Pach und Pollack
Invariante: Gk−1 ist so gezeichnet, dass
v1 auf (0, 0) und v2 auf (2k − 6, 0)
liegt.
y
die Außenfacette (ohne die Kante
{v1 , v2 }) x-monoton ist.
x
jede Kante auf der Außenfacette (ohne
die Kante {v1 , v2 }) Steigung ±1 hat.
vk
Gk−1
v2
v1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
11-4
Shift-Algorithmus von de Fraysseix, Pach und Pollack
Invariante: Gk−1 ist so gezeichnet, dass
v1 auf (0, 0) und v2 auf (2k − 6, 0)
liegt.
y
die Außenfacette (ohne die Kante
{v1 , v2 }) x-monoton ist.
x
jede Kante auf der Außenfacette (ohne
die Kante {v1 , v2 }) Steigung ±1 hat.
vk
Überlappungen!
Gk−1
v2
v1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
11-5
Shift-Algorithmus von de Fraysseix, Pach und Pollack
Invariante: Gk−1 ist so gezeichnet, dass
v1 auf (0, 0) und v2 auf (2k − 6, 0)
liegt.
y
die Außenfacette (ohne die Kante
{v1 , v2 }) x-monoton ist.
x
jede Kante auf der Außenfacette (ohne
die Kante {v1 , v2 }) Steigung ±1 hat.
vk
Überlappungen!
Ideen?
Gk−1
v2
v1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
11-6
Shift-Algorithmus von de Fraysseix, Pach und Pollack
Invariante: Gk−1 ist so gezeichnet, dass
v1 auf (0, 0) und v2 auf (2k − 6, 0)
liegt.
y
die Außenfacette (ohne die Kante
{v1 , v2 }) x-monoton ist.
x
jede Kante auf der Außenfacette (ohne
die Kante {v1 , v2 }) Steigung ±1 hat.
vk
Gk−1
v2
v1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
11-7
Shift-Algorithmus von de Fraysseix, Pach und Pollack
Invariante: Gk−1 ist so gezeichnet, dass
v1 auf (0, 0) und v2 auf (2k − 6, 0)
liegt.
y
die Außenfacette (ohne die Kante
{v1 , v2 }) x-monoton ist.
x
jede Kante auf der Außenfacette (ohne
die Kante {v1 , v2 }) Steigung ±1 hat.
vk
Gk−1
v2
v1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
11-8
Shift-Algorithmus von de Fraysseix, Pach und Pollack
Invariante: Gk−1 ist so gezeichnet, dass
v1 auf (0, 0) und v2 auf (2k − 6, 0)
liegt.
y
die Außenfacette (ohne die Kante
{v1 , v2 }) x-monoton ist.
x
jede Kante auf der Außenfacette (ohne
die Kante {v1 , v2 }) Steigung ±1 hat.
vk
Gk−1
v2
v1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
11-9
Shift-Algorithmus von de Fraysseix, Pach und Pollack
Invariante: Gk−1 ist so gezeichnet, dass
v1 auf (0, 0) und v2 auf (2k − 6, 0)
liegt.
y
die Außenfacette (ohne die Kante
{v1 , v2 }) x-monoton ist.
x
jede Kante auf der Außenfacette (ohne
die Kante {v1 , v2 }) Steigung ±1 hat.
vk
Gk−1
v2
v1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
11-10
Shift-Algorithmus von de Fraysseix, Pach und Pollack
Invariante: Gk−1 ist so gezeichnet, dass
v1 auf (0, 0) und v2 auf (2k − 6, 0)
liegt.
y
die Außenfacette (ohne die Kante
{v1 , v2 }) x-monoton ist.
x
jede Kante auf der Außenfacette (ohne
die Kante {v1 , v2 }) Steigung ±1 hat.
Gk−1
v2
v1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
11-11
Shift-Algorithmus von de Fraysseix, Pach und Pollack
Invariante: Gk−1 ist so gezeichnet, dass
v1 auf (0, 0) und v2 auf (2k − 6, 0)
liegt.
y
die Außenfacette (ohne die Kante
{v1 , v2 }) x-monoton ist.
x
jede Kante auf der Außenfacette (ohne
die Kante {v1 , v2 }) Steigung ±1 hat.
Gitterpunkt?
Übung
Gk−1
v2
v1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
11-12
Shift-Algorithmus von de Fraysseix, Pach und Pollack
Invariante: Gk−1 ist so gezeichnet, dass
v1 auf (0, 0) und v2 auf (2k − 6, 0)
liegt.
y
die Außenfacette (ohne die Kante
{v1 , v2 }) x-monoton ist.
x
jede Kante auf der Außenfacette (ohne
die Kante {v1 , v2 }) Steigung ±1 hat.
Gitterpunkt?
Übung
Gk−1
v1
v2
L(vk )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-1
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
13
15
12 11
10
6
9
8
7
4
5
3
1
Philipp Kindermann, Alexander Wolff
2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-2
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
13
15
12 11
10
6
9
8
7
4
5
3
1
Philipp Kindermann, Alexander Wolff
2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-3
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
13
15
12 11
10
6
9
8
7
4
5
3
1
Philipp Kindermann, Alexander Wolff
2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-4
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
13
15
12 11
10
6
9
8
7
4
5
3
1
Philipp Kindermann, Alexander Wolff
2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-5
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
13
15
12 11
10
6
9
8
7
4
5
3
1
Philipp Kindermann, Alexander Wolff
2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-6
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
13
15
12 11
10
6
9
8
7
4
5
3
1
Philipp Kindermann, Alexander Wolff
2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-7
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
13
15
12 11
10
6
9
8
7
4
5
3
1
Philipp Kindermann, Alexander Wolff
2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-8
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
13
15
12 11
10
6
9
8
7
4
5
3
1
Philipp Kindermann, Alexander Wolff
2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-9
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
13
15
12 11
10
6
9
8
7
4
5
3
1
Philipp Kindermann, Alexander Wolff
2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-10
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
13
15
12 11
10
6
9
8
7
4
5
3
1
Philipp Kindermann, Alexander Wolff
2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-11
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
13
15
12 11
10
6
9
8
7
4
5
3
1
Philipp Kindermann, Alexander Wolff
2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-12
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
13
15
12 11
10
6
9
8
7
4
5
3
1
2
L(10)
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-13
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
13
15
12 11
10
6
9
8
7
4
5
3
1
2
L(11)
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-14
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
13
15
12 11
10
6
9
8
7
4
5
3
1
Philipp Kindermann, Alexander Wolff
2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-15
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
13
15
12 11
10
6
9
8
7
4
5
3
1
Philipp Kindermann, Alexander Wolff
2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-16
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
13
15
12 11
10
L(13)
6
9
8
7
4
5
3
1
Philipp Kindermann, Alexander Wolff
2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-17
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
13
15
12 11
10
L(14)
6
9
8
7
4
5
3
1
Philipp Kindermann, Alexander Wolff
2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-18
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
13
15
12 11
10
6
9
8
7
4
5
3
1
Philipp Kindermann, Alexander Wolff
2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-19
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
13
15
12 11
10
6
9
8
7
4
5
3
1
Philipp Kindermann, Alexander Wolff
2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12-20
Shift-Algorithmus von de Fraysseix, Pach und Pollack
+1
+2
16
14
(n − 2, n − 2)
13
15
12 11
10
6
9
8
7
4
5
3
1
2
(2n − 4, 0)
(0, 0)
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
13-1
Was ist die Menge L(vk )?
vk
Gk −1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
13-2
Was ist die Menge L(vk )?
vk
überdeckte Knoten
Gk −1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
13-3
Was ist die Menge L(vk )?
vk
überdeckte Knoten
Gk −1
Philipp Kindermann, Alexander Wolff
·
Jeder innere Knoten
wird
genau
einmal
überdeckt.
Überdeckungen definieren einen Baum in G .
In Gi , 1 ≤ i ≤ n − 1:
Wald
Lehrstuhl für Informatik I
·
Universität Würzburg
13-4
Was ist die Menge L(vk )?
vk
Jeder innere Knoten
wird
genau
einmal
überdeckt.
Überdeckungen definieren einen Baum in G .
In Gi , 1 ≤ i ≤ n − 1:
Wald
Gk −1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
13-5
Was ist die Menge L(vk )?
vk
Jeder innere Knoten
wird
genau
einmal
überdeckt.
Überdeckungen definieren einen Baum in G .
In Gi , 1 ≤ i ≤ n − 1:
Wald
Gk −1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
13-6
Was ist die Menge L(vk )?
vk
wp
wq
w2
w1
Gk −1
Philipp Kindermann, Alexander Wolff
·
Jeder innere Knoten
wird
genau
einmal
überdeckt.
Überdeckungen definieren einen Baum in G .
wt −1 In Gi , 1 ≤ i ≤ n − 1:
Wald
wt
Lehrstuhl für Informatik I
·
Universität Würzburg
13-7
Was ist die Menge L(vk )?
vk
wp
wq
w2
w1
Gk −1
L(wi )
Philipp Kindermann, Alexander Wolff
·
Jeder innere Knoten
wird
genau
einmal
überdeckt.
Überdeckungen definieren einen Baum in G .
wt −1 In Gi , 1 ≤ i ≤ n − 1:
Wald
wt
Lehrstuhl für Informatik I
·
Universität Würzburg
13-8
Was ist die Menge L(vk )?
vk
wp
wq
w2
w1
Gk −1
L(wi )
Jeder innere Knoten
wird
genau
einmal
überdeckt.
Überdeckungen definieren einen Baum in G .
wt −1 In Gi , 1 ≤ i ≤ n − 1:
Wald
wt
Lemma. Sei 0 < δ1 ≤ δ2 ≤ · · · ≤ δt ∈ N. Wenn wir L(wi ) um
δi nach rechts schieben, erhalten wir eine geradlinige
planare Zeichnung.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
14
Verschiebungen
Lemma. Sei 0 < δ1 ≤ δ2 ≤ · · · ≤ δt ∈ N. Wenn wir L(wi ) um
δi nach rechts schieben, erhalten wir eine geradlinige
planare Zeichnung.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
14
Verschiebungen
Lemma. Sei 0 < δ1 ≤ δ2 ≤ · · · ≤ δt ∈ N. Wenn wir L(wi ) um
δi nach rechts schieben, erhalten wir eine geradlinige
planare Zeichnung.
Beweis:
Induktion über k; wir betrachten G3 , . . . , Gn .
Nehme an, die Behauptung stimmt für Gk−1 .
w1 , . . . , wp , vk , wq , . . . , wt Außenfacette von Gk .
Sei δ(w1 ) ≤ · · · ≤ δ(wp ) ≤ δ(vk ) ≤ δ(wq ) ≤ · · · ≤ δ(wt ).
Setze δ 0 (wi ) = δ(wi ) für 1 ≤ i ≤ p,
δ 0 (wi ) = δ(vk ) + 1 für p + 1 ≤ i ≤ q − 1 und
δ 0 (wi ) = δ(wi ) + 2 für q ≤ i ≤ t.
Nach Induktionsvoraussetzung können wir L(w1 ) . . . , L(wt ) um
δ(w1 )0 , . . . , δ(wt )0 verschieben.
Zum Schluss können wir die Zeichnung mit vk wieder vervollständigen.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
14
Verschiebungen
Lemma. Sei 0 < δ1 ≤ δ2 ≤ · · · ≤ δt ∈ N. Wenn wir L(wi ) um
δi nach rechts schieben, erhalten wir eine geradlinige
planare Zeichnung.
Beweis:
Induktion über k; wir betrachten G3 , . . . , Gn .
Nehme an, die Behauptung stimmt für Gk−1 .
w1 , . . . , wp , vk , wq , . . . , wt Außenfacette von Gk .
Sei δ(w1 ) ≤ · · · ≤ δ(wp ) ≤ δ(vk ) ≤ δ(wq ) ≤ · · · ≤ δ(wt ).
Setze δ 0 (wi ) = δ(wi ) für 1 ≤ i ≤ p,
δ 0 (wi ) = δ(vk ) + 1 für p + 1 ≤ i ≤ q − 1 und
δ 0 (wi ) = δ(wi ) + 2 für q ≤ i ≤ t.
Nach Induktionsvoraussetzung können wir L(w1 ) . . . , L(wt ) um
δ(w1 )0 , . . . , δ(wt )0 verschieben.
Zum Schluss können wir die Zeichnung mit vk wieder vervollständigen.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
14
Verschiebungen
Lemma. Sei 0 < δ1 ≤ δ2 ≤ · · · ≤ δt ∈ N. Wenn wir L(wi ) um
δi nach rechts schieben, erhalten wir eine geradlinige
planare Zeichnung.
Beweis:
Induktion über k; wir betrachten G3 , . . . , Gn .
Nehme an, die Behauptung stimmt für Gk−1 .
w1 , . . . , wp , vk , wq , . . . , wt Außenfacette von Gk .
Sei δ(w1 ) ≤ · · · ≤ δ(wp ) ≤ δ(vk ) ≤ δ(wq ) ≤ · · · ≤ δ(wt ).
Setze δ 0 (wi ) = δ(wi ) für 1 ≤ i ≤ p,
δ 0 (wi ) = δ(vk ) + 1 für p + 1 ≤ i ≤ q − 1 und
δ 0 (wi ) = δ(wi ) + 2 für q ≤ i ≤ t.
Nach Induktionsvoraussetzung können wir L(w1 ) . . . , L(wt ) um
δ(w1 )0 , . . . , δ(wt )0 verschieben.
Zum Schluss können wir die Zeichnung mit vk wieder vervollständigen.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
14
Verschiebungen
Lemma. Sei 0 < δ1 ≤ δ2 ≤ · · · ≤ δt ∈ N. Wenn wir L(wi ) um
δi nach rechts schieben, erhalten wir eine geradlinige
planare Zeichnung.
Beweis:
Induktion über k; wir betrachten G3 , . . . , Gn .
Nehme an, die Behauptung stimmt für Gk−1 .
w1 , . . . , wp , vk , wq , . . . , wt Außenfacette von Gk .
Sei δ(w1 ) ≤ · · · ≤ δ(wp ) ≤ δ(vk ) ≤ δ(wq ) ≤ · · · ≤ δ(wt ).
Setze δ 0 (wi ) = δ(wi ) für 1 ≤ i ≤ p,
δ 0 (wi ) = δ(vk ) + 1 für p + 1 ≤ i ≤ q − 1 und
δ 0 (wi ) = δ(wi ) + 2 für q ≤ i ≤ t.
Nach Induktionsvoraussetzung können wir L(w1 ) . . . , L(wt ) um
δ(w1 )0 , . . . , δ(wt )0 verschieben.
Zum Schluss können wir die Zeichnung mit vk wieder vervollständigen.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
14
Verschiebungen
Lemma. Sei 0 < δ1 ≤ δ2 ≤ · · · ≤ δt ∈ N. Wenn wir L(wi ) um
δi nach rechts schieben, erhalten wir eine geradlinige
planare Zeichnung.
Beweis:
Induktion über k; wir betrachten G3 , . . . , Gn .
Nehme an, die Behauptung stimmt für Gk−1 .
w1 , . . . , wp , vk , wq , . . . , wt Außenfacette von Gk .
Sei δ(w1 ) ≤ · · · ≤ δ(wp ) ≤ δ(vk ) ≤ δ(wq ) ≤ · · · ≤ δ(wt ).
Setze δ 0 (wi ) = δ(wi ) für 1 ≤ i ≤ p,
δ 0 (wi ) = δ(vk ) + 1 für p + 1 ≤ i ≤ q − 1 und
δ 0 (wi ) = δ(wi ) + 2 für q ≤ i ≤ t.
Nach Induktionsvoraussetzung können wir L(w1 ) . . . , L(wt ) um
δ(w1 )0 , . . . , δ(wt )0 verschieben.
Zum Schluss können wir die Zeichnung mit vk wieder vervollständigen.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
14
Verschiebungen
Lemma. Sei 0 < δ1 ≤ δ2 ≤ · · · ≤ δt ∈ N. Wenn wir L(wi ) um
δi nach rechts schieben, erhalten wir eine geradlinige
planare Zeichnung.
Beweis:
Induktion über k; wir betrachten G3 , . . . , Gn .
Nehme an, die Behauptung stimmt für Gk−1 .
w1 , . . . , wp , vk , wq , . . . , wt Außenfacette von Gk .
Sei δ(w1 ) ≤ · · · ≤ δ(wp ) ≤ δ(vk ) ≤ δ(wq ) ≤ · · · ≤ δ(wt ).
Setze δ 0 (wi ) = δ(wi ) für 1 ≤ i ≤ p,
L(vk )
δ 0 (wi ) = δ(vk ) + 1 für p + 1 ≤ i ≤ q − 1 und
δ 0 (wi ) = δ(wi ) + 2 für q ≤ i ≤ t.
Nach Induktionsvoraussetzung können wir L(w1 ) . . . , L(wt ) um
δ(w1 )0 , . . . , δ(wt )0 verschieben.
Zum Schluss können wir die Zeichnung mit vk wieder vervollständigen.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
14
Verschiebungen
Lemma. Sei 0 < δ1 ≤ δ2 ≤ · · · ≤ δt ∈ N. Wenn wir L(wi ) um
δi nach rechts schieben, erhalten wir eine geradlinige
planare Zeichnung.
Beweis:
Induktion über k; wir betrachten G3 , . . . , Gn .
Nehme an, die Behauptung stimmt für Gk−1 .
w1 , . . . , wp , vk , wq , . . . , wt Außenfacette von Gk .
Sei δ(w1 ) ≤ · · · ≤ δ(wp ) ≤ δ(vk ) ≤ δ(wq ) ≤ · · · ≤ δ(wt ).
Setze δ 0 (wi ) = δ(wi ) für 1 ≤ i ≤ p,
δ 0 (wi ) = δ(vk ) + 1 für p + 1 ≤ i ≤ q − 1 und
δ 0 (wi ) = δ(wi ) + 2 für q ≤ i ≤ t.
Nach Induktionsvoraussetzung können wir L(w1 ) . . . , L(wt ) um
δ(w1 )0 , . . . , δ(wt )0 verschieben.
Zum Schluss können wir die Zeichnung mit vk wieder vervollständigen.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
14
Verschiebungen
Lemma. Sei 0 < δ1 ≤ δ2 ≤ · · · ≤ δt ∈ N. Wenn wir L(wi ) um
δi nach rechts schieben, erhalten wir eine geradlinige
planare Zeichnung.
Beweis:
Induktion über k; wir betrachten G3 , . . . , Gn .
Nehme an, die Behauptung stimmt für Gk−1 .
w1 , . . . , wp , vk , wq , . . . , wt Außenfacette von Gk .
Sei δ(w1 ) ≤ · · · ≤ δ(wp ) ≤ δ(vk ) ≤ δ(wq ) ≤ · · · ≤ δ(wt ).
Setze δ 0 (wi ) = δ(wi ) für 1 ≤ i ≤ p,
δ 0 (wi ) = δ(vk ) + 1 für p + 1 ≤ i ≤ q − 1 und
δ 0 (wi ) = δ(wi ) + 2 für q ≤ i ≤ t.
Nach Induktionsvoraussetzung können wir L(w1 ) . . . , L(wt ) um
δ(w1 )0 , . . . , δ(wt )0 verschieben.
Zum Schluss können wir die Zeichnung mit vk wieder vervollständigen.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
15
Der Zeichenalgorithmus
Algorithmus Shift
v1 , . . . , vn sei kanonische Ordnung von G ;
for i = 1 to n do L(vi ) ← {vi };
P(v1 ) ← (0, 0); P(v2 ) ← (2, 0); P(v3 ) ← (1, 1);
for k = 4 to n do
Sei w1 = v1 , w2 , . . . , wt−1 , wt = v2 Außenfacette von Gk−1 ;
wp , . . . , wq seien die Nachbarn von vk ;
for v ∈ ∪q−1
j=p+1 L(wj ) do
x(v ) ← x(v ) + 1 ;
for v ∈ ∪tj=q L(wj ) do
x(v ) ← x(v ) + 2 ;
P(vi ) ← Schnittpunkt der Geraden mit Steigung ±1 von
P(wp ) und P(wq ) ;
L(vi ) = ∪q−1
j=p+1 L(wj ) ∪ {vi } ;
Laufzeit: O (n2 )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
16
Eine Linearzeitimplementierung
15
13
10
9
14
12 11
8 7
6
5
3
4
1
Philipp Kindermann, Alexander Wolff
2
·
Lehrstuhl für Informatik I
·
Universität Würzburg
16
Eine Linearzeitimplementierung
15
13
10
9
1
14
15
12 11
8 7
9
10
6
5
3
14
8
4
1
2
7
3
Philipp Kindermann, Alexander Wolff
13
·
Lehrstuhl für Informatik I
6
12
4
11
2
5
·
Universität Würzburg
16
Eine Linearzeitimplementierung
15
13
10
9
1
14
15
12 11
8 7
9
10
6
5
3
14
8
4
1
2
7
3
Philipp Kindermann, Alexander Wolff
13
·
Lehrstuhl für Informatik I
6
12
4
11
2
5
·
Universität Würzburg
16
Eine Linearzeitimplementierung
15
13
10
9
1
14
15
12 11
8 7
9
10
6
5
3
13
14
8
4
1
2
7
3
6
12
4
11
2
5
x(vk ) = 12 (x(wq ) + x(wp ) + y (wq ) − y (wp )) (1)
y (vk ) = 21 (x(wq ) − x(wp ) + y (wq ) + y (wp )) (2)
x(vk ) − x(wp ) = 21 (x(wq ) − x(wp ) + y (wq ) − y (wp )) (3)
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
16
Eine Linearzeitimplementierung
15
13
10
9
1
14
15
12 11
8 7
9
10
6
5
3
13
14
8
4
1
2
7
3
6
12
4
11
2
5
x(vk ) = 12 (x(wq ) + x(wp ) + y (wq ) − y (wp )) (1)
y (vk ) = 21 (x(wq ) − x(wp ) + y (wq ) + y (wp )) (2)
x(vk ) − x(wp ) = 21 (x(wq ) − x(wp ) + y (wq ) − y (wp )) (3)
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
16
Eine Linearzeitimplementierung
15
13
10
9
1
14
15
12 11
8 7
9
10
6
5
3
13
14
8
4
1
7
2
3
verwende Abstand zum Vorgänger
6
12
4
11
2
5
x(vk ) = 12 (x(wq ) + x(wp ) + y (wq ) − y (wp )) (1)
y (vk ) = 21 (x(wq ) − x(wp ) + y (wq ) + y (wp )) (2)
x(vk ) − x(wp ) = 21 (x(wq ) − x(wp ) + y (wq ) − y (wp )) (3)
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
17
Eine Linearzeitimplementierung
Aus den y -Koordinaten von wp und wq und der Differenz x(wq )−
x(wp ) können wir den x-Abstand zwischen vk und wp berechnen.
In unserem Binärbaum verwalten wir den x-Abstand zwischen
jedem Knoten und seinem Vater.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
17
Eine Linearzeitimplementierung
Aus den y -Koordinaten von wp und wq und der Differenz x(wq )−
x(wp ) können wir den x-Abstand zwischen vk und wp berechnen.
In unserem Binärbaum verwalten wir den x-Abstand zwischen
jedem Knoten und seinem Vater.
vk
w3
wp
wp+1
wq−1
wq
w2
Wurzel
v1 = w1
Philipp Kindermann, Alexander Wolff
v2 = wt
·
Lehrstuhl für Informatik I
·
Universität Würzburg
17
Eine Linearzeitimplementierung
Aus den y -Koordinaten von wp und wq und der Differenz x(wq )−
x(wp ) können wir den x-Abstand zwischen vk und wp berechnen.
In unserem Binärbaum verwalten wir den x-Abstand zwischen
jedem Knoten und seinem Vater.
∆x (wp , wq ) = ∆x (wp+1 ) + · · · + ∆x (wq )
Berechne ∆x (vk ) mit (3).
Berechne y (vk ) mit (2)
w3
wp
wp+1
vk
wq−1
wq
w2
Wurzel
v1 = w1
Philipp Kindermann, Alexander Wolff
v2 = wt
·
Lehrstuhl für Informatik I
·
Universität Würzburg
17
Eine Linearzeitimplementierung
Aus den y -Koordinaten von wp und wq und der Differenz x(wq )−
x(wp ) können wir den x-Abstand zwischen vk und wp berechnen.
In unserem Binärbaum verwalten wir den x-Abstand zwischen
jedem Knoten und seinem Vater.
∆x (wp , wq ) = ∆x (wp+1 ) + · · · + ∆x (wq )
Berechne ∆x (vk ) mit (3).
Berechne y (vk ) mit (2)
w3
wp
wp+1
vk
wq−1
wq
w2
Wurzel
v1 = w1
Philipp Kindermann, Alexander Wolff
v2 = wt
·
Lehrstuhl für Informatik I
·
Universität Würzburg
17
Eine Linearzeitimplementierung
Aus den y -Koordinaten von wp und wq und der Differenz x(wq )−
x(wp ) können wir den x-Abstand zwischen vk und wp berechnen.
In unserem Binärbaum verwalten wir den x-Abstand zwischen
jedem Knoten und seinem Vater.
∆x (wp , wq ) = ∆x (wp+1 ) + · · · + ∆x (wq )
Berechne ∆x (vk ) mit (3).
Berechne y (vk ) mit (2)
w3
wp
wp+1
vk
wq−1
wq
w2
Wurzel
v1 = w1
Philipp Kindermann, Alexander Wolff
v2 = wt
·
Lehrstuhl für Informatik I
·
Universität Würzburg
17
Eine Linearzeitimplementierung
Aus den y -Koordinaten von wp und wq und der Differenz x(wq )−
x(wp ) können wir den x-Abstand zwischen vk und wp berechnen.
In unserem Binärbaum verwalten wir den x-Abstand zwischen
jedem Knoten und seinem Vater.
∆x (wp , wq ) = ∆x (wp+1 ) + · · · + ∆x (wq )
Berechne ∆x (vk ) mit (3).
Berechne y (vk ) mit (2)
w3
wp
wp+1
vk
wq−1
wq
w2
Wurzel
v1 = w1
Philipp Kindermann, Alexander Wolff
v2 = wt
·
Lehrstuhl für Informatik I
·
Universität Würzburg
17
Eine Linearzeitimplementierung
Aus den y -Koordinaten von wp und wq und der Differenz x(wq )−
x(wp ) können wir den x-Abstand zwischen vk und wp berechnen.
In unserem Binärbaum verwalten wir den x-Abstand zwischen
jedem Knoten und seinem Vater.
∆x (wp , wq ) = ∆x (wp+1 ) + · · · + ∆x (wq )
Berechne ∆x (vk ) mit (3).
Berechne y (vk ) mit (2)
w3
wp
wp+1
vk
wq−1
wq
w2
Wurzel
v1 = w1
Philipp Kindermann, Alexander Wolff
v2 = wt
·
Lehrstuhl für Informatik I
·
Universität Würzburg
17
Eine Linearzeitimplementierung
Aus den y -Koordinaten von wp und wq und der Differenz x(wq )−
x(wp ) können wir den x-Abstand zwischen vk und wp berechnen.
In unserem Binärbaum verwalten wir den x-Abstand zwischen
jedem Knoten und seinem Vater.
∆x (wp , wq ) = ∆x (wp+1 ) + · · · + ∆x (wq )
Berechne ∆x (vk ) mit (3).
∆x (wq ) = ∆x (wp , wq ) − ∆x (vk )
Berechne y (vk ) mit (2)
∆x (wp+1 ) = ∆x (wp+1 ) − ∆x (vk )
w3
wp
wp+1
vk
wq−1
wq
w2
Wurzel
v1 = w1
Philipp Kindermann, Alexander Wolff
v2 = wt
·
Lehrstuhl für Informatik I
·
Universität Würzburg
Herunterladen