创建自定义网格世界环境
网格世界是一个基于单元的二维环境,代理从一个单元开始,向终端单元移动,同时收集尽可能多的奖励。网格世界环境有助于应用强化学习算法,为网格上的智能体发现最优路径和策略,以最少的移动次数到达最终目标。
强化学习工具箱™让您创建自定义MATLAB®用于您自己的应用程序的网格世界环境。创建一个自定义网格世界环境:
创建网格世界模型。
配置网格世界模型。
使用网格世界模型创建您自己的网格世界环境。
网格世界模型
方法创建自己的网格世界模型createGridWorld
函数。属性时指定网格大小GridWorld
模型对象。
的GridWorld
对象具有以下属性。
财产 | 只读 | 描述 | ||||||
---|---|---|---|---|---|---|---|---|
GridSize |
是的 | 网格世界的尺寸,显示为米——- - - - - -n数组中。在这里,米表示网格行数和n是网格列数。 |
||||||
现状后 |
没有 | 代理的当前状态的名称,以字符串形式指定。您可以使用此属性设置代理的初始状态。代理总是从单元格开始 代理从 |
||||||
州 |
是的 | 包含网格世界的状态名的字符串向量。例如,对于一个2乘2的网格世界模型 GW。各州= [“(1)”;“(2,1)”;“[1,2]”;“(2,2)”]; |
||||||
行动 |
是的 | 一个字符串向量,包含代理可以使用的可能操作的列表。方法可以在创建网格世界模型时设置操作 GW = createGridWorld(m,n,moves) 指定
|
||||||
T |
没有 | 状态转换矩阵,指定为3-D数组。
例如,考虑一个5乘5的确定性网格世界对象 northStateTransition = GW.T(:,:,1) 由上图可知,的值 |
||||||
R |
没有 | 奖励转换矩阵,指定为3-D数组。 奖励转换矩阵
设置 |
||||||
ObstacleStates |
没有 |
黑色的单元格是障碍状态,您可以使用以下语法指定它们: GW。ObstacleStates = [“[3 3]”;“[3,4]”;“[3,5]”;“[4 3]”]; 有关工作流示例,请参见在Basic Grid World中训练强化学习代理. |
||||||
TerminalStates |
没有 |
GW。TerminalStates = "[5,5]"; 有关工作流示例,请参见在Basic Grid World中训练强化学习代理. |
网格世界环境
您可以使用。创建马尔可夫决策过程(MDP)环境rlMDPEnv
从上一步的网格世界模型。MDP是一个离散随机控制过程。它为在结果部分是随机的,部分是在决策者控制下的情况下建模决策提供了一个数学框架。代理使用网格世界环境对象rlMDPEnv
与网格世界模型对象交互GridWorld
.
有关更多信息,请参见rlMDPEnv
而且在Basic Grid World中训练强化学习代理.
另请参阅
createGridWorld
|rlMDPEnv
|rlPredefinedEnv