Snail Jumper

Snail jumper gif
Snail jumper methodology
Snail jumper loss plot

Project information

  • Category: Artifitial Intelligence, Game
  • Project Tools: Python
  • Project date: May, 2022
  • Project URL: GitHub Repository

Project description

The aim of this project is to use the evolutionary algorithm for neural network learning in an environment where there is not enough data for training. One of these environments is the game, where something new is always happening, and it is impossible to produce educational data for education. Normally, to train a neural network, after determining the important parameters in choosing and building the architecture of the neural network, feedforward is done. But in this project, there is no data for training and backpropagation, and that is why we use evolutionary algorithms.

In this way, a large number of players are produced in the game (300 in that project), each of which has a neural network initialized with normal random weights and zero biases. Now, each of the players will show a different performance according to the available initial values, by observing the obstacles. According to the principle of evolution, the players with better performance will be transferred to the next generations, and by considering crossover and mutation after several generations.