exponenta event banner

createMDP

Создайте модель процесса принятия решений Маркова

Синтаксис

MDP = createMDP(states,actions)

Описание

пример

MDP = createMDP(states,actions) создает модель процесса принятия решений Маркова с заданными состояниями и действиями.

Примеры

свернуть все

Создайте модель MDP с восемью состояниями и двумя возможными действиями.

MDP = createMDP(8,["up";"down"]);

Задайте изменения состояния и их связанные вознаграждения.

% State 1 Transition and Reward
MDP.T(1,2,1) = 1;
MDP.R(1,2,1) = 3;
MDP.T(1,3,2) = 1;
MDP.R(1,3,2) = 1;
% State 2 Transition and Reward
MDP.T(2,4,1) = 1;
MDP.R(2,4,1) = 2;
MDP.T(2,5,2) = 1;
MDP.R(2,5,2) = 1;
% State 3 Transition and Reward
MDP.T(3,5,1) = 1;
MDP.R(3,5,1) = 2;
MDP.T(3,6,2) = 1;
MDP.R(3,6,2) = 4;
% State 4 Transition and Reward
MDP.T(4,7,1) = 1;
MDP.R(4,7,1) = 3;
MDP.T(4,8,2) = 1;
MDP.R(4,8,2) = 2;
% State 5 Transition and Reward
MDP.T(5,7,1) = 1;
MDP.R(5,7,1) = 1;
MDP.T(5,8,2) = 1;
MDP.R(5,8,2) = 9;
% State 6 Transition and Reward
MDP.T(6,7,1) = 1;
MDP.R(6,7,1) = 5;
MDP.T(6,8,2) = 1;
MDP.R(6,8,2) = 1;
% State 7 Transition and Reward
MDP.T(7,7,1) = 1;
MDP.R(7,7,1) = 0;
MDP.T(7,7,2) = 1;
MDP.R(7,7,2) = 0;
% State 8 Transition and Reward
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 со следующими свойствами.

Имя текущего состояния, заданного как строка.

Имена состояния, заданные как вектор строки с длиной, равняются количеству состояний.

Имена действия, заданные как вектор строки с длиной, равняются количеству действий.

Матрица Грина, заданная как трехмерный массив, который определяет возможные перемещения агента в среде. T матрицы Грина является матрицей вероятности, которая указывает, как, вероятно, агент переместит от текущего состояния s к любому возможному следующему s' состояния путем выполнения действия a. T дают:

T(s,s',a) = probability(s'|s,a).

T является S-by-S-by-A массив, где S является количеством состояний, и A является количеством действий.

Вознаградите матрицу перехода, заданную как трехмерный массив, который определяет, сколько вознаграждение агент получает после выполнения действия в среде. R имеет ту же форму и размер как матрица Грина T. Вознаграждением за перемещение от s состояния, чтобы утвердить s' путем выполнения действия a дают:

r = R(s,s',a).

Терминальное состояние называет в мире сетки, заданном как вектор строки имен состояния.

Введенный в R2019a