Home

Awesome

MADRL

Note: A maintained version of the first three environments with various fixes is included with PettingZoo (https://github.com/PettingZoo-Team/PettingZoo, https://pettingzoo.farama.org/environments/sisl/)

This package provides implementations of the following multi-agent reinforcement learning environemnts:

Requirements

This package requires both OpenAI Gym and a forked version of rllab (the multiagent branch). There are a number of other requirements which can be found in rllab/environment.yml file if using anaconda distribution.

Setup

The easiest way to install MADRL and its dependencies is to perform a recursive clone of this repository.

git clone --recursive git@github.com:sisl/MADRL.git

Then, add directories to PYTHONPATH

export PYTHONPATH=$(pwd):$(pwd)/rltools:$(pwd)/rllab:$PYTHONPATH

Install the required dependencies. Good idea is to look into rllab/environment.yml file if using anaconda distribution.

Usage

Example run with curriculum:

python3 runners/run_multiwalker.py rllab \ # Use rllab for training
    --control decentralized \ # Decentralized training protocol
    --policy_hidden 100,50,25 \ # Set MLP policy hidden layer sizes
    --n_iter 200 \ # Number of iterations
    --n_walkers 2 \ # Starting number of walkers
    --batch_size 24000 \ # Number of rollout waypoints
    --curriculum lessons/multiwalker/env.yaml

Details

Policy definitions exist in rllab/sandbox/rocky/tf/policies.

Citation

Please cite the accompanied paper, if you find this useful:

@inproceedings{gupta2017cooperative,
  title={Cooperative multi-agent control using deep reinforcement learning},
  author={Gupta, Jayesh K and Egorov, Maxim and Kochenderfer, Mykel},
  booktitle={International Conference on Autonomous Agents and Multiagent Systems},
  pages={66--83},
  year={2017},
  organization={Springer}
}