Neuroevolution Snake
Neuroevolution Machine Learning Approach for Snake using C++ from Scratch. This was part of an academic paper on machine learning with focus on neuroevolution.
Setup
The entire thing is implemented from scratch only using the C++ Standard Library. I did this to get a deep insight into how this appraoch is realised on a technical level.
This is a basic UML of the general strcucture of the implementation.
Performance
I tested this implementation to see how good the model can get when trying to play Snake.
The last model was created with the 8th Generation, which was able to get a score of 17. This was after a total of 26 hours of training on a mediocre laptop from 2018.
References
The academic paper can be supplied on request.
See the accompanying GitHub project timmeinerzhagen/neuroevolution-snake
.