Simple, yet useful Jax and Torch Multi-Agent SAC for Parallel PettingZoo environments. It is assumed that the agents are homogeneous (actions and observations) and all have the same global reward.
The implementation is based on the SAC implementation from the excellent cleanRL repo.
Shared parameters:
- Shared critic between all agents;
- Shared actor (conditioned on agent ID).
poetry install
poetry run python masac/masac.py
If you use this code for your research, please cite this using:
@misc{masac,
author = {Florian Felten},
title = {MASAC: A Multi-Agent Soft-Actor-Critic implementation for PettingZoo},
year = {2023},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/ffelten/MASAC}},
}