主要内容

createmdp.

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

描述

示例

MDP= createMDP (states行动创建具有指定状态和动作的马尔可夫决策过程模型。

例子

崩溃

创建一个包含八个状态和两个可能操作的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。T.erminalStates = [“S7”;“S8”];

输入参数

崩溃

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

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

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

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

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

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

输出参数

崩溃

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

当前状态的名称,以字符串形式指定。

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

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

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

T. S. S. ' A. = P. R. O. B. A. B. L. T. y S. ' | S. A.

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

例如,表明在状态下1以下行动4.移动到状态的概率是相等的23.,请使用下列方法:

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'通过执行行动A.由:

R. = R. S. S. ' A.

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

在R2019A介绍