Марковский процесс принятия решений: итерация по значению, как это работает?

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

Так как это мой первый год в колледже, я обнаружил, что в объяснениях и формулах, представленных в Интернете, используются слишком сложные для меня понятия / термины, и они предполагают, что читатель знает определенные вещи, которые я просто никогда не слышал о.

Я хочу использовать его в 2D-сетке (заполненной стенами (недостижимо), монетами (желательно) и движущимися врагами (которых следует избегать любой ценой)). Вся цель состоит в том, чтобы собрать все монеты, не касаясь врагов, и я хочу создать ИИ для главного игрока, используя процесс принятия решений Маркова ( MDP ). Вот как это частично выглядит (обратите внимание, что игровой аспект здесь не так важен.Я просто действительно хочу понять MDP в целом):

enter image description here

Насколько я понимаю, грубое упрощение MDP заключается в том, что они могут создавать сетку, которая удерживает нужное нам направление. идти (своего рода сетка из «стрелок», указывающих, куда нам нужно идти, начиная с определенной позиции на сетке), чтобы добраться до определенных целей и избежать определенных препятствий. Конкретно для моей ситуации это означало бы, что он позволяет игроку знать, в каком направлении идти, чтобы собирать монеты и избегать врагов.

Теперь, используя термины MDP , это будет означать, что он создает набор состояний (сетку), который содержит определенные политики (действие -> вверх, вниз, вправо, влево) для определенное состояние (позиция в сетке). Политика определяется ценностями «полезности» каждого штата, которые сами рассчитываются путем оценки того, насколько получение этого выгодно в краткосрочной и долгосрочной перспективе.

Это правильно? Или я полностью ошибаюсь?

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

U_{i+1}(s) \longleftarrow R(s) + \gamma \max \sum\limits_{s'} T(s,a,s') U_i (s') \,.

(взято из книги Рассела «Искусственный интеллект - современный подход» & Norvig)

Я знаю, что s будет списком всех квадратов из сетки, a будет конкретным действием (вверх / вниз / вправо / влево), но как насчет остального?

Как будут реализованы функции вознаграждения и полезности?

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

Спасибо за ваше драгоценное время.

(Примечание: не стесняйтесь добавлять / удалять теги или сообщать мне в комментариях, если я должен рассказать больше о чем-то или о чем-то подобном.)

40
задан Cosmo Harrigan 20 April 2015 в 16:27
поделиться