主要内容

rlFiniteSetSpec

创建离散行动或观测数据规范强化学习环境

自从R2019a

描述

一个rlFiniteSetSpec对象指定离散行动或观测数据规范强化学习环境。

创建

描述

例子

规范= rlFiniteSetSpec (元素)创建一个数据规范与一组离散的动作或观察,设置元素财产。

属性

全部展开

设置有效的行动或对环境的观察,指定为以下之一:

  • 向量,为单个动作或指定有效的数值单一的观察。

  • 单元阵列——指定有效的数值组合或观察当你有一个以上的行动。单元阵列的每个条目必须有相同的尺寸。

的名字rlFiniteSetSpec对象,指定为一个字符串。使用这个属性来设置一个有意义的名字由这些数据的信号通道。使用这个属性RL代理块匹配总线与相应的环境信号通道。

的描述rlFiniteSetSpec对象,指定为一个字符串。您可以使用这个属性来指定一个有意义的描述这个环境所携带的信号通道。

这个属性是只读的。

每个元素的大小,指定为一个向量。

如果您指定元素作为一个矢量,然后[1]。否则,如果你指定一个单元阵列,那么显示条目的大小元素。这个属性是必要的构建代理和函数近似者对象与一个给定的环境中工作。

这个属性是只读的。

信息数据的类型,指定为一个字符串,如“替身”“单身”。软件使用这个属性来执行数据类型为观察和行为的一致性。

对象的功能

rl金宝appSimulinkEnv 创建使用动态模型中实现强化学习环境金宝app
rlFunctionEnv 指定自定义使用功能强化学习环境动力学
rlValueFunction 值函数近似者对象强化学习代理
rlQValueFunction 为强化学习代理核反应能量函数近似者对象
rlVectorQValueFunction 向量核反应能量函数近似者强化学习代理
rlContinuousDeterministicActor 确定性演员与一个连续动作的强化学习空间代理
rlDiscreteCategoricalActor 随机分类演员为强化学习代理一个离散的行动空间
rlContinuousGaussianActor 随机高斯演员为强化学习代理一个持续的行动空间

例子

全部折叠

对于这个示例,考虑rlSimplePendulumModel金宝app仿真软件模型。最初的模型是一个简单的无摩擦摆挂在一个向下的位置。

打开模型。

mdl =“rlSimplePendulumModel”;open_system (mdl)

创建rlNumericSpecrlFiniteSetSpec分别为观察对象和动作信息。

观察是一个向量,它包含三个信号:正弦、余弦、和时间导数的角。

obsInfo = rlNumericSpec (1 [3])
obsInfo = rlNumericSpec属性:LowerLimit:无穷UpperLimit:正的名字:[0 x0字符串)描述:[0 x0字符串]维度:1[3]数据类型:“替身”

行动是一个标量表达力,可以三种可能的值,-2海里,0纳米和2Nm。

actInfo = rlFiniteSetSpec ([2 0 2])
actInfo = rlFiniteSetSpec属性:元素:[3 x1双)名称:[0 x0字符串)描述:[0 x0字符串]维度:[1]数据类型:“替身”

可以使用点符号来指定属性的值rlNumericSpecrlFiniteSetSpec对象。

obsInfo。Name =“观察”;actInfo。Name =“扭矩”;

指定代理块路径信息,并创建的强化学习环境仿真软件模型在前面的步骤中使用的信息提取。金宝app

agentBlk = mdl +“/ RL代理”;env = rl金宝appSimulinkEnv (mdl agentBlk、obsInfo actInfo)
env = 金宝appSimulinkEnvWithAgent属性:模型:rlSimplePendulumModel AgentBlock: rlSimplePendulumModel / RL代理ResetFcn: [] UseFastRestart:

你还可以包括一个重置函数使用点符号。对于本例,随机初始化theta0在模型中工作区。

env。ResetFcn = @(在)setVariable (,“theta0”randn,“工作区”mdl)
env = 金宝appSimulinkEnvWithAgent属性:模型:rlSimplePendulumModel AgentBlock: rlSimplePendulumModel / RL代理ResetFcn: @(在)setVariable (randn,“theta0”,“工作空间”,mdl) UseFastRestart:

如果你强化学习代理的演员有多个输出,每一个离散的行动空间,您可以指定的离散动作组合使用rlFiniteSetSpec对象。

假设两个输出系统的有效值(1 2)第一输出20 30 [10]第二输出。创建一个离散行动空间规范所有可能的输入组合。

actionSpec = rlFiniteSetSpec ({10 [1], [1] 20、30 [1],20 10 [2],[2],[2 30]})
actionSpec = rlFiniteSetSpec属性:元素:{6}x1细胞名称:[0 x0字符串)描述:[0 x0字符串]维度:[1 - 2]数据类型:“替身”

版本历史

介绍了R2019a