Git Product home page Git Product logo

neuroevolution-flappy-bird's Introduction

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)

neuroevolution-flappy-bird's People

Contributors

ikergarcia1996 avatar guamedo avatar

Watchers

Arihan Shah avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.