https://github.com/masterscrat/getting-started
Introductory notebooks for the Flatland environment and challenge
https://github.com/masterscrat/getting-started
competitive-programming machine-learning operations-research reinforcement-learning
Last synced: 4 months ago
JSON representation
Introductory notebooks for the Flatland environment and challenge
- Host: GitHub
- URL: https://github.com/masterscrat/getting-started
- Owner: MasterScrat
- Created: 2020-01-21T11:01:14.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-03-14T04:45:37.000Z (over 6 years ago)
- Last Synced: 2025-04-11T23:37:08.694Z (about 1 year ago)
- Topics: competitive-programming, machine-learning, operations-research, reinforcement-learning
- Language: Jupyter Notebook
- Homepage: https://www.aicrowd.com/challenges/flatland-challenge
- Size: 1.27 MB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Getting Started with Flatland
> **Flatland** is an environment for developing and comparing multi-agent reinforcement learning algorithms in gridworlds.
This repository contains notebooks to get you started on the right track with the Flatland environment, in order to take part in the [AIcrowd Flatland Challenge](https://www.aicrowd.com/challenges/flatland-challenge).
If you want to dive into challenge baselines right away, [check out the various approaches below](#challenge-baselines).
Discovering Flatland
---
**Part 1: The Rail Environment**
[](https://mybinder.org/v2/gh/MasterScrat/getting-started/master?filepath=notebook_1.ipynb)
[](https://colab.research.google.com/github/MasterScrat/getting-started/blob/master/notebook_1.ipynb)
- Create a `RailEnv` environment and render it
- Check out the default observations
- "Train" a random agent

**Part 2: Observations**
[](https://mybinder.org/v2/gh/MasterScrat/getting-started/master?filepath=notebook_2.ipynb)
[](https://colab.research.google.com/github/MasterScrat/getting-started/blob/master/notebook_2.ipynb)
- Finding suitable observations
- Creating your own observations
- Visualizing observations

**Part 3: Level Generation**
[](https://mybinder.org/v2/gh/MasterScrat/getting-started/master?filepath=notebook_1.ipynb)
[](https://colab.research.google.com/github/MasterScrat/getting-started/blob/master/notebook_3.ipynb)
- Creating random rail networks
- Creating schedules
- Adjusting size and difficulty
**Part 4: Malfunctions**
[](https://mybinder.org/v2/gh/MasterScrat/getting-started/master?filepath=notebook_1.ipynb)
[](https://colab.research.google.com/github/MasterScrat/getting-started/blob/master/notebook_4.ipynb)
- Introducing stochastic malfunctions
- Handling malfunctions
**Part 5: Speed Profiles**
[](https://mybinder.org/v2/gh/MasterScrat/getting-started/master?filepath=notebook_1.ipynb)
[](https://colab.research.google.com/github/MasterScrat/getting-started/blob/master/notebook_5.ipynb)
- Handling agent speed
- Handling partial moves
Challenge Baselines - Coming soon!
---
The Flatland Challenge can be approached in different ways - for example using methods from **operations research**, **reinforcement learning**, or anything else!
The following notebooks show how to approach the problem using each of these methods.
**Reinforcement Learning: DDQN**
[](https://mybinder.org/v2/gh/MasterScrat/getting-started/master?filepath=notebook_1.ipynb)
[](https://colab.research.google.com/github/MasterScrat/getting-started/blob/master/notebook_5.ipynb)
Solve simple rail problems using Double DQN.
**Operations Research**
[](https://mybinder.org/v2/gh/MasterScrat/getting-started/master?filepath=notebook_1.ipynb)
[](https://colab.research.google.com/github/MasterScrat/getting-started/blob/master/notebook_5.ipynb)
Solve simple rail problems using OR methods.