An open API service indexing awesome lists of open source software.

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: 6 months ago
JSON representation

Introductory notebooks for the Flatland environment and challenge

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**

[![Open In Binder](https://mybinder.org/static/images/badge_logo.svg)](https://mybinder.org/v2/gh/MasterScrat/getting-started/master?filepath=notebook_1.ipynb)
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](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

![notebook1](assets/sparse_env.png)

**Part 2: Observations**

[![Open In Binder](https://mybinder.org/static/images/badge_logo.svg)](https://mybinder.org/v2/gh/MasterScrat/getting-started/master?filepath=notebook_2.ipynb)
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MasterScrat/getting-started/blob/master/notebook_2.ipynb)

- Finding suitable observations
- Creating your own observations
- Visualizing observations

![notebook2](assets/movie.gif)

**Part 3: Level Generation**

[![Open In Binder](https://mybinder.org/static/images/badge_logo.svg)](https://mybinder.org/v2/gh/MasterScrat/getting-started/master?filepath=notebook_1.ipynb)
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](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**

[![Open In Binder](https://mybinder.org/static/images/badge_logo.svg)](https://mybinder.org/v2/gh/MasterScrat/getting-started/master?filepath=notebook_1.ipynb)
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MasterScrat/getting-started/blob/master/notebook_4.ipynb)

- Introducing stochastic malfunctions
- Handling malfunctions

**Part 5: Speed Profiles**

[![Open In Binder](https://mybinder.org/static/images/badge_logo.svg)](https://mybinder.org/v2/gh/MasterScrat/getting-started/master?filepath=notebook_1.ipynb)
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](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**

[![Open In Binder](https://mybinder.org/static/images/badge_logo.svg)](https://mybinder.org/v2/gh/MasterScrat/getting-started/master?filepath=notebook_1.ipynb)
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MasterScrat/getting-started/blob/master/notebook_5.ipynb)

Solve simple rail problems using Double DQN.

**Operations Research**

[![Open In Binder](https://mybinder.org/static/images/badge_logo.svg)](https://mybinder.org/v2/gh/MasterScrat/getting-started/master?filepath=notebook_1.ipynb)
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/MasterScrat/getting-started/blob/master/notebook_5.ipynb)

Solve simple rail problems using OR methods.