exponenta event banner

Создание пользовательских сред Grid World

Сетка - это двухмерная сотовая среда, в которой агент начинается из одной ячейки и движется к конечной ячейке, собирая как можно больше вознаграждения. Среды Grid World полезны для применения алгоритмов обучения усилению, чтобы найти оптимальные пути и политики для агентов на сетке, чтобы достичь конечной цели в наименьшем количестве ходов.

Toolbox™ обучения усилению позволяет создавать пользовательские среды grid world MATLAB ® для собственных приложений. Чтобы создать пользовательскую сеточную мировую среду, выполните следующие действия.

  1. Создайте сеточную модель мира.

  2. Сконфигурируйте сеточную модель мира.

  3. Используйте модель grid world для создания собственной среды grid world.

Модель мира сетки

Можно создать собственную сеточную модель мира с помощью createGridWorld функция. Укажите размер сетки при создании GridWorld объект модели.

GridWorld имеет следующие свойства.

СобственностьТолько для чтенияОписание
GridSizeДа

Размеры сетки, отображаемые в виде массива m-by-n. Здесь m представляет количество строк сетки, а n - количество столбцов сетки.

CurrentStateНет

Имя текущего состояния агента, указанное как строка. Это свойство можно использовать для установки начального состояния агента. Агент всегда начинается с ячейки [1,1] по умолчанию.

Агент начинается с CurrentState после использования функции сброса в rlMDPEnv объект среды.

StatesДа

Строковый вектор, содержащий имена состояний сеточного мира. Например, для модели мира сетки 2 на 2 GW, укажите следующее:

GW.States = ["[1,1]";
             "[2,1]";
             "[1,2]";
             "[2,2]"];
ActionsДа

Строковый вектор, содержащий список возможных действий, которые может использовать агент. Можно задать действия при создании модели мира сетки с помощью moves аргумент:

GW = createGridWorld(m,n,moves)

Определить moves как либо 'Standard' или 'Kings'.

movesGw.Actions
'Standard'['N';'S';'E';'W']
'Kings'['N';'S';'E';'W';'NE';'NW';'SE';'SW']
TНет

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

T может быть обозначен как

T (s, s ', a ) = вероятность (s' | s, a).

Например, рассмотрим детерминированный объект мира сетки 5 на 5 GW с агентом в ячейке [3,1]. Просмотрите матрицу перехода состояния для северного направления.

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

На приведенном выше рисунке указано значение northStateTransition(3,2) равно 1, так как агент перемещается из ячейки [3,1] к клетке [2,1] с действием 'N'. Вероятность 1 указывает на то, что из данного состояния, если агент идет на север, он имеет 100% вероятность перемещения одной ячейки на север по сетке. Пример настройки матрицы перехода состояний см. в разделе Подготовка агента обучения усилению в Basic Grid World.

RНет

Матрица перехода вознаграждения, заданная как массив 3-D. R определяет, сколько вознаграждения получает агент после выполнения действия в среде. R имеет ту же форму и размер, что и матрица перехода состояния T.

Матрица перехода вознаграждения R может быть обозначен как

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

Настроить R такой, чтобы была награда агенту после каждого действия. Например, можно настроить положительное вознаграждение, если агент переходит в состояние препятствия и когда он достигает состояния терминала. Можно также настроить вознаграждение по умолчанию -11 для всех действий, выполняемых агентом, независимо от текущего состояния и следующего состояния. Пример настройки матрицы перехода вознаграждения см. в разделе Обучение агента обучения усилению в Basic Grid World.

ObstacleStatesНет

ObstacleStates - это состояния, которые не могут быть достигнуты в сетке, указанной как строковый вектор. Рассмотрим следующую модель мира сетки 5 на 5 GW.

Черные ячейки являются состояниями препятствий, и их можно задать с помощью следующего синтаксиса:

GW.ObstacleStates = ["[3,3]";"[3,4]";"[3,5]";"[4,3]"];

Пример рабочего процесса см. в разделе Подготовка агента обучения усилению в Basic Grid World.

TerminalStatesНет

TerminalStates являются конечными состояниями в сеточном мире, заданными как строковый вектор. Рассмотрим предыдущую модель мира сетки 5 на 5 GW. Синяя ячейка является состоянием клеммы и ее можно указать следующим образом:

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

Пример рабочего процесса см. в разделе Подготовка агента обучения усилению в Basic Grid World.

Сетевая мировая среда

Среду процесса принятия решений Маркова (MDP) можно создать с помощью rlMDPEnv из модели мира сетки из предыдущего шага. MDP - дискретно-временной стохастический процесс управления. Он предоставляет математическую основу для моделирования принятия решений в ситуациях, когда результаты частично случайны и частично находятся под контролем лица, принимающего решение. Агент использует объект grid world environment rlMDPEnv для взаимодействия с объектом модели мира сетки GridWorld.

Дополнительные сведения см. в разделе rlMDPEnv и Обучайте агента по обучению усилению в Basic Grid World.

См. также

| |

Связанные темы