Der Vertex-Exchange Graph Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse Planaritätstest für Multi-Level Graphen Marina Schwacke Dirk Ribbrock Martin Böhmer Dennis Treder Nils Kriege Sophia Kardung TU Dortmund - LS 11 - Graphenzeichnen Dortmund, 5. Februar 2008 Planaritätstest für Multi-Level Graphen 1/17 Der Vertex-Exchange Graph Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse Definition Vertex-Exchange Graph Planaritätstest für Multi-Level Graphen 2/17 Der Vertex-Exchange Graph Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse Definition Vertex-Exchange Graph • Knotenmenge: V 0 = V1 × V1 ∪ V2 × V2 ∪ ... ∪ Vp × Vp Planaritätstest für Multi-Level Graphen 2/17 Der Vertex-Exchange Graph Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse Definition Vertex-Exchange Graph • Knotenmenge: V 0 = V1 × V1 ∪ V2 × V2 ∪ ... ∪ Vp × Vp • Kantenmenge: 2 Knoten v = (v1 , v2 ) und w = (w1 , w2 ) ∈ V 0 sind mit einer Kanten verbunden, wenn • v1 und v2 (bzw. w1 und w2 ) auf dem selben Level im Ursprungsgraph liegen und Planaritätstest für Multi-Level Graphen 2/17 Der Vertex-Exchange Graph Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse Definition Vertex-Exchange Graph • Knotenmenge: V 0 = V1 × V1 ∪ V2 × V2 ∪ ... ∪ Vp × Vp • Kantenmenge: 2 Knoten v = (v1 , v2 ) und w = (w1 , w2 ) ∈ V 0 sind mit einer Kanten verbunden, wenn • v1 und v2 (bzw. w1 und w2 ) auf dem selben Level im Ursprungsgraph liegen und • entweder die beiden Kanten (v1 , w1 ) und (v2 , w2 ) oder die beiden Kanten (v1 , w1 ) und (v2 , w2 ) im Urspungsgraph existieren. Planaritätstest für Multi-Level Graphen 2/17 Der Vertex-Exchange Graph Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse Definition Vertex-Exchange Graph • Knotenmenge: V 0 = V1 × V1 ∪ V2 × V2 ∪ ... ∪ Vp × Vp • Kantenmenge: 2 Knoten v = (v1 , v2 ) und w = (w1 , w2 ) ∈ V 0 sind mit einer Kanten verbunden, wenn • v1 und v2 (bzw. w1 und w2 ) auf dem selben Level im Ursprungsgraph liegen und • entweder die beiden Kanten (v1 , w1 ) und (v2 , w2 ) oder die beiden Kanten (v1 , w1 ) und (v2 , w2 ) im Urspungsgraph existieren. • Eine Kante bekommt das Label ”+”, falls sich die Kanten im Ursprungsgraph in entsprechender Reihenfolge kreuzen, sonst das Label ”−”. Planaritätstest für Multi-Level Graphen 2/17 Der Vertex-Exchange Graph Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse Beispiel Graph Planaritätstest für Multi-Level Graphen 3/17 Der Vertex-Exchange Graph Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse Beispiel Vertex-Exchange Graph Planaritätstest für Multi-Level Graphen 4/17 Der Vertex-Exchange Graph Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse Eigenschaften des Vertex-Exchange Graphen Definition Ein Kreis C im Vertex-Exchange Graph heißt ungerade-gelabelt, falls der Subgraph von C im Ursprungsgraph eine ungerade Anzahl an Kreuzungen hat. Sonst heißt er gerade-gelabelt. Theorem Ein Graph G ist genau dann level-planar wenn sein Vertex-Exchange Graph keine ungerade-gelabelten Kreise besitzt. Planaritätstest für Multi-Level Graphen 5/17 Der Vertex-Exchange Graph Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse Implementierung - Vertex Exchange Graph Preprocessing 1 berechne Hierarchie (LongestPathRanking) 2 erstelle einfache Hierarchie (Einfügen von Dummyknoten auf langen Kanten) Eingabe für VertexExchangeGraph: Graph, rank Planaritätstest für Multi-Level Graphen 6/17 Der Vertex-Exchange Graph Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse Erstellen des VEG Erstellen der Knotenmenge Für i ∈ {1, ..., n} Für alle Paare {u, v } ∈ Vi erzeuge Knoten Erstellen der Kantenmenge Für i ∈ {1, ..., n − 1} Für alle Paare {e = (u, s), f = (v , t)} ∈ Ei Falls u 6= v und s 6= t erzeuge Kante g = ({u, v }, {s, t}) Falls index(u) < index(v ) und index(s) < index(t) label(g ) = + sonst label(g ) = − Planaritätstest für Multi-Level Graphen 7/17 Der Vertex-Exchange Graph Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse Algorithmus - Planaritätstest • Eigenes Modul, ähnlich PlanarModule bool VEGPlanarityModule:: isPlanar(VertexExchangeGraph veg) • DFS-Durchlauf durch jede Zusammenhangskomponente (ZHK) des VEG • Knoten werden erneut gelabelt • Suche nach Widersprüchen zu erstem Label • VEG ungerichtet • Start der DFS mit beliebigem Knoten der ZHK • Startknoten bekommt beliebiges Label Planaritätstest für Multi-Level Graphen 8/17 Der Vertex-Exchange Graph Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse DFS-Durchlauf b ∈ minus, plus, unknown Planaritätstest für Multi-Level Graphen 9/17 Der Vertex-Exchange Graph Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse Ergebnisse • Anzahl Graphen: 1277 • Summe aller Level: 13011 • Durchschnittliche Anzahl Level pro Graph: 10.19 • Summe aller Knoten: 41032 • Durschnittliche Anzahl Knoten pro Graph: 32.13 • Summe aller Kanten: 57578 • Durschnittliche Anzahl Kanten pro Graph: 45.09 • Maximaler Grad: 7.36 ; Minimaler Grad: 0.9 • Anzahl planarer Graphen: 845 • Anzahl levelplanarer Graphen: 567 Planaritätstest für Multi-Level Graphen 10/17 Der Vertex-Exchange Graph Planaritätstest für Multi-Level Graphen Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse 11/17 Der Vertex-Exchange Graph Planaritätstest für Multi-Level Graphen Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse 12/17 Der Vertex-Exchange Graph Planaritätstest für Multi-Level Graphen Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse 13/17 Der Vertex-Exchange Graph Planaritätstest für Multi-Level Graphen Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse 14/17 Der Vertex-Exchange Graph Planaritätstest für Multi-Level Graphen Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse 15/17 Der Vertex-Exchange Graph Planaritätstest für Multi-Level Graphen Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse 16/17 Der Vertex-Exchange Graph Implementierung Planaritätstest für Multi-Level Graphen Ergebnisse Ende Vielen Dank für die Aufmerksamkeit Planaritätstest für Multi-Level Graphen 17/17