We include a non-exhaustive number of examples, showing common use-cases for Mava. We also have a Quickstart notebook that can be used to quickly create and train your first Multi-Agent System.
In Mava, we support a variety of different environments, which include PettingZoo (Repo, Paper), SMAC (Repo, Paper), 2D RoboCup, Flatland, OpenSpiel (Repo, Paper) environments, as well as a few custom environments inside Mava.
With our integration with PettingZoo, we support popular Multi-Agent environments such as SISL (Repo, Paper), MPE (Repo, Paper) and Multi-Agent Atari environments.
We include a number of systems running on continuous control tasks.
-
MADDPG: a MADDPG system running on the continuous action space simple_spread MPE environment.
- Feedforward:
- decentralised, decentralised record agents (Example recording agents acting in the environment), decentralised scaling (Example scaling to 4 executors), decentralised custom loggers (Example using custom logging), decentralised lr scheduling (Example using lr schedule), centralised, networked (Example using a fully-connected, networked architecture), networked with custom architecture (Example using a custom, sparse, networked architecture) and state_based .
- Recurrent
- decentralised and state_based.
- Feedforward:
-
MAD4PG: a MAD4PG system running on the continuous action space simple_spread MPE environment.
- Feedforward
- Recurrent
-
MADDPG: a MADDPG system running on the Multiwalker environment.
- Feedforward
- decentralised and centralised.
- Recurrent
- Feedforward
-
MAD4PG: a MAD4PG system running on the Multiwalker environment.
- Feedforward
- decentralised and decentralised record agents (Example recording agents acting in the environment).
- Feedforward
- MAD4PG:
a MAD4PG system running on the RoboCup environment.
- Recurrent
We also include a number of systems running on discrete action space environments.
-
MAPPO: a MAPPO system running on the discrete action space simple_spread MPE environment.
- Feedforward
- decentralised and centralised.
- Feedforward
-
MADQN: a MADQN system running on the discrete action space simple_spread MPE environment.
- Feedforward
- decentralised, decentralised lr scheduling (Example using lr schedule), decentralised custom lr scheduling (Example using custom lr schedule) and decentralised custom epsilon decay scheduling (Example using configurable epsilon scheduling).
- Recurrent
- decentralised and decentralised with coms (Example using a system with communication).
- Feedforward
-
QMIX: a QMIX system running on the discrete action space simple_spread MPE environment.
- Feedforward
-
VDN: a VDN system running on the discrete action space simple_spread MPE environment.
- Feedforward
-
DIAL: a DIAL system running on the discrete action space simple_spread MPE environment.
- Recurrent
- DIAL:
a DIAL system running on the discrete custom SwitchGame environment.
- Recurrent
- MADQN:
a MADQN system running on the two-player competitive Atari Pong environment.
- Feedforward
-
MADDPG: a MADDPG system running on the Simple Speaker Listener environment.
- Feedforward
-
MADDPG: a MADDPG system running on the Simple Spread environment.
- Feedforward
-
MADQN: a MADQN system running on the SMAC environment.
- Feedforward
- Recurrent
- decentralised with custom agent networks (Example using custom agent networks).
-
QMIX: a QMIX system running on the SMAC environment.
- Feedforward
-
VDN: a VDN system running on the SMAC environment.
- Feedforward
- MADQN:
a MADQN system running on the OpenSpiel environment.
- Feedforward