Ziel der geplanten Forschungsarbeit ist es, einerseits gezielte
Analysen zur Strukturabhängigkeit von Algorithmen sowie zu
Eigenschaften von Netzwerkmodellen für hierarchische
Graphdarstellungen durchzuführen. Andererseits sollen Algorithmen
und Datenstrukturen entwickelt werden, die eine effiziente
hierarchische Darstellung von großen zeitlich veränderbaren
Netzwerken ermöglichen.
Ausgehend von Untersuchungen zur Strukturabhängigkeit von Partitionierungstechniken, sowie Analysen von speziellen Graphmodellen
in Bezug auf verborgene Strukturen und Eigenschaften
sollen neue und effizientere Graphalgorithmen entstehen.
Dabei handelt es sich einerseits um Verbesserungen von herkömmlichen Methoden sowie
um speziell angepasste Neuentwicklungen. Ein Schwerpunkt in diesem Teil des
Arbeitsprogramms sind Partitionierungstechniken. Für diese sollen durch
parametrisierte Komplexitätsanalysen neue Erkenntnisse über das Laufzeitverhalten
und die Schwierigkeit gewonnen werden.
Im Bereich Visualisierung wird erforscht, wie Ergebnisse von alten
Graphpartitionierungen wiederverwendet werden können, um eine neue Partition für
veränderte Bewertungen bzw. modifizierte Graphen zu berechnen
(siehe Adaptive Partitionierung). Daraus entstehende Anforderungen werden
in eine Datenstruktur eingearbeitet, die somit eine Grundlage für
effiziente Berechnungen darstellt und ferner das Speichern
von hierarchischen Darstellungen des Graphen ermöglicht. Darauf aufbauend werden nun Verfahren und Algorithmen
entwickelt, um eine dynamische Visualisierung großer hierarchischer Graphen
zu ermöglichen. Besonderer Wert wird dabei auf die dynamische Komponente
gelegt, d.h. der Betrachter erhält eine Folge von untereinander stimmigen
Darstellungen.
Arbeitsprogramm
Nachfolgend werden die einzelnen Teile des Arbeitsprogramms erläutert.
Analyse zur Strukturabhängigkeit von Partitionierungstechniken
Wesentliche Grundvoraussetzung für eine gezielte Verbesserung
bzw. Weiterentwicklung von Partitionierungstechniken ist das detaillierte
Verstehen der Funktionsweise und des Verhaltens eines Algorithmus bei
speziellen Eigenschaften der Eingabedaten. Daher soll in diesem
Arbeitspunkts analysiert werden, wie stark sich welche Grapheigenschaften
auf die Ergebnisse von bekannten Partitionierungstechniken auswirken. Ein
besonderes Augenmerk wird dabei auf die Wechselwirkung der verschiedenen
Einflussfaktoren gerichtet.
Ziel ist es, die Güte von Partitionierungsalgorithmen in
Abhängigkeit von Eingabegraphen zu bestimmen. Diese Beobachtungen
werden für die Abschätzung von verbesserten Schranken
verwendet. Ferner wird versucht, durch Verknüpfung der sich
abzeichnenden Vorzüge verschiedener Techniken ein neues Verfahren zu
entwickeln. Dieses Verfahren soll dann für spezielle Graphklassen
(als Ziel stehen hier die Small World Graphen) ein besseres Ergebnis als
herkömmliche Verfahren liefern.
Zu den zu untersuchenden Eigenschaften zählen Zusammenhang, Dichte
und Verteilung der Knotengrade. Diese Auswahl, die lediglich eine
Anfangsmenge darstellt, ergibt sich aus dem aktuellen Stand der Forschung.
Diese Werte stehen entweder für erfolgversprechende Graphklassen oder
dienen als Grundlage für relevante Partitionierungstechniken.
Erkennung von speziellen Strukturen / Eigenschaften
Wie bereits in [Stand der
Forschung] dargestellt, ist es von großem Interesse, geeignete
Graphmodelle bzw. Graphklassen zu analysieren. In diesem
Projekt soll dies im Speziellen für die Klasse der Small World
Graphen geschehen. Ferner werden bei entsprechenden Ergebnissen neue
Modelle definiert, falls dadurch ermöglicht wird, detailliertere
Aussagen zu treffen.
Die zu analysierenden Eigenschaften werden weitestgehend in Anlehnung an
die Resultate aus dem Bereich
Strukturabhängigkeit
gewählt werden. Besonderes Augenmerk wird auf jedem Fall folgenden
Schwerpunkten gewidmet sein:
spektrale Eigenschaften - Da sich immer mehr Algorithmen
spektraler Techniken bedienen, ist es unabdingbar, möglichst
genaue Klassifikationen der Modelle zu erlangen. Gedacht ist hierbei
an eine Aussage über die Größe der Eigenwerte sowie
die geometrische Verteilung der zugehörigen Eigenvektoren. Die
Analyse wird sich sowohl auf die Adjazenz- als auch die
Laplacian-Matrix beziehen.
globale Betrachtungen - Grapheigenschaften wie sie in
[Eigenschaften von
Graphklassen] beschrieben sind, werden unter diesem Gesichtspunkt
analysiert. Der Schwerpunkt wird dabei auf globale Aussagen
gelegt. Hierbei soll speziell der Querbezug zu entsprechenden
Komplexitätsaussagen für Algorithmen hergestellt
werden. Ziel ist es, solche Partitionierungsmethoden zu finden, die
besonders gut für Small World Graphen geeignet sind.
lokale Betrachtungen (Nachbarschaftsbeziehungen) - Im Gegensatz
zum vorherigen Punkt sollen hier die lokalen Abhängigkeiten
untersucht werden. D.h. von Interesse ist, wie einzelne Knoten ihre
Nachbarschaft wahrnehmen. Aus diesen Aussagen können dann lokale
Algorithmen abgeleitet werden. Diese Algorithmen arbeiten nur auf
einem gewissen Teilbereich des Graphen und sind daher besonders in
sehr großen Graphen geeignet, da dort ein Zugriff auf alle Daten
nur schwer oder gar nicht durchzuführen ist.
Strukturabhängige Algorithmenoptimierung
In enger Anlehnung an die Ergebnisse aus
[Strukturabhängigkeit]
und [Eigenschaften] soll
nun an Graphalgorithmen gearbeitet werden. Der Schwerpunkt liegt
sowohl auf der Analyse als auch der Neu- und Weiterentwicklung von
Algorithmen. Die Analysen beziehen sich nun nicht nur auf reine
Partitionierungsprobleme sondern sind weitreichender und
beinhalten Problemstellungen, wie sie beispielsweise aus dem
Bereich der Kommunikationsnetze bekannt sind. Neben der rein
algorithmischen Herausforderung können diese Ergebnisse auch
für die Entwicklung von neuen Datenstrukturen für
hierarchische Graphen sowie bei der Visualisierung solcher
Strukturen (siehe [Datenstrukturen] und
[Dynamische
Visualisierung]) zum Tragen kommen.
Die Untersuchungen lassen sich in wie folgt aufspalten:
NP-schwere Probleme - Unter diesem Punkt sollen neben dem
Partitionierungproblem weiter schwere Fragestellungen
betrachtet werden. Hierzu zählen unter anderem: Max-Cut, Färbbarkeit, Cliquenprobem und
Vertex-Cover [GJ79].
zentrale / dezentrale Algorithmen - An dieser Stelle werden
direkt die Ergebnisse aus
[Eigenschaften]
eingesetzt. Die Erkenntnisse von Eigenschaften der Graphen
sollen verwendet werden um z.B. Algorithmen für folgende
Fragestellungen zu finden:
Nachrichtenzustellung
(unter Zuhilfenahme von kürzesten Pfaden);
Ausfallsicherheit
(durch Verwendung von Informationen über den Zusammenhang);
Gütegarantien bei stark frequentierten Netzen
(mittels Analysen über die
Anzahl von kantendisjunkten Wegen in speziellen Graphen).
Ein Beispiel für einen derartigen dezentralen Algorithmus wird in
[Kle00] gegeben.
Parametrisierte Komplexitätsanalysen für Partitionierungsprobleme
Wie bereits in
[Partitionierung]
beschrieben, sind Partitionierungsprobleme in der Regel
NP-vollständig, zumindest jene, die für die
Partitionierung von großen Netzwerken in Frage kommen. Aus
diesem Grund handelt es sich bei den hierfür eingesetzten
Algorithmen nicht um exakte Lösungen, sondern um
Approximationen.
Mit Hilfe von parametrisierter Komplexität
[DFS99] soll eine neue Betrachtung
der Partitionierungsprobleme versucht werden. Grundgedanke der
parametrisierten Komplexität ist es, diejenigen Faktoren
eines Problems herauszustellen, die für die Schwierigkeit des
Problems verantwortlich sind. Besondere Anwendung findet diese
Betrachtungsweise im Bereich der NP-harte Probleme. Durch
Angabe von parametrisierten Schranken kann eine
aussagekräftiger Aussage über die Laufzeit bei
entsprechender Parameterwahl getroffen werden.
Dieser Ansatz verspricht zwar keinen polynomiellen Algorithmus,
bietet jedoch zwei entscheidende Vorteile. Einerseits kann man,
wenn man sich in der Wahl des für die Komplexität
ausschlaggebenden Parameters auf einen kleinen Wertebereich
beschränkt, immer noch relativ schnelle Algorithmen
erhalten. Durch Einschränkung des Parameters besteht
beispielsweise die Möglichkeit, dass der Algorithmus selbst
für große Netzwerke eine akzeptable Laufzeit
besitzt. Andererseits konnten bereits in der Vergangenheit
derartige Informationen eingesetzt werden, um neue Aussagen
über die Schwierigkeit der Probleme zu finden.
Um eine bessere Einstufung für die Schwierigkeit der Probleme
zu finden, wurde im Bereich der parametrisierten
Komplexitätsanalyse eine eigene Hierarchie eingeführt.
Mit ihr sind Resultate zur so genannten parametric
intractability erzielt worden. Unter Zuhilfenahme dieser
Techniken hat man nun einen neuen Ansatz entwickelt, um Aussagen
über die Approximierbarkeit von Problemen zu treffen. In
diesem Projekt soll nun derselbe Ansatz verwendet werden, um
entsprechende Ergebnisse für das Problem der
Graphpartitionierung zu erhalten.
Adaptive Partitionierung von variablen Datensätzen
In diesem Teil des Arbeitsprogramms geht es um die Frage, wie die
Partitionierung eines Graphen variabel in der Wahl der
Bewertungsfunktion und stabil gegenüber Modifikationen des
Graphen gestaltet werden kann.
Ziel dieses Vorgehens ist es, zu einem gegebenen
Partitionierungsverfahren und einer gegebenen Partition dynamisch
auf Änderungen der Bewertungsfunktion reagieren zu
können. Diese Reaktion soll möglichst wenig Rechenarbeit
nach sich ziehen. D.h. es soll möglichst viel Information
aus der alten Berechnung der Partitionierung wiederverwendet
werden. Analog soll dies für eine Änderung der Gewichte
in den Graphdaten durchführbar sein.
Idealerweise würde das Ergebnis eine Umformung einer gegebenen
Partitionierung bedeuten. Eine Möglichkeit, dies zu bewerkstelligen,
besteht darin, neben der Partition zusätzliche Informationen aus dem
Partitionierungsprozeß zu speichern, um diese bei der Umformung
wiederzuverwenden. Es ist jedoch sehr wahrscheinlich, dass dies nicht oder
nur für sehr spezielle Algorithmen und Graphen ohne zusätzlichen
Nachberechnungen möglich ist. Bessere Aussagen kann man jedoch
erwarten, wenn man zusätzliche Berechnungen erlaubt, um eine
approximierte Partition zu erhalten. In solchen Fällen ist das
erhoffte Ergebnis eine qualitative Aussagen über die Güte der
neuen Partitionierung. Ziel sollte es sein, eine möglichst allgemeine
Aussage für solche Modifikationen zu erhalten. D.h. abhängig von
der Änderung der Bewertungsfunktion sollen Schranken für die
Abweichung der approximierten Lösung von einer optimalen Umformung
angegeben werden. Idealerweise würden Aussagen gefunden, die sich auf
einzelne Teilgraphen beziehen. Dies bedeutet, dass die Qualität
Partitionierung des restlichen Graphen in der Approximation und in der
optimalen Lösung identisch sind. Diese Information könnte dann
dazu verwendet werden, bei besonders schlechten Approximationsergebnissen
die Partitionierung nur für einige Teile des Graphen lokal
nachzuberechnen.
An diese Stelle kommt der zweite Teil der Untersuchungen zum Tragen. Dieser
besteht darin, zu erforschen, wie eine lokale Teilberechnung des
Partitionierungsproblems durchgeführt werden kann. Sicherlich
genügt es nicht, eine feste Knotenmenge anzugeben und für den
durch sie induzierten Teilgraphen die Berechnung zu starten. Vielmehr muss
an dieser Stelle die Nachbarschaft der Knoten einbezogen werden. Erstes
Ziel ist daher ein Verfahren, das ausgehend von einer Knotenmenge eine
möglichst gute Neuberechnung erzielt, ohne die berücksichtigte
Menge der Knoten unnötig zu vergrößern. Eine wichtige Rolle
spielen hierbei sowohl die Partitionierungsmethoden als auch die
Bewertungsfunktion. Nicht vernachlässigbar sind ebenfalls die
Parameter, die in die Bewertungsfunktion eingehen. Es bleibt also zu
untersuchen, wie beispielsweise die Größe oder Schwankungen der
Kantengewichte für das Ergebnis des Prozesses ausschlaggebend
sind.
Ähnlich wie bei der Modifikation der Bewertungsfunktion und der
Gewichte, soll ebenfalls eine Aussage über eine topologische
Änderung des Graphen gefunden werden. Um dies durchzuführen ist
es wichtig, ein Maß für die topologische Änderung zu
definieren. Die Notwendigkeit hierfür kann man leicht an folgendem
Beispiel sehen. Das Einfügen einer zusätzlichen Kante in einem
Kreis kann diesen entweder in zwei gleichgroße Teile zerteilen
(große topologische Änderung) oder aber nur eine geringe lokale
Änderung bewirken, wenn sie zwischen zwei Knoten eingefügt wird,
die über nur wenige Zwischenknoten verbunden sind.
Aus den Ergebnissen zur Untersuchung der adaptiven Partitionierung von
Graphen kann man einige Anforderungen an Datenstrukturen ableiten, die zur
Speicherung von hierarchischen Daten verwendet werden (siehe
[Datenstrukturen]). Auch eine
Modifikation von Partitionierungstechniken in der Art und Weise, dass
lokale Neuberechnungen nur in geringem Maße notwendig sind, ist
denkbar.
Flexible Datenstrukturen zur Speicherung / Visualisierung von hierarchischen Daten
Bei der Arbeit mit hierarchischen Graphdaten ist es oft
wünschenswert, dass man diese auch nach dem Anlegen modifizieren
kann. Neben dem reinen Hinzufügen und Entfernen von Knoten und Kanten
ist in diesem Fall auch ein Migrieren von Knoten von einer
Organisationseinheit des Hierarchiebaums in eine andere Einheit
wichtig. Solche Modifikationen bedeuten nicht nur ein reines Verschieben,
sondern können ebenfalls eine Vielzahl von weiteren
Verwaltungsaufgaben nach sich ziehen. So müssen zum Beispiel
Referenzen für Nachbarschaftsbeziehungen innerhalb der Einheiten,
Relationen wie über- oder untergeordnete Ebenen und eine Vielzahl
vergleichbarer Beziehungen angepasst werden.
Diese erwähnten Modifikationen implizieren nur Änderungen
einzelner Graphenobjekte. Ein weiterer wichtiger Punkt sind mögliche
Änderungen der Hierarchie selbst. Hierzu zählen das
Zusammenfassen bzw. Aufspalten von Einheiten oder ganzen Ebenen. Eine rein
iterative Lösung dieses Problems durch zahlreiche Einzelschritte
scheint hier nicht akzeptabel. An dieser Stelle soll mit einem globaleren
Verständnis an das Problem herangegangen und eine umfassende
Lösung gefunden werden. Ziel dieses Arbeitspunktes ist unter anderem
eine effiziente Umsetzung dieser Forderungen.
Neben all diesen Anforderungen an die Datenstruktur zur Simulation von
Operationen kann es ferner wichtig sein, zusätzliche Informationen zu
speichern. Einige Beispiele hierfür wurden bereits in [Adaptive Partitionierung]
genannt. Sind durch Änderungen in der Hierarchie auch
Veränderungen in den Zusatzinformationen nötig, so kommt Bedarf
an zusätzlichen weitgreifenden Überlegungen auf. Somit sind in
der zu Datenstruktur ebenfalls effiziente Möglichkeiten zur
Speicherung und globalen Anpassung von Zusatzinformationen zu
integrieren.
Ein weiterer Punkt, der in die Gestaltung der Datenstruktur
einfließen wird, kommt aus dem Bereich der
Visualisierung. Um
Navigation durch die Hierarchie zu ermöglichen, ist es beispielsweise
wichtig, schnell den aktuellen Fokus in der hierarchischen Darstellung
wechseln (horizontale und vertikale Navigation), sowie die
Größe des Fokus ändern zu können (Zoom in/out).
All diese Anforderungen lassen erkennen, dass es sich bei der Entwicklung
einer geeigneten Datenstruktur um eine umfangreiche und wichtige Arbeit
handelt. Sie bildet daher einen der Schwerpunkte dieses Antrags.
Visualisierung von modifizierbaren hierarchischen Strukturen
Dieser Teil der Arbeit beschäftigt sich mit einer benutzergerechten
Visualisierung von sich dynamisch ändernden hierarchischen
Strukturen. Unter Verwendung einer
geeigneten Datenstruktur soll es
möglich sein, den zugrundeliegenden Graphen oder die hierarchische
Anordnung so zu verändern, dass ein Betrachter diese Modifikationen
mitverfolgen kann bzw. durch Änderungen nicht den Überblick
verliert (``preserving of the mental map''). Es ist hierbei prinzipiell
zwischen zwei verschiedenen Modifikationen zu unterscheiden. Einmal die,
die der Betrachter selbst vornimmt, und jene, die automatisch von
``außen'' vorgenommen werden. Bei automatischen Modifikationen muss
der Betrachter stärker geführt, also evtl. auf die
Veränderungen hingewiesen werden.
Finden Veränderungen im aktuellen View des Betrachters statt, so
dürfen diese nicht sprunghaft geschehen, sondern müssen einen
kontinuierlichen Verlauf haben. Bei einer benutzerbedingten Modifikation
wird in den meisten Fällen lediglich eine Anpassung innerhalb des
Views notwendig sein. Es sollten dabei zwei Varianten optional
wählbar sein, einerseits eine durch den Benutzer hervorgerufene
Durchführung und andererseits eine automatische Korrektur des
Layouts. In beiden Fällen sollte dabei ein möglichst
gleichmäßiges Wandern der Knoten erfolgen. Bei Modifikationen
außerhalb des Views kann auf diese sanften Übergänge
verzichtet werden. Bei größeren Veränderungen muss der
Betrachter jedoch durch eine Warnung bzw. Darstellung in einem weiteren
Fenster in Kenntnis gesetzt werden. Eine geeignete Benachrichtigung
(Färbung des entsprechenden Teilgraphen in einem
Überblickfenster, Einblendung des Teilgraphen während der
Modifikation, Wechsel bzw. Zoom out vom aktuellen View) soll vom
Betrachter wählbar sein, bzw. je nach Umfang der Modifikation
automatisch angestoßen werden.
Neben diesen allgemeinen Anforderungen ergeben sich einzelne
Spezialfälle, für die eine geeignete Lösung gefunden werden
muss. Es handelt sich hierbei um jene Problemfälle, die bereits bei
der Konstruktion der hierarchischen
Datenstruktur aufgetreten sind. Der Vollständigkeit halber seien
sie nochmals exemplarisch erwähnt: Aufspalten/Hinzufügen von
Einheiten auf einer Hierarchiestufe, Modifikationen über verschiedene
Hierarchieebenen, schnelles Zoom in/out, horizontales/vertikales
Navigieren.
Eine weitere Eigenschaft, die für die Visualisierung angestrebt ist,
besteht darin, einzelne Abstraktionsebenen optisch zu
verschmelzen. D.h. es soll möglich sein, einen Knoten durch den
entsprechenden Teilgraphen auf der darunterliegenden Ebene zu
ersetzen. Solche Verschmelzungen können sich auch über mehrere
Ebenen erstrecken.
Ebenfalls angestrebt ist eine betrachterdefinierte Einstellung der
verschiedenen Optionen. Somit soll gewährleistet sein, dass der
Betrachter die hierarchische Darstellung derart nutzen kann, dass er
individuell die Informationen hervorheben kann, die er gerade
benötigt.
Ob eine Simulation von Veränderungen am Graphen innerhalb eines
gewissen Zeitraums als eine Art "Movie" innerhalb des
Antragszeitraums umsetzbar ist, hängt von den Ergebnissen in der
Entwicklung ab, wird jedoch durchaus in Betracht gezogen.
Hanjo Täubig
Last modified: Thu Aug 29 13:29:48 CEST 2002