主要内容

创建自定义网格世界环境

网格世界是一个基于单元的二维环境,代理从一个单元开始,向终端单元移动,同时收集尽可能多的奖励。网格世界环境有助于应用强化学习算法,为网格上的智能体发现最优路径和策略,以最少的移动次数到达最终目标。

强化学习工具箱™让您创建自定义MATLAB®用于您自己的应用程序的网格世界环境。创建一个自定义网格世界环境:

  1. 创建网格世界模型。

  2. 配置网格世界模型。

  3. 使用网格世界模型创建您自己的网格世界环境。

网格世界模型

方法创建自己的网格世界模型createGridWorld函数。属性时指定网格大小GridWorld模型对象。

GridWorld对象具有以下属性。

财产 只读 描述
GridSize 是的

网格世界的尺寸,显示为——- - - - - -n数组中。在这里,表示网格行数和n是网格列数。

现状后 没有

代理的当前状态的名称,以字符串形式指定。您可以使用此属性设置代理的初始状态。代理总是从单元格开始[1]默认情况下。

代理从现状后中的重置函数一旦使用rlMDPEnv环境对象。

是的

包含网格世界的状态名的字符串向量。例如,对于一个2乘2的网格世界模型吉瓦,指定以下内容:

GW。各州= [“(1)”“(2,1)”“[1,2]”“(2,2)”];
行动 是的

一个字符串向量,包含代理可以使用的可能操作的列表。方法可以在创建网格世界模型时设置操作移动论点:

GW = createGridWorld(m,n,moves)

指定移动作为“标准”“国王”

移动 Gw。行动
“标准” [' N '; ' S ' E '; ' W ']
“国王” [' N ',“S”;“E”;“W”;“东北”;“西北”;“SE”;“西南”)
T 没有

状态转换矩阵,指定为3-D数组。T是一个概率矩阵,表明代理从当前状态移动的可能性年代到任何可能的下一个状态年代通过执行行动一个

T可以表示为

T 年代 年代 一个 p r o b 一个 b l t y 年代 | 年代 一个

例如,考虑一个5乘5的确定性网格世界对象吉瓦药剂在细胞里(3,1).查看北方向的状态转换矩阵。

northStateTransition = GW.T(:,:,1)

由上图可知,的值northStateTransition (2)因为代理从单元格移动,所以是1(3,1)细胞(2, 1)用行动“N”.概率为1表示从给定状态开始,如果智能体向北移动,它有100%的几率在网格上向北移动一个单元格。有关显示如何设置状态转换矩阵的示例,请参见在Basic Grid World中训练强化学习代理

R 没有

奖励转换矩阵,指定为3-D数组。R决定代理在环境中执行一个动作后获得多少奖励。R和状态转移矩阵的形状和大小一样T

奖励转换矩阵R可以表示为

r R 年代 年代 一个

设置R这样,在每个动作之后都会有一个对代理的奖励。例如,你可以设置一个积极的奖励,如果代理跨越障碍状态,当它到达终端状态。您还可以为代理采取的所有操作设置默认奖励-11,与当前状态和下一个状态无关。有关如何设置奖励转换矩阵的示例,请参见在Basic Grid World中训练强化学习代理

ObstacleStates 没有

ObstacleStates是在网格世界中无法到达的状态,指定为字符串向量。考虑以下5 * 5网格世界模型吉瓦

黑色的单元格是障碍状态,您可以使用以下语法指定它们:

GW。ObstacleStates = [“[3 3]”“[3,4]”“[3,5]”“[4 3]”];

有关工作流示例,请参见在Basic Grid World中训练强化学习代理

TerminalStates 没有

TerminalStates是网格世界中的最终状态,指定为字符串向量。考虑之前的5 * 5网格世界模型吉瓦.蓝色单元格是终端状态,您可以通过以下方式指定它:

GW。TerminalStates = "[5,5]";

有关工作流示例,请参见在Basic Grid World中训练强化学习代理

网格世界环境

您可以使用。创建马尔可夫决策过程(MDP)环境rlMDPEnv从上一步的网格世界模型。MDP是一个离散随机控制过程。它为在结果部分是随机的,部分是在决策者控制下的情况下建模决策提供了一个数学框架。代理使用网格世界环境对象rlMDPEnv与网格世界模型对象交互GridWorld

有关更多信息,请参见rlMDPEnv而且在Basic Grid World中训练强化学习代理

另请参阅

||

相关的话题