主要内容

rlMDPEnv

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

描述

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

创建

描述

例子

env= rlMDPEnv (MDP创建一个强化学习环境env使用指定的MDP模型。

输入参数

全部展开

马尔可夫决策过程模型,指定为下列之一:

属性

全部展开

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

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

对象的功能

getActionInfo 从强化学习环境、智能体或经验缓冲区中获取动作数据规范
getObservationInfo 从强化学习环境、agent或经验缓冲区中获取观测数据规范
sim卡 在指定的环境中模拟训练好的强化学习代理
火车 在指定的环境中训练强化学习代理
validateEnvironment 验证自定义强化学习环境

例子

全部折叠

在这个例子中,考虑一个5 * 5的网格世界,遵循以下规则:

  1. 一个以边界为界的5 * 5网格世界,有4种可能的行动(北= 1,南= 2,东= 3,西= 4)。

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

  3. 如果智能体到达单元格[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 with properties: GridSize: [5 5] CurrentState: "[1,1]" States: [25x1 string] Actions: [4x1 string] T: [25x25x4 double] R: [25x25x4 double] ObstacleStates: [0x1 string] TerminalStates: [0x1 string] ProbabilityTolerance: 8.8818e-16

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

GW。现状后=(2, 1)的;GW。TerminalStates =“[5,5]”;GW。ObstacleStates = [“[3 3]”“[3,4]”“[3,5]”“[4 3]”];

更新障碍状态的状态转换矩阵,并在障碍状态上设置跳跃规则。

updateStateTranstionForObstacles (GW) GW。T (state2idx(吉瓦,”“(2、4)),:,:) = 0;GW。T (state2idx(吉瓦,”“(2、4)), state2idx(吉瓦,“(4,4)”),:) = 1;

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

nS = number (GW.States);nA = number (GW.Actions);GW。R = -1*ones(nS,nS,nA);GW。R (state2idx(吉瓦,”“(2、4)), state2idx(吉瓦,“(4,4)”),:) = 5;GW. r (:,state2idx(GW,GW. terminalstates),:) = 10;

现在,使用rlMDPEnv控件创建网格世界环境GridWorld对象吉瓦

env = rlMDPEnv(GW)
模型:[1x1 rl.env. env.]GridWorld] ResetFcn: []

控件可以可视化网格世界环境情节函数。

情节(env)

版本历史

在R2019a中引入