主要内容

创建自定义网格世界环境

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

强化学习工具箱™让您创建自定义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,移动)

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

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

状态转移矩阵,指定为三维数组。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%的机会在网格上向北移动一个单元格。有关如何建立状态转移矩阵的示例,请参见在基本网格世界中训练强化学习代理

R 没有

奖励转换矩阵,指定为三维数组。R确定代理在环境中执行一个动作后获得多少奖励。R具有与状态转移矩阵相同的形状和大小T

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

r R 年代 年代 一个

设置R这样行为人在每次行动后都会得到奖励。例如,如果代理跨越障碍状态并到达终端状态,您可以设置正奖励。你也可以设置代理所采取的所有行动的默认奖励-11,独立于当前状态和下一个状态。关于如何设置奖励转移矩阵的例子,请参阅在基本网格世界中训练强化学习代理

ObstacleStates 没有

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

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

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

有关工作流示例,请参见在基本网格世界中训练强化学习代理

TerminalStates 没有

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

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

有关工作流示例,请参见在基本网格世界中训练强化学习代理

网格的世界环境

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

有关更多信息,请参见rlMDPEnv在基本网格世界中训练强化学习代理

另请参阅

||

相关的话题