Giter Club home page Giter Club logo

vismartcab's Introduction

ViSmartCab

This project is an attempt to implement OpenAI Taxi-v2 in C++.

It uses a simple Q-learning (RL) model written from scratch in C++. For graphical output, SFML (Simple and Fast Multimedia Library) is used.

Requirements

Edit the Makefile, if necessary, to match your specifications.

Installation

Here are the instructions to build and run this app in any Linux system:

  • Clone the repo: git clone https://github.com/VivekThazhathattil/vismartcab
  • Navigate to the repo directory: cd vismartcab
  • Execute make build from the current directory. This will build the program. Make sure you have SFML libraries in your system.

Run make clean; make to remove any previous sessions and to start a fresh new session. You may also replace the file saveData/qTable.dat with similar file of the same name to resume training for that session.

Features

  • Press up arrow and down arrow to slow down/ speed up the simulation/training.
  • Autosaves Reward Table so that it can be reused if a run is halted for some unforseen reason and the user wishes to continue training.
  • Displays important information pertaining to the run alongside the graphical window.
  • saveData/stats.dat stores the score and time-taken for all the episodes thus far.
  • Configure your own walls easily using the function addWall(orientation, length, origin_x, origin_y) in src/wall.cpp. Specify orientation to be horizontal using 'h' or vertical using 'v', 1 unit of wall length being sidelength of the grid and origin_x and origin_y specifies the coordinates of the wall origin. Recompile after configuration to switch to use your wall setup.
  • Left click on the grid edges to create walls. Right click anywhere inside the window to remove the most recently added wall.

Issues

Any issues pertaining to the program may be reported via GitHub Issues. You may also contact me at [email protected] for help/feedback.

vismartcab's People

Contributors

vivekthazhathattil avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

vismartcab's Issues

Show heat map of the cab

Show heat map of the cab by pressing a button on the keyboard. Press the same button again to return back to the original (green grids) view. For the heat map, the grid cells most visited by the cab will be bright orange, and other cells will have relatively lesser orange colored. Something like this is what I have in mind:
image

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.