欢 迎 访 问 卢 昌 海 个 人 主 页

除了自己的无知,
我什么都不懂。

-苏格拉底

 
信 息
 
 
 
All English Contents
作品列表 | 电子图书
站长简介 | 常见问题
版权说明 | 电子邮箱
 
统 计
 
 
 
自 2008-02-01 以来
本文点击数
17,968
自 2008-02-01 以来
本站点击数
33,580,398
昨日点击数 5,942
今日点击数 925
 
备 注
 
 
 

本文收录于《因为星星在那里: 科学殿堂的砖与瓦》 (清华大学出版社, 2015 年 6 月出版)。

站长在 Bluesky 新开了微博帐号
▷▷▷ 敬请关注 ◁◁◁

从巴西的蝴蝶到德克萨斯的飓风

- 卢昌海 -

本文系应《科幻世界》杂志的约稿而写, 但内容略多于提交给《科幻世界》的版本 (即 发表稿), 并且包含了后者因篇幅所限而略去的注释。 本文在行文结构上与 发表稿 也有一定差异。

一. 决定论

在 “时间旅行: 科学还是幻想?” 一文的 第 4 节 中, 我们曾提到混沌理论中的一个概念: 蝴蝶效应 (butterfly effect)。 这个效应也被称为对初始条件的敏感依赖性, 指的是在某些——通常是非线性的——物理体系中, 初始条件的细微改变有可能对体系的未来演化产生巨大影响。 它的一种很富诗意的形容, 是说巴西的一只蝴蝶拍动翅膀产生的空气扰动, 有可能演变成美国德克萨斯州的一场飓风。 这也是蝴蝶效应这一名称的主要由来。 本文将对这一概念及其历史做一个简单介绍。

我们知道, 人类描述自然的努力, 很大程度上体现在对自然现象的时间演化进行描述上。 这种描述在许多方面都取得了很大的成功。 早在 300 多年前, 英国科学家牛顿 (Isaac Newton) 就建立了我们称为牛顿力学的理论体系, 对小至钟摆、 陀螺, 大至行星运动的各种自然现象的时间演化做出了极为精确的描述。 1846 年, 天文学家们在牛顿力学所预言的位置近旁发现了几十亿公里之外的太阳系第 8 大行星——海王星, 成为牛顿力学最辉煌的成就之一[注一]

牛顿力学的成功, 除了体现在对某些自然现象时间演化的极为精确的描述外, 还留下了一个非常重要的遗产, 那就是决定论的思想。 按照这一思想, 从一个物理体系在某一时刻的状态, 可以推算出它在任何其它时刻的状态。 人们后来知道, 牛顿力学本身只适用于描述一定范围内的力学现象, 但它所留下的决定论思想却适用于几乎所有已知的物理定律, 甚至在一定程度上包括了被公认为是非决定论性的量子力学[注二]

那么, 决定论思想所具有的如此广泛的适用性, 是否意味着我们在原则上可以对物理现象作出精确预言呢? 在很长一段时间里, 答案被认为是肯定的。 但是, 与这种被认为原则上可以做到的精确预言形成鲜明对比的, 是实际上能精确求解的物理问题的稀少。 以天体运动为例, 人们能精确求解的只有二体问题。 一旦把太阳、 地球和月球这三个最熟悉的天体同时考虑进去, 就没法精确求解了[注三]。 又比如流体运动, 能精确求解的只有一些非常理想的情形, 一旦把象粘滞性那样最常见的现实性质考虑进去, 也就没法精确求解了。 物理学家们能精确求解的问题, 大都附加了各种简化条件。 而真正的自然现象几乎从来都不满足那些条件, 从而几乎没有一个是能精确求解的。

幸运的是, 在那些无法精确求解的问题中, 有一部分非常接近于某些能精确求解的问题。 比如地球绕太阳的运转, 所有其它天体的影响都相当微小, 因此这一问题非常接近于能精确求解的二体问题。 而且这两者的差异还可以通过各种手段加以弥补。 正是由于这些近似手段——包括数值近似——的存在, 使得物理学家们虽然很少能精确求解问题, 却依然能对很多自然现象的演化做出非常成功的描述。

二. 早期研究

