\chapter{Diskussion}
\label{sec:diskussion}
Die zentrale Hypothese dieser Arbeit war, dass es möglich ist, anhand eines agen\-ten\-ba\-sier\-ten
Si\-mu\-la\-ti\-ons\-mo\-dells auf Basis Genetischer Algorithmen und Lernender Klas\-si\-fi\-zie\-ren\-der Systeme den Nestbau von
Insekten abstrakt nachzubilden. Es wurde weiterhin angenommen, dass es möglich ist,
die Parameter des Modells während der Simulation so anzupassen,
dass sich die erzeugten Strukturen nach vorgegebenen Fit\-ness"=Kri\-te\-ri\-en immer weiter verbessern, bis ein Optimum
erreicht ist.
Diese Hypothesen konnten anhand der durchgeführten Simulationen nicht vollständig bestätigt werden.

\begin{figure}[!ht]
 \centering
 \includegraphics{bonabeau_bienenwabe}
 \caption[Wabe eines Bienenschwarms \citep{bonabeau:99}] %
  {Wabe eines Bienenschwarms mit drei konzentrischen Zellregionen \citep{bonabeau:99}}
 \label{bild:bienenwabe}
\end{figure}
Was gezeigt werden konnte ist, dass das Modell bei Wahl eines geeigneten Regelsatzes in der Lage ist, eine
zusammenhängende Wabenstruktur zu erzeugen, die keine Löcher aufweist.
Außerdem wurde in dieser Arbeit gezeigt, dass sich hierarchische Klassifikatoren zum Bau
komplexer Strukturen eignen.
Durch eine Kombination von zwei nacheinander benutzten Regelsätzen
konnte eine Ringstruktur erzeugt werden, die an die Strukturen erinnert, die
in den Waben der Honigbiene zu finden sind. Eine genauere Beschreibung der gewählten Vorgehensweise
ist in Abschnitt \ref{sec:simhierarch} zu finden.
In Abbildung \ref{bild:bienenwabe} ist eine Bienenwabe zu sehen,
die eine ringförmige Struktur aufweist. Im inneren Ring wird die Brut der Bienen aufgezogen und in den äußeren
Ringen Honig und Pollen gelagert. Im Vergleich mit Abbildung \ref{ringstruktur_simuliert} zeigt sich die
Ähnlichkeit der Ringstrukturen. Es ist kein einzelner Regelsatz denkbar, mit dem eine derartige Struktur erzeugt werden könnte.

Bei dem gewählten Fitness"=Kriterium der
Kompaktheit konnte jedoch in keinem der Simulationsläufe eine Verbesserung durch Anwendung eines
Genetischen Algorithmus beobachtet werden. Die durchschnittliche Fitness der Population blieb auch bei
häufiger Anwendung des Genetischen Algorithmus von stochastischen Abweichungen abgesehen mehr oder weniger konstant.
Die einzige beobachtete Verbesserung bei der Simulation mit unbeschränkter Populationsgröße (siehe Abschnitt \ref{sec:simergebnisse1})
ist vermutlich dadurch zu erklären, dass die Größe der Population im Laufe der Simulation auf das dreifache ihrer
Ausgangsgröße anwächst (von 20 auf 60) und dadurch stochastisch auch die Anzahl guter Lösungen in der Population.
Der Genetische Algorithmus konvergiert also nicht zu einem Optimum hin, wobei sich die Frage stellt, warum er das
nicht tut. Im Folgenden wird versucht, eine Antwort auf diese Frage zu geben, und diskutiert, wie Mechanismen
und Parameter verändert werden könnten, um bessere Ergebnisse zu erzielen.

In der vorliegenden Arbeit wurde ein Genetischer Algorithmus auf die Stärkewerte der Klassifikatoren angewendet, um
diese zu optimieren.
In den meisten Lernenden Klassifizierenden Systemen wird im Gegensatz dazu der Genetische Algorithmus
auf die Klassifikatoren selbst angewendet, das heißt es entstehen in solchen Systemen tatsächlich neue Regelsätze
(vgl. \citet{bernauer:07}),
während im hier implementierten Modell der Regelsatz selbst gleich bleibt und sich nur die Wahrscheinlichkeit
für die Anwendung der einzelnen Regeln ändert.
Es gilt zu prüfen, ob der Einsatz von
\emph{Reinforcement Learning} (siehe Abschnitt \ref{sec:reinf}) für die Rückpropagierung der globalen Fitness
auf die beteiligten Klassifikatoren geeignet ist, um bessere Ergebnisse zu erzielen.
Der Genetische Algorithmus könnte in Kombination damit wie oben beschrieben zur Erzeugung neuer Regelsätze
implementiert werden.

