Darstellung von Graphen I

Werbung
Visualisierung I
9. Darstellung von Graphen
Vorlesung: Mi, 9:00 – 11:00, INF 368 – 532
Übung: Do, 14:00 – 16:00, INF 350 – OMZ R U011
JProf. Dr. Heike Jänicke – http://www.iwr.uni-heidelberg.de/groups/CoVis/
Inhaltsverzeichnis
1. Einführung
2. Visuelle Wahrnehmung
3. Datentypen und Datenrepräsentation
4. Skalardaten
5. Statistische Graphiken
6. Interaktion und Datenexploration
7. Vektordaten
8. Tensordaten
9. Darstellung von Graphen
Visualisierung I – 9. Graphen
2
Relationale Daten
●
●
Häufig besitzen die zu visualisierenden Entitäten eine
inhärente Relation (Beziehung oder Abhängigkeit). In
diesem Fall eignen sich Graphen als Repräsentation,
wobei Knoten die Entitäten und Kanten die Relation
darstellen.
Ein einfaches Beispiel für solche relationalen Daten ist die
Verzeichnishierarchie eines Computersystems, die man
sich als Baumstruktur vorstellen kann. Auf dem Computer
sind die Daten in Ordnern gespeichert, welche selbst
wieder Unterordner haben. Typische Fragestellungen sind:
–
In welchem Ordner/Wo befinde ich mich?
–
Wo ist die gesuchte Datei relativ zum aktuellen
Ordner?
Visualisierung I – 9. Graphen
3
Organigramm einer Firma
Visualisierung I – 9. Graphen
4
Soziale Netzwerke
[DaoMuCun ]
Visualisierung I – 9. Graphen
5
Schaltpläne
Visualisierung I – 9. Graphen
6
Metabolische Netzwerke
Visualisierung I – 9. Graphen
7
Relationale Daten
●
Weitere typische Anwendungen sind
–
Organigramm einer Firma
–
Projektmanagment (z. B. Project Evaluation and Review Technique PERT)
–
Soziale Netzwerke
–
Taxonomie biologischer Arten (bei Abstammung: phylogenetische Bäume)
–
Biochemische Reaktionen, speziell Stoffwechselsysteme
–
Abhängigkeiten bei Genexpression
–
Ähnlichkeiten von Dokumenten
–
Sematische Netzwerke und Wissensrepräsentationsdiagrame
–
Webseiten und ihre Links
–
Szenengraphen und virtuelle Realität
–
Datenstrukturen, insbesondere bei Compilern
–
Strukturen objektorientierte Systeme (Klassenhierachie, Datenfluss)
–
Realzeitsystem (Zustandsdiagramme)
–
Schaltkreisentwurf (very large system integration VLSI)
Visualisierung I – 9. Graphen
8
Inhaltsverzeichnis
9. Darstellung von Graphen
1. Graphentheorie
1. Definition und Grundbegriffe
2. Struktur von Graphen
2. Grundkonzepte
1. Konventionen
2. Ästhetikkriterien
3. Einschränkungen
3. Zeichenstrategien
1. Topologie-Form-Metrik
2. Hierarchisch
3. Sichtbarkeit
4. Erweiterung
5. Kraftbasiert
6. Divide and Conquer
4. Taxonomie für Zeichenalgorithmen
Visualisierung I – 9. Graphen
9
Inhaltsverzeichnis
9. Darstellung von Graphen
1. Graphentheorie
1. Definition und Grundbegriffe
2. Struktur von Graphen
2. Grundkonzepte
1. Konventionen
2. Ästhetikkriterien
3. Einschränkungen
3. Zeichenstrategien
1. Topologie-Form-Metrik
2. Hierarchisch
3. Sichtbarkeit
4. Erweiterung
5. Kraftbasiert
6. Divide and Conquer
4. Taxonomie für Zeichenalgorithmen
Visualisierung I – 9. Graphen
10
Graphen
●
●
●
Ein Graph ist ein Paar G = (V, E) disjunkter Mengen mit E ⊆ [V]²; die Elemente von E
sind also 2-elementige Teilmengen von V.
Die Elemente von V nennt man die Ecken (oder Knoten) des Graphen G, die
Elemente E seine Kanten.
Graphen können bildhaft dargestellt werden. Hierbei werden die Knoten als Punkte
gezeichnet und Kanten als Verbindungslinien zwischen den entsprechenden
Punkten. (Die Anordnung der Punkte, sowie der Verlauf der Kanten können frei
gewählt werden und sind lediglich von Zweckmäßigkeit und Ästhetik abhängig).
Visualisierung I – 9. Graphen
11
Bestandteile von Graphen
●
●
●
●
●
Ein Graph G = (W, F) ist ein Graph auf W.
Die Knotenmenge W eines Graphen bezeichnen wir mit V(G), seine Kantenmenge
F mit E(G). Statt v∈V G  oder e∈E G  schreiben wir gelegentlich auch v∈G
oder e ∈G .
Der Graph heißt endlich bzw. unendlich je nachdem, ob V(G) endlich oder
unendlich ist.
Statt |V(G)| schreiben wir auch |G| und nennen |G| die Ordnung von G; statt |E(G)|
schreiben wir ||G||.
Den leeren Graphen ( ∅ ,∅ ) bezeichnen kurz mit ∅ .
Visualisierung I – 9. Graphen
12
Lagebeziehungen von Knoten und Kanten
●
Ein Knoten v und eine Kante e inzidieren miteinander und heißen inzident, wenn
v ⋲ e gilt.
●
Die beiden Knoten einer Kante sind ihre Endknoten, und sie verbindet diese Knoten.
●
Für eine Kante {x,y} schreiben wir kürzer auch xy (oder yx).
●
●
●
Zwei Knoten x, y von G sind (adjazent oder) benachbart in G und heißen Nachbarn
voneinander, wenn xy ⋲ E(G) ist.
Zwei Kanten e ≠ f sind benachbart, falls sie eine gemeinsamen Endknoten haben.
Sind je zwei Ecken von G benachbart, so heißt G vollständig. Einen vollständigen
Graphen auf n Ecken bezeichnen wir mit Kn; K³ ist ein Dreieck.
Visualisierung I – 9. Graphen
13
Grad eines Knoten und Adjazenzmatrix
●
●
●
Es sei G = (V, E) ein (nicht leerer) Graph. Die Menge der Nachbarn einer Ecke v
bezeichnen wir mit NG(v), oder kurz N(v).
Der Grad (oder die Valenz) dG(v) = d(v) einer Ecke v ist die Anzahl |E(v)| der mit v
inzidenten Kanten; nach unserer Definition eines Graphen ist dies gerade die Anzahl
der Nachbarn von v.
Ein Graph G = (V, E) mit n Knoten kann durch die n×n Adjazenzmatrix A beschrieben
werden, wobei Auv = 1, wenn {u , v }∈E und Auv = 0 sonst. Die Adjazenzmatrix eines
(ungerichteten) Graphen ist immer symmetrisch.
Visualisierung I – 9. Graphen
14
Inhaltsverzeichnis
9. Darstellung von Graphen
1. Graphentheorie
1. Definition und Grundbegriffe
2. Struktur von Graphen
2. Grundkonzepte
1. Konventionen
2. Ästhetikkriterien
3. Einschränkungen
3. Zeichenstrategien
1. Topologie-Form-Metrik
2. Hierarchisch
3. Sichtbarkeit
4. Erweiterung
5. Kraftbasiert
6. Divide and Conquer
4. Taxonomie für Zeichenalgorithmen
Visualisierung I – 9. Graphen
15
Teilgraphen und Untergraphen
●
Wir setzen
und
●
●
●
G∪G ' :=V ∪V ' , E ∪E ' 
G∩G ' :=V ∩V ' , E∩E ' 
Ist G∩G ' =∅ , so heißen G und G' disjunkt.
Gilt V ' ⊆V und E ' ⊆E so ist G' ein Teilgraph von G, und G ein Obergraph von G',
geschrieben G ' ⊆G . Informell sagen wir häufig, dass G den Graphen G' enthält.
Der Teilgraph G' heißt induziert oder aufgespannt (von V' in G), wenn er alle Kanten
xy ⋲ E mit x,y ⋲ V' enthält. Einen solchen induzierten Teilgraphen nennen wir einen
Untergraphen. Wir bezeichnen G' dann auch mit G[V'].
Visualisierung I – 9. Graphen
16
Pfade und Kreise
●
Ein Weg ist ein nicht leerer Graph P = (V, E) der Form
V ={x 0 , x1 , , x k }
E ={ x 0 x 1 , x 1 x 2 , , x k−1 x k },
wobei die xi paarweise verschieden sind. Die Knoten x0 und xk sind die Endknoten
von P; sie sind durch P verbunden.
●
●
Die Anzahl der Kanten eines Weges ist seine Länge; den Weg der Länge k
bezeichnen wir mit Pk.
Ist P = x0...xk-1 ein Weg und k ≥ 3, so ist der Graph C := P + xk-1x0 ein Kreis (oder
Zyklus). Die Länge eines Kreises ist wieder die Anzahl seiner Kanten, und den Kreis
der Länge k bezeichnen wir mit Ck. Ein Graph ohne Zyklus heißt azyklisch.
Visualisierung I – 9. Graphen
17
Bäume und Wälder
●
●
●
●
Ein nicht leerer Graph heißt zusammenhängend, wenn er für je zwei seiner Ecken x,
y einen x-y-Weg enthält. Ein maximal zusammenhängender Teilgraph von G ist eine
(Zusammenhangs-)Komponente von G.
Ein Graph, der keinen Kreis enthält, ist ein Wald.
Ein zusammenhängender Wald ist ein Baum. (Ein Wald ist somit ein Graph, dessen
Komponenten Bäume sind.)
Die Ecken vom Grad 1 eines Baumes sind seine Blätter (ausgenommen ist hierbei
der Wurzelknoten).
Visualisierung I – 9. Graphen
18
Gerichtete Graphen
●
●
●
●
●
●
Ein gerichteter Graph oder Digraph G=(V, E) besteht aus einer endlichen Menge V
von Knoten und einer endlichen Menge E⊂V ×V gerichteter Kanten.
Eine gerichtete Kante (u,v) ist ein ausgehende Kante für u und eine eingehende
Kante für v.
Eine gerichtete Kante (u, v) mit u = v heißt Schlinge.
Knoten ohne ausgehende Kanten heißen Senken. Knoten ohne eingehende Kanten
heißen Quellen.
Der Ingrad von v ist die Anzahl eingehender Kanten. Der Ausgrad von v ist die
Anzahl ausgehender Kanten.
Ein gerichteter Weg in G ist eine Folge (v1, v2, ..., vh) von Knoten in G, so dass (vi, vi+1)
eine gerichtete Kante in G für i = 1,...,h-1 ist.
●
Ein gerichteter Weg heißt Zyklus, falls (vh, v1) eine gerichtete Kante in G ist.
●
Ein gerichteter azyklischer Graph (DAG) ist ein gerichteter Graph ohne Zyklus.
●
Zu einem gerichteten Graphen G' gibt es immer einen Graph G, der durch
„Vergessen der Orientierung der Kanten“ entsteht
Visualisierung I – 9. Graphen
19
Zeichnung eines Graphen
●
●
●
●
Eine Zeichnung eines Graphen oder Digraphen G ist eine Abbildung G vom Graphen
in die Ebene, die jedem Knoten v einen Punkt G(v) und jeder Kante {u, v} eine offene
Jordankurve G(u,v) zuordnet, die die Punkte G(u) und G(v) als Endpunkte hat.
(Die gerichteten Kanten des Digraphen werden in der Regel als Pfeile gezeichnet.)
Eine Zeichnung eines Graphen oder Digraphen heißt planar, wenn sich die Kurven
zweier verschiedener Kanten höchstens in den Endpunkten schneiden.
Ein Graph oder Digraph heißt planar, wenn es mindestens eine planare Zeichnung
gibt.
Man beachte, dass nicht alle Graphen planar sind und dass nach der Eulerformel ein
planarer Graph mit n Knoten höchstens 3n-6 Kanten haben kann.
Visualisierung I – 9. Graphen
20
Planare Zeichnungen des gleichen Graphen
Visualisierung I – 9. Graphen
21
Facetten und Planare Einbettung
●
●
●
●
●
Eine planare Zeichnung eines Graphen oder Digraphen zerlegt die Ebene in
topologisch verbundene Regionen, die Facetten genannt werden.
Die unbegrenzte Facette wird äußere Facette genannt.
Eine planare Zeichnung bestimmt eine zirkuläre Ordnung der inzidenten Kanten an
jedem Knoten durch Umlauf im Uhrzeigersinn. Zwei planare Zeichnungen heißen
äquivalent, wenn sie die gleiche zirkuläre Ordnung an allen Knoten festlegen.
Eine planare Einbettung eines Graphen oder Digraphen G ist eine Äquivalenzklasse
von planaren Zeichnungen. Sie wird durch Festlegen der zirkulären Ordnungen der
inzidenten Kanten an jedem Knoten festgelegt.
(Auf der vorherigen Folie liefern a,b,c die gleiche, d dagegen eine andere Einbettung
des Graphen.)
Ein eingebetteter Graph bzw. eingebetteter Digraph ist ein Graph bzw. Digraph mit
einer festgelegten planaren Einbettung.
Visualisierung I – 9. Graphen
22
Hypergraphen
●
Ein Hypergraph ist ein Paar (V, E) disjunkter Mengen, bei dem jedem Element von E
eine nicht leere Teilmenge (beliebiger Mächtigkeit) von V ist, d.h. jede Kante kann
mehrere Anfangs- und Endknoten haben. Jeder Graph ist also ein spezieller
Hypergraph.
An example hypergraph, with
X = {v1,v2,v3,v4,v5,v6,v7} and
E = {e1,e2,e3,e4} = {{v1,v2,v3},
{v2,v3}, {v3,v5,v6},{v4}}.
Visualisierung I – 9. Graphen
[Guedes:
Directed hypergraph planarity]
23
Inhaltsverzeichnis
9. Darstellung von Graphen
1. Graphentheorie
1. Definition und Grundbegriffe
2. Struktur von Graphen
2. Grundkonzepte
1. Konventionen
2. Ästhetikkriterien
3. Einschränkungen
3. Zeichenstrategien
1. Topologie-Form-Metrik
2. Hierarchisch
3. Sichtbarkeit
4. Erweiterung
5. Kraftbasiert
6. Divide and Conquer
4. Taxonomie für Zeichenalgorithmen
Visualisierung I – 9. Graphen
24
Konventionen für Zeichnungen
Es gibt verschiedene Zeichenkonventionen, die entscheidenden Einfluss auf die
Auslegealgorithmen von Graphen haben. Die gebräuchlichen Konventionen sind:
●
●
●
●
Polylinienzeichnung: Jede Kante wird als
Polygonzug gezeichnet.
Geradlinige Zeichnung: Jede Kante wird
als gerade Linie gezeichnet.
Orthogonale Zeichnung: Jede Kante wird
als Polygonzug achsenparalleler Linien
gezeichnet.
Gitterzeichnung: Knoten, Schnittpunkte und
Kantenknicke haben ganzzahlige Koordinaten bzgl. eines festgelegten kartesischen
Gitters.
Visualisierung I – 9. Graphen
25
Konventionen für Zeichnungen
●
●
Planare Zeichnung: Kanten schneiden sich höchstens an Knoten.
Aufwärtszeichnung (bzw. Abwärtszeichnung): Für azyklische gerichtete Graphen
(DAGs) wird jede Kante als monoton ansteigende (absteigende) Kurve gezeichnet.
Visualisierung I – 9. Graphen
26
Ästhetikkriterien
Ästhetische Kriterien formulieren Wünsche an die Zeichnung eines Graphen, die diese
Zeichnung möglichst gut erfüllen soll. Oft sind nicht alle Kriterien, manchmal keines zu
erreichen und es wird ein guter Kompromiss gesucht.
●
●
●
●
●
●
Kantenschnitte. Minimierung der Anzahl der Schnittpunkte von Kanten.
Fläche. Der Graph wird auf möglichst kleiner Fläche gezeichnet. Dabei wird
entweder das Gitterzeichnen oder ein Mindestabstand von Knoten vereinbart.
Gesamtkantenlänge. Die Gesamtkantenlänge wird minimiert. Auch dies ist nur bei
Gitterzeichnen oder Knotenmindestabstand sinnvoll.
Maximale Kantenlänge. Die Länge der längsten Kante wird minimiert. Wieder muss
man Gitterzeichnen oder Knotenmindestabstand vereinbaren.
Gleichförmige Kantenlänge. Die Varianz der Kantenlängen wird minimiert.
Gesamtanzahl Knicke. Die Zahl aller Knicke aller Kanten soll minimiert werden.
Dies ist besonders bei orthogonalem Zeichnen sinnvoll.
Visualisierung I – 9. Graphen
27
Ästhetikkriterien
●
Maximale Knickanzahl. Das Maximum von Knicken einer Kante wird minimiert.
●
Gleichmäßige Knickanzahl. Die Varianz der Knickanzahl wird minimiert.
●
●
●
●
Winkelauflösung. Der kleinste auftretende Winkel zwischen zwei Kanten wird
maximiert.
Seitenverhältnis. Das Seitenverhältnis des kleinsten umschriebenen Rechtecks soll
nahe 1 sein.
Symmetrie. Die Symmetrien des Graphen sollen möglichst gut abgebildet werden.
Oft widersprechen sich die Ästhetikkriterien. Ferner kann auch ein einzelnes
Kriterium nicht immer erfüllt werden.
Visualisierung I – 9. Graphen
28
Einschränkungen
Bei Einschränkungen werden Teilgraphen oder Teilzeichnungen festgelegt, um bestimmte
Konventionen einzuhalten. Häufige Beispiele in der Visualisierung sind:
●
Zentrum. Ein gegebener Knoten wird im Zentrum der Zeichnung fixiert.
●
Außen. Ein bestimmter Knoten wird der äußeren Facette benachbart.
●
Cluster. Eine gegebene Menge von Knoten wird nah beieinander angeordnet.
●
●
Links-Rechts-Folge. Ein vorgegebener Weg wird von links nach rechts gezeichnet.
(Auch vertikal möglich.)
Form. Zeichne einen gegebenen Teilgraphen mit vorgegebener Form.
Visualisierung I – 9. Graphen
29
Inhaltsverzeichnis
9. Darstellung von Graphen
1. Graphentheorie
1. Definition und Grundbegriffe
2. Struktur von Graphen
2. Grundkonzepte
1. Konventionen
2. Ästhetikkriterien
3. Einschränkungen
3. Zeichenstrategien
1. Topologie-Form-Metrik
2. Hierarchisch
3. Sichtbarkeit
4. Erweiterung
5. Kraftbasiert
6. Divide and Conquer
4. Taxonomie für Zeichenalgorithmen
Visualisierung I – 9. Graphen
30
Der Topologie-Form-Metrik Ansatz
Dieser Ansatz zielt vor allem auf orthogonale Gitterzeichnungen und basiert auf drei
Verfeinerungsebenen:
●
●
●
Topologie. Zwei orthogonale Zeichnungen haben
die gleiche Topologie, wenn sie durch stetige
Deformation ohne Veränderung der Kantenfolge
der Facetten ineinander überführt werden können.
Form. Zwei orthogonale Zeichnungen haben die
gleiche Form, wenn sie die gleiche Topologie haben
und eine Zeichnung aus der anderen nur durch
Längenänderungen bei den Liniensegementen
hervorgeht (Winkel bleiben erhalten).
Metrik. Zwei orthogonale Zeichnungen haben die
gleiche Metrik, wenn sie kongruent sind, also durch
Verschieben und Drehen ineinander überführt
werden können
Visualisierung I – 9. Graphen
31
Der Topologie-Form-Metrik Ansatz
Die Umsetzung erfolgt durch drei entsprechende Schritte, bei denen nacheinander
Topologie, Form und Metrik optimiert werden.
●
●
●
Die Planarisierung legt die Einbettung des Graphen, also seine Topologie fest. Ziel
dabei ist es die Anzahl der Kantenschnitte zu minimieren. Oft wird zunächst ein
maximaler planarer Untergraph gesucht und eingebettet. Anschließend werden die
verbleibenden Kanten einzeln eingefügt, wobei jeweils möglichst wenig
Überschneidungen erzeugt werden. An den Überschneidungen werden Hilfsknoten
eingefügt, um einen planaren Graphen zu erhalten.
Die Orthogonalisierung legt die Form des Graphen fest. Sie liefert eine orthogonale
Repräsentation des Graphen. Die Knoten erhalten keine Koordinaten und die Kanten
lediglich Winkellisten, die ihre Knicke festlegen. Die Minimierung der Knicke ist in der
Regel das Hauptziel.
Die Kompaktifizierung legt schließlich die endgültigen Koordinaten der Kanten und
der Kantenknicke fest. In der Regel wird die Fläche des Graphen minimiert. Die
Hilfsknoten werden entfernt.
Details zu den Phasen finden sich in der Literatur. [Jeron, Jard. 3D Layout of Reachability
Graphs of Communicating Processes. Graph Drawing '94 Proceedings, 1995, 25-32],
[Jünger, Leipert, Mutzel. Pitfalls of using PQ-trees in automatic graph drawing. Graph
drawing '97 Proceedings, 1997, 193-204][Battista, Eades, Tamassia, Tollis, Graph
Drawing, Prentice-Hall, 1999]
Visualisierung I – 9. Graphen
32
Der Topologie-Form-Metrik Ansatz – Ästhetikkriterien
●
Die drei Schritte des Algorithmus geben die Bedeutung der drei Optimierungskriterien
wieder, die verfolgt werden:
–
Der erste Schritt ist die Planarisierung. Hierbei wird die Anzahl der
Kantenschnitte minimiert. Auch die relative Lage der Knoten im Graphen wird
bestimmt, etwa ob sie eher im Zentrum oder am Rand dargestellt werden sollen.
Weiterhin wird durch die relative Lage der Knoten zueinander die Anzahl der
Biegungen der Kanten beeinflusst.
–
Im zweiten Schritt wird die Anzahl der Knicke in den Kanten optimiert.Es
können auch Kanten bestimmt werden, die keine Knicke enthalten sollen, indem
die Endknoten entsprechend gesetzt werden.
–
Die letzte und am wenigsten wichtige Optimierung gilt der Fläche. In diesem
Schritt können weitere Ästhetikkriterien wie die Kantenlänge berücksichtigt
werden.
Planarisierung
Visualisierung I – 9. Graphen
Orthogonalisierung
Kompaktifizierung
33
Der Topologie-Form-Metrik Ansatz – Einschränkungen
●
In jeder der drei Phasen können auch Einschränkungen gemacht werden, so dass
eine bestimmte Struktur der Zeichnung erzwungen wird.
–
Planarisierung: Für die Knoten kann eine bestimmte Position innerhalb des
Graphen erzwungen werden oder es kann verboten werden, dass sich
bestimmte Kanten schneiden.
–
Orthogonalisierung: Es kann z.B. gefordert werden, dass ein bestimmter Pfad
keine Knicke aufweist. Alternativ kann eine bestimmte Struktur mit einer
vorgegebenen Knickfolge in verschiedene Richtungen vorgegeben werden, um
z.B. eine gewünschte Grobstruktur vorzugeben.
–
Kompaktifizierung: Innerhalb bestimmter Grenzen die durch die vorherigen
Schritte gegeben sind, kann z.B. die Lage von Knoten zueinander bestimmt
werden (einer weiter oben, als der andere).
Planarisierung
Visualisierung I – 9. Graphen
Orthogonalisierung
Kompaktifizierung
34
Der Hierarchische Ansatz
Dieser Ansatz eignet sich besonders für das Layout von DAGs und verwendet ebenfalls
drei Schritte.
●
●
●
●
Der Schichtungsschritt verwandelt einen DAG in einen geschichteten Digraphen,
bei dem jedem Knoten eine Ebene Li zugeordnet wird, so dass für alle Kanten (u,v)
gilt, dass u∈ Li∧v∈ L j und i < j. Anschließend wird ein echt geschichteter Digraph
daraus, indem auf Kanten, die über mehr als eine Ebene laufen, Hilfsknoten
eingefügt werden, so dass jede Kante genau eine Ebene überspannt.
Bei der Schnittreduktion erhalten die Knoten einer jeden Schicht eine Reihenfolge
(Ordnung), welche die Topologie des Layouts bestimmt. Dabei wird die Anzahl der
Kantenschnitte minimiert.
Das Festlegen der x-Koordinaten ordnet den Knoten einer Ebene ihre xKoordinaten zu. Für die endgültige Zeichnung ersetzt man Hilfsknoten durch Knicke.
Dabei können die Knicke minimiert (man ordnet die Hilfsknoten so an, dass sie eine
Gerade bilden) oder Symmetrien betont (mittels horizontalem Verschieben) werden.
Wie schon im Falle des Topologie-Form-Metrik Ansatzes wird auch hier durch die
Abfolge der drei Schritte eine Gewichtung der Ästhetikkriterien festgelegt.
Visualisierung I – 9. Graphen
35
Der Hierarchische Ansatz
Visualisierung I – 9. Graphen
36
Der Hierarchische Ansatz – Berechnung
●
●
Das Problem der Schnittminimierung zwischen zwei Ebenen ist bereits NP-hart, so
dass Heuristiken gesucht werden. Eine exzellente Arbeit zu gerichteten Graphen
stammt von Sugiyama. [K. Sugiyama, S. Tagawa, and M. Toda, „Methodes for Visual
Understanding of Hierarchical Systems Structures“, IEEE Trans. Systems, Man, and
Cybernetics, vol. 11, no. 2, pp. 109-125, 1989]
Eine Heuristik [W. Tutte, „How to Draw a Graph“, Proc. London Math. Soc., vol. 3,
no. 13, pp. 743-768, 1963] legt eine Ordnung der ersten und letzten Ebene fest und
fordert, dass jeder Knoten im Schwerpunkt seiner Nachbarn (im Graphen) liegt. Dies
führt auf ein lineares Gleichungssystem. Einen Vergleich von Heuristiken geben
Laguna und Marti an.
[M. Laguna and R. Marti, „Heuristics and Meta-Heuristics for 2-Layer Straight Line
Crossing Minimization“,
URL: http://www-bus.colorado.edu/Faculty/Laguna/, 1999].
Visualisierung I – 9. Graphen
37
Der Hierarchische Ansatz – Beschränkungen
Zumeist werden Beschränkungen bezüglich der Anordnung der Knoten gemacht. So wird
zu Beispiel gefordert:
●
●
Schnittreduktion:
–
Bestimmte Knoten sollen in der Mitten angeordnet sein.
–
Bestimmte Knoten sollen auf einer Ebene nahe beieinander angeordnet
werden.
Festlegen der x-Koordinate:
–
Eine bestimmte Folge von Knoten soll auf einer senkrechten Geraden
untereinander liegen.
Schichtung
Visualisierung I – 9. Graphen
Schnittreduktion
Festlegen der
x-Koordinaten
38
Der Sichtbarkeitsansatz
Dieser Ansatz dient dem Auslegen beliebiger Graphen mit
Polylinien.
●
●
●
Die Planarisierung gleicht demjenigen im TopologieForm-Metrik Ansatz. Hier geht es erneut vor allem um
Schnittminimierung.
Im Sichtbarkeitsschritt wird eine Sichtbarkeitsrepräsentation des Graphen geschaffen. Jedem Knoten wird
ein horizontales und jeder Kante {u,v} ein vertikales
Liniensegment zugeordnet, wobei das Kantensegment
seinen Anfang und sein Ende innerhalb der zugehörigen
Knotensegmente hat. Ferner schneiden die
Kantensegmente einander nicht.
Der Ersetzungsschritt erzeugt die endgültige
Zeichnung des Graphen durch Ersetzen jedes
horizontalen Segments durch einen Punkt und jedes
vertikalen Segments durch einen Kantenzug. Die
Kantenzüge sollen dabei möglichst den Segmenten aus
dem Sichtbarkeitsschritt folgen. Hier kann eine Vielzahl
von Strategien eingesetzt werden.
Visualisierung I – 9. Graphen
39
Der Sichtbarkeitsansatz – Ästhetikkriterien
●
●
Der Sichtbarkeitsansatz ist ein Mittelweg zwischen den beiden vorhergehenden
Ansätzen. Er übernimmt die planare Anordnung aus dem Topologie-Form-Metrik
Ansatz und die ebenenbasierte Anordnung aus dem hierarchischen Ansatz.
Es ergibt sich folgende Bedeutung verschiedener Ästhetikkriterien:
–
Die Schnittminimierung ist wieder das wichtigste Ziel des Algorithmus
(Planarisierungsschritt).
–
Im Sichtbarkeitsschritt wird versucht die benötigte Fläche zu minimieren.
–
Der letzte Schritt (Ersetzung) lässt Raum für die Spezifikationen einer Vielzahl
von Optimierungskriterien. So kann z.B. auf eine minimale Anzahl von Knicken,
starke Symmetrie oder eine gleichmäßige Verteilung der Knoten im Raum
geachtet werden.
Visualisierung I – 9. Graphen
40
Der Sichtbarkeitsansatz – Beschränkungen
Beschränkungen können für alle drei Schritte vorgegeben werden.
●
●
Topologische Einschränkungen können entsprechend denen des Topologie-FormMetrik Ansatzes gefordert werden.
Sichtbarkeits- und Ersetzungsschritt
–
Vertikale Ausrichtung von Knoten eines bestimmten Pfades.
–
Relative Position zweier Knoten zueinander in der Horizontalen und/oder der
Vertikalen.
–
Vorgabe für die Form von Kanten.
Visualisierung I – 9. Graphen
41
Der Erweiterungsansatz
Auch dieser Ansatz zielt auf Polylinienzeichnungen und besteht aus drei Schritten.
●
●
●
Die Planarisierung gleicht dem Topologie-Form-Metrik Ansatz. Hier geht es erneut
vor allem um Schnittvermeidung.
Die Verfeinerung fügt eine geeignete Anzahl von Kanten (evtl. auch Knoten) in die
Einbettung ein, um einen maximalen planaren Graphen zu erzeugen, d. h. alle
Facetten haben dann drei Kanten und wir erhalten eine Triangulierung. Da die
Qualität des Zeichnens maximaler Graphen in der Regel vom Knotengrad abhängt,
wird beim Einfügen von neuen Kanten meistens versucht, den maximalen
Knotengrad zu minimieren.
Die Triangulierungszeichnung erzeugt die Zeichnung durch Auslegen aller
Dreiecke und anschließendes Entfernen der Hilfskanten und Hilfsknoten. Alle
Algorithmen nutzen spezielle Eigenschaften der Triangulierung. (Beim Entfernen der
Hilfsknoten entstehen in durchlaufenden Kanten Knicke.)
Visualisierung I – 9. Graphen
42
Der Erweiterungsansatz
Visualisierung I – 9. Graphen
43
Der Erweiterungsansatz – Ästhetikkriterien
●
●
Planarisierung:
Da auch bei dieser Strategie wieder mit einer Planarisierung begonnen wird, gilt die
größte Bedeutung der Minimierung von Kantenschnitten.
Verfeinerung und Zeichnen der Triangulierung
In den beiden anderen Phasen können verschiedene Ästhetikkriterien optimiert
werden, die durch die Eigenschaften der Dreiecke beschrieben werden, wie z.B.
kleine Gesamtfläche, gute Winkeleigenschaften (also keine sehr spitzen Winkel) oder
gleichmäßige Verteilung der Vertices.
Panarisierung
Visualisierung I – 9. Graphen
Verfeinerung
Zeichnen
der Triangulierung
44
Der Kraftbasierte Ansatz
●
●
Kraftbasierte Ansätze sind intuitive Methoden für geradlinige Zeichnungen
(ungerichteter) Graphen. Wegen ihrer leichten Verständlichkeit und einfachen
Implementierung sind sie sehr populär. Ein solcher Algorithmus simuliert ein System
von Kräften auf dem Eingabegraphen und gibt eine Zeichnung minimaler Energie
aus. Dazu benötigt man zwei Zutaten:
–
Das Kräftemodell. Oft wird jedem Paar von Knoten eine Feder „natürlicher
Länge“ zugeordnet, etwa die Anzahl der Kanten des kürzesten Weges. Die
Federn gehorchen dem Federgesetz und ergeben eine Kraft proportional zur
Differenz von natürlicher Länge und Länge in der aktuellen Zeichnung.
–
Eine Technik zur Energieminimierung. In der Regel werden hier numerische
Techniken eingesetzt, etwa einfache iterative Ansätze zur Lösung gewöhnlicher
Differentialgleichungen.
Dies ergibt oft qualitativ gute, hoch symmetrische Zeichnungen mit gleichmäßiger
Knotenverteilung. Einschränkungen können beachtet werden. [A. Frick, A. Ludwig,
and H. Mehldau, „A Fast Adaptive Layout Algorithm for Undirected Graphs“, Proc.
Symp. Graph Drawing GD '93, pp. 389-403, 1994]
Visualisierung I – 9. Graphen
45
Der Kraftbasierte Ansatz – Ästhetik und Beschränkungen
●
●
Ästhetik:
Kraftbasierte Ansätze liefern im allgemeinen sehr schöne Darstellungen. Diese
weisen oft eine hohe Symmetrie auf und verteilen die Knoten gleichmäßig im Raum.
Beschränkungen:
Kraftbasierte Ansätze können durch vielfältige Parameter beeinflußt werden. So
können z.B. die Kantenlängen unterschiedlich groß gewählt werden und so
erzwungen werden, dass bestimmte Knoten nahe beieinander liegen und andere
weiter entfernt sein können. Außerdem kann leicht eine räumliche Beschränkung
vorgegeben werden innerhalb derer der Graph gezeichnet werden soll.
Visualisierung I – 9. Graphen
46
Der Divide and Conquer Ansatz
●
●
●
Dieses beliebte Informatikprinzip wird auch bei Zeichnungen von Graphen gerne
benutzt.
Er besteht aus drei Schritten:
–
Divide: Zuerst wird der Graph in Teilgraphen zerlegt.
–
Conquer: Diesen werden rekursiv gezeichnet.
–
Zusammenfügen: Im letzten Schritt werden die Teilgraphen zu einer
Zeichnung zusammengefügt.
Für diesen Ansatz eignen sich nur Graphen, die leicht in Teilgraphen zerlegt werden
können. Besonders geeignet ist der Divide&Conquer-Ansatz für Bäume.
Anwendung: Treemap
Visualisierung I – 9. Graphen
47
Inhaltsverzeichnis
9. Darstellung von Graphen
1. Graphentheorie
1. Definition und Grundbegriffe
2. Struktur von Graphen
2. Grundkonzepte
1. Konventionen
2. Ästhetikkriterien
3. Einschränkungen
3. Zeichenstrategien
1. Topologie-Form-Metrik
2. Hierarchisch
3. Sichtbarkeit
4. Erweiterung
5. Kraftbasiert
6. Divide and Conquer
4. Taxonomie für Zeichenalgorithmen
Visualisierung I – 9. Graphen
48
Grundstruktur von Zeichenalgorithmen für Graphen
●
●
Im vorhergehenden Abschnitt haben wir uns verschiedene Grundideen für
Zeichenalgorithmen angesehen. Diese werden häufig auch in Kombination
verwendet. Im Folgenden betrachten wir noch eine allgemeine Taxonomie
(Klassifikationsschema) zur Beschreibung von Zeichenalgorithmen für Graphen.
Die einfache Struktur rechtfertigt sich durch zwei wesentlich Beobachtungen:
–
Ist ein Algorithmus auf einen speziellen Graphen G' anwendbar, so ist er
auch auf dessen allgemeinere Variante G anwendbar.
–
Graphenalgorithmen entsprechen einer Verarbeitungskette, die aus
mehreren unabhängigen Bausteinen besteht. Dabei werden nach und nach
zusätzlich Details in die Darstellung des Graphen eingefügt. Die Eingabe
eines jeden Schrittes ist ein Graph, ebenso wie dessen Ausgabe. Des
weiteren können neue Algorithmen entwickelt werden indem Schritte aus
existierenden Algorithmen neu verknüpft werden.
Visualisierung I – 9. Graphen
49
Taxonomie
Visualisierung I – 9. Graphen
50
Taxonomie
Topologie-Form-Metrik
Hierarchisch
Sichtbarkeit
Erweiterung
Visualisierung I – 9. Graphen
51
Referenzen
Die Erklärungen folgen den Beschreibungen in:
●
A. C. Telea. Data Visualization: Principles and Practice, A K Peters, Ltd., 2008.
●
R. Diestel. Graphentheorie, Springer, 3. Auflage, 2006
●
G. Di Battista, P. Eades, T. Tamassia, I. G. Tollis. Graph Drawing: Algorithms for the
Visualization of Graphs, Prentice Hall, 1999
Visualisierung I – 9. Graphen
52
Herunterladen