自然界最壮观的景象之一出现在日落之后不久的东南亚,那里大群大群的萤火虫完全一致地闪亮。生物学家Hugh M. Smith在本世纪三十年代曾作了如下描述:
“想像有一棵高35英尺到40英尺的树……它的每片叶子上都有一只萤火虫,所有萤火虫都以每两秒钟三次的速率完全同步地闪亮,于是这棵树就一忽儿亮起,一忽儿隐人一团完全的黑暗之中……再想像一段长十分之一英里的河岸密密麻麻地栽满一行美洲红树,每棵树的每片叶子上都有同时闪亮的萤火虫,而两端的树上的萤火虫同中间那些树上的萤火虫也是同时发亮的。这样,只要想像力足够丰富,任何人都可以构想出这样一种引人人胜的壮观景象。”
为什么萤火虫会同步发光?一种理论认为其原因在于生物进化。只有雄性萤火虫才会发光,它们发光是为了吸引雌虫。同时发光有助于把更远处的雌性萤火虫吸引过来,特别是在植被密集的地区—例如东南亚—更是如此。但是数学方面的原因情况又如何呢?
萤火虫利用一种特殊的发光化学物质来产生闪光。这种化学物质在萤火虫体内的供应很充足,但它们只是按照重复的“准备发光”周期一次一点儿地释放这种物质。事实上就好像是萤火虫一旦发光就马上从零起开始计数,等数到100时才再次发光。它的“准备程度”—可以说就是它已经数到了多少—是这一周期的“相位”。
在数学上这样一种周期过程就是一个振荡子(oscillator ),它的自然动态特性使它持续地重复同样的行为。振荡子是周期节律的来源之一,而周期节律在生物学中是一种普遍而重要的现象。人的心脏跳动和肺的呼吸都遵循这种有规律的周期,其节奏可以根据人体的需要加以调整。
为什么系统会振荡呢?这是因为如果你不愿意(或者不能够)始终保持静止,那么你能做的最简单的事就是来回振荡。试想想一只被关在笼子里焦灼地来回踱步的老虎。物理学方面的一个例子则是提琴弦的振动。拨动提琴弦以后,因为它已经离开了其天然的静止位置,所以不可能一直保持不动。但是它也不能随心所欲地乱动,因为它的两端被固定住了。这样提琴弦在这两个限制条件之间随周期性的振荡而振动。
对于萤火虫,振荡是通过一种所谓“整合一触发”的机制产生的。在这一系统中,某种量不断增大(也就是相位增加),直至达到一个阈值。越过这一阈值就导致某一动作突然发生,也就是触发(对萤火虫来说就是发光)。此后该量就返回到零,然后又开始逐渐增加。

