Die Evolution von Teamwork in einem Schwarm - Uni

Werbung
Diplomarbeit zum Thema
Die Evolution von Kooperation in einem
Team von autonomen Agenten mit
Plastischen Neuronalen Netzen
zur Erlangung des akademischen Grades
Diplom-Informatiker
vorgelegt dem
Fachbereich Mathematik und Informatik der Philipps-Universität
Marburg
Sebastian Risi
29. Juni 2007
Betreuer:
Prof. Dr. Manfred Sommer
Dipl. Physiker David Kämpf
Zweitgutachter:
Prof. Dr. Bernd Freisleben
Danksagung
Mein besonderer Dank gilt Prof. Dr. Manfred Sommer und seinem Mitarbeiter Dipl.
Physiker David Kämpf für die sehr gute Betreuung und Unterstützung der Arbeit
seitens der Universität.
Ich danke meiner Familie, die immer für mich da war und ohne deren Rückhalt
mein Studium nicht möglich gewesen wäre.
Bedanken möchte ich mich auch bei meinen Freunden insbesondere meiner WG,
die mir stets mit Rat und Tat zur Seite standen.
i
ii
Inhaltsverzeichnis
Danksagung
i
1 Einleitung
3
2 Agentensysteme
2.1 Eigenschaften eines Agenten
2.2 Agentenumgebungen . . . .
2.3 Agentenprogramme . . . . .
2.4 Lernende Agenten . . . . .
2.5 Multi-Agenten-Systeme . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
9
10
12
13
3 Verfahren des Maschinellen Lernens und neuronale Techniken
17
3.1 Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Künstliche Neuronale Netze . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.2 Backpropagation . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3 Reinforcement Lernen . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3.1 Value-Iteration . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3.2 Modellfreier Ansatz - Q-Learning . . . . . . . . . . . . . . . . 25
3.4 Evolutionäre Algorithmen . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4.1 Die Struktur Evolutionärer Algorithmen . . . . . . . . . . . . 27
3.4.2 Implementierungen Evolutionärer Algorithmen . . . . . . . . 33
3.4.3 Evolutionäre Künstliche Neuronale Netze . . . . . . . . . . . 35
3.5 Vorteile der Evolutionären Algorithmen gegenüber ReinforcementLernen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4 Evolutionäre Autonome Agenten
4.1 Einführung . . . . . . . . . . . . . . . . . .
4.2 Ablauf . . . . . . . . . . . . . . . . . . . . .
4.3 Fitnessfunktionen . . . . . . . . . . . . . . .
4.4 Evolution in Einzel-Agenten-Umgebungen .
4.4.1 Evolution einfacher Navigation . . .
4.4.2 Evolution eines Ladeverhaltens . . .
4.4.3 Evolution eines Müllsammelroboters
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
41
41
43
43
45
45
46
48
iii
Inhaltsverzeichnis
4.5
Evolution von kooperativem Verhalten in Multiagenten-Systemen . .
4.5.1 Team Learning . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5.2 Concurrent Learning . . . . . . . . . . . . . . . . . . . . . . .
5 Evolution und Lernen
5.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Lernen kann den evolutionären Prozess verbessern . . . . . . .
5.2.1 Der Baldwin Effekt . . . . . . . . . . . . . . . . . . . . .
5.3 Lernen kann den evolutionären Prozess behindern . . . . . . . .
5.3.1 Der Hiding Effekt . . . . . . . . . . . . . . . . . . . . . .
5.4 Plastische Neuronale Netze . . . . . . . . . . . . . . . . . . . .
5.4.1 Lernen einer sequentiellen Aufgabe . . . . . . . . . . . .
5.5 Verleich von adaptiven und nicht-adaptiven Neuronalen Netzen
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
50
51
59
61
61
62
62
63
63
64
67
68
6 Der Adaptive Role Allocation Mechanismus
6.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Konzept des Adaptive Role Allocation Mechanismus . . . . . . . . .
6.2.1 Ablauf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3 Implementierung für Capture the Flag . . . . . . . . . . . . . . . . .
6.3.1 Evolution des Offence-Moduls . . . . . . . . . . . . . . . . . .
6.3.2 Evolution des Defence-Moduls . . . . . . . . . . . . . . . . .
6.3.3 Das Selector-Modul . . . . . . . . . . . . . . . . . . . . . . .
6.3.4 Experimente und Diskussion der Ergebnisse . . . . . . . . . .
6.4 Ein existierender Ansatz - Der zentralistische TEAM-Mechanismus .
6.5 Vergleich von TEAM und dem Adaptive Role Allocation Mechanismus
71
71
73
76
77
79
82
84
85
95
97
7 Zusammenfassung und Ausblick
99
Eidesstattliche Erklärung
8 Literaturverzeichnis
v
vii
1
Inhaltsverzeichnis
2
Kapitel 1
Einleitung
Motivation
In den letzten Jahren ist das Paradigma der Evolutionären Agenten zu einem sehr
aktiven Forschungsfeld geworden. Ziel dieses evolutionären Ansatzes ist die automatisierte Generierung von Kontrollsystemen für autonome Agenten. Sie ist inspiriert
durch das Darwinsche Prinzip des „Survival of the Fittest". Die Agenten werden
als künstliche Lebensformen betrachtet, die ihre eigenen Fähigkeiten in Interaktion
mit der Umwelt entwickeln. Die Evolutionären Algorithmen finden dabei meistens
bemerkenswert simple und sehr effiziente Strategien. Im Gegensatz zu überwachten
Lernverfahren muss nicht für jede Situation die korrekte Aktion a priori bekannt
sein. Dabei haben sich besonders die Neuronalen Netze als Kontrollstrukturen für
autonome Agenten bewährt, da sie lernfähig sind und verschiedene Formen der evolutionären Adaption erlauben.
Bei den meisten Implementierungen werden nur die Gewichte der Neuronalen
Netze evolviert, können sich aber zur Laufzeit des Individuums selbst nicht mehr
ändern. Evolution ist ein Prozess, der sich über mehrere Generation erstreckt und
normalerweise relativ viel Zeit in Anspruch nimmt. Für Veränderungen, die während
der Lebensspanne eines Individuums auftreten, werden andere Verfahren benötigt,
die sich kurzfristig an unvorhersehbare Veränderungen in der Umgebung anpassen
können. Hierfür bieten sich im Besonderen die Plastischen Neuronalen Netze an. Sie
zeichnen sich dadurch aus, dass nicht die Gewichte im evolutionären Prozess bestimmt werden, sondern nur Modifikationsregeln und Lernstärken für die einzelnen
Neuronen. Diese Lernregeln modifizieren die synaptischen Gewichte während der
Lebenszeit des Individuums. Dies führt nicht nur zu einer kompakteren genetischen
Repräsentation, sondern auch zu Individuen, die sich unterschiedlichen Veränderungen in ihrer Umgebung anpassen können.
Bis zu dem heutigen Zeitpunkt konzentrieren sich die meisten der wissenschaftlichen Veröffentlichungen allerdings auf Einzel-Agenten-Systeme. Erst seit kurzer
Zeit werden zunehmend Anwendungen untersucht, in denen mehrere Agenten miteinander interagieren müssen. Eine Gruppe von flexiblen und anpassungsfähigen
Individuen kann eine gegebene Aufgabenstellung effizient teilen und verteilt erle-
3
Kapitel 1 Einleitung
digen. Die dynamische Zuweisung von unterschiedlichen Rollen ist eine essenzielle
Voraussetzung vieler dieser Multi-Agenten-Systeme. Sie erlaubt den Agenten ihr
Verhalten aufgrund von Umweltveränderungen und Aktionen der anderen Agenten
zu ändern, um die Leistung des gesamten Teams zu verbessern. Diese Applikationen
stellen neue Herausforderungen an das Design der benutzten Kontrollstrukturen der
einzelnen Agenten. Dabei zeigt sich besonders der dezentralisierte Ansatz als vielversprechende Organisationsform. Viele sozial lebende Insekten zeigen erstaunliche
Formen komplexer Organisation und Kooperation. Im Gegensatz zu zentralisierten
hierarchischen Systemen, benutzen sie einen komplett dezentralisierten Mechanismus zur Arbeitsteilung. Eine dynamische und effiziente Rollenzuweisung resultiert
alleine aufgrund der Interaktion der einzelnen Individuen. Der dezentrale Ansatz ist
dabei wesentlich robuster, skalierbarer und flexibler als vergleichare hierarchische
Systeme.
Eine weitere wünschenswerte Eigenschaft von Multi-Agenten-Systemen ist Homogenität. In diesen Systemen hat jeder Agent das selbe Design und Kontrollsystem.
Homogene Teams haben den Vorteil, dass sie besser mit dem Verlust von einzelnen Teammitgliedern zurechtkommen, da jeder Agent prinzipiel alle Teilaufgaben
lösen kann. Der Enwicklungsprozess wird vereinfacht, da nur ein Kontrollsystem zur
Steuerung aller Agenten evolviert werden muss. Dieser Ansatz hat allerdings den
Nachteil, dass keine Unterschiede in der Morphologie oder den Kontrollstrukturen
der Agenten zur Rollenzuweisung ausgenutzt werden können.
In der Literatur existieren nur wenige Ansätze, die eine dezentrale, dynamische Zuweisung und Koordination der unterschiedlichen Rollen in einem homogenen Team von Agenten ermöglichen. Die bisher erschienenen Veröffentlichungen,
besonders im Bereich der Schwarmintelligenz, konzentrieren sich meistens auf das
emergierende Verhalten einer Gruppe von Agenten, deren Verhaltensweisen durch
sehr einfache Regeln beschrieben werden. Die Evolution von Verhaltensstrategien
für homogene Teams hat bisher nur Lösungen für relativ einfache Agentenprobleme
geliefert, die eine situationsabhängige Rollenzuteilung nicht unbedingt erfordern.
In komplexen Domänen, die sowohl das adaptive Verhalten des einzelnen Agenten
als auch der Gruppe als Ganzem erfordern, exisiteren bisher keine befriedigenden
Ansätze.
Zielsetzung
Im Rahmen dieser Arbeit wird ein Verfahren zur dezentralen Rollenzuweisung in
einem homogenen Team von autonomen Agenten entwickelt. Der Adaptive Role Allocation Mechanismus erlaubt eine dynamische Rollenzuweisung alleine durch die
Kommunikation der einzelnen Teammitglieder. Grundlegend für ein adaptives Verhalten der Individuen und des gesamten Teams, ist eine modularen Verwendung der
4
Plastischen Neuronalen Netze. Dieser Ansatz erlaubt ein wesentlich schnelleres und
effizienteres evolutionäres Training als vergleichbare einzelne Neuronale Netze.
Die Funktionalität des Verfahrens wird anhand einer Implementierung für das
Capture The Flag Spiels unter Beweis gestellt. Capture the flag ist ein strategisches
Mutlti-Agenten Spiel, welches sowohl die Kooperation, als auch effiziente Arbeitsteilung und dynamische Rollenzuweisung der einzelen Agenten erfordert. Die evolvierten Teams werden gegen Teams mit handkodierten Strategien getestet wobei
die Skalierbarkeit sowie Robustheit des Systems untersucht wird. Neben einer detailierten Beschreibung, der für diese Arbeit implementierten Methoden, wird eine
genaue neuro-ethologische Analyse der resultierenden Plastischen Neuronalen Netzen gegeben. Sie soll Aufschluss über den grundlegenden evolvierten Mechanismen
der dynamischen Rollenzuweisung geben.
Weiteres Vorgehen
Grundlegend für diese Arbeit ist der Einsatz von intelligenten Agenten und MultiAgenten-Systemen deren Beschreibung und Definition in Abschnitt 2 gegeben wird.
In Kapitel 3 soll der Leser einen Einblick in die Funktionsweise von Künstlichen
Neuronalen Netzen und die in dieser Arbeit verwendeten Verfahren des Maschinellen
Lernens bekommen. Dabei werden im Besonderen die Klasse der Evolutionären
Algorithmen genauer betrachtet, da sie die Grundlage für das Training der Agenten
in den weiteren Kapiteln darstellen.
Kapitel 4 beschäftigt sich mit dem Paradigma der Evolutionären Autonomen
Agenten und den existierenden Ansätzen zur Evolution von kooperierendem Verhalten in Multi-Agenten-Systemen.
Im darauffolgenden Kapitel 5 sollen zwei Formen biologischer Adaption, Lernen
und Evolution, näher betrachtet werden und ihre Anwendungsmöglichkeiten für
Agentensysteme untersucht werden. Eine besondere Rolle nehmen dabei die Plastischen Neuronalen Netze ein, die eine Verknüpfung von lernenden und evolutionären
Prozessen ermöglichen.
Kapitel 6 stellt den entwickelten Adaptive Role Allocation Mechanismus vor und
betrachtet eine konkrete Umsetzung für das Capture the Flag Spiel. Dies beeinhaltet
Aspekte der Implementierung und eine genaue Analayse des evolvierten Systems.
Der dezentralistische Ansatz wird mit einer existierenden zentralistischen Implementierung verglichen.
Eine Zusammenfassung des Erreichtens wird in Kapitel 7 gegeben. Im Anschluss
daran folgt ein Ausblick auf zukünftige Verbesserungen des vorgestellten Konzepts.
5
Kapitel 1 Einleitung
6
Kapitel 2
Agentensysteme
In diesem Kapitel wird das grundlegende Konzept eines Agenten vorgestellt. Es werden verschiedene Typen von Agentenprogrammen und Arbeitsumgebungen beschrieben und die Eigenschaften von Multi-Agenten-Systemen genauer betrachtet.
2.1 Eigenschaften eines Agenten
In der wissenschaftlichen Literatur ist es schwer, eine einheitlichen Definition eines
Agenten zu finden (Carl Hewitt, 1994) :
„...asking the question of what an agent is to a DAI (Distributed Artificial Intelligence) researcher is as embarrassing as the question of what
intelligence means is for an AI researcher“
In dieser Arbeit wollen wir uns an der Definition von (Russel und Norvig, 1995)
orientieren:
„Ein Agent ist alles, was seine Umgebung über Sensoren wahrnehmen
kann und in dieser Umgebung durch Aktuatoren handelt.“
Abbildung 3.4 verdeutlicht diesen Sachverhalt. Die allgemeine Definition schließt
also sowohl Hardware-Agenten (Roboter), Software-Agenten, die z.B. zur Informationsrecherche oder zum eCommerce benutzt werden als auch Tiere und Menschen
mit ein. Viele dieser verschiedenen Agententypen haben gemeinsam, dass sie oftmals nur einen kleinen Teil ihrer Umwelt über Sensoren wahrnehmen könnnen und
aufgrund dieser limitierten Information Aktionen auswählen müssen. In den Veröffentlichungen von Woolridge und Jennings (Woolridge und Jennings, 1995; Jennings
und Wooldridge, 1998) werden weitere wichtige Eigenschaften eines Agenten zusammengefasst:
• Autonomität
Der Agent sollte in der Lage sein ohne das Eingreifen von Menschen oder
anderen Systemen zu handeln. Er bestimmt die als nächstes auszuführende
Aktion aufgrund seiner inneren Zustände.
7
Kapitel 2 Agentensysteme
Agent
Sensoren
Wahrnehmung
Umgebung
Verarbeitungseinheit
Aktuatoren
Aktionen
Abbildung 2.1: Agenten nehmen ihre Umwelt über Sensoren wahr und führen
Aktionen durch Aktuatoren aus.
• Reaktivität
Die Fähigkeit, auf Veränderungen in der Umwelt in angemessener Zeit zu reagieren (»angemessen« bezieht sich in diesem Fall auf den Nutzen der Aktion).
• Pro-Aktivität
Die Fähigkeit vorausschauend auf ein Ziel hinzuarbeiten und nicht nur auf
Veränderungen der Umwelt zu reagieren. Dies ist oftmals schwer zu erreichen
und ein Grundproblem beim Entwurf vieler Agentensysteme.
• Soziale Fähigkeiten - Interaktion
Der Agent sollte in der Lage sein, mit anderen Agenten bzw. der Umwelt
zu interagieren, um dadurch das gestellte Problem zu lösen. Es werden also
nicht nur kommunikative Fähigkeiten gefordert, sondern auch die Fähigkeit
zur Verhandlung bzw. Kooperation.
• Rationalität
Ein rationaler Agent wählt für jede Abfolge von Wahrnehmungen und unter
Berücksichtigung seines vorhandenen Wissens immer die Aktion aus, die die
zu erwartende Leistungsbewertung maximiert. Er agiert also auf die Weise,
die optimal ist, um ein bestimmtes Ziel zu erreichen.
• Mobility
8
2.2 Agentenumgebungen
Die Fähigkeit, die eigene Position zu ändern.
Die Punkte Autonomität, Reaktivität, Pro-Aktivität und Interaktion werden in vielen Veröffentlichungen als Mindestvoraussetzungen für Agenten genannt. Um diese
Anforderungen zu erfüllen, müssen die Agenten also eine erhebliche Grundfunktionalität aufweisen und bestimmte Handlungsmuster besitzen.
Im Allgemeinen werden Agenten durch Agentenprogramme gesteuert. Diese Programme sind konkrete Implementierungen einer Agentenfunktion, die jede beliebige
Wahrnehmungsfolge1 eines Agenten mit einer Aktion verknüpft. Wichtig bei dem
Entwurf eines Agenten ist also sowohl die Wahl einer geeigneten Architektur (Sensoren und Aktuatoren) als auch die problemangepasste Realisierung des Agentenprogramms. Da die Art des geeigneten Programms maßgeblich von der Umgebung,
in der sich der Agent bewegt, beeinflusst wird, soll hier kurz auf verschiedene Arten
von Arbeitsumgebungen eingegangen werden.
2.2 Agentenumgebungen
Die verschiedenen Eigenschaften von Agentenumgebungen können sich in vielen
Punkten erheblich voneinander unterscheiden. Im Folgenden sollen einige dieser
Punkte genauer spezifiziert werden, da sie maßgeblich das Design der Agentenprogramme bestimmen (Russel und Norvig, 1995) :
• Vollständig beobachtbar - Teilweise beobachtbar
Die Umgebung ist vollständig beobachtbar wenn der Agent zu jeder Zeit über
seine Sensoren vollständigen Zugriff auf den Zustand der Umgebung hat. Das
bedeutet für den Agenten, dass er keine internen Zustände verwalten muss.
Bei der teilweisen Beobachtbarkeit unterscheidet man zwei verschiedene Arten:
Entweder ein Teil der Umgebung wird von den Sensoren des Agenten nicht
erfasst oder die Beobachtungen können durch ungenaue Sensoren verfälscht
sein.
• Deterministisch - Stochastisch
Wenn die Umgebung deterministisch ist, hängt der zukünftige Zustand nur
von dem aktuellen Zustand und der ausgeführten Aktion ab.
Stochastische Umgebungen enthalten Zufallselemente und das Ausführen von
ein und derselben Aktion im gleichen Zustand kann zu verschiedenen anderen
Zuständen führen.
1
Eine Wahrnehmungsfolge beschreibt den vollständigen Verlauf aller Wahrnehmungen eines Agenten.
9
Kapitel 2 Agentensysteme
• Episodisch - Sequenziell
Handelt es sich um eine episodische Umgebung, lassen sich die Erfahrungen
des Agenten in atomare Episoden einteilen wobei jede Episode aus der Wahrnehmung und dem Ausführen einer Aktion besteht. Wichtig ist hierbei, dass
die nächste Episode nur von der gegenwärtigen Episode abhängig ist.
In einer sequenziellen Arbeitsumgebung kann eine Aktion alle weiteren Aktionen beeinflussen und der Agent muss beim Planen seiner nächsten Schritte
vorausdenken.
• Statisch - Dynamisch
Eine statische Umgebung ändert sich nur durch die Aktionen des Agenten.
In einer dynamischen Umgebung können Veränderungen unabhängig von den
Aktionen des Agenten eintreten.
• Diskret - Stetig
Zwischen diskret und stetig kann in Bezug auf den Zustand der Umgebung,
der Behandlung der Zeit und den Wahrnehmungen und Aktionen des Agenten
unterschieden werden.
Die anspruchsvollsten Umgebungen sind also diejenigen, die nur teilweise beobachtbar, stochastisch, sequenziell, dynamisch und stetig sind.
2.3 Agentenprogramme
Wie schon Eingangs erwähnt implementiert ein Agentenprogramm eine Agentenfunktion, die jeder Wahrnehmungsfolge eine Aktion A zuordnet:
action : S ∗ → A
wobei S = {s1 , s2 , . . .} die Menge aller möglichen Zustände der Umgebung ist und S ∗
die Menge von Elementfolgen von S. Das heißt für jede mögliche Wahrnehmung, die
der Agent durch seine Sensoren als Eingabe bekommt, liefert das Agentenprogramm
eine Ausgabe über seine Aktuatoren. Nach Ausführen einer Aktion verändert sich
der Zustand der Umgebung, welches sich durch folgende Funktion beschreiben lässt:
env : S × A → ℘(S)
Falls eine deterministische Umgebung vorliegt, liefert env(s, a) nur einen einzigen
Zustand zurück. Abbildung 2.2 zeigt den Aufbau eines allgemeinen Agentenprogramms nach (Russel und Norvig, 1995) und illustriert noch einmal den engen Zusammenhang des Agenten mit seiner Umwelt. Aufgrund ihrer Komplexität lassen
sich vier verschiedene Konzepte von Agentenprogrammen unterscheiden:
10
2.3 Agentenprogramme
Abbildung 2.2: Ein allgemeines Agentenprogramm (Russel und Norvig, 1995).
1. Einfache Reflex-Agenten
Bei den Reflex-Agenten wird die Aktion nur aufgrund der gerade wahrgenommenen Sensordaten durchgeführt. Vorangegangene Erfahrungen spielen dabei
keine Rolle.
action : S → A
Diese Strategie ist allerdings nur erfolgreich, wenn die Umgebung vollständig beobachtbar ist. Die Programme von dieser einfachsten Art der Agenten
werden meistens durch einfache if-then-else Regeln beschrieben.
2. Modellbasierte Reflex-Agenten
Die schon etwas komplexeren modellbasierten Reflex-Agenten sind in der Lage,
mit teilweise beobachtbaren Umgebungen zu interagieren. Sie besitzen einen
internen Zustand, der es ihnen ermöglicht, Aspekte der Umgebung zu verfolgen, die gerade nicht beobachtbar ist. Dafür benötigen sie sowohl Informationen über die Weiterentwicklung der Welt unabhängig vom Agenten, als auch
über die Auswirkungen der von dem Agenten ausgeführten Aktionen.
3. Zielbasierte-Agenten
Zielbasierte-Agenten sind eine Erweiterung des modellbasierten Ansatzes. Neben der aktuellen Zustandsbeschreibung verwalten sie auch eine Menge von
Zielen und wählen die Aktionen aus, die zur Erreichung eines dieser Ziele
führt. Im Bereich der KI-basierten Agenten werden dabei häufig Techniken
wie Suchen und Planen eingesetzt, wenn das Ziel nicht direkt erreichbar ist.
Der Zielbasierte-Agent ist wesentlich flexibler als der Reflex-Agent, da sein
Wissen über die Welt explizit dargestellt wird und mit den Zielen verglichen
11
Kapitel 2 Agentensysteme
werden kann.
4. Nutzenbasierte-Agenten
Werden bei den Zielbasierten-Agenten alle Aktionen, die zum Ziel führen,
gleich bewertet, kann der Nutzenbasierte-Agent günstigere Wege von ungünstigeren Wegen unterscheiden. Eine Nutzenfunktion ordnet Zuständen oder Zustandsfolgen eine (reelle) Bewertung zu, welche die Nützlichkeit zum Erreichen
der Ziele angibt. Dabei sind diejenigen Weltzustände vorzuziehen, die einen
höheren Nutzen haben. Dies hat erstens den Vorteil, dass auch rationale Entscheidungen getroffen werden können, wenn die Ziele nur zum Teil erreichbar
sind und zweitens, dass die Wahrscheinlichkeit des Erfolgs gegen die Bedeutung der Ziele abgewägt werden kann. Im Kapitel 3.3 über Reward-basierte
Lernverfahren soll gezeigt werden, wie genau der Agent eine solche Nutzenfunktion lernen kann.
2.4 Lernende Agenten
Alle bisher beschriebenen Agentenprogramme können ihre Leistungen durch Lernen verbessern. Ein lernender Agent hat die Möglichkeit, durch Adaption auch in
unbekannten Umgebungen zu arbeiten und kompetenter in seiner gegebenen Aufgabenstellung zu werden. Genau wie im Falle der Definition eines Agenten finden
sich in der Literatur unterschiedliche Auffassungen, was Lernen eigentlich bedeutet.
Simon (H. Simon, 1983) liefert folgende Definition:
„Lernen ist der Vorgang, der ein System in die Lage versetzt, bei der
zukünftigen Bearbeitung derselben oder einer ähnlichen Aufgabe diese
besser zu erledigen.“
Diese Begriffserklärung ist allerdings von unterschiedlichen Leuten kritisiert worden,
da Lernen nicht immer mit einer verbesserten Aufgabenlösung einhergehen und auch
das Ziel beim Lernen nicht immer offensichtlich sein muss. Eine weitere Definition
stammt von Witten und Frank (Witten u. a., 1999):
„. . . things learn when they change their behavior in a way that makes
them perform better in the future.“
Russel und Norvig (1995) verzichten auf eine genaue Definition, halten aber fest,
dass ein lernender Agent aus den folgenden vier konzeptuellen Komponenten bestehen muss:
• Leistungselement
Eines der vier Agentenprogramme, welches für die Auswahl der Aktion verantwortlich ist.
12
2.5 Multi-Agenten-Systeme
• Kritikelement
Die Wahrnehmung allein gibt keinen Rückschluss auf den Erfolg des Agenten.
Das Kritikelement liefert Feedback über das Resultat der Aktion in Hinblick
auf einen festgelegten Leistungsstandard.
• Lernelement
Aufgrund der Rückmeldung des Kritikelements kann das Lernelement das
Leistungselement verändern, um bessere Erfolge zu erzielen.
• Problemgenerator
Dieser schlägt neue Aktionen vor, die gegebenenfalls für kurze Zeit nicht optimal sind. Auf lange Sicht können sie allerdings zu besseren Resultaten führen,
da neue und informative Erfahrungen gemacht werden.
In Kapitel 3 werden einige Methoden des Maschinellen Lernes präsentiert, die Agenten die Möglichkeit bieten, zu lernen. Diese Methoden unterscheiden sich hauptsächlich in der Art des Feedback, das der Agent durch Ausführen von Aktionen vom
Kritikelement bekommt.
2.5 Multi-Agenten-Systeme
Im Gegensatz zum vorangegangenen Abschnitt, der den Fokus auf den einzelnen
Agenten (Mikroebene) legte, sollen im Folgenden Systeme betrachtet werden, in denen mehrere Agenten miteinander interagieren (Makroebene) (Woolridge und Jennings, 1995). In diesem Fall spricht man von einem Multi-Agenten System (MAS).
MAS sind ein Bereich der Verteilten Künstlichen Intelligenz (VKI), der besonders
in neuer Zeit zu einem sehr aktiven Forschungsfeld geworden ist. Zu den Vorteilen der MAS zählen unter Anderem ihre große Flexibilität (verschiedene Agenten
können verschiedene Rollen annehmen) und ihre Robustheit (die Funktion eines
Agenten kann durch andere Agenten ersetzt werden). MAS sind zum einen durch
die Tatsache motiviert, dass sie einen natürlichen Weg darstellen, intelligente Systeme zu beschreiben (Weiss, 2000). Intelligenz und Interaktion sind meistens sehr
stark miteinander verbunden. Zum anderen ist es oftmals leichter, für verteilte Probleme einen dezentralistischen Ansatz, als einen zentralistischen zu finden (Huhns
und Stephens, 1999). Im Allgemeinen weisen MAS folgende Eigenschaften auf:
• Meistens offene Systeme
• Teams von autonomen Agenten, die gegeneinander (Konkurrenz) oder miteinander (Kooperation) arbeiten
• Es besteht die Möglichkeit zur Kommunikation und Interaktion
13
Kapitel 2 Agentensysteme
Coordination
Competition
Cooperation
Planning
Distributed Planning
Negotiation
Centralized Planning
Abbildung 2.3: Einige der Wege, durch die Agenten Aktionen und ihr Verhalten
koordinieren können (Huhns und Stephens, 1999).
Offene Systeme zeichnen sich durch eine Ansammlung von autonomen Entitäten
aus, welche die Umgebung dynamisch betreten und verlassen können, und ggf. unterschiedliche Ziele verfolgen (Fredriksson et al. 2003). Die meisten MAS besitzen
diese Eigenschaft, wobei weiterhin gilt, dass die Agenten die internen Zustände der
anderen Agenten nicht direkt beobachten können. Oftmals existiert keine zentrale
Kontrolle des Systems wodurch unvorhersehbare Verhaltensweisen durch Interaktion der einzelnen Individuen emergieren können (Agha, 1997). Eine der Herausforderungen bei dem Design von MAS ist die Implementierung der individuellen
Verhaltensweisen der einzelnen Agenten unter Berücksichtigung der Interaktionen,
die benötigt werden, um das gewünschte globale Verhalten zu beobachten (Bonabeau u. a., 1997).
Von den Individuen in einem MAS wird verlangt, dass sie ihre Aktionen auf die
eine oder andere Art koordinieren. Abhängig von konkurrierenden oder kooperierenden Agenten kann dieser Prozess verschiedene Formen annehmen (Abbildung 2.3).
Während Agenten, die gemeinsame Interessen verfolgen, ihre Aktionen planen, koordinieren antagonistische Agenten diese durch Verhandlungen. Labella u. a. (2006)
haben anhand von futtersuchenden Agenten gezeigt, dass Kooperation es Agenten
erlaubt, eine gegebene Aufgabenstellung (die sie ggf. auch allein bewältigen könnten), effektiver auszuführen.
MAS sind Systeme aus gleichartigen (homogenen) oder unterschiedlichen (heterogenen) Agenten. Heterogene Agenten können sich sowohl in ihrer Architektur
als auch in ihrem Steuerungsprogramm unterscheiden. Dies erschwert das Design
14
2.5 Multi-Agenten-Systeme
effektiver Kontrollstrukturen und macht automatische Verfahren, wie die des Maschinellen Lernes, besonders interessant.
Agenten kommunizieren, um ihre Ziele oder die Ziele der Gruppe besser zu erfüllen. Diese Eigenschaft befähigt sie dazu, ihre Aktionen und ihr Verhalten auf
eine kohärente Art und Weise zu koordinieren (Huhns und Stephens, 1999). Viele
Veröffentlichungen im Bereich der MAS, die im Besonderen für diese Arbeit von Interesse sind, stammen aus dem Bereich der Swarm-Intelligenz (SI) (Bonabeau u. a.,
1999). Die SI basiert auf den Prinzipien von natürlichen Systemen von Agenten,
die z.B. bei Ameisenkolonien oder Vogelschwärmen beobachtet werden können. Ziel
dieser Ansätze ist der Entwurf von relativ einfachen Steuerungsprogrammen, die
das Emergieren des gewünschten kollektiven Verhaltens durch die Interaktion der
Agenten und ihrer Umwelt ermöglichen. Die Übertragung dieser Prinzipien auf die
Robotik wird auch als Swarm-Robotik bezeichnet und ist ein relativ neuer Ansatz
der SI. Die Anwendung der SI Prinzipien auf die Robotik führt zu Systemen, die
leicht skalierbar, sehr robust und selbstorganisierend sind. Meistens reichen relativ einfache Verhaltensweisen der einzelnen Individuen aus, um ein sehr komplexes
Gruppenverhalten zu beobachten (Groß u. a., 2006; Bonabeau u. a., 1999). Die SI
macht sich im Besonderen die einfachen Kommunikationsformen von sozial lebenden Insekten zu Nutzen, um künstliche autonome Systeme zu modellieren. Diese
Kommunikationsformen können grob in drei verschiedene Klassen eingeteilt werden
(Kube und Bonabeau, 2000; Cao u. a., 1997):
• Direkte Komunikation
Direkte Kommunikation ist die konzeptionell einfachste Form der inter-Agenten
Kommunikation. Wird diese Form verwendet, kann ein Agent entweder einen
Nachricht an alle Agenten schicken (Broadcast) oder an einen individuellen
Agenten.
• Sensor-gestützte Kommunikation
Dieser Ansatz basiert darauf, dass die Agenten die Präsenz und Aktionen der
anderen Agenten wahrnehmen können (Kommunikation durch Farbe, Tonsignale, etc.)
• Stigmergie (Grass´e, 1959).
Bei der Stigmergie handelt es sich um eine Art der Kommunikation, die von
vielen Insektenarten benutzt wird. Dabei kommunizieren die Individuen nicht
direkt miteinander sondern durch die Modifikation der lokalen Umwelt.
Ein Beispiel für Sensor-gestützte Kommunikation findet sich bei (Ampatzis u. a.,
2006). Luke und Spektor evolvierte eine Population von Agenten, die mit Hilfe von
direkter Kommunikation lernen sollten, als Team zusammenzuarbeiten (Luke und
Spector, 1996). Stigmergie macht sich der sogenannte Ant Colony Optimization
15
Kapitel 2 Agentensysteme
Algorithmus (Dorigo und Stützle, 2004) zu nutzen. Dieser stellt eine probabilistische Technik zur Lösung von Optimierungsproblemen dar, die auf die Suche von
kürzesten Wegen in Graphen reduziert werden können. Er ist motiviert durch die
Verwendung von Pheromonen bei Ameisen.
16
Kapitel 3
Verfahren des Maschinellen Lernens und
neuronale Techniken
Um die Kontrollsysteme von intelligenten Agenten zu kreieren, werden häufig Verfahren des Maschinellen Lernens in Kombination mit Künstlichen Neuronalen Netze
eingesetzt. In diesem Kapitel soll ein Überblick über die grundlegenden Eigenschaften dieser beiden Techniken gegeben werden.
3.1 Überblick
Das Maschinelle Lernen (ML) beschäftigt sich mit der computergestützten Modellierung und Realisierung von Lernphänomenen (Mitchell, 1997). Panait und Luke (2005) unterscheiden insgesamt drei Haupttypen: Überwachte, Unüberwachte,
Reward-basierte. Diese Lernmethoden variieren in der Art des Feedbacks, das ein
Lernverfahren von seiner Umwelt zurückbekommt. Auf die unüberwachten Lernverfahren wird im Folgenden nicht weiter eingegangen, da sie beim Agentenlernen eine
eher untergeordnete Rolle einnehmen.
Überwachtes Lernen ist meistens assoziiert mit Lernen aus Beispielen. In vielen
Situationen, besonders bei komplexen Agentensystemen, ist aber oftmals nicht für
jede Eingabe die korrekte Ausgabe bekannt. Autonome Agenten, und im Speziellen
Roboter, erhalten meistens nur sehr rudimentäre Rückmeldungen aus der Umwelt,
mit welcher sie interagieren. Dies führt dazu, dass überwachte Lernalgorithmen nur
sehr eingeschränkt angewandt werden können und sich Reward-basierte Methoden
etabliert haben.
Reward-basierte Methoden lassen sich grob in zwei verschiedene Gebiete unterteilen. Auf der einen Seite gibt es das Reinforcement Lernen, welches versucht, eine
bestimmte Nutzenfunktion zu lernen und damit das Verhalten des Agenten zu verbessern. Auf der anderen Seite existieren stochastischen Suchalgorithmen, wie die
Evolutionären Algorithmen, welche direkt Verhalten ohne eine Nutzenfunktion lernen.
Bevor die Überwachten Lernverfahren und Reward-basierte Lernverfahren (Reinforcement Lernen und Evolutionäre Algorithmen) genauer vorgestellt werden, geben
17
Kapitel 3 Verfahren des Maschinellen Lernens und neuronale Techniken
wir einen Einblick in die Funktionsweise von Künstlichen Neuronalen Netzen.
3.2 Künstliche Neuronale Netze
Künstliche Neuronale Netze (KNN) stellen eine grobe Analogie zum Gehirn von
Säugetieren dar. Grundbausteine des Gehirns sind die Nervenzellen, auch Neuronen
genannt. Das menschliche Gehirn besteht aus ca. 1011 Neuronen mit je ca. 1000
bis 10000 Synapsen (Rojas, 1996). Obwohl die Nervenzellen in vielen unterschiedlichen Formen auftreten, besitzen sie fast alle neben dem Zellkörper (Soma) mit
Zellkern (Nucleus) ein Axon und mehrere Dendriten. Die Übermittlung von Signalen erfolgt mit Hilfe von elektrischen Signalen. Die Neuronen nehmen Informationen
über Synapsen auf, welche die Kontaktstellen zwischen den Dendriten (die Fortsätze
der Neuronen) darstellen. Die resultierende Antwort des Neurons wird über das so
genannte Axon zu anderen Nervenzellen weitergeleitet.
Die KNN sind informationsverarbeitende Systeme, die genau wir ihr biologisches
Vorbild, aus einer großen Anzahl von einfachen Verarbeitungseinheiten (Neuronen)
bestehen, die über gewichtete Verbindungen Signale übertragen. Sie eignen sich gut
als Alternativen für viele „klassische“ statistische Modellierungen (Rojas, 1996) da
sie die Fähigkeit besitzen, unbekannte Funktionen und Wahrscheinlichkeitsverteilungen approximieren zu können. Obwohl sie stark idealisierte Modelle sind, lassen
sich einige wichtige Aspekte in fast allen Modellen wiederfinden:
• Massive Parallelität
• Hohe Fehlertoleranz
• Verteilte Wissensrepräsentation
• Anpassungs- und Lernfähigkeit
Die KNN unterscheiden sich von anderen algorithmischen Modellen in der Hinsicht,
dass nicht für jedes Problem ein spezielles Programm geschrieben wird, sondern
dass sich nur die Parameter des Netzes durch einen vorher bestimmten Lernprozess
verändern. Meistens handelt es sich bei diesen Parametern um die synaptischen Verbindungsgewichte, die maßgeblich das Verhalten des Netzes bestimmen. Ein KNN
lernt, indem iterativ die Anfangsgewichte des Netzes reizabhängig modifiziert werden. Je nach Art des Feedbacks, welches das KNN auf die resultierende Netzausgabe
bekommt, lassen sich verschiedene Verfahren des ML einsetzen. Als Beispiel für ein
unüberwachtes Lernverfahren wäre die selbstorganisierende Merkmalskarte von Kohonen zu nennen (Kohonen, 2000). Einer der bekanntesten überwachten Lernverfahren für vorwärtsgerichtete Netze ist der Backpropagation-Algorithmus der nach einer
18
3.2 Künstliche Neuronale Netze
Abbildung 3.1: Modell eines künstlichen Neurons (http://de.wikipedia.org/).
formalen KNN Definition genauer beschrieben werden soll. Eine weitere Trainingsmethode besteht in der Kombination von KNN mit Evolutionären Algorithmen, die
in Kapitel 3.4.3 behandelt wird.
KNN sind für viele unterschiedliche Anwendungen erfolgreich eingesetzt worden
und eignen sich besonders zur Mustererkennung und zur Extraktion von funktionalen Zusammenhängen in den Eingabedaten. Dies prädestiniert sie als Steuerungseinheiten für autonome Agenten (siehe Kapitel 4). Hierbei werden die sensorischen
Eingaben des Agenten als Vektor von skalaren Werten repräsentiert, mit der Ausgabe des Netzes als Kontrollsignal der Aktuatoren.
3.2.1 Definition
Ein KNN lässt sich als Tupel N = (N, →, w, θ, f, I, O) auffassen (Hammer, 1999)
mit:
• Den Neuronen N = {1, ..., n}
• Der Vernetzungsstruktur →⊂ N × N
• Der Gewichtsmatrix W (=wi,j ∈ <)
• Den Schwellwerten θ = θi∈N ∈ <
• f = (fi : < → <)i∈N den Aktivierungsfunktionen
• Den Inputneuronen I ⊂ N
• Den Outputneuronen O ⊂ N
19
Kapitel 3 Verfahren des Maschinellen Lernens und neuronale Techniken
-4
-2
1
1
1
0.8
0.8
0.8
0.6
0.6
0.6
0.4
0.4
0.4
0.2
0.2
0.2
2
4
-4
-2
2
4
-4
-2
2
4
Abbildung 3.2: Drei typische Aktivierungsfunktionen. Von Links nach Rechts:
Lineare-Funktion, Treppenfunktion und Sigmoide. Die x-Achse zeigt die gewichtete Summe und die y-Achse den Wert der Aktivierungsfunktion.
• Den Hiddenneuronen H ⊂ N
Jedes einzelne Neuron i ∈ N erhält gewichtete Eingaben von seinen Vorgängerneuronen, addiert diese und produziert mit Hilfe der Aktivierungsfunktion eine Ausgabe.
Die Aktivierung eines Neurons i zum Zeitpunkt t berechnet sich aus der Summe
aller eingehenden Signale oj gewichtet durch das Verbindungsgewicht wij abzüglich
des Schwellenwertes θi :
X
neti (t) =
wji oj (t) − θi
j→i
Typische Aktivierungsfunktionen sind die Treppenfunktion, lineare Funktionen und
die Sigmoide (Abbildung 3.2):
sgd(x) = 1/(1 + e−kx )
wobei k eine Konstante ist, die den Anstieg der Kurve bestimmt.
Die Topologie eines KNN wird durch die Anzahl der Neuronen bestimmt und die
Art ihrer Verschaltung. Oftmals sind die Neuronen in Schichten angeordnet: Inputschicht, Hiddenschicht und Ausgabeschicht. Es lassen sich grob zwei verschiedene
Arten von Vernetzungsstruktur unterscheiden: feedforward und rekurrent.
Bei den vorwärtsgerichteten Netzen (FFNN) ist (N, →) ein azyklischer Graph
wobei die Eingabeneuronen I keinen Vorgänger haben und die Ausgabeneuronen
O keine Nachfolger. Signale werden von der Eingabeschicht über die Hiddenschicht
zur Ausgabeschicht übertragen. Es existiert kein Pfad, der von einem Neuron direkt
oder über andere Neuronen wieder zu dem Neuron zurückführt, und die Ausgabe
dieser KNN hängt nur von dem aktuell präsentierten Eingabesignal ab. Diese Art
von KNN führt zu reaktiven Agenten.
Rekurrente Netze (RNN) sind gekennzeichnet durch Rückkopplungen von Neuronen einer Schicht zu anderen Neuronen der gleichen oder einer vorangegangenen
Schicht. Im Gegensatz zu den FFNN kann bei den RNN jedes Neuron mit jedem anderen Neuron verbunden sein. Die Klasse der RNN lässt sich dabei weiter unterteilen
in KNN mit (Zell, 1994):
20
3.2 Künstliche Neuronale Netze
Abbildung 3.3: Vorwärtsgerichtetes Neuronales Netz auf der linken Seite und Rekurrentes Neuronales Netzwerk mit Rückkopplungen auf der rechte Seite (Wahde,
2004).
• direkten Rückkopplungen
Die Ausgabe eines Neurons ist gleichzeitig wieder Eingabe dieses Neurons.
• indirekte Rückkopplungen
Die Aktivität des Neurons ist Eingabe für ein Neuron aus einer vorangegangenen Schicht.
• laterale Rückkopplungen
Neuronen der gleichen Schicht sind miteinander verbunden.
• vollständig Verbunden
Jedes Neuron ist mit jedem anderen und sich selbst verbunden.
Durch Rekurrente Netze können Agenten interne Zustände speichern (Elman, 1990)
und sind in der Lage, sich aufgrund ihrer gesammelten Erfahrungen auf gleiche
sensorische Eingaben unterschiedlich zu verhalten.
3.2.2 Backpropagation
Der Backpropagation-Algorithmus (BP) (D. E. Rumelhart, 1986) ist ein Gradientenabstiegsverfahren für mehrschichtige vorwärtsgerichtete Neuronale Netze, welches
den Ausgabefehler durch Zurück-Propagierung in die vorderen Schichten minimiert.
Es handelt sich um ein überwachtes Lernverfahren, das Funktionen aus Trainingsdaten lernen soll, die aus Eingabe- und dazu passenden Ausgabevektoren bestehen.
Im Allgemeinen ist eine Menge E von Beispielen der Form (x, y) ∈ X × Y für eine
unbekannte Funktion f mit y = f (x) gegeben. Die Aufgabe des Lernalgorithmus ist
21
Kapitel 3 Verfahren des Maschinellen Lernens und neuronale Techniken
es, eine Funktion h zu finden, die den Fehler error(h, f ) minimiert:
X
errorE (h) :=
error(h(x), y)
(x,y)∈E
Meistens lieft ein quadratisches Fehlermaß zugrunde:
error(h(x), y) := (h(x) − y)2
Bei einem Großteil der überwachten Lernverfahren für KNN werden die Gewichte
am Anfang auf kleine zufällige Werte vorinitialisiert. Der Lernprozess setzt sich aus
der wiederholten Präsentation aus Paaren von Ein- und Ausgabevektoren zusammen, verbunden mit einer Gewichtsmodifikation ∆wij nach jedem Beispiel (onlinet−1
Verfahren) oder nach Präsentation aller Beispiele (offline). Die alten Gewichte wij
werden durch Addition eines Teiles der errechneten Gewichtsänderung ∆wij modifiziert:
t−1
t
t
wij
= wij
+ η∆wij
0<η≤1
Der Backpropagation-Algorithmus für die offline-Version des Verfahrens kann in
folgende Phasen unterteilt werden:
1. Forward-Pass
a) Das Eingabemuster xp wird präsentiert und durch das Netz propagiert.
Die Daten durchlaufen das Netz schichtweise von der Eingabe- zur Ausgabeschicht.
b) Die erzielte Ausgabe wird mit der erwünschten Ausgabe yp verglichen.
c) Wiederholung des Vorgangs für alle Beispiele der Trainingsmenge {(xp , yp ∈
<n)|p = 1, . . . , m}.
2. Backward-Pass
a) Der Fehler wird über die Ausgabeschicht zur Eingabeschicht zurückpropagiert, wobei er genutzt wird, um die Verbindungsgewichte zu verändern
und damit den Fehlervektor zu verringern. Der Backward-Pass erfolgt in
entgegengesetzter Richtung zum Forward-Pass.
Für die Aktivierung eines einzelnen Neurons i gilt bei Eingabe des Musters p:
X
wji opj − θi mit opi = sgd(netpi )
netpi =
j→j
Der quadratische Fehler des Netzes kann folgendermaßen berechnet werden:
m
1X
E=
2
X
(ypj − opj )2
p=1 j ist Ausgabeneuron
22
3.3 Reinforcement Lernen
Durch die Verwendung einer differenzierbaren Aktivierungsfunktion wird auch E
differenzierbar und ein so genannter Gradientenabstieg ist möglich: Auf der Fehlerfläche wird schrittweise in Richtung des steilsten Abstiegs gegangen, bis ein Minimum erreicht wird. Die partielle Ableitung der Fehlerfunktion E ergibt sich durch
Anwendung der Kettenregel:
∇w E(W ) = (
∂E(W )
)i→j
∂wij
Für die Modifikation der Gewichte gilt dann:
∆wij = −η
mit
(
δj =
∂E
= ηδj oi
∂wij
(oj − yj ) · sgd0 (netj )
falls j Ausgabezelle ist
P
0
j→k wjk δk · sgd (netj ) sonst.
wobei 0 < η die so genannte Schrittweite ist, die die Stärke der Gewichtsänderung
bestimmt. Eine ausführlichere Beschreibung des Backpropagation Algorithmus ist
in (Rojas, 1996) zu finden.
3.3 Reinforcement Lernen
Reinforcement Lernen (RL) (Sutton und Barto, 1998) bedeutet für den Agenten, ein
Verhalten durch Versuch und Irrtum in Interaktion mit einer dynamischen Umwelt
zu lernen. Im Gegensatz zum Lernen aus Beispielen, wird der Agent beim RL nur
für erfolgreiches Verhalten belohnt und für Misserfolge bestraft. Bei den meistens
RL Problemen bestimmt die Aktion des Agenten nicht nur den direkten Gewinn
sondern auch (probabilistisch) den nächsten Zustand der Umgebung (Abbildung
3.4). Oftmals muss der Agent erst lange Sequenzen von Zuständen durchlaufen, die
fast keinen Gewinn bringen, um am Ende einen Endzustand mit hohem Gewinn zu
erreichen. Der Agent ist also darauf angewiesen zu lernen, welche seiner Aktionen
nützlich in Bezug auf einen Gewinn sind, der irgendwann in der Zukunft eintreten kann (Delayed-Reward). Probleme dieser Art lassen sich gut als Markov’sche
Entscheidungsprozesse (MDP) modellieren: Ein MDP ist ein probabilistisches sequenzielles Entscheidungsproblem, das aus folgenden Komponenten besteht:
• Einer Zustandsmenge S.
• Einer Menge von Aktionen A, die der Agent ausführen kann.
• Einer Gewinnfunktion r : S × A → <, die jedem Zustand einen Gewinn
zuweist, der positiv oder negativ sein kann, aber begrenzt sein muss.
23
Kapitel 3 Verfahren des Maschinellen Lernens und neuronale Techniken
Abbildung 3.4: Agenten-Umgebung Interface (Sutton und Barto, 1998)
• Einer Zustandübergangsfunktion T: S × A → Π(S). T (s, a, s0 ) ist die Wahrscheinlichkeit, durch Ausführen von Aktion a in Zustand s zu Zustand s0 zu
gelangen.
Wir werden im Folgenden nur MDP mit endlicher Zustands-/Aktionsmenge und
unendlichem Zeithorizont betrachten. MDP haben die Eigenschaft, dass der Zustand
s zur Zeit t+1 und der damit assoziierte Gewinn rt+1 nur von dem Zustand zur Zeit t
und der gewählten Aktion at abhängt, was man als Markov-Eigenschaft bezeichnet:
P r{st+1 = s0 , rt+1 = r|st , at }
für alle s0 ,r,st und at . Das Ziel des RL ist es, in jeder Situation die Aktion auszuwählen, die den zu erwartenden Gewinn maximiert. Ein solches Mapping von einem
Zustand auf eine Aktion wird auch als Policy π : S → A bezeichnet. Eine optimale
Policy ist diejenige, welche die Funktion V ∗ (st ) für alle Startzustände maximiert:
V ∗ (s) = maxπ E(
∞
X
γ t rt )
t=0
V ∗ ist der optimale diskontierte, kumulative Gewinn und der Parameter 0 ≤ γ < 1
führt dazu, dass früher eintretende Belohnungen höher bewertet werden. Ist die
optimale Bewertungsfunktion V ∗ (s) bekannt, lässt sich leicht die optimale Policy
π ∗ bestimmen. Jeder Agent wählt in einem Zustand s die Aktion, die den sofortigen
Gewinn und die diskontierte Bewertungsfunktion der Nachfolgezustände maximiert:
X
π ∗ = arg maxa (R(s, a) + γ
T (s, a, s0 )V ∗ (s0 ))
s0 ∈S
Im Folgenden sollen zwei verschiedene Verfahren betrachtet werden, mit denen die
optimale Policy bestimmt werden kann.
24
3.3 Reinforcement Lernen
3.3.1 Value-Iteration
Ein Algorithmus, der sich die Prinzipien der dynamischen Programmierung zu Nutzen macht, um die optimale Bewertungsfunktion bzw. Policy zu berechnen, ist der
Value-Iteration Algorithmus (Bellman, 2003). Dieser startet mit einer zufälligen Initialisierung von V (S) und durchläuft mehrmals alle Zustände. Aufgrund des jeweils
aktuellen Wertes von V wird eine optimale Aktion a ausgewählt und der Wert von
V aktualisiert (Leslie Pack Kaelbling, 1996):
Algorithm 1 (Value-Iteration)
Initialisiere V(s) zufällig
while Policy nicht gut genung do
for s ∈ S do
for a ∈ A do
P
Q(s, a) := R(s, a) + γ s0 ∈S T (s, a, s0 )V (s0 )
end forV (s) := maxa Q(s, a)
end for
end while
Es kann gezeigt werden, dass der obige Algorithmus terminiert und für t → ∞
gegen V ∗ konvergiert. Als Stopkriterium wird häufig die maximale Differenz zwischen zwei aufeinander folgenden Schätzungen der Bewertungsfunktion herangezogen. Wenn die maximale Differenz kleiner als ein vorgegebenes ² ist, unterscheidet
sich die Bewertungsfunktion V von der optimalen Bewertungsfunktion V ∗ um nicht
mehr als 2²γ/(1 − γ) (Williams und Baird, 1993).
3.3.2 Modellfreier Ansatz - Q-Learning
In vielen realen Agentenproblemen sind weder die Übergangswahrscheinlichkeiten
T (s, a, s0 ), noch die Gewinnfunktion R(s, a) bekannt. In solchen Domänen können
Verfahren wie das Value-Iteration nicht angewandt werden. Für diese Probleme
existieren modellfreie Ansätze wie das so genannte Q-Learning (C. J. C. H. Watkins, 1989), das anstatt des Nutzens eine Aktion-/ Werte-Repräsentation lernt. Mit
Q(s, a) bezeichnet man den Wert der Ausführung von Aktion a in Zustand s. Das
heißt, dass V (s) = maxa Q(a, s) ist. Aufgrund dieser Tatsache können wir Q(s, a)
auch folgendermaßen ausdrücken:
X
Q(s, a) = R(s, a) + γ
T (s, a, s0 )maxn0 Q∗ (s0 , a0 )
s0 ∈S
Diese Gleichung benutzt noch die Übergangswahrscheinlichkeiten aber durch das
Verwenden des Temporal-Difference (TD) Learning (Sutton und Barto, 1998) er-
25
Kapitel 3 Verfahren des Maschinellen Lernens und neuronale Techniken
halten wir die Q-Lernregel:
Q(s, a) := Q(s, a) + α(r + γmaxa0 Q(s0 , a0 ) − Q(s, a))
wobei 0 ≤ α ≤ 1 die Lernrate ist. Es kann gezeigt werden, dass die Q-Werte gegen die
optimalen Q∗ Werte konvergieren, wenn jede Aktion in jedem Zustand häufig genug
ausgeführt wurde. Die Q-Lernregel ist eine TD-Gleichung, da sie für die Aktualisierung die Differenzen der aufeinander folgenden Q-Werte benutzt. TD Learning ist
eine Kombination von Monte Carlo Ideen und dynamischer Programmierung (Sutton und Barto, 1998), die kein Modell der Umgebung benötigt und direkt aus der
Interaktion mit der Umwelt lernen kann:
Algorithm 2 (Q-Learning)
Initialisiere Q(s, a) = 0 für alle s ∈ S und alle a ∈ A
while Agent lebt do
Wähle Aktion a und führe sie aus
Erhalte Belohnung r
Beobachte den neuen Zustand s’
Aktualisiere den Eintrag für Q(s, a) auf folgende Weise:
Q(s, a) := Q(s, a) + α(r + γmaxa0 Q(s0 , a0 ) − Q(s, a))
s := s0
end while
Die Schwierigkeit beim Q-Learning liegt in dem Kompromiss zwischen Exploration und Exploitation. Auf der einen Seite sollte der Agent die Aktionen bevorzugen,
die sich in der Vergangenheit als nützlich erwiesen haben (Exploitation) auf der
anderen Seite muss er, um solche Aktionen zu finden, Aktionen ausprobieren, die er
noch nicht benutzt hat (Exploration). Weder Exploration noch Exploitation alleine
reichen aus, um die Aufgabe hinreichend zu erfüllen. Wenn die Q-Werte schon fast
konvergiert sind, kann der Agent in jeder Situation „greedy“ handeln und die Aktion mit dem größten Q-Wert wählen. Während des Lernens stellt das „Exploration
vs. Exploitation“-Dilemma allerdings ein schwieriges Problem dar. In der Literatur
finden sich einige Lösungsansätze wie die Boltzman-Exploration, die mit Abnahme eines Temperaturparameters die Wahrscheinlichkeit zur Exploration verringert.
Für einen genaueren Überblick sei aber hier auf folgende Literatur verwiesen (Leslie
Pack Kaelbling, 1996).
3.4 Evolutionäre Algorithmen
Ein Evolutionärer Algorithmus (EA) ist ein populationsbasierter Ansatz, der zur
Lösung von Optimierungsproblemen benutzt wird, und durch den Darwinschen Evolutionsprozess motiviert ist. EA sind seit Beginn der 1990’er Jahre zu einem sehr
26
3.4 Evolutionäre Algorithmen
aktiven Forschungsfeld geworden was unter anderem an ihrer universellen Anwendbarkeit und einfachen Grundprinzipien liegt. Bevor eine genauere Definition der EA
folgt, soll hier kurz auf die grundlegenden Paradigmen der biologischen Evolution
eingegangen werden.
Ein zentrales Konzept der Evolution stellt die Population dar, die eine Menge
von Individuen der gleichen Spezies beschreibt. Die Eigenschaften der einzelnen
Individuen, die durch das Genom kodiert sind, können bei der Reproduktion auf
die nächste Generation übertragen werden (Vererbung). Jedes Genom besteht aus
mehreren Chromosomen in Form von DNA-Molekülen. Jedes Chromosom wiederum
enthält eine große Anzahl von Genen, die den Bauplan des Individuums enthalten.
Das komplette Genom wird auch als Genotyp bezeichnet. Während der Entwicklung wird die gespeicherte Information in den Phänotyp übersetzt. Der Genotyp
bezeichnet die Gesamtheit aller Gene, von denen aber nicht alle ausgeprägt sein
müssen. Der Phänotyp geht aus der Translation der Gene des Genotyp und der
Interaktion mit der Umwelt hervor und ist die Summe aller äußerlichen Merkmale
des Individuums, welche den reproduktiven Erfolg (Fitness) bestimmen.
Evolution basiert auf dem Prinzip des „Survival of the fittest“. Die beiden Hauptmechanismen, die von Charles Darwin 1848 in seinem wegweisenden Buch „On the
origin of species by natural selection“ beschrieben wurden, sind Variation von Individuen und Selektion. Durch den Prozess der Selektion wird entschieden, welche
Individuen Nachkommen erzeugen dürfen und die Variation bestimmt, wie diese
Nachkommen erzeugt werden.
Im Folgenden sollen als erstes die grundlegenden Strukturen von EA-basierten
Algorithmen erklärt werden, um im Anschluss die beiden Ausprägungen „Genetische
Algorithmen“ und „Genetische Programmierung“ genauer zu betrachten.
3.4.1 Die Struktur Evolutionärer Algorithmen
EA sind stochastische Suchverfahren, die sich an die Prinzipien der natürlichen
Evolution wie Selektion, Mutation und Rekombination anlehnen. Wie auch ihr biologisches Vorbild operieren sie gleichzeitig auf einer Population P = Ai1≤i≤n von
Individuen, den potentiellen Lösungen des Optimierungsproblem. Durch das Prinzip des „Survival of the fittest“ werden nach und nach bessere Lösungen evolviert.
Individuen die besser an ihre Umwelt angepasst sind haben höhere Reproduktionschancen.
Besondere Relevanz hat die genotypische Repräsentation der einzelnen Individuen. Die Beschreibung der Lösungskandidaten findet durch die künstlichen Chromosomen (Genotyp) statt. Ein künstliches Chromosom besteht aus einer Zeichenkette,
die durch eine Dekodierungsfunktion dec : G → Ω in den phänotypischen Suchraum Ω des Problems übersetzt wird. Für die Repräsentation des Genotyps bieten
sich verschiedene Verfahren wie die Binär-Kodierung (Chromosomen sind Vektoren
27
Kapitel 3 Verfahren des Maschinellen Lernens und neuronale Techniken
von Bits) an, wobei in letzter Zeit zunehmend andere Kodierungsformen, die z.B.
auf reellen Zahlen basieren, benutzt wurden. Im Allgemeinen kann man nicht von
einer Kodierungsform sprechen, die allen anderen überlegen ist, da die Form der
Repräsentation immer sehr stark vom zu lösenden Problem abhängt.
Die Vorteile von Evolutionären Algorithmen wurden in (Fogel, 1997) zusammengefasst:
• Einfaches Konzept
• Breite Anwendbarkeit
• Bei vielen realen Problemen klassischen Verfahren überlegen
• Inhärent parallel
• Robust gegenüber dynamischen Veränderungen
• Fähigkeit der Selbstoptimierung
• Fähigkeit, Probleme mit keiner bekannten Lösung zu lösen
Grundlegend arbeitet der Algorithmus dabei in folgenden Schritten:
Algorithm 3 (Evolutionärer-Algorithmus)
Initialisierung
while Abbruchkriterium noch nicht erfüllt do
Fitnesszuweisung und Selektion
Rekombination
Mutation
Umweltselektion
end while
Im Folgenden sollen die einzelnen Phasen des EA genauer beschrieben werden.
Initialisierung
Der erste Schritt des EA (Pohlheim, 2000) ist die Initialisierung, welche die Anfangspopulation erstellt. Hierbei werden die Individuen meistens zufällig generiert.
Zusätzlich besteht die Möglichkeit, Individuen aus den Lösungen anderer Optimierungsverfahren zu gewinnen.
28
3.4 Evolutionäre Algorithmen
Fitnesszuweisung und Selektion
Durch die Selektion wird entschieden, welche Individuen ihren genetischen Code auf
die nachfolgende Generation übertragen dürfen und wie viele Nachkommen sie abhängig von ihrer Fitness produzieren sollen. Jedem Kandidaten x ∈ Ω mit Genotyp g
wird aufgrund einer Leistungsbewertung ein Zielfunktionswert f (x) zugewiesen. Die
induzierte Bewertungsfunktion B : G → < kann folgendermaßen definiert werden:
B(g) := f (dec(g))
Als Fitnesswert kann entweder direkt die Bewertungsfunktion benutzt werden (raw
fitness F = B) oder durch Fitnesszuweisung ein Wert der in Abhängigkeit der
Bewertungsfunktion aller anderen Individuen der Population bestimmt wird. Die
Fitnesszuweisung führt eine Transformation der Zielfunktionswerte in nichtnegative
Werte durch, wobei folgende Verfahren benutzt werden können:
• proportionale Fitnesszuweisung
• rangbasierte Fitnesszuweisung
Bei der proportionalen Fitnesszuweisung (Goldberg, 1989) wird dem Individuum
ein Fitnesswert F zugewiesen, der proportional zu seiner Bewertungsfunktion B ist:
• lineare Skalierung: F (i) = α + B(i)β
• logarithmische Skalierung: F (i) = β − log(B(i))
• exponentielle Skalierung: F (i) = (αB(i) + β)k
wobei α, β, k problemspezifische Skalierungsgrößen sind. Dies kann allerdings zu
Problemen führen, wenn alle Individuen in etwa die gleiche Güte haben. In diesem Fall unterscheiden sich ihre Fitnesswerte nur geringfügig voneinander und die
Auswahl der Individuen erfolgt eher zufällig. Der resultierende geringere Selektionsdruck kann es zu einer frühzeitigen Stagnation der Evolution führen. Ein weiteres
Problem tritt auf, wenn ein paar der Individuen alle anderen dominieren. Dies hat
zur Folge, dass diese wenigen sehr viele Nachkommen erzeugen und die Individuen
mit geringerer Fitness fast überhaupt keine Chance zur Reproduktion haben. Der
erhöhte Selektionsdruck kann zu einer frühzeitigen Konvergenz des evolutionären
Prozesses führen (premature convergence), wodurch die Diversität im Genpool der
Population verloren geht.
Um die angesprochenen Probleme der proportionalen Fitnesszuweisung zu umgehen, hat sich in der Praxis die rangbasierte Fitnesszuweisung (Pohlheim, 2000)
etabliert, welche folgende Form aufweist:
F (i) =
2
r(i) − 1
(1 −
)
n
n−1
29
Kapitel 3 Verfahren des Maschinellen Lernens und neuronale Techniken
wobei n die Anzahl aller Individuen und r(i) der von der Zielfunktion abhängige
Rang des Individuums i ist. Der Selektionspool wird entsprechend der Zielfunktion sortiert, was zu einer gleichmäßigeren Verteilung der Fitnesswerte führt und die
angesprochenen Probleme der proportionalen Zuweisung vermeidet. Ein genauerer Vergleich der verschiedenen Verfahreren zur Fitnesszuweisung ist bei Pohlheim
(2000) zu finden, der die rangbasierten Verfahren empfiehlt.
Zur Auswahl der Eltern, die an der Erzeugung der neuen Individuen beteiligt sein
sollen, bieten sich verschiedene Selektionsverfahren an:
• Fitnessproportionale Selektion (Rouletteselektion, stochastisches universelles
Sampling, etc.)
• q-fache Turnierselektion
• Truncation-Selektion
Bei der fitnessproportionalen Selektion ergibt sich die Wahrscheinlichkeit pk mit der
das k-te Individuum gewählt wird durch:
Fk
pk = P
i Fi
Diese Art der Selektion kann sehr effizient durch stochastisches universelles Sampling
(Baker, 1987) oder durch Rouletteselektion implementiert werden. Bei der Rouletteselektion werden den Fitnesswerten der Individuen Abschnitte auf einer Linie zugeordnet. Dann wird eine Zufallszahl r zwischen 0 und der Länge der Linie bestimmt
und das Individuum gewählt, in dessen Abschnitt r fällt. Dieses Verfahren lässt sich
grafisch als Roulette veranschaulichen, wobei die Flächengrößen der Abschnitte der
Fitness der Individuen entsprechen (Abbildung 3.5). Ein alternativer Ansatz zur
fitnessproportionalen Selektion ist die q-fache Turnierselektion (Goldberg und Deb,
1991). Hierbei werden Turniere zwischen q Individuen der Population durchgeführt,
wobei jeweils das Individuum mit der höchsten Fitness gewinnt. Die Auswahl der
Individuen erfolgt zufällig und die Anzahl an Turnieren wird durch die Menge der
zu selektierenden Individuen bestimmt.
Die Truncation-Selection (Blickle und Thiele, 1995) führt zur Auswahl der besten
n Individuen. Sie werden aufgrund ihrer Fitness sortiert und anhand eines Schwellwertes (Trunc), der den Selektionsanteil der Individuen bestimmt, selektiert. Wie
im Fall der Turnierselektion, spielt nicht der absolute Betrag sondern nur die Reihenfolge der Fitnesswerte eine Rolle.
Rekombination
Die Rekombination erlaubt die Verknüpfung von verschiedenen Regionen des Lösungsraumes. Dabei wird aus zwei oder mehr Elternpaaren die Nachfolgegenerati-
30
3.4 Evolutionäre Algorithmen
1
5
2
4
3
Abbildung 3.5: Das Roulette Selektionsverfahren: Die Wahrscheinlichkeit eines
Individuums, selektiert zu werden (die Flächengröße), ist proportional zu seiner
Fitness.
Crossover-Point
Abbildung 3.6: Single-Point-Crossover. Der Crossoverpunkt wird zufällig bestimmt.
on erzeugt. In Abhängigkeit der Repräsentation können dabei verschiedene Verfahren angewandt werden. Die am häufigsten benutzte Variante ist der SinglePoint-Crossover (Holland, 1975), der auf Individuen mit binärer Repräsentation
der Variablen angewandt werden kann (Abbildung 3.6). Ein einzelner Crossoverpunkt wird zufällig gewählt, wobei der erste Teil des ersten Chromosoms mit dem
zweiten Teil des zweiten Chromosoms verknüpft wird. Dieser Ansatz lässt sich
auf ein n-Point-Crossover erweitern. Dabei werden n verschiedene Crossoverpunkte
pi ∈ 1, 2, . . . , n − 1 bestimmt. Der Nachkomme y der Eltern x1 und x2 wird folgendermaßen definiert:
y = x1 [1]x1 [2] . . . x1 [p1 ]x2 [p1 + 1] . . . xx [p1 + p2 ]x1 [p1 + p2 + 1] . . .
mit p1 < p2 < p3 . . . < pn .
Beim uniformen-Crossover (Syswerda, 1989) kann zwischen allen Positionen der
Chromosomen ein Austausch der Variablen stattfinden.
31
Kapitel 3 Verfahren des Maschinellen Lernens und neuronale Techniken
Abbildung 3.7: Mutation.
Mutation
Bei der Mutation werden mit einer bestimmten Wahrscheinlichkeit die Variablen der
Individuen geändert. Da in dieser Arbeit durchgehend eine binäre Repräsentation
gewählt wurde, soll im Weiteren nur auf diesen Typ eingegangen werden.
Meistens wird der Mutationsoperator nach der Rekombination angewandt. Bei
der binären Repräsentation bedeutet Mutation das zufällige Invertieren von Bits.
Die Wahrscheinlichkeit pm für das Invertieren jedes einzelnen Bits wird meistens
von der Individuenlänge l abhängig gemacht (pm = 1/l). Eine effiziente Implementierung, welche die Abstände zwischen den zu invertierenden Bits bestimmt, basiert
auf der geometrischen Verteilung. Die Positionen der Bits werden folgendermaßen
berechnet:
º
¹
log(u)
pos ← pos +
log(1 − pm)
wobei u eine gleichverteilte Zufallsvariable im Interval [0, 1) ist.
Bei der reellwertigen Mutation werden zufällig erzeugte Werte mit einer geringen Wahrscheinlichkeit auf die Variablen addiert (Pohlheim, 2000). Dabei müssen
sowohl die Mutationsrate als auch die Mutationsschritte bestimmt werden, die die
Größe der Veränderungen angeben. Oftmals werden Probleme, deren Variablen eigentlich reelle Zahlen sind (Phänotyp), in eine binäre Repräsentation umgewandelt
(Genotyp) auf die dann der EA angewandt wird. Dabei sind die binäre Kodierung
und die Gray-Kodierung die am häufigsten benutzten Verfahren. Bei der binären
Kodierung repräsentiert die Zeichenkette A = Ai ...Al ∈ 0, 1l die folgende reelle Zahl
aus dem Intervall [ug, og]:
decsbin (A) =def ug +
l−1
og − ug X
Al−j 2j
2l − 1
j=0
Durch die Gray-Kodierung wird die binär kodierte Zeichenkette A folgendermaßen
in die Sequenz B = B1 ...Bl übersetzt:
(
Ai , i = 1
Bi =
Ai−1 ⊗ Ai , i > 1
mit ⊗=Addition modulo 2. Über die Frage, welche von beiden Kodierungen günstiger ist, lässt sich keine allgemein gültige Aussage treffen. Die zu wählende Kodierung
32
3.4 Evolutionäre Algorithmen
ist sehr stark vom aktuellen Problem abhängig und kann sogar durch deren Länge
beeinflusst werden (Jones und Forrest, 1995).
Umweltselektion
Die durch Rekombination und Mutation neu erzeugten Individuen müssen noch in
die neue Population integriert werden. Genau dies leistet die Umweltselektion. Dazu
muss bestimmt werden, wie viele Nachkommen in die Population eingefügt und welche Individuen ersetzt werden sollen. Dies hängt von dem Parameter g (generation
gap) ab, der den Prozentsatz der zu ersetzenden Population pro Generationsschritt
bestimmt. Zwei gebräuchliche Wiedereinsetzungsstrategien sind
• Generational Replacement:
Alle Individuen der Popluation werden durch die gleiche Anzahl von Nachkommen ersetzt (g=1).
• Steady-State Replacement:
Nur ein paar Individuen werden in jedem Schritt ersetzt. Bei dieser Art der
Wiedereinsetzungsstrategie ist g üblicherweise gleich 1/N oder 2/N , mit der
Populationsgröße N . Um N konstant zu halten müssen N · g Individuen entfernt werden, wobei verschiedene Strategien verfolgt werden können (Entfernung des schlechtesten/ältesten Individuum, etc.).
Meistens wird das beste Individuum ohne Rekombination und Mutation auf die
nachfolgende Generation übertragen, um so zu gewährleisten, dass die bisher beste
Lösung nicht zerstört wird (Elitismus).
3.4.2 Implementierungen Evolutionärer Algorithmen
Bei den „Evolutionären Algorithmen“ handelt es sich um einen Oberbegriff für eine
ganze Klasse von verschiedenen Ansätzen, die sich unabhängig voneinander entwickelt haben:
• Genetische Algorithmen (GA) (Holland, 1975)
• Genetische Programmierung (GP) (Koza, 1992)
• Evolutionäre Strategien (ES) (Rechenberg, 1973)
• Evolutionäre Programmierung (EP) (Fogel u. a., 1966)
Diese verschiedenen Ausprägungen von EA verwenden alle die Grundelemente wie
Selektion und Variation, unterscheiden sich aber besonders in der Art, wie sie die Lösungskandidaten repräsentieren und neue Lösungen generieren. Im Folgenden sollen
kurz die Eigenheiten der Genetischen Algorithmen und Genetischen Programmierung betrachtet werden, da sie die gebräuchlichsten EA im Agentenlernen sind.
33
Kapitel 3 Verfahren des Maschinellen Lernens und neuronale Techniken
Genetische Algorithmen
Genetische Algorithmen wurden ursprünglich von John Holland entwickelt, als eine
Form der stochastischen Suche, die den Darwinschen Evolutionsprozess zum Vorbild hat (Holland, 1975). Sie sind der am weitesten verbreitete Typ von EA und
dadurch gekennzeichnet, dass der Selektionsdruck durch eine probabilistische Selektion der Eltern erzeugt wird. Meistens wird bei den GA eine binäre Repräsentation
der Lösungskandidaten gewählt mit der Mutation als primärem Operator und eher
geringer Rekombinations-Rate.
Genetische Programmierung
Bei der Genetischen Programmierung (Koza, 1992) werden im Unterschied zu den
GAs ganze Computerprogramme in Form von Syntaxbäumen evolviert. Dieser Syntaxbaum legt die Reihenfolge fest, in der die Funktionen des Programms aufgerufen
werden. Jedes einzelne Mitglied der Population beschreibt ein ausführbares Programm, das z.B. in Form von Lisp Ausdrücken vorliegt; die Sprache, die Koza am
Anfang für die GP benutzt hat. Im ersten Schritt werden die für das spezifische Problem benötigten Funktionen, die sich in den inneren Knoten wieder finden und die
Variablensets, die sich an den äußeren Blattknoten befinden, bestimmt. Im zweiten
Schritt wird eine initiale Population von zufälligen Programmen erzeugt, indem für
jeden Knoten des Baumes zufällig Elemente aus dem Funktios- und Variableset gewählt werden. Die Bäume können so eine beliebige Größe und Form annehmen und
sind nur durch einen vorher gewählten Wert in ihrer maximalen Tiefe beschränkt.
Dies führt dazu, dass die Genotypen der Individuen nicht mehr notwendigerweise
die gleiche Länge haben, wie es z.B. bei den GAs der Fall ist. Dann wird die Fitness
jedes Individuums durch die Ausführung des entsprechenden Programms ermittelt.
Abbildung 3.8 zeigt ein Beispiel für die Repräsentation von einem Steuerungsprogramm für einen zielsuchenden Roboter. Das Funktionsset besteht aus den folgenden drei Elementen: IfObjectInView( , ), Turn(), ChangeSpeed(). Der Operator
IfObjectInView hat zwei Funktionen als Argumente. Diese beschreiben was zu tun
ist, wenn ein Objekt sichtbar bzw. kein Objekt sichtbar ist. Die Terminalsymbole sind reellwertige Zahlen, die angeben, um welche Größenordnung die Richtung
und Geschwindigkeit geändert werden sollen. Der Syntaxbaum lässt sich in die folgende Anweisung übersetzen: IfObjectInView(ChangeSpeed(1),Turn(30)). Falls der
Roboter ein Objekt sieht, soll er seine Geschwindigkeit um eins erhöhen, sonst eine
Rotation von 30◦ durchführen.
Beim Crossover werden Teilbäume zwischen Eltern ausgetauscht, indem zufällig
ausgewählte Knoten getauscht werden (Abbildung 3.9). Bei der Mutation werden
zufällig Knoten gelöscht oder durch neue zufällige Teilbäume ersetzt, wobei darauf
geachtet werden muss, dass wieder ein syntaktisch korrekter Baum entsteht.
34
3.4 Evolutionäre Algorithmen
Abbildung 3.8: Ein einfaches Programm in der GP (Wahde, 2004).
Koza benutzt in seinen Arbeiten zur GP fast nur den Crossover-Operator (Koza,
1992). Er argumentiert, dass Mutation in der GP unnütz ist, aufgrund der Positionsunabhängigkeit der Teilbäume und der großen Anzahl von Chromosompositionen
in typischen GP Populationen. Seine Thesen belegt er anhand von Experimenten
zur Evolution eines booleschen Multiplexers. In vielen Anwendungen wird meistens
ganz auf den Mutations-Operator verzichtet und stattdessen eine hohe Crossoverrate zusammen mit einer großen Population gewählt. Obwohl Luke und Spector
(1997) auch zu dem Ergebnis kommen, dass Crossover im Allgemeinen erfolgreicher
ist, zeigen sie anhand einiger Experimente die Vorteile der Mutation. Besonders bei
kleinen Populationen liefert dieser Operator alleine bessere Ergebnisse.
Wie genau Crossover und Mutation allerdings zusammenhängen, ist immer noch
eine viel diskutierte Frage. An dieser Stelle soll ein Zitat von Mitchell (1996) angeführt werden:
„... it is not a choice between crossover or mutation but rather the balance among crossover, mutation, and selection that is all important. The
correct balance also depends on details of the fitness function and the
encoding. Furthermore, crossover and mutation vary in relative usefulness over the course of a run. Precisely how all this happens still needs
to be elucidated.“
3.4.3 Evolutionäre Künstliche Neuronale Netze
Evolutionäre Künstliche Neuronale Netze (EANN) sind eine Kombination von Künstlichen Neuronalen Netzen und Genetischen Algorithmen. Yao (1993) und Whitley
(1995) bietet einen guten Überblick über das Thema. Einer der Hauptvorteile von
EANN ist ihre große Adaptionsfähigkeit in unbekannten Umgebungen, die durch
drei unterschiedliche Evolutionsansätze gewährleistet wird:
• Evolution der Gewichte
• Evolution der Architektur
35
Kapitel 3 Verfahren des Maschinellen Lernens und neuronale Techniken
Abbildung 3.9: Sub-Tree-Crossover generiert Programme aus existierenden Programmen. Die Teilbäume werden zufällig von den Syntaxbäumen der Eltern ausgewählt und dann getauscht, um die Programme der Kindbäume zu generieren
(Lones und Tyrrell, 2004).
• Evolution der Lernregeln
Im Folgenden sollen diese drei Methoden näher betrachtet werden.
Evolution der Gewichte
Die Evolution der Gewichte ist ein alternativer Ansatz zum Training von KNN.
Dabei bieten sich zwei verschiedenen Kodiersysteme an: binäre und reellwertige.
Bei der binären Kodierung ist jedes Gewicht in dem KNN als binäre Zeichenkette
(mit bestimmter Länge) repräsentiert. Für die Dekodierung in reellwertige Gewichte
eignen sich dabei verschiedene Verfahren wie die einfache binäre Kodierung oder die
Gray-Kodierung. Ein wichtiger Punkt ist die zu erreichende Genauigkeit. Wenn zu
wenig Bits benutzt werden, kann es vorkommen, dass manche Kombinationen von
reellwertigen Verbindungsgewichten nicht evolviert werden können. Auf der andere
Seite kann eine Repräsentation mit zu vielen Bits dazu führen, dass der evolutio-
36
3.4 Evolutionäre Algorithmen
näre Prozess ineffizient wird. Ein Nachteil der binären Kodierung ist die schlechte
Skalierbarkeit. Bei mehreren tausend Bits sind GA eher ineffizient.
Eine andere Form der Repräsentation besteht darin, reellwertige Zahlen zu nehmen. Hierbei müssen die genetischen Operatoren angepasst werden. Der Rekombinationsoperator tauscht Zahlen zwischen zwei Chromosomen und der Mutationsoperator fügt in den meisten Implementierungen eine gaussverteilte Zufallszahl hinzu
(Gaussian-Random-Mutation).
Sexton u. a. (1998) hat in seiner Arbeit Backpropagation und GA als Trainingsmethoden für NN verglichen. Die Evolution der synaptischen Gewichte hat den Vorteil,
dass es keine Einschränkung bezüglich der Architektur oder der verwendeten Aktivierungsfunktionen gibt. Gradientenabstiegsverfahren wie Backpropagation verlangen differenzierbare Aktivierungsfunktionen und können in ihrer ursprünglichen
Form keine rekurrenten Netze trainieren. Da es sich um einen lokalen Suchalgorithmus handelt, hat BP die Tendenz, in lokalen Minima hängenzubleiben. Besonders
bei stark zerklüfteten, multimodalen Fehlerflächen steigt die Wahrscheinlichkeit, in
einem lokalen anstatt dem globalen Minimum zu landen. Modifikationen des BP
(z.B. Momentum-Turm), die dieser Eigenschaft entgegenwirken, sind meistens abhängig von weiteren Variablen, die aber a priori nicht bekannt sind. Dies führt
dazu, dass eine große Anzahl von unterschiedlichen Einstellungen ausprobiert werden müssen, um zu gewährleisten, dass das globale Minimum gefunden wird. GA
sind globale Suchverfahren die keine Informationen über den Gradienten der Fehlerfläche benötigen und gut geeignet für multimodale Fehlerflächen sind. Die Netze
können sowohl differenzierbare als auch nicht differenzierbare Aktivierungsfunktionen enthalten und eine beliebige Topologie besitzen.
Für das Training von KNN als Steuerungseinheit für Agenten, erfordert Backpropagation konkrete Trainingsbeispiele, die aber in vielen Fällen nicht verfügbar sind.
Hier bieten sich EANN an, da sie dem Agenten die Möglichkeit geben, in Interaktion
mit einer dynamischen Umwelt zu lernen (siehe Kapitel 4).
Evolution der Architektur
Die Architektur der KNN besteht zum einen in den Verschaltungen zwischen den
Neuronen als auch aus den verwendeten Transferfunktion. Die Netztopolgie hat
gravierenden Einfluss darauf, welche Funktionen überhaupt gelernt werden können
(Rojas, 1996). Meistens wird die Topologie von einem menschlichen Experten in
langwierigen Prozessen bestimmt. Bis jetzt gibt es noch keine Methode, die für ein
gegebenes Problem automatisch die optimale Netztopologie bestimmen kann.
Bei der genotypischen Repräsentation der Architektur lassen sich zwei verschiedene Verfahren unterscheiden. Auf der einen Seite gibt es die direkte Kodierung. Hier
wird jede Verbindung und jedes Neuron explizit in den Chromosomen kodiert. Für
diese Form der Kodierung wird oft eine Matrix c verwendet, wobei cij angibt, ob
37
Kapitel 3 Verfahren des Maschinellen Lernens und neuronale Techniken
eine Verbindung zwischen den beiden Neuronen i und j besteht. Die binäre Repräsentation besteht aus einer Hintereinanderreihung der Zeilen dieser Matrix. Diese
Art der Kodierung eignet sich für kleine Topologien, die nur eine begrenzte Anzahl
von Neuronen besitzen. Der Ansatz lässt sich aber nicht gut auf größeren Topologien
skalieren.
Um die Länge der Chromosomen zu reduzieren wird oftmals die indirekten Kodierung gewählt. Hier werden nur die wichtigsten Merkmale der Topologie vordefiniert und der Rest wird durch so genannte Entwicklungsregeln spezifiziert (Gruau,
1995). Diese Art der Kodierung ist sowohl biologisch plausibler als auch kompakter. Entwicklungsregeln können durch rekursive Gleichungen oder Grammatikregeln beschrieben werden. Die Verschaltung des Netzes wird ausgehend von einer
einelementigen Matrix durch wiederholte Anwendung der Entwicklungsregeln auf
nicht-terminale Elemente erzeugt, bis nur noch terminale Elemente (0 oder 1) das
Vorhandensein oder die Abwesenheit einer Verbindung angeben.
Evolution der Lernregeln
Genetische Algorithmen können auch benutzt werden, um die Lernregeln in einem
KNN zu evolvieren. Eine Lernregel verändert das Gewicht einer synaptischen Verbindung aufgrund von lokal zugänglichen Informationen wie der postsynaptischen
Aktivität aj , presynaptischen Aktivität oi und des aktuellen Gewichts wij (Abbildung 3.10). Im Allgemeinen läst sich also eine Lernregel Φ als folgende Funktion
beschreiben:
∆wij = Φ(aj , oj , wij )
Meistens handelt es sich um Formen von Hebbschen Lernregeln, die durch folgende
biologische Beobachtung motiviert sind (Hebb, 1949):
„When an axon of cell A excites cell B and repeatedly or persistently
takes part in firing it, some growth process or metabolic change takes
place in one or both cells so that A’s efficiency as one of the cells firing
B is increased“
presynaptic unit
postsynaptic unit
synapse
w
j
i
signal flow direction
Abbildung 3.10: Der Signalfluss in einem Neuronalen Netz.
38
3.5 Vorteile der Evolutionären Algorithmen gegenüber Reinforcement-Lernen
Die Evolution von Lernregeln soll anhand der sogenannte Plastischen Neuronalen
Netze in Kapitel 5.4 genauer beschrieben werden.
3.5 Vorteile der Evolutionären Algorithmen gegenüber
Reinforcement-Lernen
Sowohl EA als auch RL basierte Verfahren versuchen das gleiche Problem zu lösen: Die Fitness eines Agenten in einer möglicherweise unbekannten Umgebung zu
maximieren. Schmidhuber (2000) hat in seiner Arbeit verschiedene Vorteile der EA
herausgearbeitet, wobei die Wichtigsten hier kurz erwähnt werden sollen:
• Keine Zustände
Klassische RL Verfahren (wie der Q-Learning Algorithmus) verlangen einen
diskreten Zustands-Aktionsraum. Dies ist aber häufig bei realen Anwendungen nicht der Fall. Sie zeichnen sich meistens durch kontinuierliche Zustandsund Aktionsräume aus. Daher muss die Umgebung erst in eine endliche Anzahl von diskreten Zuständen quantisiert werden, was zwar zu einer höheren
Genauigkeit führt, aber auch den benötigten Rechenaufwand exponentiell anwachsen lässt. In realen Anwendungen, die einen kontinuierlichen ZustandsAktionsraum besitzen, sind daher Verfahren des RL nur eingeschränkt anwendbar.
EA benötigen keine Diskretisierung in verschiedene Zustände und keine Wertefunktion. Sie verlangen lediglich die Definition einer angemessenen Fitnessfunktion, welche die automatisierte Evolution der gewünschten Verhaltensweisen ermöglicht.
• Keine Markovrestriktionen
Bei den meisten RL-Implementierungen müssen in jedem Zustand alle Informationen vorhanden sein, um die optimale nächste Aktion zu wählen. Um
doppeldeutige Zustände zu unterscheiden, wird aber oftmals Wissen über vorausgegangene Ereignisse benötigt.
EA benötigen keine Markoveigenschaften oder eine vollständig beobachtbare
Umgebung. Besonders die Verknüpfung von EA und rekurrenten Neuronalen
Netzen erlaubt einen Einsatz dieser Systeme in nicht-Markovschen Aufgabenstellungen (Gomez und Miikkulainen, 1999).
• Nicht-Hierarchisches abstraktes Credit-Assignment
Es finden sich häufig nicht-hierarchische Regelmäßigkeiten in den zu lernenden
Problemen die von RL-Algorithmen nicht ausgenutzt werden können. Angenommen, Programm A wurde von dem RL-Algorithmus gefunden und kann
in Programm B überführt werden, wenn alle Ausdrücke der Form „dreh dich
39
Kapitel 3 Verfahren des Maschinellen Lernens und neuronale Techniken
nach links“ durch Ausdrücke der Form „dreh dich nach rechts“ ersetzt werden.
Es müsste daher für das RL-System leichter sein, B zu lernen, wenn es schon
A gelernt hat.
Während dies bei den RL-Systemen nicht der Fall ist, sind EA in der Lage,
diese Regelmäßigkeiten durch ihre genetischen Operatoren auszunutzen und
die Lösung in kürzerer Zeit zu gewinnen.
40
Kapitel 4
Evolutionäre Autonome Agenten
In diesem Kapitel wird das Konzept des Evolutionären Agenten beschrieben. Neben Beispielen für die Evolution von Verhalten in Einzel-Agenten-Umgebungen werden die existierenden Ansätze zur Evolution von kooperativem Verhalten in MultiAgenten-Systemen präsentiert.
4.1 Einführung
Die Evolutionären Autonomen Agenten (EAA) sind ein relativ neues Forschungsfeld,
welches versucht, das Paradigma der Intelligenten Agenten mit den Evolutionären
Algorithmen zu verknüpfen (Ruppin, 2002; Pereira und Costa, 2001; P. Cristea und
Nitulescu, 2000). Ein Schwerpunkt der EAA ist die Evolutionäre Robotik (ER)1
wobei besonders die Arbeiten von (Nolfi und Floreano, 2004), (Pollack u. a., 2000)
und (Nordin u. a., 1998) zu erwähnen sind.
Ziel des evolutionären Ansatzes ist die automatisierte Entwicklung von effizienten Kontrollstrukturen für Agenten. In dieser Hinsicht haben sie sich in einer Reihe
von Experimenten den klassischen Verfahren der KI gegenüber überlegen gezeigt
(Brooks, 1990). Diese beschäftigen sich eher mit der abstrakten Definition der Umgebung und dem nötigen Wissen zur Lösung der gegebenen Aufgaben. Die EAA
betonen die Interaktion des Individuums mit seiner Umwelt und der daraus resultierenden dynamsischen Entwicklung des Kontrollsystems.
Es ist schwer, alle möglichen Situationen vorauszusehen, denen der Agent in einer
unbekannten Umgebung begegnen kann. Handkodierte Kontrollstrukturen zeigen
sich dementsprechend generell weniger robust. Die EAA benötigen zur automatisierten Suche nur sehr wenig Feedback aus ihrer Umwelt.
1
Die Evolutionäre Robotik betont die Bedeutung von phsyischen Robotern an Stelle von simulierten Agenten. Meistens werden die Kontrollsysteme der Roboter in Simulationen evolviert
und dann auf reale Roboter übertragen wobei zusätzlichen Faktoren Rechnung getragen werden muss (z.B. Reibung, ungenaue Sensoren, Trägheit, etc.). Obwohl in dieser Arbeit nur reine
Simulationsumgebungen verwendet werden (Sensoren unendlich genau, etc.), lassen sich einige
wichtige Erkenntnisse der ER auf die Evolutionären Agenten übertragen.
41
Kapitel 4 Evolutionäre Autonome Agenten
Die erfolgreiche Evolution von sehr verschiedenen Kontrollstrukturen (vorwärtsgerichtete Neuronale Netze (Parisi u. a., 1990), dynamische rekurrente Netze (Beer
und Gallagher, 1992), Lisp-Programme (Koza, 1992)) und die große Anzahl von verschiedenen evolvierten Verhaltensweisen (Futtersuche, Wandfolgeverhalten, Chemotaxis, Tropotaxis, Hindernissvermeidung, etc.) zeigen, dass der evolutionäre Ansatz
ein universelles Werkzeug in vielen verschiedenen Domänen darstellt und eine große
Generalisationsfähigkeit besitzt.
Der Hauptaugenmerk dieser Arbeit liegt in der Benutzung von KNN als Kontrollstrukturen für die Agenten, was sich durch folgende Beobachtungen rechtfertigen
lässt (Nolfi und Floreano, 2004):
• KNN bieten einen relativ gleichmäßigen Suchraum. Graduelle Veränderungen
in den Parametern des KNN (Gewichte, Architektur) führen zu graduellen
Veränderungen im Verhalten des Agenten.
• KNN erlauben die Evolution auf verschiedenen Abstraktionsebenen. Auf der
untersten Stufe können die Gewichte der synaptischen Verbindungen verändert werden oder auf einer höheren Stufe die Koordination von verschiedenen
neuronalen Modulen.
• KNN erlauben verschiedene Formen evolutionärer Adaption. Nolfi unterscheidet drei verschiedene Ausprägungen: phylogenetische (Evolution), entwicklungsgemäß (Reifung) und ontogenetische (Lernen). Diese können auf unterschiedliche Weise kombiniert werden. Z.B. kann die Architektur des Netzes
evolviert werden und die synaptischen Gewichte verändern sich durch die Interaktion mit der Umwelt zur Lebzeit des Individuums.
• KNN erlauben eine direkte Verknüpfung der Sensoren und Aktuatoren. Sie
sind in der Lage, kontinuierliche Eingaben zu verarbeiten und liefern in Abhängigkeit der gewählten Aktivierungsfunktionen entweder kontinuierliche oder
diskrete Ausgaben.
• KNN sind robust gegen verrauschte Signale. Der Output der Neuronen hängt
von der Summe von verschiedenen gewichteten Signalen ab, wodurch die Oszillation von einigen Werten das Verhalten des Netzwerkes nicht drastisch
beeinflusst.
• KNN sind plausible Metaphern für Mechanismen, die adaptives Verhalten erlauben. Sie eignen sich zum Verstehen von biologischen Phänomenen, welche
auf evolutionären Prozessen basieren.
Nolfi und Parisi (1997) haben hervorgehoben, dass essentielle Unterschiede zwischen
der klassischen Ansicht von KNN (die z.B. in überwachten Lernverfahren eingesetzt
42
4.2 Ablauf
werden) und KNN, die in Interaktion mit einer dynamischen Umwelt evolviert werden, bestehen. Letztere existieren in einer Umgebung mit der sie interagieren, wobei
sie sowohl ein „Gehirn“ (Neuronales Netz) als auch einen „Körper“ (Sensoren) besitzen. Bei dem klassischen Gebrauch von KNN werden die Eingabevektoren von einer
externen Person gewählt und dann von dem Netz passiv verarbeitet. Bei Systemen,
die in Interaktion mit ihrer Umwelt stehen, hat der Agent durch sein Verhalten die
Möglichkeit, auf seinen sensorischen Input Einfluss zu nehmen. Dies führt dazu, dass
diese NN in der Lage sind, Regelmäßigkeiten zwischen ihren Aktionen und deren
Konsequenzen zu erkennen und nicht nur Regelmäßigkeiten zu lernen, die Teil der
passiv erhaltenen Eingaben sind.
In diesem Kapitel sollen die Vorteile deutlich gemacht werden, die der Einsatz
von Verfahren der EA zur Generierung von Kontrollsystemen gegenüber „handkodierten“ Implementierungen mit sich bringt. Oftmals ist genau klar, was der Agent
tun soll, aber nicht wie. Die EA finden meistens bemerkenswert simple und sehr effiziente Strategien, die durch andere Verfahren nur schwer zu erreichen sind. Einer der
großen Vorteile der evolvierten Kontrollsysteme ist ihre große Anpassungsfähigkeit
an dynamische Umgebungen.
4.2 Ablauf
Der grundlegende Ablauf der EAA orientiert sich an dem Schema in Abbildung 4.1.
Eine Population von verschiedenen künstlichen Chromosomen (Agenten), welche
die Kontrollsysteme der Individuen kodieren (meistens Neuronale Netze oder direkt
Programme in der GP), werden zufällig erzeugt und in die Umgebung gesetzt.
Jeder Agent kann sich, entsprechend seines genetisch kodierten Programms, frei
bewegen, wobei seine Performance bei verschiedensten Aufgaben automatisch bewertet wird. Die fittesten Agenten dürfen sich reproduzieren und erzeugen Kopien
ihrer selbst, die durch die schon bekannten genetischen Operatoren wie Mutation
bzw. Crossover leichte Veränderungen in ihren Chromosomen aufweisen.
Dieser Prozess wird eine bestimmte Anzahl von Generationen wiederholt bis ein
vorher definiertes Gütemaß erreicht ist.
4.3 Fitnessfunktionen
Das Ergebnis des evolutionären Prozesses ist sehr stark abhängig von der gewählten Fitnessfunktion, deren Entwurf eine der Hauptschwierigkeiten bei autonomen
Systemen ist. Nolfi und Floreano (2004) haben ein Framework herausgearbeitet,
das es erlaubt, verschiedene Arten von Fitnessfunktionen objektiv miteinander zu
vergleichen und zu bewerten. Die Fitnessfunktionen lassen sich aufgrund folgender
Merkmale unterscheiden:
43
Kapitel 4 Evolutionäre Autonome Agenten
Abbildung 4.1: Grundschema des EA zur Generierung von Kontrollstrukturen für
autonome Systeme (Nolfi und Floreano, 2004).
• Externe - Interne Fitness
Eine externe Fitnessfuntion kann von dem Agenten selber nicht gemessen werden (z.B. absolute Koordinaten, absolute Distanz zwischen dem Agenten und
seinem Ziel). Die interne Fitness basiert dagegen auf Informationen, die dem
Agenten durch seine Sensoren direkt zugänglich sind wie z.B. dem Status seiner Batterie oder die Aktivität seiner Infrarotsensoren.
• Funktionale - Behavioral Fitness
Bei der funktionalen Fitnessfunktion werden einzelne Parameter des evolvierten System direkt gemessen. Ein Beispiel, das Nolfi anführt, ist die Evolution
eines laufenden Roboter, der durch neuronale Oszillatoren gesteuert wird. Eine funktionale Fitness würde direkt die Oszillatorfrequenz bewerten, um zu
evaluieren, ob sie die gewünschte Dynamik aufweist. Eine behavioral Fitness
bewertet hingegen direkt das Verhalten des evolvierten Roboters, also in diesem Fall die Strecke, die der Roboter in einer gewissen Zeit zurückgelegt hat.
• Explizit - Implizite Fitness
Bei der expliziten Fitness sind viele Einschränkungen und Variablen in der
Fitnessfunktion enthalten. Es werden einzelne Komponenten des gewünschten Verhaltens bewertet (siehe Kapitel 4.4.3). Bei der impliziten Fitness wird
44
4.4 Evolution in Einzel-Agenten-Umgebungen
im Extremfall nur das Vorhandensein oder Fehlen des gewünschten Verhaltens betrachtet und die Bewertung von Teilsequenzen entfällt. Dies erlaubt
die Entstehung von neuem emergenten Verhalten, ist aber nicht immer unproblematisch. Die Individuen der ersten Generationen können die Aufgabe
oftmals gar nicht lösen (Fitnesswerte gleich 0) und die Evolution entspricht
eher einer zufälligen Suche (Bootstrap Problem).
4.4 Evolution in Einzel-Agenten-Umgebungen
Im Folgenden werden drei einführende Beispiele für die Evolution von Verhalten in
Einzel-Agenten-Umgebungen gegeben, die jeweils andere wichtige Aspekte betonen.
Dabei sind besonders das Design der Fitnessfunktion und die genetische Kodierung
wichtige Aspekte in allen Arbeiten, die maßgeblich das Ergebnis und den Erfolg des
evolutionären Prozesses beeinflussen.
4.4.1 Evolution einfacher Navigation
Navigation ist die Fähigkeit, kollisionsfrei von einem Punkt zu einem anderen zu
gelangen und Grundvoraussetzung für viele Robotersysteme. Verschiedene Ansätze
wurden extensiv in der wissenschaftlichen Literatur untersucht (Miglino u. a., 1994;
Nolfi und Floreano, 2004; Floreano und Mondada, 1996).
Floreano und Mondada evolvierten das Neuronale Netz für einen Khepera Roboter
(Abbildung 4.4), der sich in einer Umgebung mit statischen Hindernissen kollisionsfrei bewegen sollte (Abbildung 4.2). Die Topologie dieses KNN ist nicht veränderbar
und nur die synaptischen Gewichte werden durch einen GA modifiziert (siehe Kapitel 3.4.3). Das Netzwerk besteht aus einer einzelnen Schicht von synaptischen
Gewichten, welche die 8 Infrarot-Sensoren des Roboters mit den zwei Outputneuronen verbinden. Jedes Motorneuron besitzt eine sigmoide Aktivierungsfunktion,
dessen Output in den Bereich zwischen [-0.5,0.5] transformiert wird (das Vorzeichen
bestimmt die Richtung der Rotation und der Absolutbetrag die Geschwindigkeit).
Die Outputneuronen des Netzwerks werden um rekurrente Verbindungen erweitert.
Die Definition der Fitnessfunktion Φ basiert auf drei verschiedenen Komponenten:
√
(4.1)
Φ = V (1 − ∆v)(1 − i)
wobei V die Summe der Rotationsgeschwindigkeiten der beiden Räder ist, ∆v die
Differenz der Geschwindigkeitswerte der beiden Räder und i die normalisierte Aktivität des Infrarot-Sensors mit dem höchsten Wert. Für die Gesamtfitness eines
Individuums werden die Werte von Φ, die in jedem Simulationsschritt ermittelt
werden, aufsummiert und durch die Gesamtzahl an Schritten geteilt.
Durch die erste Komponente V in Gleichung 4.1 werden Individuen bevorzugt,
die sich möglichst mit schneller Geschwindigkeit fortbewegen. Dabei macht diese
45
Kapitel 4 Evolutionäre Autonome Agenten
(a)
(b)
Abbildung 4.2: (a) Der Parcours (b) Der Bewegunsablauf des besten Roboters der
letzten Generation. Die Segmente repräsentieren die Linie zwischen den beiden
Rädern. (a) und (b) aus (Floreano und Mondada, 1996)
Komponente allein keinen Unterschied zwischen einem Roboter, der sich bei maximaler Geschwindigkeit um sich selbst dreht oder eine gerade Strecke bei maximaler
√
Geschwindigkeit zurücklegt. Dies bewerkstelligt die zweite Komponente 1 − ∆v,
die maximiert werden kann, wenn beide Räder sich über die gesamte Zeitspanne in
die gleiche Richtung bewegen. Der Faktor (1 − i) belohnt kollisionsfreie Navigation.
Es handelt sich also um eine explizite Fitnessfunktion, da das evolutionäre System
direkt auf das gewünschte Verhalten gesteuert wird. Eine Population von 80 Individuen wird mit einem GA mit Rouletteselektion, einer Mutationswahrscheinlichkeit
von 0.2 pro Bit und One-Point-Crossover mit Wahrscheinlichkeit 0.1 evolviert.
Floreano und Mondada geben an, dass die besten evolvierten Individuen nach
etwa 50 Generationen in der Lage sind, kollisionsfrei durch den Parcours zu manövrieren (Abbildung 4.2b). Einige Roboter zeigen darüber hinaus Formen von intelligentem Verhalten, welches nicht direkt in der Fitnessfunktion kodiert wurde. Sie
verringern automatisch ihre Geschwindigkeit auf 3/4 des maximalen Wertes, wenn
sie sich in der Nähe von Hindernissen befinden.
4.4.2 Evolution eines Ladeverhaltens
In einer weiteren Reihe von Experimenten führten Floreano und Mondada Versuche
mit einem Khepera Roboter durch, der wie in dem vorherigen Beispiel in einer
unbekannten Umgebung navigieren sollte, aber zusätzlich eine simulierte aufladbare
Batterie besaß. Diese Batterie kann vom Roboter aufgeladen werden, indem er über
die schwarze Fläche in dem Versuchsaufbau fährt (Abbildung 4.3), die zusätzlich
von einer Lichtquelle angestrahlt wird.
Die Parameter des GA entsprechen denen des vorherigen Experimentes mit einer
46
4.4 Evolution in Einzel-Agenten-Umgebungen
Abbildung 4.3: Die Umgebung für Abbildung 4.4: Oben: Schematische
das Experiment zum Batterieaufla- Zeichnung eines Khepera Roboters.
den. Die Lichtquelle ist in der glei- Unten: Das verwendete KNN mit 5
chen Ecke wie die Aufladestation.
rekurrenten Hiddenneuronen.
leicht veränderten Fitnessfunktion:
Φ = V (1 − i)
(4.2)
Das heißt, maximale Fitness kann auch von einem Roboter erreicht werden, der sich
bei maximaler Geschwindigkeit im Kreis dreht. Das benutzte KNN wurde um einen
Hiddenlayer erweitert, der aus fünf Neuronen mit rekurrenten Verbindungen besteht
(Abbildung 4.4b). Zusätzlich hat das KNN jetzt einen Input, der Aufschluss über den
Status der Batterie gibt. Jeder Roboter startete am Anfang mit einer aufgeladenen
Batterie, die eine Lebenszeit von 50 Schritten erlaubt. Wenn der Roboter über die
schwarze Fläche fährt, wird seine Batterie wieder vollständig aufgeladen, wodurch
er seine Lebensdauer verlängert (maximal auf 150 Schritte). Die Güte eines Roboter
berechnet sich aus der akkumulierten Fitness über seine gesamte Lebensdauer.
Die Resultate von Floreano und Mondada zeigen, dass die Individuen über die
simulierten 240 Generationen lernen, immer wieder zur Aufladestation zurückzukehren. Die besten Individuen weisen dieses Verhalten auf, wenn ihre Batterie nur noch
zu 1% gefüllt ist und verkürzen ihren maximalen Aufenthalt dort auf ein Minimum.
Die Analyse der Aktivitäten der Hiddeneuronen hat ergeben, dass sie einige sehr
spezielle Funktionen erfüllen. Neuron v_h4 (Abbildung 4.5a) scheint für den Status
47
Kapitel 4 Evolutionäre Autonome Agenten
(a)
(b)
Abbildung 4.5: (a) Die Aktivität des Hiddenneurons v_h4 während der Roboter
sich in der Umgebung bewegt (b) Der Bewegungsablauf des Roboters. Die Aufladestation ist in der oberen linken Ecke. (a) und (b) aus (Floreano und Mondada,
1996)
der Batterie und der Pfadplanung verantwortlich zu sein. Es zeigte während der
Experimente immer eine sehr geringe Aktivität bis zu dem Punkt, an dem Status
der Batterie ein kritisches Level unterschreitet. Andere gefundene Hiddenneuronen
sind verantwortlich für die Kollisionsvermeidung. Neuron v_h4 zeigt sehr spezifische Aktivitätsmuster auf unterschiedliche Orientierungen des Roboters, die mit
den bei Ratten gefundenen Place Cells vergleichbar sind. Diese feuern nur, wenn
sich die Ratte in einem bestimmten Gebiet in der Umgebung befindet (O’Keefe und
Nadel, 1978). Die Experimente zeigen, dass komplexes Verhalten emergieren kann,
auch wenn es die Fitnessfunktion nicht direkt erfordert. Nach Floreano und Mondada kann die Fitnessfunktion generell sehr allgemein gehalten werden, da eine zu
genaue Spezifikation nur unnötige Einschränkungen darstellt.
4.4.3 Evolution eines Müllsammelroboters
Nolfi (1997a) evolvierte erfolgreich einen Khepera Roboter, der in der Lage ist,
Objekte in seiner Umgebung einzusammeln und sie außerhalb einer definierten Umgebung wieder abzugeben. Der Khepera Roboter ist dafür mit einem zusätzlichen
Greifer ausgestattet. Im Gegensatz zum vorherigen Beispiel erfordert die Gesamtaufgabe hier die Bearbeitung von mehreren Teilaufgaben, die der Roboter in der
richtigen Reihenfolge absolvieren muss:
1. Erkunden der Umgebung und das Vermeiden von Kollisionen
2. Erkennen von Zielobjekten
3. Manövrierung zum Zielobjekt und das erfolgreiche Aufheben
48
4.4 Evolution in Einzel-Agenten-Umgebungen
Abbildung 4.6: links: Die Emergente Modulare Architektur. rechts: Jede Kurve
zeigt die durchschnittliche Fitness der besten 10 Individuen jeder Generation mit
unterschiedlichen Netzwerkarchitekturen (E=Emergente Modulare Architektur).
(Nolfi, 1997a)
4. Bewegung an den Rand des Parcours (mit Kollisionsvermeidung von anderen
Objekten)
5. Objekt loslassen
Nolfi testete verschiedene Netzwerkarchitekturen, die alle sieben Sensorneuronen
und vier Motorneuronen besitzen. Die ersten sechs Sensorneuronen kodieren die
Aktivität der sechs Infrarot-Sensoren und das siebte Sensorneuron kodiert die Lichtschranke zwischen den Greifern des Roboters. Dieser wird aktiv, sobald ein Objekt
zwischen den beiden Segmenten des Greifers erkannt wird. Die ersten beiden Motorneurone geben wie im vorherigen Beispiel die Geschwindigkeit der beiden Räder
an und die anderen beiden bestimmen, ob ein Objekt aufgehoben oder losgelassen
werden soll. Von den getesteten Topologien erzielt die so genannte Emergente Modulare Architektur (EMA) (Nolfi, 1997b) die besten Ergebnisse (Abbildung 4.6).
Die in diesem Beispiel genutzte EMA hat 2 Module für jedes der vorher beschriebenen Motorneuronen (links, rechts, aufheben, loslassen). Ein Modul besteht aus zwei
Outputneuronen, die vollständig mit den Sensorneuronen verbunden sind. Eine Besonderheit dieser Architektur ist das zweite Outputneuron, auch Selektor genannt.
Das Modul, mit der jeweils größten Aktivität des Selektorneuron, wird aktiv. Diese
Architektur hat den Vorteil, dass modulare Lösungen emergieren können, das heißt
verschiedene Teile des Neuronalen Netzen können in unterschiedlichen Situationen
aktiv werden. Im Unterschied zur Arbeit von Brooks (1986), bei der verschiedene
Verhaltensstrategien (Kollisionvermeidung, Zielsuche, etc.) hierarchisch aufeinander aufbauen, müssen diese Teilverhalten nicht extra spezifiziert werden. Sie werden
automatisch evolviert, während der Roboter mit seiner Umwelt interagiert. Der benutze GA zur Evolution der Gewichte startet mit einer Menge von 100 zufällig
49
Kapitel 4 Evolutionäre Autonome Agenten
generierten Genotypen, die KNN mit der vorher besprochenen EMA kodieren. Die
Chromosomenlänge beträgt 1024 Bit (112 synaptische Verbindungen und 16 Biases)
wobei jedes Gewicht mit 8 Bit (Bereich -10.0 bis 10.0, normale binäre Kodierung)
kodiert wird. Die 20 besten Individuen dürfen sich reproduzieren mit einer Mutationsrate von 0.1 pro Bit.
Die Fitnessformel besteht aus zwei Komponenten, um auch nicht vollständig absolvierte Sequenzen zu bewerten, die besonders in den ersten Generation zu beobachten sind. Die Fitness eines Individuums wird erhöht, wenn der Roboter ein
Objekt aufnimmt (1 Punkt) und wenn der Roboter ein Objekt außerhalb der Arena
loslässt (200 Punkte). Nach 100 Generation sind fast alle Individuen in der Lage die
komplette Sequenz vollständig auszuführen. Abbildung 4.6b zeigt die Leistung der
verschiedenen Netzwerkarchitekturen. Es zeigt sich, dass ein einfaches vorwärtsgerichtetes KNN (Kurve A) deutlich schlechtere Leistungen liefert und das Problem
nicht zufrieden stellend lösen kann. Nolfis Analyse der Module des EMA hat ergeben, dass sie nicht mit den einfachen Verhaltensweisen korrelieren. Es existiert kein
Modul, welches dafür verantwortlich ist, ein Objekt aufzuheben oder Hindernissen auszuweichen. Die meistens einfachen Verhalten entstehen im Zusammenwirken
von verschiedenen neuronalen Modulen. Dies zeigt, dass eine effektive Organisation
des Kontrollsystems nicht unbedingt mit einer intuitiven Sichtweise übereinstimmen
muss.
4.5 Evolution von kooperativem Verhalten in
Multiagenten-Systemen
In diesem Abschnitt werden einige existierende Arbeiten vorgestellt, in denen durch
Evolution kooperatives Verhalten von Agenten evolviert wurde.
Die Interaktion von mehreren Agenten führt zu einer drastischen Erhöhung der
Dynamik und Komplexität solcher Systeme. Kleinste Änderungen im gelernten
Verhalten können zu unvorhersehbaren Änderungen im Verhalten der emergenten Gruppe führen, welches die Evolution von effektiven Kontrollstrukturen weiterhin erschwert. Für viele Multi-Agenten-Aufgaben sind die korrekten Input-OutputAbbildungen nicht bekannt, wodurch es nicht möglich ist, die Programme der Agenten direkt zu implementieren oder Überwachte Lernverfahren einzusetzen. Hier bieten sich die Verfahren der EA an, die eine optimale Policy im Verlauf des evolutionären Prozesses finden können (Yao, 1995; Potter und De Jong, 1995).
Die Arbeit von Panait und Luke (2005) bietet einen guten Überblick über den
aktuellen Forschungsstand im kooperativen Multi-Agenten-Learning. Grundlegend
kann zwischen zwei verschiedenen Methoden unterschieden werden: Team Learning
und Concurrent Learning. Beim so genannten Team Learning gibt es einen einzelnen Lernprozess, der versucht das Verhalten der ganzen Gruppe zu verbessern.
50
4.5 Evolution von kooperativem Verhalten in Multiagenten-Systemen
Dieser Ansatz ist ähnlich zu den klassischen Maschinellen Lernaufgaben. Das Concurret Learning zeichnet sich durch mehreren gleichzeitig Lernenden Prozessen aus.
Besonders genau sollen im Folgenden die Verfahren des Team-Learning betrachtet werden, da sie die Grundlage für den Adaptive Role Allocation Mechanismus
darstellen (siehe Kapitel 6).
4.5.1 Team Learning
Beim Team Learning gibt es einen einzelnen Lernprozess, der Verhaltensweisen für
ein ganzes Team, anstatt nur für einen Agenten, lernen muss. Dieser Ansatz hat
den Vorteil, dass sich die Verfahren des Maschinellen Lernens sehr leicht auf ihn
übertragen lassen. Da Team Learning die ganze Gruppe bewertet und nicht einzelne
Agenten, erübrigt sich das Credit Assignment Problem des Concurrent Learnings
(siehe Kapitel 4.5.2).
Ein weiterer Vorteil des evolutionären Ansatzes für MAS ist die Vermeidung der
Zustandsexplosion RL basierter Lernverfahren. Angenommen, Agent A kann in einem von 100 möglichen Zuständen sein, und Agent B in 100 anderen Zuständen,
dann kann das Team aus diesen beiden Agenten in einem von 10, 000 Zuständen
sein. Für Systeme mit mehreren Agenten sind die klassischen RL-Verfahren nur
schwer anwendbar und Verfahren wie EA, die nicht auf einem diskreten Zustandsraum basieren, besser geeignet.
Die Anwendungen des Team Learnings lassen sich in zwei verschiedene Kategorien
einteilen: homogene Teams und heterogene Teams. Bei den homogenen Teams wird
durch das Lernverfahren ein Kontrollsystem entwickelt, welches von allen Agenten
des Teams benutzt wird. Im Falle der EA sprechen wir also von einem Genotyp
der n mal kopiert wird, um ein Team von n identischen Agenten zu erzeugen. Der
heterogenen Ansatz zeichnet sich dadurch aus, dass jeder Agent sein eigenes Verhalten entwickeln kann. Ein Chromosom besteht aus den Verhaltensstrategien für n
verschiedene Agenten.
Für Problemen, die auch von einem Agenten hinreichend gelöst werden können,
eignen sich meistens gut homogene Teams. Sollte die Problemstellung nur durch
eine sehr starke Spezialisierung der einzelnen Agenten zu bearbeiten sein, bieten
sich eher heterogene Teams an.
Homogene Teams
Im Falle der homogenen Teams werden alle Agenten von dem gleichen Kontrollsystem gesteuert (Abbildung 4.7). Dies verringert die Dimension des Lösungsraum
drastisch. Sie kommen besser mit dem Verlust von einzelnen Teammitgliedern zurecht, da jeder Agent prinzipiell alle Teilaufgaben lösen und verschiedene Rollen
dynamisch zugewiesen werden können. Diese Eigenschaft ist vielleicht in Computer-
51
Kapitel 4 Evolutionäre Autonome Agenten
0 0 1 0 1 0 0 1
Agent 1
Agent 2
Agent n
Abbildung 4.7: Homogene Teams: Ein einzelner Genotyp wird n-mal für alle
Teammitglieder kopiert.
Abbildung 4.8: Drei evolvierte Strategien: Flock, Amoeba und Rose (Baldassarre
u. a., 2003)
simulationen mit einer unendlichen Anzahl von verfügbaren Agenten vernachlässigbar, kann aber besonders bei realen Robotern einen essentiellen Vorteil bieten. In
diesem Kapitel sollen Beispiele für die erfolgreiche künstliche Evolution von kollektivem Verhalten in homogenen Teams gegeben werden.
Baldassarre u. a. (2003) evolvierten eine Gruppe von homogenen simulierten Robotern, die zusammen zu einer Lichtquelle navigieren sollten. Vier Agenten starten
von zufällig ausgewählten Positionen aber nahe genug beieinander, um akustisch
über Lautsprecher miteinander zu kommunizieren. Die evolvierten Roboter zeigen
verschiedene Formen der Aggregation wobei die Gruppe als eine geschlossene Einheit
agiert. Als Steuerungseinheit dient ein KNN dessen Gewichte durch einen evolutionären Prozess bestimmt werden. Die initiale Population besteht aus 100 zufällig
generierten Genotypen, die die Gewichte von 100 Neuronalen Netzen kodieren. Jeder Genotyp wird in vier identische KNNs dekodiert, um eine Gruppe von vier
Robotern zu erstellen, die für vier verschiedene Startpositionen getestet werden.
Die Fitnessfunktion besteht aus zwei Komponenten (Kompaktheit und zurückgelegte Distanz). Die evolvierten Individuen sind in der Lage, zu aggregieren und sich
zusammen zu der Lichtquelle zu bewegen wobei das globale Verhalten der Gruppe
aus den Interaktionen der einzelnen Agenten emergiert. Abbildung 4.8 zeigt drei
Strategien, die in verschiedenen Wiederholungen des Experimentes evolviert wurden. Obwohl ein homogenes Team gewählt wurde, zeigen die Roboter leichte Formen
52
4.5 Evolution von kooperativem Verhalten in Multiagenten-Systemen
von situationsabhängiger Spezialisierung, wobei identisch evolvierte Individuen verschiedene Verhaltensweisen aufzeigen.
Ein anderes Beispiel von erfolgreichem kooperativen Team Learning ist bei Haynes u. a. (1995) zu finden. Die hier gezeigten Experimente beschäftigen sich mit
den in MAS klassischen Predator-Prey Szenarios. Die ursprüngliche Version dieses
Problems wurde von Benda u. a. (1986) eingeführt und besteht aus einer Gruppe
von Agenten (Predators) die versuchen müssen, einen anderen Agenten (Prey) von
allen vier Richtungen in einer Gridwelt einzuschließen. Dieses Problem wurde in
der Literatur immer wieder mit einigen Varianten studiert und eignet sich aufgrund
seiner einfachen Beschreibung aber schwierigen Lösung gut für MAS Forschung.
Haynes u.a. benutzen ein homogenes Team von Agenten deren Strategie mit Hilfe der GP evolviert wird und vergleichen ihren Ansatz mit dem von Korf (1992).
Korf benutzt einen handkodierten Algorithmus, der auf abstoßenden Kräften der
Angreifer untereinander und anziehenden Kräften zwischen Angreifer und Beute
basiert. Haynes u.a. zeigen durch experimentelle Auswertungen, dass die durch GP
evolvierte Strategie dem Algorithmus von Korf überlegen ist. Das Paradigma der
EA kann komplexe kooperative Strategien finden, die mit einigen der effizientesten
handkodierten Strategien konkurrieren können.
Nelson u. a. (2002) benutzen eine kompetitive Turnierfitness um die KNN für Capture The Flag (CTF) spielende Roboter zu evolvieren. Die Autoren verwenden eine
modifizierte Version des Spiels, wobei das Ziel nur darin besteht, die eigene Flagge
zu bewachen und die der anderen Mannschaft zu klauen, ohne die erbeutete Flagge
wieder zum eigenen Lager zurückzubringen. Die von ihnen benutzten Roboter können ihre Umgebung nur über ein eingebautes Kameramodul wahrnehmen. Für das
implementierte KNN wird im evolutionären Prozess sowohl die Gewichtsmatrix, die
Topologie als auch für jedes Neuron eine von vier Aktivierungsfunktionen evolviert
(Sigmoide, Lineare Funktion, Treppenfunktion, Gauss-Radial Basis-Funktion). Nelson u.a. führen an, dass Probleme, die als Spiel formuliert können, große Vorteile bei
dem Entwurf der Fitnessfunktion bieten können. Die Güte der Individuen kann allein aufgrund der Anzahl ihrer gewonnenen und verlorenen Spiele berechnet werden
(kompetitive Turnierfitness).
Am Anfang jedes Turniers werden die Anfangspositionen der Roboter und Flaggen
zufällig bestimmt und dann für jedes Spiel im Turnier verwendet. Eine Population
P besteht aus einer festen Anzahl von p KNNs. Jedes KNN aus P spielt gegen jedes
andere KNN aus P , wobei für jede Paarung zwei Spiele mit getauschten Startposition ausgetragen werden. Die durchschnittliche Fitness aus diesen beiden Spielen
wird verwendet, um Vorteilen aufgrund der Startpositionen der Teams entgegenzuwirken. Die verallgemeinerte Form der verwendeten Turnierfitness für den p-ten
Kontroller der Population P lässt sich folgendermaßen definieren:
F (p) = w(p) + d(p) + n(p)
(4.3)
53
Kapitel 4 Evolutionäre Autonome Agenten
Abbildung 4.9: Drei verschiedene Simulationen von CTF Spielen (Nelson u. a.,
2002).
Wobei w(p),d(p) und n(p) Funktionen sind, die den Anteil der gewonnenen, unentschiedenen Spiele und pathologischen Verhaltensweisen am Gesamtwert der Fitness
berechnen. Zu den pathologischen Verhaltensweisen zählen sie „ein ständiges Rückwärtsfahren“ und oder das „Steckenbleiben des Roboters". Nach einem kompletten
Turnier (eine Generation) wird die Güte der Individuen aufgrund der Fitnessfunktion in Gleichung 4.3 berechnet. Die Population wird anhand der resultierenden
Fitnesswerte sortiert und eine neue Population P _next durch die Vereinigung der
folgenden drei Mengen erstellt:
[
[
P _next = {p1 . . . pm } {p01 . . . p0m } {pm+1 . . . pP −2m }
wobei pm ∈ P das m-te Individuum der aktuellen Population P ist und p0m dessen
mutierte Versionen. Dies führt dazu, dass die m fittesten Individuen unverändert in
die nächste Generation übertragen werden und die gleiche Anzahl von Individuen
mutiert hinzugefügt wird. Der restliche Teil der neuen Population setzt sich aus den
Besten Individuen der aktuellen Generation zusammen.
Die KNN werden in einer Population mit sechs Individuen für 366 Generationen
evolviert mit einer Ersetzungsrate von 50% (m=3). Abbildung 4.9 zeigt verschiedene simulierte Spiele, wobei jeder Roboter von dem fittesten Mitglied der aktuellen
Population kontrolliert wird. Die Roboter lernen, zur gegnerischen Flagge zu navigieren, zeigen allerdings keine Form situationsbedingter Arbeitsteilung. Kein Teammitglied bleibt zurück, um die eigene Flagge zu bewachen. Auch die Behauptung
von Nelson, dass bei Spielen nur Gewinn oder Niederlage in die Fitnessfunktion
einfließen muss, scheint nicht gerechtfertigt. Um das Bootstrap-Problem zu lösen
definieren sie eine Funktion, die pathologische Verhaltensweisen bewertet und damit auch in den ersten Generationen eine effiziente evolutionäre Suche ermöglicht.
Ein Beispiel für ein MAS mit dynamischer Rollenzuweisung findet sich bei Bryant
und Miikkulainen (2003), welches sie als Adaptive Team of Agents (ATA) bezeichnen. In ihrem Ansatz evolvieren sie ein Team von homogenen Agenten mit einem
KNN für ein Strategiespiel mit diskreten Zuständen namens Legion I. In diesem
54
4.5 Evolution von kooperativem Verhalten in Multiagenten-Systemen
Abbildung 4.10: Zwei Screenshots nach dem Ende eines Spiels. Links: Die Performance der NN-Kontroller vor dem evolutionären Training. Die Legionen sind
nicht in der Lage, die Ländereien oder Städte zu verteidigen. Rechts: Die Legionen nach 250 Generation. Drei befinden sich in den Städten und der Rest bewacht
die Ländereien (Bryant und Miikkulainen, 2003).
Spiel müssen fünf Legionen zusammenarbeiten, um drei Städte und die umgebenen
Ländereien gegen einfallende Barbaren zu verteidigen. Um einen maximalen Erfolg zu erzielen, müssen die Legionen lernen, eine effiziente Arbeitsteilung (Division
of Labour) zu entwickeln und sowohl mit drei Legionen die zu Städte bewachen
als auch zwei Legionen zum patroulieren in den Ländereien einzusetzen. Für die
Evolution der Netze benutzen sie ein Verfahren, dass als Enforced Sub-Populations
(ESP) (Gomez und Miikkulainen, 1999) bezeichnet wird. Die eigentliche Idee besteht darin, nur die Gewichte für die einzelnen Neuronen zu evolvieren und nicht
komplette KNN. Dies führt dazu, dass Teilpopulationen für jedes Neuron separat
evolviert werden. Die Autoren zeigen, dass die gefundene Strategie des EA ein Team
von homogenen Agenten zu dynamischer Arbeitsteilung befähigt (Abbildung 4.10).
Die Arbeitsteilung findet ohne menschliche Intervention statt, und hat den Vorteil,
dass diese Systeme sehr robust sind. Es gibt keine spezialisierten Agenten, die nicht
durch andere Agenten ersetzt werden könnten. Wenn die Agenten merken, dass eine
bestimmte Aufgabe nicht ausreichend bearbeitet wird, können sie ihre Rolle ändern
um sicherzustellen, dass in allen Sub-Tasks genug Fortschritt gemacht wird. Dadurch
wird eine Flexibilität erreicht, die in heterogenen Teams nur schwer zu realisieren
ist.
Allerdings ist an dieser Stelle anzumerken, dass die einzelnen Individuen, in dem
von Bryant vorgestellten Ansatz, eine sehr vereinfachte Form der Arbeitsteilung zeigen. Die verschiedenen Verhaltensweisen der Agenten unterscheiden sich nur marginal und eine Übertragbarkeit des ATA-Mechanismus auf komplexere Probleme muss
55
Kapitel 4 Evolutionäre Autonome Agenten
0 0 1 0 1 0 0 1
Agent 1
Agent 2
1 1 0 1
Agent n
Abbildung 4.11: Heterogenes Teams: Ein einzelner Genotyp wird benutzt, um
n-verschiedene Kontrollsysteme zu generieren.
noch gezeigt werden.
Heterogene Teams
Ein heterogenes Team besteht aus Agenten mit unterschiedlichen Kontrollstrukturen mit einem einzelnen Lernprozess, der versucht, die Performanz des ganzen Teams
zu erhöhen (Abbildung 4.11). Obwohl durch diesen Ansatz die Dimensionalität des
Lösungsraumes stark vergrößert wird, können heterogene Teams in manchen Domänen große Vorteile gegenüber homogenen Teams besitzen. Andre und Teller (1999)
haben durch GP eine Mannschaft evolviert, die RoboCup2 spielt, und für jeden der
11 Agenten verschiedene Verhaltensweisen aufweist. Zur Vereinfachung der GP benutzen sie ein Set von automatisch definierten Fuktion (ADFs) (Koza, 1994), die
die Funktionalität von sehr einfachen Verhaltensweisen (zum Ball rennen, den Ball
schießen) direkt kodieren. Für das Design der Fitnessfunktion benutzten sie ein
Liste von Spezifikation, die es erlaubt graduelle Verbesserungen in den Teams zu
bewerten:
1. In die Nähe des Balls kommen
2. Den Ball zu schießen
3. Prozentsatz der Zeit, die auf der gegnerischen Hälfte verbracht wurde
4. In Bewegung bleiben
5. Ein Tor schießen
6. Das Spiel gewinnen
2
RoboCup is ein internationaler Roboterwettkampf der 1993 gegründet wurde und sich zum
Ziel gesetzt hat, bis in die Mitte des 21. Jahrhunderts ein Team von autonomen humanoiden
Fußballrobotern zu evolvieren, die die menschlichen Gewinner der letzen Weltmeisterschaft
schlagen
56
4.5 Evolution von kooperativem Verhalten in Multiagenten-Systemen
Tabelle 4.1: Terminal-Set
Terminal
B
Bi
Pred1
Pred2
Pred3
Pred4
Prey
T
Type
Boolean
Agent
Agent
Agent
Agent
Agent
Agent
Tack
Purpose
TRUE or FALSE
The Current predator.
The first predator
The second predator
The third predator
The fourth predator
The Prey
Random Tack in the range of Here to North to West.
Diese Liste ist nach der Wichtigkeit des beobachteten Verhaltens geordnet. Dadurch
fallen die Punkte 1-5 der Fitnessfunktion nicht mehr ins Gewicht, wenn die Teams
erst einmal in der Lage sind, Tore zu schießen. Sie dienen nur dazu, die Evolution
in den initialen Generationen in die richtige Richtung zu kanalisieren. Jedes Mitglied des Teams wird durch ein genetisches Programm beschrieben, welches nur die
vorher definierten primitiven ADFs benutzt. Der verwendete Crossover-Operator
erlaubt nur den Austausch von genetischem Material von einem Teammitglied mit
dem Genotyp von einem Individuums der gleichen Nummer aus einem anderen Team
(restricted breading). Die Autoren bemerken, dass diese Form des Crossovers zu besonders erfolgreichen Verhaltensweisen führt. Dies liegt an der Nischenbildung der
einzelnen Teammitgliedern und daraus resultierender großen Diversität an unterschiedlichen Strategien.
Haynes und Sen (1997) untersuchten die Evolution von homogenen und heterogenen Teams für das Predator-Prey Szenario mit GP. Die Verhaltensstrategien
wurden als Symbolische Ausdrücke (S-Expressions) kodiert und die Terminal- und
Funktionssets sind in Tabelle 4.1 und 4.2 dargestellt.
Die Wurzel aller Syntaxbäume ist vom Typ Tack, der eine der vier möglichen
Aktionen zurückgibt (Bleiben, Norden, Osten, Süden, Westen), welche die Agenten
ausführen können. In ihrem Ansatz besteht jedes Chromosom aus k Programmen,
wodurch das Problem des Credit-Assignment vermieden wird (siehe Kapitel 4.5.2).
Es werden ganze Teams von Agenten evolviert, anstatt einzelner Individuen. Die
Fitness der Teams berechnet sich aus der Distanz der Teammitglieder zur Beute. Sie kann erhöht werden, wenn einzelne Individuen am Ende der Simulation die
benachbarten Zellen der Beute besetzen. Eine erfolgreiche Gefangennahme führt zusätzlich zu Extrapunkten. Um Konsistenz in den Teams zu gewährleisten, muss der
Crossover-Operator angepasst werden, wobei Hanye und Sen drei unterschiedliche
Strategien getestet haben:
57
Kapitel 4 Evolutionäre Autonome Agenten
Tabelle 4.2: Funktionen-Set
Function
CellOf
Return
Cell
Arguments
Agent A and Tack B
IfThenElse
Type of B and C
<
Boolean
Boolean A
Generic B and C
Lenght A and Length B
MD
Length
Cell A and Cell B
Purpose/Return
Get the cell
coord of A in B.
If A then do B
else do C.
If A<B then TRUE
else FALSE.
Manhattan distance
between A and B.
• TeamTree
Hier teilen sich alle Agenten das gleiche Programm (homogener Ansatz).
• TeamBranch
Ein Crosover-Punkt wird im Chromosom gewählt. Dies erlaubt nur sehr leichte
Veränderungen der Chromosomen da nur ein Teammitglied verändert wird
(klassisches GP).
• TeamUniforme
Dies ist eine Abwandlung des uniformen Crossovers (Syswerda, 1989), die das
Verändern von mehr als einem Teammitglied in den Chromosomen erlaubt.
Für diesen Zweck wurde von den Autoren eine Uniforme-Crossover-Maske für
die Programme innerhalb der Chromosomen entwickelt. Eine „1“ gibt an, dass
das Programm in den Kindbaum kopiert wird, eine „0“ lässt das Programm am
Crossover teilnehmen. Diese Masken werden zufällig bestimmt. Ein Beispiel
für die Bitmaske 1001 ist in Abbildung 4.12 gegeben.
Sie kamen zu dem Ergebnis, dass TeamBranch am Anfang schneller lernt als TeamTree und TeamBranch am Anfang schneller lernt als TeamUniform. Nach etwa 300
Generationen zeigt TeamUniform allerdings wesentlich bessere Ergebnisse als alle anderen Crossover-Operatoren. Die gefundenen Ergebnisse legen nahe, dass es
aufgrund der gegebenen Problemstellung besser sein kann, ein heterogenes als ein
homogenes Teams zu evolvieren. Haynes und Sen kamen auch zu dem Schluss, dass
Heterogenität helfen kann, Deadlocks zu vermeiden. Wenn zwei homogene Angreifer
sich direkt hintereinander auf einer horizontalen Achse in Bezug zur Beute befinden, kann der blockierte Angreifer keine Angriffsposition einnehmen. Heterogene
Agenten können sich auch in unterschiedliche Richtungen bewegen, wenn sie sich in
Bezug auf die orthogonale Achse der Beute im gleichen Quadranten befinden. Eine
genaue wissenschaftliche Prüfung dieser These fehlt allerdings. Des Weiteren lassen
58
4.5 Evolution von kooperativem Verhalten in Multiagenten-Systemen
Abbildung 4.12: Beispiel für einen uniformen Crossover mit der Bitmaske 1001.
(a) Hat Eltern i mit der Ordnung 3241. (b) Hat Eltern j mit der Ordnung 4123.
(c) Hat Kind s und durch den Crossover-Operator zwei Verzweigungen. (c) Hat
Kind t und durch den Crossover-Operator zwei Verzweigungen (Haynes und Sen,
1997).
Heynes und Sen auch die Tatsache außer Acht, dass ein intelligenter Agent, egal ob
hetero- oder homogen, eigentlich merken sollte, wenn er von einem anderen Agenten
blockiert wird.
Heterogene Teams haben den Nachteil, dass der Ausfall eines Spezialisten schlimmstenfalls die Unlösbarkeit der Problemstellung zur Folge hat. Problematisch ist auch
die Skalierung der Teamgröße. Wenn sich die Anzahl der Individuen eines evolvierten heterogenen Teams ändert, kann dies zur ineffizienten Arbeit der ganzen Gruppe
führen.
4.5.2 Concurrent Learning
Die am weitesten verbreitete Alternative zum Team Learning besteht im Concurrent
Learning, wobei mehrere Lernprozesse versuchen, Teile des Teams zu verbessern.
59
Kapitel 4 Evolutionäre Autonome Agenten
Dabei hat normalerweise jeder Agent seinen eigenen Lernprozess. Es besteht aber
auch die Möglichkeit, das Team in verschiedene Gruppen einzuteilen und jeder dieser
Gruppen einen Lernprozess zuzuweisen. Dies kann allerdings dazu führen, dass eine
Co-Adaption der Agenten untereinander stattfindet. Sie beeinflussen gegenseitig ihre
Umwelt und die Veränderung des einen Agenten kann zur Modifikation der anderen
Agenten führen. Eine mathematische Theorie, die erfolgreich angewandt wurde,
um das dynamische Verhalten der kooperaitven Co-Evolution zu beschreiben, ist
das Nash Gleichgewicht. Für eine genauere Beschreibung dieser mathematischen
Spieltheorie sei an dieser Stelle auf folgende Literatur verwiesen (Nash, 1950).
Die Wahl zwischen heterogenen und homogenen Teams entfällt, da jeder Agent
für sich allein lernt. Je nach der gewählten Problemstellung kann es vorkommen, das
sehr homogene oder auch sehr heterogene Teams evolviert werden (Balch, 1998).
Credit Assignment
Wenn mit mehreren Lernprozessen gearbeitet wird, ist es schwierig den Anteil jedes
einzelnen Individuums an der Lösung der Gesamtaufgabe zu bestimmen. Dies ist
auch als Credit-Assignment Problem bekannt. Wie bewerte ich die Leistungen von
einzelnen Ameisen in einer Kolonie? Welcher Anteil an der Gesamtleistung wird jedem Individuum zu Teil? Für den Lernprozess ist es essentiell, dass jeder im Team
genug Feedback bekommt, um seine eigenen Aktionen zu bewerten. Die einfachste
Form besteht darin, den gesamten Reward gleichmäßig aufzuteilen (globaler Reward) wobei sich aber gezeigt hat, dass es besonders in komplexeren Umgebungen
bessere Ansätze gibt. Eine weitere Form der Gewinnaufteilung besteht darin, jeden
Agenten nur für seine eigene erbrachte Leistung zu bewerten (lokaler Reward). Dies
kann allerdings dazu führen, dass sehr egoistische Verhaltensweisen entstehen und
die Agenten keine Veranlassung haben, mit anderen Teammitgliedern zu kooperieren. Balch (1998) kommt zu dem Schluss, dass die Effiziens von lokalen oder globalen
Rewards stark problemabhängig ist. Bei der Futtersuche scheinen lokale Rewards
besser geeignet zu sein, wohingegend die besten Ergebnisse bei der Evolution von
Fußballteams durch globale Rewards erzielt wurden.
60
Kapitel 5
Evolution und Lernen
Dieses Kapitel beschäftigt sich mit der Verknüpfung von evolvierenden und lernenden Systemen. Besonders den Plastischen Neuronalen Netzen, die eine Verbindung
dieser beiden Adaptionsformen ermöglichen, wird eine zentrale Rolle eingeräumt. Sie
bilden die Grundlage für den in Kapitel 6 implementierten Adaptive Role Allocation
Mechanismus.
5.1 Einleitung
Lernen und Evolution sind zwei Formen biologischer Adaption, die auf verschiedenen Zeitskalen operieren. Lernen findet während des Lebens eines Individuums statt
und ist essenziell, um sich Veränderungen anzupassen, die schneller als ein Generationswechsel stattfinden. Evolution ist eine Form der Adaption, die es ermöglicht,
sich langsamen Veränderungen in der Umwelt anzupassen, die mehrere Generationen
betreffen. Während sich die Evolution auf den Genotyp des Individuums auswirkt,
hat Lernen nur Effekt in Bezug auf den Phänotyp, der nicht direkt den Genotyp
beeinflussen kann.
In den bisher beschriebenen Experimenten mit KNN wurden die synaptischen
Gewichten komplett durch den Genotyp des Agenten bestimmt und konnten zur
Lebenszeit des Individuums nicht mehr verändert werden. Diese Systeme zeigen
nur eine Form der biologischen Adaption. Dies schränkt ihren Gebrauch für hoch
dynamische Systeme ein, bei denen sich der Agent unvorhersehbaren Veränderungen
in seiner Umwelt anpassen muss.
Wenn in diesem Kapitel von Lernen gesprochen wird, ist immer eine Modifikation
der synaptischen Gewichte in Neuronalen Netzen gemeint. Dies entspricht im Allgemeinen der konnektionistischen Sichtweise (Kandel und Schwartz, 1981). Es gibt
jedoch auch andere Modelle adaptiver Anpassung, bei denen sich nur die Aktivierungszustände der Neuronen ändern, wie im Falle der Continuous Time Recurrent
Neural Networks (Yamauchi und Beer, 1994). Die Vor- und Nachteile der Kombination von Evolution und Lernen, sollen im Folgenden näher betrachtet werden.
61
Kapitel 5 Evolution und Lernen
5.2 Lernen kann den evolutionären Prozess verbessern
In der Natur hat die Evolution des Lernens den Organismen die Fähigkeit gegeben,
sich Veränderungen in ihrer Umwelt besser anzupassen. Während die evolutionäre
Adaption allein aufgrund eines einzelnen Wertes (Fitness) operieren muss, kann die
ontogenetische Adaption aus einem viel größeren Feedback der Umgebung schöpfen,
um ihr Verhalten anzupassen (Learning u. a., 1999). Dieses Feedback kodiert zwar
nicht direkt die Qualität des Verhaltens aber durch die Kombination von phylogenetische und ontogenetischer Adaption können die Vorteile beider Verfahren kombiniert werden. Es konnte gezeigt werden, dass Lernen und Evolution sich gegenseitig
gut komplementieren durch ihre kombinierten globalen und lokalen Suchcharakteristika. Ein anderen Vorteil besteht in der Tatsache, dass nicht alle Informationen für
den Phänotyp direkt im Genotyp kodiert sein müssen, sondern von dem Individuen
während seines Lebens gelernt werden (siehe Kapitel 5.4).
Lernen verändert die Fitnesslandschaft, da die Güte eines Individuums nicht nur
durch sein genetisch spezifiziertes Verhalten bestimmt wird, sondern auch durch
gelerntes Verhalten. Wenn dieses einen signifikanten Einfluss auf die erzielte Fitness
hat, entsteht ein selektiver Druck auf eine genetische Prädisposition, die schnell
lernende Individuum bevorzugt (Whitley, 1995).
5.2.1 Der Baldwin Effekt
Der Baldwin Effekt wurde gleichzeitig von Baldwin (1896) und Lloyd Morgan (1896)
entdeckt. Er beschreibt die Beobachtung, dass Charakteristika, die der Phänotyp
während seiner Lebenszeit erwirbt, den Verlauf der Evolution steuern können. Dieser Vorgang ist allerdings nicht mit dem Lamarkschen Postulat der Evolution zu
verwechseln (Lamarckismus). Dieses geht auf die im 19. Jahrhundert von dem französischen Biologen Jean-Baptiste Pierre Antoine de Monet, Chevalier de Lamarck
aufgestellte Theorie zurück, die besagt, dass gelernte Eigenschaften zurück in den
Genotyp geschrieben werden können. Wenn in dieser Arbeit von Evolution gesprochen wird, ist immer die Darwinsche Sichtweise gemeint, bei der hilfreiche Anpassungen, die ein Organismus während seines Lebens lernt, nicht vererbbar sind.
Besonders Mayley (1996) hat sich in seiner Arbeit mit der Interaktion darwinscher Evolution und Lernen beschäftigt. Abbildung 5.1 veranschaulicht den BaldwinEffekt. In einer Population von Individuen mit verschiedenen Genotypen sind manche näher an Orten höherer Fitness als andere. Diejenigen, die durch eine Veränderung ihres Phänotypen (Lernen) in der Lage sind, eine höhere Fitness zu erreichen,
haben dadurch höhere Reproduktionschancen (Abbildung 5.1a). Die führt dazu,
dass sich die Population im genotypischen Suchraum der Region mit erhöhter Fitness nähert (Abbildung 5.1b) In nachfolgenden Generation kann die am Anfang
gelernte Eigenschaft dann direkt angeboren sein wobei man in diesem Zusammen-
62
5.3 Lernen kann den evolutionären Prozess behindern
hang auch von genetischer Assimilation spricht (Abbildung 5.1c). Lernen kann also
einen positiven Einfluss auf den Verlauf der Evolution ausüben. Zwei Bedingungen
müssen aber gegeben sein, um den Baldwin-Effekt zu beobachten:
• Lernen verursacht Kosten
Wenn Lernen keine Kosten verursachen würde, gäbe es keinen Selektionsvorteil
von Individuen, die das gelernte Merkmal genetisch assimilieren.
• Korrelation der Nachbarschaften im genotypische und phänotypische Suchraum
Kleine Veränderungen im Genotyp dürfen auch nur kleine Veränderungen im
Phänotyp hervorrufen
Abbildung 5.1: Der Baldwin-Efekt (Mayley, 1996).
5.3 Lernen kann den evolutionären Prozess behindern
Ein Nachteil lernender Organismen ist die Tatsache, dass sie während der Lernphase
nicht das optimale Verhalten zeigen. Individuen, deren Verhalten genetisch spezifiziert ist, brauchen nicht erst zu lernen, um ihre Aufgabe zu bewältigen. Ein weiterer
Nachteil ist eine erhöhte Unsicherheit, die durch das Lernelement induziert wird. Es
besteht die Möglichkeit, dass Individuen falsche Verhaltensweisen lernen oder durch
Faktoren in der Umwelt am lernen gehindert werden (Mayley, 1996).
5.3.1 Der Hiding Effekt
Der Hiding Effekt kann als einer der Kosten betrachtet werden, die durch die Verknüpfung von Evolution und Lernen entstehen. Individuen einer Population mit
unterschiedlichen Genotypen werden auf Grund ihrer Fitness in Bezug auf ihre
Phänotypen selektiert. Individuen mit unterschiedlichen Genotypen, die aber durch
Lernen alle einen ähnlichen Phänotyp mit daraus resultierender ähnlicher Fitness
63
Kapitel 5 Evolution und Lernen
Abbildung 5.2: Der Hiding-Efekt (Mayley, 1996).
haben, können durch die Selektion nicht mehr diskriminiert werden. Die genetischen
Unterschiede werden vom Lernen vor der Selektion versteckt (Abbildung 5.2). Diese
Verringerung des Selektionsdruckes kann dazu führen, dass die evolutionäre Suche
im genotypischen Suchraum stagniert und die optimale Lösung nicht gefunden wird.
5.4 Plastische Neuronale Netze
In vielen Ansätzen, die Evolution und Lernen verknüpfen, werden KNN evolviert,
wobei nur die initialen Gewichte spezifiziert werden. Die Anpassung der Gewichte
während der Lebenszeit des Individuums erfolgt mit Hilfe von klassischen Lernverfahren wie Reinforcement Learning oder Backpropagation (Ackley und Littman,
199, Nom et al. 1994). Dadurch werden die Sucheigenschaften der künstlichen Evolution verbessert und die KNN sind robuster gegenüber Veränderungen die während
der Lebenszeit des Individuums stattfinden (Nolfi und Floreano, 1999).
Einen anderen Weg um, adaptives Verhalten zu ermöglichen, gehen die so genannten Plastischen Neuronale Netze (PNN), die von Floreano und Mondada (2000)
vorgestellt wurden. Die PNN sind ein Typ vonKNN, bei denen die Gewichte nicht
direkt im Genotyp kodiert sind. Sie werden kontinuierlich während der Lebenszeit
und Interaktion des Individiums mit der Umwelt durch genetisch festgelegte Lernregeln modifiziert. Genau wie bei natürlichen Spezies enthält das Genom nicht die
kompletten Information, um den entsprechenden Phänotyp zu konstruieren. Die
Chromosomen spezifizieren nur die Lernregeln für jede Synapse. Jedes Mal, wenn
ein Chromosom in ein neues KNN dekodiert wird, werden die Synapsen mit kleinen
zufällig Gewichten initialisiert. Wenn der Agent dann anfängt, sich in seiner Um-
64
5.4 Plastische Neuronale Netze
welt zu bewegen und Sensorinformation wahrnimmt, verändern sich die Stärken der
synaptischen Verschaltungen entsprechend den genetisch kodierten Lernregeln:
t−1
t
t
wij
= wij
+ η∆wij
wobei η die genetisch kodierte Lernrate ist, die einen von vier Werte annehmen kann
(0.0, 0.3, 0.7, 1). Bei einer Lernrate von 0.0 ändert die Synapse ihre Stärke während
der Lebensspanne des Individuums nicht mehr.
Die Gene für eine Synapse enthalten die Information über die gewählte Lernregel
(2 Bit), die Lernrate (2 Bit), und ob die Synapse inhibitorisch oder exitatorisch ist
(1 Bit). Floreano und Mondada unterscheiden vier verschiedene Lernregeln:
1. Plain Hebb: Verstärkung proportional zur Korrelation der Aktivität
∆w = (1 − w)xy
2. Postsynaptisch: wie Plain Hebb aber zusätzlich Schwächung wenn Postsynapse aktiv ist aber nicht Presynapse
∆w = w(−1 + x)y + (1 − w)xy
3. Presynaptisch: Schwächung, wenn Presynapse aktiv aber nicht Postsynapse
∆w = wx(−1 + y) + (1 − w)xy
4. Covariance: Stärkung wenn Aktivierungsdifferenz von beiden Neuronen kleiner als die Hälfte ihrer maximalen Aktivität ist
(
(1 − w)F (x, y)
if F (x, y) > 0
∆w =
(w)F (x, y)
otherwise
wobei F (x, y) = tang(4(1 − |x − y| − 2) ein Mass für den Unterschied zwischen der
presynaptischen und der postsynaptischen Aktivierung ist. F (x, y) ist größer 0 wenn
der Unterschied kleiner als 0.5 ist und kleiner 0 wenn der Unterschied kleiner als
0.5 ist. Durch die selbslimitierende Komponente (1 − w) wird die synaptische Stärke
zwischen dem Intervall [0, 1] gehalten.
Die Rechfertigung für diese Lernregeln basiert auf neurobiologischen Erkenntnissen und stellen eine Vereinfachung der lokalen Adaptionsmechanismen von Synapsen
dar, die in dem Nervensystem von Säugetieren gefunden wurden (Willshaw und Dayan, 1990). Die neuronale Aktivität wird folgendermaßen aktualisiert:
N
X
yi ← σ(
wij yj ) + Ii
j=0
65
Kapitel 5 Evolution und Lernen
Abbildung 5.3: Zwei genetische Kodierungen für adaptive Synapsen. Die Chromosomen können entweder verschiedene Eigenschaften individueller Synapsen kodieren (links: synapse encoding) oder die Eigenschaften eines ganzen Neurons mit
seinen Synapsen (rechts: node encodng). (Urzelai und Floreano, 2001)
wobei yi die Aktivität des i−ten Neurons ist. σ ist die sigmoide Aktivierungsfunktion
und 0 ≤ Ii ≤ 1 der externe Input. In der Literatur finden sich zwei Formen der
genetischen Kodierung für adaptive Synapsen:
• Synapse encoding
Die Lernrate, das Vorzeichen und die Lernregel jeder Synapse werden separat
mit 5 Bit kodiert (Yao, 1993).
• Node encoding
Jedes Neuron wird mit 5 Bit kodiert. Das erste Bit ist für das Vorzeichen aller
afferenten Synapsen verantwortlich. Die anderen 4 Bit kodieren die Eigenschaften (Lernregel, Lernrate) aller efferenten Synapsen. Folglich haben alle
eingehenden Synapsen, zu einem bestimmten Neuron, die selben Eigenschaften.
Synapse encoding erlaubt eine genauere Spezifikation des Neuronalen Netzes ist
aber in der Länge proportional zu N 2 . Node encoding führt zwar zu einer wesentlich kompakteren genetischen Repräsentation (proportional zu N ), erlaubt aber nur
eine grobe Defintion des Kontrollers. Die vorangegangenen Experimente, in denen
die Gewichte der KNN explizit im Genom kodiert wurden, verlangen die synaptische Kodierung aller Eigenschaften. Floreano und Mondada konnten zeigen, dass
der adaptive Ansatz keine genaue synaptische Spezifikation der Paremter benötigt,
da die Feinjustierung der Gewichte zur Laufzeit des Individuums stattfinden. Die
Vorteile der Plastischen Neuronale Netze sollen hier kurz zusammengefasst werden:
• Adaption zur Laufzeit des Individuums
• Gewichte müssen nicht mehr gespeichert werden, sondern ergeben sich zur
Laufzeit des Individuums (kompaktere genetische Kodierung)
66
5.4 Plastische Neuronale Netze
Abbildung 5.4: Ein mobiler Khepera Roboter ist mit einem Kamera-Modul ausgestattet und kann seine Fitness erhöhen wenn er sich auf der grauen Fläche
befindet, währned das Licht angeschaltet ist (Urzelai und Floreano, 2001).
• Länge der Chromosomen wächst nur mit der Anzahl der Neuronen und nicht
der Anzahl der Synapsen (Node encoding)
5.4.1 Lernen einer sequentiellen Aufgabe
Urzelai und Floreano (2001) haben die Plastischen Neuronalen Netze benutzt um
einen Roboter zu evolvieren, der ein sequentielles Problem lösen muss. Ein mobiler
Khepera Roboter soll in der in Abbildung 5.4 dargestellten Umgebung lernen, durch
das Überqueren des schwarzen Gebietes auf der einen Seite, das Licht auf der anderen
Seite anzuschalten um sich dann zur Lichtquelle zu bewegen. Jedes Individuum der
Population wird mit dem gleichen Roboter für jeweils 500 Sensor-Motor-Durchläufe
getestet. Der Roboter startet an einer zufällige Position wobei das Licht am Anfang
des Versuches ausgeschaltet ist.
Die Fitness berechnet sich aus der Anzahl der Sensor-Motor-Durchläufe, die der
Roboter auf der grauen Fläche unter dem angeschalteten Licht verbringt, dividiert
durch die totale Anzahl an Durchläufen (500). Der Roboter kann seine Umgebung
durch 4 Infrarot-Sensoren und ein Kamera-Modul mit 64 Photorezeptoren wahrnehmen. Die Neuronale Architektur besteht aus einem vollständig rekurrenten PNN
mit 12 Neuronen und 144 Synapses. Durch eine Truncation-Selektion werden die
20 besten Individuen zur Reproduktion gewählt. Die Wahscheinlichkeit des SinglePoint-Crossover liegt bei 0.2 mit einer Mutationswahrscheinlichkeit von 0.05. Die
neuronalen Kontroller der Roboter werden zunächst in einer Simulationsumgebung
67
Kapitel 5 Evolution und Lernen
evolviert und danach auf reale Roboter übertragen. Für die Experimente werden sowohl PNN mit Node encoding, als auch KNN mit genetisch determinierten Gewichten und Synapse encoding benutzt. Dabei zeigen die in der Simulation evolvierten
Individuuen mit PNN eine durchschnittliche höhere Fitness als die genetisch determinierten Kontroller. Die Dauer, bis zum erreichen eines optimalen Fitnesswertes,
nimmt bei ihnen nur die Hälfte der Generationen in Anspruch (40 gegen mehr als
100).
In weiteren Experimenten haben Urzelai und Floreano die Anpassungsfähigkeit
der evolvierten Netze auf verschiedene Veränderungen der Umwelt getestet:
• Übertragung, des in der Simulation evolvierten Netzes, auf physische Roboter
• Übertragung auf ein größeres Koala-Robotermodell
• Neues Arrangieren des Umgebungslayouts (Urzelai und Floreano, 2000)
Bei den aufgezählten Experimenten sind die Individuen mit adaptiven Synapsen den
genetisch determinierten Individuen klar überlegen. Sie können sich neuen Umgebungen anpassen, die sich von denen unterscheiden, die während des evolutionären
Prozesses benutzt wurden. Dabei verlangen sie kein zusätzliches Training. Genetisch
determinierte Individuen sind oft nicht in der Lage, die Aufgabe unter neuen Rahmenbedingungen zu lösen, da ihr Verhalten sehr stark mit der Umgebung verknüpft
ist, in der sie evolviert wurden.
5.5 Verleich von adaptiven und nicht-adaptiven
Neuronalen Netzen
Ein weiteres Experiment, zur Überprüfung der Adaptionsfähigkeit unterschiedlicher
Systeme, findet sich bei Littman (1996). Die Agenten operieren in zwei verschiedenen Umgebungen, in denen zwei verschiedene Substanzen (Essen und Gift) in zwei
unterschiedlichen Farben (rot und blau) auftreten können. Die Aufgabe des Agenten
besteht nun darin, sich aufgrund ihrer gesammelten Erfahrungen zu entscheiden, ob
sie sich in einer Welt mit rotem oder blauen Gift befinden. Die Fitness berechnet
sich aus der Anzahl an konsumiertem Essen minus die Anzahl an konsumiertem Gift
während der festgelegten Lebenszeit des Individuums von l Schritten. Da es sich bei
der Hälfte der Substanzen um Gift und bei der anderen Hälfte um Essen handelt,
bewegt sich die Fitness in einem Intervall von −l/2 bis +l/2.
Bei einer festen Verknüpfung von Farbe und Substanz (z.B. Gift=rot, Essen=blau),
würde allein die Evolution der Gewichte in einem Neuroanlen Netz genügen, um
die optimale Verknüpfung zwischen Wahrnehmung und Aktion zu finden. Werden
68
5.5 Verleich von adaptiven und nicht-adaptiven Neuronalen Netzen
die Agenten allerdings zufällig in zwei unterschiedlichen Welten A (Gift=rot, Essen=blau) und B (Gift=blau, Essen=rot) geboren, müssen sie diese Verknüpfung
erst lernen.
Einfache KNN mit festen, nicht adaptiven Verhaltensweisen erreichen in der einen
Welt einen Fitnesswert von +l/2 und in der anderen einen Wert von −l/2, also
eine durschnittliche Fitness von 0. Lernfähige Individuen haben die Möglichkeit,
die zugrunde liegenden Mechanismen zu identifizieren und einen durchschnittlichen
Fitnesswert über 0 zu erzielen, unabhängig von der aktuellen Umgebung.
Es hat sich allerdings gezeigt, dass diese Behauptung nur teilweise zutrifft. Auch
KNN, die keine adaptiven Synapsen, aber rekurrente Verbindungen besitzen, sind
in der Lage, diese Aufgabe zu lösen. Stanley und Miikkulainen (2003) verglichen die
adaptiven Eigenschaften von PNN mit rekurrenten Netzwerken (Continuous Time
Recurrent Neural Networks). Genau wie im voherigen Beispiel sollen die Agenten
lernen, Essen von Gift zu unterscheiden. Beide Netzwerke sind in der Lage die
Aufgabe zu lösen, obwohl sich die grundlegenden Mechanismen stark voneinander
unterscheiden. Bei den rekurrenten Netzwerken findet ein Policy-Wechsel allein aufgrund der internen Aktivierungszuständen der Neuronen statt. Die Autoren merken
an, dass die Plastischen Neuronalen Netze rekurrenten Netzen mit festen Gewichten
überlegen sein können, allerdings ist es schwer, eine solche Aufgabe zu konstruieren
(Stanley und Miikkulainen, 2003):
„...The holistic nature of evolved adaptive networks suggests that such
networks may be superior to fixed-weight recurrent networks on tasks
that require holistic solutions. A major problem for future research is to
characterize what kinds of tasks do.“
69
Kapitel 5 Evolution und Lernen
70
Kapitel 6
Der Adaptive Role Allocation
Mechanismus
In diesem Kapitel wird der Adaptive Role Allocation Mechanismus vorgestellt, der
eine dynamische Rollenzuweisung der einzelnen Agenten ermöglicht. Seine Funktionalität wird anhand einer Implementierung für das Capture The Flag Spiels unter
Beweis gestellt.
6.1 Motivation
In dieser Arbeit soll ein Team von Agenten evolviert werden, die in der Lage sind
Capture The Flag (CTF) zu spielen. CTF ist ein strategisches Spiel, das von zwei
Teams gespielt wird. Um Punkte zu erzielen, muss jedes Team die Flagge des Gegners erbeuten. Die genauen Regeln, der für diese Arbeit implementierten Form des
Spiels, werden in Kapitel 6.3 beschrieben. Um ein CTF Spiel zu gewinnen, müssen
die Teammitglieder kooperieren, und sowohl die eigene Flagge bewachen (Defensive), als auch die Flagge des Gegners erbeuten (Offensive). Essenziel für eine gute
Performance ist also die gute strategische Arbeits- bzw. Rollenverteilung der einzelnen Teammitglieder.
Im Unterschied zu vielen der bis jetzt besprochenen Ansätzen zur Arbeitsaufteilung (Baldassarre u. a., 2003; Haynes u. a., 1995; Bryant und Miikkulainen, 2003)
(siehe Kapitel 4.5), verlangt das CTF Spiel die Koordinaten von sehr unterschiedlichen komplexen Verhaltensweisen. Spiele dieser Art eignen sich daher besonders
gut als Testumgebung für evolutionäre Multi-Agenten-Systeme. Allerdings fehlen
bis jetzt effiziente Modelle, die eine dynamische Rollenverteilung der einzelnen Individuen ermöglichen. Die existierende Arbeiten zum CTF Spiel beschränken sich
im Allgemeinen auf die Navigation zur Flagge (Nelson u. a., 2002) oder zeigen eine
zentralistische Organisationsform der Agenten (?) (siehe Kapitel ??).
Viele sozial lebende Insekten zeigen ausgeklügelte Formen einer dynamischer Arbeitsteilung (Division of Labour), die eine gute Metapher zur Kreierung von effektiven dezentralen Agentensystemen darstellt (Bonabeau u. a., 1997). Ein Hauptcharakteristikum des Division of Labour (Oster und Wilson, 1978) ist Plastizität.
71
Kapitel 6 Der Adaptive Role Allocation Mechanismus
Das Verhältnis der Individuen, die eine bestimmte Aufgabe ausführen, ist ständigen
Schwankungen unterworfen und ändert sich aufgrund von internen oder externen
Stimuli.
In menschlichen Gemeinschaften ist die Arbeitsteilung meistens eher von einer
zentralistischen hierarchischen Natur. Im Gegensatz dazu zeigen sozial lebende Insekten einen komplett dezentralisierten Ansatz, bei dem die Arbeitsteilung aus der
Interaktion der Mitglieder der Kolonie und ihrer Umgebung resultiert. Durch die
Interaktionen der einzelnen Individuen entstehen hoch komplexe dynamische Systeme. Dabei bietet der dezentrale Ansatz gegenüber dem zentralen Ansatz viele nicht
zu vernachlässigende Vorteile (Waible u.a., 2007):
• Skalierbarkeit
• Robustheit
• Flexibilität
Skalierbarkeit bezieht sich in diesem Fall auf die Anzahl der Individuen. Robustheit
und Flexibilität befähigen die Systeme, effektiv Störungen in ihrer Umgebung zu
bewältigen.
Die Simulation dieser Prozesse und der zugrunde liegenden Mechanismen, hat sich
zu einem sehr aktiven Forschungsfeld entwickelt, bei dem besonders die Arbeiten
von (Bonabeau u.a., 1997) zu erwähnen sind. Waibel u. a. (2006) bietet einen guten
Überblick über die existierenden Modelle. Die Mehrzahl der Ansätze basiert auf der
Beobachtung, dass sich die Individuen einer Kolonie in ihrer Neigung unterscheiden,
bestimmte Aufgaben auszuführen. Untersuchungen an Bienen, Wespen und Ameisen
haben gezeigt, das die Insekten unterschiedliche genetische Prädisposition in ihrer
Sensivität auf bestimmte „Task-Stimuli“ besitzen (ODonnell 1998; Page et al. 1998;
Fewell & Page 2000). Arbeiter in einer Kolonie mit demselben genetischen Hintergrund führen öfter die selben Aufgaben aus, als weniger verwandte Arbeiter. Um
dieses biologische Phänomen zu erklären wurden verschiedene Response Treshold
Modelle entwickelt (Bonabeau 1998; Theraulaz et al. 1998; Gautrais et al. 2002;
Bertram et al. 2003). In diesen Arbeiten unterscheiden sich die Individuen genetisch in ihrem Schwellwert eine bestimmte Tätigkeit auszuführen. Nur die Arbeiter
mit geringem Schwellwert fangen an eine bestimmte Aufgabe auszuführen, wenn
der Stimulus sehr gering ist. Je größer der Stimulus wird, desto mehr Individuen
partizipieren.
In dieser Arbeit soll ein alternatives Modell zur dynamischen Arbeitsteilung vorgestellt werden. Aufgrund der schon beschriebenen Vorteile wurden ein dezentraler
Ansatz gewählt, bei dem homogene autonomen Agenten basierend auf dem TeamLearning-Ansatz (siehe Kapitel 4.5.1) evolviert werden. Die Verwendung von homogenen Agenten lässt sich aufgrund der gewählten Aufgabenstellung rechtfertigen.
72
6.2 Konzept des Adaptive Role Allocation Mechanismus
Beim CTF sollte prinzipiell jeder Agent in der Lage sein, abhängig von der aktuellen Situation jede beliebige Rolle einzunehmen (z.B. Angreifer bzw. Verteidiger).
Für die Implementierung des Adaptive Role Allocation Mechanismus wird ein modularer Ansatz der Plastischen Neuronalen Netze benutzt. Dadurch werden zwei
wichtige Eigenschaften natürlicher System verknüpft: Evolution und Lernen.
Kapitel 6.2 führt das Konzept des Adaptive Role Allocation Mechanismus ein um
danach eine konkrete Implementierung für das CTF Spiel zu geben (Kapitel 6.3).
Kapitel ?? wertet die durchgeführten Experimente aus. Im Anschluss daran soll
der vorgestellte dezentrale Ansatz für CTF mit der zentralen Implementierung von
Bakkes u. a. (2004) verglichen werden.
6.2 Konzept des Adaptive Role Allocation Mechanismus
Im Folgenden soll der in dieser Arbeit entwickelte Adaptive Role Allocation Mechanismus vorgestellt werden. Es handelt sich um einen dezentralisierten Ansatz zur
Arbeitsteilung, der auf der Interaktion und automatischen Evolution von Response
Tresholds der einzelnen Agenten basiert. Aufgrund der schon erwähnten Vorteile,
sollen homogene Agenten (geringere Dimensionalität des Lösungsraumes) verwendet
werden, die allerdings eine effektive Arbeitsteilung weiterhin erschweren. Es existieren keine Unterschiede in der Morphologie oder den Kontrollstrukturen der Agenten,
auf deren Basis eine Rollenzuweisung basieren könnte.
Yong und Miikkulainen (2007) haben homogene und heterogene Teams in der
„Pred-Prey“ Domain untersucht und gezeigt, dass die heterogenen Teams wesentlich bessere Ergebnisse erzielen, da alle homogenen Agenten in der gleichen Umgebung die gleiche Aktion ausführen. Die homogenen Agenten waren nur in 3 von
100 Versuchen erfolgreich, die Beute zu fangen. Dies gilt allerdings nur für nicht
kommunizierende Agenten. Durch Kommunikation wird es den Agenten möglich,
sich ihre Absichten und Ziele mitzuteilen wodurch den negativen Eigenschaften der
Homogenität entgegengewirkt werden kann. Deshalb verwendet der Adaptive Role
Allocation Mechanismus eine implizite Form der Kommunikation (siehe unten).
Obwohl es sich gezeigt hat, dass KNN direkt für komplexe Aufgaben evolviert
werden können (Nolfi, 1997a) (siehe Kapitel 4.4.3), ist dies für Teams, die zum
einen Teil adaptive Einzel-KI und gleichzeitig komplexe adaptive Team-KI zeigen
sollen, ein schwieriges Unterfangen.
Deshalb sollen in diesem Ansatz Modulare Neuronale Netze (MNN) benutzt werden. Modularität ist ein sehr wichtiges Konzept in der Natur und kann als die
Unterteilung von komplexen Objekten in simplere Objekte definiert werden. MNN
zeichnen sich dadurch aus, dass sie aus verschiedenen unabhängigen neuronalen
Modulen bestehen, die miteinander interagieren, um zusammen eine komplexere
Aufgabe zu lösen. Einen guten Überblick über den aktuellen Forschungsstand bie-
73
Kapitel 6 Der Adaptive Role Allocation Mechanismus
tet die Arbeit von Eric und Gawthrop (1995). Die resultierenden Vorteile sind dabei
von vielfältiger Natur (de Francesco, 1994):
„There are so many advantages on the computational side to make us
wonder why researchers in NN have long disregarded this particular
field“
In verschiedenen Experimenten, z.B. zur Gesichtserkennung, zeigt sich mit Erhöhung der Modularität des Systems ein deutliches Leistungswachstum. Die Resultate
legen nahe, dass die MNN wesentlich schneller und effizienter lernen als vergleichbare einzelne KNN. Durch das Vordefinieren bestimmter Netzwerktopologien und
Verschaltungen erhöht sich die Lernkapazität der MNN und erlaubt eine Anwendung
auf größere Probleme (Happel und Murre, 1994). Ein modulares NN erlaubt auch die
genauere Analyse des betreffenden Systems, da die Rolle der einzelnen Teilnetzwerke genauer bestimmt werden kann. In einzelnen KNN ist es schwer, Teilbereiche zu
finden, die verschiedenen Verhaltensweisen des Systems zugeordnet werden können
(black-box). Azam (2000) fasst weitere Vorteile des modularen Designs zusammen:
• Reduzierung der Komplexität
Durch die Organisation der neuronalen Architektur in Module wird die Komplexität des ganzen Systems wesentlich reduziert. Einzelne Module müssen nur
spezialisierte, kleinere Aufgaben lernen.
• Robustheit
Einzelne Module des Netzes können ausfallen, aber das Gesamtsystem kann
noch teilweise funktionieren.
• Skalierung
Die MNN können um einzelne Module erweitert werden, ohne alle anderen
Module des Netzwerkes neu zu trainieren.
In dieser Arbeit sollen MNN mit adaptiven Synapsen benutzt werden, um dadurch
die Vorteile beider Systeme zu nutzen. Diese sollen im weiteren Verlauf als Plastische Modulare Neuronale Netze (PMNN) bezeichnet werden. Eine Verknüpfung
dieser beiden Techniken konnte in der aktuellen wissenschaftlichen Literatur nicht
gefunden werden.
Normalerweise werden MNN durch einen „Divide and Conquer“ Methode implementiert. Zuerst wird die Gesamtaufgabe in kleinere, weniger komplexe Teilaufgaben
zerlegt, die dann wieder zusammengefügt werden, um das gesamte Problem zu lösen. Für die Evolution des komplexen Division of Labour Verhaltens bedienen wir
uns einem „Divide and ConquerÄnsatz, der auch als inkrementelle Evolution bezeichnet wird. Bei der inkrementellen Evolution (Gomez und Miikkulainen, 1996)
werden die einzelnen gewünschten Teilverhalten des Agenten getrennt voneinander
evolviert, um sie dann wieder zusammenzufügen.
74
6.2 Konzept des Adaptive Role Allocation Mechanismus
Define Roles
Specify modules and fitness functions
Individual training of
each module with
specified fitness
function
Combine modules
Train Modulare Neural Network
on the whole task in team
environment
Abbildung 6.1: Ablauf des Adaptive Role Allocation.
6.2.1 Ablauf
In Abbildung 6.1 ist der Ablauf des Adaptive Role Allocation Mechanismus dargestellt. Der ersten Schritt ist die Indentifizierung der existierenden Rollen, die ein
Agent einnehmen kann (z.B. Angreifer und Verteidiger, siehe Implementierung)1 .
Für jede dieser Rollen wird ein PNN zusammen mit einer korrespondierenden Fitnessfunktion und Testumgebung entworfen. Dann werden im Zuge der inkrementellen Evolution die einzelnen Teilverhalten der Agenten evolviert. Die einzelnen
Module können bei entsprechender Komplexität auch in weitere kleinere Module
zerlegt werden.
Danach werden die einzelnen Module durch das Selektor-Modul verknüpft. Ab1
Der Einfachheit halber wird der Ansatz exemplarisch für zwei verschiedene Rollen beschrieben. Das System kann aber problemlos auf eine beliebige Anzahl an unterschiedlichen Rollen
erweitert werden.
75
Kapitel 6 Der Adaptive Role Allocation Mechanismus
bildung 6.2 zeigt das entstehende MNN eines Agenten. Dabei nimmt das SelektorModul in diesem Ansatz eine zentrale Position ein. Dem Selektor-Modul werden
alle Eigenschaften der Umgebungen als Input gegeben, die wichtig sind, um die aktuelle Rolle des Agenten zu bestimmen (z.B. eigene Flagge bei Basis, Flagge des
Gegners erbeutet, etc.). Zusätzlich wird allen Agenten durch eine automatisierte
implizite Form der Kommunikation die momentane Rollenverteilung (role-ratio) im
Team mitgeteilt und ihre eigene Rolle. Ein role-ratio von 0.4 könnte z.B. bedeuten,
dass sich das Team aus 40% Verteidigern und 60% Angreifern zusammensetzt. Das
Selektor-Modul hat für jedes der Teil-Module ein Outputneuron. Das Outputneuron
mit der größten Aktivität bestimmt das zu selektierende Modul, dessen Ausgabe an
die Aktuatoren des Agenten weitergeleitet wird.
Aufgabe des Selektor-Moduls ist es, für jede der möglichen Situation und role-ratio
Werten zu entscheiden, welche Rolle der Agent als nächstes einnehmen soll. Dies
wird im Allgemeinen auch mit dem Lernen eines Response Tresholds bezeichnet. Das
Selektor-Modul wird für die komplette Problemstellung (z.B. CTF im Team) durch
das in Kapitel 4.5.1 beschriebene Team-Learning für homogene Agenten evolviert.
Es ändern sich dabei nur die Parameter des Selektor-Moduls und die schon erzeugten
Module werden durch den evolutionären Prozess nicht weiter verändert. Dabei ist für
die Bewertung der Teams anzumerken, dass oftmals eine kompetitive Turnierfitness
(siehe Kapitel 4.5.1) ein ausreichendes Gütekriterium darstellt, da die Komplexität
des Problems durch die Modularisierung drastisch reduziert wurde.
Durch das beschriebene Verfahren ist eine dynamische Rollenverteilung möglich,
da durch die adaptiven Synapsen der PNN die Assoziationen zwischen den verschiedenen neuronalen Modulen verändert werden können. Der Adaptive Role Allocation
Mechanismus unterscheidet sich in fünf wichtigen Punkten von anderen Verfahren
zur dynamischen Rollenverteilung:
1. Komplett dezentralisierter Ansatz
2. Homogene Agenten
3. Automatische Evolution der Response Tresholds
4. Plastische Modulare Neuronale Netze, die das adaptive Verhalten der Einzelund Team-KI gewährleisten
5. Unterschiedliches Evolutionäres Training für die einzelnen Module
Im nächsten Abschnitt soll eine konkrete Implementierung dieses Ansatzes für das
CTF-Spiel genauer betrachtet werden.
76
6.3 Implementierung für Capture the Flag
x1
xn
Role
Ratio
Input
layer
Selector
layer
Module
layer
Abbildung 6.2: Das Modulare Neuronale Netzwerk für den Adaptive Role Allocation Mechanismus.
6.3 Implementierung für Capture the Flag
Wie schon Eingangs erwähnt eignet sich das CTF Spiel besonders gut als Testumgebung für evolutionäre Multi-Agenten-System, da es sowohl das sequentielle Bearbeiten einzelner Aufgabe erfordert als auch die Kooperation der einzelnen Teammitglieder. Im Folgenden sollen kurz die für diese Arbeit implementierten Regeln
des Spiels beschrieben werden.
77
Kapitel 6 Der Adaptive Role Allocation Mechanismus
Capture the Flag
• Am Anfang des Spiels befinden sich beide Flagge in der Basis des jeweiligen Teams.
• Alle Agenten starten mit einer Energie e von 1.
• Punkte können erzielt werden wenn die Flagge des Gegners zur eigenen
Basis gebracht wird, aber nur unter der Voraussetzung, dass sich die
eigene Flagge noch dort befindet.
• Wenn sich Agenten aus unterschiedlichen Teams berühren, ziehen sie sich
gegenzeitig Energie ab (∆e = −0.002).
• Fällt die Energie eines Agenten unter 0 startet er erneut in der Nähe
seiner Basis.
• Trägt er währendessen die Flagge, lässt er sie an seiner aktuellen Position
fallen.
• Wird eine fallengelassene Flagge von einem Mitglied des anderen Teams
berührt, wird sie automatisch zur Basis dieses Teams zurückteleportiert.
• Das Team, welches nach einer vorher definierten Zeit die meisten Punkte
hat, gewinnt.
Um den Adaptive Role Allocation Mechanismus für das CTF Spiel zu implementieren, müssen zuerst die erforderlichen Rollen identifiziert werden. Grunsätzlich
sollten die Agenten in der Lage sein, eine defensive oder offensive Rolle einzunehmen. Die Aufgabe der Verteidiger ist die Bewachung und gegebenenfalls Rückeroberung der eigenen Flagge. Die Angreifer müssen die gegnerische Flagge erobern und
zurück zur eigenen Basis bringen. Ziel des adaptiven Mechanismus ist eine gute
Aufteilung zwischen diesen beiden unterschiedlichen Verhaltensweisen in Abhänigkeit der aktuellen Spielsituation. Im weiteren Verlauf werden zunächst die einzelnen
Module (Defence, Offence) evolviert. Danach findet eine Verknüpfung durch das
Selector-Modul statt. Für alle der folgenden Experimente wird durch einen genetischen Algorithmus einen Population von 50 Chromosomen evolviert. Eine rangbasierte Selektion ermittelt die zehn besten Individuen zur Reproduktion, die jeweils
fünf Kopien erzeugen dürfen. Die Mutationswahrscheinlichkeit pro Bit liegt bei 0.05
mit einer Crossoverrate von 0.2. Alle der benutzten PNN verwenden das kompakte
Node encoding.
78
6.3 Implementierung für Capture the Flag
Base
Agent
<0.5
>0.5
Flag
(a)
(b)
Abbildung 6.3: Sensorische Information des Agenten: (a) Entfernung und Winkel
zur Flagge und Basis (b) Abstandsmesser
6.3.1 Evolution des Offence-Moduls
Für das Offence-Modul wurde ein vollrekurrentes PNN gewählt, das insgesamt 18
Input-, 4 Output- und 20 Hiddenneuronen besitzt. Die Genomgröße beläuft sich auf
42 Bit. Das PNN hat Zugriff auf fünf unterschiedliche Typen sensorischer Information (siehe Abbildung 6.3):
1. Winkel zur gegnerischen Flagge und eigenen Basis (<0.5=linke Seite, >0.5=rechte Seite)
2. Entfernung zur gegnerischen Flagge und eigenen Basis (Skalierung in das Interval [0,1])
3. Abstandsmesser und Kantendetektoren
4. Ist der Agent im Besitz der gegnerischen Flagge
5. CheckReachFlag, CheckReachBase (ist die Flagge bzw. Basis von der aktuellen
Position, ohne Kollision mit Hindernissen, erreichbar)
Die acht Abstandmesser projizieren Strahlen in unterschiedliche Richtung. Die Distanz, die ein Strahl zurücklegt bevor er auf ein Hinderniss trifft, ist der Rückgabewert des Sensors (Skalierung in das Intervall [0,1]). Die maximale Reichweite
liegt bei 140 Punkten. Für die 4 Kantendetektoren wird jeweils die Differenz der
Aktivität benachbarter Abstandmesser verwendet.
Die Aktivität des ersten beiden Motorneuronen bestimmen den Winkel ∆α der
Links- bzw Rechtsdrehung des Agenten. Sie liegt im Interval [−Π∗2, 0] bzw. [0, +Π∗
2]. Die beiden weiteren Motorneuron bestimmt die Stärke s der Vorwärts- bzw.
79
Kapitel 6 Der Adaptive Role Allocation Mechanismus
Rückwärtsbewegung und kann Werte aus dem Interval [−3, 0] bzw. [0, 3] annehmen.
Die neue Position des Agenten wird folgendermaßen berechnet:
(x + s cos(α + ∆α), y + s sin(α + ∆α))
wobei (x, y) die vorherige Position des Agenten darstellt.
Die Aufgabe des Agenten darin, die gegnerische Flagge einzusammeln und zurück
zur Basis zu bringen. Sie setzt sich also aus zwei Teilen zusammen, die sequentiell
bearbeitet werden müssen. Um den evolutionären Prozess zu vereinfachen, sollen
diese beiden Verhaltensweisen getrennt voneinander evolviert werden. Im ersten
Durchlauf beginnt der Agent an der eigenen Basis und muss zur gegnerischen Flagge
navigieren. Im zweiten Durchlauf startet der Agent mit der gegnerischen Flagge und
muss einen Weg zurück zur Basis finden. Die Güte der Individuen wird anhand der
durchnittlichen Fitness aus zwei Durchläufen berechnet:
Φ=
Tmax − d
e D
T
wobei T die Zeit angibt wenn der Roboter das Ziel erreicht. Zusätzlich haben alle
Experimente eine maximale Evaluierungszeit von Tmax Schritten. Wenn der Roboter
mit Hinderniss zusammenstößt wird T auf Tmax gesetzt. Abhängig von der TrialNummer i ist d die Distanz des Agenten zur Flagge (i = 1) bzw. Basis (i = 2) beim
Zeitpunkt der Termination. D ist die initiale Entfernung. Diese Fitness belohnt
Agenten die schnell und kollisionsfrei zum Ziel navigieren können.
Die Agenten wurde für je 2000 Sensor-Motor-Durchläufe getestet. Es zeigt sich,
dass sie nach 42 Generationen in der Lage sind, die komplette sequenzielle Folge von
Aktionen zu bewältigen. In Abbildung 6.6a sieht man die durchschnittliche Fitness
der besten fünf Individuen pro Generation.
Abbildung 6.4 zeigt das evolvierte Verhalten eines Agenten. Nach einer kurzen
Phase der Orientierung bewegt sich der Agent zielgerichtet in Richtung der Flagge,
um danach die Basis anzusteuern. Die Stärken der meisten synaptischen Gewichte
verändern sich kontinuierlich, obwohl sich das Verhalten des Agenten stabilisiert
(Abbildung 6.5). Typischerweise wird davon ausgegangen, dass das Erreichen eines
stabilen Verhaltens in einer statischen Umgebung mit dem Erreichen eines stabilen Gewichtszustands korrespondiert (Nolfi und Floreano, 2004). Dies ist meistens
die Grundannahme von überwachten als auch unüberwachten Lernverfahren. PNN
haben keinen finalen stabilen Zustand der Gewichte sondern ein Endzustand ist
eher gekennzeichnet durch ein dynamisches Gleichgewicht in dem n-dimensionalen
Zustandraum (Floreano und Mondada, 1996).
Zwischen den Veränderungen der synaptischen Gewichte und den unterschiedlichen Verhaltenszuständen des Agenten lässt sich eine klare Korrelation erkennen.
Die Aktivität der dargestellten Synapsen unterscheiden sich deutlich in ihren Amplituden während der Agent die Flagge trägt und nachdem er sie wieder zur Basis
80
6.3 Implementierung für Capture the Flag
Abbildung 6.4: Der Bewegungsablauf eines evolvierten Agenten für das vereinfachte CTF-Spiels. Der Agent startet bei Punkt A mit zufälligen Gewichten und
erbeutet die Flagge bei Punkt B. Danach bringt er die Flagge zurück zur Basis
(C)
zurückgebracht hat (siehe Abbildung 6.5). Diese Daten legen die Vermutung nahe, dass die Änderung der synaptischen Gewichte mit dem Umschalten zwischen
einzelnen Sub-Verhaltensweisen korrespondiert, was auch von Urzelai und Floreano
(2001) in ihren Untersuchungen mit PNN beobachtet wurde. Um das dynamische
System und dessen Gewichtsänderung genauer zu studieren, bietet sich eine Principal Component Analyse (PCA) an, die den Blick in den hochdimensionalen Raum
der Gewichte ermöglicht. Die PCA ist eine Technik zur Dimensionsreduzierung von
multidimensionalen Datensätzen, durch die Bestimmung der Richtungen der größten
Varianz (Hauptkomponenten). Wir benutzen die ersten drei Hauptkomponenten, um
den hochdimensionalen Raum der Gewichte auf drei Dimensionen zu reduzieren, die
dann genauer analysiert werden können. Abbildung 6.7 zeigt den Verlauf der ersten
drei Hauptkomponenten während den ersten 200 Aktionen des Agenten. Nach acht
Aktionen befindet sich das Neuronale Netz in einer Region des Gewichtsraumes, in
der keine Veränderungen mehr in den ersten beiden Hauptkomponenten stattfinden.
Die Veränderungen der Gewichte in der dritten Hauptkomponente korrespondieren
mit Anpassungen im Bewegungsablauf des Agenten. Diese gefundenen Ergebnisse
zeigen deutliche Parallelen zu denen in (Floreano und Mondada, 1996), die das Na-
81
Kapitel 6 Der Adaptive Role Allocation Mechanismus
A
B
C
B
C
B
100
200
300
Time
400
C
Synaptic activity
1
0.5
0
-0.5
-1
0
500
600
Abbildung 6.5: Ein Auschnitt der synaptische Aktivität des PNN (A=Sart,
B=Flagge aufgehoben, C=Flagge zurückgebracht).
3
1,2
2,5
1
2
Fitness
Fitness
0,8
0,6
0,4
1,5
1
0,2
0,5
0
0
10
20
Generation
30
40
(a)
0
0
10
20
30
Generation
40
50
60
(b)
Abbildung 6.6: Durchschnittliche Fitness der besten fünf Individuen: (a) OffenceModul (b) Defence-Modul
vigationsverhalten eine Roboters mit PNN evolvierten. Die Übereinstimmungen im
Gewichtsverlauf legen die Vermutung nahe, dass die PNN immer nach demselben
Grundschema arbeiten.
6.3.2 Evolution des Defence-Moduls
Das Defence-Modul stellt eine vereinfachte Form des voherigen Offence-Moduls dar.
Das implementierte vollrekurrentes PNN besitzt insgesamt 16 Input-, 4 Output- und
20 Hiddenneuronen. Die Genomgröße beläuft sich auf 40 Bit. Die sensorischen Inputs bestehen aus der Entfernung und dem Winkel zur eigenen Flagge, den acht
Abstandsmesser mit den korrespondierenden vier Kantendetektoren und der Information, ob die Flagge von der aktuellen Position ohne Kollision mit Hindernissen,
erreichbar ist (CheckReachFlag).
Genau wie im vorherigen Modul wurde eine inkrementelle Fitness gewählt um die
82
6.3 Implementierung für Capture the Flag
0.3
0.2
0.1
3rd
0
-0.1
-0.2
-0.3
0.4
0.2
-0.4
-6
0
-5
-4
-3
-0.2
-2
-1
0
-0.4
1
2nd
1st
Abbildung 6.7: Die ersten drei Hauptkomponenten des Gewichtsraums während
den ersten 200 Aktionen des Agenten.
Evolution in den ersten Generationen zu erleichtern. Die Fitnessfunktion Φ besteht
aus zwei Komponenten, die auch eine Bewertung der initialen Verhaltensweisen
ermöglicht. Falls der Agent noch nicht der Lage ist, die Flage zu erreichen, berechnet
sich Φ wie folgt:
d
Φ = e− D
wobei d die Distanz des Agenten zum Ziel beim Zeitpunkt der Termination darstellt
und D die initiale Entfernung. Falls der Agent zur Flagge navigieren kann, berechnet
sich die Fitness aus der Anzahl an Sensor-Motor-Durchläufen, die er bei der Flagge
verbracht hat. Dabei ist anzumerken, dass die Flagge während des evolutionären
Prozesses nicht durch Berührung des Agenten zur eignen Basis zurückteleportiert
wird, sondern an ihrer aktuellen Position verbleibt.
Für die Berechnung der Fitness, wird die durchschnittliche Bewertung aus zwei
Durläufen verwendet. Die Position der Flagge wird nach jedem Durchlauf zufällig
neu bestimmt. Berührt der Agent eine Wand, während er sich durch den Parkour
bewegt, wird der aktuelle Durchlauf an dieser Stelle unterbrochen. Die Agenten wurden für ingesamt 2000 Sensor-Motor Durchläufe getestet. Abbildung 6.6b zeigt die
durchschnittliche Fitness der besten fünf Individuen pro Generation. Die Agenten
sind in der Lage ohne mit Hindernissen zu kollidieren, zur Flagge zu steuern und
83
Kapitel 6 Der Adaptive Role Allocation Mechanismus
Abbildung 6.8: Ein endlicher Automat des CTF-Spiels. Wünschenswerte Zustandsübergänge werden mit „+“, negative Übergänge mit „-“ bezeichnet. (?)
dann für den Rest der Zeit dort zu verbleiben.
6.3.3 Das Selector-Modul
Im Folgenden werden die Eigenschaften des implementierten Selector-Moduls genauer beschrieben. Die Evolution der eigentlichen Netzparameter erfolgt durch Spiele
gegen Teams mit handkodierten Strategien (siehe Kapitel 6.3.4).
Für das Design des Selector-Moduls ist es ausschlagebend, die Umweltzustände zu
indentifizieren, die wichtig für die situationsbedingte Rollenverteilung sein könnten.
In Abbildung 6.8 sind die vier möglichen Grundzustände, mit den korrespondieren
negativen und positiven Transitionen in einem CTF-Spiel, dargestellt. Die Individuen sollen lernen, für jeden der Zustände eine optimale Strategie zu finden. Damit
die homogenen Agenten unterschiedliche Verhaltensweisen zeigen können, ist eine
Kommunikation der einzelnen Individuen untereinander unabdingbar. Durch eine
implizite Form der Kommunikation wird den Agenten das aktuelle Verhätlnis zwischen Angreifern und Verteidigern mitgeteilt. Insgesamt hat das Selector-Modul
Zugriff auf 7 verschiedene sensorische Inputs:
1. Den Zustand der eigenen Flagge (1=Flagge in Basis, 0=Flagge gestohlen)
2. Den Zustand der gegnerischen Flagge (1=Flagge in gegnerischer Basis, 0=Flagge gestohlen)
84
6.3 Implementierung für Capture the Flag
3. Die aktuelle Rolle des Agenten (0=Verteidiger, 1=Angreifer)
4. Das Rollenverhältnis im Team (z.B. 0.3 = 30% Angreifer und 70% Verteidiger)
5. Ist der Agent im Besitzt der gegnerischen Flagge (1=ja, 0=nein)
6. Ist der Agent im Team der Nächste an der gegnerischen Flagge
7. Ist der Agent im Team der Nächste an der eigenen Flagge
Zusätzlich zu den beschriebenen Inputneuronen besitzt das PNN 3 Hidden und 2
Outputneuronen (Abbildung 6.12). Folglich beläuft sich die Länge des Genotyps
auf 60 Bits. Die zwei Outputneuronen sind für die Wahl des Offence bzw. Defence
Moduls verantwortlich. Die Teams werden mit dem schon beschriebenen homogenen Team-Learning Ansatz trainiert (siehe Kapitel 4.5.1). Dass heist, das gleiche
modulare PNN wird benutzt, um die Kontrollstrukturen aller Agenten des Teams
zu kodieren.
Die Güte der Teams wird anhand ihrer Performance gegen andere Teams bestimmt. Das Design der Fitnessfunktion Φ orientiert sich hierbei an den Zustandsübergängen des endlichen Automaten in Abbildung 6.8:
Φ = f c ∗ 10 + f r ∗ 5 − f ce ∗ 10 − f re ∗ 5
wobei f c die Anzahl der erfolgreich erbeuteten gegnerischen Flaggen ist, f r die
Anzahl der zurückgeholten eignen Flaggen, f ce die Anzahl an erbeuteten Flaggen
des Gegners und f re die zurückgeholten Flaggen der gegnerischen Manschaft. Teams
die ungünstige Zustandsübergänge favorisieren sollten schlechter bewertet werden
als diejenigen, die wünschenswerte Zustandsübergänge zeigen.
6.3.4 Experimente und Diskussion der Ergebnisse
Für die Evolution des Selector-Moduls wird eine Teamgröße von 5 Agenten verwendet. Das evolutionäre Training fingdet gegen zwei unterschiedlich komplexe, handkodierte Teams statt:
1. Team mit zustandsunabhängiger Rollenverteilung (immer 3 Angreifer und 2
Verteidiger)
2. Team mit zustandsabhängiger Rollenverteilung
Im zweiten Fall war das Ziel, ein möglichst gutes und herausforderndes Team zu
kreieren, welches ohne eine effektive dynmaische Rollenzuweisung nicht zu schlagen
ist. Um einen objektiven Vergleich der adaptiven und nicht-adaptiven Teams zu
gewährleisten, benutzen alle die evolvierten Grundmodule (Offence und Defence)
85
Kapitel 6 Der Adaptive Role Allocation Mechanismus
20
15
Fitness
10
5
0
10
20
30
40
50
60
70
-5
-10
-15
Generation
Abbildung 6.9: Die durschnittliche Fitness der besten fünf Teams pro Generation.
für das jeweilige low-level Verhalten. Im Gegensatz zum adaptiven Team besitzten
die handkodierte Teams kein Selector-Modul.
In dem evolutionären Prozess werden nur die Chromosomen des Selector-Moduls
geändert. Das Genom der Offence/- und Defence-Module bleiben unverändert. Die
Gesamtfitness der Teams berechnet sich aus der durschnittliche Fitness über zwei
Durchläufe, die jeweils 3000 Zeitschritte in Anspruch nehmen. Um Vorteilen aufgrund der Startposition der Teams entgegenzuwirken, werden nach jedem Durchgang die Positionen der Basen getauscht.
Adaptive Role Allocation vs. Team mit zustandsunabhängiger
Rollenverteilung
In dem ersten Experiment wird das Team anhand seiner Performance gegen ein
Team mit zustandsunabhängiger Rollenverteilung bewertet. Diese Aufteilung ist
nicht für alle CTF-Zustände optimal und das adaptive Team sollte in der Lage
sein für die verschiedenen Umweltzustände gute Gegenstrategien zu entwickeln. Wie
schon Eingangs erwähnt, besitzt das handkodierte Team kein Selector-Modul und
zeigt immer eine feste Aufteilung von 3 Angreifern und 2 Verteidigern.
Abbildung 6.9 zeigt die Fitness des Teams während den ersten 80 Generationen
des evolutionären Trainings. Am Anfang sind die adaptiven Team nicht in der Lage Punkte zu erzielen und ihr Verhalten ist gekennzeichnet durch einen schnellen
unkoordinierten Wechseln zwischen den verschiedenen Rollen. Schon nach wenigen
Generation entwickeln sie allerdings ein deutlich effektiveres Verhalten.
86
6.3 Implementierung für Capture the Flag
Tabelle 6.1: Punkte des adaptiven- gegen das statische-Team.
Experiment #
1
2
3
4
5
Total
Adaptive Team Static Team
1
1
3
1
3
0
2
1
4
1
13:4
Nach 23 Generationen sind die adaptiven den nicht-adaptiven Team fast durchgehend überlegen und erreichen Fitnesswerte zwischen 7 und 18. In Tabelle 6.1 sind
verschiedene Testspiele gegen das beste evolvierte Team dargestellt. Es zeigt sich,
dass das adaptive Team einem Team mit statischer Rollenverteilung klar überlegen
ist. Es gewinnt 4 der insgesamt 5 Spiele.
Fraction Attackers
1
Both flags at base
0.8
Enemy flag stolen
0.6
Base flag stolen
0.4
Both flags stolen
0.2
0
0
500
1000
1500
Steps
2000
2500
3000
Abbildung 6.10: Die Rollenverteilung des besten evolvierten adaptiven Teams im
Verlauf der Simulation.
Abbildung 6.10 zeigt die Rollenverteilung des besten evolvierten adaptiven Teams
im Verlauf eines Spiels. Die initialie Rollenverteilung liegt bei 60% Angreifern. Sobald in Zeitschritt 529 die Flagge vom anderen Team erbeutet wird erhöht sich
der Anteil an Angreifer auf 80%. Dies lässt sich dadurch erklären, dass das Team
jetzt versucht unter allen Umständen die Flagge des Gegners zu erbeuten. Ohne
die ist die gegnerische Manschaft nicht in der Lage Punkte zu erzielen. Diese Strategie zeigt Erfolg und die Flagge wird in Zeitschritt 956 wieder zurückerobert. In
Schritt 1233 erbeutet das gegnerische Team erneut die Flagge, verliert aber kurz
danach auch seine eigene Flagge. Das adaptive Team geht nun in eine defensive
Strategie. 80% des Teams werden zu Verteidigern, die jetzt versuchen, die eigene
Flagge wiederzuerlangen. Dies gelingt in Schritt 1822, was das Team veranlasst,
wieder eine Offensive-Strategie mit 80% Angreifern einzunehmen. Zwischen diesem
und Zeitschritt 2170 führt dies allerdings dazu, das beide Teams ihre Flagge verlie-
87
Kapitel 6 Der Adaptive Role Allocation Mechanismus
1
Fraction Attackers
0,9
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,1
0
Both flags at
base
Base flag
stolen
Enemy flag
stolen
Both flags
stolen
Abbildung 6.11: Das durschnittliche Verhältnis von Angreifern und Verteidigern
über die gesammte Simulationsdauer.
ren. Das adaptive Team veringert darauf hin den Anteil der Angreifer auf 60%. Das
gegnerische Team ist aber in der Lage seine Flagge zurückzuerobern was das adaptive Team zu einer noch defensiver Verhalten veranlast. 80% Verteidiger bewachen
jetzt die eignen Flagge. In Zeitschritt 2708 verliert das gegnerische Team dann seine
eigene Flagge.
In Abbildung 6.11 ist das durschnitliche Verhältnis von Angreifern zu Verteidigern über die gesamte Dauer der Simulation für die unterschiedlichen CTF-Zustände
dargestellt. Befinden sich beiden Flaggen an den entsprechenden Basen, nimmt das
Team eine moderate, ausgeglichene Strategie mit einem Verhältnis von ungefähr
50/50 ein. Wird die eigene Flagge geklaut, schaltet das Team auf eine eher offensive
Strategie mit durschnittliche 80% Angreifern. Wird die Flagge des Gegners geklaut,
ist die durschnittliche Anzahl an Verteidigern 80%. Sind beide Flagge nicht an der
Basis, liegt die durschnittliche Anzahl an Angreifern bei 68%. Das Teamverhalten
zeigt effiziente Formen situationsabhängigem adaptiven Verhaltens, die ihm eine
Überlegenheit gegen das statische Team sichern. Um eine genaueren Einblick in die
zugrunlegenden Mechanismen zu erlangen, sollen die internen Dynamiken des evolvierte Selector-Moduls näher betrachtet werden. Abbildung 6.12 zeigt das evolvierte
PNN. Interessant sind hierbei die implementierten Lernregeln der zwei OutputNeuronen. Das Defence-Neuron benutzt einen postsynaptischen Mechanismus wohingegend das Offence-Neuron eine präsynaptische hebbsche Lernregel verwendet.
Diese Mechanismen ermöglichen nur eine temporäre Erregung der Synapsen.
Wichtig sind die synaptischen Verbindungen der Inputneuronen mit den zwei Outputneuronen, dass heißt die Assozationen zwischen dem aktuell wahrgenommenen
88
6.3 Implementierung für Capture the Flag
FlagHome
EnemyFlagHome
Role
Sensorneurons
FractionAttackers
HasFlag
ClosestToEnemyFlag
ClosestToFlag
DefenderModule
Outputneurons
AttackerModule
H1
Hiddenneurons
H2
Plain Hebb
Presynaptic
Positive Weight
Postsynaptic
Covariance
Negative Weight
Abbildung 6.12: Die implementierten Lernregeln des evolvierten vollrekurrenten
Selector-Moduls.
Umweltzustand und dem gewählten Modul. Ihre Aktivität ist in Abbildung 6.13a
für die verschiedenen sensorischen Inputs geplottet. Kleinere synaptische Gewichte führen dazu, dass die Selektionswahrscheinlichkeit des entsprechendende Moduls
sinkt.
Um die Interpretation der Resultate zu vereinfachen, zeigt Abbildung 6.13 die
Differenzen der synaptischen Gewichte zwischen jedem Inputneuron und den beiden
Outputneuronen. Positive Gewichte bedeuted eine stärkere Assozitation mit dem
Defence-Modul und negative mit dem Offence-Modul.
Immer wenn die eigenen Flagge geklaut wird, erhöht sich durch den implementierten präsynaptischen Mechanismus das Gewicht zwischen dem Inputneuron FlagStolen und dem Offence-Neuron. Gleichzeitig werden die Gewichte zwischen diesem
Inputneuron und dem Defence-Modul durch die postsynaptische Lernregel veringert.
Dies führt dazu, dass die Wahrlichkeit steigt, dass der Agent eine offensive Rolle einnimmt. Die Verbindung des Role-Input zu den beiden Outputneuronen führt dazu,
dass die Agenten in ihrer gewählten Rolle verstärkt werden. Läsionsexperimente,
in denen die Verbindung von diesen Inputneuron zu den Outputneuronen unterbrochen wurde, führen zu einem häufigen ineffektives Wechseln der Agentenrollen.
Weitere Läsionsexperimente des Ratio-Inputs zeigen, dass die Agenten ohne diese
sensorische Information häufig alle eine bestimmte Rolle einnehmen.
Eine Analyse der synaptischen Aktivität zeigt, dass bei einem Anteil von Angreifer über 50%, das synaptische Gewicht des Defence-Moduls gestärkt werden. Der
entgegengesetzte Fall ist bei einem Anteil von Verteidigern über 50% zu beobachten. Das Ratio-Input ist also für die grundlegend gleichmäßige Verteilung zwischen
Angreifern und Verteidigern zuständig.
Wird die Flagge des Gegners geklaut, führt dies zu einem starken Gewichtsab-
89
Kapitel 6 Der Adaptive Role Allocation Mechanismus
fall der Synapse des Offence-Moduls verbunden mit einer konstanten synaptischen
Aktivität zwischen diesem Inputneuronen und dem Defence-Motorneuron. Dadurch
werden fast alle Agenten zu Verteidigern (vergl. Abbildung 6.11). Die trift allerdings nicht für den Flaggenträger zu. Bei ihm steigt das synaptische Gewicht zwischen dem HasFlag-InputNeuron und dem Offence-Modul fast bis auf das Maximum
an. Dadurch nimmt er unabhängig von den anderen Gewichten eine offensive Rolle
ein. Eine ähnliche Beobachtung lässt sich auch im Falle des ClosestToFlag-Inputs
machen. Seine Aktivtät führt zu einer starken Erhöhung der Assoziation mit dem
Defence-Neuron, was die Warscheinlichkeit einer maßgeblich defensiven Rollenwahl
erhöht.
Die Untersuchungen legen den Verdacht nahe, das die beiden Inputneuronen FlagStolen und EnemyFlagStolen für die grobe Rolleneinteilung verantwortlich sind. Sie
beschreiben den grundlegenden Zustand des CTF-Spiels. Eine Hauptkomponentenanalyse der synaptischen Verbindungen des Selector-Moduls unterstütßt diese These (Abbildung 6.14). Ganz deutlich lässt sich eine klare Clusterung der Gewichte
erkennen. Insgesamt existieren vier dynamische Gleichgewichte, die mit den grundlegenden Zuständen des CTF-Spiels korrespondieren. Durch die Assoziationen mit
den anderen Outputneuron (HasFlag, ClosestToEnemyFlag, ClosestToFlag) ist der
Agent in der Lage seine Rollen schnell zu wechseln, wenn dies verlangt wird. Durch
die implementierten prä- und posysynaptischen Lernregeln sind aufgrund unterschiedlicher Umweltveränderungen unterschiedlich Gewichtsänderungen der Synapsen möglich.
90
6.3 Implementierung für Capture the Flag
FlagStolen
EnemyFlagStolen
Role
FractionAttackers
1
1
1
1
0.5
0.5
0.5
0.5
0
0
0
0
-0.5
-0.5
-0.5
-0.5
-1
0
1000 2000 3000
HasFlag
1
-1
0
-1
1000 2000 3000
ClosestToEnemyFlag
1
0
1000 2000 3000
-1
0
1000 2000 3000
ClosestToFlag
1
0.5
0.5
0.5
0
0
0
-0.5
-0.5
-0.5
Offence
-1
0
1000 2000 3000
-1
0
-1
1000 2000 3000
Defence
0
1000 2000 3000
(a)
FlagStolen
EnemyFlagStolen
Role
FractionAttackers
1
1
1
1
0.5
0.5
0.5
0.5
0
0
0
0
-0.5
-0.5
-0.5
-0.5
-1
0
1000 2000 3000
HasFlag
1
-1
0
1000 2000 3000
-1
ClosestToEnemyFlag
1
0
0.5
0
0
0
-0.5
-0.5
-0.5
1000 2000 3000
-1
0
1000 2000 3000
0
1000 2000 3000
1
0.5
0
-1
ClosestToFlag
0.5
-1
1000 2000 3000
-1
0
1000 2000 3000
(b)
Abbildung 6.13: (a) Die synaptischen Gewichte zwischen den sensorischen Inputneuronen und dem Offence-/Defence Module während der Simulation. Das
Vorzeichen der y-Achse zeigt an ob die Synapse exitatorisch oder inhibiorisch
ist. (b) Die Differenzen der synaptischen Gewichte zwischen jedem Inputneuron
und den beiden Outputneuronen. Die Aktivität der Inputneuronen spiegelt sich
in einer roten Linienfarbe wieder. Der vierte Graph für das sensorische Input
FractionAttackers ist rot wenn dessen Aktivität ≥ 0.4 ist
In dem nächsten Experiment sollen die Eigenschaften von frühen Erfahrungen
91
Kapitel 6 Der Adaptive Role Allocation Mechanismus
Both flags home
Base flag stolen
Enemy flag stolen
Both flags stolen
Abbildung 6.14: Die ersten drei Hauptkomponenten des Gewichtsraum während
den ersten 3000 Aktionen des Agenten.
genauer untersucht werden. Normalerweise bewegen sich die synaptischen Gewichte
während der ersten Sensor-Motor-Durchläufen des Agenten in eine Region dynamischen Gleichgewichts des Gewichtsraum (vergl. Abbildung 6.7). In dem jetzigen
Versuch sind die Agenten für die ersten 100 Zeitschritte nicht in der Lage, ihre
eigene Rolle zu ändern. Danach wurde dieses beeinträchtigte Team unter normalen Bedingungen gegen ein anders nicht-adaptives Team getestet. Auf den ersten
Blick lässt sich eine normale situationsabhängige Rollenverteilung beobachten. Bei
genauer Analyse zeigen sich allerdings Unterschiede in dem observierten Verhalten.
Normalerweise zeigen die Teams bei geklauter gegnerischer Flagge einen Aufteilung
von einem Angreifer und vier Verteidigern. Diese Aufteilung lässt sich auch bei dem
beeinträchtigten Team beobachten, allerdings wechselt das normale Team wieder
zu einer Aufteilung von drei Angreifern und zwei Verteidigern wenn die Flagge zurückerobert wurde. Dieses Verhalten zeigt das beeinträchtigte Team nicht immer.
Oftmals bleibt das Team trotz des Zustandswechsels bei einer Aufteilung von 1/4.
Diese Beobachten legen die Vermutung nahe, dass frühe Erfahrungen, in denen
die Gewichte normalerweise einen Zustand des dynamischen Gleichgewichts im Gewichtsraum einnehmen, wichtig für die richtige Entwicklung der PNN sind. Trotz
der adaptiven Mechanismen können diese Defiziete nicht mehr korrigiert werden.
92
6.3 Implementierung für Capture the Flag
Die Startposition im Gewichtsraum scheinen schlechter als die der zufälligen Initialisierung zu sein. Ähnliche Beobachtugen wurden auch von (Floreano und Mondada,
2000) und (Suzuki u. a., 2005) gemacht, die sich ebenfalls mit adaptiven Neuronalen
Netzen beschäftigen.
Um die Beziehung zwischen den vererbten neuronalen Strukturen und dem Lernprozess besser zu verstehen, wurden die adaptiven Mechanismen der PNN deaktiviert. Die Gewichte des evolvierten Teams wurden standardtmäßig auf kleine zufällige Werte initialisiert, aber eine zusätzliche Veränderung der Gewichte durch die
implementierten Lernregeln findet nicht mehr statt. Dieses Team zeigt zwar auch
eine grobe Rollenaufteilung von drei Angreifern und zwei Verteidigern aber ein zustandsabhängiger Wechsel findet nicht mehr stat. Bei den beobachteten Experimenten zeigen die Agenten einen häufigen inefektiven Wechseln zwischen Angreifer und
Verteidiger. Eine Ausnahme stellt allerdings der Agent dar, der sich am nächsten
an der eigenen Flagge befindet. Er nimmt in der Mehrzahl der beobachteten Experimente eine defensive Rolle ein. Diese Test legen die Vermutung nahe, dass zwar
die grobe Aufteilung und wichtige primitive Verhaltensweisen (der Nächste an der
eignen Flagge wird Verteidiger) genetisch vererbt werden, aber eine weitere Justierung ohne die adaptiven Synapsen nicht möglich ist. Die genetisch übertragenen
Fähigkeiten, schränken den Suchraums des Lernens ein, und bieten eine guten Ausgangspunkt für die ontogenetische Entwicklung.
Um die Robustheit des entwickelten Ansatzes zu testen, wurde die Auswirkung des
Verlustes von einzelnen Teammitgliedern untersucht. Normalerweise folgen alle bis
auf einen Agenten einer defensive Strategien, wenn die feindliche Flagge erbeutet
wurde. Nur der Flaggenträger bleibt Angreifer. Wird dieser entfernt, übernimmt
automatisch einer der verbleibenden defensiven Agenten seine offensive Rolle. Ein
weiteres Experiment wurde für den CTF-Zustand unternommen, in dem die eigene
Flagge im Besitz des gegnerischen Team ist. Normalerweise wechseln alle Agenten
in eine Offence-Rolle um die gegnerische Flagge möglichst schnell zu erbeuten und
ein einzelner defensiver Agent versucht die eigene Flagge zurückzuerobern. Wird
dieser Agent aus dem Spiel entfernt, übernimmt automatisch einer der angreifenden
Agenten seine defensive Rolle. Es zeigt sich, dass die Agenten auch mit dem Verlust
einzelner Teammitglieder zurechtkommen, und immer versuchen, das für die aktuelle
Situation optimale Verhältnis von Angreifern und Verteidigern aufrechtzuerhalten.
Adaptive Role Allocation vs. Team mit zustandsabhängiger
Rollenverteilung
In diesem Abschnitt soll gezeigen werden, dass der evolutionäre Prozess Strategien
finden kann, die mit effizienten handkodierten Teams kokurrieren können. Die zustandsabhängige Verteilung des gegnerischen Teams ist in Tabelle 6.2(a) dargestellt.
Sie orientiert sich an der besten evolvierten Taktik des adptiven Teams aus dem vor-
93
Kapitel 6 Der Adaptive Role Allocation Mechanismus
herigen Kapitel. Die Team-KI der popularen (Ego-)Shooter Unreal Tournament und
Quake III2 zeigen eine ähnliche Rollenverteilungen.
Zustäzlich zu der zustandsabhängigen Grundverteilung zeigt das handkodierte
Team folgende Taktik, die ihm ein effizienteres agonistisches Verhalten ermöglicht:
1. Der Agent, der sich als nächstes an der eignen Flagge befindet, nimmt eine
defensive Rolle ein.
2. Der Agent, der die gegnerische Flagge besitzt oder sich am nächsten zu ihr
befindet, wechselt in eine offensive Rolle.
Tabelle 6.2: (a) Zustandsabhänige Rollenaufteilung für 5 Agenten des handkodierten Teams. (b) Punkte des adaptiven Teams gegen ein Team mit zustandsabhängiger Rollenverteilung.
(a)
State
Both flags at base
Base flag stolen
Both flags stolen
Enemy flag stolen
Attackers
3
4
3
1
(b)
Defenders
2
1
2
4
Experiment #
1
2
3
4
5
Total
Teamsize
4
5
6
1:2 3:2 2:1
3:2 1:3 4:0
1:1 4:2 2:1
5:0 3:4 1:1
1:0 2:2 0:2
33:23
Abbildung 6.15 zeigt den Verlauf des evolutionären Trainings während den ersten
53 Generationen. Im Vergleich zu dem Fitnessverlauf in Abbildung 6.9 fällt auf, dass
die Agenten zwar in der Lage sind ihre Leistungen zu steigern, aber dies nicht in dem
vorher beobachteten Maße. Dies liegt an dem kompetenteren Verhalten des handkodierten Teams, dass eine effektive Strategie zeigt und einen herausfordernden
Gegner darstellt. Es zeigt sich aber, dass die besten evolvierten Teams trotzdem in
der Lage sind die gengerische handkodierte Manschaft zu schlagen (Tabelle 6.2(b)).
Bemerkenswert ist hierbei die Tatsache, dass das adaptive Team sein Verhalten auf
unterschiedlichen Teamgrößen anpassen können, obwohl das evolutionäre Training
auschließlich mit einer Teamgröße von 5 Agenten stattgefunden hat. Dies ist ein
weiteres Indiz für die Skalierbarkeit des vorgestellten Ansatzes.
2
Unreal Tournament ist ein futuristischer (Ego-)Shooter der 1999 von GT Interactive veröffentlicht wurde. Quake III von id Software kam 1999 auf den Markt. Beide Spiele ermöglichen es
dem Spieler in verschiedenen Spielmodi (Capture the Flag, Deathmatch, etc.) gegen menschliche Spieler oder computergesteuerte Gegner (Bots) anzutreten.
94
6.4 Ein existierender zentralistischer Ansatz: TEAM
30
25
20
Fitness
15
10
5
0
0
10
20
30
40
50
-5
-10
Generation
Abbildung 6.15: Die durschnittliche Fitness der besten fünf Teams pro Generation
gegen ein Team mit zustandsabhängiger Rollenverteilung.
Bei der Analyse des evolvierten Verhaltens fällt auf, dass das adaptive Team eine
interesssante Gegenstrategie enwickelt. Wenn sie im Besitz der gegnerischen Flagge
kommen, teilen sie sich in einen Verteidiger, einen Angreifer (Flaggenträger) und drei
Agenten auf, die ständig zwischen einer offensiven und defensiven Rollen wechseln.
Diesen Verhalten lässt sich damit erklären, dass es den Agenten so möglich ist, in der
Mitte des Spielfelds zu bleiben. Durch die vordefinierten Rollen sind die Agenten
normalerweise gezwungen, sich entweder zur gegnerischen oder eignen Flagge zu
bewegen. Durch die evolvierte Taktik sind sie ersten in der Lage den gegnerischen
Agenten den Weg zurück zu ihrer eigenen Basis zu versperren und gleichzeitig ist
ein schneller „recapture“ möglich, wenn der momentane Flaggenträger die Flagge
verliert.
Diese Beobachtungen zeigen, das der evolutionäre Prozess Strategien finden kann,
die nicht nur mit handkodierten Strategien konkurrieren sondern ihnen auch überlegen sind. Dieser autmatisierte Prozess kann ohne menschliche Intervention stattfinden und verlangt nur die Definition einer angemessenen Fitnessfunktion.
6.4 Ein existierender zentralistischer Ansatz: TEAM
Ein weiteres Beispiel für ein Team von Agenten, das evolviert wurden um CTF zu
spielen, ist in (?) zu finden. Im Gegensatz zu dem in dieser Arbeit vorgestellten
dezentralistischen Ansatz benutzten sie einen zentralistischen Ansatz zum Training
der Teams (vergl. Abbildung 6.16). Der Team-oriented Evolutionray Adaptability
Mechanism (TEAM) zeichnet sich durch einen entscheidungsfindenden Mechanis-
95
Kapitel 6 Der Adaptive Role Allocation Mechanismus
Agent
Agent
Agent
Agent
Control mechanism
Agent
Agent Agent
Abbildung 6.16: Dezentralisierte (links) und zentralisierte (rechts) Organiastion.
mus gibt, der den einzelnen Agenten bestimmte Rollen zuweist. Bakkes u.a benutzten für jeden der unterschiedlichen Zustände des CTF-Spiels (Abbildung 6.17)
unterschiedliche evolutionäre Algorithmen, die die für diese Situation erfolderlichen
Verhaltensweisen lernen. Bei diesem Lernprozess werden zusätzlich auch die Langzeitkonsequenzen der anderen EA mit in Betracht gezogen, so dass das komplexe
Gruppenverhalten aus der Interaktion der einzelnen Prozesse emergiert. Der EA
wird hierbei nicht nur zum initialen Training des Teams benutzt sondern auch zur
online-Adaption während des gesammtes Spiels um sich an Verhaltensänderungen
des Gegners anzupassen. Sie verwenden eine Fitnessfunktion, die auf einer zeitversetzten Bewertung der Fitnessübergänge in dem endlichen Automaten in Abbildung
6.8 basiert. Erst wenn eine gewisse Anzahl von Zustandsübergängen stattgefunden
hat wird die Güte des jeweiligen Chromosms bestimmt. Die Fitnessfunktion besteht
aus zwei Komponenten einer skalierten Fitnessfunktion (6.1) und einer verzögerten
Fitnesfuntkion (6.2):

√ √
1.0 − min( t− 3t , 1.0)
{transition = +}
√ √ t 10
(6.1)
Scaled_f itness =
t−
min(
3
, 1.0)
{transition = −}
10
wobei t die Zeit angibt, bevor ein Zustandsübergang stattgefunden hat. Die transitions
werden durch die Beschriftungen des endlichen Automaten bestimmt. Die verzögerte
Fitnessfunktion ist folgendermaßen definiert:
Delayed_f itnessm =
m
X
i=0
1
(Scaled_f itnessM +i )
i+1
(6.2)
wobei i die Tiefe ist, n ein positiver Integer und Scaledf itness die skalierte Fitness
des Genoms. Die delayedF itness wird benutzt, um auch die Langzeiteffekte des Verhaltens bewerten zu können. Positve Zustandsübergänge sind nur erwünschenswert,
wenn das Team dadurch seine Gesamtleistung verbessern kann.
Da der EA auch zur Anpassung der Agenten während des Spiels benutzt wird,
implementierte Bakkes u.a. einen EA der zu vorherigen günstigeren evolutionären
96
6.5 Vergleich von TEAM und dem Adaptive Role Allocation Mechanismus
Abbildung 6.17: Verschiedenen Instanzen von TEAM lernen kooperativ Teamorientiertes Verhalten verschiedenen Zustände des Spiels (?).
Zuständen zurückkehren kann. Durch die stochastische Natur der EA kann sich
die Leistung eines Teams von der einen auf die andere Generation verschlechtern.
Da dies allerdings besonders für ein Verfahren zur online-Adaption der Teams keine
wünscheswerte Eigenschaft ist, kann TEAM nicht erfolgreiche Chromosomen wieder
entfernen. Die Autoren implementierten ihren Ansatz für Quake III und zeigen,
dass ihr Mechanismus in der Lage ist, die nicht adaptive Team-AI des Spiels zu
überragen. TEAM ist fähig Gegenstrategien zu finden, die eine effektiv Anpassungen
an Veränderungen des gegnerischen Verhaltens ermöglichen.
6.5 Vergleich von TEAM und dem Adaptive Role
Allocation Mechanismus
Im Gegensatz zum Adaptive Role Allocation Mechanismus zeigt TEAM keine Trennung zwischen Evolution und Lernen. Der evolutionäre Prozess ist der einzige adaptive Mechanismus, der dem TEAM Mechanismus eine Anpassung an seinen Gegner
erlaubt. Durch die Verknüpfung von Evolution und Lernen ist eine Verknüpfung der
globalen und lokalen Charateristka dieser beiden Systeme möglich, wodurch eine
größere Anpassungsfähigkeit erreicht werden sollte. Desweiteren ist der Adaptive
Role Allocation Mechanismus nicht dazu gezwungen ineffektive Chromosomen auszusortieren, da der EA nicht zur direkten online-Adaption der Teams benutzt wird.
Der generelle Gebrauch von Neuronalen Netzen bietet wichtige Vorteile gegenüber
anderen Kontrollstrukturen, die in den vorangegangen Kapitel deutlich gemacht
97
Kapitel 6 Der Adaptive Role Allocation Mechanismus
wurden.
Im Gegensatz zum TEAM-Mechanismus erlaubt der in dieser Arbeit implementierte Ansatz sowohl die Evolution des Team-Verhaltens auch auch die Evolution
effizienter Agenten-KI. TEAM greift für die KI der einzelnen Agenten auf die Quake III Engine zurück. Dadurch bietet der Adaptive Role Allocation Mechanismus
ein breiteres Anwendungssprektrum, auch in Domänen, in denen keine effizienten
Einzel-KI vorhanden ist. Für TEAM sind die Einzel und Team-KI zwei unterschiedliche Prozesse, wohingegen der entwickelte Mechanismus die Synthese dieser beiden
Systeme in ein kohärentes System erlaubt.
Aufgrund der online-Eigenschaft des TEAM Mechanismus operiert dieser immer
nur auf einem Chromosom, wodurch die genetische Diversität der Population stark
eingeschränkt wird. Ein Grundkonzept der EA besteht aber in der Verwendung
von ausreichend großen Population (normalerweise 20-100), da nur dadurch eine
effektive und vollständige Suche gewährleistet wird [].
Im Gegensatz zu TEAM benutzt der Adaptive Role Allocation Mechanismus einen
dezentralisitischen Ansatz zur Organisation des Teams. Dieser hat im Vergleich zu
einer zentralistischen Organisationsform den Vorteile, das er weit robuster und wesentlich einfacher zu skalieren ist. Fällt die zentrale Instanz des TEAM-Mechanismus
aus, sind die Agenten nicht mehr in der Lage, ein kooperatives Verhalten zu zeigen.
Die effektive Arbeitsteilung von sozial lebenden Insekten, die keine zentrale Kontrolle besitzen, zeigt die Effektivität und Robustheit dieses Ansatzes. Besonders bei
sehr großen Population ist eine Kontrolle durch nur eine zentrale Steuerungseinheit
schwer zu realisieren. Teams die auf eine vorspezifizierte Arbeitsteilung trainiert
worden sind, können ineffektiv werden, wenn sich die Anzahl der Agenten ändert.
Dezentralisierte Ansätze mit homogenen Teams besitzten diese Nachteile nicht.
Der Vergleich der beiden Verfahren basiert auf theoretische Überlegungen, da ein
genauer Performancevergleich aufgrund der unterschiedlichen Implementierung zur
Zeit nicht möglich ist. Zukünftige Untersuchungen mit einer einheitlichen Implementierung könnte weitere Einsichten in die Vor- und Nachteile der beiden Systeme
liefern. ,
98
Kapitel 7
Zusammenfassung und Ausblick
Agenten-basierte Technologien haben besonders in den letzten Jahren viel Interesse
geweckt. Sie bieten ein vielversprechendes neues Pardigma für das Design von intelligenten Softwaresystemen besonders in offenen und verteilten Anwendungen. Bis
zu dem heutigen Zeitpunkt beschäftigen sich die meistens dieser Agenten-basierten
Systeme mit einzelnen Agenten. Allerdings verlangen immer leistungsfähigere und
komplexere Anwendungen Systeme, in denen mehrere Agenten miteinander interagieren müssen.
Dabei sollten die einzelnen Individuen sowohl zu autonomem als auch intelligentem Verhalten in der Lage sein. Viele dieser Systeme verlangen von den Agenten
die Bearbeitung von verschiedenen Aufgaben und das Wechseln zwischen verschiedenen Rollen. Besonders das dynamische und schwer vohersehbare Verhalten von
Multi-Agenten-Systemen erschwert den Entwurf von effektiven Kontrollstrukturen.
In dieser Arbeit wurde ein dezentralisiertes Verfahren zur dynamischen Rollenverteilung in einem homogenen Team entwickelt. Das System basiert auf einer modularen Verwendung der Plastischen Neuronalen Netze und bietet eine Verknüpfung von
lernenden und evolutionären Prozessen. Durch das Vordefinieren bestimmter Netzwerktopologien und Verschaltungen sind diese Systeme in der Lage deutlich schneller
und effizienter zu lernen. Dabei werden die Gewichte im Unterschied zu klassischen
Neuronalen Netzen nicht im Genotyp gespeicher sondern adaptieren sich on-line auf
die aktuelle Umgebung. Urzelai und Floreano (2001) haben gezeigt, dass die PNN
in der Lage sind, mit unvorhersehbaren Veränderungen umzugehen, die während
des evolutinären Trainings nicht aufgetreten sind. Die Verwendung dieses Netztyps
führt zu einer viel kompakteren genetischen Repräsentation. Evolution und Lernen
sind zwei Prozesse die sich aufgrund ihrer lokalen und globalen Sucheigenschaften
gut ergänzen, und ihre Verknüpfung führt sowohl zu einem ontogenetischen als auch
phylogenetischen Leistungszuwachs.
Der entwickelte Adaptive Role Allocation Mechanismus zeichnet sich durch eine
getrennte Evolution der Agenten und Team-KI aus. Im ersten Schritt werden die
grundlegenden Verhaltensweisen der Agenten für die gegebene Aufgabenstellung
identifiziert und evolviert. Danach findet ein Training der Agenten als Team statt.
Die evolvierten neuronalen Module werden dabei durch das sogenannte Selector-
99
Kapitel 7 Zusammenfassung und Ausblick
Modul zu einem kohärenten System verknüpft. Eine dynamische Rollenverteilung
wird möglich, da durch die adaptiven Synapsen der Plastischen Neuronalen Netze die
Assoziationen zwischen den verschiedenen neuronalen Elementen verändert werden
können.
Ein weiterer Teil dieser Diplomarbeit bestand in der Implementierung des Adaptive Role Allocation Mechanismus führ eine konkrete Aufgabenstellung. Hierfür
wurde das strategische Capture the Flag Spiel gewählt, da es sowohl komplexe
Agenten- auch als komplexe Team-KI erfordert. Bei diesem Spiel haben die Agenten die Möglichkeit, entweder eine defensive oder offensive Rolle einzunehmen. Experimente gegen Teams mit einer handkodierten Rollenzuweisung zeigen, das die
evolvierten Strategien nicht nur mit diesen Systemen konkurrieren, sondern diesen
auch überlegen sein können. Die evolvierten Teams sind sowohl robust gegenüber
dem Verlust einzelner Teammitglieder als auch skalierbar in der Anzahl der Individuen. Die adaptiven Teams sind in der Lage für jede Situation eine optimale
Aufteilung an Angreifer und Verteidiger zu finden.
Die evolvierten Netzen wurden einer genauen neuro-ethologischen Analyse unterzogen. Die Resultate legen nahe, dass die synaptische Aktivität der einzelnen
Synapsen mit unterschiedlichen Verhaltensweisen der Individuen korrespondiert. Im
Gegensatz zu klassischen Lernverfahren, in denen eine Stabilisierung des Verhaltens
mit dem Erreichen eines stabilen Zustands korrespondiert, ändern sich die Gewichte
des adaptiven Netzes fortwährend. Sie zeigen ein dynamisches Gleichgewicht. Durch
eine Hauptkomponentenanalyse der Gewichte des evolvierten Selector-Moduls könnte gezeigt werden, dass der Gewichtsraum des Plastischen Neuronalen Netzes vier
dieser dynamischen Zustände besitzt, die mit den verschiedenen Capture the FlagZuständen koresspondieren.
Das entwickelte Verfahren wurde mit dem existierenden zentralisitischen TEAMAnsatz (?) verglichen und die Vorteile dezentraler Architekturen erläutert. Weitere
Untersuchungen, anhand einer einheitlichen Implementierung, könnten weitere Einsichten in die Vor- und Nachteile der beiden Systeme liefern.
Abschließend sollen einige Aspekte aufgegriffen werden, welche die Basis für zukünftige Verbesserungen des Systems bieten könnten. Ein Ansatz, der in der Implementierung des vorgestellten Verfahrens außer Acht gelassen wurde, ist die Evolution
der Architektur des Neuronalen Netzes. Durch eine indirekte Form der Kodierung
in Verbindung mit Entwicklungsregeln für die Netztopolgie kann die Kompaktheit
der genetischen Repräsentation weiter erhöht werden. Dieses Verfahren könnte den
Vorteil bieten, dass die Modularität der Neuronalen Netze nicht explizit konstruiert
werden muss sondern allein aufgrund des evolutionären Prozesses emergiert. Vielversprechend ist die Co-Evolution der Lernregeln zusammen mit morphologischen
Faktoren, wobei sich die finale Struktur in Interaktion mit der Umgebung ergibt.
Dies würde zu skalierbareren neuronalen Kontrollern führen, die letztendlich die
Evolvierbarkeit verbesern.
100
Der Apative Role Allocation Mechanismus benutzt eine implizite Form der Kommunikation. Interssant wären weiterführende Experimente, in denen den Individuen
die Möglichkeit gegeben wird, selbstständig kommunikative Strukturen zu evolvieren. Gegebenenfalls könnte die gefundene problemangepasste Art der Verständigung
den Agenten die Möglichkeit bieten, noch effektiver zu kooperieren.
Ein weiterer Verbesserungsvorschlag ist die Verknüpfung des vorgestellen Ansatzes mit Verfahren des überwachten Lernens. Bei Problemstellungen, die konkrete
Input-Output Daten bereitstellen, könnten Semi-überwachte helfen, den evolutionären Prozess weiter zu vereinfachen. Das Semi-überwachte Verfahren könnten speziell in den initialen Generationen helfen, das evolutionäre Training in die richtige
Richtung zu kanalisieren. Besonders in Spieldomänen könnten Agenten aus Beobachtungen und aufgezeichneten Daten lernen, um ihre eigenen Strategien zu verbessern.
Um die Universalität des Ansatzes zu testen, sollten andere Problemstellung implementiert werden, die eine größere Rollenviefalt beeinhalten. Das Capture the
Flag Spiel könnte um weitere Module erweitert werden, die den Teams die Möglichkeit zur besseren strategischen Planung geben. Interessant wäre hierbei auch
eine Implementierung für exisitiernde interaktive Computerspiele. Sie bieten immer
komplexere und realistischere Welten, die eine optimale Testumgebung für das entwickelte Verfahren und KI-basierten Systeme im Generellen darstellen. Besonders
die strategischen (Ego-)Shooter verlangen von den Teams eine dynamische Arbeitsund Rollenverteilung, die von dem Adaptive Role Allocation Mechanismus provitieren könnte.
101
Eidesstattliche Erklärung
Hiermit versichere ich, die vorliegende Arbeit selbstständig und unter ausschließlicher Verwendung der angegebenen Literatur und Hilfsmittel erstellt zu haben.
Die Arbeit wurde bisher in gleicher oder ähnlicher Form keiner anderen Prüfungsbehörde vorgelegt und auch nicht veröffentlicht.
Marburg, 29. Juni 2007
Unterschrift
v
Kapitel 7 Zusammenfassung und Ausblick
vi
Kapitel 8
Literaturverzeichnis
[Ampatzis u. a. 2006] Ampatzis, C. ; Tuci, E. ; Trianni, V. ; Dorigo, M.: Evolution of
Signalling in a Group of Robots Controlled by Dynamic Neural Networks. In: al., E. S.
et (Hrsg.): Proceedings of the Second Workshop on Swarm Robotics. Springer Verlag :
Springer Verlag, 2006 (LNAI). – to appear
[Andre und Teller 1999]
Andre, D. ; Teller, A.: Evolving team darwin united. 1999
[Azam 2000]
Azam, Farooq: Biologically inspired modular neural networks, Virginia
Polytechnic Institute and State University, Dissertation, 2000
[Baker 1987] Baker, James E.: Reducing bias and inefficiency in the selection algorithm.
In: Grefenstette, John J. (Hrsg.): Proceedings of the Second International Conference
on Genetic Algorithms, Lawrence Erlbaum Associates, Publishers, 1987
[Bakkes u. a. 2004] Bakkes, Sander ; Spronck, Pieter ; Postma, Eric O.: TEAM: The
Team-Oriented Evolutionary Adaptability Mechanism. In: ICEC, 2004, S. 273–282
[Balch 1998]
Balch, Tucker: Behavioral diversity in learning robot teams, College of
Computing, Georgia Institute of Technology, 1999. Directed by Ronald C. Arkin, Dissertation, 1998
[Baldassarre u. a. 2003] Baldassarre, Gianluca ; Nolfi, Stefano ; Parisi, Domenico:
Evolving Mobile Robots Able to Display Collective Behaviors. In: Artificial Life 9 (2003),
Nr. 3, S. 255–268
[Beer und Gallagher 1992] Beer, Randall D. ; Gallagher, John C.: Evolving Dynamical
Neural Networks for Adaptive Behavior. In: Adaptive Behavior 1 (1992), Nr. 1
[Bellman 2003] Bellman, Richard: Dynamic Programming. Dover Publications, March
2003. – ISBN 0486428095
[Benda u. a. 1986]
Benda, M. ; Jagannathan, V. ; Dodhiawala, R.: On Optimal
Cooperation of Knowledge Sources - An Empirical Investigation / Boeing Advanced
Technology Center, Boeing Computing Services. Seattle, Washington, Juli 1986 (BCS–
G2010–28). – Forschungsbericht
[Blickle und Thiele 1995] Blickle, Tobias ; Thiele, Lothar: A Comparison of Selection
Schemes Used in Genetic Algorithms / TIK Institut fur Technische Informatik und
vii
Kapitel 8 Literaturverzeichnis
Kommunikationsnetze, Computer Engineering and Networks Laboratory, ETH, Swiss
Federal Institute of Technology. Gloriastrasse 35, 8092 Zurich, Switzerland, Dezember
1995 (11). – TIK-Report
[Bonabeau u. a. 1999] Bonabeau, Eric ; Dorigo, Marco ; Theraulaz, Guy: Swarm
intelligence: from natural to artificial systems. New York, NY, USA : Oxford University
Press, Inc., 1999. – ISBN 0195131592
[Bonabeau u. a. 1997] Bonabeau, Eric ; Sobkowski, Andrej ; Theraulaz, Guy ; Deneubourg, Jean-Luis: Adaptive Task Allocation Inspired by a Model of Division of
Labor in Social Insects. In: Lundh, Dan (Hrsg.) ; Olsson, Bjorn (Hrsg.) ; Narayanan,
Ajit (Hrsg.): Biocomputing and Emergent Computation, World Scientific, 1997, S. 36–45
[Brooks 1986] Brooks, R. A.: A Robust Layered Control System for a Mobile Robot.
In: IEEE J. Robot. and Auto. 2 (1986), Nr. 3, S. 14–23
[Brooks 1990]
Brooks, Rodney A.: Elephants Don’t Play Chess. In: Robotics and
Autonomous Systems 6 (1990), Juni, Nr. 1&2, S. 3–15
[Bryant und Miikkulainen 2003] Bryant, B. D. ; Miikkulainen, R.: Neuroevolution
for adaptive teams. In: Proc. of the 2003 Congress on Evolutionary Computation, 2003
[C. J. C. H. Watkins 1989]
C. J. C. H. Watkins: Learning from Delayed Rewards,
King’s College, Dissertation, 1989
[Cao u. a. 1997] Cao, Y. U. ; Fukunaga, Alex S. ; Kahng, Andrew B.: Cooperative
Mobile Robotics: Antecedents and Directions. In: Auton. Robots 4 (1997), Nr. 1, S. 7–27
[D. E. Rumelhart 1986] D. E. Rumelhart, R.J. W.: Learning representations by backpropagating errors. In: Nature 323 (1986), S. 533–536
[Dorigo und Stützle 2004] Dorigo, Marco ; Stützle, Thomas: Ant Colony Optimization
(Bradford Books). The MIT Press, July 2004. – ISBN 0262042193
[Eric und Gawthrop 1995]
of the art. 1995
Eric, R. ; Gawthrop, P.: Modular neural networks: a state
[Floreano und Mondada 1996]
Floreano, D. ; Mondada, F.: Evolution of homing
navigation in a real mobile robot. 1996
[Floreano und Mondada 2000]
Floreano, D. ; Mondada, F.: Evolution of plastic
neurocontrollers for situated agents. Mai 15 2000
[Fogel 1997]
Fogel, David B.: The Advantages of Evolutionary Computation. In:
Lundh, D. (Hrsg.) ; Olsson, B. (Hrsg.) ; Narayanan, A. (Hrsg.): Bio-Computing and
Emergent Computation 1997. Singapore : World Scientific Press, 1997, S. 1–11
[Fogel u. a. 1966] Fogel, L. J. ; Owens, A. J. ; Walsh, M. J.: Artificial Intelligence
through Simulated Evolution. New York : John Wiley & Sons, 1966
viii
Kapitel 8 Literaturverzeichnis
[de Francesco 1994] Francesco, Massimo de: Functional Networks: A New Computational Framework for the Specification, Simulation and Algebraic Manipulation of . . .
Januar 06 1994
[Goldberg 1989]
Goldberg, D. E.: Genetic Algorithms in Search, Optimization and
Machine Learning. Addison Wesley, 1989
[Goldberg und Deb 1991]
Goldberg, David E. ; Deb, Kalyanmoy: A Comparative
Analysis of Selection Schemes Used in Genetic Algorithms. In: Rawlins, Gregory J. E.
(Hrsg.): Foundations of Genetic Algorithms, Morgan Kaufmann Publishers, 1991
[Gomez und Miikkulainen 1996] Gomez, Faustino ; Miikkulainen, Risto: Incremental
Evolution of Complex General Behavior / The University of Texas at Austin, Department
of Computer Sciences. 1, 1996 (AI96-248). – Forschungsbericht
[Gomez und Miikkulainen 1999] Gomez, Faustino J. ; Miikkulainen, Risto: Solving
Non-Markovian Control Tasks with Neuro-Evolution. In: IJCAI, 1999, S. 1356–1361
[Groß u. a. 2006] Groß, R. ; Bonani, M. ; Mondada, F. ; Dorigo, M.: Autonomous
Self-assembly in a Swarm-bot. In: Murase, K. (Hrsg.) ; Sekiyama, K. (Hrsg.) ; Kubota,
N. (Hrsg.) ; Naniwa, T. (Hrsg.) ; Sitte, J. (Hrsg.): Proc. of the 3rd Int. Symp. on
Autonomous Minirobots for Research and Edutainment (AMiRE 2005), Springer, Berlin,
Germany, 2006, S. 314–322
[Gruau 1995] Gruau, Frederic: Automatic Definition of Modular Neural Networks. In:
Adaptive Behaviour 3 (1995), Nr. 2, S. 151–183
[Hammer 1999]
Hammer, B.: Vorlesungsskript Neuronale Netze WS 99/00. 1999
[Happel und Murre 1994] Happel, B. L. M. ; Murre, J. M. J.: Design and evolution of
modular neural network architectures. In: Neural Networks (1994), S. 985–1004
[Haynes u. a. 1995]
Haynes, Thomas ; Wainwright, Roger ; Sen, Sandip: Evolving
Cooperation Strategies. In: Lesser, Victor (Hrsg.): Proceedings of the First International
Conference on Multi–Agent Systems. San Francisco, CA : MIT Press, 1995, S. 450
[Haynes und Sen 1997] Haynes, Thomas D. ; Sen, Sandip: Co–adaptation in a Team. In:
International Journal of Computational Intelligence and Organizations (IJCIO) (1997)
[Hebb 1949]
Hebb, Donald O.: The Organization of Behavior: A Neuropsychological
Theory. New York : Wiley, 1949
[Hüllermeier 2003] Hüllermeier, E.: Vorlesungsskript: Intelligente Informationssysteme
- Entscheidungsunterstützung. 2003
[Holland 1975] Holland, John H.: Adaptation in natural artificial systems. Ann Arbor :
University of Michigan Press, 1975
ix
Kapitel 8 Literaturverzeichnis
[Huhns und Stephens 1999]
Huhns, Michael N. ; Stephens, Larry M.: Multiagent
Systems and Societies of Agents. In: Weiss, Gerhard (Hrsg.): Multiagent Systems: A
Modern Approach to Distributed Artificial Intelligence. Cambridge, MA, USA : The MIT
Press, 1999, S. 80–120
[Jennings und Wooldridge 1998]
Jennings, Nicholas R. ; Wooldridge, Michael J.:
Applications of Intelligent Agents. In: Jennings, Nicholas R. (Hrsg.) ; Wooldridge,
Michael J. (Hrsg.): Agent Technology: Foundations, Applications, and Markets. SpringerVerlag: Heidelberg, Germany, 1998, S. 3–28
[Jones und Forrest 1995] Jones, T. ; Forrest, S.: Fitness Distance Correlation as a
Measure of Problem Difficulty for Genetic Algorithms. In: Eshelman, L. J. (Hrsg.): Proceedings of the 6th International Conference on Genetic Algorithms, Morgan Kaufmann,
1995, S. 184–192
[Kandel und Schwartz 1981]
Kandel, E. R. ; Schwartz, J. H.: Principles of neural
science. North Holland, 1981
[Kohonen 2000] Kohonen, Teuvo: Self-Organizing Maps. Springer, December 2000. –
ISBN 3540679219
[Korf 1992] Korf, Richard E.: A Simple Solution to Pursuit Games. In: Working Papers
of the 11th International Workshop on Distributed Artificial Intelligence, Februar 1992,
S. 183–194
[Koza 1992] Koza, John R.: Genetic Programming: On the Programming of Computers
by Means of Natural Selection. MIT Press, 1992. – ISBN 0-262-11170-5
[Koza 1994] Koza, John R.: Genetic programming II: automatic discovery of reusable
programs. ??, 1994. – QA76.6 .K696 1994
[Kube und Bonabeau 2000] Kube, C. R. ; Bonabeau, Eric: Cooperative transport by
ants and robots. In: Robotics and Autonomous Systems 30 (2000), Nr. 1-2, S. 85–101
[Labella u. a. 2006]
Labella, T.H. ; Dorigo, M. ; Deneubourg, J.-L.: Division of
Labour in a Group of Robots Inspired by Ants’ Foraging Behavior. In: ACM Transactions
on Autonomous and Adaptive Systems 1 (2006), Nr. 1, S. 4–25
[Learning u. a. 1999] Learning, N. ; Neural, E. ; Nolfi, N.: How learning and evolution
interact: The case of a learning task which differs from the evolutionary task. 1999
[Leslie Pack Kaelbling 1996]
Leslie Pack Kaelbling, Andrew M.: Reinforcement
Learning: A Survey. In: Journal of Artificial Intelligence Research 4 (1996), S. 237–285
[Littman 1996]
Littman, Michael: Simulations Combining Evolution and Learning.
In: Belew, Richard K. (Hrsg.) ; Mitchell, Melanie (Hrsg.): Adaptive Individuals in
Evolving Populations: Models and Algorithms. Reading, MA : Addison Wesley, 1996,
S. 465–477
x
Kapitel 8 Literaturverzeichnis
[Lones und Tyrrell 2004]
Lones, Michael A. ; Tyrrell, Andy M.: Enzyme Genetic
Programming. In: Amos, Martyn (Hrsg.): Cellular Computing. Oxford University Press,
2004 (Series in Systems Biology), Kap. 3, S. 19–42. – ISBN 0-19-515539-4
[Luke und Spector 1996] Luke, Sean ; Spector, Lee: Evolving Teamwork and Coordination with Genetic Programming. In: Koza, John R. (Hrsg.) ; Goldberg, David E.
(Hrsg.) ; Fogel, David B. (Hrsg.) ; Riolo, Rick L. (Hrsg.): Genetic Programming 1996:
Proceedings of the First Annual Conference. Stanford University, CA, USA : MIT Press,
28–31 1996, S. 150–156
[Luke und Spector 1997]
Luke, Sean ; Spector, Lee: A Comparison of Crossover
and Mutation in Genetic Programming. In: Koza, John R. (Hrsg.) ; Deb, Kalyanmoy
(Hrsg.) ; Dorigo, Marco (Hrsg.) ; Fogel, David B. (Hrsg.) ; Garzon, Max (Hrsg.) ;
Iba, Hitoshi (Hrsg.) ; Riolo, Rick L. (Hrsg.): Genetic Programming 1997: Proceedings
of the Second Annual Conference. Stanford University, CA, USA : Morgan Kaufmann,
13-16 1997, S. 240–248
[Mayley 1996] Mayley, Giles: Landscapes, Learning Costs, and Genetic Assimilation:
Modeling the Evolution of Motivation. In: Evolutionary Computation 4 (1996), Nr. 3,
S. 213–234
[Miglino u. a. 1994] Miglino, Orazio ; Nafasi, Kourosh ; Taylor, Charles E.: Selection
for Wandering Behavior in a Small Robot. In: Artificial Life 2 (1994), Nr. 1, S. 101–116
[Mitchell 1996]
1996
Mitchell, M.: An Introduction to Genetic Algorithms. The MIT Press,
[Mitchell 1997] Mitchell, Tom M.: Machine Learning. McGraw-Hill Science/Engineering/Math, March 1997. – ISBN 0070428077
[Nash 1950] Nash, John F.: Equilibrium Points in n-Person Games. In: Proceedings of
the National Academy of Sciences of the United States of America 36 (1950), Nr. 1,
S. 48–49
[Nelson u. a. 2002]
Nelson, A. ; Grant, E. ; Henderson, T.: Competitive relative
performance evaluation of neural controllers for competitive game playing with teams of
real mobile robots. 2002
[Nolfi 1997a] Nolfi, S.: Evolving non-trivial behaviors on real robots: A garbage collecting
robot. 1997
[Nolfi 1997b] Nolfi, S.: Using emergent modularity to develop control system for mobile
robots. 1997
[Nolfi und Parisi 1997]
Nolfi, S. ; Parisi, D.: Neural Networks in an Artificial Life
Perspective. In: Lecture Notes in Computer Science 1327 (1997), S. 733–??. – ISSN
0302-9743
xi
Kapitel 8 Literaturverzeichnis
[Nolfi und Floreano 2004] Nolfi, Stefano ; Floreano, Dario: Evolutionary Robotics: The
Biology, Intelligence, and Technology of Self-Organizing Machines (Intelligent Robotics
and Autonomous Agents). The MIT Press, March 2004. – ISBN 0262640562
[Nordin u. a. 1998] Nordin, Peter ; Banzhaf, Wolfgang ; Brameier, Markus: Evolution
of a world model for a miniature robot using genetic programming. In: Robotics and
Autonomous Systems 25 (1998), Nr. 1-2, S. 105–116
[Oster und Wilson 1978] Oster, George F. ; Wilson, Edward O.: Caste and Ecology in
the Social Insects. Princeton University Press, 1978 (Monographs in Population Biology)
[P. Cristea und Nitulescu 2000]
P. Cristea, A. A. ; Nitulescu, B.: Evolutionary
Intelligent Agents. In: Congress on Evolutionary Computation(CEC-2000), San Diego,
USA, 2000, S. 1320–1328
[Panait und Luke 2005] Panait, Liviu ; Luke, Sean: Cooperative Multi-Agent Learning:
The State of the Art. In: Autonomous Agents and Multi-Agent Systems 11 (2005),
November, Nr. 3, S. 387–434. – ISSN 1387-2532
[Parisi u. a. 1990] Parisi, D. ; Cecconi, F. ; Nolfi, S.: Econets: Neural Networks That
Learn in an Environment. In: Network 1 (1990), S. 149–168
[Pereira und Costa 2001] Pereira, F. ; Costa, E.: How Learning Improves the Performance of Evolutionary Agents: A Case Study with an Information Retrieval System for
a Distributed Environment. In: Proceedings of the International Symposium on Adaptive Systems: Evolutionary Computation and Probabilistic Graphical Models (ISAS 2001).
Cuba, 2001, S. 19–23
[Pohlheim 2000] Pohlheim, Hartmut: Evolutionäre Algorithmen: Verfahren, Operatoren
und Hinweise. Berlin : Springer, 2000. – German
[Pollack u. a. 2000] Pollack, Jordan B. ; Lipson, Hod ; Ficci, Sevan ; Funes, Pablo ;
Hornby, Greg ; Watson, Richard A.: Evolutionary Techniques in Physical Robotics.
In: ICES, 2000, S. 175–186
[Potter und De Jong 1995] Potter, Mitchell A. ; De Jong, Kenneth: Evolving Neural
Networks with Collaborative Species. In: Proc. of the 1995 Summer Computer Simulation
Conf., The Society of Computer Simulation, 1995, S. 340–345
[Rechenberg 1973] Rechenberg, Ingo: problemata. Bd. 15: Evolutionsstrategie. Stuttgart : Friedrich Frommann Verlag (Günther Holzboog KG), 1973
[Rojas 1996] Rojas, Raúl: Neural networks: a systematic introduction. New York,
NY, USA : Springer-Verlag New York, Inc., 1996. – ISBN 3-540-60505-3
[Ruppin 2002] Ruppin, E.: Evolutionary Autonomous Agents: A Neuroscience Perspective. Januar 21 2002
[Russel und Norvig 1995]
xii
Russel, S. ; Norvig, P.: Artificial Intelligence. 1995
Kapitel 8 Literaturverzeichnis
[Schmidhuber 2000] Schmidhuber, Jurgen: Evolutionary Computation versus Reinforcement Learning. Oktober 03 2000
[Sexton u. a. 1998] Sexton, R. ; Dorsey, R. ; Johnson, J.: Toward global optimization
of neural networks: A comparison of the genetic algorithm and backpropagation. 1998
[Sontag 1998]
works. 1998
Sontag, E.: A learning result for continuous-time recurrent neural net-
[Stanley und Miikkulainen 2003] Stanley, Kenneth O. ; Miikkulainen, Risto: Evolving Adaptive Neural Networks with and without Adaptive Synapses. In: Rylander,
Bart (Hrsg.): Genetic and Evolutionary Computation Conference Late Breaking Papers.
Chicago, USA, 12–16 Juli 2003, S. 275–282
[Sutton und Barto 1998] Sutton, R. S. ; Barto, A. G.: Reinforcement Learning: An
Introduction. In: Neural Networks, IEEE Transactions on 9 (1998), Nr. 5, S. 1054–1054
[Suzuki u. a. 2005] Suzuki, Mototaka ; Floreano, Dario ; Paolo, Ezequiel A. D.: The
contribution of active body movement to visual development in evolutionary robots. In:
Neural Networks 18 (2005), Nr. 5-6, S. 656–665
[Syswerda 1989] Syswerda, G.: Uniform crossover in genetic algorithms. In: Schaffer,
J. D. (Hrsg.): Proceeding of the Third International Conference on Genetic Algorithms,
Morgan Kaufmann, 1989, S. 2–9
[Trianni u. a. 2006] Trianni, V. ; Nolfi, S. ; Dorigo, M.: Cooperative Hole Avoidance
in a Swarm-bot. In: Robotics and Autonomous Systems 54 (2006), Nr. 2, S. 97–103
[Urzelai und Floreano 2001] Urzelai, Joseba ; Floreano, Dario: Evolution of Adaptive
Synapses: Robots with Fast Adaptive Behavior in New Environments. In: Evolutionary
Computation 9 (2001), Nr. 4, S. 495–524
[Wahde 2004]
Wahde, M.: Evolutionary Robotics - The Use of Artificial Evolution
in Robotics / Department of Machine and Vehicle Systems, Chalmers University of
Technology, Göteborg, Sweden. 2004. – Forschungsbericht
[Waibel u. a. ]
Waibel, M. ; Tarapore, D. ; Floreano, D. ;
Keller, L.:
Evolution of Cooperation in Artificial Ants, Laboratory of Intelligent Systems EPFL Homepage, 09.07.2007. –
URL
http://lis.epfl.ch/index.html?content=research/projects/SwarmBots
[Waibel u. a. 2006] Waibel, Markus ; Floreano, Dario ; Magnenat, Stephane ; Keller, Laurent: Division of labour and colony efficiency in social insects: effects of interactions between genetic architecture, colony kin structure and rate of perturbations.
2006
[Weiss 2000] Weiss, Gerhard: Multiagent Systems: A Modern Approach to Distributed
Artificial Intelligence. The MIT Press, July 2000. – ISBN 0262731312
xiii
Kapitel 8 Literaturverzeichnis
[Whitley 1995]
Whitley, Darrell L.: Genetic Algorithms and Neural Networks. In:
Winter, G. (Hrsg.) ; Periaux, J. (Hrsg.) ; Galan, M. (Hrsg.) ; Cuesta, P. (Hrsg.):
Genetic Algorithms in Engineering and Computer Science. Chichester : John Wiley and
Sons, Ltd., 1995, S. 203–216
[Williams und Baird 1993] Williams, R. ; Baird, L.: Tight Performance Bounds on
Greedy Policies Based on Imperfect Value Functions. 1993
[Witten u. a. 1999]
Witten, I. ; Frank, E. ; Trigg, L. ; Hall, M. ; Holmes, G. ;
Cunningham, S.: Weka: Practical machine learning tools and techniques with java implementations. 1999
[Woolridge und Jennings 1995]
Theory and Practice. 1995
Woolridge, R.T. ; Jennings, R. I.: Intelligent Agents:
[Yamauchi und Beer 1994] Yamauchi, B. M. ; Beer, R. D.: Sequential Behavior and
Learning in Evolved Dynamical Neural Networks. In: Adaptive Behavior 2 (1994), Nr. 3,
S. 219–246
[Yao 1993] Yao, Xin: Evolutionary Artificial Neural Networks. In: Int. J. Neural Syst 4
(1993), Nr. 3, S. 203–222
[Yao 1995]
Yao, Xin: Evolutionary artificial neural networks. In: Kent, A. (Hrsg.) ;
Williams, J. G. (Hrsg.): Encyclopedia of Computer Science and Technology Bd. 33.
Marcel Dekker Inc., 1995, S. 137–170
[Yong und Miikkulainen 2007] Yong, Chern H. ; Miikkulainen, Risto: Coevolution of
Role-Based Cooperation in Multi-Agent Systems / The University of Texas at Austin.
2007 (AI07-338). – Forschungsbericht
[Zell 1994] Zell, A.: Simulation neuronaler Netze. Oldenbourg Verlag, 1994. – ISBN
3486243500
xiv
Herunterladen