3.1 logistic映射完整复盘:一只虫口的四种命运


3.1 logistic映射完整复盘:一只虫口的四种命运

本节摘要:logistic 映射只有一行——下一代的虫口等于增长率乘以当前虫口再乘以剩余空间因子,却是混沌研究里最重要的方程。本节从生态建模的动机讲到迭代的手算与机算,推导不动点及其稳定性条件,复盘四种参数区间对应的四种长期命运,并用蛛网图把抽象迭代变成可看的几何。读完后,"参数一改变,命运就改写"这句话将变成你亲手算出的经验。

上一章的判据需要靶子,最合适的靶子就是本节的主角。它在二十世纪七十年代被生态学家罗伯特·梅引入大众视野——一篇发表在顶级期刊的文章标题直白得像宣言:简单数学模型可以有复杂动力学。这句话当时听起来近乎挑衅:一个变量、一个非线性项,能有多复杂?本节的任务就是把这个"多复杂"亲手算出来。

学习目标

阅读完本节,你应当能够:

  1. 写出 logistic 映射并解释每个因子的生态含义;
  2. 对给定参数手算迭代序列,判断长期行为属于四种命运中的哪一种;
  3. 推导不动点公式与稳定性条件,说明参数三处发生的事情;
  4. 绘制并解读蛛网图,把迭代几何化;
  5. 说明为什么这个一维模型成了混沌研究的"果蝇"。

一、模型动机:一年一数代的虫口

模型要回答的问题很朴素:一个孤立的种群,一代一代繁衍,数量怎么走?把世代间隔当作时间步(昆虫一年数代,正好离散计数),当前虫口记为 x,取值归一化到零与一之间(一表示环境能养活的上限)。下一代的虫口由两个因素决定:增长——虫口越多,下一代基数越大,按比例正贡献;拥挤——虫口越接近上限,资源争夺越凶,按剩余空间的比例负贡献。两个因素写在一起就是:x 的新值等于 r 乘 x 乘以一减 x。增长率 r 控制前者的强度,一减 x 这一项执行后者的刹车。就这么一行,没有第二个变量,没有延迟,没有噪声。

值得强调的是这个模型的"不自然"之处恰好是它的优点:真实种群有年龄结构、有天敌、有迁徙,全被砍掉,只留最纯粹的非线性反馈。砍得越干净,产生的任何复杂行为就越无可推诿——复杂性不可能赖给外部因素,只能来自迭代本身。这正是梅那篇文章的论点:连最简单的非线性模型都能翻脸不认人,真实世界更没有理由温顺

二、手算复盘:参数不同,命运不同

取定增长率 r,从一个初值出发反复代入。先手算感受再上代码。以 r 等于二点六、初值零点四为例:第一步得零点六二四,第二步约零点六零九,第三步约零点六一八,第四步约零点六一四——数值在一根轴上来回蹭,越蹭越贴近约零点六一五的一个定值。再以 r 等于三点二、同一初值:数值不再趋于定值,而是分裂成两个交替出现的值,约零点五一与零点八零轮流坐庄——翻一倍周期。r 等于三点五:分裂成四个值轮转——周期四。r 等于三点九:迭代几十步后你看不出任何规律,数值在区间里毫无章法地蹦跳,且再算一遍,只要初值差一点点,蹦跳的顺序就完全不同——混沌。

四种参数区间、四种命运,列表如下:

参数 r 区间 长期命运 轨迹特征
0 到 1 灭绝 虫口单调走向零,拥挤刹车根本用不上
1 到 3 稳定平衡 收敛到不动点,数值不再变化
3 到约 3.5699 周期震荡 先周期二,再周期四、周期八,逐级翻倍
约 3.5699 到 4 混沌 永不重复、对初值敏感,统计上有稳定分布

建议真的拿计算器按几分钟:手算的价值在于让你看见"分裂"是渐变的——r 越靠近临界点,收敛越拖沓(临界慢化),到临界点上干脆永远不落定。这种"越靠近分水岭越犹豫"的现象,第 7.2 节讲临界慢化在神经系统中的信号时还会重逢。

三、定性与定量:不动点与稳定性推导

