Giter Site home page Giter Site logo

mazenpy's Introduction

About

This is a final project for CS 6375.002 (Machine Learning) at University of Texas at Dallas.

It was completed by Andy Hudson and Umar Khalid on 11/19/2020.

It uses Reinforcement Learning (through an implementation of the Q Learning algorithm) to model a maze without prior knowledge of the wall pattern. This is done by rewarding a model for reaching the goal and punishing it for trying to move through a wall.

Though the learning algorithm is model-independent, it was tested with a Neural Net model and a Lookup Table model. Of these, the Lookup Table model was primarily used for its speed and ease of modification.

Though it is not complete, the algorithm proves to be quite successful in solving mazes from 60-90% of the starting locations.

Heatmaps

After each iteration, the program generates a heatmap of which cells the model can solve (starting from) and which it cannot. This demonstrates its ability to progressively learn the shape of the maze.

Sample Runs

In the logs directory, there are 3 sample runs including info about the parameters and the heatmaps generated.

Running

The project requires pyGame.

Run main.py with python 3.

mazenpy's People

Contributors

andy98725 avatar

Watchers

James Cloos avatar Umar Khalid avatar  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.