Создайте пользовательские среды мира сетки

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

Reinforcement Learning Toolbox™ позволяет вам создать пользовательские среды мира сетки MATLAB® для своих собственных приложений. Создать пользовательскую среду мира сетки:

  1. Создайте модель мира сетки.

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

  3. Используйте модель мира сетки, чтобы создать вашу собственную среду мира сетки.

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

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

Объект GridWorld имеет следующие свойства:

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

Размерности мира сетки, отображенного как вектор [m,n]. Здесь, m представляет количество строк, в то время как n является количеством столбцов сетки.

CurrentStateНет

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

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

StatesДа

Вектор строки, содержащий имена состояния мира сетки. Например, для модели GW мира сетки 2 на 2:

GW.States = ["[1,1]""[2,1]""[1,2]""[2,2]"].

ActionsДа

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

GW = createGridWorld(m,n,moves)

Задайте moves или как 'Standard' или как 'Kings'.

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

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

T может обозначаться как:

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

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

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

От вышеупомянутой фигуры значение northStateTransition(3,2) 1, поскольку агент переместит от ячейки [3,1] до ячейки [2,1] с действием 'N'. Вероятность 1 указывает, что от данного состояния, если агент идет на север, это имеет 100%-й шанс перемещения одной ячейки North на сетке. Для примера при подготовке матрицы Грина смотрите, что Укрепление Train Изучает Агент в Основном Мире Сетки.

RНет

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

Вознаградите матрицу перехода, R может обозначаться как

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

Настройте R, таким образом, что существует вознаграждение к агенту после каждого действия. Например, можно настроить положительное вознаграждение, если переходы агента по состояниям препятствия и когда оно достигает терминального состояния. Можно также настроить вознаграждение по умолчанию-11 для всех мер, которые агент принимает, независимый от текущего состояния, и затем утвердите. Для примера при подготовке премиальной матрицы перехода смотрите, что Укрепление Train Изучает Агент в Основном Мире Сетки.

ObstacleStatesНет

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

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

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

Для примера рабочего процесса смотрите, что Укрепление Train Изучает Агент в Основном Мире Сетки.

TerminalStatesНет

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

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

Для примера рабочего процесса смотрите, что Укрепление Train Изучает Агент в Основном Мире Сетки.

Среда мира сетки

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

Для получения дополнительной информации смотрите rlMDPEnv и Агент Изучения Укрепления Train в Основном Мире Сетки.

Смотрите также

| |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте