Модуль V·Статья II·~5 мин чтения
Стохастическое ДП и управление LQG
Стохастическое оптимальное управление
Превратить статью в подкаст
Выберите голоса, формат и длину — AI запишет аудио
Стохастическое ДП и управление LQG
Когда система случайна, оптимальное управление само становится «функцией от случайной истории». Стохастическое ДП обобщает уравнение Беллмана для случая случайных переходов и дисконтированных ожидаемых наград — это математический фундамент обучения с подкреплением (RL). Особый случай — LQG (Linear-Quadratic-Gaussian) — даёт элегантное замкнутое решение через принцип отделения (Joseph-Tou, 1961): оптимальное управление = LQR-регулятор, применённый к оценке состояния от фильтра Калмана. Это исключительный «подарок» гауссовых линейных систем; в общем случае такого разделения нет.
Стохастическое уравнение Беллмана
Задача: max E[Σ_{t=0}^T β^t·r(x_t, u_t)] при x_{t+1} = f(x_t, u_t, w_t), w_t ~ p(w).
Стохастическое уравнение Беллмана: V_t(x) = max_{u ∈ U} [r(x, u) + β·E_{w}[V_{t+1}(f(x, u, w))]].
Обратная индукция: V_T(x) = r_T(x) (терминальный). Для t = T−1, ..., 0: V_t(x) = max_u [r(x, u) + β·Σ_{x'} P(x' | x, u)·V_{t+1}(x')].
Здесь P(x' | x, u) — вероятность перехода. Ожидание E_w интегрирует по случайному шуму.
Бесконечный горизонт: V(x) = max_u [r(x, u) + β·E_w·V(f(x, u, w))]. Это уравнение оператора Беллмана; его решение — единственная неподвижная точка β-сжимающего оператора (теорема Банаха).
Численный пример: задача складского управления
Состояние x ∈ {0, 1, ..., 100} — запас. Действие u ∈ {0, 1, ..., 50} — заказ. Шок спроса d ~ Binomial(20, 0.5) — случайный. Динамика: x_{t+1} = max(0, x_t + u_t − d_t). Награда: r(x, u) = (продажи) − (издержки заказа) − (издержки хранения) = min(x + u, d) − 0.5·u − 0.1·max(0, x + u − d).
VFI на бесконечный горизонт с β = 0.95 даёт политику типа (s, S): «если запас < s, заказывать до уровня S». Численно: s* = 8, S* = 25 для данных параметров.
Принцип отделения в LQG
LQG задача: min E[Σ_{t=0}^T (x_tᵀ·Q·x_t + u_tᵀ·R·u_t)] при стохастической линейной системе: x_{t+1} = A·x_t + B·u_t + w_t, y_t = C·x_t + v_t, где w_t ~ N(0, W), v_t ~ N(0, V), независимы.
Теорема разделения (Joseph-Tou, 1961): Оптимальное управление u_t* = −K·x̂_{t|t}, где:
- K — матрица усиления LQR из детерминированной задачи (решение алгебраического Риккати с A, B, Q, R).
- x̂_{t|t} — оценка состояния от фильтра Калмана с матрицами A, C, W, V.
То есть: задачи управления и оценивания решаются независимо, и их объединение оптимально. Этот результат критически важен — он позволяет использовать обширные библиотеки LQR и Kalman без необходимости совместной оптимизации.
Доказательство (схема). Через принцип динамического программирования и факт, что для линейно-гауссовых систем условное распределение x_t | y_{0:t} полностью описывается средним x̂_{t|t} и ковариацией P_{t|t}, причём P_{t|t} не зависит от управления.
Ограничения: Принцип отделения справедлив только для линейно-гауссовых систем с квадратичной целевой. Для нелинейных или негауссовых задач разделение неоптимально (хотя часто используется как практическое приближение, «certainty equivalence»).
Стохастический MPC (Model Predictive Control)
Идея MPC. На каждом шаге решаем задачу оптимального управления на конечном горизонте {t, ..., t + N}. Применяем только первое управление u_t*, затем пересчитываем с обновлённым состоянием.
Преимущества:
- Естественно учитывает ограничения на u и x.
- Адаптивен: пересчитывает план при изменении условий.
- Применим к нелинейным системам.
Стохастический MPC. Шумы учитываются явно:
- Сценарный подход: генерируем M = 100 сценариев w^{(i)}_{0:N}, решаем задачу для каждого, выбираем робастное.
- Tube MPC: проектируем «трубку» допустимых траекторий, гарантирующую выполнение ограничений при всех допустимых w.
- Chance-constrained MPC: P(C·x_t ≤ d) ≥ 1 − ε — вероятностные ограничения.
Численный пример: LQG для двойного интегратора
Система: A = [1, 1; 0, 1], B = [0.5; 1], C = [1, 0]. Q = I, R = 0.1, W = 0.01·I, V = 0.1. LQR (через scipy.linalg.solve_discrete_are): K ≈ [1.78, 2.45]. Калман (через solve_discrete_are для Aᵀ, Cᵀ, W, V): L ≈ [0.27; 0.10] (gain).
Симуляция 50 шагов от x_0 = (1, 0): LQG-стоимость J = E[Σ x_tᵀ Q x_t + u_tᵀ R u_t] ≈ 4.2. LQR (с прямым доступом к x): J ≈ 3.8. Накладные расходы оценки ~10% — цена незнания состояния.
Обучение с подкреплением (RL) — современное продолжение
Когда модель неизвестна, нельзя считать E[V(f(x, u, w))]. RL заменяет это семплированием:
- Q-learning: Q(x, u) ← Q(x, u) + α·[r + β·max_{u'} Q(x', u') − Q(x, u)].
- DQN (Mnih 2015): Q аппроксимируется нейронной сетью, обученной на батчах из replay buffer.
- Actor-Critic, PPO, SAC: параллельно обучают политику и V/Q.
Это «безмодельные» методы, дополняющие классическую теорию ОУ.
Реальные применения
- HVAC и умные здания. Стохастический MPC балансирует прогноз погоды, цены электроэнергии и комфорт. Экономия 15-30% энергии.
- Управление портфелем. Динамическое распределение активов с учётом стохастических доходностей — задача LQG-типа в линеаризации; в нелинейной форме — стохастический контроль с HJB.
- Управление производственными процессами (нефтепереработка, химия). MPC промышленный стандарт: системы Honeywell APC, AspenTech DMCplus, ExxonMobil PIC. Тысячи установок.
- Автономные автомобили. Tesla Autopilot, Waymo используют MPC в реальном времени для планирования маневров. Учёт неопределённости в движении других машин — стохастический MPC.
- Энергетика. Оптимальное управление электростанцией с возобновляемыми источниками: стохастический спрос, цены, солнечная/ветровая генерация — задача стохастического ДП.
Задание. LQG для двойного интегратора в дискретном времени: A = [1, 0.1; 0, 1], B = [0.005; 0.1], C = [1, 0]. Q = diag(1, 0.1), R = 1, W = 0.01·I, V = 0.1. (а) Используя scipy.linalg.solve_discrete_are, вычислите матрицу LQR-усиления K. (б) Решая задачу для дуальной системы (Aᵀ, Cᵀ, W, V), найдите Калман-гэйн L. (в) Симулируйте замкнутую LQG-систему 100 шагов при x_0 = (1, 0), x̂_0 = (0, 0). Постройте x(t), x̂(t), u(t). (г) Вычислите эмпирическое J = Σ(x_tᵀ Q x_t + u_tᵀ R u_t) усреднением по 100 траекториям. Сравните с теоретическим LQR-минимумом (без шума измерений).
§ Акт · что дальше