Organic Computing - Learning Robots Interaktion und Nachbarschaft

Die Seite wird erstellt Michaela Stein
 
WEITER LESEN
Organic Computing - Learning Robots Interaktion und Nachbarschaft
Organic Computing - Learning Robots
                        Interaktion und Nachbarschaft
                                                                           ∗
                                       Felix Kiechle, Ernst Victor Prohl

                                                 27. Oktober 2010

                                                       Abstract
          Thema dieses Praktikums ist die Simulation von Roboterschwärmen, welche auf Basis von
          simplen lokalen Algorithmen (implementiert in Form von endlichen Moor-Automaten) kom-
          plexe Ziele erreichen sollen. Im Zuge unseres Themas “Interaktion und Nachbarschaft”haben
          wir uns auf die Selektion und die ihr zugrundeliegende Fitnessfunktion konzentriert.
             Grundidee ist es, auf Basis von Ableitungen der Fitnessfunktion zu selektieren, anstatt
          anhand von absoluten Fitnesswerten. Hierdurch erhoffen wir uns eine dynamischere Entwick-
          lung der Population.
             Wir sind uns der Tatsache bewusst, dass wir die Simulation eines natürlichen Vorgangs
          mathematisch sehr vereinfachen und wollen deshalb stets versuchen, auftretende Probleme
          nahe am Vorbild der Natur zu lösen.

1        Einführung
Bisherige Situation
Hier soll kurz die Ausgangslage beschrieben werden, die wir in den von uns bearbeiteten Berei-
chen vorgefunden haben:
    Tournament Selektion ist eine Selektionsart, bei der jeweils eine kleine Anzahl von Indivi-
duen sogenannte Tournaments veranstalten. Der im Sinne der Fitnessfunktion stärkste Roboter
gibt seinen Verhaltensautomaten weiter [1]. In der bisherigen Implementierung kommt es alle n
Zyklen zu einem Tournement von k sich nahestehenden Individuen, wobei n als ”Reproduction
Interval”bezeichnet wird [2, König et al. (2008)].
    Die jeweilige Fitness eines Individuums zum Zeitpunkt t ergibt sich aus dem Zusammenspiel
der Parameter Fitness Snapshot und Fitness Evaporation [3, König et al. (2009)].

Definitionen
Zunächst sollen hier die wichtigsten Begriffe eingeführt werden, um dann die Motivation unserer
Themenwahl genauer zu erläutern:
   Die Fitnessfunktion ist ein Leistungskriterium, das die Leistung eines einzelnen Phänotyps
bewertet [4]. Formal ausgedrückt also:
    ∗
        felix.kiechle@student.kit.edu, ernst.prohl@student.kit.edu

                                                            1
1   EINFÜHRUNG                                                                                   2

Sei X ein endlich dimensionaler Raum, sodass xt ∈ X ∀t ∈ {0, ..., l} (l sei die maximale Zyklen-
anzahl des Experiments) alle fitnessrelevanten Verhaltensdaten beinhaltet, dann ist
                                            Φ:X→N
die Fitnessfunktion jedes Roboters in der Population.

Bei Collision Avoidance wäre xt ∈ X zum Beispiel ein Tupel aus allen Kollisionen bis t, allen
Bewegung bis t und t . Nun sei (xn )i∈{0,...,t} die Folge aller Verhaltenstupel des Roboters n. Dann
ist
                                     Φ((xn )i∈{0,...,t} ) =: (yn )t
die Folge der Fitnesswerte eines Roboters n. Diese soll stetig und stückweise linear erweitert
werden, sodass die Fitnessfunktion φn des n-ten Roboters definiert ist durch:
                                     φn : R+ → R |φn (t) 7→ y
Wenn im folgenden der Begriff ”Fitnessfunktion”verwendet wird, ist damit diese Funktion ge-
meint, Φ nennen wir ”Bewertungsfunktion”. In dieser Arbeit wird hauptsächlich Collision Avoi-
dance verwendet, was die Anwendung auf andere Bewertungsfunktionen (z.B. Gatepassing) nicht
ausschließt.
    Man erkennt schnell, dass in fast allen zu erwartenden Fällen φn (t) 6∈ C 1 . Zwecks besserer
