A short research project I did in Summer 2024 at FIAS, building off of an existing project. I added some data visualization functionality, imrpved some parts of the code and replicated results from a 2016 paper.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
insert gif here later
Thos project is based on Elise Van Der Pol's 2016 Master's Thesis, "Deep Reinforcement Learning for Coordination in Traffic Light Control", which can be found here: https://www.elisevanderpol.nl/papers/vanderpolTHESIS2016.pdf
Though the implementation may differ from the original paper, this project explores the same concepts and uses the same algorithims.
I will not go too in-depth about the paper here, but there is some extent of understanding requiered from the paper in order to understand this project. Below is a very brief summary.
The paper aims to answer these 4 questions:
- Can a DRL Agent learn to manage traffic based on only top down imagery, and how do diff parameters affect it?
- How can a reward function be created?
- How does prioritized experience replay and Double Q-learning help improve the model?
- Can these policies actually be implemented?
| Section | Contents |
|---|---|
| Section 1 | Introduction |
| Section 2 | Theory + Background info (markov processes, neural networks, optimization algorithms) |
| Section 3 | Single agent case approach and implementation (programs used, exceptions) |
| Section 4 | single agent results |
| Section 5 | Multi-agent coordination theory and background info |
| Section 6 | Approach to combine deep RL with multi agent |
| Section 7 | results of s.6 |
| Section 8 | Earlier work |
| Section 9 | Result implications |
| Section 10 | sugg. future work |
This project is built upon a previous project from A. Mithran.
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
This is an example of how to list things you need to use the software and how to install them.
- npm
npm install npm@latest -g
- Get a free API Key at https://example.com
- Clone the repo
git clone https://github.com/github_username/repo_name.git
- Install NPM packages
npm install
- Enter your API in
config.jsconst API_KEY = 'ENTER YOUR API';
- Change git remote url to avoid accidental pushes to base project
git remote set-url origin github_username/repo_name git remote -v # confirm the changes
Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.
For more examples, please refer to the Documentation
- Feature 1
- Feature 2
- Feature 3
- Nested Feature
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt for more information.
Your Name - @twitter_handle - email@email_client.com
Project Link: https://github.com/github_username/repo_name