Neuroevolution Flappy Bird

A comparison between humans, neuroevolution and multilayer perceptrons playing Flapy Bird implemented in Python
Alternatives To Neuroevolution Flappy Bird
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Flappylearning3,934
2 months ago11mitJavaScript
Program learning to play Flappy Bird by machine learning (Neuroevolution)
Deep Neuroevolution1,502
2 years ago17otherPython
Deep Neuroevolution
Machine Learning Flappy Bird1,443
5 years ago6mitJavaScript
Machine Learning for Flappy Bird using Neural Network and Genetic Algorithm
Evolutionary Algorithm1,092
2 months ago4mitPython
Evolutionary Algorithm using Python, 莫烦Python 中文AI教学
Carrot274
12 years ago246August 16, 202094otherJavaScript
🥕 Evolutionary Neural Networks in JavaScript
Neural Network P5222
5 years ago17JavaScript
Deprecated! See:
Gpumd200
2 days ago12gpl-3.0Cuda
Graphics Processing Units Molecular Dynamics
Aimandshoot192
3 years agomitJavaScript
A neuroevolution game experiment.
Darwin91
a year ago1December 08, 2020apache-2.0C++
Evolutionary Algorithms Framework
Super Mario Neat74
8 months ago1mitPython
This program evolves an AI using the NEAT algorithm to play Super Mario Bros.
Alternatives To Neuroevolution Flappy Bird
Select To Compare


Alternative Project Comparisons
Readme

Flappy Bird: Human vs NEAT vs MLP

The goal of the project is to apply NEAT to evolve the network architecture of Deep Neural Networks for improving their performance on a given classification task, in this case the game Flappy Bird, the goal is to determine if for a given input the bird must jump or no to avoid hitting the pipes. This repository contains a Jupyter Notebook where is possible to compare a Human, a Neat implementation and a multilayer perceptron playing Flappy Bird.

INPUT

Input

For both, neuroevolution algorithm and multilayer perceptron the input is the same:

1) Distance in the X axis from the bird to the next pipe.
2) Distance in the Y axis form the bird to the lowest point of the pipe in the top.
3) Distance in the Y axis from the bird to the highest point of the pipe in the top
4) Distance in the Y axis from the bird to the top of the map.
5) Distance in the Y axis from the bird to the bottom of the map.

INPUT

Results

In this project we probe that NEAT can improve the performance of a DNN. We found that NEAT can be useful to reduce the complexity of our models. NEAT is able to produce networks that produce similar results to the MLP but much less complex. We have been able to use NEAT to reduce the complexity of our model. We went from 20 neurons and 98 weights in the MLP to 7-8 neurons and 6-10 weights, with is a huge complexity reduction.

More information available in the documentation.

INPUT

Authors

Iker García Ferrero - ikergarcia1996
Gonzalo Pierola - Guamedo

How to run

To run this project you need Python and Jupyter Notebook. Also you will need to install all the python libraries specified in the "README.md" inside the "Jupyter Notebook" folder.

Documentation

Documentation is available in the releases section with the corresponding release.

Flappy Bird Game

The implementation of the Flappy Bird Game that we used for this project is based on this code: Gamedevlapse: Create Flappy Bird in Python [Time Lapse] (youtube)

Popular Neuroevolution Projects
Popular Machine Learning Projects
Popular Machine Learning Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Python
Jupyter Notebook
Machine Learning
Deep Learning
Ai
Artificial Intelligence
Neural Network
Genetic Algorithm
Machine Learning Algorithms
Artificial Neural Networks
Flappy Bird
Neuroevolution
Game Programming