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&#250;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