Модуль II·Статья III·~4 мин чтения

Дифференциальные игры с конечным горизонтом

Игры с нулевой суммой и минимакс

Превратить статью в подкаст

Выберите голоса, формат и длину — AI запишет аудио

Дифференциальные игры с конечным горизонтом

Терминальный момент: что происходит «в конце»

В задачах с конечным горизонтом [0, T] состояние системы x(T) имеет особый статус: функция g(x(T)) задаёт «терминальный выигрыш». Это определяет «границы» — наборы начальных состояний x₀, из которых P или E могут гарантировать нужный исход. Математически: функция ценности определяется из HJI с терминальным условием V(x,T) = g(x) и «считается назад» до t = 0.

Структура решения через обратную индукцию

Принцип оптимальности даёт: V(x,t) = min_u max_v {F(x,u,v,t)dt + V(x+f·dt, t+dt)}.

Это «уравнение Беллмана» в обратном времени: зная V при t+dt, вычисляем V при t. Начинаем от T (где V(x,T) = g(x)) и «идём назад».

Для LQ-игр: V(x,t) = xᵀP(t)x (квадратичная по x), P(t) — матрица Риккати-Айзекса, удовлетворяющая ОДУ.

LQ-игра с конечным горизонтом

ẋ = Ax + Bu + Cv, J = xᵀ(T)Gx(T) + ∫₀ᵀ [xᵀQx + uᵀRu − vᵀSv] dt.

Уравнение Риккати-Айзекса:

−Ṗ = AᵀP + PA + Q − PBR⁻¹BᵀP + PCS⁻¹CᵀP, P(T) = G.

(Интегрируем назад по времени от T к 0.)

Оптимальные стратегии (линейные обратные связи):

u*(t) = −R⁻¹Bᵀ P(t) x(t) v*(t) = S⁻¹Cᵀ P(t) x(t)

Условие разрешимости: уравнение Риккати должно иметь решение на всём [0,T]. При больших T (или больших C) решение может «взорваться» — значение игры не ограничено.

Зоны выживания и захвата

Для задач с терминальной «мишенью»: T = «целевое множество» (например, шар вокруг E).

V(x, T) = 1 если x ∈ T, иначе −1.

Функция ценности принимает значения в {−1, +1}: P захватил (±1 для P) или E убежал.

Reach-Avoid множество: начальные условия x₀, из которых P может гарантировать захват. Граница = барьерная поверхность.

Вычисление: level-set метод (Hamilton-Jacobi toolbox). V(x,t) = 0 — граница. V(x,t) < 0 — зона P, V(x,t) > 0 — зона E.

Полный разбор: двумерная игра захвата

Система: ẋP = uP, ẋE = uE, |uP| ≤ αP, |uE| ≤ αE. Захват: |xP − xE| ≤ l.

Заменим переменную: r = xP − xE (относительное положение). ṙ = uP − uE.

J = 0 если |r(T)| ≤ l (захват), 1 иначе (уклонение).

Простейший 1D-случай (r ∈ ℝ): HJI: ∂V/∂t + min_u max_v [(u−v) ∂V/∂r] = 0.

Функция ценности V(r,t): V = 0 если |r| ≤ l, и V(r,t) = V(|r| − (αP−αE)(T−t), T) для |r| > l.

При αP > αE: P захватывает E если |r(0)| ≤ l + (αP−αE)T. Зона захвата растёт с T.

При αP < αE: зона захвата — только |r(0)| ≤ l (уже захвачен), E убегает.

Численные методы для HJI

Метод конечных разностей: дискретизация по x на сетке, интегрирование HJI назад по t.

Требования: монотонная (upwind) схема для правильного вязкостного решения. Число точек: O((1/h)^n) — экспоненциально от размерности!

Проклятие размерности: для n=4 и шаге h=0.1: 10⁴ = 10,000 точек — выполнимо. Для n=6: 10⁶ — сложно. Для n=10: невозможно.

Выходы:

  • Deep learning для HJI (DeepReach, 2021): нейросеть аппроксимирует V(x,t) → работает в высоких размерностях
  • Линеаризация: V ≈ xᵀP(t)x (LQ-приближение)
  • PINN (Physics-Informed Neural Networks): обучение нейросети удовлетворять HJI как физическому ограничению

Задачи с фиксированным временем

В играх с конечным горизонтом важны несколько вариантов терминальных условий:

  • Фиксированное T, свободное x(T): V(x, T) = g(x) — задача с терминальной стоимостью
  • Фиксированный xT: достичь заданного состояния — V(xT, T) = 0, V(x, T) = +∞ для x ≠ xT (вырождение)
  • Свободное T (момент остановки): T определяется первым моментом, когда x(T) попадает в целевое множество — игры с моментом остановки

Принцип динамического программирования

Принцип оптимальности Беллмана для игр: V(x, t) = inf_u sup_v {∫_t^{t+δ} F dτ + V(x(t+δ), t+δ)}. Это локальное условие порождает уравнение HJI и связывает значения в разные моменты времени. Решение — вязкостное решение HJI с терминальным условием V(x, T) = g(x), интегрируемое назад от T до 0.

Reachability и зоны достижимости

Для практических задач безопасности часто важен не оптимум, а множество достижимости — какие состояния x игрок может гарантировать в момент T при наихудшей стратегии противника. Это решается через signed distance: определяем V(x, T) как расстояние со знаком до целевого множества и решаем HJI назад. Уровневое множество {V ≤ 0} — зона гарантированного достижения.

Применения

Дифференциальные игры с конечным горизонтом — основа задач безопасной навигации квадрокоптеров (Tomlin, Mitchell), маневрирования военных самолётов (Air Combat Maneuvering), обхода препятствий автономным транспортом, управления реактором на конечном временном окне. Библиотеки helperOC, hj_reachability реализуют эти алгоритмы для размерностей до 5-6.

§ Акт · что дальше