Visualisierung von Graphen - WueCampus2

Werbung
1
Visualisierung von Graphen
Planare Orientierungen
Pflasterungen und Sichtbarkeitsrepräsentationen
8. Vorlesung
Sommersemester 2014
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.
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
4
Planare st-Graphen
Normalerweise aufwärtsplanar gezeichnet
t
2 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 und rechts von e
s?
G ? = (V ? = F , E ? ):
e ∈ E ⇒ (left(e ), right(e )) ∈ E ?
t?
Multigraph
s ? t ? -Graph
Philipp Kindermann, Alexander Wolff
s
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5-9
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 , πr e 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
w
f
q
t
x
u
πr e
πs
s
Philipp Kindermann, Alexander Wolff
·
Lehrstuhl für Informatik I
·
Universität Würzburg
5-18
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-22
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-8
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-10
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 : orig(v ) = dest(v ) = v
für f ∈ F : left(f ) = right(f ) = f
Lemma4 Für 2 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
θ
kann unbeschränkt sein, oder zu Strecke/Punkt degeneriert
θ1 , θ2 horizontal/vertikal benachbart ⇔ gemeinsame
hor./vert. Grenze
wir schreiben θ = [xL (θ), xR (θ)] × [yB (θ), yT (θ)]
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 )
θ(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
9-19
Algorithmus Tesselation(planarer st-Graph G )
1. Berechne G ?
2. Berechne topologische Nummerierung Y von G , X von G ?
3. 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 )
1. Berechne G ?
2. Berechne topologische Nummerierung Y von G , X von G ?
3. Für jedes Objekt o ∈Knoten
V ∪ E ∪≡
F setze
Horizontale
Facette ≡ Vertikale
θ(o ) = [X (left(o )), X (right(o ))] × [Y (orig(o )), Y (dest(o ))]
Kante
≡ Fläche
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-24
Algorithmus Tesselation(planarer st-Graph G )
1. Berechne G ?
2. Berechne topologische Nummerierung Y von G , X von G ?
3. 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
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 )
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
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-6
Algorithmus Visibility(planarer st-Graph G )
1. Berechne G ?
2. Berechne optimale gewichtete topologische Nummerierung Y
von G , X von G ? mit Einheitsgewichten
3. Für Knoten 5v ∈ V setze
Γ (v ) = [X (left(v )), X (right(v )) − 51] × {Y (v )}
2
4
4 5
e ∈ E setze
4
4
4. Für 4Kante
Γ (e ) = {X (left(e ))} × [Y (orig(e )),3 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 )
1. Berechne G ?
2. Berechne optimale gewichtete topologische Nummerierung Y
von G , X von G ? mit Einheitsgewichten
3. Für Knoten v ∈ V setze
Γ (v ) = [X (left(v )), X (right(v )) − 1] × {Y (v )}
4. 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