Upload
truongduong
View
213
Download
0
Embed Size (px)
Citation preview
Der Vertex-Exchange Graph Implementierung Planaritatstest fur Multi-Level Graphen Ergebnisse
Planaritatstest fur Multi-Level Graphen
Marina Schwacke Martin Bohmer Dennis TrederDirk Ribbrock Nils Kriege Sophia Kardung
TU Dortmund - LS 11 - Graphenzeichnen
Dortmund, 5. Februar 2008
Planaritatstest fur Multi-Level Graphen 1/17
Der Vertex-Exchange Graph Implementierung Planaritatstest fur Multi-Level Graphen Ergebnisse
Definition Vertex-Exchange Graph
• Knotenmenge: V ′ = V1 × V1 ∪ V2 × V2 ∪ ... ∪ Vp × Vp
• Kantenmenge: 2 Knoten v = (v1, v2) und w = (w1, w2) ∈ V ′
sind mit einer Kanten verbunden, wenn
• v1 und v2 (bzw. w1 und w2) auf dem selben Level imUrsprungsgraph liegen und
• entweder die beiden Kanten (v1, w1) und (v2, w2) oder diebeiden Kanten (v1, w1) und (v2, w2) im Urspungsgraphexistieren.
• Eine Kante bekommt das Label ”+”, falls sich die Kanten imUrsprungsgraph in entsprechender Reihenfolge kreuzen,sonst das Label ”−”.
Planaritatstest fur Multi-Level Graphen 2/17
Der Vertex-Exchange Graph Implementierung Planaritatstest fur Multi-Level Graphen Ergebnisse
Definition Vertex-Exchange Graph
• Knotenmenge: V ′ = V1 × V1 ∪ V2 × V2 ∪ ... ∪ Vp × Vp
• Kantenmenge: 2 Knoten v = (v1, v2) und w = (w1, w2) ∈ V ′
sind mit einer Kanten verbunden, wenn
• v1 und v2 (bzw. w1 und w2) auf dem selben Level imUrsprungsgraph liegen und
• entweder die beiden Kanten (v1, w1) und (v2, w2) oder diebeiden Kanten (v1, w1) und (v2, w2) im Urspungsgraphexistieren.
• Eine Kante bekommt das Label ”+”, falls sich die Kanten imUrsprungsgraph in entsprechender Reihenfolge kreuzen,sonst das Label ”−”.
Planaritatstest fur Multi-Level Graphen 2/17
Der Vertex-Exchange Graph Implementierung Planaritatstest fur Multi-Level Graphen Ergebnisse
Definition Vertex-Exchange Graph
• Knotenmenge: V ′ = V1 × V1 ∪ V2 × V2 ∪ ... ∪ Vp × Vp
• Kantenmenge: 2 Knoten v = (v1, v2) und w = (w1, w2) ∈ V ′
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 diebeiden Kanten (v1, w1) und (v2, w2) im Urspungsgraphexistieren.
• Eine Kante bekommt das Label ”+”, falls sich die Kanten imUrsprungsgraph in entsprechender Reihenfolge kreuzen,sonst das Label ”−”.
Planaritatstest fur Multi-Level Graphen 2/17
Der Vertex-Exchange Graph Implementierung Planaritatstest fur Multi-Level Graphen Ergebnisse
Definition Vertex-Exchange Graph
• Knotenmenge: V ′ = V1 × V1 ∪ V2 × V2 ∪ ... ∪ Vp × Vp
• Kantenmenge: 2 Knoten v = (v1, v2) und w = (w1, w2) ∈ V ′
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 Urspungsgraphexistieren.
• Eine Kante bekommt das Label ”+”, falls sich die Kanten imUrsprungsgraph in entsprechender Reihenfolge kreuzen,sonst das Label ”−”.
Planaritatstest fur Multi-Level Graphen 2/17
Der Vertex-Exchange Graph Implementierung Planaritatstest fur Multi-Level Graphen Ergebnisse
Definition Vertex-Exchange Graph
• Knotenmenge: V ′ = V1 × V1 ∪ V2 × V2 ∪ ... ∪ Vp × Vp
• Kantenmenge: 2 Knoten v = (v1, v2) und w = (w1, w2) ∈ V ′
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 Urspungsgraphexistieren.
• Eine Kante bekommt das Label ”+”, falls sich die Kanten imUrsprungsgraph in entsprechender Reihenfolge kreuzen,sonst das Label ”−”.
Planaritatstest fur Multi-Level Graphen 2/17
Der Vertex-Exchange Graph Implementierung Planaritatstest fur Multi-Level Graphen Ergebnisse
Beispiel Graph
Planaritatstest fur Multi-Level Graphen 3/17
Der Vertex-Exchange Graph Implementierung Planaritatstest fur Multi-Level Graphen Ergebnisse
Beispiel Vertex-Exchange Graph
Planaritatstest fur Multi-Level Graphen 4/17
Der Vertex-Exchange Graph Implementierung Planaritatstest fur 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 Anzahlan Kreuzungen hat. Sonst heißt er gerade-gelabelt.
Theorem
Ein Graph G ist genau dann level-planar wenn seinVertex-Exchange Graph keine ungerade-gelabelten Kreise besitzt.
Planaritatstest fur Multi-Level Graphen 5/17
Der Vertex-Exchange Graph Implementierung Planaritatstest fur Multi-Level Graphen Ergebnisse
Implementierung - Vertex Exchange Graph
Preprocessing
1 berechne Hierarchie (LongestPathRanking)
2 erstelle einfache Hierarchie (Einfugen von Dummyknoten auflangen Kanten)
Eingabe fur VertexExchangeGraph: Graph, rank
Planaritatstest fur Multi-Level Graphen 6/17
Der Vertex-Exchange Graph Implementierung Planaritatstest fur Multi-Level Graphen Ergebnisse
Erstellen des VEG
Erstellen der Knotenmenge
Fur i ∈ {1, ..., n}Fur alle Paare {u, v} ∈ Vi erzeuge Knoten
Erstellen der Kantenmenge
Fur i ∈ {1, ..., n − 1}Fur alle Paare {e = (u, s), f = (v , t)} ∈ Ei
Falls u 6= v und s 6= terzeuge Kante g = ({u, v}, {s, t})Falls index(u) < index(v) und index(s) < index(t)
label(g) = +sonst label(g) = −
Planaritatstest fur Multi-Level Graphen 7/17
Der Vertex-Exchange Graph Implementierung Planaritatstest fur Multi-Level Graphen Ergebnisse
Algorithmus - Planaritatstest
• Eigenes Modul, ahnlich PlanarModulebool VEGPlanarityModule:: isPlanar(VertexExchangeGraphveg)
• DFS-Durchlauf durch jede Zusammenhangskomponente(ZHK) des VEG
• Knoten werden erneut gelabelt• Suche nach Widerspruchen zu erstem Label
• VEG ungerichtet• Start der DFS mit beliebigem Knoten der ZHK• Startknoten bekommt beliebiges Label
Planaritatstest fur Multi-Level Graphen 8/17
Der Vertex-Exchange Graph Implementierung Planaritatstest fur Multi-Level Graphen Ergebnisse
DFS-Durchlauf
b ∈ minus, plus, unknown
Planaritatstest fur Multi-Level Graphen 9/17
Der Vertex-Exchange Graph Implementierung Planaritatstest fur 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
Planaritatstest fur Multi-Level Graphen 10/17
Der Vertex-Exchange Graph Implementierung Planaritatstest fur Multi-Level Graphen Ergebnisse
Planaritatstest fur Multi-Level Graphen 11/17
Der Vertex-Exchange Graph Implementierung Planaritatstest fur Multi-Level Graphen Ergebnisse
Planaritatstest fur Multi-Level Graphen 12/17
Der Vertex-Exchange Graph Implementierung Planaritatstest fur Multi-Level Graphen Ergebnisse
Planaritatstest fur Multi-Level Graphen 13/17
Der Vertex-Exchange Graph Implementierung Planaritatstest fur Multi-Level Graphen Ergebnisse
Planaritatstest fur Multi-Level Graphen 14/17
Der Vertex-Exchange Graph Implementierung Planaritatstest fur Multi-Level Graphen Ergebnisse
Planaritatstest fur Multi-Level Graphen 15/17
Der Vertex-Exchange Graph Implementierung Planaritatstest fur Multi-Level Graphen Ergebnisse
Planaritatstest fur Multi-Level Graphen 16/17