Visualisierung von Graphen - WueCampus2

Werbung
1
Visualisierung von Graphen
Planare Orientierungen
Pflasterungen und Sichtbarkeitsrepräsentationen
9. Vorlesung
Sommersemester 2015
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
2
Topologische Nummerierungen
Sei G = (V , E ) gerichteter Graph.
topologische Nummerierung von G : Abbildung µ : V → N
mit µ(u ) < µ(v ) für jede Kante (u , v )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
2
Topologische Nummerierungen
Sei G = (V , E ) gerichteter Graph.
topologische Nummerierung von G : Abbildung µ : V → N
mit µ(u ) < µ(v ) für jede Kante (u , v )
topologische Sortierung von G :
topologische Nummerierung mit µ(V ) = {1, . . . , n}
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
2
Topologische Nummerierungen
Sei G = (V , E ) gerichteter Graph.
topologische Nummerierung von G : Abbildung µ : V → N
mit µ(u ) < µ(v ) für jede Kante (u , v )
topologische Sortierung von G :
topologische Nummerierung mit µ(V ) = {1, . . . , n}
gewichtete topologische Nummerierung von (G , w ):
topologische Nummerierung mit µ(u ) + w (u , v ) ≤ µ(v ) für
jede Kante (u , v )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
2
Topologische Nummerierungen
Sei G = (V , E ) gerichteter Graph.
topologische Nummerierung von G : Abbildung µ : V → N
mit µ(u ) < µ(v ) für jede Kante (u , v )
topologische Sortierung von G :
topologische Nummerierung mit µ(V ) = {1, . . . , n}
gewichtete topologische Nummerierung von (G , w ):
topologische Nummerierung mit µ(u ) + w (u , v ) ≤ µ(v ) für
jede Kante (u , v )
optimal, falls maxv ∈V µ(v ) − minv ∈V µ(v ) minimal ist
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
2
Topologische Nummerierungen
Sei G = (V , E ) gerichteter Graph.
topologische Nummerierung von G : Abbildung µ : V → N
mit µ(u ) < µ(v ) für jede Kante (u , v )
topologische Sortierung von G :
topologische Nummerierung mit µ(V ) = {1, . . . , n}
gewichtete topologische Nummerierung von (G , w ):
topologische Nummerierung mit µ(u ) + w (u , v ) ≤ µ(v ) für
jede Kante (u , v )
optimal, falls maxv ∈V µ(v ) − minv ∈V µ(v ) minimal ist
Berechnung: jeweils in O (n + m) Zeit möglich
Übung!
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
3
st-Graphen
Ein gerichteter, azyklischer Graph G = (V , E ) mit je genau
einer Quelle s bzw. Senke t heißt st -Graph.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
3
st-Graphen
Ein gerichteter, azyklischer Graph G = (V , E ) mit je genau
einer Quelle s bzw. Senke t heißt st -Graph.
G topologisch nummeriert: Jeder Pfad besucht Knoten mit
aufsteigenden Nummern.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
3
st-Graphen
Ein gerichteter, azyklischer Graph G = (V , E ) mit je genau
einer Quelle s bzw. Senke t heißt st -Graph.
G topologisch nummeriert: Jeder Pfad besucht Knoten mit
aufsteigenden Nummern.
Für jeden Knoten v existiert einfacher, gerichteter s -t -Pfad
durch v .
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
3
st-Graphen
Ein gerichteter, azyklischer Graph G = (V , E ) mit je genau
einer Quelle s bzw. Senke t heißt st -Graph.
G topologisch nummeriert: Jeder Pfad besucht Knoten mit
aufsteigenden Nummern.
Für jeden Knoten v existiert einfacher, gerichteter s -t -Pfad
durch v .
Planarer st -Graph: st -Graph, so planar eingebettet, dass s und
t an Außenfacette.
t
t
s
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
3
st-Graphen
Ein gerichteter, azyklischer Graph G = (V , E ) mit je genau
einer Quelle s bzw. Senke t heißt st -Graph.
G topologisch nummeriert: Jeder Pfad besucht Knoten mit
aufsteigenden Nummern.
Für jeden Knoten v existiert einfacher, gerichteter s -t -Pfad
durch v .
Planarer st -Graph: st -Graph, so planar eingebettet, dass s und
t an Außenfacette.
t
t
X
s
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4
Planare st-Graphen
Normalerweise aufwärtsplanar gezeichnet
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4
Planare st-Graphen
Normalerweise aufwärtsplanar gezeichnet
t
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4
Planare st-Graphen
Normalerweise aufwärtsplanar gezeichnet
t
Zwei Außenfacetten s ? /t ?
links/rechts
s?
t?
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4
Planare st-Graphen
Normalerweise aufwärtsplanar gezeichnet
t
Zwei Außenfacetten s ? /t ?
links/rechts
s?
t?
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4
Planare st-Graphen
Normalerweise aufwärtsplanar gezeichnet
t
Zwei Außenfacetten s ? /t ?
links/rechts
Für e = (u , v ) ∈ E :
s
?
v
t?
u
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4
Planare st-Graphen
Normalerweise aufwärtsplanar gezeichnet
t
Zwei Außenfacetten s ? /t ?
links/rechts
Für e = (u , v ) ∈ E :
orig(e ) = u und dest(e ) = v
s
?
v
t?
u
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4
Planare st-Graphen
Normalerweise aufwärtsplanar gezeichnet
t
Zwei Außenfacetten s ? /t ?
links/rechts
Für e = (u , v ) ∈ E :
orig(e ) = u und dest(e ) = v
left(e ), right(e ) ∈ F :
Facetten links u. rechts von e
s
?
v
t?
u
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4
Planare st-Graphen
Normalerweise aufwärtsplanar gezeichnet
t
Zwei Außenfacetten s ? /t ?
links/rechts
Für e = (u , v ) ∈ E :
orig(e ) = u und dest(e ) = v
s?
left(e ), right(e ) ∈ F :
Facetten links u. rechts von e
G ? = (V ? = F , E ? ):
e ∈ E ⇒ (left(e ), right(e )) ∈ E ?
v
t?
u
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4
Planare st-Graphen
Normalerweise aufwärtsplanar gezeichnet
t
Zwei Außenfacetten s ? /t ?
links/rechts
Für e = (u , v ) ∈ E :
orig(e ) = u und dest(e ) = v
s?
left(e ), right(e ) ∈ F :
Facetten links u. rechts von e
G ? = (V ? = F , E ? ):
e ∈ E ⇒ (left(e ), right(e )) ∈ E ?
v
t?
u
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4
Planare st-Graphen
Normalerweise aufwärtsplanar gezeichnet
t
Zwei Außenfacetten s ? /t ?
links/rechts
Für e = (u , v ) ∈ E :
orig(e ) = u und dest(e ) = v
s?
left(e ), right(e ) ∈ F :
Facetten links u. rechts von e
G ? = (V ? = F , E ? ):
e ∈ E ⇒ (left(e ), right(e )) ∈ E ?
v
t?
u
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4
Planare st-Graphen
Normalerweise aufwärtsplanar gezeichnet
t
Zwei Außenfacetten s ? /t ?
links/rechts
Für e = (u , v ) ∈ E :
orig(e ) = u und dest(e ) = v
s?
left(e ), right(e ) ∈ F :
Facetten links u. rechts von e
G ? = (V ? = F , E ? ):
e ∈ E ⇒ (left(e ), right(e )) ∈ E ?
v
t?
u
Multigraph
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
4
Planare st-Graphen
Normalerweise aufwärtsplanar gezeichnet
t
Zwei Außenfacetten s ? /t ?
links/rechts
Für e = (u , v ) ∈ E :
orig(e ) = u und dest(e ) = v
s?
left(e ), right(e ) ∈ F :
Facetten links u. rechts von e
G ? = (V ? = F , E ? ):
e ∈ E ⇒ (left(e ), right(e )) ∈ E ?
v
t?
u
Multigraph
s ? t ? -Graph
Philipp Kindermann, Alexander Wolff
s
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
dest(f )
f
orig(f )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Beweis:
dest(f )
f
orig(f )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Beweis:
Ann.: ∃f , so dass Aussage falsch
dest(f )
f
orig(f )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Beweis:
Ann.: ∃f , so dass Aussage falsch
f
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Beweis: Ann.: ∃f , so dass Aussage falsch
G nicht zykl. ⇒ f hat Quelle q
f
q
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Beweis: Ann.: ∃f , so dass Aussage falsch
G nicht zykl. ⇒ f hat Quelle q
Folge Pfaden πli , πre von q entlang ∂ f
bis umgekehrt ger. Kante
w
f
πle
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
q
·
u
πre
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Beweis: Ann.: ∃f , so dass Aussage falsch
G nicht zykl. ⇒ f hat Quelle q
Folge Pfaden πli , πre von q entlang ∂ f
bis umgekehrt ger. Kante
Beob.: ∃ s -w -Pfad πs und u -t -Pfad πt
t
πt
w
f
πle
q
u
πre
πs
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Beweis: Ann.: ∃f , so dass Aussage falsch
G nicht zykl. ⇒ f hat Quelle q
Folge Pfaden πli , πre von q entlang ∂ f
bis umgekehrt ger. Kante
Beob.: ∃ s -w -Pfad πs und u -t -Pfad πt
G planar ⇒ ∃ Knoten x ∈ πs ∩ πt
t
πt
w
f
πle
q
u
πre
x
πs
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Beweis: Ann.: ∃f , so dass Aussage falsch
G nicht zykl. ⇒ f hat Quelle q
Folge Pfaden πli , πre von q entlang ∂ f
bis umgekehrt ger. Kante
Beob.: ∃ s -w -Pfad πs und u -t -Pfad πt
G planar ⇒ ∃ Knoten x ∈ πs ∩ πt
⇒ gerichteter Kreis
πle
t
πt
w
f
q
u
πre
x
πs
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Lemma2 In jedem Knoten v ∈ V bilden ein-/ausgehende
Kanten jeweils ein Intervall mit trennenden Facetten
left(v )/right(v ).
left(v )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
v
right(v )
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Lemma2 In jedem Knoten v ∈ V bilden ein-/ausgehende
Kanten jeweils ein Intervall mit trennenden Facetten
left(v )/right(v ).
Beweis:
left(v )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
v
right(v )
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Lemma2 In jedem Knoten v ∈ V bilden ein-/ausgehende
Kanten jeweils ein Intervall mit trennenden Facetten
left(v )/right(v ).
Beweis:
Klar für s und t
left(v )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
v
right(v )
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Lemma2 In jedem Knoten v ∈ V bilden ein-/ausgehende
Kanten jeweils ein Intervall mit trennenden Facetten
left(v )/right(v ).
Beweis:
Klar für s und t
Sei v ∈ V \ {s , t }, so dass Aussage falsch
left(v )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
v
right(v )
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Lemma2 In jedem Knoten v ∈ V bilden ein-/ausgehende
Kanten jeweils ein Intervall mit trennenden Facetten
left(v )/right(v ).
Beweis:
Klar für s und t
w4
Sei v ∈ V \ {s , t }, so dass Aussage falsch
w3
w1
v
w2
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Lemma2 In jedem Knoten v ∈ V bilden ein-/ausgehende
Kanten jeweils ein Intervall mit trennenden Facetten
left(v )/right(v ).
Beweis:
Klar für s und t
w4
Sei v ∈ V \ {s , t }, so dass Aussage falsch
w3
w1
v
w2
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Lemma2 In jedem Knoten v ∈ V bilden ein-/ausgehende
Kanten jeweils ein Intervall mit trennenden Facetten
left(v )/right(v ).
t
Beweis:
Klar für s und t
w4
Sei v ∈ V \ {s , t }, so dass Aussage falsch
w3
w1
v
w2
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Lemma2 In jedem Knoten v ∈ V bilden ein-/ausgehende
Kanten jeweils ein Intervall mit trennenden Facetten
left(v )/right(v ).
t
Beweis:
Klar für s und t
w4
Sei v ∈ V \ {s , t }, so dass Aussage falsch
w3
w1
v
x
w2
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Lemma2 In jedem Knoten v ∈ V bilden ein-/ausgehende
Kanten jeweils ein Intervall mit trennenden Facetten
left(v )/right(v ).
t
Beweis:
Klar für s und t
w4
Sei v ∈ V \ {s , t }, so dass Aussage falsch
w3
w1
v
⇒ gerichteter Kreis
x
w2
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Lemma2 In jedem Knoten v ∈ V bilden ein-/ausgehende
Kanten jeweils ein Intervall mit trennenden Facetten
left(v )/right(v ).
dest(f )
left(v )
v
right(v )
f
orig(f )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Lemma2 In jedem Knoten v ∈ V bilden ein-/ausgehende
Kanten jeweils ein Intervall mit trennenden Facetten
left(v )/right(v ).
Aussagen sind dual.
dest(f )
left(v )
v
right(v )
f
orig(f )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Lemma2 In jedem Knoten v ∈ V bilden ein-/ausgehende
Kanten jeweils ein Intervall mit trennenden Facetten
left(v )/right(v ).
Aussagen sind dual.
dest(f )
left(v )
v
right(v )
f
orig(f )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5
Eigenschaften planarer st-Graphen
Lemma1 Jede Facette f von G besteht aus zwei Pfaden von
Quelle orig(f ) zu Senke dest(f ).
Lemma2 In jedem Knoten v ∈ V bilden ein-/ausgehende
Kanten jeweils ein Intervall mit trennenden Facetten
left(v )/right(v ).
Aussagen sind dual.
dest(f )
left(v )
v
right(v )
f
orig(f )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6
Eigenschaften planarer st-Graphen
Lemma3 Für 2 Facetten f und g gilt genau eine der Aussagen:
Es ex. Pfad von dest(f ) nach orig(g ) in G .
Es ex. Pfad von dest(g ) nach orig(f ) in G .
Es ex. Pfad von f
nach g
in G ? .
Es ex. Pfad von g
nach f
in G ? .
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6
Eigenschaften planarer st-Graphen
Lemma3 Für 2 Facetten f und g gilt genau eine der Aussagen:
Es ex. Pfad von dest(f ) nach orig(g ) in G .
Es ex. Pfad von dest(g ) nach orig(f ) in G .
Es ex. Pfad von f
nach g
in G ? .
Es ex. Pfad von g
nach f
in G ? .
Beweis:
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6
Eigenschaften planarer st-Graphen
Lemma3 Für 2 Facetten f und g gilt genau eine der Aussagen:
Es ex. Pfad von dest(f ) nach orig(g ) in G .
Es ex. Pfad von dest(g ) nach orig(f ) in G .
Es ex. Pfad von f
nach g
in G ? .
Es ex. Pfad von g
nach f
in G ? .
Beweis:
Sei µ top. Sort. von G
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6
Eigenschaften planarer st-Graphen
Lemma3 Für 2 Facetten f und g gilt genau eine der Aussagen:
Es ex. Pfad von dest(f ) nach orig(g ) in G .
Es ex. Pfad von dest(g ) nach orig(f ) in G .
Es ex. Pfad von f
nach g
in G ? .
Es ex. Pfad von g
nach f
in G ? .
Beweis:
Sei µ top. Sort. von G
OBdA µ(dest(f )) < µ(orig(g ))
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6
Eigenschaften planarer st-Graphen
Lemma3 Für 2 Facetten f und g gilt genau eine der Aussagen:
Es ex. Pfad von dest(f ) nach orig(g ) in G .
Es ex. Pfad von dest(g ) nach orig(f ) in G .
Es ex. Pfad von f
nach g
in G ? .
Es ex. Pfad von g
nach f
in G ? .
Beweis:
Sei µ top. Sort. von G
OBdA µ(dest(f )) < µ(orig(g ))
Linkester Pfad folgt immer
linkester Kante
(rechtester Pfad analog)
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6
Eigenschaften planarer st-Graphen
Lemma3 Für 2 Facetten f und g gilt genau eine der Aussagen:
Es ex. Pfad von dest(f ) nach orig(g ) in G .
Es ex. Pfad von dest(g ) nach orig(f ) in G .
Es ex. Pfad von f
nach g
in G ? .
Es ex. Pfad von g
nach f
in G ? .
Beweis:
Sei µ top. Sort. von G
OBdA µ(dest(f )) < µ(orig(g ))
Linkester Pfad folgt immer
g
linkester Kante
dest(f )
orig(g )
(rechtester Pfad analog)
f
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6
Eigenschaften planarer st-Graphen
Lemma3 Für 2 Facetten f und g gilt genau eine der Aussagen:
Es ex. Pfad von dest(f ) nach orig(g ) in G .
Es ex. Pfad von dest(g ) nach orig(f ) in G .
Es ex. Pfad von f
nach g
in G ? .
Es ex. Pfad von g
nach f
in G ? .
Beweis:
Sei µ top. Sort. von G
t
OBdA µ(dest(f )) < µ(orig(g ))
Linkester Pfad folgt immer
x
g
linkester Kante
dest(f )
orig(g )
(rechtester Pfad analog)
f
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6
Eigenschaften planarer st-Graphen
Lemma3 Für 2 Facetten f und g gilt genau eine der Aussagen:
Es ex. Pfad von dest(f ) nach orig(g ) in G .
Es ex. Pfad von dest(g ) nach orig(f ) in G .
Es ex. Pfad von f
nach g
in G ? .
Es ex. Pfad von g
nach f
in G ? .
Beweis:
Sei µ top. Sort. von G
t
OBdA µ(dest(f )) < µ(orig(g ))
Linkester Pfad folgt immer
x
g
linkester Kante
dest(f )
orig(g )
(rechtester Pfad analog)
f
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6
Eigenschaften planarer st-Graphen
Lemma3 Für 2 Facetten f und g gilt genau eine der Aussagen:
Es ex. Pfad von dest(f ) nach orig(g ) in G .
Es ex. Pfad von dest(g ) nach orig(f ) in G .
Es ex. Pfad von f
nach g
in G ? .
Es ex. Pfad von g
nach f
in G ? .
Für v ∈ V : setze orig(v ) = dest(v ) = v ;
für f ∈ F : setze left(f ) = right(f ) = f .
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
6
Eigenschaften planarer st-Graphen
Lemma3 Für 2 Facetten f und g gilt genau eine der Aussagen:
Es ex. Pfad von dest(f ) nach orig(g ) in G .
Es ex. Pfad von dest(g ) nach orig(f ) in G .
Es ex. Pfad von f
nach g
in G ? .
Es ex. Pfad von g
nach f
in G ? .
Für v ∈ V : setze orig(v ) = dest(v ) = v ;
für f ∈ F : setze left(f ) = right(f ) = f .
Lemma4 Für zwi Objekte o1 , o2 ∈ V ∪ E ∪ F gilt genau eine
der Aussagen:
Es ex. Pfad von dest(o1 ) nach orig(o2 ) in G .
Es ex. Pfad von dest(o2 ) nach orig(o1 ) in G .
Es ex. Pfad von o1
nach o2
in G ? .
Es ex. Pfad von o2
nach o1
in G ? .
Beweis: Übung!
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
7
Pflaster-/Parkettstein
Pflaster-/Parkettstein: achsenparalleles Rechteck
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
θ
Universität Würzburg
7
Pflaster-/Parkettstein
Pflaster-/Parkettstein: achsenparalleles Rechteck
θ
kann unbeschränkt sein, oder zu Strecke/Punkt degeneriert
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
7
Pflaster-/Parkettstein
Pflaster-/Parkettstein: achsenparalleles Rechteck
θ
kann unbeschränkt sein, oder zu Strecke/Punkt degeneriert
θ1 , θ2 horizontal/vertikal benachbart ⇔
gemeinsame vertikale/horizontale Grenze
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
7
Pflaster-/Parkettstein
Pflaster-/Parkettstein: achsenparalleles Rechteck
θ
kann unbeschränkt sein, oder zu Strecke/Punkt degeneriert
θ1 , θ2 horizontal/vertikal benachbart ⇔
gemeinsame vertikale/horizontale Grenze
wir schreiben θ = [x1 (θ), x2 (θ)] × [y1 (θ), y2 (θ)]
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
8
Pflasterung/Parkettierung
Def. Pflasterung θ eines planaren st -Graphen G bildet jedes
Objekt o ∈ V ∪ E ∪ F auf Pflasterstein θ(o ) ab, so dass:
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
8
Pflasterung/Parkettierung
Def. Pflasterung θ eines planaren st -Graphen G bildet jedes
Objekt o ∈ V ∪ E ∪ F auf Pflasterstein θ(o ) ab, so dass:
o1 6= o2 ⇒ int(θ(o1 )) ∩ int(θ(o2 )) = ∅
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
X
Universität Würzburg
8
Pflasterung/Parkettierung
Def. Pflasterung θ eines planaren st -Graphen G bildet jedes
Objekt o ∈ V ∪ E ∪ F auf Pflasterstein θ(o ) ab, so dass:
o1 6= o2 ⇒ int(θ(o1 )) ∩ int(θ(o2 )) = ∅
S
o ∈V ∪E ∪F
Philipp Kindermann, Alexander Wolff
θ(o ) ist Rechteck.
·
Lehrstuhl für Informatik I
·
X
Universität Würzburg
8
Pflasterung/Parkettierung
Def. Pflasterung θ eines planaren st -Graphen G bildet jedes
Objekt o ∈ V ∪ E ∪ F auf Pflasterstein θ(o ) ab, so dass:
o1 6= o2 ⇒ int(θ(o1 )) ∩ int(θ(o2 )) = ∅
S
o ∈V ∪E ∪F
Philipp Kindermann, Alexander Wolff
θ(o ) ist Rechteck.
·
Lehrstuhl für Informatik I
·
X
Universität Würzburg
8
Pflasterung/Parkettierung
Def. Pflasterung θ eines planaren st -Graphen G bildet jedes
Objekt o ∈ V ∪ E ∪ F auf Pflasterstein θ(o ) ab, so dass:
o1 6= o2 ⇒ int(θ(o1 )) ∩ int(θ(o2 )) = ∅
S
o ∈V ∪E ∪F
θ(o ) ist Rechteck.
X
θ(o1 ) und θ(o2 ) horizontal benachbart ⇔
o1 = left(o2 ) oder o1 = right(o2 ) oder
o2 = left(o1 ) oder o2 = right(o1 )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
8
Pflasterung/Parkettierung
Def. Pflasterung θ eines planaren st -Graphen G bildet jedes
Objekt o ∈ V ∪ E ∪ F auf Pflasterstein θ(o ) ab, so dass:
o1 6= o2 ⇒ int(θ(o1 )) ∩ int(θ(o2 )) = ∅
S
o ∈V ∪E ∪F
θ(o ) ist Rechteck.
θ(o1 ) und θ(o2 ) horizontal benachbart ⇔
o1 = left(o2 ) oder o1 = right(o2 ) oder
o2 = left(o1 ) oder o2 = right(o1 )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
X
X
Universität Würzburg
8
Pflasterung/Parkettierung
Def. Pflasterung θ eines planaren st -Graphen G bildet jedes
Objekt o ∈ V ∪ E ∪ F auf Pflasterstein θ(o ) ab, so dass:
o1 6= o2 ⇒ int(θ(o1 )) ∩ int(θ(o2 )) = ∅
S
o ∈V ∪E ∪F
X
θ(o ) ist Rechteck.
θ(o1 ) und θ(o2 ) horizontal benachbart ⇔
o1 = left(o2 ) oder o1 = right(o2 ) oder
o2 = left(o1 ) oder o2 = right(o1 )
o1
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
X
o2
Universität Würzburg
8
Pflasterung/Parkettierung
Def. Pflasterung θ eines planaren st -Graphen G bildet jedes
Objekt o ∈ V ∪ E ∪ F auf Pflasterstein θ(o ) ab, so dass:
o1 6= o2 ⇒ int(θ(o1 )) ∩ int(θ(o2 )) = ∅
S
o ∈V ∪E ∪F
X
θ(o ) ist Rechteck.
θ(o1 ) und θ(o2 ) horizontal benachbart ⇔
o1 = left(o2 ) oder o1 = right(o2 ) oder
o2 = left(o1 ) oder o2 = right(o1 )
o1
X
o2
(Weder o1 noch o2 hat eindeutigen Nachbarn!)
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
8
Pflasterung/Parkettierung
Def. Pflasterung θ eines planaren st -Graphen G bildet jedes
Objekt o ∈ V ∪ E ∪ F auf Pflasterstein θ(o ) ab, so dass:
o1 6= o2 ⇒ int(θ(o1 )) ∩ int(θ(o2 )) = ∅
S
o ∈V ∪E ∪F
X
θ(o ) ist Rechteck.
θ(o1 ) und θ(o2 ) horizontal benachbart ⇔
o1 = left(o2 ) oder o1 = right(o2 ) oder
o2 = left(o1 ) oder o2 = right(o1 )
o1
X
o2
(Weder o1 noch o2 hat eindeutigen Nachbarn!)
θ(o1 ) und θ(o2 ) vertikal benachbart ⇔
o1 = orig(o2 ) oder o1 = dest(o2 ) oder
o2 = orig(o1 ) oder o2 = dest(o1 )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
8
Pflasterung/Parkettierung
Def. Pflasterung θ eines planaren st -Graphen G bildet jedes
Objekt o ∈ V ∪ E ∪ F auf Pflasterstein θ(o ) ab, so dass:
o1 6= o2 ⇒ int(θ(o1 )) ∩ int(θ(o2 )) = ∅
S
o ∈V ∪E ∪F
X
θ(o ) ist Rechteck.
θ(o1 ) und θ(o2 ) horizontal benachbart ⇔
o1 = left(o2 ) oder o1 = right(o2 ) oder
o2 = left(o1 ) oder o2 = right(o1 )
o1
X
o2
(Weder o1 noch o2 hat eindeutigen Nachbarn!)
θ(o1 ) und θ(o2 ) vertikal benachbart ⇔
o1 = orig(o2 ) oder o1 = dest(o2 ) oder
o2 = orig(o1 ) oder o2 = dest(o1 )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
X
Universität Würzburg
9-1
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-2
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-3
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-4
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-5
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-6
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
5
4
4
4
3
3
2
1
0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-7
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
5
4
4
4
3
3
2
1
0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-8
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
5
2
4
0
3
1
4 5
4
3 3
2
4
6
7
4
1
0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-9
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
5
2
4
0
3
1
4 5
4
3 3
2
4
6
5
4
3
2
1
0
7
4
1
0 1 2 3 4 5 6 7
0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-10
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
5
2
4
0
3
1
4 5
4
3 3
2
4
6
5
4
3
2
1
0
7
4
1
0 1 2 3 4 5 6 7
0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-11
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
5
2
4
0
3
1
4 5
4
3 3
2
4
6
5
4
3
2
1
0
7
4
1
0 1 2 3 4 5 6 7
0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-12
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
5
2
4
0
3
1
4 5
4
3 3
2
4
6
5
4
3
2
1
0
7
4
1
0 1 2 3 4 5 6 7
0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-13
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
5
2
4
0
3
1
4 5
4
3 3
2
4
6
5
4
3
2
1
0
7
4
1
0 1 2 3 4 5 6 7
0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-14
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
5
2
4
0
3
1
4 5
4
3 3
2
4
6
5
4
3
2
1
0
7
4
1
0 1 2 3 4 5 6 7
0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-15
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
5
2
4
0
3
1
4 5
4
3 3
2
4
6
5
4
3
2
1
0
7
4
1
0 1 2 3 4 5 6 7
0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-16
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
5
2
4
0
3
1
4 5
4
3 3
2
4
6
5
4
3
2
1
0
7
4
1
0 1 2 3 4 5 6 7
0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-17
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
5
2
4
0
3
1
4 5
4
3 3
2
4
6
5
4
3
2
1
0
7
4
1
0 1 2 3 4 5 6 7
0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-18
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
5
2
4
0
3
1
4 5
4
3 3
2
4
6
5
4
3
2
1
0
7
4
1
0 1 2 3 4 5 6 7
0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-19
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
5
2
4
0
3
1
4 5
4
3 3
2
4
6
5
4
3
2
1
0
7
4
1
0 1 2 3 4 5 6 7
0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-20
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
5
2
4
0
3
1
4 5
4
3 3
2
4
6
5
4
3
2
1
0
7
4
1
0 1 2 3 4 5 6 7
0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-21
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen Knoten ≡ horizontale Strecke
Facette ≡ vertikale Strecke
X von G ? und Y von G .
Kante ≡ Fläche
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
5
2
4
0
3
1
4 5
4
3 3
2
4
6
5
4
3
2
1
0
7
4
1
0 1 2 3 4 5 6 7
0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-22
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
Korrektheit:
Lemma4 garantiert, dass Objekte disjunkt sind.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-23
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
Korrektheit:
Lemma4 garantiert, dass Objekte disjunkt sind.
Nachbarschaftsbedingungen folgen direkt aus
Koordinatenzuordnung.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-24
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
Korrektheit:
Lemma4 garantiert, dass Objekte disjunkt sind.
Nachbarschaftsbedingungen folgen direkt aus
Koordinatenzuordnung.
Laufzeit:
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
9-25
Algorithmus Tesselation(planarer st-Graph G )
Berechne G ? .
Berechne topologische Nummerierungen
X von G ? und Y von G .
Für jedes Objekt o ∈ V ∪ E ∪ F setze
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))].
Korrektheit:
Lemma4 garantiert, dass Objekte disjunkt sind.
Nachbarschaftsbedingungen folgen direkt aus
Koordinatenzuordnung.
Laufzeit: O (n)
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
10
Größenbedingungen
Minimalhöhe/-breite h, w : E → R≥0 für Kantenpflastersteine
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
10
Größenbedingungen
Minimalhöhe/-breite h, w : E → R≥0 für Kantenpflastersteine
Berechne optimale gewichtete topologische
Nummerierungen Y von G = (V , E ; h)
und X von G ? = (F , E ? ; w ).
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
10
Größenbedingungen
Minimalhöhe/-breite h, w : E → R≥0 für Kantenpflastersteine
Berechne optimale gewichtete topologische
Nummerierungen Y von G = (V , E ; h)
und X von G ? = (F , E ? ; w ).
Knoten-/Facettenpflastersteine: modifiziere Graph zu G 0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
10
Größenbedingungen
Minimalhöhe/-breite h, w : E → R≥0 für Kantenpflastersteine
Berechne optimale gewichtete topologische
Nummerierungen Y von G = (V , E ; h)
und X von G ? = (F , E ? ; w ).
Knoten-/Facettenpflastersteine: modifiziere Graph zu G 0
f
v
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
10
Größenbedingungen
Minimalhöhe/-breite h, w : E → R≥0 für Kantenpflastersteine
Berechne optimale gewichtete topologische
Nummerierungen Y von G = (V , E ; h)
und X von G ? = (F , E ? ; w ).
Knoten-/Facettenpflastersteine: modifiziere Graph zu G 0
v
Philipp Kindermann, Alexander Wolff
ev
·
f
Lehrstuhl für Informatik I
·
Universität Würzburg
10
Größenbedingungen
Minimalhöhe/-breite h, w : E → R≥0 für Kantenpflastersteine
Berechne optimale gewichtete topologische
Nummerierungen Y von G = (V , E ; h)
und X von G ? = (F , E ? ; w ).
Knoten-/Facettenpflastersteine: modifiziere Graph zu G 0
v
Philipp Kindermann, Alexander Wolff
ev
·
ef
f
Lehrstuhl für Informatik I
·
Universität Würzburg
10
Größenbedingungen
Minimalhöhe/-breite h, w : E → R≥0 für Kantenpflastersteine
Berechne optimale gewichtete topologische
Nummerierungen Y von G = (V , E ; h)
und X von G ? = (F , E ? ; w ).
Knoten-/Facettenpflastersteine: modifiziere Graph zu G 0
v
ev
ef
f
Jedes Objekt von G entspricht Kante in G 0 .
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
10
Größenbedingungen
Minimalhöhe/-breite h, w : E → R≥0 für Kantenpflastersteine
Berechne optimale gewichtete topologische
Nummerierungen Y von G = (V , E ; h)
und X von G ? = (F , E ? ; w ).
Knoten-/Facettenpflastersteine: modifiziere Graph zu G 0
v
ev
ef
f
Jedes Objekt von G entspricht Kante in G 0 .
Satz: Eine flächenminimale Pflasterung eines planaren
st -Graphen G , die sich an Minimalhöhen/-breiten h, w :
V ∪ E ∪ F → R≥0 hält, lässt sich in O (n) Zeit berechnen.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
11
Sichtbarkeitsrepräsentationen
Def. Eine Sichtbarkeitsrepräsentation Γ eines planaren st Graphen G stellt
Knoten v als horizontale Strecke Γ (v )
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
11
Sichtbarkeitsrepräsentationen
Def. Eine Sichtbarkeitsrepräsentation Γ eines planaren st Graphen G stellt
Knoten v als horizontale Strecke Γ (v )
und Kante (u , v ) als vertikale Strecke Γ (u , v ) dar
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
11
Sichtbarkeitsrepräsentationen
Def. Eine Sichtbarkeitsrepräsentation Γ eines planaren st Graphen G stellt
Knoten v als horizontale Strecke Γ (v )
und Kante (u , v ) als vertikale Strecke Γ (u , v ) dar
so dass
Knotenstrecken paarweise disjunkt sind,
Kantenstrecken paarweise disjunkt sind und
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
11
Sichtbarkeitsrepräsentationen
Def. Eine Sichtbarkeitsrepräsentation Γ eines planaren st Graphen G stellt
Knoten v als horizontale Strecke Γ (v )
und Kante (u , v ) als vertikale Strecke Γ (u , v ) dar
so dass
Knotenstrecken paarweise disjunkt sind,
Kantenstrecken paarweise disjunkt sind und
die Kantenstrecke Γ (u , v ) die
Knotenstrecken Γ (u ) und Γ (v )
von unten nach oben verbindet
und keine andere Knotenstrecke
schneidet.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
Γ (v )
Γ (u , v )
Γ (u )
·
Universität Würzburg
12
Berechnen einer Sichtbarkeitsrepräsentation
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12
Berechnen einer Sichtbarkeitsrepräsentation
Verwende Pflasterung; Knotenpflaster: degeneriert (d.h.
Strecken); Facettenpflaster: nicht degeneriert
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12
Berechnen einer Sichtbarkeitsrepräsentation
Verwende Pflasterung; Knotenpflaster: degeneriert (d.h.
Strecken); Facettenpflaster: nicht degeneriert
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
12
Berechnen einer Sichtbarkeitsrepräsentation
Verwende Pflasterung; Knotenpflaster: degeneriert (d.h.
Strecken); Facettenpflaster: nicht degeneriert
Kantenstrecken
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
13-1
Algorithmus Visibility(planarer st-Graph G )
Berechne G ? .
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
13-2
Algorithmus Visibility(planarer st-Graph G )
Berechne G ? .
Berechne optimale gewichtete topologische Nummerierungen
Y von G , X von G ? mit Einheitsgewichten.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
13-3
Algorithmus Visibility(planarer st-Graph G )
Berechne G ? .
Berechne optimale gewichtete topologische Nummerierungen
Y von G , X von G ? mit Einheitsgewichten.
Für Knoten v ∈ V setze
Γ (v ) = [X (left(v )), X (right(v )) − 1] × {Y (v )}.
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
13-4
Algorithmus Visibility(planarer st-Graph G )
Berechne G ? .
Berechne optimale gewichtete topologische Nummerierungen
Y von G , X von G ? mit Einheitsgewichten.
Für Knoten v ∈ V setze
Γ (v ) = [X (left(v )), X (right(v )) − 1] × {Y (v )}.
Für Kante e ∈ E setze
Γ (e ) = {X (left(e ))} × [Y (orig(e )), Y (dest(e ))].
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
13-5
Algorithmus Visibility(planarer st-Graph G )
Berechne G ? .
Berechne optimale gewichtete topologische Nummerierungen
Y von G , X von G ? mit Einheitsgewichten.
Für Knoten v5 ∈ V setze
Γ (v ) = [X (left(v )), X (right(v )) − 1] × {Y (v )}.
2
4 5
e∈E
4
4
Für Kante
setze
4
Γ (e ) = {X (left(e ))} × [Y (orig(e )), Y (dest(e ))].
0
3
1
3 3
2
6
7
4
1
0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
13-6
Algorithmus Visibility(planarer st-Graph G )
Berechne G ? .
Berechne optimale gewichtete topologische Nummerierungen
Y von G , X von G ? mit Einheitsgewichten.
Für Knoten v5 ∈ V setze
Γ (v ) = [X (left(v )), X (right(v )) 5− 1] × {Y (v )}.
2
4 5
e∈E
4
4
4
Für Kante
setze
4
Γ (e ) = {X (left(e ))} × [Y (orig(e3)), Y (dest(e ))].
0
3
1
3 3
2
6
7
4
1
2
1
0
0 1 2 3 4 5 6 7
0
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
13-7
Algorithmus Visibility(planarer st-Graph G )
Berechne G ? .
Berechne optimale gewichtete topologische Nummerierungen
Y von G , X von G ? mit Einheitsgewichten.
Für Knoten v ∈ V setze
Γ (v ) = [X (left(v )), X (right(v )) − 1] × {Y (v )}.
Für Kante e ∈ E setze
Γ (e ) = {X (left(e ))} × [Y (orig(e )), Y (dest(e ))].
Satz: Der Algorithmus Visibility erzeugt in O (n) Zeit eine Sichtbarkeitsrepräsentation mit ganzzahligen Koordinaten und
Flächenbedarf O (n2 ).
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
Herunterladen