手算给出印象,推导给出边界。不动点指代进去不再变出的值:x 星等于 r 乘 x 星乘以一减 x 星,非零解为 x 星等于一减一比 r——r 越大,平衡虫口越高,符合直觉。但它稳不稳?看不动点附近的迭代是否把偏差缩小。在不动点附近做线性化:偏差按导数的绝对值缩放,logistic 映射的导数在不动点处等于二减 r。绝对值小于一则偏差逐轮缩小(稳定),大于一则逐轮放大(不稳定)。于是零当 r 小于一(不动点零稳定,种群灭绝),一减 r 的绝对值小于一给出当 r 在一到三之间时正不动点稳定。r 越过三的那一刻,稳定判据翻转——不动点失稳,但系统不会飞走,而是落进一个两步循环:这就是周期二诞生的时刻,也是分岔图(下一节主角)上第一根枝杈的出生证明。

同样的判据向下套用:周期二的环在 r 越过约三点四四九后失稳,让位给周期四;周期四在约三点五四四处失稳让位给周期八。把这一串临界点记作 r1、r2、r3……下一节你会看到,它们的间距以一个近乎神秘的比率收缩——费根鲍姆常数。而全部周期翻倍累积到约三点五六九九,之后区间进入混沌,但在混沌区内部还嵌着一扇扇周期窗口(比如周期三窗口),路线图并不单调。

图 3-1 蛛网图:把迭代画成折线阶梯

图 3-1 蛛网图:把迭代画成折线阶梯

四、变式实验:把代码跑起来并对照手算

手算与推导之后,交给代码做完整的参数扫描验证。下面是自包含的迭代复盘脚本(伪代码风格,任何语言可直接翻译):

# logistic 映射命运判定实验 设定: n_transient = 200 (抛弃前 200 步暂态) n_sample = 300 (记录后续 300 步) 对 r in [2.0, 3.9] 每隔 0.1: x = 0.4 (统一初值, 便于横向对比) 重复 n_transient 次: x = r * x * (1 - x) 收集后续 n_sample 步的 x 值, 去重(容差 1e-3) r = 2.0 -> 去重后剩 1 个值 (0.5) 稳定 r = 2.6 -> 剩 1 个值 (约 0.615) 稳定 r = 3.2 -> 剩 2 个值 (约 0.513 与 0.799) 周期二 r = 3.5 -> 剩 4 个值 周期四 r = 3.9 -> 剩约 300 个互异值 混沌

这份数值清单与前文手算、推导完全对账:不动点公式预言的稳定边界 r 等于三,在实验里正好是"一个值变两个值"的位置。三个独立途径(手算、线性化、机算)咬合在同一结论上,这就是数值实验复盘追求的三角验证。变式建议两个:其一,把初值从零点四换成零点八重跑,你会发现在稳定与周期区里结论不变(殊途同归),而在混沌区里逐点数值完全不同(路径各异)——同一实验顺手验证了初值敏感性;其二,把 r 调到三点八二八附近,观察去重后剩三个值——你偶然路过了著名的周期三窗口,它也是下一篇要请出的"混沌宣言"的主角。

给两个常见疑问留个位置。其一,logistic 映射对真实虫口是否适用?严格说它是“一维理想化”——世代不重叠、无时滞、参数恒定,真实种群常要引入时滞或年龄结构;它的价值在于用最少的假设展示动力学可能性,而不是精确预报虫口。其二,参数三点九与四只差零点一,结果差别大吗?轨道形态上都是混沌,但不变分布与周期窗口的位置不同——在分岔图上这不是同一根竖线,而是两根。参数位置本身就是命运的一部分,这正是下一节的主题。

本节要点回顾

  • 一行方程:增长率与拥挤刹车的组合足以产生全部复杂行为,复杂性来自迭代本身而非外部因素。
  • 四种命运:灭绝、稳定、周期、混沌,分别对应参数区间零到一、一到三、三到约三点五六九九、以上到四。
  • 稳定性判据:不动点处导数绝对值小于一则稳;logistic 的判据一二减 r 的绝对值,翻转过三即周期二诞生。
  • 蛛网图读法:竖走取值、横走回归,阶梯收紧是稳定,折返跳跃不停驻是混沌。
  • 三角验证:手算、线性化、机算三途同归,是数值实验复盘的标准自检方式。

单点参数的命运已经清楚,下一节把整条参数轴一次扫完——画出那棵著名的分岔树,并测量藏在分裂间距里的普适常数。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U