Уравнение Беллмана: принцип оптимальности простыми словами

Уравнение Беллмана - это рекуррентное соотношение, которое связывает ценность текущего состояния с ценностью состояний, в которые можно перейти. Его сформулировал Ричард Беллман в 1950-х как ядро динамического программирования: вместо того чтобы перебирать все возможные траектории целиком, мы разбиваем задачу на шаги и решаем её «с конца». Сегодня уравнение Беллмана - фундамент обучения с подкреплением, оптимального управления и многих алгоритмов на графах. Ниже разберём, откуда берётся рекуррентность, чем функция ценности отличается от , и как из уравнения получаются рабочие алгоритмы. Если хотите сразу примерить идею на свою задачу - соберите запрос в форме ниже.
Принцип оптимальности - откуда берётся рекуррентность
В основе лежит принцип оптимальности Беллмана: оптимальная траектория обладает тем свойством, что какова бы ни была первая принятая мысль, оставшийся хвост траектории тоже оптимален относительно состояния, в которое мы попали. Иными словами, оптимальное решение целого складывается из оптимальных решений его частей.
Это и позволяет записать рекуррентность. Пусть - максимальная суммарная награда, которую можно набрать, стартуя из состояния и действуя оптимально. Тогда ценность равна лучшему из вариантов «получить немедленную награду за действие плюс ценность того состояния, куда мы перейдём». Длинную задачу про всю траекторию мы свернули в локальное соотношение между соседними состояниями.

Уравнение Беллмана для функции ценности V
Для марковского процесса принятия решений уравнение Беллмана оптимальности записывается так:
Разберём по частям. - немедленная награда за действие в состоянии . - вероятность оказаться в состоянии . - коэффициент дисконтирования: он показывает, насколько мы цените будущее по сравнению с настоящим. При близком к нулю агент жаден и смотрит на шаг вперёд; при близком к единице он терпелив и учитывает далёкую перспективу. Сумма по усредняет ценность следующего состояния по всем исходам.
Если среда детерминированная (действие однозначно ведёт в одно состояние), сумма исчезает и уравнение упрощается:
V против Q - две функции ценности
Рядом с почти всегда встречается функция ценности действия - ожидаемая награда, если в состоянии выбрать действие , а дальше действовать оптимально:
Связь простая: . Разница в удобстве. отвечает на вопрос «насколько хорошо это состояние», но чтобы выбрать действие, нужно знать модель среды и . сразу хранит ценность по парам «состояние-действие», поэтому оптимальная политика читается без модели: . Именно поэтому Q-обучение так популярно в безмодельном обучении с подкреплением.
Полезно держать в голове, что обе функции описывают одно и то же оптимальное поведение, просто с разной «гранулярностью». компактнее: на состояний приходится чисел. хранит чисел для действий, но взамен снимает необходимость заглядывать в модель при выборе хода. На практике выбор между ними диктуется тем, известна ли среда: если модель и под рукой - работают с и планируют; если агент учится из взаимодействия - удобнее .

Уравнение Беллмана для фиксированной политики
Уравнение со знаком описывает оптимальное поведение. Но иногда нужно оценить уже заданную политику - например, чтобы потом её улучшить. Тогда максимум заменяется усреднением по действиям, которые выбирает :
Это уравнение Беллмана для оценки политики (Bellman expectation equation). Для конечного числа состояний оно превращается в систему линейных уравнений и решается напрямую. А чередуя оценку политики с её жадным улучшением, получаем классический алгоритм итерации по политике (policy iteration).
Как из уравнения получаются алгоритмы
Уравнение Беллмана - не только формула, но и рецепт вычисления. Поскольку является неподвижной точкой оператора Беллмана, к ней можно сходиться итерациями. Метод итерации по ценности (value iteration) делает это прямолинейно: начинаем с произвольных и многократно применяем правую часть уравнения как оператор обновления:
Оператор Беллмана является сжимающим отображением с коэффициентом , поэтому последовательность гарантированно сходится к единственной . На практике итерации обрывают, когда максимальное изменение ценности по всем состояниям становится меньше малого порога. Та же идея «разбить на подзадачи и собрать с конца» лежит и в основе алгоритмов на графах - например, в алгоритме Беллмана-Форда для кратчайших путей или в задаче о рюкзаке, где функция ценности - это максимальная стоимость при заданной вместимости.

Маленький пример на пальцах
Возьмём детерминированную среду из трёх состояний в линию: , где - терминальное с наградой за вход , а переходы и дают награду . Пусть . Тогда:
Ценность получилась меньше ценности именно из-за дисконтирования: до награды из идти на шаг дольше, поэтому будущие обесцениваются множителем . Поменяйте - и расклад ценностей сместится: чем терпеливее агент, тем ближе ценности дальних состояний к награде в конце.
Обратите внимание на порядок вычисления: мы посчитали ценности с конца - сначала терминальное , затем , затем . Это и есть динамическое программирование в чистом виде: рекуррентность Беллмана позволяет получить ответ за один проход в обратном порядке, не перебирая траектории. Когда среда содержит циклы и однозначного «конца» нет, прямой проход с конца невозможен - там и выручает итеративный метод: мы применяем оператор Беллмана многократно, пока ценности не перестанут меняться, и сходимость гарантирует сжимаемость оператора.
Частые ошибки
- Путают и . оценивает состояние, - пару состояние-действие. Чтобы выбрать действие по , нужна модель среды; по - нет.
- Берут в бесконечном горизонте. Без дисконта (или терминальных состояний) сумма наград расходится, и уравнение теряет единственное решение. Для эпизодических задач допустимо.
- Путают уравнение оптимальности и уравнение оценки политики. Со знаком - про оптимальное поведение, с усреднением по - про оценку конкретной политики.
- Считают, что одной итерации хватит. Value iteration сходится в пределе; нужно повторять обновление до стабилизации ценностей, а не применять формулу один раз.
- Забывают про дисконт в немедленной награде. Множитель стоит только перед будущей ценностью , а не перед текущего шага.
FAQ
Чем уравнение Беллмана отличается от принципа оптимальности? Принцип оптимальности - это словесная идея: хвост оптимальной траектории сам оптимален. Уравнение Беллмана - её математическая запись в виде рекуррентного соотношения между ценностями соседних состояний.
Почему в уравнении стоит коэффициент дисконтирования ? Он задаёт, насколько агент ценит будущие награды относительно текущих, и одновременно гарантирует сходимость суммы наград в задачах с бесконечным горизонтом. При оператор Беллмана становится сжимающим, что обеспечивает единственное решение.
Как уравнение Беллмана связано с обучением с подкреплением? Q-обучение и SARSA - это способы приближённо решать уравнение Беллмана для по выборкам опыта, без явной модели среды. Обновление Q-значения буквально подтягивает оценку к правой части уравнения Беллмана.
Коротко
Уравнение Беллмана сворачивает задачу про оптимальную траекторию в локальную рекуррентность: ценность состояния равна лучшей немедленной награде плюс дисконтированная ценность следующего состояния. Через функцию оно оценивает состояния, через - пары состояние-действие, а как сжимающий оператор задаёт сходящиеся алгоритмы итерации по ценности и по политике. Это общий мостик между динамическим программированием, оптимальным управлением и обучением с подкреплением.
Читайте также

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

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

Марковский процесс принятия решений (MDP): кортеж и решение
Марковский процесс принятия решений (MDP): кортеж из состояний, действий, переходов и наград, уравнение Беллмана, итерация по ценности и по политике, роль дисконта gamma и связь с RL.