沙堆模型的启示
2011-12-29汤双
读书 2011年12期
一般来讲,世界上存在的各种系统可以分为两大类:简单系统和复杂系统。在简单系统中,局部的微小变化只会引起整个系统的微小变化,所以是可预测的。复杂系统则不同,其主要特点是:从内部看,它是由相互关联的部分所组成;从整体看,它可以展现出一种或多种特性,而这种特性是组成系统的每个单独部分所不具有的。复杂系统在计算机科学、生物学、经济学、物理学等许多领域都有广泛的应用。复杂系统又可以分成很多不同的类型。一个典型的例子是混沌,对于混沌系统,初始条件的微小变化就可能导致整个系统进入完全不可预测的状态。而沙堆模型研究的对象则是另一类称为“自组织临界系统”的复杂系统。这种系统的特点是能通过内部的自发演化而达到某种临界状态(比较不严格地讲,可以把临界状态想象成为“量变引起质变”的转折点)。
大概有不少人在小时候都玩过沙子。如果我们将沙子一把一把地往同一个地方撒,那里就会逐渐形成一座小沙堆。开始的时候沙堆不断增高,但到了一定的高度后,再撒上一把,沙堆不但不增高,反而会出现滑坡现象(在自组织临界系统研究的“行话”里,统称这类现象为“雪崩”)。滑下来的沙子的数量没有一定规律,可能是一大片,也可能只有几粒。我们虽然无法预测当一把沙子撒下去后会引起多大规模的滑坡,但可以肯定的是,出现小规模滑坡的可能性要比出现大规模滑坡的可能性大很多。如果重复很多次这种“造山—滑坡”实验,我们就能对出现的不同规模的滑坡的数量进行统计。但是用真正的沙子来进行这项实验是很难的,因为有许多外界因素无法控制。于是巴克(Per Bak,1948—2002)和他的博士后汤超及维森菲约德(Kurt Wiesenfeld)一起构造了沙堆模型(一九八七),从而开创了自组织临界现象研究的新天地。
沙堆模型以一个类似于围棋盘的二维格点为基础,棋子可被随机放入任意一个格子里,而且允许棋子上面摞棋子。规则是一旦一个格子里的棋子摞到四个,这四个棋子就自动移到与其相邻的四个格子里,每个格子得到一个棋子(我们姑且把这种重新分配叫做“坍塌”)。如果一个棋子正好被移出棋盘,它就算离开了这个系统,不再予以考虑。当棋盘很空的时候,新加入一个棋子不会引起什么大的反应,基本上这个棋子落在哪儿就会待在那里,除非那里正好已经有三个棋子,则新棋子的加入就会触发一次“坍塌”。不过这个“坍塌”只会对周围很小的区域有所影响。但当棋盘已经相对比较满时,情况就会大为不同。
我们可以把“坍塌”的次数定义为“雪崩”的强度,在进行很多次(比如说一百万次)之后,就能得到非常有意义的统计数据。经过对这些数据的分析,巴克等人发现不同“雪崩”强度出现的次数N与“雪崩”强度E之间的关系遵从幂数律N~E-a。沙堆模型的a大约为1.1。在物理学里,当一个系统满足幂数律时,通常意味着这个系统是处于某种临界状态。另一方面,如果一个系统中某个内部单元的变化不局限于其周边而能引起整个系统的重构,这样的系统被定义为具有自组织的特性。沙堆模型这类具有自组织特性并能通过内部自发演化达到临界状态的系统就被称为自组织临界系统。
沙堆模型的结构极为简单,任何一个具有一定编程知识的人都可以在自己的个人电脑上实验它。这正是它的美妙之处,一个如此简单的模型却具备了复杂系统最本质的特性,简单与复杂的辩证关系在这里体现得淋漓尽致。如果把新加入一个棋子所引起的“雪崩”强度(即“坍塌”数目)等价于往沙堆上加一把沙子所引起的滑坡规模,抽象的沙堆模型就与真实的沙堆连在一起了。当然,要想最终证实沙堆模型能正确描述真实的沙堆,必须有物理实验的支持。由于每粒沙子的形状、大小、重量各异,再加上湿度对实验结果也有很大影响,用沙子做这项实验很困难。有关沙堆模型的一个很漂亮的实验是由挪威奥斯陆大学的一个研究小组在一九九五年用大米做的。他们让大米以均匀的速度落在圆形的平盘上,用高速摄像机监测“雪崩”在二十四小时内发生的次数和强度,得到的数据直接存入电脑。经过整整一年在不同大小的圆形平盘(相当于不同大小的系统)上重复进行实验,他们获得了足够的数据,证实米堆的确会达到自组织临界状态,而且“雪崩”强度的分布真的遵从幂数律!
如果自组织临界现象仅与沙堆或米堆有联系,大概并不会引起人们太多的关注。然而它却出现于许多令人意想不到的领域中。地震就是一个绝好的例子。如果把地壳某处出现断层等价于某个格子里发生“坍塌”,再把地震的级数等价于“雪崩”的规模,地震就和沙堆模型连在一起了。在地震研究中,古腾堡-芮希特定律具有很重要的意义,它告诉我们在给定时间内不同强度的地震平均发生的次数,而且次数与强度之间的关系恰恰满足幂数律(这也正是沙堆模型得到的一个重要结果)。必须特别注意的是,这里所说的地震强度与次数的关系是统计平均意义下的关系。比如大约平均每年会发生十次2.5级左右的地震和一次4级左右的地震,但这绝不意味着每发生十次2.5级左右的地震就会发生一次4级左右的地震。换句话说,即使一个地方已经很久没发生过大震,下次地震是大震的可能性也并不会因此而增高。
从沙堆模型可以得到一个重要的启示:对于自组织临界系统,除非知道每一处细节部分的状态,否则不可能从局部的变化预测整体的变化。以棋盘实验的例子来说,必须知道每个格子里已经有几粒棋子,才有可能预测在某个特定格子里新加入一粒棋子会不会引起“雪崩”以及“雪崩”的规模会有多大。再加上对于真实的系统(比如地震),我们甚至连下一粒棋子会落入哪个格子里都不确定,要想对系统进行预测就几乎是不可能的了。地震预测就有点类似于这种情况。地壳运动造成断层是引发地震的原因之一,人们可以选定一些地方对地层变化(比如应力)进行监测。但是即使测到某处已达到发生断裂的临界状态,仍然不能断定什么时候会真的发生断裂,就像不知道“下一个棋子会落入哪里”一样。而且就算这里真的断裂了,如果不知道其他所有相关地方的状态,人们还是无法预知被引发的地震的强度。这大概就是为什么地震预测一直是个老大难问题的根本原因。
除了地震,地貌形成、山体滑坡、河流分支、太阳黑子活动、1/f噪音、商品及股票市场价格的涨落、交通堵塞、生物进化及大规模物种灭绝等等许多问题都与自组织临界现象有着密切的关联。沙堆模型及其“变种”被广泛应用于这些领域,获得了大量很有意义的成果。更有意思的是,这些模型往往能把两个看似风马牛不相及的系统联系在一起,从而凸显出它们的内在共性和可类比性。这方面一个很好的例子是,日本学者伊