数值法求解微分博弈问题(〇)——定义
引子
关于微分博弈问题,先拿一个简单例子来说明。
比如说猫猫捉老鼠。当猫猫要抓老鼠时,一般都朝着老鼠逃跑的方向追赶,老鼠为了躲避猫猫的追击,会不断地改变自己的行动策略。比如速度时快时慢,逃避的方向也时而变化,避免让猫猫抓到自己。那么对于此时的猫猫来说,就要采取相应的追赶策略,才能成功抓住老鼠。
在这个过程中,猫猫和老鼠采取的不同追赶/逃避策略,即微分博弈中的博弈策略。
“微分”,体现于猫猫和老鼠的运动过程都是通过微分方程描述的。
“博弈”,或称“对策”,体现于自身具备的对策论基本特点,即拥有“局中人”、“策略”、“收益”三种要素。
基本描述
本文使用双方微分博弈来说明微分博弈的定义。
红蓝双方非零和微分博弈可表述为下列形式:
\[\left \{\begin{matrix} \begin{aligned} &\dot{\boldsymbol{x}} = \boldsymbol{f} (\boldsymbol{x}(t),\boldsymbol{u}(t),\boldsymbol{v}(t),t), \\ &\boldsymbol{x}(t_0) = \boldsymbol{x}_0, \end{aligned} \end{matrix} \right.\]式中,$t$ 为博弈时间,$x(t)$ 为红蓝双方的状态变量,$\boldsymbol{u}(t)$ 和 $\boldsymbol{v}(t)$ 分别是甲乙双方的控制量,$\boldsymbol{f}$ 为红蓝双方的非线性模型,$t_0$ 为博弈初始时刻,$\boldsymbol{x}_0$ 为博弈初值。
红蓝双方的目标函数可表示为如下形式:
\[\boldsymbol{J}_i (\boldsymbol{u},\boldsymbol{v}) = \Phi_i(\boldsymbol{x}(t_f),t_f) + \int^{t_f}_{t_0} L_i(\boldsymbol{x}(t),\boldsymbol{u}(t),\boldsymbol{v}(t),t) \text{d}t,\]式中,$i=R,B$ 分别表示红蓝双方,$t_f$ 表示博弈终止时间,$\Phi_i(\boldsymbol{x}(t_f),t_f)$ 表示 Mayer 型目标函数,又称常值型目标函数;,$\int_{t_0}^{t_f} L_i(\boldsymbol{x}(t),\boldsymbol{u}(t),\boldsymbol{v}(t),t) \text{d}t$ 表示 Lagrange 型目标函数,又称积分型目标函数;$\Phi_i(\boldsymbol{x}(t_f),t_f) + \int_{t_0}^{t_f} L_i(\boldsymbol{x}(t),\boldsymbol{u}(t),\boldsymbol{v}(t),t) \text{d}t$ 表示 Bolza 型目标函数,又称混合型目标函数。
在求解目标函数的过程中,红蓝双方都期望分别控制 $\boldsymbol{u}$ 和 $\boldsymbol{v}$ 使得己方目标函数最小。
这也是微分博弈中博弈双方的终极目标。
微分博弈的解
微分博弈的解是指,存在控制变量 $\boldsymbol{u}^*(t) \in \boldsymbol{U}$ 和 $\boldsymbol{v}^*(t) \in \boldsymbol{V}$,使得对于控制变量 $\boldsymbol{u}(t) \in \boldsymbol{U}$ 和 $\boldsymbol{v}(t) \in \boldsymbol{V}$ 满足下列关系:
\[\left \{\begin{aligned} \boldsymbol{J}_1(\boldsymbol{u}^*,\boldsymbol{v}^*) \le \boldsymbol{J}_1(\boldsymbol{u},\boldsymbol{v}^*), \\ \boldsymbol{J}_2(\boldsymbol{u}^*,\boldsymbol{v}^*) \le \boldsymbol{J}_2(\boldsymbol{u}^*,\boldsymbol{v}), \end{aligned} \right.\]上述式子的意思是,对于 $\boldsymbol{J}_1$ 来说,红方取控制量 $\boldsymbol{u}^*(t)$,使得一切取除了 $u^*(t)$ 之外的控制量得到的目标函数 $\boldsymbol{J}_1$ 都不会是最小的,所以控制量必须取 $u^*(t)$ 方可。同理,对于 $\boldsymbol{J}_2$ 来说,蓝方取控制量 $\boldsymbol{v}^*(t)$ ,使得一切除了 $v^*(t)$ 之外的控制量得到的目标函数 $\boldsymbol{J}_2$ 都不会是最小的,所以控制量必须取 $v^*(t)$ 才可以。
更进一步地,对于零和博弈来说,目标函数需要满足如下关系:
\[\boldsymbol{J}_1 = \boldsymbol{J}_2 = \boldsymbol{J}(\boldsymbol{u},\boldsymbol{v}) = \Phi(\boldsymbol{x}(t_f),t_f) + \int^{t_f}_{t_0} L_i(\boldsymbol{x}(t),\boldsymbol{u}(t),\boldsymbol{v}(t),t) \text{d}t,\]而零和微分博弈的解则需要满足下述关系:
\[\boldsymbol{J}(\boldsymbol{u}^*,\boldsymbol{v}) \le \boldsymbol{J}(\boldsymbol{u}^*,\boldsymbol{v}^*) \le \boldsymbol{J}(\boldsymbol{u},\boldsymbol{v}^*),\]$(\boldsymbol{u}^*,\boldsymbol{v}^*)$ 称为微分博弈的鞍点解。
微分博弈的值
定义 $V = \boldsymbol{J}(\boldsymbol{u}^*,\boldsymbol{v}^*)$ 为微分博弈值,并引入上、下 $\delta$ 对策构成的序列对 $G=({G^{\delta}},{G_{\delta}})$。此处 $\delta=(t_f-t_0)/n$,$n$ 是较大整数。
如果 $\boldsymbol{V}^{+}=\lim_{\delta \to 0}\boldsymbol{V}^\delta$ 和 $\boldsymbol{V}^{-}=\lim_{\delta \to 0}V_\delta$ 都存在且相等,则有微分博弈的值:
\[\boldsymbol{V} = \boldsymbol{V}^+ = \boldsymbol{V}^-,\]那么,微分博弈的值又可以表示为:
\[\boldsymbol{V} = \min_{\boldsymbol{u}^\*} \max_{\boldsymbol{v}^\*} \boldsymbol{J} = \max_{\boldsymbol{v}^\*} \min_{\boldsymbol{v}^\*} \boldsymbol{J} = \boldsymbol{J}(\boldsymbol{u}^\*,\boldsymbol{v}^\*).\]微分博弈和最优控制的对比
微分对策可以被看作是由利益相反的双方进行控制的最优控制过程,即双边最优控制问题。文献1总结道:微分博弈和最优控制在1)运动方程、2)初始条件、3)终端条件、4)控制约束条件、5)状态向量、6)控制向量、7)最优控制性能指标泛函和微分博弈的收益、8)Hamilton函数定义、9)最优性必要条件九个方面是十分相似的。
但两者区别在于:
- 微分博弈的控制量可能有多个,例如是双方微分博弈的话,那么控制变量就有两个;如果是多方微分博弈的话,那么控制变量就是多个了。
- 微分博弈要寻找最大值中的最小值和最小值中的最大值,而最优控制则是求最大值或最小值。
总结
至此,便以给出性能指标、控制系统微分方程约束、边界约束和路径约束的数学描述。上述四部分完整定义了最优控制问题。
求解最优控制问题,也就是求解在满足上述三大类约束条件下使性能指标最小的优化问题。
-
是兆雄. 微分对策与最优控制[J]. 自然杂志, 1983(10): 733-740+800. ↩