PettingZoo 学习

前言:继上上周和上周对TorchRL和BenchMARL的学习之后,基本了解相关库的实际操作;

本周开启MARL环境PettingZoo的学习,该环境库类似SARL下的Gym;

对于MARL,该库给了两种形式:AEC和Parallel;

AEC API

AEC是默认的形式,并且该库提供了两种转换的包装器Wrappers;

用法:

实例化;

reset;

Loop:

这里的区别就是需要last来获得输出,而parallel直接在step就实现了输出;

这是因为AEC本身就是串行的

动作掩码

动作掩码 (Action Mask) 的作用正是为了在回合制或复杂规则游戏中处理非法动作:

  1. 表示合法性: 动作掩码是一个布尔数组或向量,它标识了在当前状态下,哪些动作是有效的(合法的),哪些是无效的(非法的)。

  2. 限制采样空间: 通过将这个掩码作为参数传递给动作空间的 sample() 方法,环境或策略可以确保随机采样(或策略选择)只会从 合法的动作集合 中进行。

  3. 最终结果: 这种机制保证了智能体不会选择非法动作,这是在国际象棋这类复杂规则环境中进行有效策略学习的必要条件。

这部分体现了pettingZoo的设计理念

就是引入了虚拟自然

Parallel API 并行 API

相关推荐
代码游侠1 小时前
数据结构——单向链表
linux·开发语言·数据结构·学习·算法·链表
卡兰芙的微笑1 小时前
手写服务器与手写客户端相连接-qwen
学习
h***59331 小时前
JAVA进阶 Thread学习06 synchronized关键字
java·开发语言·学习
jtymyxmz1 小时前
《Maya 2024 超级学习手册》2.2.7 实例:制作高脚杯模型
学习·maya
FAREWELL000751 小时前
Lua学习记录(5) --- Lua中的协同程序 也称线程Coroutine的介绍
开发语言·学习·lua
找了一圈尾巴1 小时前
Python 学习-深入理解 Python 进程、线程与协程(上)
python·学习·并发
ByNotD0g2 小时前
Golang开发项目学习
学习·微服务·云原生·golang
智元视界2 小时前
从深度学习到自主学习:AI的下一个技术跃迁
大数据·人工智能·深度学习·学习·架构·数字化转型·产业升级