购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

什么是复杂系统

在这里,我们必须先花些时间讨论一下“庞杂”(complicated)和“复杂”(complex)系统的含义。 [13] 尽管我在文中,以及书名中使用这两个术语时所指含义与它们在口语中的意义大致相同,但实际上,它们的准确含义和日常意义存在着一些重要区别。

请想象一下,有许多水上浮标被绑在一起,漂浮在水面。 [14] 当一艘船经过时,其尾流会形成一个个小波浪,从而使浮标一个个动起来。但是,每个浮标都无法单独“行动”。因为每一个浮标都通过绳索连接着不同重量和大小的其他浮标,所以任何一只浮标的行动,都会带动其他浮标产生相应的行动。这些行动还可能会引发意想不到的反馈过程,也就是说,浮标的行动会间接地影响到自身。于是,船的简单尾流,在这个复杂的浮标网络中引发了大量级联式(cascade)的行动。如果船以其他方式驶过,比如以另一种速度或角度驶过,那么浮标的行动可能会完全不同。

接下来再想象一下,人们把这些浮标从水中捞了出来,扔在了码头上。它们可能被排列得非常巧妙,却很难描述清楚,我们需要颇多文字才能讲明白它们之间的相对位置,或许还需要附上一些图表,以便日后能复制出同样的排列方法。但是,无论被排列成什么样,这里也不会有趣事发生。因为在这个精巧的网络中不存在级联效应,也不存在反馈过程。说到底,只不过是一堆可以漂浮的东西被放在了码头上。

水中的浮标形成了一个复杂的系统。那么码头上的浮标呢?它们的排列也许看上去很巧妙,但其所构成的系统最多只能说是庞杂的。任何一个系统,要想成为一个复杂的系统,仅仅包含很多组成部分是不够的,各部分之间还必须相互关联,并在“嘈杂的舞蹈”中相互作用才行。在这种情况下,我们可以观察到某些行为特征,那是复杂系统的标志:微小的变化通过网络被级联式放大,并引发反馈过程,同时敏感地依赖于系统的初始状态。这些特征,与其他一些特征一起,使系统从“庞杂的”变成了“复杂的”。

对于这种区别,还可以从另一个角度来思考:生物在活着的时候是复杂的,而死后最多只能说是庞杂的。死去的动物虽不失其复杂特性,但其内部却没有任何过程在发生:整个生命网络,比如血液循环系统、新陈代谢系统、神经系统等,都很“安静”。生命是运动和相互作用的“狂暴之流”,极其复杂精妙,在有生命的机体中,再小的变化都会被级联式放大,进而引发大量行为。另外,即使一个系统是动态的,比如浮在水中的一堆没有被连接起来的浮标,因为其内部不存在相互联系,没有反馈的可能性以及其他类似的属性,所以我们也只能称其是“庞杂的”,而非“复杂的”。

如果将技术定义为人类为特定目的而设计和构建的各种类型的系统,那么就不难注意到,当今最先进的技术几乎都是复杂的系统:动态、功能复杂、规模庞大,而且拥有近乎有机生命体般的复杂性。这些复杂的系统遍布我们周围,从汽车软件到电脑设备,再到城市基础设施。 [15] 那些庞大的、高度互联的软件,其规模足以与百科全书相比。据估计,微软的办公软件就有数千万行计算机程序代码。 [16]

美国的公路系统有30万个交叉路口,每一个路口都有交通信号灯。 [17] 这是一个覆盖全美的动态交通网络,所包含的自动纠错系统先进得令人难以置信,尽管我们会因为它经常出问题而嘲笑它愚蠢得令人绝望。该系统的背后是PB级数据(1PB等于100万个GB)和复杂的概率模型。 [18] 随着时间的推移,法律体系也变得越来越复杂。截至2014年,美国联邦税法的总页数已经超过了74 000页。 [19] 这个庞大的法律网络非常复杂,拥有无数个关联点,会对纳税人产生级联式的影响,可以说几乎没有人能从整体上完全理解其功能。

在我们的生活中,复杂的技术系统无处不在,这通常是一件好事。正是在这种庞大的复杂性中,我们发现了惊人的弹性,也就是复原力。这些系统通常拥有许多功能各异的工具箱和故障保险箱,可以帮助人们完成任何“想要”完成的事情。这些系统也为我们提供了连古代皇室都无法想象的生活:免除了辛苦的重复劳动;把水电送到家中;让我们一年到头都可以生活在舒适的温度下;还能帮助我们快速地传递信息。

