Training

Zur Wiederholung: Das neuronale Netz bzw. der Bot zum Spielen von Snake basiert auf folgendem Layout:

Auch hier müssen sämtliche Gewichte und Schwellwerte derart eingestellt werden, sodass in Abhängigkeit der Werte der zwölf Eingangsneuronen eine sinnvolle Entscheidung darüber getroffen werden kann, in welche Richtung sich die Schlange bewegen soll.

Wie beim flatternden Vogel können genetische Verfahren für die Trainingsphase eingesetzt werden. Gemäß des Layouts besitzen die Individuen nun 140 Variablen (128 Gewichte und 12 Schwellwerte). Um die Fitness eines Individuums zu stimmen, wird ein Spieldurchlauf unter Verwendung des zum Individuum gehörigen neuronalen Netzes simuliert:

Die Fitness eines Individuums ist die Anzahl der Äpfel, die die Schlange gefressen hat.

Je größer die Fitness eines Individuums, desto besser. Auch hier gilt:

Die Fitness eines Individuums ist nicht deterministisch, da die Äpfel zufällig verteilt werden.

Dennoch kann ein genetischer Algorithmus eingesetzt werden, um die Individuen zu optimieren und damit das neuronale Netz zu trainieren.

Das Ergebnis des genetischen Verfahrens ist ein Individuum und damit ein (trainiertes) neuronales Netz, das in der Lage ist, das Spiel zu spielen.

Zusammenfassung
Das Ergebnis der Trainingsphase: Ein Bot steuert die Schlange.
Quiz
Exkurs Quellcode