一、PettingZoo 简介
PettingZoo 是一个多智能体强化学习 (MARL) 环境库,类似于单智能体 RL 中广泛使用的 OpenAI Gym,但它针对多智能体互动进行了专门的接口设计。它的主要特点包括:
- 多智能体版的 Gym 接口:提供与 Gym 类似的重置 (reset)、步进 (step) 等基础函数;
- 支持协作、对抗、多种类型的环境:为多个智能体的交互(包括轮流型和并行型)定义了统一的 API;
- 官方环境示例丰富:涵盖经典游戏、博弈类、对战类等;
- 与 Gym 类似的设计哲学:但在多智能体情境下,需要自行管理每个智能体的观察、动作与回合顺序。
正是由于多智能体场景下可能存在异步或并行决策、不同代理的动作空间与观察空间差异、轮流和非轮流机制等特点,PettingZoo 引入了AEC(Agent Environment Cycle)和Parallel两种模式,为用户提供了灵活可扩展的多智能体环境编程接口。