文档帮助中心文档
为强化学习创建一个二维网格世界
GW = createGridWorld (m, n)
GW = createGridWorld (m, n,移动)
例子
吉瓦=createGridWorld(米,n)创建网格世界吉瓦大小米-借-n默认操作为[N';'S';'E';'W'].
吉瓦=createGridWorld(米,n)
吉瓦
米
n
[N';'S';'E';'W']
吉瓦=createGridWorld(米,n,移动)创建网格世界吉瓦大小米-借-n使用指定的操作移动.
吉瓦=createGridWorld(米,n,移动)
移动
全部折叠
对于这个例子,考虑一个5乘5的网格世界,规则如下:
以边界为界的五乘五网格世界,有4种可能的行动(北=1,南=2,东=3,西=4)。
代理从单元格[2,1](第二行,第一列)开始。
如果agent在单元格[5,5](蓝色)到达终端状态,则得到+10的奖励。
该环境包含一个从细胞[2,4]到细胞[4,4]的特殊跳跃,带有+5奖励。
该试剂被细胞[3,3]、[3,4]、[3,5]和[4,3](黑细胞)中的障碍物阻断。
所有其他行动的结果是-1奖励。
首先,创建一个GridWorld对象使用createGridWorld函数。
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]
现在,设置初始、终端和障碍物状态。
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(年代t一个te2idx(GW,"[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(:,状态2Idx(GW,GW.终端状态),:)=10;
现在,使用rlMDPEnv创建网格世界环境使用GridWorld对象吉瓦.
rlMDPEnv
env = rlMDPEnv (GW)
env=rlMDPEnv,属性为:模型:[1x1 rl.env.GridWorld]ResetFcn:[]
控件可以可视化网格世界环境情节函数。
情节
地块(环境)
网格世界的行数,指定为标量。
网格世界的列数,指定为标量。
“标准”
“国王”
操作名称,指定为“标准”或“国王”.当移动设置为
“标准”,行动如下:[N';'S';'E';'W'].
“国王”,行动如下:[' N ',“S”;“E”;“W”;“东北”;“西北”;“SE”;“西南”).
[' N ',“S”;“E”;“W”;“东北”;“西北”;“SE”;“西南”)
二维网格世界,返回为GridWorld对象,其属性如下所示。有关更多信息,请参见创建自定义网格世界环境.
GridSize
(m, n)
网格世界的大小,指定为(m, n)向量。
现状后
当前状态的名称,指定为字符串。
州
状态名,指定为长度的字符串向量米*n.
行动
操作名称,指定为字符串向量。长度行动向量由移动论点
行动是长度为的字符串向量:
4、如果移动指定为“标准”.
八个移动指定为“国王”.
T
状态转移矩阵,指定为一个三维数组,它确定agent在环境中的可能移动。状态转移矩阵T是否有一个概率矩阵表示agent从当前状态移动的可能性年代到任何可能的下一个状态年代通过行动一个.T是由,
年代
一个
T ( 年代 , 年代 ' , 一个 ) = p r o b 一个 b 我 l 我 t y ( 年代 ' | 年代 , 一个 ) .
T是:
一个K-借-K4数组,如果移动指定为“标准”在这里K=米*n.
K
一个K-借-K8数组,如果移动指定为“国王”.
R
奖励转换矩阵,指定为一个3-D数组,决定了代理在环境中执行一个动作后获得多少奖励。R具有与状态转移矩阵相同的形状和大小T.奖励转移矩阵R是由,
r = R ( 年代 , 年代 ' , 一个 ) .
R是:
阻碍
在网格世界中无法访问的状态名,指定为字符串向量。
末端状态
网格世界中的终端状态名,指定为字符串向量。
rlMDPEnv|rlPredefinedEnv
rlPredefinedEnv
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系