sim卡
描述
例子
模拟强化学习环境
模拟强化学习环境的代理配置为环境。对于这个示例,加载一个环境和代理已经配置。环境是一个离散cart-pole环境创建rlPredefinedEnv
。代理是一个策略梯度(rlPGAgent
)代理。更多信息在本例中,使用的环境和代理火车PG代理Cart-Pole平衡系统。
rng (0)%的再现性负载RLSimExample.matenv
env = CartPoleDiscreteAction属性:重力:9.8000 MassCart: 1 MassPole: 0.1000长度:0.5000 MaxForce: 10 Ts: 0.0200 ThetaThresholdRadians: 0.2094 XThreshold: 2.4000 RewardForNotFalling: 1 PenaltyForFalling: 5状态:[4 x1双)
代理
代理= rlPGAgent属性:AgentOptions: [1 x1 rl.option。rlPGAgentOptions] UseExplorationPolicy: 1 ObservationInfo: [1x1 rl.util.rlNumericSpec] ActionInfo: [1x1 rl.util.rlFiniteSetSpec] SampleTime: 0.1000
通常,您培训代理使用火车
和模拟环境测试培训代理的性能。对于这个示例,使用代理你加载的模拟环境。配置模拟选项,指定的模拟运行100步。
simOpts = rlSimulationOptions (MaxSteps = 100);
在本例中为预定义的cart-pole环境使用。您可以使用情节
生成一个cart-pole系统的可视化。当你模拟环境,这个情节自动更新,这样您就可以看系统仿真中发展。
情节(env)
模拟环境。
经验= sim (env,代理simOpts)
经验=结构体字段:观察:[1 x1 struct]行动:[1 x1 struct]奖赏:[1 x1 timeseries]结束:[1 x1 timeseries] SimulationInfo: [1 x1 struct]
输出结构经验
记录从环境中收集的观察、操作和奖励,在模拟和其他数据收集。每个字段包含一个timeseries
物体或结构timeseries
数据对象。例如,experience.Action
是一个timeseries
包含行动对cart-pole系统代理每一步的模拟。
experience.Action
ans =结构体字段:CartPoleAction (1 x1 timeseries):
模拟仿真软件环境与金宝app多个代理
模拟一个环境为模型创建®模型中使用的例子金宝app训练多个代理执行协作任务在这个例子中,使用代理培训。
加载代理的MATLAB®工作区。
负载rlCollaborativeTaskAgents
创建一个环境rlCollaborativeTask
金宝app仿真软件®模型,它有两个代理模块。自两块(使用的代理agentA
和agentB
)已经在工作区中,您不需要通过观察和操作规范来创建环境。
env = rl金宝appSimulinkEnv (…“rlCollaborativeTask”,…(“rlCollaborativeTask /代理”,“B rlCollaborativeTask /代理”]);
加载所需的参数rlCollaborativeTask
金宝app仿真软件®运行模型。
rlCollaborativeTaskParams
模拟代理对环境、节约的经验xpr
。
xpr = sim (env, [agentA agentB]);
阴谋行动的代理。
次要情节(2,1,1);情节(xpr (1) .Action.forces)次要情节(2,1,2);情节(xpr (2) .Action.forces)
输入参数
env
- - - - - -环境
强化学习环境对象
环境代理行为,指定为以下类型之一,强化学习环境对象:
一个预定义的MATLAB®或仿真金宝app软件®所创造的环境中使用
rlPredefinedEnv
。这种环境不支持同时多个代理培训。金宝app一个定制的MATLAB环境下创建等功能
rlFunctionEnv
或rlCreateEnvTemplate
。这种环境不支持同时多个代理培训。金宝app自定义创建使用仿真金宝app软件环境
rl金宝appSimulinkEnv
。这种环境下多个代理同时支持培训。金宝app
有关创建和配置环境的更多信息,请参见:
当env
是一个仿真金宝app软件环境,调用sim卡
编译和模拟模型与环境有关。
代理
- - - - - -代理
强化学习代理对象|代理对象的数组
指定的代理来模拟,为强化学习代理对象,如rlACAgent
或rlDDPGAgent
,或者是一个这样的对象数组。
如果env
是一个多代理环境创建rl金宝appSimulinkEnv
作为数组,指定代理。数组中代理的顺序必须与代理命令用于创建env
。多代理仿真不支持MATLAB环境。金宝app
为更多的信息关于如何创建和配置代理强化学习,明白了强化学习代理。
simOpts
- - - - - -模拟选项
rlSimulationOptions
对象
输出参数
经验
——仿真结果
结构|结构数组
仿真结果,返回一个结构数组或结构。数组中的行数等于指定的模拟的数量NumSimulations
选择rlSimulationOptions
。数组的列数是代理的数量。每个领域的经验
结构如下。
观察
——观察
结构
观察收集的环境中,作为结构字段返回对应于观测中指定的环境。每个字段包含一个timeseries
的长度N+ 1,N仿真步骤的数目。
获取当前的观测和下一个观察对于一个给定的模拟步骤,使用以下代码,假定的一个领域观察
是obs1
。
奥林匹克广播服务公司= getSamples (experience.Observation.obs1, 1: N);NextObs = getSamples (experience.Observation.obs1, 2: N + 1);
sim卡
生成培训经验。
行动
——行动
结构
行动计算代理,作为结构返回字段中指定的行动信号对应的环境。每个字段包含一个timeseries
的长度N,在那里N仿真步骤的数目。
奖励
——奖励
timeseries
奖励在仿真的每一步,作为一个返回timeseries
的长度N,在那里N仿真步骤的数目。
结束
——国旗表明终止发作
timeseries
国旗表明终止事件,作为一个返回timeseries
一个标量逻辑信号。这个标志被设置在每一步的环境,根据事件终止条件指定配置环境。环境这个标志设置为1时,仿真终止。
SimulationInfo
——模拟期间收集的信息
结构|向量金宝appSimulink.SimulationOutput
对象
模拟过程中收集的信息,返回以下之一:
对于MATLAB环境,包含字段的结构
SimulationError
。这个结构包含模拟期间发生的任何错误。对于仿真金宝app软件环境,
金宝appSimulink.SimulationOutput
对象包含仿真数据。记录数据包括任何信号和状态日志配置的模型,模拟的元数据,以及可能出现的任何错误。
版本历史
介绍了R2019a
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。