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),湖南科学技术出版社