主要内容

createGridWorld

创建一个二维网格世界强化学习

自从R2019a

描述

例子

吉瓦= createGridWorld (,n)创建一个网格的世界吉瓦的大小——- - - - - -n用默认的行为[' N '; ' S ' E '; ' W ']

吉瓦= createGridWorld (,n,移动)创建一个网格的世界吉瓦的大小——- - - - - -n用行动所指定的移动

例子

全部折叠

对于这个示例,考虑5-by-5电网世界使用以下规则:

  1. 5-by-5网格边界,有界的世界4可能的行动(= 1,南北= 2,= 3,东部西= 4)。

  2. 代理从细胞开始(2,1)(第二行,第一列)。

  3. 代理收到奖励+ 10,如果它到达终端状态细胞(5,5)(蓝色)。

  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]现状后:“[1]”状态:[25 x1字符串]行动:[4 x1字符串)师:[25 x25x4双]R: [25 x25x4双]ObstacleStates: [0 x1字符串]TerminalStates: [0 x1字符串]ProbabilityTolerance: 8.8818 e-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 =元素个数(GW.States);nA =元素个数(GW.Actions);GW。R=-1*ones(nS,nS,nA); GW.R(state2idx(GW,”“(2、4)),state2idx(吉瓦,“(4,4)”):)= 5;GW.R (:, state2idx (GW, GW.TerminalStates):) = 10;

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

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

你可以想象世界网格环境中使用情节函数。

情节(env)

输入参数

全部折叠

网格的行数,指定为一个标量。

网格的列数,指定为一个标量。

动作名称,指定为“标准”“国王”。当移动被设置为

  • “标准”操作的,[' N '; ' S ' E '; ' W ']

  • “国王”操作的,[' N ',“S”;“E”;“W”;“东北”;“西北”;“SE”;“西南”)

输出参数

全部折叠

二维网格的世界,作为一个返回GridWorld下面列出的对象的属性。有关更多信息,请参见创建自定义网格的世界环境

网格的大小世界,指定为一个(m, n)向量。

当前状态的名称,指定为一个字符串。

国家名称,指定为字符串向量的长度*n

动作名称,指定为一个字符串向量。的长度行动向量是由移动论点。

行动是一个字符串向量的长度:

  • 4、如果移动被指定为“标准”

  • 八、移动被指定为“国王”

状态转移矩阵,指定为一个三维数组,这决定了代理的可能运动的环境。状态转移矩阵T是一个概率矩阵,表明可能代理将从当前状态年代任何可能的下一个状态年代通过执行行动一个T是由,

T ( 年代 , 年代 , 一个 ) = p r o b 一个 b l t y ( 年代 | 年代 , 一个 )

T是:

  • 一个K——- - - - - -K4数组,如果移动被指定为“标准”。在这里,K=*n

  • 一个K——- - - - - -K8数组,如果移动被指定为“国王”

奖励转移矩阵,指定为一个三维数组,决定了奖励代理接收环境中执行一个动作之后。R有相同的形状和大小是状态转移矩阵吗T。奖励转移矩阵R是由,

r = R ( 年代 , 年代 , 一个 )

R是:

  • 一个K——- - - - - -K4数组,如果移动被指定为“标准”。在这里,K=*n

  • 一个K——- - - - - -K8数组,如果移动被指定为“国王”

国家名称,不能达到网格中的世界,指定为一个字符串向量。

终端状态名称网格中的世界,指定为一个字符串向量。

版本历史

介绍了R2019a