作者在本节继续讲解复杂系统中抽象式方法和行为的局限性,不知道是不是翻译问题,感觉讲的有点拗口,基本都是一些分析和案例,先看看吧。
在创建复杂的技术时,最强大的方法就是人们常说的“抽象”。从根本上说,抽象其实就是:将系统中某些不必要的组件细节隐藏起来,同时保留组件与系统进行高效交互的方式和能力。例如,我在编写计算机程序时,不必再用机器代码语言来编程,而可以使用C语言或其他类似的语言。机器代码语言是一种二进制代码,此前,每台特定的计算机都需要用这种语言来设置指令。现在,我写出来的程序不仅易于阅读,还可以转换为机器代码语言。在很多情况下,我甚至不需要知道程序将会在哪种特定的机器上运行,那些与机器有着更深层级交互的其他程序自然会“考虑”细节。换句话说,这些细节在编程时已经被我抽象化了。(A的复杂简化之后,再次作用的时候B可能就更加复杂了)
这种抽象方法在技术中无处不在。在与某个界面友好的网站进行互动时,对于网站的内部技术细节,我们并不关心;在将烤面包机的插头插入某个插孔中时,我们也不需要知道电力是哪里输送过来的,或是发电厂位于什么地方。这就好比我们无须知道搜索引擎是如何给出具体结果的。只要接口或界面是合乎逻辑的、可以使用的,那么我们就只需要关注正在构建或修复的细节,而不用担心接口和界面背后的一切复杂问题。利用这种抽象方法,我们可以在一种技术的基础上构建出另一种技术,也就是直接利用他人创建的技术,而无须了解其内部细节。如果你是使用统计软件包分析数据集的财务分析师,或是使用预设代码创作有趣动画的应用程序开发者,那么你无疑已经在使用抽象方法了。(这些工具和方法都大大提升了效率呀)
抽象给人们带来的最大好处是专业化。即使系统拥有数百万量级的交互,系统的构建者和维护者也不是必须知道它到底是如何工作的。抽象使他们只需了解自身关注的某个具体部分,而其他部分的细节会被再次抽象化。(嗯嗯,编程的时候基本不用考虑汇编底层代码)
然而在这个纠缠时代,抽象方法也可能会崩溃。事实上,这种情况出现得越来越频繁。在一个系统中,原本被设计者和构建者屏蔽的各个组成部分,正在越来越多地以意想不到的方式发生碰撞。
这一点在金融领域显得尤为突出。在当今的金融市场上,“参与者”早就不仅限于人类了,大量以各种信息为基础的计算机程序也参与了交易,而且速度比人类手动执行快了无数倍。这些计算机程序以异常复杂的方式相互联系着,并通过巨大的交易网络对决策进行级联式放大和传播。(程序化交易现在在美股已经非常普遍,疫情那会儿暴跌熔断可能也算是触发了它们的规则)那么,它们究竟是如何做出交易决策的呢?某些计算机程序能从海量的数据中总结出有意义的参数。
结果可能会非常极端。2010年5月6日,全球金融市场出现了闪电崩盘,股市出现了大规模的、非常迅速的巨幅震荡。许多上市公司的市值都因此遭受了重创,不过不久之后又都基本重回原位。这次闪电崩盘涉及一系列交易算法和实施细则,这些算法和细则以意想不到的方式进行了交互,在短时间内便造成数十亿美元的损失。尽管很复杂,但这些系统并非处于真空地带,它们是更高层级的技术生态系统的一部分,而这个技术生态系统决定了每种证券或商品的交易时段。金融系统还会受到一系列法律法规的约束。当然,法律法规本身即是一个系统,而且是一个庞大且复杂的系统。不同法律之间存在相互依赖、相互援引的关系,且联系方式时而精确、时而混沌,令人难以琢磨。(总体加起来确实非常复杂了,但美股的纠错能力还是很强的)
此外,这些交易所依赖的基础设备,都建立在持续发展了数十年的技术之上。这样一来,整个系统就成了“新”与“旧”的组合:在这个系统中,古老的依靠人工喊价的实物交易与通过光纤传输完成的电子交易共存。我们在构建能够实现高效交易的计算机程序时,不仅要考虑日新月异的计算机科学、繁杂的金融工具和深不可测的法律法规等,还要深入了解物理学。因为“光在不同材料中的传输速度”这一点在交易中至关重要。因此,我们说,地球上没有人能完全理解金融世界中相互关联的所有系统,甚至没有人能完全理解其中任何一个系统。(使用者基本只需要按照自己的思维和喜好去交易就行,现在确实太方便了,但也是一种危险)
当系统内部深处的某些微小细节像“微型造物主”一样崛起,并开始破坏技术系统的其他组成部分时,我们就不能只对系统进行局部理解了。当系统处于纠缠之中时,其内部各部分之间的交互会陷入混乱,以往帮助我们管理复杂性的等级结构和抽象方法,都会迅速地分崩离析。(熔断暴跌,估计就是这么来的,程序化交易太恐怖了)
那么,在可见的未来中,人类是否有希望找到摆脱这种混乱的办法,并让世界重新回到可管理的状态呢?或者,我们注定要带着深切的、无法言喻的恐惧感来面对这些不断增殖的系统?
在大多数人看来,不完全了解那些技术系统,不知道所在城市的基础设施细节,不理解苹果手机的硬件如何验证指纹,不清楚法律法规如何促进国际贸易,其实并没有什么关系。人们简单地认为,对于那些复杂的系统,只需要明白如何使用即可,它们的具体机制是什么则无关紧要。不过,对于一个新工具的工作原理,有人搞不懂是一回事,所有人都搞不懂又是另一回事。许多人还在自欺欺人地以为,专家们终会把我们从这种庞大的复杂性中拯救出来,因为他们理解我们所不理解的东西。但是事实并非如此,专家也不一定理解,依赖专家的时代早就一去不复返了。(专家自己也是盲人摸象,还有时候还讲的头头是道,自欺欺人呀)
我们过去所采用的用以理解这些系统的思维方式,也就是找到“挑战者号”航天飞机失事原因的那种思维方式,现在已经完全失效了。这很令人绝望。纠缠的世界并非远在天边,而是近在眼前。每个人都需要用新的思维方式去理解技术,甚至是那些我们轻松地将理解外包给专家的技术。
虽然对人类而言纠缠时代的到来是一场严峻的挑战,但我仍然满怀希望,并坚信:我们定能学会如何处理这些系统,至少在某种程度上。
但是,要想真正理解这个由人类一手创造的时代,我们就需要先退而求其次,将迫使我们陷入复杂性、阻碍我们理解复杂性的各种因素找出来。(思维的升级,就能理解和应对复杂了?或许至少能坦然面对吧)