Um einer Künstlichen Intelligenz das Spielen beizubringen, verwenden wir ein neuronales Netz bestehend aus fünf Eingangsneuronen, einer verborgenen Schicht mit acht Neuronen sowie zwei Ausgangsneuronen:
Dieses neuronale Netz wird in jedem Simulationsschritt ausgewertet (60 Mal pro Sekunde), wobei wir gleich besprechen, welche Informationen die Eingangsneuronen bereitstellen. Die Ausgangsschicht hingegen ist einfacher zu verstehen:
Das Ausgangsneuron mit dem größeren Wert entscheidet, ob der Vogel im aktuellen Simulationsschritt flattern soll oder nicht.
Entscheidend dabei sind aber natürlich die Werte der fünf Eingangsneuronen. Diese enthalten Informationen über den horizontalen und vertikalen Abstand zum Mittelpunkt M des nächsten Hindernisses sowie über die Geschwindigkeit des Vogels in y-Richtung:
Die Werte zum vertikalen Abstand sowie zur Geschwindigkeit können positiv und negativ sein. Um das Vorzeichen zu beschreiben, wählen wir daher jeweils zwei Eingangsneuronen und verwenden zusammenfassend folgende Definition der fünf Eingangsneuronen:
1 | Horizontaler Abstand zwischen Vogel und Punkt M (Länge der Strecke A) |
2 | Vertikaler Abstand zwischen Vogel und Punkt M (Länge der Strecke B, falls Vogel unterhalb von M) |
3 | Vertikaler Abstand zwischen Vogel und Punkt M (Länge der Strecke B, falls Vogel oberhalb von M) |
4 | Betrag der Geschwindigkeit in y-Richtung (falls Geschwindigkeit negativ) |
5 | Betrag der Geschwindigkeit in y-Richtung (falls Geschwindigkeit positiv) |
Entsprechend ist immer eines der beiden Eingangsneuronen 2 und 3 sowie eines der beiden Eingangsneuronen 4 und 5 gleich 0.
Es ist zu beachten, dass alle fünf Eingangsneuronen auf einen Wert zwischen 0 und 1 zu skalieren sind.
Die einzelnen Eingangsneuronen werden bei derartigen Anwendungen auch als Sensoren bezeichnet, da sie Informationen über die Umgebung liefern.