Auch in der Implementation der Fitnessfunktion sind Änderungen denkbar. Um eine Wabenstruktur zu erzeugen,
die den an reale Nester gestellten Ansprüchen nahekommt, müssten außer dem Kriterium der Kompaktheit noch
andere Parameter in die Berechnung der Fitness miteinfließen. Bei Betrachtung der erzeugten Strukturen fällt auf,
dass diese meist nicht konzentrisch um den Mittelpunkt gebaut sind. Fasst man den Mittelpunkt der Wabe als
Aufhängung an einem Ast (\emph{Pedikel}, siehe Abschnitt \ref{sec:nestbau}) auf, so müsste die Wabe
eine gewisse Symmetrie in Bezug auf diesen Mittelpunkt aufweisen,
um stabil zu sein. Ein wichtiger zusätzlicher Faktor für die Fitness wäre also die Symmetrie der Wabe.
Mit dem hier vorgestellten Modell wird es allerdings schwierig sein, eine symmetrische Wabe zu bauen.
Die Schwierigkeit, symmetrische Waben zu bauen, hängt mit der rein stochastischen Bewegung der Agenten
auf der Wabe zusammen. Ein neues Bewegungsmodell für
die Agenten, das zielgerichtete Bewegungen erlaubt, könnte dieses Problem lösen.
Die Agenten könnten sich zum Beispiel
spiralförmig vom Mittelpunkt ausgehend mit größer werdendem Radius über die Wabe bewegen, ähnlich wie dies
beim Bau von Spinnennetzen zu beobachten ist \citep{krink:97}. Auch die Schrittweite der Agenten, die im Modell
konstant ist, könnte verändert werden.
In der aktuellen Implementierung bewegen sich die Agenten pro Zeitschritt um eine festgelegte konstante
Schrittweite in eine zufällig ausgewählte Richtung. Da dieses vereinfachte Bewegungsmodell die Realität
nicht exakt abbildet, könnte es eine Verbesserung für das Simulationsmodell darstellen, die Bewegung
der Agenten komplexer zu gestalten. Eine mögliche Lösung könnte es sein, auch die Bewegungsrichtung
von Regeln abhängig zu machen, so dass sich die Agenten gezielt in die Richtung bewegen könnten, in der
noch gebaut werden muss. Man könnte dazu die Mege der möglichen Aktionen, die im Moment auf Bauaktionen
beschränkt sind, um Bewegungsaktionen erweitern. Jeder Agent würde dann in jedem Zeitschritt entweder
eine Bewegung ausführen oder eine neue Zelle bauen.

Eine weitere wichtige Frage ist, ob der Wahrnehmungsbereich der Agenten groß genug gewählt ist.
Die Regeln, nach denen die Agenten bauen,
berücksichtigen zur Zeit lediglich diejenigen Zellen,
die direkt an die potentielle Bauposition angrenzen.
Dieser Ansatz ist eventuell zu eng, um dem realen Vorbild
gerecht zu werden. Auch wenn ein einzelnes Insekt nicht in der Lage ist, eine komplexe Struktur
wie ein großes Wespennest im Ganzen zu erfassen, kann es den Zustand von Zellen berücksichtigen,
die weiter entfernt von ihm sind. Es ist daher davon auszugehen, dass der Zustand der Wabe an einem weiter
entfernten Ort durchaus Einfluss auf das Verhalten des einzelnen Individuums nimmt.
% und das implementierte Modell in der jetzigen Form nicht exakt genug ist.
Es wird also vorgeschlagen, das Modell in der Form zu erweitern, dass für weiter entfernte Zustände eigene
Regelsätze aufgestellt werden, die hierarchisch zueinander geordnet parallel aktiv sind.
Dabei haben Regelsätze für den Nahbereich Vorrang
vor Regelsätzen für den Fernbereich. Es entstände so eine weitere
Form der hierarchischen Ordnung von Klassifikatoren, in der die
Regelsätze nicht nacheinander aktiviert wären (wie im Beispiel in Abschnitt \ref{sec:simhierarch}),
sondern gleichzeitig.
 
