主要内容

createmdp.

创建马尔可夫决策过程模型

描述

例子

MDP.= createmdp(状态行动使用指定的状态和操作创建Markov决策过程模型。

例子

全部收缩

使用八个状态和两种可能的操作创建MDP模型。

mdp = createmdp(8,[“向上”;“下”]);

指定状态转换及其相关的奖励。

%州1转型和奖励mdp.t(1,2,1)= 1;MDP.R(1,2,1)= 3;mdp.t(1,3,2)= 1;MDP.R(1,3,2)= 1;%州2转型和奖励mdp.t(2,4,1)= 1;MDP.R(2,4,1)= 2;mdp.t(2,5,2)= 1;MDP.R(2,5,2)= 1;%州3转型和奖励mdp.t(3,5,1)= 1;MDP.R(3,5,1)= 2;mdp.t(3,6,2)= 1;MDP.R(3,6,2)= 4;%状态4转型和奖励mdp.t(4,7,1)= 1;MDP.R(4,7,1)= 3;mdp.t(4,8,2)= 1;MDP.R(4,8,2)= 2;%州5转型和奖励mdp.t(5,7,1)= 1;MDP.R(5,7,1)= 1;mdp.t(5,8,2)= 1;MDP.R(5,8,2)= 9;%州6转型和奖励mdp.t(6,7,1)= 1;MDP.R(6,7,1)= 5;mdp.t(6,8,2)= 1;MDP.R(6,8,2)= 1;%州7转型和奖励mdp.t(7,7,1)= 1;mdp.r(7,7,1)= 0;mdp.t(7,7,2)= 1;MDP.R(7,7,2)= 0;%州8转型和奖励mdp.t(8,8,1)= 1;mdp.r(8,8,1)= 0;mdp.t(8,8,2)= 1;mdp.r(8,8,2)= 0;

指定模型的终端状态。

mdp.terminalstates = [“S7”;“S8”];

输入参数

全部收缩

模型状态,指定为以下之一:

  • 正整数 - 指定模型状态的数量。在这种情况下,每个状态都有默认名称,例如“s1”对于第一个州。

  • 字符串矢量 - 指定状态名称。在这种情况下,状态的总数等于矢量的长度。

模型操作,指定为以下之一:

  • 正整数 - 指定模型操作的数量。在这种情况下,每个操作都有一个默认名称,例如“A1”对于第一个行动。

  • 字符串矢量 - 指定操作名称。在这种情况下,行动总数等于矢量的长度。

输出参数

全部收缩

MDP模型,作为一个返回genericmdp.对象具有以下属性。

当前状态的名称,指定为字符串。

状态名称,指定为字符串向量,长度等于状态数。

操作名称,指定为具有长度等于操作次数的字符串向量。

状态转换矩阵,指定为3-D阵列,其确定了代理在环境中的可能运动。国家转换矩阵T.是一个概率矩阵,其指示代理从当前状态移动的可能性有多大程度S.任何可能的下一个州S'通过执行行动一种T.是一个S.-经过-S.-经过-一种阵列,其中S.是州的数量和一种是行动的数量。它由:

T. S. S. ' 一种 = P. R. O. B. 一种 B. 一世 L. 一世 T. y S. ' | S. 一种

从非锤子状态出来的过渡概率之和S.在给定的动作之后必须总结一个。因此,必须同时指定给定状态的所有随机转换。

例如,表明在状态下1以下行动4.搬到州的平等概率2或者3.,使用以下内容:

mdp.t(1,[2 3],4)= [0.5 0.5];

您还可以指定,在一个操作之后,剩余状态仍有一些概率。例如:

MDP.T(1,[11],1)= [0.25 0.25 0.25 0.25];

奖励转换矩阵指定为3-D阵列,该数组确定代理在环境中执行操作后收到的奖励程度。R.具有与状态转换矩阵相同的形状和大小T.。从州移动的奖励S.国家S'通过执行行动一种是(谁)给的:

R. = R. S. S. ' 一种

网格世界中的终端状态名称,指定为状态名称的字符串向量。

在R2019A介绍