Farama-Foundation/PettingZoo

A standard API for multi-agent reinforcement learning environments, with popular reference environments and related utilities

What it solves

PettingZoo is designed to provide a standardized Python library for multi-agent reinforcement learning (MARL) research. It addresses the lack of a unified API for multi-agent environments, acting as a multi-agent equivalent to the Gymnasium library.

How it works

The library models environments as Agent Environment Cycle (AEC) games to support various types of multi-agent RL environments under a single API and reduce common bugs. It offers two primary interaction modes: the AEC API and a Parallel API for environments where agents act simultaneously. It includes several families of environments, such as Atari 2600 games, classical board and card games, and specialized cooperative graphical games like Butterfly.

Who it’s for

It is intended for researchers and developers working in multi-agent reinforcement learning who need a consistent set of environments and a standardized way to interact with them to train and evaluate RL models.

Highlights

  • Diverse Environment Families: Includes Atari, Butterfly, Classic, and SISL environments.
  • Standardized API: Provides a consistent interface for multi-agent interaction, reducing the complexity of creating and custom environments.
  • Versioned Environments: Maintains strict versioning (e.g., "_v0") to ensure research reproducibility.
  • Integration: Works with other RL tools like SuperSuit for common wrappers such as frame stacking and normalization.

Related

  • Project
  • Project
  • Project
  • Project
  • Project