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 )
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
X
s
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 ).
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 ? .
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
θ
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:
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-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-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-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
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 )
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