但是, 任何近似手段都必然有误差, 因此近似手段的有效性有赖于对误差的控制。 随着研究的深入, 物理学家们开始遇到了一些无法用近似手段来有效处理的问题。 这些问题中有许多都具有蝴蝶效应, 它使误差变得不可控制。 19 世纪末, 法国科学家庞加莱 (Henri Poincaré) 在对三体问题的研究中发现了一些这样的问题。 他在《科学与方法》一书中写道: “初始条件的微小差异有可能在最终的现象中导致巨大差异”, “预言变得不可能”。 这或许是对蝴蝶效应最早的明确描述[注四]。 除三体问题外, 流体力学中的湍流问题也是一种无法用近似手段来有效处理的问题。 据说德国物理学家海森堡 (Werner Heisenberg) 曾经表示, 有机会向上帝提问的话, 他想问上帝为什么会有相对论? 以及为什么会有湍流? 他并且补充说: “我确信上帝知道第一个问题的答案”——言下之意是上帝也未必知道为什么会有湍流。

当科学家们接触到包含蝴蝶效应的问题或现象时, 科幻小说家们也在用自己独特的方式描述着类似的现象。 比如 1955 年, 美国科幻小说家阿西莫夫 (Isaac Asimov) 写了一部小说, 叫做《永恒的终结》(The End of Eternity)。 在这部小说中, 阿西莫夫描述了一群生活在物理时间之外的人, 他们可以对人类历史进行修正, 使其更加完美。 但他们企图为人类创造一个完美历史的努力, 在无形中扼杀了人类的创造与探索能力, 使其在与外星生命的竞争中一败涂地。 幸运的是, 人类后来发现了这一点, 并通过时间旅行的手段挽回了一切。 在这部小说中阿西莫夫提到: 对历史的每一次微小改变, 都有可能以一种无法精确预言的方式改变数百万人的人生轨迹, 这与蝴蝶效应的表述显然有着极大的相似性。 这种出现在科幻小说中的近乎先知先觉的描述, 初看起来很令人吃惊, 其实并不奇怪。 因为现实世界本身就是一种最复杂的自然现象, 象蝴蝶效应那样的东西, 远在它成为科学研究的对象之前, 就早已出现在了人们的日常经验中。 所谓 “差之毫厘, 谬之千里”、 “牵一发动全身” 等, 都在一定程度上体现了这种效应。

但从那些日常体验上升为明确的理论表述, 则是一个困难得多的问题。

从 19 世纪末到 20 世纪中叶, 经过庞加莱、 利雅普诺夫 (Aleksandr Lyapunov)、 弗兰克林 (Philip Franklin)、 马科夫 (Andrei Andreevich Markov)、 伯克霍夫 (George David Birkhoff) 等人的一系列研究, 人们对这个困难得多的问题终于有了一定的认识。 人们发现, 对于满足一定条件的物理体系来说, 只有周期性或近周期性 (near periodic) 的运动才不会因为初始条件的细微改变而产生剧烈变动。 依照这个结果, 如果运动是非周期性的, 那么初始条件的细微改变就会对体系的演化造成巨大影响。 因此, 这个结果不仅确立了蝴蝶效应的存在, 而且还对它的产生条件给出了一定的描述。 但是, 那时侯人们最感兴趣的只是周期运动, 因此有关非周期运动的结果虽可作为推论得到, 在当时的学术文献中却极少提及。 正因为如此, 十几年后当美国科学家洛伦兹 (Edward Norton Lorenz) 在数值计算中再次遭遇蝴蝶效应的时侯, 依然感到了极大的惊讶。 也正因为如此, 发现蝴蝶效应的荣誉在很大程度上被后人归到了洛伦兹的头上。

三. 模拟天气

洛伦兹是一位资深的气象学家, 早在二战时期就在美国军方机构从事气象预测研究。 战争结束后, 洛伦兹来到了麻省理工学院 (MIT), 继续从事研究工作。 从理论上预测气象变化——尤其是给出长期预测——是气象学家们梦寐以求的目标。 但这一目标的实现却始终困难重重。 这种困难是不难理解的, 因为地球的大气层是一个巨大的流体系统, 所有流体力学所具有的复杂性, 包括那个连上帝也未必知道起源的湍流问题, 都会出现在大气层中。 更何况, 大气层的行为与海洋、 地表、 日照等各种复杂的外部条件都有着密切关系; 而且大气层的组成相当复杂, 其中有些组成部分——如水汽——的形态还常常会在气态、 液态、 及固态之间变化。 所有这一切, 都使得气象预测成为了一个极其困难的课题。

