Implementierung von Neuroevolution of Augmenting Topologies (NEAT) in C#
Der Algorithmus basiert auf Ken Stanleys Artikel: http://nn.cs.utexas.edu/downloads/papers/stanley.alife03.pdf und Ressourcen auf seiner Website: http://www.cs.ucf.edu/~kstanley /neat.html
Kurz gesagt ist NEATs eine Möglichkeit, aus der Gesamtheit der Netzwerke das neuronale Netzwerk zu finden, das das Problem löst. Die Topologie dieser Netzwerke ändert sich im Laufe der Zeit (anders als bei herkömmlichen neuronalen Netzwerken), wobei neben Gewichtsänderungen auch Knoten und Verbindungen hinzugefügt und entfernt werden.
Unten ist ein Beispiel (noch nicht enthalten) eines NEATs, das zum Trainieren von Snake verwendet wird (zunächst wusste es überhaupt nicht, was es tun sollte):