gym中的discrete类、box类和multidiscrete类
参考资料:
1.discrete类
- Discrete类对应于一维离散空间
- 要定义一个Discrete类的空间只需要一个参数n就可以了
- discrete space允许固定范围的非负数
- 每个时间步agent只采取离散空间中的一个动作,如离散空间中actions=[上、下、左、右],一个时间步可能采取“上”这一个动作。
2.box类
- box类对应于多维连续空间
- Box空间可以定义多维空间,每一个维度可以用一个最低值和最大值来约束
- 定义一个多维的Box空间需要知道每一个维度的最小最大值,当然也要知道维数。
3.multidiscrete类
-
用于多维离散空间
-
多离散动作空间由一系列具有不同参数的离散动作空间组成
-
它可以适应离散动作空间或连续(Box)动作空间
-
表示游戏控制器或键盘非常有用,其中每个键都可以表示为离散的动作空间
-
通过传递每个离散动作空间包含[min,max]的数组的数组进行参数化
-
离散动作空间可以取从min到max的任何整数(包括两端值)
-
maddpg中在train开始的时候,把不同种类的动作建立成了各种不同的分布, 最后的动作输出的是分布,根据分布最后采样得到输出值。
- Box 连续空间->DiagGaussianPdType (对角高斯概率分布)
- Discrete离散空间->SoftCategoricalPdType(软分类概率分布)
- MultiDiscrete连续空间->SoftMultiCategoricalPdType (多变量软分类概率分布)
- 多二值变量连续空间->BernoulliPdType (伯努利概率分布)