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