Lesbarkeit wird im folgenden trotzdem stellvertretend für Sekantensteigung an φn um die Stelle
t der Begriff Ableitung und die Notation φ0n (t) gebraucht.

Interpretation des “Ableitungsgedanken”
Selektion auf Basis von Ableitungen steht im Mittelpunkt dieser Arbeit, deswegen sollen hier
ihre Auswirkungen beschrieben werden.

Erste Ableitung. Bei einer Implementierung in Reinform, sprich bei einer ausschließlich auf
Ableitungswerten basierenden Selektionsentscheidung, werden nur Fitnesswerte betrachtet, die
im Intervall I ⊂ R liegen. Die oben erwähnte Sekante ist durch dieses Intervall definiert. Bei
der Fitnessevaporation gehen ältere Werte in schwächerer Gewichtung ein, dies ist nicht mehr
der Fall, wenn die Evaporation durch die erste Ableitung ersetzt wird. Am Beispiel der Bewer-
tungsfunktion Collision Avoidance bedeutet dies unter anderem, dass ein Roboter, der durch
unglückliche Mutation stehen bleibt, schneller schlecht bewertet wird.

Zweite Ableitung. Analog zur Beschleunigung in der Physik könnte man die zweite Ablei-
tung als Lernfähigkeit der Roboter interpretieren. So gesehen lernt ein Roboter, indem er das
Verbessern seiner Fitness steigert. Man stelle sich beispielsweise eine Bewertungsfunktion vor,
die anstatt reiner Bewegung die gelaufene Strecke pro Zeit belohnt. Davon abgesehen, wie rea-
lisierbar dieses Verhalten bei den derzeitigen endlichen Automaten ist, würden durch die zweite
Ableitung in diesem Szenario jene Roboter belohnt, die am schnellsten beschleunigen.
     Die Auswirkungen einer derartigen Selektion sind aber, insbesondere bei komplexeren Be-
wertungsfunktionen, kaum noch vorhersagbar und bedürfen weiterer empirischer Untersuchung.
Dafür sollen in dieser Arbeit einige Grundlagen gelegt werden.

Erste Schritte
Um auf Basis von Ableitungen selektieren zu können, ist es zunächst wichtig zu sehen, wie sich
die bisherige Fitnessberechnung auf den Graph der Fitnessfunktion φn (t) (Abb. 1) auswirkt.
2   GLÄTTUNGSANSÄTZE                                                                             3

                 35

                 30

                 25

                 20
       Fitness

                 15

                 10

                  5

                  0

                 −5
                      0   1000        2000          3000         4000          5000         6000
                                                   Zyklen

Abbildung 1: φ0 (t) einer Simulation mit Evaporation und Tournament-Selektion

Wie das Schaubild zeigt, ist es offensichtlich noch nicht möglich, eine ableitungsbasierte Selektion
zu implementieren. Zuvor müssen alle großen Sprungstellen in φn beseitigt werden.

2    Glättungsansätze
Es gilt im folgenden, die Ursachen der Sprungstellen zu identifizieren und sie durch Alternativen
zu ersetzen, durch die eine glattere Fitnessfunktion hervorgerufen werden soll.

Fitnessevaporation. Ein erstes Problem stellt ganz offensichtlich die Fitnessevaporation dar.
Der absolute Fitnesswert wird in regelmäßigen Abständen durch einen Parameter (meist 2.0)
dividiert. Dies ruft besonders bei betragsmäßig hohen Fitnesswerten große Sprungstellen in φn
hervor, gut sichtbar beispielsweise bei Zyklus 2400. Hier verringert sich die Fitness von 32 auf
16. Nicht alle Sprungstellen lassen sich auf diese Weise deuten, mögliche andere Ursachen klären
sich im weiteren Verlauf. Für weitere Untersuchungen deaktivieren wir die Evaporation, zu ei-
nem späterem Zeitpunkt soll deren Zweck sowieso die Ableitung erfüllen. Da sich die Ableitung
ausschließlich anhand aktueller Fitnesswerte berechnet, ist eine Evaporation alter Fitnesswerte
dann obsolet.
Mit deaktivierter Evaporation ergeben sich für φ{0,1} (t) bereits etwas glattere Graphen (Abb. 2).
3       PLUGIN REKABSTAND                                                                      4

                    300

                    250

                    200
          Fitness

                    150

                    100

                     50

                      0
                          0   1000             2000   3000    4000         5000         6000
                                                      Zyken

