This is a community effort to solve the 2020 NeurIPS Flatland Challenge. The flatland environment is here and its Documentation Watch the introductory video here
Fork this repository and submit a pull request or contribute to any of the other community repositories. Don't be shy :)
- https://github.com/mitchellgoffpc/flatland-training
- Look at forks of this and other repositories to find more.
- Write boilerplate to interact with the environment. It is already a gym environment, so unclear if this is necessary, maybe code to visualize a run.
- Write simple baseline algorithms for pure RL and pure hard-coded heuristics.
- Write some documentation here about how to evaluate an algorithm, maybe we define some joint format for results so we can compare.
- DeepMind ACME has a lot of RL built-in.
- RLlib
- SEED
- Different solution approaches go into subfolders in
src/approaches
. Feel free to contribute your own or work on someone else's (maybe coordinate via discord). - For easiness, there is a
setup.py
, so we canpip install -e .
and don't have to use relative paths in the approaches, but let's not put requirements globally. Instead, make aREADME
orrequirements.txt
in your approach folder (or utility submodule) if you rely on specific things. Not mandatory, most people will figure out what's missing by themselves. - Shared utilities go in
src/utils
. As with the requirements, let's not have a global__init__.py
for the utils (but__init__.py
s are completely fine in submodules). - Any code that interacts directly with the environment (wrappers, monkeypatches, visualization, etc.) can go into submodules of
src/environment
.
- Presentation on Graph representation for flatland
- Flatland RLlib baslines