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

相关推荐
星期五不见面24 分钟前
机器人学习!(二)ROS2-节点(7)2026/02/03
学习
狂奔蜗牛飙车31 分钟前
Python学习之路-循环语句学习详解
python·学习·python学习·#python学习笔记·循环语句详解
电饭叔42 分钟前
Jupyter学习中的问题--FileNotFoundError
ide·学习·jupyter
峥嵘life1 小时前
Android16 【CTS】CtsMediaCodecTestCases等一些列Media测试存在Failed项
android·linux·学习
EnglishJun2 小时前
数据结构的学习(四)---栈和队列
数据结构·学习
2501_901147832 小时前
学习笔记:单调递增数字求解的迭代优化与工程实践
linux·服务器·笔记·学习·算法
苦逼IT运维3 小时前
从 0 到 1 理解 Kubernetes:一次“破坏式”学习实践(一)
linux·学习·docker·容器·kubernetes
野犬寒鸦4 小时前
从零起步学习并发编程 || 第五章:悲观锁与乐观锁的思想与实现及实战应用与问题
java·服务器·数据库·学习·语言模型
阿蒙Amon4 小时前
TypeScript学习-第13章:实战与最佳实践
javascript·学习·typescript
云小逸4 小时前
【nmap源码学习】 Nmap 源码深度解析:nmap_main 函数详解与 NSE 脚本引擎原理
网络协议·学习·安全