Giter Club home page Giter Club logo

cs181-p4's Introduction

CS181-P4 - Reinforcement learning with Swingy Monkey

This repository documents the work completed by Matthew Stewart, Claire Stolz, and Shane Ong for the final practical of CS181: Machine Learning, involving the application of reinforcement learning to the flappy bird-style game 'Swingy Monkey'.

In this documentation we outline the methods used to attain the highest possible score on the game by using Q-learning and its deep learning-based extensions, commonly referred to as DQN (Deep Q-Learning) and DDQN (Double Deep Q-Learning).

Installing Swingy Monkey

To install Swingy Monkey, follow the instructions below. For tips on installing pygame, see the pygame documentation.

pip install pygame

Running Models

To run the individual models, first make sure you have pygame installed. Then use the commands for each of the individual models:

python Q-learning_model.py 
python DQN.py
python DDQN.py

Overview of Models

The score for the three models developed in this practical are outlined in the table below.

Model Maximum Score Mean Score
Q-Learning 10 4.1
DQN 169 22.7
DDQN 118 17.6

Hyperparameter optimization was performed in order to optimize for the ε-greedy policy, the learning rate α, as well as the discount rate γ, and other factors such as the neural architecture and hyperparameters of the deep neural network in the deep learning models.

cs181-p4's People

Contributors

mpstewart1 avatar cstolz avatar shengsiongong avatar

Stargazers

 avatar

Watchers

 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.