Skip to content

BiagioFesta/aimaze2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AIMaze2

Brief Description

AIMaze2 is a study project about machine learning techniques. In particular, a NEAT algorithm is used in order to evolve neural networks.

Game Rules

The AI plays the Google Chrome Dino Game.

ScreenShot Game

The player can perform two actions: either jumping or bowing in order to avoid the obstacles during the run. The dino will bump into different kinds of obstacles each of them has different shape and position.

AI Evolution

The evolution of the AI is performed by means of a NEAT (Neuroevolution of augmenting topologies) algorithm. It allows evolution and learning of the neural network by means of a genetic algorithm.

In the beginning, the network is entirely lacking connections. Only input and output neurons are instantiated. Subsequently, a population of several networks will start playing the game and learning with the classic selection and crossover typical of genetic algorithms. The score performed during each generation will give the value indicative of the network's goodness.

Technical Aspects

  • As this project is primarily an educative study, all methodologies and the environment are implemented and written from scratch.
  • The software is entirely written in C++. In particular, the new standard C++17.

Compilation Guide

See the Guide Here in order to compile the project.

Releases

No releases published

Packages

No packages published