主要内容

rlMDPEnv

为强化学习创建马尔可夫决策过程环境

描述

马尔可夫决策过程(MDP)是离散时间随机控制过程。它提供了一种用于在结果部分随机且部分在决策者的控制下的情况下建模决策的数学框架。MDP可用于研究使用加强学习解决的优化问题。用rlMDPEnv在Matlab中创建Markov决策过程中的强化学习®

创建

描述

例子

env.= rlmdpenv(MDP.的)创造强化学习环境env.用指定的MDP.模型。

输入参数

展开全部

Markov决策过程模型,指定为以下之一:

特性

展开全部

马尔可夫决策过程模型,指定为Gridworld.对象或者GenericMDP对象。

重置函数,指定为函数句柄。

对象功能

getActionInfo. 从强化学习环境或代理获取行动数据规范
getObservationInfo 从强化学习环境或agent获取观测数据规范
SIM 在指定的环境中模拟训练过的强化学习代理
火车 在指定环境中列车加固学习代理
验证环境 验证定制增强学习环境

例子

全部收缩

对于此示例,请考虑具有以下规则的5×5个网格世界:

  1. 由边界有5乘5个网格世界,有4个可能的行动(北= 1,南= 2,East = 3,West = 4)。

  2. 代理从单元格[2,1](第二行,第一列)开始。

  3. 如果它达到Cell [5,5](蓝色)达到终端状态,则该代理接收奖励+10。

  4. 环境中包含从单元格[2,4]到单元格[4,4]的特殊跳跃,+5奖励。

  5. 该试剂通过细胞[3,3],[3,4],[3,5]和[4,3](黑细胞)堵塞。

  6. 所有其他行动都会导致-1奖励。

首先,创建一个Gridworld.对象使用creategridworld.功能。

gw = creategridworld(5,5)
gw = gridworld具有属性:gridsize:[5 5] currentstate:“[1,1]”状态:[25x1字符串]动作:[4x1字符串] t:[25x25x4 double] r:[25x25x4 double] roppactlestates:[0x1字符串]端子主体:[0x1字符串]

现在,设置初始,终端和障碍状态。

gw.currentstate ='[2,1]';gw.terminalstates ='[5,5]';gw.obstaclestates = [“[3 3]”;“[3,4]”;“[3,5]”;“[4,3]”];

更新障碍状态的状态转移矩阵,并设置跨越障碍状态的规则。

UpdateStateTranstionForobstacles(GW)GW.T(State2IDX(GW,”“(2、4)),:,:) = 0;gw.t(state2idx(gw,”“(2、4)),State2IDX(GW,“[4,4]”),:) = 1;

接下来,在奖励转换矩阵中定义奖励。

ns = numel(gw.states);na = numel(gw.actions);gw.r = -1 *那些(ns,ns,na);gw.r(state2idx(gw,”“(2、4)),State2IDX(GW,“[4,4]”):) = 5;GW.R (:, state2idx (GW, GW.TerminalStates):) = 10;

现在,使用rlMDPEnv使用该网格世界环境Gridworld.目的GW.

ent = rlmdpenv(gw)
env = rlMDPEnv with properties:GridWorld] ResetFcn: []

您可以使用该网格世界环境可视化阴谋功能。

情节(env)

在R2019A引入