在洛伦兹从事气象研究的时侯, 从理论上预测气象变化主要有两类方法。 一类被称为动力气象学 (dynamic meteorology), 这类方法主要是把大气层看作一个流体系统, 然后选取一些重要的物理量——如温度、 风速等——进行研究。 由于问题的高度复杂, 人们还把大气层像切蛋糕一样分割成许多区域, 每个区域都用一个点来代表。 显然, 这是极其粗糙的近似, 但即便如此, 整个大气层的状态往往还是需要几百万甚至更大数目的变量来描述[注五]。 换句话说, 即便是求解一个非常粗糙的气候模型, 往往也需要处理带有几百万个未知数的方程组。 这无疑是极其困难的 (但不是完全没有希望的)。 除了动力气象学外, 还有一类方法被称为天气学 (synoptic meteorology), 这类方法的特点是把对气候影响最大的一些大气结构, 比如各种气旋, 直接作为研究对象。 天气学所使用的规律, 有许多是描述那些大气结构的经验规律, 而不是象流体力学那样系统性的物理理论。 从这个意义上讲, 天气学不如动力气象学那样基本。 但天气学的优点, 是把从动力气象学角度看非常复杂的某些大气结构作为了基本单元, 从而有着独特的简化性。

洛伦兹所采用的主要是天气学方法。 经过大量的简化后, 洛伦兹得到了一个含有 14 个变量, 且其中有一到两个变量的影响可以忽略的模型。 但即使那样的模型用手工计算也是非常困难的, 于是洛伦兹决定借助计算机的帮助。 当时是 1959 年, 距离个人计算机的问世还有二十几年。 洛伦兹所使用的机器用今天的标准来衡量是极为简陋的: 体积庞大, 噪音惊人, 内存却只有今天普通个人计算机内存的百万分之一。 经过几个月的努力 (主要是编程), 洛伦兹终于在那台机器上运行起了他的模拟天气。

四. 奇怪的结果

日子平静地流逝着, 洛伦兹与同事们间或地就模拟天气的演变打上一些小赌, 聊以消遣。 终于有一天, 洛伦兹决定对某一部分计算进行更为仔细的分析。 于是他从原先输出的计算结果中选出了一行数据——相当于某一天的天气状况——作为初始条件输入了程序。 机器从那一天的数据开始了运行, 洛伦兹则离开了办公室, 去喝一杯悠闲的咖啡。 中国的神话故事中有所谓 “洞中方一日, 世上已千年” 的传说, 洛伦兹的那杯咖啡就喝出了那样的境界。 一个小时后, 当他回到实验室时, 他的模拟世界已经运行了两个月。 洛伦兹一看结果, 不禁吃了一惊! 因为新的计算结果与原先的大相径庭。

这一结果为什么令人吃惊呢? 因为这次计算所用的初始条件乃是从旧数据中选出来的。 既然初始条件是旧的, 所得的结果——在与旧数据可以比较的范围内——理应也跟旧数据相同, 却怎么会大相径庭呢? 洛伦兹的第一个反应是机器坏了——这在当时是经常发生的事情。 但是, 当他对结果做了更仔细的检验后, 很快排除了那种可能性。 因为他发现, 新旧计算的结果虽然最终大相径庭, 但在一开始却很相似, 两者的偏差是在经过了一段指数增长过程之后才彻底破坏相似性的。 如果机器坏了, 是没有理由出现这种 “有规律” 的偏差的。

既然机器没有问题, 那么究竟是什么原因造成了新旧计算之间的巨大偏差呢? 洛伦兹很快找到了答案。 原来, 洛伦兹的程序在运行时保留了十几位有效数字, 但在输出时为了让所有变量的数值能打印在同一行里, 他对每个变量都只保留了小数点后 3 位有效数字。 因此, 当洛伦兹把以前输出的数据——即所谓旧数据——作为初始条件输入新一轮计算时, 它与原先计算中保留了十几位有效数字的数据相比, 已经有了微小的偏差。 洛伦兹的计算表明, 在他的模拟系统中, 这些微小的偏差每隔 4 天就会翻一番, 直至新旧数据间的相似性完全丧失为止。

这正是蝴蝶效应!

由于蝴蝶效应的存在, 洛伦兹意识到长期天气预报是注定不可能有高精度的。 因为我们永远不可能得到绝对精确的初始条件, 而且由于任何计算设备的内存都是有限的, 我们在计算过程中也永远不可能保留无限的精度, 所有这些误差都会因蝴蝶效应的存在而迅速 (指数性地) 扩大, 从而不仅使一切高精度的长期气象预测成为泡影, 而且葬送了建立在决定论思想之上的对物理现象进行精确预言的梦想[注六]

