
Dissertation zur Erlangung des Doktorgrades der Fakultät für Angewandte Wissenschaften der Albert-Ludwigs-Universität Freiburg im Breisgau Potentials and Limitations of Visual Methods for the Exploration of Complex Data Structures Tobias Lauer Betreuer: Prof. Dr. Thomas Ottmann Dekan der Fakultät für Angewandte Wissenschaften: Prof. Dr. Bernhard Nebel 1. Gutachter: Prof. Dr. Thomas Ottmann, Universität Freiburg 2. Gutachter: Prof. Dr. Amitava Datta, University of Western Australia Tag der Disputation: 29.01.2007 Zusammenfassung Sowohl bei der Analyse von Algorithmen und Datenstrukturen als auch bei deren Vermittlung in der Lehre werden häufig Visualisierungen eingesetzt. Im letzteren Fall werden diese meist zur Verdeutlichung von Sachverhalten oder für Beispiele verwendet, wobei die Visualisierungen in der Regel von den Lehrenden vorbereitet und den Lernenden präsentiert werden. Handelt es sich bei den Visualisierungen um interaktive Animationen oder Simulationen, so können diese auch dazu verwendet werden, den Lernenden ein selbständiges Explorieren der Datenstrukturen und Algorithmen zu ermöglichen, bei dem sie den Input der Algorithmen frei wählen und damit die Ergebnisse manipulieren können. Auf diese Weise erhofft man sich ein tiefer gehendes Verständnis und damit einen höheren Lernerfolg. In ähnlicher Weise können interaktive Visualisierungen auch in der Forschung bei der Analyse komplexer Datenstrukturen bzw. den darauf ausgeführten Operationen hilfreich sein. Für eine formale mathematische Analyse ist in der Regel der richtige Ansatz entscheidend, für den eine gewisse Grundvorstellung bzw. eine Beweisidee notwendig ist. Hier kann eine geeignete visuelle Repräsentation der Datenstruktur sowie der Dynamik der zu analysierenden Algorithmen eine wertvolle Unterstützung sein. Diese Arbeit verfolgt zwei Ziele. Zunächst wird am Beispiel einer relativ neuen und weniger bekannten Datenstruktur, Priority Search Pennants, aufgezeigt, wie mit Hilfe von Visualisierungen Algorithmen für komplexere geometrische Suchanfragen auf Mengen von Punkte in der Ebene analysiert werden können. Priority Search Pennants ähneln den bekannteren Prioritätssuchbäumen und sind insbesondere deshalb interessant, weil in ihnen die in einer Prioritätswarteschlange sonst übliche Heap- Ordung nur in einer abgeschwächten Form gilt. Dadurch ist diese Struktur einfacher zu handhaben, wenn die Menge der verwalteten Elemente dynamisch ist, also Punkte eingefügt und entfernt werden und die darunter liegende Baumstruktur rebalanciert werden muss. Allerdings unterstützt die Datenstruktur bestimmte Bereichanfragen an die Punktmenge in einer schlechteren asymptotischen Laufzeit als Prioritätssuchbäume. Unklar war bisher, ob dies auch für andere typische Arten von Bereichsanfragen gilt. Wir analysieren die Komplexität solcher Anfragen, die in einem gegebenen rechteckigen Anfragebereich den am weitesten rechts, links bzw. unten liegenden Punkt ermitteln, und weisen nach, dass diese dieselbe asymptotische Laufzeit aufweisen wie in Prioritätssuchbäumen. Darüber hinaus wird in Abhängigkeit von der Höhe des unterliegenden Baums eine scharfe obere und untere Grenze für die Suchpfadlänge im worst case ermittelt. iv Zu den Anwendungen für Bereichsanfragen gehören unter anderem IP-Routertabellen, in denen beispielsweise für die Zieladresse eines ankommenden Pakets der Filter mit dem spezifischsten Adressbereich ermittelt werden muss, der die gegebene Adresse enthält. Für einen existierenden Lösungsansatz auf der Basis von Prioritätssuchbäumen zeigen wir, dass das Ersetzen dieser Bäume durch Priority Search Pennants oder eine noch einfachere Struktur, Min-augmented Range Trees, einen Performancegewinn sowohl für Update- als auch für die Lookup-Operationen bringt. Überdies weisen wir nach, dass das von uns untersuchte Routertabellendesign eine redundante Datenstruktur enthält, die bei geeigneter Modifikation entfallen kann und dadurch ca. 50% sowohl beim Speicherplatzbedarf als auch bei der Laufzeit für Update-Operationen einspart. Das zweite Ziel dieser Arbeit ist es zu ermitteln, wie Visualisierungen in der Lehre gewinnbringend eingesetzt werden können, und mögliche Lösungen bereitzustellen. Dazu werden zunächst die Ergebnisse einer empirischen Untersuchung präsentiert, die durchgeführt wurde, um den Einfluss des Grades der Interaktion der Lernenden mit einer Algorithmenvisualisierung auf den Lernerfolg zu bestimmen. Frühere Studien haben Anlass zu der Vermutung gegeben, dass Algorithmenanimationen nur dann eine signifikante Verbesserung des Lernerfolgs erzielen, wenn die Lernenden diese nicht nur passiv betrachten, sondern sich aktiv mit ihnen beschäftigen. Unsere Untersuchung reiht sich in einen von der ACM Special Interest Group on Computer Science Education (SIGCSE) aufgestellten Forschungsrahmen ein, der das Ziel hat, diesen Zusammenhang im Detail zu untersuchen. Entgegen der Hypothese zeigen unsere Ergebnisse keine signifikanten Unterschiede zwischen Lernenden, die eine Animation lediglich betrachteten, solchen, die interaktiv die nächste auszuführende Operation bzw. deren Input bestimmen konnten, sowie denjenigen, die die Algorithmenanimation aus einer Menge „atomarer“ Bausteine selbst visuell konstruieren mussten. Dagegen wurde ein signifikanter Einfluss der dem Test vorausgehenden Vorlesung sowie der allgemeinen Leistung der Studierenden festgestellt. Zudem gibt es Hinweise, dass das Vorhandensein der Option, eine Animation zurückzuspulen bzw. diese schrittweise zu betrachten, den Lernerfolg möglicherweise ebenfalls signifikant beeinflusst. Aufgrund unserer eigenen Ergebnisse sowie der Resultate weiterer in jüngster Zeit durchgeführter Studien kommen wir außerdem zu dem Schluss, dass einige Verfeinerungen am verwendeten Forschungsrahmen sinnvoll sind, um bei zukünftigen Experimenten differenziertere Aussagen zu ermöglichen. Als Hauptgrund dafür, dass Algorithmenanimationen trotz Interesse auch der Lehrenden in der Lehrpraxis eher wenig eingesetzt werden, gilt der Zeit- und Arbeitsaufwand, um geeignete Visualisierungssysteme zu finden, den Umgang damit zu lernen und passende Beispiele vorzubereiten. Wir schlagen daher ein „radikal einfaches“ Prinzip vor, das Lehrenden die Möglichkeit gibt, Visualisierungen von Datenstrukturen ad hoc während einer Präsentation zu erstellen und mit diesen zu interagieren. Da Vorlesungen inzwischen oft mit Hilfe stiftbasierter elektronischer Eingabemedien gehalten werden, wurde ein System entwickelt, welches Freihandskizzen als Instanzen von vorgegebenen Datenstrukturen interpretiert. Die dazugehörigen Operationen können mit stiftbasierten Kommandos (Gesten) aufgerufen werden, wobei ihre Ausführung animiert dargestellt wird. Der letzte Teil dieser Arbeit präsentiert die Architektur des Systems und erläutert die Funktionsweise anhand ausgewählter Beispiele. Abstract Visualizations can be used for the analysis of algorithms and data structures as well as for algorithm teaching and learning. In the latter case, they are usually employed for clarification or as instructive examples. In practice, it is most often the teacher who prepares the visualizations and presents them to the students in a class. If interactive animations or simulations are available, learners can also explore the data structures and algorithms on their own by selecting the input or the next operation to be carried out on a data structure. By seeing how an algorithm reacts to different input sets, a deeper understanding and hence, better learning, is expected. Similarly, visualization can be a helpful research tool for the analysis of complex data structures and the algorithms operating on them. For a formal mathematical analysis, the right approach to the problem is often the most decisive step. A suitable visual representation of the structure and the dynamics of the involved algorithms can provide important clues for the initial idea. This work has two main goals. First, using the example of a relatively recent data structure, the priority search pennant, we show how visualizations can support the analysis of algorithms for complex geometric range queries on sets of point in the two- dimensional plane. Priority search pennants are similar to the better-known priority search trees; the structure is interesting, since the rigid heap order known from many implementations of priority queues is weakened. As a result, priority search pennants are easier to maintain than priority search trees when the set of points is dynamic, i.e. when points are inserted and deleted and the underlying tree has to be rebalanced. This advantage comes at a cost: certain range queries have been shown to have a higher asymptotic complexity for priority search pennants than for priority search trees. However, it has been unclear whether this is also true for other frequently occurring types of range queries. We analyze the complexity of those operations which, for a given rectangular query range, return the leftmost, rightmost, or bottommost point of the set, respectively. It is shown that these operations enjoy the same asymptotic bounds in priority search pennants as they do in priority search trees. In addition, a sharp upper and lower bound for the actual worst case search path lengths of these queries is established in relation to the height of the underlying tree. As an application for range queries, we consider so-called most-specific range queries in IP router tables, where, e.g., for the destination address of an incoming packet the filter containing the most specific range containing
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages215 Page
-
File Size-