Planarisierung von Cluster Graphen Bihui Dai PG478 1 Übersicht Struktur eines Clustergraphs Motivation Zeichnung eines Clustergraphs Planarisierungsalgorithmus PG478 2 Struktur eines Clustergraphs PG478 3 Sub-Cluster V(E) Sub-Cluster V(E) Root E A 13 2 Root F B 4 F E 1 3 5 C 6 7 10 8 9 11 A D 12 1 2 ein zugrundliegende Ein ClusterGraph Graph C(G, T) C 3 6 7 B 8 9 4 D 5 13 10 11 ein Inklusionsbaum Der von V(E ) induzierte Teilgraph G(E) PG478 4 12 Motivation Viele Anwendungen erfordern das Zeichnen von Clustergraphen. Zum Beispiel: Netzwerke : lokale Netzwerke und Router in autonomen Systemen, autonome Systeme als Cluster Informationssysteme: Entity-Relationship Schema, anhand ähnlicher Eigenschaften in Cluster verpacken PG478 5 Zeichnung eines Clustergraphs PG478 6 Zeichnung Der Clustergraph C = ( G,T ) wird gezeichnet Punkte als Knoten Kurven als Kanten Regionen als Cluster PG478 7 c-planarer Clustergraph Hat es in der Zeichnung keine diese Situationen, dann ist der Clustergraph c-planar 1. Kantekreuzung 2. Die Kanten überqueren die Regionsgrenze mehr als einmal PG478 8 Zusammenhängender Clustergraph Der Zusammenhang spielt auch eine bedeutende Rolle in unserem Planarisierungsalgorithmus: Root In dem Planarisierungsalgorithmus ist gegeben für nicht c-planarer E F A B zusammenhängender Clustergraph. 2 4 1 3 6 7 5 Ein clustergraph ist cluster-zusammenhängend , wenn für jeden KnotenC von T, G() zusammenhängend ist. 10 8 9 11 D 12 Zusammenhängender Clustergraph Nicht zusammenhängender Clustergraph PG478 9 Planarisierung Sei ein nicht planarer Graph G = (V, E) gegeben, dann ist eine Planarisierung von G ein eingebetteter planarer Graph G = (V, E), mit: V = VD; D sind unechte Knoten, jeder repräsentiert eine Kreuzung zwischen zwei Kanten; Ein Kanten-Pfad von G ist ein Pfad mit Knoten u,d1,…,dk,v; (u ,v) ist eine Kante von E und di sind unechte Knoten. PG478 10 Sei ein nicht c-planarer Clustergraph C =(G, T) gegeben, dann ist eine Planarisierung von C ein c-planarer Clustergraph C =(G, T), mit: G ist eine Planarisierung von G; T ist ein Baum abgeleitet aus T, wobei ein Blatt für jeden unechten Knoten von G hinzugefügt wird. PG478 11 Planarisierungsalgorithmus PG478 12 Problem: Gegebenein zusammenhängender nicht c-planar Clustergraph, Wie realisiert man diese Planarisierung? Lösung: Ablauf: Der Planarisierungsalgorithmus wird eingeführt. Planarisierungsalgorithmus hat zwei Schritte 1. Maximal-cPlanar 1.1 Spannbaum 1.2 SimpleReinsertion 2. Wiedereinfügung PG478 13 Maximal-cPlanar In Maximal-cPlanar wird ein maximaler c-planarer Subgraph des gegeben Clustergraph berechnet. Idee: Anfang mit einem "einfachen" zusammenhängenden c-planaren Subgraph PG478 14 Die Berechnung besteht aus zwei Schritten: 1. Spannbaum Ein Subgraph wird berechnet, so dass sein zugrundeliegender Graph ein Spannbaum von G ist. 2. SimpleReinsertion Der maximale c-planare Subgraph wird berechnet dadurch, dass die Kanten, die die c-Planarität nicht verletzen, in Spannbaum eingefügt werden. PG478 15 Spannbaum Nun konstruieren wir den Spannbaum von Cluster: v2 F(V) V2 F(V1) v1 V1 F(V2 ) v3 F(V3 ) V3 v ST(V) PG478 16 SimpleReinsertion Idee: Einfügen einiger Kanten in schon konstruiertem Cluster-Spannbaum, die keine Kreuzungen verursachen können. PG478 17 wir führen jetzt SimpleReinsertion aus: Durchlaufe T von unten nach oben Überprüft für jeden Cluster v Füge eine Kante aus G(v)-ST(v) hinzu Dabei kann keine Kreuzung entstehen Danach: Für jede noch nicht eingefügte Kante e Überprüfe c-Planarität wenn Kante e eingefügt wird Füge Kante e ein, falls planar PG478 18 Wiedereinfügen der verworfenen Kanten Mit Cmp = ( Gmp, T) von C =( G, T) bezeichnen wir einen maximal cplanaren zusammenhängenden eingebetteten Sub-ClusterGraph. Problem: Die Kanten überqueren mehr als einmal die Regiongrenze Kanteneinfügen, wobei Cluster nicht c-planar bleiben PG478 19 Lösungsidee: (Schritt für Schritt) -- Es wird ein planarer eingebetteter dualer Graph G‘mp von Gmp konstruiert. --Der kürzeste Weg in G‘mp wird berechnet. --Die Restkanten werden wiedereingefügt . PG478 20 Die Konstruktion der dualer Graph G‘mp von Gmp Wir materialisieren die Grenze der Cluster v2 v1 Einfügen des kreuzungsknoten v1 PG478 Einfügen der Grenzkante Die Kante überquert die Regiongrenze 21 Die Berechnung des kürzeste Weg Die Ausrichtung und das Entfernen der Kanten von G‘mp . B D E C u v A A B C E D u PG478 v 22 Ende von Planarisierungsalgorithmus die Komplexität des ganzen Planarisierungsalgorithmus . Gegeben: n..... die Anzahl der Knoten von G m..... die Anzahl der Kante von G c.......die Anzahl der Clustern von T. .......die Anzahl der unechten Knoten Dann Der Algorithmus Maximal-cPlanar benötigt O(mn²); Der Algorithmus Wiedereinfügung benötigt O( m + m²c). Insgesamt: Der Planarisierungsalgorithmus berechnet eine Planarisierung von C in O( m + m²c + mn²). PG478 23 Vielen Dank für Ihre Aufmerksamkeit PG478 24