蝴蝶效应的发现还让洛伦兹回忆起一件他念本科时发生的事情。 那是在 20 世纪 30 年代, 当时他所在的镇上有许多学生迷上了弹球游戏 (pinball game), 那是一种让小球在一张插有许多小针的倾斜桌子上经过多次碰撞后进入特定小孔的游戏。 当地政府曾想以禁止赌博为由禁止这种游戏, 但游戏的支持者们争辩说这不是赌博, 而是一种有关击球准确度的技巧比赛。 他们的理由一度说服了政府官员, 因为当时大家并不知道弹球游戏其实包含了蝴蝶效应, 从而无论多高明的技巧都是无济于事的。

五. 从蝴蝶到飓风

发现蝴蝶效应后的第二年, 即 1960 年, 洛伦兹在一次学术会议上粗略地提及了自己的发现, 但没有发表详细结果。 会议之后, 洛伦兹感到自己的模型仍然太复杂, 他决定寻找更简单的模型。 1961 年, 他从同事索兹曼 (Barry Saltzman) 那里得到了一个只含 7 个变量 (即比他自己的模型少了一半的变量) 的流体力学模型[注七]。 经过研究, 洛伦兹很快发现, 在索兹曼的模型中, 有 4 个变量的数值很快就会变得可以忽略。 因此, 这一模型的真正行为可以用一个只含 3 个变量的方程组来描述, 这个只含 3 个变量的方程组后来被冠上了洛伦兹的大名, 称为洛伦兹方程组 (Lorenz equations)。 利用这一方程组, 洛伦兹再次确认了蝴蝶效应的存在[注八], 并于 1963 年在《大气科学杂志》(Journal of the Atmospheric Sciences) 上发表了题为 “确定性非周期流” (Deterministic Nonperiodic Flow) 的论文, 正式公布了自己的结果。

