Марковский процесс принятия решений - как использовать оптимальную формулу политики? - PullRequest
2 голосов
/ 29 января 2012

У меня есть задача, где я должен рассчитать оптимальную политику (Обучение подкреплению - процесс принятия решений Маркова) в мире сетки (фильмы агентов слева, справа, вверх, вниз).

В левой таблице есть Оптимальные значения (V *). В правой таблице есть решение (направления), которое я не знаю, как получить, используя эту формулу «Оптимальная политика». Y = 0,9 (коэффициент дисконтирования)

enter image description here

А вот формула:

enter image description here

Так что, если кто-то знает, как использовать эту формулу, чтобы получить решение (эти стрелки), пожалуйста, помогите.

Редактировать: на этой странице есть полное описание проблемы: http://webdocs.cs.ualberta.ca/~sutton/book/ebook/node35.html Награды: за состоянием A (столбец 2, строка 1) следует вознаграждение +10 и переход в состояние A ', а за состоянием B (столбец 4, строка 1) следует вознаграждение +5 и переход в состояние B' , Вы можете двигаться: вверх, вниз, влево, вправо. Вы не можете выйти за пределы сетки или оставаться на том же месте.

1 Ответ

1 голос
/ 31 января 2012

Разбейте математику, кусочек за кусочком:

Arg max (....) говорит вам найти аргумент a, который максимизирует все в скобках.Переменные a, s и s '- это действие, состояние, в котором вы находитесь, и состояние, которое получается в результате этого действия, соответственно.Таким образом, arg max (...) говорит вам найти действие, которое максимизирует этот термин.

Вы знаете гамму, и кто-то проделал тяжелую работу по вычислению V * (s '), которое является значением этого результирующего состояния.Итак, вы знаете, что туда подключить, верно?

Так что же такое p (s, a, s ')?Это вероятность того, что, начиная с s и делая a, вы заканчиваете в некотором s '.Это предназначено для обозначения какого-то неисправного привода - вы говорите "вперед!"и он по глупости решает пойти налево (или на два квадрата вперед, или остаться неподвижным, или что-то в этом роде). Для этой проблемы я бы ожидал, что она будет дана вам, но вы не поделились ею с нами.И суммирование по s 'говорит вам, что когда вы начинаете с s и выбираете действие a, вам нужно суммировать по всем возможным результирующим s' состояниям.Опять же, вам нужны детали этой функции p (s, a, s '), чтобы знать, что это такое.

И, наконец, есть r (s, a), которая является наградой за выполнение действия a в состоянии s, независимо от того, где вы оказались.В этой проблеме может быть немного отрицательным, чтобы представить стоимость топлива.Если в сетке есть ряд наград и действие захвата, это может быть положительным.Тебе это тоже нужно.

Итак, что делать?Выберите штат s и рассчитайте для него свою политику.Для каждого s у вас есть возможность (s, a1), и (s, a2), и (s, a3) и т. Д. Вы должны найти a, который даст вам самый большой результат.И, конечно, для каждой пары (s, a) вы можете (на самом деле, почти наверняка) иметь несколько значений s ', чтобы придерживаться суммирования.

Если это звучит как большая работа, ну,вот почему у нас есть компьютеры.

PS - Внимательно прочитайте описание проблемы, чтобы выяснить, что произойдет, если вы столкнетесь со стеной.

...