文件帮助中心文件
为强化学习创建二维网格世界
gw = creategridworld(m,n)
gw = creategridworld(m,n,moves)
例子
GW.= creategridworld(m那N)创造一个网格世界GW.大小m-经过-N默认操作['n';''e';'w']。
GW.= creategridworld(m那N)
GW.
m
N
['n';''e';'w']
GW.= creategridworld(m那N那移动)创造一个网格世界GW.大小m-经过-N通过指定的行动移动。
GW.= creategridworld(m那N那移动)
移动
全部收缩
对于此示例,请考虑具有以下规则的5×5个网格世界:
由边界有5乘5个网格世界,有4个可能的动作(北= 1,南= 2,East = 3,West = 4)。
代理从单元格[2,1](第二行,第一列)开始。
如果它在单元格[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具有属性:GridSize:[5 5] CurrentState:“[1,1]”状态:[25x1字符串]动作:[4x1字符串] T:[25x25x4双] R:[25x25x4双] ropactlestates:[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.。
rlmdpenv.
ent = rlmdpenv(gw)
env = rlmdpenv具有属性:型号:[1x1 rl.env.gridworld] resetfcn:[]
您可以使用该网格世界环境可视化阴谋功能。
阴谋
情节(env)
网格世界的行数,指定为标量。
网格世界的列数,指定为标量。
'标准'
'国王'
操作名称,指定为'标准'或者'国王'。什么时候移动设定为
'标准',行动是['n';''e';'w']。
'国王',行动是['n';'e';'w';'n';'nw';'se';'sw']。
['n';'e';'w';'n';'nw';'se';'sw']
二维网格世界,作为一个返回Gridworld.具有下面列出的属性的对象。有关更多信息,请参阅创建自定义网格世界环境。
网格化
[m,n]
网格世界的大小,指定为a[m,n]向量。
当前状态
当前状态的名称,指定为字符串。
状态
状态名称,指定为长度的字符串向量m*N。
行动
操作名称,指定为字符串向量。的长度行动矢量由移动争论。
行动是长度的字符串矢量:
四,如果移动被指定为'标准'。
八,移动被指定为'国王'。
T.
状态转换矩阵,指定为3-D阵列,其确定了代理在环境中的可能运动。国家转换矩阵T.是一个概率矩阵,其指示代理从当前状态移动的可能性有多大程度S.任何可能的下一个州S'通过执行行动一种。T.是(谁)给的,
S.
S'
一种
T. ( S. 那 S. ' 那 一种 ) = P. R. O. B. 一种 B. 一世 L. 一世 T. y ( S. ' | S. 那 一种 ) 。
T.是:
一种K.-经过-K.- 4阵列,如果移动被指定为'标准'。这里,K.=m*N。
K.
一种K.-经过-K.- 8个阵列,如果移动被指定为'国王'。
R.
奖励转换矩阵指定为3-D阵列,确定代理在在环境中执行操作后收到的奖励。R.具有与状态转换矩阵相同的形状和大小T.。奖励过渡矩阵R.是(谁)给的,
R. = R. ( S. 那 S. ' 那 一种 ) 。
R.是:
障碍
无法在网格世界中无法访问的状态名称,指定为字符串向量。
终端
网格世界中的终端状态名称指定为字符串向量。
rlmdpenv.|Rlpredefinedenv.
Rlpredefinedenv.
您有此示例的修改版本。您是否希望使用您的编辑打开此示例?
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系您当地的办公室