Abbildung 2: φ{0,1} (t) einer Simulation ohne Evaporation und mit Tournament-Selektion

Tournament Selektion. Auffällig sind die in gleichmäßigem Rhythmus auftretenden Schnitt-
punkte der Fitnessfunktionen zweier Roboter, vor denen besonders häufig starke Sprungstellen
vorkommen.
    Grund hierfür ist die Tournament Selektion mit Fitnessübergabe. Die Sprungstellen ließen
sich sehr einfach durch Ausschalten der Fitnessübergabe beheben. Um aber eine Glättung der
Fitnessfunktion mit einer möglichst naturnahen Selektion zu vereinen, verzichten wir in unserer
Implementierung [siehe nächster Abschnitt] auf die Tournament Selektion.

3        Plugin RekAbstand
Durch unser Plugin RekAbstand ersetzen wir die Tournament Selektion durch ein ”Rank-basiertes”[1]
Verfahren, das als Nebenbedingung jedoch den euklidischen Abstand der Roboter zueinander
berücksichtigt.
   Ausschließlich innerhalb eines für alle Roboter festgelegten Paarungsradius kann es zu einer
Reproduktion kommen. Anhand einer Entfernungsmatrix wird geprüft, welche Reproduktionen
möglich sind. Zusätzlich existiert eine Rangliste1 , in der alle Roboter nach absoluter Fitness
bewertet sind. Kommt es nun aufgrund räumlicher Nähe zu einer Reproduktion, so wird der
    1
        Methode getHierarchie() im Quelltext
3        PLUGIN REKABSTAND                                                                        5

Verhaltensautomat des in der Rangliste höheren Roboters an das schwächere / die schwächeren
Roboter weitergegeben. Der jeweilige Fitnesswert bleibt hierbei erhalten.
     Roboter, die sich über mehrere Zyklen innerhalb eines Paarungsradius befinden, könnten
sich nun im Extremfall hin und her paaren, gerade wenn ihre Fitness nahe beieinander liegt. Um
dies zu vermeiden, führen wir neben Paarungsradius zusätzlich den Parameter Welpenschutz
ein. Roboter, die gerade den Automat eines stärkeren Individuums erhalten haben, können sich
für eine Anzahl von w Zyklen nicht mehr reproduzieren, das heißt sie können weder einen ande-
ren Verhaltensautomaten erhalten, noch ihren eigenen Verhaltensautomaten weitergeben. Dieses
Konzept lässt sich wieder mit Naturnähe begründen. Außerdem liegt dem Welpenschutz ein wei-
terer Gedankengang zu Grunde: Ohne das Übergeben des Fitnesswertes bei der Reproduktion
ist der Verhaltensautomat eines Individuums nach der Reproduktion für eine kurze Zeit fehl-
bewertet, weil sich ein zum neuen Automaten passender Fitnesswert erst entwickeln muss. Dies
gilt sowohl bei Evaporation als auch bei Selektion auf Basis von Ableitungen (hier insbeson-
dere bei großer Intervalllänge). Die Reproduktion fehlbewerteter Individuen widerspricht dem
”Rank-basierten”Verfahren und muss deshalb verhindert werden.

Auswertung
Um zu testen, ob mit unserer Implementierung überhaupt noch ein bestimmtes Verhalten evol-
viert werden kann, führten wir einen an [2, König et al. (2008)] angelehnten Testlauf mit 81
verschiedenen Parameterkombinationen durch, verzichteten jedoch auf die zehnfache Wieder-
holung jedes Laufes. Den Parameter Paarungsradius setzten wir in allen Versuchen auf 20.0
(dies entspricht etwa der dreifachen Roboterkantenlänge). In einem Feld von 60x80 cm wurden
21 Roboter mit anfänglich leeren Automaten über 70000 Zyklen mit Collision Avoidance als
Zielverhalten untersucht. Besonders interessant war das Zusammenspiel des Parameters Wel-
penschutz mit den in [2, König et al. (2008)] untersuchten Parametern Mutation Interval S,
Snapshot Interval U und Evaporation Interval V.

