This project combines the principles of mutation and selection with the videogame Snake to improve the understanding of neural evolution.
The goal of this project was to apply evolutionary principles to the famous videogame “Snake”. This historical retro game can serve as an optimal simplified model, to understand the implications of selection and mutation on neural evolution. Before using the evolutionary weight adaption, other methods were tested for comparison and evaluation of the evolutionary model.
The first approach was the development of a rule-based artificial intelligence. This first AI initially could only see one field in front, one to the right and one to the left. Using this field of vision, the AI made the decision to go straight or left. Later the field of vision was extended, so the AI could see all tiles straight ahead, left, right and diagonal. This resulted in efficient movements for food collection.
Furthermore a new neural network was developed, with backpropagation from scratch, without using any existing libraries for neural networks. The weights of this neural network were adjusted retroactively by a reference value. Since this network seemed to be no suitable method, the student team decided to use a neural network that uses evolutionary learning. Multiple neuronal networks were created and the best one was picked out. Based on this network a new generation of networks, with slightly different weights was created. This procedure has a very time-consuming learning phase, thus the student team implemented Reinforcement Learning as another learning method. In this process, the neural networks were rewarded or punished for their decisions.
The snake is actually learning to collect food and to survive.
The snake actually did learn to optimize their movements with the evolutionary approach, but it lasted over one billion generations to get a visible result for a sound behaviour.
About the project
The communication between Germany and the USA was mainly done via Skype, WhatsApp and the International Project Server. Apart from the kick-off meeting, the international sessions were convened spontaneously, especially if the students actually had questions. This procedure worked very well.
Students taking part in the projekt: Marco Hengstberger, Christian Dindorf, Alexander Schönfelder, Maik Ratmik, Marina Dörr, Fenja Maier
Supervising professors: Prof. Dr. Arend Hintze (MSU) and Prof. Dr. Tobias Breiner (HS Kempten)
Faculty: Faculty of Computer Science
Project in cooperation with: Michigan State University
date of realization: SS 2019