A Python library providing a standardized API for multi-agent reinforcement learning environments with diverse reference games.
PettingZoo is a Python library that provides a standardized API for multi-agent reinforcement learning environments, similar to a multi-agent version of Gymnasium. It includes diverse reference environments like Atari games, board games, and cooperative simulations to facilitate research and development in MARL. The library addresses the need for consistent, reproducible interfaces across different types of multi-agent problems.
Researchers and developers working on multi-agent reinforcement learning algorithms who need standardized environments for training and evaluation. It's particularly valuable for AI/ML practitioners conducting experiments that require multiple interacting agents.
Developers choose PettingZoo because it offers a clean, unified API that minimizes common bugs in MARL environment implementations, supports both sequential and parallel agent interactions, and comes with a diverse collection of pre-built environments. Its strict versioning ensures reproducibility, and compatibility with wrappers like SuperSuit streamlines preprocessing.
An API standard for multi-agent reinforcement learning environments, with popular reference environments and related utilities
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements the Agent Environment Cycle model to cleanly support all types of multi-agent environments, minimizing common bugs as emphasized in the README for consistent experimentation.
Includes families like Atari, Butterfly, Classic, MPE, and SISL, providing a wide range of scenarios from board games to graphical simulations for comprehensive MARL research.
Offers a secondary API for environments where agents act simultaneously, increasing flexibility for different problem structures beyond the sequential AEC model.
Uses strict versioning with suffixes like _v0 to ensure that environment changes don't affect learning outcomes, enhancing experimental reproducibility as documented.
Some environments require manual installation of system dependencies like cmake or swig, and Windows is not officially supported, making setup challenging on certain platforms as noted in the README.
Relies on the separate SuperSuit library for common preprocessing wrappers like frame stacking, adding an extra dependency and potential integration overhead instead of built-in solutions.
The primary AEC model is sequential, so the parallel API might not be as efficient as native parallel implementations for highly concurrent simulations, potentially impacting scalability.