Tabelle 1: Verwendete Parameterwerte (81 Kombinationen)

          Mutation Int. S   Snapshot Int. U   Evaporation Int. V   Welpenschutz W
    1.    35 Zyklen (Z)          25 Z               150 Z              100 Z
    2.        70 Z               50 Z               300 Z              200 Z
    3.        140 Z             100 Z               600 Z              400 Z

Da die Implementierung nicht mehr auf Tournament Selektion basiert, deaktivierten wir den
Parameter Reproduction Interval. Wir setzten ihn hierzu auf einen Wert größer der Experi-
mentlänge. Evaporation blieb weiterhin aktiviert, dessen Funktion übernimmt später die ablei-
tungsbasierte Selektion [siehe Abschnitt 4].
    Zum Zeitpunkt dieser Auswertung war unser Analyseplugin Excelanalyse noch nicht imple-
mentiert, weshalb wir auf genauere statistische Untersuchungen der Testläufe verzichten muss-
ten. Wir entschieden uns für eine einfache Auswertung anhand von Videos. Von den 81 Versu-
chen identifizierten wir 40 Läufe als erfolgreich. Alle diese Versuche zeigten deutliches Collision
Avoidance Verhalten, manche noch mit einigen Kollisionen, andere nahezu unfallfrei. 8 der 41
nicht erfolgreichen Läufe entwickelten ”Kreisfahren“. Im Sinne der Bewertungsfunktion ist das
durchaus plausibel, entspricht aber natürlich nicht dem, was man sich unter einem kollisionsver-
meidenden Roboter vorstellt.
3        PLUGIN REKABSTAND                                                                      6

Tabelle 2: Verteilung der erfolgreichen Experimente, für jeden Parameter separat betrachtet

           Mutation Int. S     Snapshot Int. U   Evaporation Int. V    Welpenschutz W
    1.       35 Z: 40 %           25 Z: 40 %        150 Z: 30 %         100 Z: 35 %
    2.      70 Z: 32,5 %          50 Z: 45 %        300 Z: 40 %         200 Z: 35 %
    3.     140 Z: 22,5 %         100 Z: 15 %        600 Z: 30 %         400 Z: 30 %

Wie aus Tab. 2 hervorgeht, konnte der Testlauf über die Güte einzelner Parameter nur wenig
Aussagen treffen. Gerade der im Rahmen unserer neuen Selektion eingeführte Welpenschutz
zeigte bei verschiedenen Längen kaum Unterschiede. Lediglich ein Snapshot Interval von 100
Zyklen kann ausgeschlossen werden, mit nur 15 % erfolgreichen Läufen führte es fast immer zu
einer stehenden Population.

RekAbstand ist folglich in der Lage, ein gewünschtes Verhalten zu evolvieren und es gilt her-
auszufinden, ob auch die Glättung der Fitnessfunktion erfolgreich war. Wie in Abschnitt zwei
erwähnt, deaktivieren wir hierzu die Evaporation und ersetzen Tournament Selektion durch un-
sere abstandsbasierte Selektionsart. Es ergibt sich folgender Graph φ{0,1} (t) (Abb. 3), der uns
hinreichend glatt erscheint, um mit der Implementierung der ersten Ableitung zu beginnen.

                    160

                    140

                    120

                    100

                     80
          Fitness

                     60

                     40

                     20

                      0

                    −20
                          0   2000      4000         6000       8000        10000       12000
                                                    Zyklen

Abbildung 3: φ{0,1} (t) einer Simulation ohne Evaporation und mit RekAbstand-Selektion
4        ERSTE ABLEITUNG                                                                           7

