|
手机阅读:简书版本目录
未来,看得清吗?
一个身影急冲冲地跑进了茶餐厅,头上、肩上被雨水打湿了,裤腿上也被溅起的水花弄湿了。外面刚刚下起了瓢泼大雨,密集的雨点重重地砸在地上,外面响起了哗啦啦的声音。坐在座位上的老师抬头一看,正是学生,于是招呼他坐过去。
“怎么?突然下雨了?” 老师问道。
“是啊,我刚刚从教室里出来的时候还没有开始下,可是快走到餐厅突然这雨下下来了。这天气变得比翻书还快!”
“淋湿了衣服?”
“还好不多。昨天晚上看天气预报,说今天只是多云转阴天。这预报也太不准了!”
“哦,天气预报只能参考一下,有时候提前几个小时都预报不准,别说提前一天了。先坐下歇歇,我们先点菜。”
服务员拿来菜单,点完菜后,两人手里已经各有了一杯饮料。天气有点冷,两人都点了热柠檬茶。
雨
“早知这样,我还不如不看天气预报呢,每天带伞出门,总不会被雨浇。 老师,这天气预报怎么越来越不准了呢?”
“哦,你的意思是天气预报的水平在下降?”
“是啊,可是我觉得道理上说不通呀!现在计算机越来越强大、处理器越来越快和内存越来越大,气象卫星分辨率越来越高,天气预报应该越来越准才对。不是吗?”
“应该是的”,老师喝了一口茶接着说,“不过是城市里人类的活动越来越多,城市里很多地方是钢筋混凝土,有些地方是公园绿地,所以产生了热岛效应。再加上到处都是空调,而空调排放出热气又不是那么均匀,所以很难预测准确的气体流动的方向和趋势。而这些仅仅靠卫星和有限的几个气象观测站是很难测量到的。”
“也许吧。可是我还是不理解天气预报为什么预报不准。即使是这样,预测的结果总不至于偏差太大吧。”
老师若有所思地摸着茶杯说道 ,“这个,还真不一定... ...”
“为什么呢?”
“说来话长。还记得我们上次聊天的内容吗?我们聊了过去,这次本来应该聊一下未来了,是吗?”
“是啊,都怪这雨把我浇晕了,我差点都把今天的谈话忘记了。”
“不过正好,这场雨既然来了,我们就从它开始聊起吧,毕竟预测天气也是预测未来的一部分嘛。预测天气和预测物理课上的小球的运动,理论上应该是一回事。”
“哦,为什么呢?”
“在物理课上我们都学过一个小球放在一个斜坡上,放手后我们可以计算出接下来的每个时刻小球的速度和位置。我们只需要对小球做一下受力分析,然后建立一组力学方程,根据小球的受力情况应用牛顿第二运动定律: F=ma (力 = 质量 x 加速度),就可以求出小球的加速度,那么如果已知当前的速度和位置,那么就可以求出此后每个时刻小球的速度,并进一步算出它所在的位置。”
“这个我知道。只要能够知道小球的受力和初始位置和速度,我们就可以建立一系列微分方程,求得小球的速度和位置随时间变化的情况。可是天气预报和这个有什么相似之处呢?”
“天气预测其实是根据过去的天气数据来预测未来天气的状态,换句话说就是已知当前和过去的湿度、温度、气压、风向等信息,再根据热力学定律建立了一组微分方程,就可以据此求得空气在接下来的时间里的变化情况。”
“可是这个方程会很复杂吧?”
“没错,要比分析小球复杂,但是我们可以先从简单出发,比如只考虑必需的情况,然后再逐渐增加方程的复杂度。虽然用手工计算太慢了,可是输入到计算机里,解这些方程应该不在话下!”
“可是既然这样,我们为什么不能精确预测天气呢?”
老师没有直接回答,而是问道:“你有没有听说过一个叫“蝴蝶效应”的?”
“蝴蝶效应,有点印象。好像是说:“巴西的一只蝴蝶煽动翅膀可以引起得克萨斯的一场飓风”,是吗? ”
“对。”
“我理解这句话的意思是说细节很重要,一个小的影响可能会导致很严重的后果,可是这和天气预报有什么关系呢?”
蝴蝶效应
这时,饭菜端上来了,老师和学生一边吃一边说:
“这要从1960年代开始说起。当时有一个气象学家叫 爱德华·诺顿·洛伦茨(Edward Norton Lorenz),他想研究天气状况的变化情况。那时候计算机已经开始被用来分析和预测天气,但是使用起来还是很原始,需要自己写程序。由于当时的计算机还是用纸带来输入数据。
“什么是纸带?”
“就是通过纸带上的纸孔来读取数据,有点像英语四级考试的选择题答题纸用铅笔涂黑后机器就可以自动识别,只不过60年代的纸带是在纸上打孔。那时连软盘都没有,更别说U盘了。”
“难以想象,真够简陋的。”
爱德华·诺顿·洛伦茨 - Edward Norton Lorenz. 来源:维基百科
“而且最让人受不了的是计算机的运行速度很慢,所以必须在编程时必须尽可能精简程序,只保留最必要的参数和方程。洛仑兹为了简化计算,只列出了一组非常简单的方程,例如包括气压、温度、湿度等基本数据。把初始数据通过纸带输入到计算机以后要等十几个小时甚至更久才能得到想要的结果,在这过程中还不能保证计算机不死机,如果那样,所有的计算都要重新来过。”
“那有什么保险的办法吗?”
“可靠一点的方法是,把计算过程分成两步,做完第一步如果计算机没有死机,就把中间结果抄下来再次输入到计算机里去计算。万一计算机在第二步死机了,还可以直接从第一步的结果出发做计算。”
“这是个好主意,看来我以后做数值仿真的时候也可以这么做。有一次我的师兄说他跑一个大型仿真,预计要三天三夜,结果到两天的时候程序死机了,白白浪费了时间,又要重头开始跑仿真。”
“洛仑兹也采用这种方法,运行完第一步后,他把中间结果抄写下来,然后重新打到纸带上,输入到一台LGP-30计算机里,开始运行第二步,得到最终的结果。两步计算得到结果后,他还不放心就又重新一次性跑完仿真。可是令他非常惊讶的是,这一次性地运行完仿真得到一个完全不同的仿真结果。也就是说和一次仿真完得到的结果与分两步仿真完得到的结果有很大的差异。他感到非常惊讶!”
“还有这么诡异的事情?”
1960年代洛仑兹使用的LGP-30计算机. 来源:维基百科
“是呀,就像我们做三个数相加的算术运算,如果先把其中两个加起来,然后再把第三个加起来得到的结果,和一起把三个数加起来得到的结果完全不同。可是两次的结果还是有很大的差异。”
“哦,这么奇怪。我要是碰到这种情况,那一定是活见鬼了。如果两步计算有误差应该不会特别 大,要么就是程序有缺陷!”
“是的,洛仑兹也是这么想的。他又仔细检查了所有的程序,没有发现任何问题。这时他不得不返回头来,仔细检查和比较两种方法的不同。他检查后发现,唯一的区别就是两步计算里,他把一个带有小数点的中间结果抄写下来,输入到计算机里。而一步计算里计算机直接调用存储器里的数值。他仔细检查后发现,他抄下来的中间结果小数位数太多,就做了一点四舍五入的近似而已。”
“就这么点差别吗?”
“是的,这让洛仑兹非常困惑。即使在小数后面几位做了一点近似,那最后的计算结果的差别应该也不会很大才对呀。就像我去计算全班考试的平均分,我先计算一半学生的平均分,这个数值只保留一位小数,然后再计算另一半学生的平均分,也保留一位小数,然后把这两个平均分再次求和除以2就得到了全班的平均分。最后这个平均分虽然不是很准确,但是离准确的平均分数值应该相差不远啊。”
“是的,直觉应该是这样。”
“洛仑兹排除了程序的缺陷之后,发现他无论如何都没法减小这个差异,他突然意识到这是一个从未发现的新奇现象。他设计的这个天气系统本身会呈现这样的一种特性:它对系统的初始值特别敏感,只要初始值有一点点微小的差别,那结果的差别就特别大。”
“这算得上是一个全新的发现了吧?”
“嗯,洛仑兹也是这么想的,他信心满满地把这种新奇的现象写成论文投稿到期刊,这篇文章发表后却没有引起广泛的关注,逐渐石沉大海了。”
“后来呢?”
“又过了很多年,人们才逐渐认识到当初洛仑兹的发现巨大价值。这是一种自然界和工程领域普遍存在的系统,叫做混沌系统。这种系统对初始值特别敏感,而且状态很难预测。例如天气系统就是这样一种混沌系统。洛仑兹一夜成名,各种荣誉纷至沓来,请他去做讲座的邀请信也纷纷寄来。有一次美国科学促进会举办的第139届年会邀请洛仑兹做学术报告。组织者在准备讲座的海报,为了吸引更多的人来听讲,他们突发奇想给海报起了一个非常吸引人的名字:《巴西的一只蝴蝶煽动翅膀可以引起得克萨斯的一场飓风 ?》 ”
“看来好名字也很重要,简洁但给人印象深刻!不过这么说,我们就该死了这条心,这天气就算是没法预测了吗?”
老师沉吟了一下说:“也不完全如此。洛仑兹发现,这种混沌系统虽然具有初始值敏感性,但是如果只是预测未来很短一段时间内的状态,还是能够预测得比较准的,时间越久误差就越大,超过了一定范围就完全不准了。所以现在的天气预报都是叫12小时、24小时、或48小时天气预报等。数学和物理定律并没有失效,只是时间越往后,准确度就越差。”
“可是我觉得人们还是应该能够把这种误差限定在一个很小的范围内。因为虽然系统对初始值的微小差别有很强的敏感性,但是如果我们能够非常精确地测量到初始值,这个问题不就变得没那么严重吗?”
老师露出惊讶的表情:“能说得详细点吗?”
“比如我们对当前状态的温度、湿度、风速等都进行非常精确地测量,那么初始值的偏差就会变得很小了吧。当这个偏差小到一定程度的时候,即使系统对偏差有很大的敏感度,但是最后的误差应该不会特别大。”
“让我想一想,”老师扶了扶眼镜,过了一会说道:“可是我们真的能够精确测量到当前的所有状态吗?比如,我们能够每100米就建立一个气象观测站吗?在每个观测站里,对温度湿度的测量就足够了吗,其它还有哪些参数会影响天气系统我们都搞清楚了吗?”
老师看了一眼外边又接着说:“就算只测量温度, 我们即使能够精确到小数点后三位,我们能够每隔10秒就测量一次并把数据上报到中心数据库吗?举一个例子,如果一个城市长宽各50公里,每隔100米建立一个气象观测站,每个气象站每10秒采样一次温度湿度和风速的数据,每个数据保存在一个字节里,那么每个小时就要产生两千七百万个数据送到计算机里去处理。这么多数据只有有一点点偏差,最后都会被无限放大,情况并没有改善。”
“嗯,没想到。看来理论还要结合实际才行。”
学生沉思了一会,说道:“对了,洛仑兹是第一个发现混沌现象的人吗?”
“其实,更早以前就有一个人已经发现类似的现象了。不过,在讲这个人之前我突然想到了一个古代中国记录在《庄子》里的关于混沌一则寓言故事。”
“好啊,说来听听。”
“原文只有77个字,你可以用手机搜一下这两个关键字:庄子、混沌。”
庄子 混沌
“好,找到了,出自《庄子·应帝王》:
南海之帝为倏,北海之帝为忽,中央之帝为混沌。
倏与忽时相与遇于浑沌之地,混沌待之甚善。
倏与忽谋报混沌之德,曰:“人皆有七窍,以视听食息,此独无有,尝试凿之”。
日凿一窍,七日而混沌死。
“是什么意思呢?” 学生问道。
“大概是这个意思:很久以前在南海有一位大帝叫“攸”,在北海居住着一位大帝叫“忽”,由于距离太远,这两个大帝经常去南北中间的中央大帝家中聚会。中央大帝每次都热情接待南北两位大帝。有一次聚餐完后,南北两位大帝觉得应该感谢中央大帝的热情招待,于是就想帮中央大帝实现一个他未了的心愿。这时南北两位大帝发现中央大帝没有七窍,于是一个拿凿子一个拿锤子帮中央大帝打开七窍,于是南北两位大帝一齐动手一天早开一窍,七天后七窍全部凿开,这时发现中央大帝已经死了。”
“哦,这么凄惨的故事!那中央大帝叫什么?”
“中央大帝就叫“混沌”!” 老师眨眨眼睛...
“是吗?这故事感觉很有道家的感觉。我想是不是可以这样理解:混沌是不可能完全弄清楚的。一旦弄清楚,混沌就不存在了?”
未完,下次分解... ...
参考文献:
Edward N. Lorenz (1963). "Deterministic Nonperiodic Flow". Journal of the Atmospheric Sciences. 20 (2): 130–141. Bibcode:1963JAtS...20..130L. doi:10.1175/1520-0469(1963)020<0130:DNF>2.0.CO;2.
Edward N. Lorenz (1969). "Atmospheric predictability as revealed by naturally occurring analogues". Journal of the Atmospheric Sciences. 26 (4): 636–646. Bibcode:1969JAtS...26..636L. doi:10.1175/1520-0469(1969)26<636:APARBN>2.0.CO;2.
Edward N. Lorenz (1969). "Three approaches to atmospheric predictability" (PDF). Bulletin of the American Meteorological Society. 50: 345–349.
庄周, 陈鼓应. 《庄子今注今译》. 商务印书馆, 2007.
张天蓉, 《蝴蝶效应之谜:走近分形与混沌》,清华大学出版社,2013.
未标注的图片均来自网络,如侵必删。
*****《时间之问》已由清华大学出版社2019.3出版 *****
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-23 17:58
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社