From c1e757dd83ec270de8355a103c9f23220ecf41d6 Mon Sep 17 00:00:00 2001 From: Elliot Tower Date: Fri, 19 May 2023 01:59:19 -0400 Subject: [PATCH] Add homepage info/links to AEC and Parallel APIs (#985) --- docs/api/aec.md | 4 ++++ docs/api/parallel.md | 4 ++++ docs/index.md | 2 ++ 3 files changed, 10 insertions(+) diff --git a/docs/api/aec.md b/docs/api/aec.md index dd708fe64..f240716d7 100644 --- a/docs/api/aec.md +++ b/docs/api/aec.md @@ -8,6 +8,10 @@ title: AEC By default, PettingZoo models games as [*Agent Environment Cycle*](https://arxiv.org/abs/2009.13051) (AEC) environments. This allows it to support any type of game multi-agent RL can consider. +[PettingZoo Classic](https://pettingzoo.farama.org/environments/classic/) provides standard examples of AEC environments for turn-based games, many of which implement [Illegal Action Masking](#action-masking). + +We provide a [tutorial](https://pettingzoo.farama.org/content/environment_creation/#example-custom-environment) for creating a simple Rock-Paper-Scissors AEC environment, showing how games with simultaneous actions can also be represented with AEC environments. + ## Usage AEC environments can be interacted with as follows: diff --git a/docs/api/parallel.md b/docs/api/parallel.md index 615f839ca..dfdd4cacc 100644 --- a/docs/api/parallel.md +++ b/docs/api/parallel.md @@ -7,6 +7,10 @@ title: Parallel In addition to the main API, we have a secondary parallel API for environments where all agents have simultaneous actions and observations. An environment with parallel API support can be created via `.parallel_env()`. This API is based around the paradigm of *Partially Observable Stochastic Games* (POSGs) and the details are similar to [RLLib's MultiAgent environment specification](https://docs.ray.io/en/latest/rllib-env.html#multi-agent-and-hierarchical), except we allow for different observation and action spaces between the agents. +All parallel environments can be converted into AEC environments by splitting a simultaneous turn into sequential turns, with observations only from the previous cycle. + +We provide tutorials for creating two custom Parallel environments: [Rock-Paper-Scissors](https://pettingzoo.farama.org/content/environment_creation/#example-custom-parallel-environment), and a simple [gridworld environment](https://pettingzoo.farama.org/tutorials/environmentcreation/2-environment-logic/) + ## Usage Parallel environments can be interacted with as follows: diff --git a/docs/index.md b/docs/index.md index 5c993183c..6cabc4718 100644 --- a/docs/index.md +++ b/docs/index.md @@ -71,6 +71,8 @@ An API standard for multi-agent reinforcement learning. **PettingZoo is a simple, pythonic interface capable of representing general multi-agent reinforcement learning (MARL) problems.** PettingZoo includes a wide variety of reference environments, helpful utilities, and tools for creating your own custom environments. +The [AEC API](https://pettingzoo.farama.org/api/aec/) supports sequential turn based environments, while the [Parallel API](https://pettingzoo.farama.org/api/parallel/) supports environments with simultaneous actions. + Environments can be interacted with using a similar interface to [Gymnasium](https://gymnasium.farama.org): ```python