4         Erste Ableitung
Für die Umsetzung einer Selektion auf Basis der ersten Ableitung der Fitnessfunktion können
die meisten Teile der bisherigen Implementierung unseres Plugins RekAbstand weiterverwendet
werden. In einer zweiten Rangliste2 werden alle Roboter nach Steigung der Fitnessfunktion
bewertet. Über einen neuen Parameter Sekanten Intervall wird die Länge des Intervalls definiert,
über dem die Steigung des Fitnessgraphen bestimmt wird. Ist dieser Parameter ungleich (der
Zahl) null, so wird die ableitungsbasierte Selektion aktiviert. Jetzt bedarf es keiner Evaporation
mehr, der Parameter Evaporation Interval (alias fitredzyk ) muss manuell3 auf einen Wert größer
der Experimentlänge gesetzt werden.

Auswertung
Wieder galt es zu testen, ob sich mit der Implementierung überhaupt ein bestimmtes Verhalten
evolvieren lässt. In einem an den vorherigen Abschnitt angelehnten Testlauf untersuchten wir 20
Roboter mit einem Paarungsradius von 20.0 über 100000 Zyklen. Als Zielverhalten gaben wir
erneut Collision Avoidance vor.
    Ziel dieser Auswertung war es nicht, eine genaue empirische Untersuchung zu erstellen. Es
sollte gezeigt werden, ob die ableitungsbasierte Selektion überhaupt zu einem gewünschten Ver-
halten führt und ob sich Aussagen über einen guten Wert für das Sekanten Intervall treffen
lassen.
Tabelle 3: Verwendete Parameterwerte (84 Kombinationen)

           Mutation Int. S      Snapshot Int. U       Welpenschutz W        Sekanten Intervall I
    1.         35 Z                  25 Z                 100 Z                    50 Z
    2.         70 Z                  50 Z                 200 Z                   100 Z
    3.         200 Z                   -                     -                    200 Z
    4.           -                     -                     -                    400 Z
    5.           -                     -                     -                    800 Z
    6.           -                     -                     -                    1600 Z

Um nicht wieder auf eine Vielzahl von Videos angewiesen zu sein, implementierten wir ein Ana-
lyseverfahren, das alle Testläufe in einer Excel Mappe zusammenfasst. Zu jedem Lauf ließen
wir uns die verwendete Parameterkombination, die Fitness des besten Roboters sowie Mittel-
werte und Standardabweichungen der Kollisionszahlen zu verschiedenen Zeiten des Experiments
ausgeben (z.B. Mittelwert der Kollisionen über den letzten 20 % der Zyklen). Zusätzlich erstell-
ten wir pro Testlauf einen Plot der Ableitung der Fitnessfunktionen eines zufälligen Roboters.
Mit diesen Informationen ließ sich leicht erkennen, in welchen Läufen wahrscheinlich Collision
Avoidance evolviert wurde. Zu den vielversprechendsten Parameterkombinationen mit Sekanten
Intervallen von 25, 200, 400 und 1600 Zyklen erstellten wir jeweils fünf Videos mit verschiede-
nen Zufallseeds. Als besonders erfolgreich erwies sich ein Intervall von 200 Zyklen, bei dem alle
Videos eindeutiges Collision Avoidance Verhalten zeigten. Bei 25 und 400 Zyklen waren jeweils
drei von fünf Läufen erfolgreich, sehr große Intervalle mit beispielsweise 1600 Zyklen können am
ehesten ausgeschlossen werden, hier entwickelte sich kein gewünschtes Verhalten.

     2
         Methode getHierarchieAbl()
     3
         Automatische Setzversuche scheiterten, weil die Roboterpopulation instantiiert wird,
         bevor die ”VorSim”Methoden der Plugins aufgerufen wird.
5   ZWEITE ABLEITUNG                                                                            8

Auch die ableitungsbasierte Selektion ist also in der Lage, ein gewünschtes Verhalten zu evol-
vieren. Nun können wir erstmals den Graphen einer Ableitung auswerten (Abb. 4).

Abbildung 4: φ00 (t) einer Simulation mit Ableitung, RekAbstand und angedeuteter Konvergenz

