鞍结点分岔
鞍结点分岔(Saddle-Node Bifurcation),又称折叠分岔(Fold Bifurcation)、切线分岔(Tangent Bifurcation)或蓝天分岔(Blue Sky Bifurcation),是非线性系统中最常见的不稳定性机制之一。鞍结点分岔常作为一种局部分岔(Local Bifurcation)出现。
标准型和性质
在数学上,我们可以通过标准型来研究分岔的本质特征。对于一维动力系统(参考一维动力学),鞍结点分岔的最简微分方程形式(标准型)如下[1]
-
[math]\displaystyle{ \dot{x} = r \pm x^2 }[/math]
(1)
- 其中[math]\displaystyle{ x \in \mathcal{R} }[/math]是状态变量,[math]\displaystyle{ r \in \mathcal{R} }[/math]为诱导分岔产生的外部参数。
- 对于实际研究中的更复杂的系统,如[math]\displaystyle{ \dot{x} = r - x - \mathrm{e}^{-x} }[/math],为了将原系统简化为标准型(即忽略高阶项(如 [math]\displaystyle{ O(x^3, r^2) }[/math] 等)的影响),状态变量 [math]\displaystyle{ x }[/math] 和参数 [math]\displaystyle{ r }[/math] 必须限制在局部范围内:
- [math]\displaystyle{ x }[/math] 的取值范围应为不动点 [math]\displaystyle{ x^* }[/math] 的 [math]\displaystyle{ \varepsilon }[/math]-邻域:[math]\displaystyle{ x \in (x^* - \varepsilon, x^* + \varepsilon) }[/math],其中 [math]\displaystyle{ \varepsilon \gt 0 }[/math] 且充分小。
- [math]\displaystyle{ r }[/math] 的取值范围应为临界值 [math]\displaystyle{ r_c }[/math] 的 [math]\displaystyle{ \delta }[/math]-邻域:[math]\displaystyle{ r \in (r_c - \delta, r_c + \delta) }[/math],其中 [math]\displaystyle{ \delta \gt 0 }[/math] 且充分小。
只有在此微小邻域内,泰勒展开后的低阶项才能主导系统的定性行为。具体可参见下文中的推广形式。
鞍结点分岔的关键性质在于,随着系统参数[math]\displaystyle{ r }[/math]的改变,相空间中原本存在的两个不动点(一个稳定,一个不稳定)相互靠近、碰撞并最终相互抵消而消失,导致系统原本的稳定状态不复存在。也可反过来看待,原本状态不稳定的系统因系统参数[math]\displaystyle{ r }[/math]的改变,使其先出现了一个半稳定不动点,最终出现了两个不动点(一个稳定,一个不稳定)。
不动点和稳定性分析
以[math]\displaystyle{ \dot{x} = r - x^2 }[/math] 为例
不动点判断
令[math]\displaystyle{ f(x)=r-x^2 }[/math],令[math]\displaystyle{ f(x)=0 }[/math],当[math]\displaystyle{ r\lt 0 }[/math]时,[math]\displaystyle{ x^* }[/math]无解,也就没有不动点;[math]\displaystyle{ r }[/math]的范围在[math]\displaystyle{ \left [ 0,+ \infty \right ) }[/math]时,解[math]\displaystyle{ x^*=\pm \sqrt{r} }[/math]有实际意义。当[math]\displaystyle{ r=0 }[/math]时,有一个不动点;当[math]\displaystyle{ r\gt 0 }[/math]时,有两个不动点。
不动点稳定性分析
[math]\displaystyle{ f'(x^*)=-2x^* }[/math]。当[math]\displaystyle{ r\gt 0 }[/math]时,[math]\displaystyle{ x^*=\sqrt{r} }[/math],有[math]\displaystyle{ f'(x^*)\lt 0 }[/math],是稳定不动点;[math]\displaystyle{ x^*=-\sqrt{r} }[/math],有[math]\displaystyle{ f'(x^*)\gt 0 }[/math],是不稳定不动点。[math]\displaystyle{ r=0 }[/math]为分岔点,有[math]\displaystyle{ f'(x^*)=0 }[/math]
相图与分岔图
对于[math]\displaystyle{ \dot{x} = r - x^2 }[/math]
相图即[math]\displaystyle{ \dot{x}=f(x) }[/math]的图像,纵坐标为[math]\displaystyle{ \dot{x} }[/math],横坐标为[math]\displaystyle{ x }[/math],展示了系统在参数[math]\displaystyle{ r }[/math]取不同值时可分为三种不同的状态。
分岔图则展示系统参数[math]\displaystyle{ r }[/math]与不动点[math]\displaystyle{ x^* }[/math]的关系。
- [math]\displaystyle{ r\lt 0 }[/math]时没有不动点
- [math]\displaystyle{ r=0 }[/math]时有一个半稳定不动点
- [math]\displaystyle{ r\gt 0 }[/math]时,r的每个取值都对应着一个稳定不动点和一个不稳定不动点,反映到图像上就是这样的曲线。其中实线代表稳定不动点,虚线代表不稳定不动点。
对于[math]\displaystyle{ \dot{x} = r + x^2 }[/math] 情况类似,只是方向发生了调转。
分岔图如下。
推广形式
为了更好地发现在复杂的动力系统中,常以局部分岔的方式出现的鞍结点分岔,我们需要了解它的推广形式。[1]
-
[math]\displaystyle{ \dot{x} = a(r-r_c)+b(x-x^*)^2 }[/math]
(1)
可以看作是一阶参数与二阶自变量的线性组合。
推导过程
将[math]\displaystyle{ \dot x=f }[/math]视为关于[math]\displaystyle{ x }[/math]与[math]\displaystyle{ r }[/math]的函数[math]\displaystyle{ f(x,r) }[/math],对[math]\displaystyle{ x }[/math],[math]\displaystyle{ r }[/math]在[math]\displaystyle{ x^* }[/math]与[math]\displaystyle{ r_c }[/math]处分别进行泰勒展开得到(其中[math]\displaystyle{ r_c }[/math]是临界状态时的[math]\displaystyle{ r }[/math]值)
-
[math]\displaystyle{ \dot{x} = f(x,r) =f\left(x^{*}, r_{c}\right)+\left.\left(x-x^{*}\right) \frac{\partial f}{\partial x}\right|_{\left(x^{*} ; r_{c}\right)}+\left.\left(r-r_{c}\right) \frac{\partial f}{\partial r}\right|_{\left(x ; r_{c}\right)}+\left.\frac{1}{2}\left(x-x^{*}\right)^{2} \frac{\partial^{2} f}{\partial x^{2}}\right|_{\left(x ; r_{c}\right)}+\cdots }[/math]
(1)
其中[math]\displaystyle{ f\left(x^{*}, r_{c}\right)=0 }[/math],且因为[math]\displaystyle{ x^* }[/math]是不动点,由不动点[math]\displaystyle{ x^* }[/math]在临界值[math]\displaystyle{ r_c }[/math]的相切条件可得[math]\displaystyle{ \left. \frac {\partial f}{\partial x}\right|_{\left(x^{*} ; r_{c}\right)}=0 }[/math],再将[math]\displaystyle{ \left. \frac {\partial f}{\partial r}\right|_{\left(x ; r_{c}\right)} }[/math]视为常数[math]\displaystyle{ a }[/math],将[math]\displaystyle{ \left. \frac {1}{2} \frac{\partial^{2} f}{\partial x^{2}}\right|_{\left(x ; r_{c}\right)} }[/math]视为常数[math]\displaystyle{ b }[/math]。忽略后面的高阶项,即可得到[math]\displaystyle{ \dot{x} = a(r-r_c)+b(x-x^*)^2 }[/math]
例子
以[math]\displaystyle{ \dot{x} = r - x - \mathrm{e}^{-x} }[/math]为例
令[math]\displaystyle{ \dot x = 0 }[/math],有[math]\displaystyle{ r-x=\mathrm{e}^{-x} }[/math],找到两曲线相切的点即可得到我们需要的不动点[math]\displaystyle{ x^*=0 }[/math],临界值[math]\displaystyle{ r_c = 1 }[/math]。 在[math]\displaystyle{ x^*=0 }[/math],[math]\displaystyle{ r_c = 1 }[/math]附近,将[math]\displaystyle{ \mathrm{e}^{-x} }[/math]在[math]\displaystyle{ x=0 }[/math]处进行泰勒展开,得到
[math]\displaystyle{
\begin{aligned}
\dot{x} & =r-x-\mathrm{e}^{-x} \\
& =r-x-\left[1-x+\frac{x^{2}}{2!}+\cdots\right] \\
& =(r-1)-\frac{x^{2}}{2}+\cdots
\end{aligned}
}[/math]
案例:云杉蚜虫爆发模型
背景:云杉蚜虫是一种会吃森林树叶的虫子,同时也会被鸟类等动物捕食。[1][2]
当环境参数(如森林承载力、蚜虫增长率)发生微小变化时,系统可能会穿过一个鞍结分岔点。原本被有效控制的低数量的蚜虫种群,会转换到持续爆发的高数量状态。
模型方程
[math]\displaystyle{ \frac{dN}{dt} = rN(1 - \frac{N}{K}) - P(N) }[/math]
- [math]\displaystyle{ N }[/math]为蚜虫的虫群数量,[math]\displaystyle{ K }[/math]为森林的环境承载能力。其中[math]\displaystyle{ K }[/math]是一个变化较慢的参数。
- [math]\displaystyle{ rN(1 - N/K) }[/math] 是虫子的逻辑斯谛增长(参考一维动力学)(Logistic Growth)。
- [math]\displaystyle{ P(N) }[/math] 是被捕食曲线,例如 [math]\displaystyle{ P(N) = \frac{BN^2}{A^2 + N^2} }[/math]。
无量纲公式化处理
以[math]\displaystyle{ \frac{dN}{dt} = rN(1 - \frac{N}{K}) - \frac{BN^2}{A^2 + N^2} }[/math]为例,
由于式中出现了四个参数[math]\displaystyle{ N }[/math]、[math]\displaystyle{ K }[/math]、[math]\displaystyle{ A }[/math](鸟类捕食饱和点)、[math]\displaystyle{ B }[/math](最大捕食率),需要通过无量纲化减少参数数量,同时将参数集中到逻辑斯谛方程的部分,消除捕食率曲线中的参数来便于我们分析。
- 式子两边除以[math]\displaystyle{ B }[/math],令[math]\displaystyle{ x=N/A }[/math]。得到[math]\displaystyle{ \frac{A \mathrm{~d} x}{B \mathrm{~d} t}=\frac{r}{B} A x\left(1-\frac{A x}{K}\right)-\frac{x^{2}}{1+x^{2}} }[/math]
- 引入无量纲时间[math]\displaystyle{ \tau=\frac{B t}{A} }[/math],无量纲参数[math]\displaystyle{ r=\frac{r A}{B} }[/math]与[math]\displaystyle{ k=\frac{K}{A} }[/math]。再根据链式微分法则可到最终的化简方程:[math]\displaystyle{ \frac{\mathrm{d} x}{\mathrm{d} \tau } = rx(1-\frac{x}{k}) - \frac{x^2}{1+x^2} }[/math]
分析过程
[math]\displaystyle{ \frac{\mathrm{d} x}{\mathrm{d} \tau } = rx(1-\frac{x}{k}) - \frac{x^2}{1+x^2} }[/math]
- 令[math]\displaystyle{ \frac{\mathrm{d} x}{\mathrm{d} \tau } =0 }[/math]。生态学背景下,一般假设[math]\displaystyle{ r\gt 0 }[/math]。此时[math]\displaystyle{ x^*=0 }[/math]通常为不稳定不动点,因此分析实际问题时一般关注[math]\displaystyle{ x^*\gt 0 }[/math]的不动点的情况,即
[math]\displaystyle{ r(1-\frac{x}{k}) = \frac{x}{1+x^2} }[/math]
对该方程可转化为求解两条曲线的交点问题。
- 左侧[math]\displaystyle{ y_1(x) = r(1 - \frac{x}{k}) }[/math]是一条穿过[math]\displaystyle{ (0, r) }[/math] 和 [math]\displaystyle{ (k, 0) }[/math] 的直线,斜率为负。
- 右侧[math]\displaystyle{ y_2(x) = \frac{x}{1+x^2} }[/math]从原点出发,先上升后下降,呈单峰状,与参数[math]\displaystyle{ r }[/math],[math]\displaystyle{ k }[/math]无关。
因[math]\displaystyle{ k }[/math]是一个慢变量,所以将其视为一个常数(上图中[math]\displaystyle{ k=10 }[/math]),将[math]\displaystyle{ r }[/math](上图纵坐标)视为主要控制参数。
- 当[math]\displaystyle{ r }[/math]很小时,可看到两条曲线仅有一个交点,且为一个稳定不动点。此时蚜虫数量保持低数量范围。
- 令[math]\displaystyle{ r }[/math]逐渐增大到某个临界值[math]\displaystyle{ r_1 }[/math]时,[math]\displaystyle{ y_1(x) }[/math]与[math]\displaystyle{ y_2(x) }[/math]的下降段相切,出现了一个半稳定不动点。
- 继续增大[math]\displaystyle{ r }[/math],[math]\displaystyle{ y_1(x) }[/math]与[math]\displaystyle{ y_2(x) }[/math]的下降段出现了两个不动点(一个不稳定,一个稳定)。系统将偏移至右侧的稳定不动点,此时蚜虫种群保持高数量水平。
此时这块下降段区域的变化就是鞍结点分岔。
相图如下
分岔图如下
二维系统(以上)
与一维动力系统中的鞍结点分岔类似,二维及以上的鞍结点分岔同样描述了一个稳定不动点和一个不稳定不动点随参数变化相互靠近、碰撞并最终同时消失的过程。鞍结点分岔的形式非常普遍,在环上的鞍结点分岔、无限周期分岔等其他更复杂的分岔类型中,常常在某些局部上出现鞍结点分岔的身影,这里就不予过多讨论,读者可参考相应的词条。
二维标准型
[math]\displaystyle{ \begin{cases} \dot x = \mu - x^2 \\ \dot y = -y \end{cases} }[/math][1]
- [math]\displaystyle{ x }[/math]与[math]\displaystyle{ y }[/math]为状态变量。
- [math]\displaystyle{ \mu }[/math]为分岔参数。
- 一式描述了系统在[math]\displaystyle{ x }[/math]维度上的分岔行为。
- 二式描述了系统在[math]\displaystyle{ y }[/math]维度上的收缩行为([math]\displaystyle{ \lambda_y = -1 }[/math]),表明系统在非分岔方向上是稳定的。
三维以上的标准型与二维类似,仅在某个维度有分岔行为(类似[math]\displaystyle{ \dot x = \mu - x^2 }[/math]),系统在其余维度上稳定(均为类似[math]\displaystyle{ \dot y=ay }[/math]的形式,其中参数[math]\displaystyle{ a\lt 0 }[/math])。
稳定性分析
x方向的不动点分析与一维情况完全类似。随着参数 [math]\displaystyle{ \mu }[/math] 的变化,二维相平面上的拓扑结构经历以下三个阶段:
1. 双不动点共存阶段 ([math]\displaystyle{ \mu \gt 0 }[/math]):
- 稳定不动点 [math]\displaystyle{ (\sqrt{\mu}, 0) }[/math]:在两个特征方向上均表现为吸引,对应系统的一个稳态。
- 不稳定不动点 [math]\displaystyle{ (-\sqrt{\mu}, 0) }[/math]:在 [math]\displaystyle{ y }[/math] 方向吸引,在 [math]\displaystyle{ x }[/math] 方向排斥。
动力学特征:相空间被不稳定不动点分割,大部分轨线最终收敛于稳定不动点。
2. 临界分岔点 ([math]\displaystyle{ \mu = 0 }[/math]): 两个不动点在原点 [math]\displaystyle{ (0,0) }[/math] 处发生碰撞并融合。
3. 不动点消失与幽灵吸引子 ([math]\displaystyle{ \mu \lt 0 }[/math]): 方程在实数域内无解,所有不动点消失。
- 幽灵吸引子 (Ghost Attractor):虽然不动点不再存在,但在原点附近区域,向量场流速极慢([math]\displaystyle{ \dot{x} \approx 0 }[/math])。系统状态在穿过该区域时会发生显著的临界迟滞现象,形成所谓的“瓶颈效应”。