Diese Idee der gleichzeitig aktiven hierarchisch geordneten Klassifikatoren lässt sich beliebig erweitern.
Man könnte für verschiedene Fitnesskriterien wie Größe, Symmetrie oder Stabilität der Wabe eigene Sätze
von Klassifikatoren einführen, die parallel aktiv sind und zwischen denen abhängig vom äußeren Systemzustand
umgeschaltet werden kann.
Bei diesen Ideen zur Erweiterung des Modells muss allerdings berücksichtigt werden, dass jeder zusätzliche
Parameter des Modells das Optimierungsproblem komplexer macht. Ein lernendes Sytem zu entwerfen, das
zu einem Optimum konvergiert, würde so noch schwieriger als im
aktuell implementierten Modell.

\begin{figure}[!ht]
 \centering
 \includegraphics[width=0.7\textwidth]{bonabeau_3d}
 \caption[Dreidimensionale Wabenstrukturen \citep{bonabeau:00}] %
  {Dreidimensionale Wabenstrukturen, erzeugt durch den Baulgorithmus von \citet{bonabeau:00}}
 \label{bild:bonabeau3d}
\end{figure}
Der Ansatz der im Rahmen dieser Arbeit realisierten Implementation orientiert sich
im Wesentlichen an den Arbeiten von Theraulaz und
Bonabeau über ihr Simulationsmodell zum Bau komplexer Strukturen durch Schwärme von Agenten
\citep{theraulaz:95, bonabeau:99, bonabeau:00}.
Es gibt jedoch einige entscheidende Unterschiede in der Implementation. Bei
\citet{bonabeau:99} wurde ein \emph{deterministischer} Algorithmus zur Regelauswahl der Agenten
realisiert. Bei deterministischen Algorithmen werden Zufallsentscheidungen ausgeschlossen,
daher wird bei \citet{bonabeau:99} eine passende Regel immer mit Wahrscheinlichkeit 1 angewendet.
Das impliziert auch, dass in dem dort implementierten Modell keine Regeln gleichzeitig zu einem bestimmten
Input passen
dürfen, weil der deterministische Algorithmus nicht dafür konzipiert ist, zwischen zwei
passenden Regeln zu entscheiden.
In der vorliegenden Arbeit wurde im Gegensatz dazu ein \emph{stochastischer}
Algorithmus zur Regelauswahl implementiert. Bei stochastischen Algorithmen werden zufällige
Auswahlkriterien berücksichtigt, so dass wie in Abschnitt \ref{sec:classification} beschrieben auch
mehrere Regeln auf einen Input passen können, da der stochastische Algorithmus in der Lage ist,
eine der passenden Regeln auszuwählen.
\citet{bonabeau:99} hatten ihr Modell dreidimensional erweitert, um
die Erzeugung komplexer Strukturen zu ermöglichen und dem Erscheinungsbild realer
Wespennester näher zu kommen als dies im zweidimensionalen Raum möglich wäre.
Einige Beispiele für so entstandene dreidimensionale Strukturen finden sich in Abbildung
\ref{bild:bonabeau3d}.

Es wird vorgeschlagen, das in dieser Arbeit vorgestellte zweidimensionale Modell in den
dreidimensionalen Raum zu erweitern.
Eine solche Erweiterung wäre mit relativ wenig
Aufwand möglich, indem man eine Anzahl von Ebenen übereinanderlegt.
Das wäre kein streng genommen dreidimensionales Modell, da der Agent weiterhin nur eine zweidimensionale Position
hätte und die Position in der dritten Dimension nur durch die Nummer der Ebene, in der sich der Agent befindet,
angegeben wäre. Für die hier betrachtete Anwendung wäre es jedoch vermutlich ausreichend, da auch \citet{bonabeau:00}
mit einem vergleichbaren Modell arbeiten.
Es wäre allerdings nötig, die Bauregeln der Agenten dahingehend zu erweitern,
dass auch die über und unter dem Agenten liegenden
Ebenen berücksichtigt werden. Außerdem müsste festgelegt werden, wann ein Agent in eine andere Ebene wechselt.