Betrachtet man die lokalen Minimalstellen t∗ von φ00 (t), so bilden alle t∗ < 0 annäherungsweise
eine gegen Null konvergierende Teilfolge (siehe gelbe Linie). Diese repräsentiert die abnehmende
Kollisionszahl und ist deswegen in erfolglosen Läufen nicht zu finden. Weiterhin fällt auf, dass
                                                                       |U |
                       max{φ0 (t)} = 2, allgemein: max{φn (t)} = 2 ∗   |I|
                         t                            t

mit Snapshot Interval U und Sekanten Intervall I. Die Konstante 2 hat ihren Ursprung in der
verwendeten Bewertungsfunktion Collision Avoidance. Bei jeder Fitnessberechnung werden dort
alle Roboter mit 2 Fitnesspunkten belohnt, die sich in einem Move-Zustand befinden.

5    Zweite Ableitung
Aus Abb. 4 geht hervor, dass der zweiten Ableitung eine erneute Glättung vorangehen muss.
Um weitere Problemstellen besser identifizieren zu können, soll nun das Snapshot Interval U auf
eins gesenkt werden. Der konstante Faktor 2 in Collision Avoidance lässt φn (t) stark ansteigen,
da er mit |U | = 1 in jedem Zyklus einfließt. Ersatzweise implementierten wir CollAvoidStrecke.
Es misst den euklidischen Abstand zwischen den Positionen zu Beginn und Ende von U und be-
lohnt diese Entfernung proportional. Hierdurch wird außerdem erreicht, dass die zuvor erwähnte
Oberschranke verschwindet, da schnelleres Fahren einen höheren Fitnesszuwachs ermöglicht.
6   FUTURE WORK                                                                                     9

CollAvoidStrecke müsste idealerweise eine Fitnessberechnung in Double-Werten zugrunde lie-
gen, weil durch Umrechnung in Integer-Werte Information verloren geht (siehe auch Abschnitt
6).
Nach der Implementierung von CollAvoidStrecke ergeben weitere Analysen von Fitnessfunktio-
nen zweierlei: Es kommt einerseits vor, dass Fitnessfunktionen innerhalb eines Zyklus um den
doppelten Unfallabzug sinken. Den Ursachen dieses sicherlich unerwünschten Effekts konnten
wir aus Zeitgründen nicht mehr nachgehen. Andererseits mussten wir feststellen, dass selbst
durch einfachen Unfallabzug erzeugte Sprungstellen die Bildung einer aussagekräftigen zweiten
Ableitung verhindern.

6    Future Work
Glatte Bewertungsfunktionen. Um Sprungstellen zu vermeiden, wäre es für Collision Avoi-
dance denkbar, nicht nur direkten Kontakt zu bestrafen, sondern auch räumliche Nähe zu einem
Hindernis. Auf dies Weise würden Bestrafungsfunktionen (b(t)) entstehen, die punktuelle Abzüge
ersetzen. Gelingt es, b(t) so zu wählen, dass b ∈ C 2 und lim b0 (t) = 0, so ist zu erwarten, dass
                                                             t→0
auch φn (t) ∈ C 2 .
    Während unserer Arbeit ist uns aufgefallen, dass eine Fitnessberechnung in Double-Werten
hierzu sehr hilfreich wäre. Ansonsten müssen durch Ganzzahligkeit hervorgerufene Sprungstellen
durch große Fitnesswerte ausgeglichen werden, worunter die Lesbarkeit der Auswertungen leidet.

Neben der Untersuchung von Sprungstellen lassen sich auch andere Bereiche weiter vertiefen.