那么,我们该如何理解复杂系统,而这又意味着什么呢?无论是分析一个现象,还是了解一个系统,都不是非此即彼的二元选择。这种理解其实是一条内涵丰富的光谱。 [20] 换句话说,你可以只从整体上去理解一个系统,掌握它的全局情况,而不一定非得理解其各个组成部分的细节情况;你也可以只理解它的所有组成部分,而不太关注其整体功能;你还可以只了解各部分是如何相互关联的,或者只探究这种关联的最终效应。此外,所有的“理解”都会涉及一些具体活动:描述事物是如何运行的,在不同层面上预测其未来的行为,并在时间充足和资源丰富的情况下通过构建模型来复制它。

回到上文中有关浮标的例子。你或许只能了解到两三个被连接在一起的浮标的行为细节,甚至只能搞清楚一个浮标的行为,而无法描述所有浮标所组成的巨大网络的整体行为;或者,你能够描述浮标的整体运动,却无法预测它们各自的行为。对于软件,你或许可以很好地理解给定程序中的若干模块,例如计算圆周率值的子程序,或是对一组数字进行排序的子程序,但你却不一定能理解它们是如何一起发挥作用的。通常,我们只能把握上述“理解”中的一部分,而非全部。

另外,“理解”也不是固定不变的,它可以通过训练来改进。从来没有下过国际象棋的人,在看到棋局的时候,可能无法将势均力敌的平局和王已经受到致命威胁的残局区别开来。而接受过一定训练的初学者和中段棋手,均能掌握下棋的基本模式,并判断棋局的基本形势和大致走向。国际象棋大师则能一眼看透当前的形势和接下来可能会出现的演变,而后评估棋局并给出可靠的走法,同时弥补潜在的弱点。经过充分训练后,棋手在看到一盘棋时,眼中所见的就不再是一排排、一列列的棋子了,而是诸如“白棋三步就可将死对方”之类的棋局。因此,学习专业知识并接受一定的训练确实可以从根本上改变我们对世界的看法和理解方式。

对于人类构建的系统而言,亦是如此。计算机代码既可能是难懂的天书,也可能是解决难题的优雅方案,这一切都取决于你到底了解些什么。不过,当我们无法完全理解它们时,就会遭到某种特定的失败或打击,也就是某种意想不到的结果。

以空中交通预警防撞系统(Traffic Alert and Collision Avoidance System,TCAS)为例,人们创建这个系统的目的是防止飞机在空中相撞。这个系统会提醒飞机驾驶员注意潜在危险,并告之如何根据规则做出应对。但是,几十年来,这个系统的规则已经变得极其复杂,复杂到全世界只有屈指可数的几个人能够真正了解它。每当有人提出一项新的系统规则时,有关方面就会通过模拟实验来测试其效果。在若干次测试中,如果表现均能达到预期,新规则就会被批准投入使用。

尽管避免飞机相撞本就是一个复杂的挑战,但是从根本上来说,我们为此而建立起来的系统已经变得太过复杂了。不但一般人无法理解,即使是专家,有时候也会对系统在某些情况下所做出的反应感到疑惑。

当结果出人意料时,就意味着我们对相关问题的理解还不够充分,因而无法搞清楚这种结果从何而来。倘若只是视频游戏中的一个错误,那倒也无伤大雅,甚至还能起到娱乐大众的效果。然而,如果是极度复杂的社会保障系统发生了出人意料的状况,我们肯定就无心娱乐了。这些复杂的系统可能是为我们提供水电的基础设施,也可能是执行金融交易的软件,还可能是防止飞机相撞的程序。在这种时候,理解是否到位就成了一个生死攸关的问题。

每个人理解世界的能力天生就有所不同。天才拥有常人难以企及的直觉,他们的跳跃性思维可能远远超出了常人所能理解的范畴。但是,人类的认知能力终归是有限的。随着时间的流逝,我们所构建的各种技术系统变得越来越复杂,系统之间的关联性也变得越来越强,越来越难以理解。无论人类有多聪明,记忆力有多强,都无济于事,因为这些系统的构建方式与人类的思维方式不一样。人类不具备同时应对数百万个组成部分及其之间的大量交互,并将所有结果都记在脑袋中的能力。我们的大脑会“严重超载”,继而宣告失败。 vQgQv8pNSRTMni5aVbHgCycQgd30j7oO6vj8x2CzUQDOraHa/IWBatb/KLSY/vdQ

点击中间区域
呼出菜单
上一章
目录
下一章
×