5 Visualisierung Evolutionärer Algorithmen

Previous PageTable Of ContentsNext Page

Evolutionäre Algorithmen erreichen ein komplexes Verhalten durch eine Anzahl von Verfahren, die in ihren algorithmischen Grundlagen einfach strukturiert sind. Dabei werden in einem sich immer wiederholenden Ablauf große Mengen an Daten produziert. Die in diesen Verfahren enthaltenen Operationen und die produzierten Daten geben dem Betrachter keine oder nur geringe Einsicht in das Verhalten, die Funktion bzw. die Auswirkungen des Evolutionären Algorithmus, sie tragen für sich genommen nur wenig zum Verständnis bei. Erst durch eine Auswahl und Zusammenfassung der Daten und eine Abstraktion der Einzelschritte ist es möglich, das Verhalten der Algorithmen zu verstehen bzw. zu vergleichen und die Ergebnisse ihrer Anwendung zu interpretieren. Die vielen kleinen Einzelteile, die jedes für sich wenig bis nichts bedeuten, müssen zu einem großen Ganzen zusammengefügt werden, um ein aussagefähiges und interpretierbares Gebilde zu entwickeln. Eines der leistungsfähigsten Werkzeuge dafür ist die Visualisierung dieser Daten.

Die Visualisierung läßt sich in zwei große Bereiche unterteilen: Programm-Visualisierung und Algorithmen-Visualisierung ([Col95]). Bei der Programm-Visualisierung werden die grundlegenden Bausteine eines Programms, der Programmcode oder die Programmdaten dargestellt. Bei der Algorithmen-Visualisierung geht es um die Darstellung des Algorithmus des Programms, seiner grundlegenden Funktion. Die im folgenden vorgestellten Methoden und Verfahren können dem Bereich der Algorithmen-Visualisierung zugeordnet werden.

Für ein Verständnis der Funktion und des Effekts Evolutionärer Algorithmen ist es für den Benutzer wichtig, Werkzeuge in die Hand zu bekommen, die schnell und effektiv alle verfügbaren und berechenbaren Informationen vor ihm ausbreiten und erklären bzw. sichtbar machen. Im weiteren sollen die Daten und Werte ausgesucht, untersucht und dargestellt werden, die einen guten Überblick über die Funktion und Arbeitsweise des Evolutionären Algorithmus geben. Gleichzeitig sollen dadurch mit vertretbarem Aufwand Aussagen über bestimmte Meßwerte oder Eigenschaften eines Individuums, einer Generation, eines Laufs oder einer Konfiguration gemacht werden können. Die dabei vorgestellten Methoden und Verfahren können relativ einfach auf eine konkrete Anwendung übertragen und eingesetzt werden.

Viele der praktischen Anwendungen Evolutionärer Algorithmen benutzen bei der Visualisierung nur die Darstellung des Verlaufs der Zielfunktionswerte vom besten und ,,mittleren" Individuum über den Verlauf der Generationen, meist als Fitneßkurve bezeichnet. Dies ist jedoch nur ein kleiner Ausschnitt aus der großen Datenvielfalt, die im Verlauf der Berechnungen zur Verfügung stehen. Zudem erhält man mit dieser Darstellung kaum einen Einblick in die Arbeitsweise des Evolutionären Algorithmus.

In diesem Kapitel werden Methoden und Techniken zur übersichtlichen und effektiven visuellen Darstellung des Verlaufs und der Ergebnisse eines Evolutionären Algorithmus sowie zum Vergleich verschiedener Evolutionärer Algorithmen untereinander genannt, systematisiert, erläutert und bewertet. Weiterhin werden Möglichkeiten der Visualisierung von Eigenschaften der Zielfunktion untersucht und bewertet. Besonderer Wert wird auf eine umfassende Darstellung verschiedener Techniken für die verschiedensten Anwendungsfälle und deren Bewertung für die praktische Anwendung gelegt. Aus der Literatur bekannte Methoden und Systematisierungen werden untersucht, in ihrer Anwendbarkeit bewertet und in das entwickelte Schema eingeordnet.

Die für die konkrete Visualisierung verwendeten Werkzeuge hängen stark vom Einsatzgebiet der Evolutionären Algorithmen ab. Von Collins [Col95] wurde eine Untersuchung einiger Software-Visualisierungs-Werkzeuge vorgenommen und diese wurden auf ihre Anwendbarkeit für verschiedene Aufgaben untersucht. Dabei ging es aber nur um die allgemeine Anwendbarkeit; Hinweise für Evolutionäre Algorithmen wurden nicht gegeben. Die in diesem Kapitel verwendeten Techniken sollten sich mit den verschiedensten Werkzeugen realisieren lassen.

Der erste Abschnitt nimmt eine Klassifizierung von Visualisierungstechniken vor, die in den nachfolgenden Abschnitten in ihrer Anwendung und Darstellung detailliert behandelt werden. Der zweite Abschnitt beschäftigt sich mit generationsübergreifenden Visualisierungsmöglichkeiten. Im dritten Abschnitt wird auf Verfahren eingegangen, die ein Abbild der aktuellen Population geben. Der vierte Abschnitt zeigt Verfahren zur Visualisierung allgemeiner Eigenschaften der Zielfunktion. Der fünfte Abschnitt stellt ein Verfahren zur Visualisierung hochdimensionaler Daten und deren Anwendung auf Evolutionäre Algorithmen vor. Im sechsten Abschnitt wird auf Fragen der Protokollierung von Daten und Ergebnissen eingegangen, die mit der Visualisierung in engem Zusammenhang stehen.


Previous PageTable Of ContentsList Of FiguresList Of TablesNext Page

Diese Dokument ist Teil der Dissertation von Hartmut Pohlheim "Entwicklung und systemtechnische Anwendung Evolutionärer Algorithmen". This document is part of the .
The is not free.
© Hartmut Pohlheim, All Rights Reserved, (hartmut@pohlheim.com).