图1闪光游戏可以模拟萤火虫的行为。本图从左至右、从上至下示出了游戏开始的一系列步骤。3只萤火虫(用有色圆圈表示)沿顺时针方向运动,接近“闪光”正方形(黄色)。一只萤火虫在到达这个正方形后就发出一道亮光,这道亮光使其他所有萤火虫都朝着自己发光的目标一下子接近了一大步(蓝色线所示)。图中略去了这个游戏的若干步(灰色细线)
但是同步现象是怎样产生的呢?实验室观测和现场观测都证明,某些萤火虫在发现一次闪光时就兴奋起来,而它们自己的相位也突然增加,使它们离阈值更近了。
这样的振荡子被称为“藕合”的,也就是说一个振荡子可以影响其他振荡子的状态。祸合振荡子的经典例子是伟大的荷兰物理学家克里斯蒂安·惠更斯观察到的一个现象—放在同一搁板上的几台摆钟会通过搁板的振动而相互影响。这种相互作用经常使得各摆钟同步摆动,而摆在这位爱打破砂锅问到底的学者面前的任务就是弄清此现象的原因究竟是什么。(注:藕合振荡子并不总是同步的。动物行走时其腿的动作便是一例。每条腿都是一个振荡子,动物的躯体使它们的动作耦合。但它们通常并不是同时移动所有的腿。)
生理学家Charles S. Peskin迈出了认识这种现象的第一步。1975年,通过对心脏肌肉纤维同步现象的研究,他建立了一个整合-触发振荡子的详尽模型。他的研究工作包括一个描述相位如何增大的具体的方程,而这同一个方程也可以用于萤火虫——生理学研究证明,这是闪光周期的一种合理的表示(尽管还不是完全精确的表示)。Peskin模型的一个重要特点是它的振荡子是“脉冲祸合”的:一个振荡子仅在触发时才会影响其他的振荡子。触发后的振荡子发送一个信号给邻近的振荡子,此信号使它们的相位突然增大。如果相位的增加使另一个振荡子越过阈值,那么它也会触发,依此类推。
事实证明,某些萤火虫内的化学物质正是通过这种方式受到来自其他萤火虫的目视信号的影响。当这样一只萤火虫看到另一只萤火虫的闪光时,它就兴奋起来,这使得它更接近阈值。Peskin证明,如果两个完全相同的整合-触发型脉冲祸合振荡子服从他的方程,那么它们最终几乎总是会达到同步。(如果它们的初始相位设定于某些非常特殊的值,那么它们将不会同步发光,而是周期性地交替发光。但是这种状态是高度不稳定的—极微小的扰动就可以把它打乱。)
Peskin还猜想,上述结果可能对任何一种祸合的整合一触发振荡子网络都适用。Renato E. Mirlo和Steven H. Strogatz 1990年发表的一篇论文证明了Peskin是正确的,不过他们运用了一个比Peskin的方程更一般的方程。在同样服从该文中提出的几个技术性假设的条件下,Mirlo和Strogatz证明了,在拥有任意多个相同的整合-触发型脉冲耦合振荡子、且所有振荡子相互间存在藕合的系统中,振荡子最终几乎总是将达到同步。(这里也存在着一组非常特殊的初始条件使振荡子的行为出现周期性交替的情况,但是这些状态也是很不稳定的。)
他们的证明基于一种被称为“吸收”的现象。当两个具有不同相位的振荡子锁定在一起,此后就一直保持相互同步时,吸收就发生了。由于藕合是完全对称的(也就是说,每一个祸合子以完全相同的方式对其他藕合子产生影响),一旦某一组振荡子进人锁定状态,它将一直保持这种状态。在数学上可以证明,一系列的这种吸收最终必定使所有的振荡子锁定在一起。
你可以用一个更简单的模型(即一个人玩的“闪光”游戏)来研究萤火虫系统。这个游戏的玩法是让一些筹码绕着一个正方形的边缘移动。此正方形可以是一个8×8的国际象棋棋盘,10 x 10的Monopy游戏棋盘或者一个自制的6x6正方形(见图1)。闪光游戏仅使用此正方形的周围一圈方格,其中左上角的方格(黄色)规定为阑值即“闪光”方格。从这个方格开始,沿顺时针方向把正方形的四条边分别标以1,2,3,4等数字。用几个筹码表示萤火虫,并把它们随机放在周围一圈方格中。萤火虫的位置表明它的相位。一个筹码离闪光正方形越近(按顺时针方向)那么它离阈限也就越近。萤火虫按照以下规则向阈限移动、到达阈限并发光、然后重新调定化学物质的供应:
第1步:把每个萤火虫沿顺时针方向移动一个方格。虽然操作时只能一次移动一个萤火虫,但你应该把它们想像成是同时移动的(这一步表示相位的逐步增加。)
第2步:当某一个萤火虫到达闪光方格时,把其他每一个萤火虫沿顺时针方向移动一定数目的方格,此数目等于该萤火虫所在的棋盘方格边缘的编号数字。例如,如果一个萤火虫在编号为3的方格上,就把它沿顺时针方向移动3格。但是不要让任何一个萤火虫穿越闪光方格:萤火虫一旦到达闪光方格就必须停下来。(这一步代表脉冲耦合。其他所有萤火虫都注意到有一只萤火虫发亮,这就使它们自己也更接近于阈值。萤火虫的相位越大,它移动的方格数也就越多,这与自然界的萤火虫的行为是一 致的。)
第3步:如果任一萤火虫因为第2步的推动作用而到达闪光方格,则返回第2步的开始,让其他所有萤火虫按照第2步的规则再一次移动。
第4步:回到第1步。注意,如果两个或两个以上的萤火虫到达同一个方格,它们就将实现同步,此后它们就将像一只萤火虫那样移动。在图1所示的过程中,有两只萤火虫达到了这样的同步状态。如果你一直进行下去,你将发现最终所有3只萤火虫都将达到同步。
对于某些尺寸的棋盘,或许有可能发现导致周期性的非同步行为—这种行为对应于Mirlo-Strogatz理论中的不稳定状态一的萤火虫初始排布方案。闪光游戏是一个有限状态模型,它与Mirlo和Strogatz所分析的模型相似,但比后者简单,因此它的行为可能与后者不完全一样。读者们可以继续探索这个游戏。
数模场景征集开始啦,详情请点击右下角主菜单【∞】选择 场景征集 了解详情,一起聊聊你印象中的数学建模
金融工程, 数学算法, 萤火虫, 振荡子