ViSmartCab
Tabular Q learning to demonstrate sample OpenAI taxi V2 implementation in C++
Install / Use
/learn @VivekThazhathattil/ViSmartCabREADME
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
- C++ compiler
- SFML library
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 buildfrom 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 Tableso 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.datstores 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)insrc/wall.cpp. Specifyorientationto be horizontal using 'h' or vertical using 'v', 1 unit of wall length being sidelength of the grid andorigin_xandorigin_yspecifies 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 vivek.thazhathattil@gmail.com for help/feedback.
Related Skills
proje
Interactive vocabulary learning platform with smart flashcards and spaced repetition for effective language acquisition.
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
best-practices-researcher
The most comprehensive Claude Code skills registry | Web Search: https://skills-registry-web.vercel.app
groundhog
401Groundhog's primary purpose is to teach people how Cursor and all these other coding agents work under the hood. If you understand how these coding assistants work from first principles, then you can drive these tools harder (or perhaps make your own!).
