MASAC icon indicating copy to clipboard operation
MASAC copied to clipboard

Jax and Torch Multi-Agent SAC on PettingZoo API

License pre-commit Code style: black

MASAC

:warning: Work in progress, I did not extensively test the algorithms (especially the jax version).:warning:

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.

Multi-Agent features

Shared parameters:

  • Shared critic between all agents;
  • Shared actor (conditioned on agent ID).

Install & run

poetry install
poetry run python masac/masac.py

Citation

If you use this code for your research, please cite this using:

@misc{masac,
    author = {Florian Felten and El-Ghazali Talbi and Grégoire Danoy},
    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}},
}