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

相关推荐
野犬寒鸦19 分钟前
从零起步学习并发编程 || 第七章:ThreadLocal深层解析及常见问题解决方案
java·服务器·开发语言·jvm·后端·学习
陈桴浮海20 分钟前
【Linux&Ansible】学习笔记合集二
linux·学习·ansible
xhbaitxl38 分钟前
算法学习day39-动态规划
学习·算法·动态规划
ZH15455891311 小时前
Flutter for OpenHarmony Python学习助手实战:数据库操作与管理的实现
python·学习·flutter
试着2 小时前
【huawei】机考整理
学习·华为·面试·机试
風清掦2 小时前
【江科大STM32学习笔记-05】EXTI外部中断11
笔记·stm32·学习
Purple Coder2 小时前
基于CNN对YBCO超导块材孔隙研究
学习
wdfk_prog2 小时前
[Linux]学习笔记系列 -- [drivers][tty]sysrq
linux·笔记·学习
优橙教育2 小时前
通信行业四大热门岗位解析:谁才是数字时代的黄金赛道?
网络·学习·5g
西西学代码3 小时前
A---(1)
学习