Kapitel 5 Zusammenfassung und Ausblick Dieser Arbeit liegt ein Algorithmus zugrunde, der für eine gegebene planare Darstellung eines Graphen mit maximalem Knotengrad vier eine regionenerhaltende orthogonale Zeichnung produziert. Diese orthogonale Gittereinbettung weist die minimale Anzahl von Knicken auf [Tam87]. Für viele Anwendungen zählen Orthogonalität und eine geringe Anzahl von Knicken zu den angestrebten ästhetischen Kriterien, die an eine geometrische Darstellung eines planaren Graphen gestellt werden. Weitere Kriterien wie Minimalität der Kantenlängen und des Platzverbrauchs werden durch diesen Algorithmus ebenfalls positiv beeinflußt. Das Verfahren basiert auf einer Transformation der Eingabe in ein Netzwerk, aus dem dann durch Berechnung des minimalen Kostenflusses eine Erweiterung der planaren Darstellung abgeleitet wird. Diese sogenannte orthogonale Repräsentation stellt nun alle Informationen bereit, die nötig sind, um die Form einer orthogonalen Zeichnung des Eingabegraphen zu charakterisieren. Eine solche Darstellung enthält für jede Kante einen Binärstring, der Aufschluß über die Anordnung der – und –Knicke entlang der Kante gibt, und einen Winkel, der die Lage zur Nachfolgerkante bestimmt. Der Aufbau des Netzwerks geschieht dabei folgendermaßen: Jedem Knoten und jeder Region des Eingabegraphen entspricht ein Knoten im Netzwerk. Ein Fluß ist nur zwischen Knoten und ihren adjazenten Regionen sowie zwischen benachbarten Regionen möglich. Die Analogie zwischen Netzwerk und orthogonaler Re präsentation basiert auf der Tatsache, daß jede Flußeinheit einem Winkel von entspricht. Ferner modellieren die Flußerhaltungsregeln an den Knoten genau die Korrektheit einer solchen Darstellung; es wird gewährleistet, daß die Winkelsum beträgt und daß jede Region die Form eines rekme um die Knoten genau tilinearen Polygons erhält. Jeder Knoten produziert“ nun abhängig von seinem ” Grad eine gewisse Anzahl von –Winkeln, die eventuell von den Regionen ver” braucht“ werden und andernfalls Kosten verursachen, indem sie an andere Regionen weitergegeben werden. Diese Kosten entsprechen den Knicken in der Zeichnung. 69 70 KAPITEL 5. ZUSAMMENFASSUNG UND AUSBLICK Um die orthogonale Darstellung zu dimensionieren, werden den Kanten konsistente, ganzzahlige Längen zugewiesen. Dazu wird die orthogonale Darstellung normalisiert, d. h. in eine Repräsentation transformiert, in der alle innere Regionen die Form eines Rechtecks haben und die Form der äußeren Region durch das Komplement eines Rechtecks gegeben ist. Dies geschieht durch das Einfügen künstlicher Knoten und Kanten. Den Kanten der normalisierten Darstellung können nun mit Hilfe zweier weiterer Netzwerke Längen zugewiesen werden; die Zuweisung für horizontale und für vertikale Kantensegmente geschieht dabei getrennt. Die Flußerhaltungsregeln an den Knoten gewährleisten, daß gegenüberliegende Seiten einer Region gleichlang gezeichnet werden; so erhält man eine dimensionierte normalisierte Repräsentation. Jetzt können die zusätzlichen Knoten und Kanten wieder entfernt werden und der Eingabegraph kann gezeichnet werden. Die Laufzeit des Algorithmus wird durch die Zeit zur Lösung der minimalen Kostenflußprobleme dominiert; alle anderen Schritte sind in Linearzeit durchführbar. Mit dem Augmentierungsalgorithmus [Law76] erreicht man so eine Gesamtlaufzeit von , wobei die Anzahl der Knoten im eingegebenen Graphen bezeichnet. Der Platzverbrauch der produzierten Zeichnung ist , allerdings werden durch die Normalisierung viele Kanten länger als eigentlich nötig gezeichnet. Es wird eine Möglichkeit angegeben, wie der Platzverbrauch der Zeichnung verringert werden kann: Dazu wird die Längenzuweisung durch mehrfache Berechnung eines Linearen Programms vorgenommen, das anfänglich nur Nebenbedingungen erhält, die sich direkt aus der orthogonalen Repräsentation ergeben. Werden die Bedingungen für eine korrekte orthogonale Gittereinbettung verletzt, so kommen neue Nebenbedingungen hinzu, die dieses Problem lokal beheben. Dieses Verfahren zur Längenzuweisung unterscheidet sich von allen bisher bekannten Methoden. Nach einer Einleitung in die Thematik (Kapitel 1) und der Angabe der mathematischen Grundlagen in Kapitel 2 beschäftigt sich das dritte Kapitel mit den einzelnen Schritten des zitierten Verfahrens. Da dieses jedoch auf die Teilklasse der planaren Graphen mit Maximalknotengrad vier (4–planare Graphen) eingeschränkt ist und in vielen Anwendungen allgemeine planare oder planarisierte Graphen gezeichnet werden sollen, enthält Kapitel 4 eine Erweiterung des Algorithmus auf planare Graphen mit unbeschränktem Knotengrad. Es liegt nahe, den bekannten Algorithmus zu erweitern. Die Tatsache, daß Gittereinbettungen nur für 4–planare Graphen möglich sind, motiviert die Formulierung einer neuen Anforderung an die produzierte Zeichnung; dies wird durch die Definiton der quasi–orthogonalen Gittereinbettung erreicht. Soweit es möglich ist, bleiben die Kriterien einer reinen orthogonalen Einbettung bestehen: Knoten und Knicke müssen weiterhin auf Gitterpunkte plaziert werden und Kanten dürfen nur lokal diagonal verlaufen. Insbesondere müssen alle 4–planaren Untergraphen orthogonal eingebettet sein. Um eine solche quasi–orthogonale Einbettung zu erreichen, wird ein allgemeiner 71 planarer Graph in einen 4–planaren Graphen transformiert, indem jeder Knoten mit durch eine Region mit adjazenten Knoten ersetzt wird. Diese Region wird Käfig genannt, da ihre Ausmaße die spätere Plazierung des ersetzten Knotens begrenzen. Der stellvertretende 4–planare Graph kann nun gezeichnet werden, wobei gewährleistet wird, daß die Käfige die Form eines Rechtecks annehmen. Dies wird durch eine geeignete Beschränkung der Kapazitäten des Netzwerks erreicht, so daß innerhalb von Regionen weder –Winkel noch Knicke entstehen können. Es wird gezeigt, daß die Modifikation des Netzwerks nicht die Konsistenz der entsprechenden orthogonalen Darstellung verletzt: Der minimale Kostenfluß beschreibt eine knickminimale Darstellung des transformierten Graphen, unter der Nebenbedingung, daß alle Käfige die Form eines Rechtecks haben. Nachdem eine Gittereinbettung des 4–planaren Graphen gefunden wurde, kann die Transformation wieder rückgängig gemacht werden. Ein ursprünglicher Knoten mit Grad ! wird dazu auf einen Gitterpunkt innerhalb seines entsprechenden Käfigs plaziert. Dieser Punkt wird so gewählt, daß eine maximale Anzahl von Kanten ohne Knick zu diesem Knoten führt. Anschließend wird wieder mit seinen ehemaligen Nachbarn verbunden, und eine quasi–orthogonale Einbettung ist realisiert. Anhang A dieser Diplomarbeit enthält die vollständig dokumentierte Implementierung des beschriebenen Verfahrens im cweb–Format. Hierbei erfolgt die Längenzuweisung wahlweise mit der Netzwerkmethode oder mit einem Linearen Programm. Der Algorithmus ist in zwei Graphvisualisierungssysteme integriert und ist Teil der Beta–Version der am Max–Planck–Institut für Informatik entwickelten Bibliothek effizienter Algorithmen und Datenstrukturen (LEDA). Anhang B enthält einige Beispielzeichnungen, die mit dem Algorithmus erstellt wurden. Dabei zeigt sich, daß das Verfahren besonders gut funktioniert, wenn der entsprechende Graph nicht von Knoten mit hohem Grad dominiert wird. Es werden Beispiele aus der Praxis angegeben (Zustandsgraphen aus dem Bereich der Automatisierungstechnik), die diese Bedingungen erfüllen und deren produzierte Zeichnungen gegenüber den von Hand gezeichneten Originalen viele Vorteile aufweisen. Andere Beispiele zeigen aber das Hauptproblem der Methode auf: Es ist mit dem verfolgten Ansatz nicht möglich, die Käfige in ihrer Dimension zu begrenzen. Dies hat zur Folge, daß die Winkel an den Knoten mit hohem Grad sehr klein werden können, was die Zeichnung unübersichtlich macht. Dieses Problem kann aber teilweise behoben werden, indem für das Routing der Kanten innerhalb der Käfige bessere Strategien verwendet werden. Ferner hat sich während der Implementierung des Verfahrens herausgestellt, daß der Längenzuweisung eine große Bedeutung zukommt. Ideal wäre es, die dabei auftretenden zweidimensionalen Kompaktierungsprobleme gleichberechtigt zur Knickminimierung zu betrachten, so daß sich diese Optimierungsziele gegenseitig beeinflussen können. Die ästhetischen Kriterien, die durch die Definition der quasi–orthogonalen Gittereinbettung impliziert werden, sind durchaus anstrebenswert. Wenn es gelingt, zusätzlich zu den geforderten Bedingungen, den kleinsten Winkel der Zeichnung 72 KAPITEL 5. ZUSAMMENFASSUNG UND AUSBLICK zu maximieren, so weisen die produzierten Zeichnungen ein hohes Maß an Übersichtlichkeit und Klarheit auf. Das beschriebene Verfahren eignet sich zudem besonders gut zum Zeichnen von nicht–planaren Graphen, die mit Planarisierungsverfahren behandelt wurden. Die nötigen Kreuzungen werden durch künstliche Knoten repräsentiert; da diese stets den Grad vier haben, werden sie in der produzierten Zeichnung auch als Kreuz gezeichnet, was bei anderen Verfahren nicht gegeben ist (s. dazu z. B. Abb. B.10 auf S. 115). Ferner ist es möglich, den vorgestellten Algorithmus auszubauen, so daß auch Beschriftungsprobleme in die Berechnung der einzelnen Schritte integriert werden können.