1704532932
机制1:协同进化多样性的增加
1704532933
1704532934
复杂性随进化而增加的第一个机制,我称之为“共生多样性的增加”(growth in coevolutionary diversity)。这种机制适用于各种个体或实体、物种、生物体在相互作用的种群中共存的系统。在这种共生系统中,一些个体或实体、物种、生物体构成了“基质”,或创造了“生态位”,从而允许其他个体或实体、物种、生物体存在。因此,对于这样的共生进化的系统,我们可以这样来看:它们组织成了松散的层级结构或相互依赖的“食物网”,下一个层级的个体存在取决于更接近“层级基座”的“更基础”的个体存在。
1704532935
1704532936
在这些系统中,当个体及它们在互动中的多种可能性创造了大量不会封闭、可以被新产生的个体利用的“生态位”或利基时,多样性倾向于以自我强化的方式增大。而进入种群的新个体又可能会提供新的基底、新的生态位,从而又为更进一步的新个体提供了填补或利用的新的可能性。当然,这些最新进入的个体,也可以提供更新的生态位和基底……依此类推。正是通过这种方式,复杂性随着时间推移而自展地不断增加。在这里,复杂性以更大程度的多样性、更复杂的交互网络的形式出现。在最初的时候,当新出现的个体仅限于取代没有竞争力的先前存在的个体时,共生进化多样性的增加可能会比较慢,甚至可能会完全止步不前。但是随着时间的推移,当个体开始提供生态位,且生态位使得新个体的出现成为可能时,共生进化多样性就会进入正反馈通道,即多样性本身就可能为进一步的多样性提供“燃料”。
1704532937
1704532938
在过去的20年里,计算机工业中的专用性产品和软件出现了快速增长。这种增长就是经济中共生进化多样性增加的一个很好的例子。在现代微处理器出现后,它们就为诸如存储器系统、屏幕监视器和总线接口之类的设备创造了适当的生态位或利基。将它们与微处理器连接在一起,就是非常有用的硬件——计算机设备。而这些设备反过来又为新的操作系统软件、新的编程语言以及新的应用程序创造了需求或利基。这些硬件和软件的存在又使得桌面出版、计算机辅助设计和制造、电子邮件、共享计算机网络等技术成为可能。这些技术又为激光打印机、工程设计软件和硬件、网络服务器、调制解调器和传输系统创造了利基。这些新设备反过来又“召唤”新的更强大的微处理器和系统软件来驱动它们。因此,在这大约20年的时间中,计算机行业经历了多样性的爆炸性增长:从少量的设备和软件到各种各样的设备和软件,因为新设备使得更多的新设备成为可能,新的软件产品使得计算机的新功能成为可能,而这些反过来又要求进一步的新设备和新软件的出现。
1704532939
1704532940
当然,我们不应该忘记,随着新的计算机产品和功能的出现,它们也会取代经济中的其他东西。计算机辅助设计可能最终取代基于标准绘图板和T字尺的设计。因此,系统中一部分组件的多样性增加,可能被其他地方的多样性减少所抵消。偶尔在共生系统中,现有功能被替代也可能导致共生多样性增长出现逆转。当新实体替换掉了系统中更基础的实体,同时依赖于被替换掉的实体的利基消失时,就可能发生这种情况。例如,在整个19个世纪,马车运输业出现了许多“利基企业”,它们专业化程度高且相互联系紧密,数量也一直在稳步增加。到了19世纪末,各种不同类型的马车车厢制造者、马具制造商、铁匠铺和马种繁殖场等形成了一个共生进化的生态。不久之后汽车出现了,所有这一切都崩溃了。与之相反,以燃油汽车技术、石油勘探和精炼技术和内燃动力技术等为基础的一系列相互连接的新“利基制造商”,则组成了一个新的网络。这个网络一开始增长缓慢,但它逐渐替代了以往的“马车制造网络”。因此,共生系统中的复杂性,在这种情况下,复杂性就是指多样性,当然可能随时间推移而增加,但是也可能出现很大的震荡。
1704532941
1704532942
多样性的增长在很多人工进化系统中都可以观察到。这样的不完全例子包括:汤姆·雷(Tom Ray)开发的Tierra系统、约翰·霍兰德构建的ECHO系统、斯图尔特·考夫曼设计的多个化学进化系统。在这里,作为例子,我简单介绍一下汤姆·雷的Tierra系统。它是雷构建的一个人工世界:不同的计算机程序在虚拟计算机中竞争处理器时间和存储器空间。这个世界是从一个单一的“有机体”开始的,该“有机体”是一组能够自我复制的机器语言指令,偶尔会发生变异。这个“有机体”构成了一个生态位,或者说基底,从而为那些利用它的部分代码进行复制,或者说以它的指令为“食物”的“寄生有机体”的出现提供了条件。此外,还会出现另外一些“寄生有机体”免疫的有机体。“寄生有机体”也会形成基底,供依赖它们的“超寄生有机体”所用。然后,“超超寄生有机体”也会出现……依此类推。就这样,新的“有机体”不断出现、不断消失,形成了一个丰富多彩的、由相互竞争的机器语言程序构成的生态系统。这个生态系统呈现出多样性持续净增长的趋势。在这个系统开始运行后的连续几天里,汤姆·雷一直没有观察到多样性增长的终点。在这个不断进化的基于计算机的系统中,从单个基因型开始,进化出了超过2.9万种不同的、能够自我复制的基因型,它们大致可以分为300个类型,这相当于这个系统中的物种数量。
1704532943
1704532944
行文至此,我想向读者指出几个适用于这种机制的要点。
1704532945
1704532946
第一,在某些情况下,新实体的出现可能不太依赖于先前实体的存在,而更多依赖于它们之间展开“互动”的可能性。例如,在经济中,只有当激光技术、静电复印技术和计算机技术等技术都存在时,像激光打印机这样的新技术才有可能变成现实。在这些情况下,实体的共生集群,即一组实体,它们的“集体活动”或共同存在有重要意义,可能会创造出很多利基。因此,我们可以预测,当“集体存在”对于利基的形成非常重要时,共生进化多样性的增长在一开始时将会显得非常缓慢。因为在只有极少数实体的情况下,形成组合的可能性非常低,从而出现的生态位也非常少。但是,随着更多的单个实体的进入,我们就可能会观察到生态位的爆炸性增长。因为可能出现的组合数量的增加是呈爆炸性的,可能产生的生态位数量的增加也是呈爆炸性的。
1704532947
1704532948
第二,如果新实体对旧实体的替换发生在等级体系的基底附近,那么系统复杂性坍塌的概率就会非常高,因为这种等级体系的每个层级都依赖更基础的层级。而如果发生在等级体系的端点附近,那么复杂性坍塌的概率就会很低。因此,在一个共生进化系统中,多元化是扩展还是坍塌,在很大程度上取决于等级体系的依赖结构。
1704532949
1704532950
第三,这里存在两种正反馈,或者说循环因果关系。这是这种机制所固有的。新实体的产生可以强化进一步的新实体的产生。原因很简单,因为系统中出现了可用于进一步的“自适应辐射”的新“遗传材料”。新实体的出现还为其他新实体的出现提供了生态位。反过来,这也就意味着,当只有很少的新实体被创建出来时,也很少会有进一步的新实体出现,因而也就几乎不会创造出新的生态位。因此,系统在这种情况下将呈现基本静止的状态。当新实体迅速出现时,新的生态位将快速增加,从而进一步产生新的实体和新的生态位。然后系统就可能经历一种类似“寒武纪大爆炸”的快速增长。因此,我们可以预期,这样的系统可能在很长时间内处于相对静止的休眠状态,但是偶尔也会突然进入复杂性爆发式增加的时期。也就是说,我们预测,它们会经历间断均衡。
1704532951
1704532952
这种机制,即系统的复杂性随着新的生态位或利基的创造而增加,是我们大多数从事复杂性研究的人很熟悉的。例如,斯图尔特·考夫曼就写过很多论著,介绍了各种各样的自强化多样性的例子。然而奇怪的是,在传统的生物学文献中,却很难找到有关这种机制的讨论。博纳(Bonner)在1988年出版的《复杂性的进化》(The Evolution of Complexity)一书中也没有提到它,尽管他用了整整一章的篇幅来讨论以多样性形式表现出来的复杂性。沃丁顿(Waddington)认为,随着有机体多样性的增加,生态位会变得越来越复杂,这种说法有点接近我们这里讨论的这种机制。他还说,生态位越复杂,来填补生态位的生物就会越复杂,而这反过来又会增加生态位的复杂性。但是,他在谈到这些时,所指的似乎是内部结构复杂性的螺旋式上升,而不是共生进化生态的多样性。不过,有意思的是,早在100多年前,达尔文就提到了这种机制,或者至少是与之有密切关系的某样东西。在他笔记的第422页,达尔文这样写道:
1704532953
1704532954
世界上,动物的极大数量取决于它们的结构和复杂性……因此当形式变得很复杂时,它们也就打开了增加自身复杂性的手段的大门。[1]
1704532955
1704532956
但是,这种说法同样可以理解为与内部结构复杂性有关,而不是与生态多样性有关。
1704532957
1704532959
机制2:结构深化
1704532960
1704532961
我将导致复杂性随时间增加的第二种机制称为结构深化(structural deepening)。这个机制适用于单一实体,包括系统、生物体、物种及个体,它们都在某个“背景”下进化。在此,我们可以将这个背景视为它们的“环境”。通常来说,在竞争的强大压力下,这些系统会运行在自己的性能极限之内。但是,它们也可以通过增加某些功能或子系统,来打破这些性能限制。增加了这些功能或子系统后,它们就能够:(a)在更广阔的或更极端的范围内运行;(b)感知并对异常情况做出反应;(c)服务于其他系统,使其运行得更好;(d)提高其可靠性。通过这种做法,它们增加了它们的“结构深度”或“设计的复杂性”。当然,在加入这些功能或子系统后,系统的运行仍然可能达到其性能极限。在这种情况下,还可以通过进一步添加子子系统,来再次突破这种限制。循环反复地推进上述过程足够长的时间后,原来的系统就会被更深层次的功能和子功能所“覆盖”,从而可以极大地改善自己的运行性能和适用范围。当然,这样一来,它内部的结构也就变得更加复杂了。
1704532962
1704532963
技术进化的历史提供了许多结构深化的例子。例如,由弗兰克·惠特尔(Frank Whittle)和汉斯·冯·奥海因(Hans von Ohain),在20世纪30年代分别独立设计了最早的燃气轮机和喷气式航空发动机,就是一个很好的例子。这种发动机的工作原理是:压缩进气,在压缩空气中点燃燃料,并通过涡轮机释放燃爆的混合物以驱动压缩机,然后以极高的速度排出空气来提供推力。惠特尔的原型有一个可移动的部分,即压缩机-涡轮机组合。但是,多年以来,在来自商界和军界的利益团体的推动下,巨大的竞争压力导致航空发动机不断做出改进。设计师们不得不想方设法,让航空发动机能够克服极端的压力和温度所带来的限制,并能够应对各种突发的特殊情况,有时是通过使用更好的材料,但更多的时候是通过添加子系统。
1704532964
1704532965
因此,随着时间的推移,最终的成果是,通过使用不止一个压缩机,而使用一组压缩机,即压缩机的系统,实现了更高的空气压缩比。其他一些改进包括:采用可变位置导向叶片控制系统,以便在高海拔和高速度条件下吸入更多的空气,同时降低发动机熄火的可能性,从而提高了效率;增加排气阀控制系统,以便在气压达到某一临界点水平时,将空气从压缩机中排出,这样就能够减少发动机失速的可能性;添加二次空气流系统以冷却红热的涡轮叶片,并对集液槽腔加压以防止润滑剂泄漏,涡轮叶片也通过一个在内部循环空气的系统来冷却;在军事应用中,为了在空中作战条件下提供额外的推力,增加后燃烧器组件;为了减少发动机起火的可能性,增加复杂的火警探测系统;为了防止进气区域中积聚冰块,添加了除冰系统;另外还有增加专用燃料系统、润滑系统、可变排气喷嘴系统和发动机启动系统。
1704532966
1704532967
但所有这些系统都需要进一步的子系统,以便监视和控制它们,并在它们达到极限时提高它们的性能。而增加的子系统,又需要更进一步的子子系统来增强它们的性能。现代的航空燃气涡轮发动机的功率,比惠特尔的原型高出了30倍到50倍,而且非常复杂。但是,惠特尔发明的原始的简单系统还在,只不过被子系统叠子系统地覆盖在了一个极其复杂的互连模块和部件的阵列当中。现代航空喷气发动机的部件超过了2.2万个。[2]
1704532968
1704532969
以航空发动机为例。在这种机制中,在持续的竞争压力的推动下,设计师们必须不断地将新功能和新模块添加到系统中,以突破原有的性能限制和处理异常情况,或适应更加复杂的环境,从而导致复杂性不断增加。行文至此,读者应该已经看得很清楚了,通过结构深化而使复杂性不断增加的这种机制,不仅适用于技术,而且适用于生物有机体、法律制度、税收体系、科学理论甚至连续发布的软件。
1704532970
1704532971
约翰·霍兰德的遗传算法为我们提供了一个实时观察结构深化的“实验室”。在“候选解决方案空间”运用遗传算法搜索可行的解决方案的过程中,会先出现一个大致正确的,或者用霍兰德本人的术语来说,“粗糙的模式”。它可能只比它的“竞争对手”稍稍好一点。但是随着搜索的继续进行,更加好的解决方案也开始出现。这些解决方案具有更深的结构,更精细的子模式,是对原始解决方案的“精炼”,能够处理异常情况或克服原始解决方案的某些限制。最终的解决方案或模式的组合,可能在结构上很“深”,也很复杂。在运用遗传算法搜索解决方案的过程中,还可以观察到结构深化的逆转。这种情况发生在相当长的一段时间内,一直占据了主导地位,并被精炼得相当充分的“粗略模式”被另一个新“发现”的、有所改进的“粗略模式”取代的时候。这时,依赖于原先那个粗略模式的子模式的层级结构就会坍塌。于是,对好的解决方案的搜索开始集中于新的模式,它们将会得到精炼。这种情况在遗传算法的搜索过程中可能会发生很多次。
1704532972
1704532973
约翰·科扎(John Koza)的遗传编程算法也提供了一个类似的“实验室”。科扎让一些代数表达式在他的“实验室”中进化,最终的目标是让它们解决给定的数学问题。在科扎的实验中,我们可以观察到,越来越深的“结构深度”被构建到了当前性能最佳的代数表达式中,用来描述表达式的算法解析树所长出的诸多分支。
1704532974
1704532975
图9-1给出了在科扎的实验中,结构随着对“好的解决方案”的搜索的进行而不断增长的一个例子。正如我们很容易就可以看到的,这种机制也不是单向的。当新出现的表达式替换掉了原始系统中“根基”附近的符号表达式时,就会发生结构深度和复杂性的反转。总的来说,结构深度是增加了,但是“在途中”会间歇性地反转成为相对更简单的结构。
1704532976
1704532977
1704532978
1704532979
1704532980
图9-1 当前最佳表达式的结构深度与搜索代数之间的关系
[
上一页 ]
[ :1.704532931e+09 ]
[
下一页 ]