不过, 无论是洛伦兹的原始论文, 还是此后若干年内的其它有关著作, 都没有直接使用 “蝴蝶效应” 这一名称。 洛伦兹本人有时用海鸥造成的大气扰动来比喻初始条件的细微改变。 “蝴蝶” 这一 “术语” 的使用是在 9 年后的 1972 年。 那一年洛伦兹要在华盛顿的一个学术会议上做报告, 却没有及时提供报告的标题。 于是会议组织者梅里利斯 (Philip Merilees) “擅作主张” 地替洛伦兹拟了一个题目: “巴西的蝴蝶拍动翅膀会引发德克萨斯的飓风吗?” (Does the flap of a butterfly's wings in Brazil set off a tornado in Texas?)。 就这样, 美丽的蝴蝶随着梅里利斯的想象飞进了科学术语之中[注九]

洛仑兹奇怪吸引子
洛仑兹奇怪吸引子

除上述原因之外, “蝴蝶效应” 的得名还有另外一个原因, 那就是洛伦兹模型中有一个所谓的奇怪吸引子 (strange attractor), 它的形状从一定的角度看很象一只展翅的蝴蝶 (见右图)。 不过 “蝴蝶效应” 这一名称的最终风行, 在很大程度上要归因于美国科普作家格雷克 (James Gleick) 的科普作品《混沌:开创新科学》(Chaos: Making a New Science)。 这部被译成了多国文字, 对混沌理论 (蝴蝶效应是混沌理论的一部分) 在世界范围内的热播起了极大促进作用的作品第一章的标题就是 “蝴蝶效应”。 2004 年, 蝴蝶效应甚至被搬上了银幕, 成为一部科幻影片——虽然是不太成功的影片——的片名。

蝴蝶效应及混沌理论在世界范围内的风行, 一度使许多人产生一种错觉, 以为物理学的又一次革命到来了。 在这种 “激情” 的鼓舞下, 这一领域涌现出了大量文章, 其中包括不少低水平及浮夸的工作。 从物理学的角度讲, 蝴蝶效应及混沌理论并不包含新的原理性的东西, 它们对物理学的最大启示是: 形式上简单的物理学定律有可能包含巨大的复杂性, 从而有可能解释比我们曾经以为的更为广阔的自然现象。 这一点早在洛伦兹的论文发表之前, 就已经被一些物理学家注意到了。 20 世纪 60 年代初, 美国物理学家费曼 (Richard Feynman) 在给本科生讲课——那些课程的内容后来汇集成了著名的《费曼物理学讲义》(The Feynman Lectures on Physics)——时, 就非常清晰地阐述了这一点。 他在介绍了流体力学中的若干复杂性之后这样写道:

对物理学怀有莫名恐惧的人常常会说, 你无法写下一个关于生命的方程式。 嗯, 也许我们能够。 事实上, 当我们写下量子力学方程式 Hψ = i∂ψ/∂t 的时候, 我们很可能就已在足够近似的意义上拥有了这样的方程式。 我们刚才就看到了事物的复杂性可以多么容易且富有戏剧性地逃脱描述它们的方程式的简单性。

费曼曾经希望人类的下一次智力启蒙会带给我们理解物理定律复杂内涵的方法。 混沌理论的发展部分地体现了费曼的希望, 但今天我们对这一领域的了解, 在很大程度上依赖于计算技术的发展, 与真正的智力启蒙还有一定的距离。 真正的智力启蒙究竟会出现在什么时候? 也许就像洛伦兹的天气一样, 谁也无法准确预测, 但我们会拭目以待。

注释

  1. 不过后来的研究表明, 海王星在距离理论预言非常近——相差不到 1°——的位置上被发现有一定的偶然性。 关于这一点, 可参阅拙作 寻找太阳系的疆界第 20 节
  2. 量子力学的状态演化是决定论性的, 但量子测量过程是否也是决定论性的, 则有一定的争议 (虽然非决定论性的观点明显占优)。
  3. 这还是在假定引力是由牛顿万有引力定律所描述的情况下, 如果改用广义相对论, 则连二体问题也无法严格求解。
  4. 不过《科学与方法》是一部科学哲学著作, 庞加莱在自己的学术论文中并未明确表述过类似的结论。
  5. 举个例子来说, 如果把大气层用长、 宽、 高分别为 100 公里、 100 公里、 及 100 米的单元进行分割, 则描述整个大气层——假定高度为 30 公里——的温度与风速所需的变量总数大约为 500 万。 分割越细、 引进的物理量越多, 所需的变量数目也就越大。
  6. 严格地讲, 由于无法得到精确的初始条件, 以及无法在计算过程中保留无限的精度, 即便没有蝴蝶效应, 绝对精确的预言也是不可能的。 但在没有蝴蝶效应的情况下, 误差的影响往往是可控制的, 蝴蝶效应的出现使误差的影响变得不可控制。 另外需要说明的是, 这里所说的 “葬送了建立在决定论思想之上的对物理现象进行精确预言的梦想” 与建立在微分方程解的存在及唯一性基础之上的决定论本身不是一回事, 后者不会因为蝴蝶效应而破灭。
  7. 索兹曼与 20 世纪上半叶的那些科学家一样, 对周期运动更感兴趣, 因此没能在自己的模型上做出像洛伦兹那样的发现, 虽然他在自己的模型中也已经发现了一些非周期性的解。
  8. 在这一点上, 洛伦兹很受幸运女神的眷顾。 他的方程组中含有一个被称为普朗特常数 (Prandtl constant) 的参数, 这个参数对于水大约为 10, 对于空气则大约为 1。 洛伦兹与索兹曼都是气象学家, 他们采用的数值原本应该是对应于空气的 1, 但实际上两人却都采用了对应于水的 10。 后来的研究发现, 如果当时他们采用了对应于空气的普朗特常数, 那个模型的解将是周期性的, 洛伦兹将不可能得到他所需要的结果。
  9. 不过那篇演讲的全文当时并未发表。 另外需要提醒读者的是: 蝴蝶效应的这一通俗表述有一定的误导性, 容易让人以为在 “蝴蝶拍动翅膀” 与 “德克萨斯的飓风” 之间存在直接的因果联系。 事实上, “蝴蝶拍动翅膀” 和 “德克萨斯的飓风” 只是泛指初始条件的细微改变和体系未来演化的巨大变化, “德克萨斯的飓风” 的物理起因有赖于无数的因素, 绝非只是 “蝴蝶拍动翅膀”。

参考文献

  1. E. A. Jackson, Perspectives of Nonlinear Dynamics vol.1 (Cambridge University Press, 1989).
  2. E. N. Lorenz, The Essence of Chaos (University of Washington Press, 1995).

相关链接

站长近期发表的作品

本文的讨论期限已过, 如果您仍想讨论本文,
请在每个月前七天的 “读者周” 期间前来讨论。

>> 查阅目前尚在讨论期限内的文章 <<