PettingZoo:多智能体游戏环境库入门

PettingZoo:多智能体强化学习环境库解析
PettingZoo是一个多智能体强化学习环境库,类似于Gym的多智能体版本,解决了传统环境库在处理多智能体、回合制游戏和智能体数量变化上的局限。它采用AEG模型,智能体按顺序交互,提供清晰的奖励归属和灵活的学习环境。支持多种多智能体游戏环境,如Atari、Butterfly、Classic、MAgent、MPE和SISL。安装PettingZoo后,可以通过导入包并初始化环境进行交互式学习。

概述

PettingZoo1 类似于 Gym 的多智能体版本。Gym2是 OpenAI 开发的一个著名的强化学习库,它为环境提供了标准的 API,可以轻松地使用不同的强化学习代码库进行学习。

文档:https://www.pettingzoo.ml
代码:https://github.com/Farama-Foundation/PettingZoo

但是当前大多数单智能体环境库存在一些问题。

  1. 基于POSG(partially observable stochastic game)的环境库,例如Gym,所有的智能体一起行动、一起观察、一起得到奖励。但是这种库对回合制游戏支持不好,且无法更改智能体的数量。这类库由于难以处理智能体回合顺序、智能体死亡和创建这类数量上的变化,难以扩展到超过两个智能体的范畴。
  2. 基于扩展式博弈(EFG)的环境库,由于模型复杂、当前应用面不广。当前基于EFG的库只有OpenSpiel API3,这个库的局限性在于无法处理连续动作。且EFG游戏结束时才有奖励,而强化学习通常需要频繁的奖励。

因此,为了解决上述问题,PettingZoo引入了AEG(Agent Environment Cycle games)作为PettingZoo API的基础。在AEG模型中,智能体依次看到他们的观察结果、采取行动,从其他智能体发出奖励,并选择下一个要采取行动的智能体。这实际上是POSG模型的一个顺序步进形式

在这里插入图片描述
按顺序步进形式建模多智能体环境有许多好处:

  • 可以更清楚地将奖励归因到不同的来源,并允许各种学习改进
  • 可以防止开发人员添加混乱和竞争条件
  • 可以在每一步之后获得奖励,而这是EFG模型通常不具备的
  • 更改智能体死亡或创建的数量更容易,学习代码不需要考虑到不断变化的列表大小
  • 同时步进需要有无操作选项,如果不是所有的智能体都可以行动,这是非常难以处理的,而顺序步进可以同时操作并且排队处理它们的操作

PettingZoo的设计还考虑了以下原则:

  1. 尽可能重用Gym的设计,并且使API成为标准化
  2. 具有大量智能体的环境
  3. 具有智能体死亡和创建的环境
  4. 不同的智能体可以选择参与每个episode
  5. 学习方法需要访问低级别特征学习方法

游戏环境

当前PettingZoo支持的多智能体游戏环境如下表所示。

游戏环境 示例图
Atari: Multi-player Atari 2600 games (包含合作、竞争、混合环境)
pip install pettingzoo[sisl]
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值