Марковский процесс принятия решений (MDP): кортеж и решение

Марковский процесс принятия решений (MDP, Markov Decision Process) - это математический каркас, в котором описывают задачи последовательного принятия решений в случайной среде. Агент находится в одном из состояний, выбирает действие, среда отвечает наградой и переводит агента в новое состояние - и так шаг за шагом. На MDP стоит вся теория обучения с подкреплением, динамическое программирование Беллмана и значительная часть исследования операций. Ниже разберём, из чего состоит кортеж MDP, что такое функция ценности, как уравнение Беллмана превращается в работающий алгоритм и почему коэффициент дисконтирования так сильно меняет ответ. Чтобы сразу увидеть, как ценность состояний и политика зависят от параметров среды, ниже стоит интерактивный калькулятор.
Кортеж MDP: пять элементов
Формально марковский процесс принятия решений задаётся кортежем из пяти элементов:
- - множество состояний среды (где может находиться агент);
- - множество действий, доступных агенту;
- - функция переходов: вероятность оказаться в состоянии , если в состоянии выбрано действие ;
- - функция награды за выбор действия в состоянии (иногда награду пишут как );
- - коэффициент дисконтирования будущих наград.
Ключевое слово в названии - «марковский». Оно означает, что вероятность следующего состояния зависит только от текущего состояния и действия, но не от всей предыстории пути. Это свойство Маркова: настоящее экранирует прошлое. Благодаря ему задачу можно решать рекуррентно, состояние за состоянием, а не перебирать все возможные траектории.

Цель агента: дисконтированная награда
Агент не максимизирует награду одного шага - он максимизирует суммарную награду за всю траекторию. Поскольку процесс может длиться бесконечно, награды будущего обесцениваются множителем на каждом шаге. Суммарная дисконтированная награда (отдача, return) от момента :
Дисконт играет двойную роль. Математически он гарантирует, что бесконечная сумма сходится (при и ограниченных наградах). Содержательно он задаёт «горизонт планирования»: при близком к нулю агент близорук и хватает ближайшую награду, при близком к единице он терпеливо оптимизирует далёкое будущее.
Политика и функция ценности
Политика - это правило выбора действия. Детерминированная политика возвращает одно действие, стохастическая - распределение вероятностей по действиям. Решить MDP означает найти оптимальную политику , дающую наибольшую ожидаемую отдачу из любого состояния.
Чтобы сравнивать политики, вводят функцию ценности состояния - ожидаемую дисконтированную отдачу, если из состояния следовать политике :
Рядом полезна функция ценности действия - ожидаемая отдача, если в сделать действие , а дальше следовать . Именно через удобно сравнивать действия и улучшать политику.
Уравнение Беллмана
Центральный результат теории - рекуррентное соотношение, связывающее ценность состояния с ценностями соседних. Для оптимальной функции ценности оно принимает вид уравнения оптимальности Беллмана:
Смысл: ценность состояния равна награде за лучшее действие плюс дисконтированная ожидаемая ценность того, куда это действие приведёт. Подробный разбор каждого члена и вывод этого соотношения - в отдельной статье про уравнение Беллмана. Здесь важно главное: уравнение Беллмана - это не формула «в один проход», а система уравнений, которую решают итеративно.
Уравнение Беллмана для V и для Q эквивалентны. Через Q оптимальная политика читается мгновенно: pi*(s) = argmax_a Q*(s, a). Поэтому многие алгоритмы RL оценивают именно Q.
Итерация по ценности
Самый прямой алгоритм решения MDP - итерация по ценности (value iteration). Стартуем с произвольной оценки (часто нули) и многократно применяем правый бок уравнения Беллмана как оператор обновления:
Оператор Беллмана является сжимающим отображением с коэффициентом , поэтому последовательность сходится к единственной неподвижной точке со скоростью геометрической прогрессии. Останавливаются, когда максимальное изменение ценности за итерацию (невязка Беллмана) падает ниже заданного порога. Оптимальную политику извлекают одним проходом: в каждом состоянии берут действие с наибольшим значением .
Именно этот алгоритм считает калькулятор выше: каждый сдвиг ползунка или вероятности перехода заново прогоняет итерацию по ценности на маленьком коридоре состояний и показывает, за сколько шагов невязка обнуляется.

