随机最优控制理论3: 连续情况的动态规划——HJB方程
前面的一篇文章讲述了如何在一个时间离散的体系下进行动态规划,现在我们对时间连续的体系构建这一套理论,从离散状态下的Bellman Equation,结合经典力学中的最下作用量原理,我们就能得到连续时间下的动态规划方程——Hamilton-Jacobi-Bellman equation (HJB equation).
经典力学框架的回顾
最小作用量原理
考虑一个经典物理系统,一个运动质点的作用量为拉格朗日量对时间的累积: \[ \begin{equation} S(q)= \int_0^{T}L(q,\dot{q},t)dt \end{equation} \] 其中 \(q=q(t)\) 是广义坐标,\(\dot{q} := dq/dt\) 是广义速度。质点从 \(q(0)\) 到 \(q(T)\) 之间有无数条可能的路径,最小作用量原理告诉我们,满足物理学规律的那条路径,将使得作用量取到最小, 利用变分原理 \(\delta S = 0\) \[ \begin{equation} \begin{aligned} 0 &= \delta S(q,t) \\ \Rightarrow 0 &= \delta\int_0^{T}L(q,\dot{q},t)dt \\ &= \int_0^{T} \left(\frac{\partial L}{\partial q}\delta q + \frac{\partial L}{\partial \dot{q}}\delta\dot{q} \right)dt \\ &= \int_0^{T} \frac{\partial L}{\partial q}\delta q dt + \int_0^{T} \frac{\partial L}{\partial \dot{q}}\delta\dot{q}dt \\ &= \int_0^{T} \frac{\partial L}{\partial q}\delta q dt + \int_0^{T} \frac{\partial L}{\partial \dot{q}}\frac{d \delta q}{dt}dt \\ \end{aligned} \end{equation} \] 将等号右边第二项分部积分: \[ \begin{equation} \begin{aligned} \int_0^{T}\frac{\partial L}{\partial \dot{q}}\frac{d \delta q}{dt}dt = \frac{\partial L}{\partial \dot{q}}\delta q|_{0}^{T} - \int_0^{T}\frac{d}{dt}\frac{\partial L}{\partial \dot{q}}\delta qdt \end{aligned} \end{equation} \] 由于变分取到极值的条件是 \(\delta q(0) = \delta q(T)=0\) ,于是代入得到 \[ \int_0^{T} \left(\frac{\partial L}{\partial q}-\frac{d}{dt}\frac{\partial L}{\partial \dot q}\right)\delta q dt = 0 \] 由于积分是任意的,所以括号里的被积函数必须为0,于是得到欧拉-拉格朗日方程: \[ \frac{\partial L}{\partial q}-\frac{d}{dt}\frac{\partial L}{\partial \dot q} = 0 \] 其中,\(\partial L/\partial q\)称为广义力,\(\partial L/\partial\dot{q}\) 称为广义动量,因此拉格朗日方程这就是牛顿第二定律的高级版本。由拉格朗日方程解出来的 \(q^* = q^*(t)\) 为真实世界的运动轨迹,也就是满足最小作用量的最优路径。
Hamilton-Jacobi方程
我们注意到,最小作用量原理,是一个过程量,也就是说,只要 \([0,T]\) 整个时间区间的过程中,如果有一个最优粒子的运动轨迹 \(q^*(t)\),使得这个区间内的作用量是最小的,那么\([0,T]\) 区间内的最优轨迹 \(q^*(t)\) 在 \([t1,t2]\in [0,T]\) 应该也是让作用量取到最小,也就是对于时间区间 \([0,t]\) 的作用量 \[ S(q,t) = \int_0^t L(q,\dot{q},\tau)d\tau \] 于是作用量的全微分为: \[ \begin{equation} \begin{aligned} Ldt =dS &= \frac{\partial S}{\partial q}dq+\frac{\partial S}{\partial t}dt \\ &= \frac{\partial S}{\partial q}\dot{q}dt+\frac{\partial S}{\partial t}dt \\ &= \left(\frac{\partial S}{\partial q}\dot{q}+\frac{\partial S}{\partial t}\right)dt \end{aligned} \end{equation} \] 而最小作用量原理下的最优轨迹 \(q^*\) , 满足拉格朗日方程,于是作用量对坐标的偏微分为 \[ \begin{equation} \begin{aligned} \frac{\partial S}{\partial q} &= \frac{\partial }{\partial q}\int_0^t L(q,\dot{q},\tau)d\tau \\ &= \int_0^t \frac{\partial L}{\partial q}d\tau \\ &= \int_0^t \frac{d}{d\tau}\left(\frac{\partial L}{\partial \dot{q}}\right)d\tau \\ &= \frac{\partial L}{\partial \dot{q}}|_{0}^{t} = p(t) \end{aligned} \end{equation} \] 因此 \(p=\partial S/\partial q = \partial L/\partial\dot{q}\),于是我们得到 \[ p\dot{q}+\frac{\partial S}{\partial t}-L = 0 \] 我们定义哈密顿量 \(H(p,q,t)=p\dot{q}-L\) , 于是得到了哈密顿-雅克比方程 \[ \frac{\partial S(q,t)}{\partial t} + H(p,q,t) = 0 \] - Remark: 哈密顿量还可以通过拉格朗日量,由勒让德变换导出一样的结果,并且后者能导出哈密顿量满足的正则方程,由于正则方程不在我们的讨论范围内,这里就略过了。
注意对区间变化的作用量还可以使用这样的定义: \[ S(q,t) = \int_t^T L(q,\dot{q},\tau)d\tau \] 区别在于对哈密顿量的定义里,差一个正负号。后面在推导HJB方程时,我们会使用后者,这里使用前者是遵循经典力学的惯例。因为经典力学中,我们往往知道的边界条件是时间开始时 \(q(0)\) 和 \(\dot{q}(0)\) , 而在最优控制中,我们往往知道的是在时间结束时 \((t=T)\) 时刻的边界值。
Hamilton-Jacobi-Bellman方程
实际上,把离散时间的动态规划推广到连续层面,已经由最小作用量原理,在力学上做过一遍了,我们只要把它推广到任意的最优控制体系中即可。最小作用量原理,实际上就是一个动态规划问题,我们要找出一个最优的路径 \(q^*\), 使得作用量取最小: \[ \begin{aligned} S(q,t) &= \min_{q}\int_0^TL(q,\dot{q},t)dt \\ s.t. & \quad \dot{q} = \dot{q}(q,\dot{q},t) \end{aligned} \] 在这里,我们对广义速度进行控制,来控制质点的运动轨迹,使得系统的作用量达到最小。而在一个更一般化的情况里: \[ \begin{aligned} \text{作用量} &\to \text{收益(max) or 成本(min)} \\ \text{坐标} &\to \text{状态 }x \\ \text{速度} &\to \text{操作 }\pi \\ \end{aligned} \] 这里以累计收益为例,我们定义 Bellman 函数为在最优控制 \(\pi^*\) 下所获得的最大收益: \[ \begin{equation} \begin{aligned} V(x,t) &= \max_\pi \left\{g(x(T))+ \int_t^T r(x(s), \pi(s))ds \right\} \\ s.t. \quad \dot{x} &= f(x,\pi) \end{aligned} \end{equation} \] 其中第一项是终止收益,也是边界条件 \[ V(X_T,T) = g(x(T)) \] 第二项是时间累计的收益,可以看到回报函数 \(r(x,\pi)\) 就是一个广义的拉格朗日量,Bellman 函数就是广义的作用量,我们定义广义的动量 \[ p=-\frac{\partial V}{\partial x} \] 对 Bellman 函数求全微分得: \[ \begin{equation} \begin{aligned} -rdt = dV &= \frac{\partial V}{\partial t}dt + \frac{\partial V}{\partial x}dx \\ &= \frac{\partial V}{\partial t}dt + \frac{\partial V}{\partial x} \dot{x}dt \\ &= \frac{\partial V}{\partial t}dt - p \dot{x}dt \\ \Rightarrow 0 &= \frac{\partial V}{\partial t} + \max_{\pi}(r-p\dot{x}) \end{aligned} \end{equation} \] 定义广义的哈密顿量: \(H=\max_{\pi}(r-p\dot{x})\) ,于是得到了Hamilton-Jacobi-Bellman (HJB)方程: \[ \begin{equation} \left\{ \begin{aligned} \frac{\partial V}{\partial t} + H(x, p,t) &= 0 \\ V(x,T) &= g(x) \end{aligned} \right. \end{equation} \] 这个推广的最小作用量原理称为Pontryagin Maximum Principle。
进一步地,我们将连续时间的动态规划原理,推广到不确定的体系。在具有随机性的体系里,我们寻求一个最优控制 \(\pi^*\), 使得目标收益的期望值取到最大: \[ \begin{equation} \begin{aligned} V(x,t) &= \max_\pi \mathbb{E}_{t,x} \left[ G(X_t^\pi)+ \int_t^T F(X_s^\pi, \pi_s,s)ds \right] \\ s.t. \quad dX_t^\pi &= \mu(X_t^\pi, \pi_t,t)dt+\sigma(X_t^\pi, \pi_t,t) dW_t \end{aligned} \end{equation} \] 其中 \(X_t\) 为伊藤过程,\(W_t\) 为布朗运动(Weiner过程)。这里就不能直接套用确定性系统里的东西了,只能类比,因为求微分的方式要使用伊藤引理: \[ \begin{equation} \begin{aligned} dV &= \left( \frac{\partial V}{\partial t} + \frac{\partial V}{\partial x}\mu + \frac{1}{2}\frac{\partial^2 V}{\partial x^2}\sigma^2 \right)dt+\frac{\partial V}{\partial x}\sigma dW_t \\ V(x,t) &= \max_{\pi} \mathbb{E}_{x,t} \left[ V(x_{t+dt},t+dt) + F(X_t^\pi, \pi_t, t) dt \right]\\ & \Rightarrow \frac{\partial V}{\partial t} + \max_{\pi} \left\{ \frac{\partial V}{\partial x}\mu + \frac{1}{2}\frac{\partial^2 V}{\partial x^2}\sigma^2 + F(X_t^\pi, \pi_t, t) \right\} = 0 \end{aligned} \end{equation} \] Eq. (18) 第一行是伊藤引理,第二行是无穷小形式的动态规划原理,第三行就是最终得到的HJB方程。伊藤引理中的不确定项在求平均值的时候被消掉了: \[ \mathbb{E}_{x,t}\left\{ dW_t \right\} = 0 \] 但观察HJB方程的形式,我们仍然可以定义哈密顿量 \[ H(x,t) = \max_{\pi} \left\{ \frac{\partial V}{\partial x}\mu + \frac{1}{2}\frac{\partial^2 V}{\partial x^2}\sigma^2 + F(X_t^\pi, \pi_t, t) \right\} \] 得到与Hamilton-Jacobi方程完全一样的形式。