In der implementierten Regelverarbeitung werden Einzelaktionen betrachtet.
Wird ein Klassifikator aktiviert, so baut der entsprechende Agent genau eine neue Zelle.
Um komplexere Strukturen zu erzeugen, wird vorgeschlagen, mehrere Aktionen zu einer Sequenz zusammenzufassen,
die als Ganzes
aktiviert und bewertet wird.
Da Aktionen vorstellbar sind, die nur in Zusammenhang mit anderen Aktionen sinnvoll sind,
erscheint eine solche Erweiterung der Regeldefinitionen vielversprechend.
 
Eine weitere interessante Frage ist, inwieweit sich die von einem einzelnen Agenten gebauten Wabenstrukturen
von denen eines Schwarms von Agenten unterscheidet.
In der vorliegenden Arbeit wurden nur Simulationen mit einem einzelnen gleichzeitig aktiven Agenten vorgestellt.
Simulationen mit Schwärmen von mehreren Agenten würden unter Umständen zu anderen Ergebnissen führen.
Vor allem stellt sich bei Simulationen mit mehreren gleichzeitig bauenden Agenten die Frage, ob alle Agenten den gleichen
Regelsatz verwenden, oder ob sich die Regelsätze unterscheiden.
Eine Betrachtung der Natur würde
auf den ersten Blick nahe legen, für jeden Agenten einen individuellen Regelsatz zu definieren, da es in Kolonien sozialer Wespen
wie bei allen staatenbildenden Insekten verschiedene Kasten von Individuen gibt, die für verschiedene Aufgaben zuständig sind
(z.B. Arbeiterin, Drohne, Königin bei Bienen), und Angehörige verschiedener Kasten innerhalb eines Insektenstaates
offensichtlich unterschiedlichen Verhaltensregeln unterliegen \citep{wilson:71}.
Auf der anderen Seite können sich die Regeln, nach denen Insekten einer einzelnen Spezies agieren, auch nicht völlig grundsätzlich
voneinander unterscheiden, sonst würde man die entstehenden Strukturen nicht so eindeutig bestimmten Arten zuordnen können.
So haben die Nester der meisten Wespenarten charakteristische architektonische Eigenschaften, durch die sie sich
eindeutig einer bestimmten Spezies zuordnen lassen \citep{wenzel:89,matsuura:90}.
Auch hier wäre die Methode, Hierarchien von Klassifikatoren einzuführen, ein Lösungsansatz. Jeder Agent bekommt die gleichen
Regelsätze, wobei sich die hierarchische Ordnung der Regelsätze untereinander von Individuum zu Individuum unterscheidet.

% \chapter{Fazit}
Zusammenfassend lässt sich festhalten, dass mit dem vorliegenden Modell zum Wabenbau von Insekten ein Ansatz geschaffen wurde,
dessen weitere Verfolgung große Fortschritte verspricht.
Das vorgestellte Modell ist in der aktuellen Form
noch nicht komplex genug,
um die in der Natur zu beobachtenden Vorgänge abzubilden. Auch die Hypothese, dass durch Einsatz von
Genetischen Algorithmen und Lernenden Klassifizierenden Systemen eine Anpassung der Bauregeln an festgelegte
Fitnesskriterien erfolgen müsste, konnte nicht bestätigt werden.
Vermutlich liegt dies an der Art und Weise, wie das LCS und der
Genetische Algorithmus im Detail implementiert wurden. Hier wären noch Experimente mit unterschiedlichen Implementationen
nötig, um zu einem funktionierenden Modell zu kommen.
Vor allem der Einsatz hierarchisch geordneter Klassifikatoren stellt jedoch eine entscheidende
Neuerung
für diese Anwendung dar, deren Resultate sehr vielversprechend sind. Eine Weiterentwicklung dieses Konzepts wäre
möglicherweise in der Lage, viele der momentanen Einschränkungen des Modells zu beseitigen und Wabenstrukturen zu
bauen, die den Strukturen realer Wespennester ähnlicher sind als die, die bisher mit vergleichbaren Modellen
erzeugt wurden.

% Die in der vorliegenden Arbeit implementierte Regelverarbeitung orientiert sich eher am Konzept
% der \textit{Learning Classifier Systems (LCS)}, wie sie von \citet{holland:75} konzipiert und
% weiterentwickelt \citep{holland:86,holland:92} wurden.
% Die Idee der \textit{Genetischen Algorithmen (GAs)} war ursprünglich nur ein Teil des Konzeptes der LCS,
% die GAs haben es allerdings zu größerer Bekanntheit gebracht als die LCS \citep{sigaud:07}.