第5章 蜂群思维(4)
不过,仅仅解决闲置问题并不是分布式计算的主要意义。分布式系统和蜂群思维有其独特的优势,比如,对突然出现的故障具有极强的免疫力。在加利福尼亚州帕罗奥多市〔帕罗奥多市(Palo Alto):位于加州北部湾区地带,著名的斯坦福大学就位于该市。〕的数字设备公司〔数字设备公司:Digital Equipment Corporation〕的实验室里,一名工程师向我演示了分布式计算的优势:他打开装有公司内部计算机网络的机柜门,动作夸张地从里面拔掉了一条电缆。网络路由毫不迟疑地绕过了缺口。
当然,任何蜂群思维都有失灵的时候。但是,因为网络的非线性特质,当它确实失灵的时候,其故障可能类似于除了蔬菜什么食物都记得的失语症。一个有损伤的网络智能也许能计算出圆周率的第十亿个数位,却不能向新地址转发邮件;它也许能查出为非洲斑马变种进行分类这样晦涩难懂的课本文字,却找不出任何有关一般动物的合乎情理的描述。对蔬菜的整体“健忘”不太像局部的储存器故障,它更像是系统层面上的故障,据其症状推断,有可能是与蔬菜相关的某种特殊关联出现了问题——就像计算机硬盘中的两个独立但又相互矛盾的程序有可能造成一个“漏洞”阻止你打印斜体字一样。斜体字的存储位置并没有被破坏,但是渲染斜体字的系统进程被破坏了。
创建分布式计算机思维所遇到的一些障碍可以通过将计算机网络建立在一个箱体内的方法加以克服。这种经过刻意压缩的分布式计算也被称为并行计算,因为在超级计算机中的成千上万的计算机在并行运转。并行超级计算机不能解决“办公桌上闲置的计算机”问题,也不能将散布各处的计算能力聚合起来;并行运转是其本身和内部的一个优势,不过单就为了这一点,也值得花一百万美元来制造一个单机装置。
并行分布式计算非常适用于感知、视觉和仿真领域。并行机制处理复杂性的能力要好于以体积庞大、运算速度超快的串行计算机为基础的传统超级计算机。在采用稀疏分布式内存的超级计算机里,记忆与数据处理之间的差异消失了。记忆成为了感知的再现,与最初的认知行为没有什么区别。两者都是从一大堆互相连接的部件中涌现出来的模式。
2.5从量变到质变
满满一槽的水。当你拔去水槽的塞子,水就会开始搅动,形成涡流。涡流发展成为漩涡,像有生命一般成长。不一会儿,漩涡从水面扩展到槽底,带动了整个水槽里的水。不停变化的水分子瀑布在龙卷中旋转,时刻改变着漩涡的形状。而漩涡持续不变,就在崩溃的边缘舞动。“我们并非僵滞的死物,而是自我延续的模式,”诺伯特·维纳〔诺伯特·维纳(Norbert Wiener,1894.11.26~1964.03.08):美国数学家,美国科学院院士,控制论的创始人。〕如是写道。
水槽空了,所有的水都通过漩涡而流得一干二净。当满槽水都从槽里排入下水道后,漩涡的模式到哪去了呢?这模式又是从何而来呢?
不管我们在何时拔掉塞子,漩涡都会无一例外地出现。漩涡是一种涌现的事物——如同群一样,它的能量及结构蕴涵于群体而非单个水分子的能量和特性之中。不论你多么确切地了解H2O(水的分子式)的化学特征,它都不会告诉你任何有关漩涡的特征。一如所有涌现的事物,漩涡的特性来源于大量共存的其他个体;在之前所举的例子中,是满满一槽的水分子。一滴水并不足以显现出漩涡,而一把沙子也不足以引发沙丘的崩塌。事物的涌现大都依赖于一定数量的个体,一个群体,一个集体,一个团伙,或是更多。
数量能带来本质性的差异。一粒沙子不能引起沙丘的崩塌,但是一旦堆积了足够多的沙子,就会出现一个沙丘,进而也就能引发一场沙崩。一些物理属性,如温度,也取决于分子的集体行为。空间里的一个孤零零的分子并没有确切的温度。温度更应该被认为是一定数量分子所具有的群体性特征。尽管温度也是涌现出来的特征,但它仍然可以被精确无疑地测量出来,甚至是可以预测的。它是真实存在的。
科学界早就认为大量个体和少量个体的行为存在重大差异。群聚的个体孕育出必要的复杂性,足以产生涌现的事物。随着成员数目的增加,两个或更多成员之间可能的相互作用呈指数级增长。当连接度高且成员数目大时,就产生了群体行为的动态特性。——量变引起质变。
2.6群集的利与弊
有两种极端的途径可以产生“更多”。一种途径是按照顺序操作的思路来构建系统,就像工厂的装配流水线一样。这类顺序系统的原理类似于钟表的内部逻辑——通过一系列的复杂动作来映衬出时间的流逝。大多数机械系统遵循的都是这种逻辑。
还有另一种极端的途径。我们发现,许多系统都是将并行运作的部件拼接在一起,很像大脑的神经元网络或者蚂蚁群落。这类系统的动作是从一大堆乱糟糟且又彼此关联的事件中产生的。它们不再像钟表那样,由离散的方式驱动并以离散的方式显现,更像是有成千上万个发条在一起驱动一个并行的系统。由于不存在指令链,任意一根发条的某个特定动作都会传递到整个系统,而系统的局部表现也更容易被系统的整体表现所掩盖。从群体中涌现出来的不再是一系列起关键作用的个体行为,而是众多的同步动作。这些同步动作所表现出的群体模式要更重要得多。这就是群集模型。
这两种极端的组织方式都只存在于理论之中,因为现实生活中的所有系统都是这两种极端的混合物。某些大型系统更倾向于顺序模式(如工厂),而另外一些则倾向于网络模式(如电话系统)。
我们发现,宇宙中最有趣的事物大都靠近网络模式一端。彼此交织的生命,错综复杂的经济,熙熙攘攘的社会,以及变幻莫测的思绪,莫不如此。作为动态的整体,它们拥有某些相同的特质:比如,某种特定的活力。
这些并行运转的系统中有我们所熟知的各种名字:蜂群、电脑网络、大脑神经元网络、动物的食物链、以及代理群集。上述系统所归属的种类也各有其名称:网络、复杂自适应系统、群系统、活系统、或群集系统。我在这本书中用到了所有这些术语。
每个系统在组织上都汇集了许多(数以千计的)自治成员。“自治”意味着每个成员根据内部规则以及其所处的局部环境状况而各自做出反应。这与服从来自中心的命令,或根据整体环境做出步调一致的反应截然不同。
这些自治成员之间彼此高度连接,但并非连到一个中央枢纽上。它们组成了一个对等网络。由于没有控制中心,人们就说这类系统的管理和中枢是去中心化分布在系统中的,与蜂巢的管理形式相同。
以下是分布式系统的四个突出特点,活系统的特质正是由此而来:
没有强制性的中心控制;
次级单位具有自治的特质;
次级单位之间彼此高度连接;
点对点间的影响通过网络形成了非线性因果关系。
上述特点在分布式系统中的重要度和影响力尚未经过系统地检验。
本书主题之一是论述分布式人造活系统——如并行计算、硅神经网络芯片、以及因特网这样的庞大在线网络等——在向人们展示有机系统的迷人之处的同时,也暴露出它们的某些缺陷。下面是我对分布式系统的利与弊的概述。
群系统的好处:
可适应——人们可以建造一个类似钟表装置的系统来对预设的激励信号进行响应。但是,如果想对未曾出现过的激励信号做出响应,或是能够在一个很宽的范围内对变化做出调整,则需要一个群——一个蜂群思维。只有包含了许多构件的整体才能够在其部分构件失效的情况下仍然继续生存或适应新的激励信号。
可进化——只有群系统才可能将局部构件历经时间演变而获得的适应性从一个构件传递到另一个构件(从身体到基因,从个体到群体)。非群体系统不能实现(类似于生物的)进化。
弹性——由于群系统是建立在众多并行关系之上的,所以存在冗余。个体行为无足轻重。小故障犹如河流中转瞬即逝的一朵小浪花。就算是大的故障,在更高的层级中也只相当于一个小故障,因而得以被抑制。
无限性——对传统的简单线性系统来说,正反馈回路是一种极端现象——如扩声话筒无序的回啸。而在群系统中,正反馈却能导致秩序的递增。通过逐步扩展超越其初始状态范围的新结构,群可以搭建自己的脚手架借以构建更加复杂的的结构。自发的秩序有助于创造更多的秩序——生命能够繁殖出更多的生命,财富能够创造出更多的财富,信息能够孕育更多的信息,这一切都突破了原始的局限,而且永无止境。
新颖性——群系统之所以能产生新颖性有三个原因:(1)它们对“初始条件很敏感”——这句学术短语的潜台词是说,后果与原因不成比例——因而,群系统可以将小土丘变成令人惊讶的大山。(2)系统中彼此关联的个体所形成的组合呈指数增长,其中蕴藏了无数新颖的可能性。(3)它们并不强调个体,因而也允许个体有差异和缺陷。在具有遗传可能性的群系统中,个体的变异和缺陷能够导致恒新,这个过程我们也称之为进化。
群系统的明显缺陷:
非最优——因为冗余,又没有中央控制,群系统的效率是低下的。其资源分配高度混乱,重复的努力比比皆是。青蛙一次产出成千上万只卵,只为了少数几个子代成蛙,这是多么大的浪费!假如群系统有应急控制的话——例如自由市场经济中的价格体系,那么可以在一定程度上抑制效率低下,但绝不可能像线性系统那样彻底消除它。
不可控——没有一个绝对的权威。引领群系统犹如羊倌放羊:要在关键部位使力,要扭转系统的自然倾向,使之转向新的目标(利用羊怕狼的天性,用爱撵羊的狗来将它们集拢)。经济不可由外部控制,只能从内部一点点地调整。人们无法阻止梦境的产生,只能在它现身时去揭示它。无论在哪里,只要有“涌现”的字眼出现,人类的控制就消失了。
不可预测——群系统的复杂性以不可预见的方式影响着系统的发展。“生物的历史充满了出乎意料。”研究员克里斯·朗顿〔克里斯·朗顿(Chris Langton,1949~):美国生物学家,仿生领域开创者之一。1980年代他发明了术语仿真,1987年在洛斯阿拉莫斯国家实验室组织了第一次“生命系统的合成仿真国际会议”。——译自“维基百科”〕如是说。他目前正在开发群的数学模型。“涌现”一词有其阴暗面。视频游戏中涌现出的新颖性带给人无穷乐趣;而空中交通控制系统中如果出现涌现的新情况,就可能导致进入全国紧急状态。
不可知——我们目前所知的因果关系就像钟表系统。我们能理解顺序的钟表系统,而非线性网络系统却是道地的难解之谜。后者淹没在它们自制的困思逻辑之中。A导致B,B导致A。群系统就是一个交叉逻辑的海洋:A间接影响其他一切,而其他一切间接影响A。我把这称为横向因果关系。真正的起因(或者更确切地说,由一些要素混合而成的真正起因),将在网络中横向传播开来,最终,触发某一特定事件的原因将无从获知。那就听其自然吧。我们不需要确切地知道西红柿细胞是如何工作的,也能够种植、食用、甚至改良西红柿。我们不需要确切地知道一个大规模群体计算系统是如何工作的,也能够建造、使用它,并使之变得更加完美。不过,无论我们是否了解一个系统,都要对它负责,因此了解它肯定是有帮助的。