”Gleitende“ Intervalllängen. Während eines Evolutionslaufes bleibt das Sekanten Intervall
bisher konstant. In Zukunft soll sich dies ändern, wodurch lokale Optima leichter verlassen wer-
den können. Evolviert man beispielsweise mit der Bewertungsfunktion Collision Avoidance und
verwendet zu Beginn sehr kleine Intervalle (mit I = 1 ist es am deutlichsten), so wird extrem
schnell Bewegung evolviert, weil Kollisionen sofort wieder ”vergessen”werden und die Ableitung
eines sich bewegenden Roboters somit fast immer maximal ist. Wir befinden uns also in ei-
nem lokalen Optimum, das im Sinne von Collision Avoidance aber natürlich noch kein globales
Optimum ist. Vergrößert man nun die Intervalllänge, so werden zunehmend Kollisionen in die
Bewertung der Roboter aufgenommen. Die Evolution wird langsamer, schon laufende Roboter
können beispielsweise wieder stehen bleiben, wenn sie in letzter Zeit häufig kollidiert sind. Dafür
ist die Population jetzt aber in der Lage, auch Collision Avoidance als Verhalten zu entwickeln.
Denkbar ist auch, einzelne Roboter der Population mit verschiedenen Intervalllängen evolvieren
zu lassen oder den Parameter selbst zu evolvieren.

Mischung der Selektionsmethoden. Gerade die zweite Ableitung ist nicht geeignet, alleinige
Grundlage einer Selektion zu sein. Interpretiert man sie wie in Abschnitt 1 als Lernfähigkeit ei-
nes Roboters, so muss zunächst unterschieden werden, auf welchem ”Wissensstand“ ein Roboter
ist. Messen lässt sich dieser anhand absoluter Fitness oder anhand einer Sekantensteigung über
einem großen Intervall. Treffen sich zwei ähnlich ”kluge“ Roboter, so ist es plausibel, anhand der
zweiten Ableitung zu selektieren. Sie können ”voneinander lernen”. Bei zwei sehr verschiedenen
Individuen ist das eher gefährlich. Ein wenig entwickelter Roboter hat mehr zu lernen als ein
hoch entwickelter, seine zweite Ableitung ist aller Voraussicht nach größer. In diesem Fall sollte
eher die erste Ableitung als Selektionsgrundlage dienen.
LITERATUR                                                                                             10

Selektion über Paarungsradius. Im Zuge der abstandsbasierten Selektion haben wir den
Parameter Paarungsradius eingeführt, ihn jedoch nie verändert. Er eröffnet eine völlig neue
Möglichkeit der Selektion. Bewertungsfunktionen könnte man hervorragend umsetzen, indem
man je nach Verhalten den Paarungsradius eines Roboters variiert. Numerische Vergleiche bei der
Selektion entfallen, die Fitnessberechnung verliert an Globalität und kommt ihrem natürlichen
Vorbild ein Stück näher.

Literatur
 [1] Floreano, D.; Mattiussi, C.: Bio-Inspired Artificial Intelligence, Cambridge: MIT Press,
     2008

 [2] König, L. und Schmeck, H. (2008). Evolving collision avoidance on autonomous robots. In
     M. Hinchey, A. Pagnoni, F. Rammig, and H. Schmeck, editors, Biologically Inspired Collab-
     orative Computing, 85-94

 [3] König, L.; Mostaghim, S.; Schmeck, H. (2009). Decentralized Evolution of Robotic Beha-
     vior Using Finite State Machines. In International Journal of Intelligent Computing and
     Cybernetics, 695-723

 [4] Nolfi, S.; Floreano, D.: Evolutionary Robotics: The Biology, Intelligence, and Technology of
     Self-Organizing Machines, Cambridge: MIT Press, 2001

Abbildungsverzeichnis
   1    φ0 (t) einer Simulation mit Evaporation und Tournament-Selektion
        Laufparameter: fit: 50; fitredzyk: 300; rek: 300
        Alle Roboter der Population besitzen in t=0 einen aktiven Move Knoten . . . . . . . .         3
   2    φ{0,1} (t) einer Simulation mit Evaporation und Tournament-Selektion
        Laufparameter: fit: 50; fitredzyk  explen; rek: 300 . . . . . . . . . . . . . . . . . . .    4
   3    φ{0,1} (t) einer Simulation ohne Evaporation und RekAbstand-Selektion
        Laufparameter: fit: 50; fitredzyk, rek  explen; Welpenschutz: 200 . . . . . . . . . . .      6
   4    φ00 (t) einer Simulation mit Ableitung, RekAbstand und angedeuteter Konvergenz
        Laufparameter: fit: 25; fitredzyk, rek  explen; Intervall: 25; Welpenschutz: 200 . . . . .    8
Sie können auch lesen