Итерация по политике
Альтернатива - итерация по политике (policy iteration), которая чередует два шага:
- Оценка политики (policy evaluation): для фиксированной политики решают линейную систему Беллмана и находят .
- Улучшение политики (policy improvement): в каждом состоянии переключаются на действие, жадное по полученной .
Эти два шага повторяют, пока политика не перестанет меняться. Итерация по политике обычно сходится за меньшее число внешних итераций, чем итерация по ценности, но каждый её шаг дороже (требует полной оценки политики). На практике используют усечённый гибрид - обобщённую итерацию по политике.
Стохастичность среды
Функция переходов - это то, что отличает MDP от обычного графа кратчайших путей. Если действие «вперёд» выполняется не всегда, а с вероятностью (и с вероятностью агент проскальзывает), то оптимальная политика учитывает риск. Чем выше стохастичность, тем сильнее обесцениваются дальние состояния и тем осторожнее ведёт себя агент. Это видно в калькуляторе: при ценность старта проседает, потому что половина шагов уводит не туда.
Свойство Маркова - это предположение, а не данность. Если будущее зависит от истории, агент в чистом MDP будет принимать неоптимальные решения. Тогда состояние расширяют так, чтобы оно снова стало достаточной статистикой (или переходят к POMDP - частично наблюдаемому MDP).
Связь с обучением с подкреплением
В классическом MDP функции и известны заранее, и задачу решают динамическим программированием. В обучении с подкреплением (RL) среда задана как MDP, но её динамика неизвестна - агент узнаёт о наградах и переходах только из опыта взаимодействия. Алгоритмы вроде Q-обучения оценивают напрямую по сэмплам, не строя модель . По сути RL - это MDP, решаемый «вслепую», методом проб и ошибок, но на том же фундаменте уравнения Беллмана.
Частые ошибки
- Путают награду и ценность. Награда - мгновенный сигнал за один шаг; ценность - ожидаемая сумма дисконтированных наград за всё будущее. Максимизируют именно ценность.
- Берут в бесконечном MDP. Без дисконта (и без терминальных состояний) сумма наград расходится, и ценности уходят в бесконечность. Для эпизодических задач допустимо, для непрерывных - нет.
- Забывают про стохастичность переходов. Решают MDP как детерминированный граф, игнорируя . В случайной среде это даёт неверную политику.
- Считают, что итерация по ценности даёт точное за конечное число шагов. Она сходится в пределе; на практике останавливаются по порогу невязки, и политика стабилизируется раньше, чем сами ценности.
- Нарушают свойство Маркова. Описывают состояние неполно, так что будущее зависит от прошлого - и удивляются, почему политика плохо работает.
FAQ
Чем MDP отличается от марковской цепи? Марковская цепь описывает случайную динамику без управления: переходы заданы и агент ни на что не влияет. В MDP добавлены действия и награды - агент активно выбирает действие, меняя распределение переходов. Цепь - это MDP с единственным действием.
Когда применять итерацию по ценности, а когда по политике? Итерация по ценности проще в реализации и хороша, когда действий немного. Итерация по политике сходится за меньшее число внешних шагов и выгодна, когда оценка политики дешева. На больших задачах берут гибрид или приближённые методы.
Что такое POMDP? Частично наблюдаемый MDP: агент не видит истинное состояние, а получает лишь наблюдения. Решение строится над распределением вероятностей по состояниям (belief state), что заметно усложняет задачу.
Коротко
Марковский процесс принятия решений задаётся кортежем и моделирует последовательный выбор действий в случайной среде со свойством Маркова. Цель - найти политику, максимизирующую дисконтированную отдачу; её ценность описывает уравнение оптимальности Беллмана. Решают MDP итерацией по ценности или по политике; когда динамика среды неизвестна, тот же каркас лежит в основе обучения с подкреплением. Дисконт задаёт горизонт планирования, а функция переходов - стохастичность, и оба параметра напрямую меняют оптимальную политику.
Читайте также

Q-обучение: алгоритм обучения с подкреплением по шагам
Q-обучение в обучении с подкреплением: правило обновления Q-таблицы, формула Беллмана, выбор действия по epsilon-жадной стратегии, сходимость и отличие от SARSA на простых примерах.

Алгоритм policy gradient: как обучают стратегию напрямую
Разбираем алгоритм policy gradient: теорема о градиенте, формула REINFORCE, роль baseline и log-производной. С примерами вывода, типовыми ошибками и интерактивным расчётом сходимости.

Алгоритм SARSA: on-policy обучение с подкреплением по шагам
Алгоритм SARSA в обучении с подкреплением: правило обновления Q по пятёрке state-action-reward-state-action, on-policy логика, выбор действия epsilon-жадно и отличие от Q-обучения на примерах.