logistic映射:人口增长、混沌与一个奇特译名

课本上的回忆

在人教版生物必修3《稳态与环境》关于种群的一节中提到过两种描述种群个体数量增长的模型,分别是指数增长的「J」型曲线与
有环境容纳量(K值)的「S」型曲线,但课本并未给出后者的具体解析式,只是笼统地概括了其特点。在一些参考书上,则进一步描述了其增长速率特征,即在个体数量为K/2时增长速率最大。

就在这个看似简单的模型背后,藏着许多令人诧异的现象。


有限的人口增长

logistic映射是一种离散递推关系,定义为

\[
x_{n+1} = rx_{n}(1-x_n)
\]

其中,$x_{n}$ 为个体数量,$n$为时间,r为一个由增长率决定的参数,会对曲线形状有着极大的影响。

实际上,「S型曲线」正是logistic映射(logistic map)的一种特殊情况。课本上的「S」型曲线为r=1时连续化的情况,即logistic函数(logistic function)的标准形式:

\[
f(x)=\frac{1}{1+e^{-x}}
\]

由于

\[
1-f(x)=f(-x)
\]

所以其图象关于点$(0,\frac{1}{2})$对称,且其导函数

\[
\frac{d}{dx}f(x)=\frac{e{-x}}{(1+e{-x})^2}
\]

为偶函数,且当且仅当$x=0$时有最大值,也就是「K/2时增长最快」的由来。

1838年,皮埃尔·弗朗索瓦·韦吕勒(Pierre François Verhulst)发表了一个用于描述人口增长的模型。在这个模型中,人口的增长率同时与现有人口和可用资源成正比。随着人口的逐渐增长,可用资源将逐渐枯竭,导致增长率逐渐降低,最终人口会趋近于一个定值。
1911年,A. G. McKendrick重新发现了这个模型中的方程,并验证了其对于描述高汤中细菌数量增长的准确性。此后,这个方程又曾数次被重新发现与改进。它的形式很简洁,为

\[
\frac{dP}{dt}=rP(1-\frac{P}{K})
\]

其中,$P$为人口数量,$t$为时间,$r$为增长率,$K$为环境容纳量。
这是一个常微分方程。令$P_0$为初始人口数量,解得

\[
P(t)=\frac{KP_0 e{rt}}{K+P_0(e{rt}-1)}
\]

这意味着

\[
\lim_{t\to\infty} P(t)=K
\]

可以看出其形式与前文定义的logistic函数是类似的。

在其它领域,logistic映射也有着广泛的用途。在医学上,肿瘤的生长速率可以用它来描述;在化学中,自催化反应(生成物为反应催化剂,如过氧化氢与铁单质的反应)中生成物浓度随时间的变化也符合这种规律;在统计与机器学习领域,同样会用它来拟合数据分布、进行回归分析。


简单而混沌

之前提到,参数r决定了曲线的形状,实则远远不止如此:这个看似简单的递推关系,在某些r值时竟然会具有混沌(chaos)的特征。所谓混沌,即是一种具有一定随机性的、难以预测的行为,「蝴蝶效应」便是最著名的例子。

随着r的变化,系统会由收敛变为幅度逐渐衰减的振荡,再变为幅度恒定的单周期振荡,再是2、4、8、16、32...周期振荡,最后呈现出完全无法预测的混沌行为。

借助以上的分叉图,分析会变得直观许多:

  • $r$=2.9,单周期振荡开始。
  • $r$=3.0,双周期振荡开始。
  • $r$介于3.4与3.5之间时,四周期振荡。
  • $r$介于3.4与3.569946之间时,周期倍增越来越快。
  • $r$=3.569946,混沌开始。

一个如此简单的系统,竟能呈现出如此复杂的行为;即便通过确定的一些条件,有些问题也是难以预测的。但在这混沌之中,也许存在着一些规律。
再分析一下周期倍增的r值,其中下标为$2^{n-1}$周期振荡时r的值:

  • $r/_1$=3.0
  • $r/_2$=3.44949
  • $r/_3$=3.54409
  • $r/_4$=3.564407
  • $r/_5$=3.568758
  • $r/_6$=3.569692
  • $r/_7$=3.569891
  • $r/_8$=3.569934

二十世纪七十年代,物理学家费根鲍姆计算了周期出现速率的增长倍数,惊奇地发现这是一个定值,约等于4.6692016,这后来被命名为费根鲍姆常数,它同样也出现在其它的一些混沌系统中。
由此可见,混沌并不是完全的随机,其中也是存在着一些规律的。


关于「logistic」一词的译名

目前,在大多数有关logistic映射的中文文献与网页中,均将其译为「逻辑斯蒂映射」,包括近日读到的《复杂》一书;在中文维基百科上,logistic map被译作「单峰映象」,logistic function则成了「逻辑函数」;而我个人最初是在英文维基百科上读有关混沌的条目的时发现的logistic map,后来才在某堂生物课上听到Y老师说「逻辑斯蒂映射」。但无论是「逻辑斯蒂」还是「逻辑」,实际上都与logistic一词的原意相去甚远。

最初,logistic一词来自于法语logistique,即法国人韦吕勒最初的命名。

韦吕勒写道,「我们会将这种曲线命名为logistic[1]」。尽管他并未解释这样起名的原因,但显然这个名字与函数解析式中的对数成分[2]有关。

对数(logarithm)一词来自于希腊语logos(比例、计算)与arithmos(数字),由约翰·纳皮尔创造。而logistic也来自希腊语中的logistikos(有关计算的)。在1700年代,logarithm与logistic是同义的。

之后,由于估计军队物资供应需要计算,logistics(后勤、物流)一词拥有了移动、补给部队的含义。

可以看出,logistic一词此处指代的是「对数」或是「计算」,而与「逻辑」没有任何关系。我没有去查找「逻辑斯蒂」一词的译者,他在翻译时是极其不负责任的。

从另一个角度考虑,logistic map暂时也没有好的译名,其缘由无非二者:一,若将「对数映射」或「计算映射」作为其译名,则过于笼统;二,由于创造时年代久远,原词的含义已发生较大变化,在现在看来原语言中的词义也显得模糊不清。中文维基百科中的「单峰映象」一词则描述了其图象形状,算是一种折衷的办法,但也有宽泛的问题。

我个人的建议是,保留logistic的英文拼写或原语言法语的logistique,「逻辑斯蒂」这种强行意译、实则音译的译名我实在是接受不了。

顺带一提,动力系统(dynamical system)也是一个非常糟糕的译名,听着像是工程领域的名词,其实与微分方程组有关,译为「动态系统」会好得多。


参考文献

梅拉妮·米歇尔《复杂》(Complexity: A Guided Tour)
https://en.wikipedia.org/wiki/Logistic_map
https://en.wikipedia.org/wiki/Logistic_function
http://rasch.org/rmt/rmt64k.htm

图片版权

均来自Wikicommons,以CC BY-SA 3.0授权。

推荐书目

梅拉妮·米歇尔《复杂》(Complexity: A Guided Tour),湖南科学技术出版社


  1. 原文为法语,logistique ↩︎

  2. 此处指函数中自然对数的底的指数,即$e^x$。 ↩︎