考虑下虚拟世界和现实世界的差异。如果你想建一家真实的旅馆,就得花费大量的时间、精力和材料来做相邻客房的隔音。如果是一座虚拟旅馆,你就完全不必这么做。对于虚拟旅馆,若想让客人听到隔壁的声音,你反而得加上那种功能。你不得不加入非隔离性,还得加入阴影、气味、震动、污垢、脚印以及磨损。所有这些非功能性的特征在现实世界中本来就有。这些让虚拟世界看上去更为真实的东西有个统称:碰撞检测(collision detection)。如果曾经制作过电脑游戏,你很快就会意识到,仅仅在屏幕上放上一个运动着的形体还远远不够。这些形体会直接穿过彼此而不产生任何影响,你必须为更新循环加入碰撞检测机制,该循环会时刻干预程序中对象的行为,并使得对象不断询问自己:“我是不是碰上了其他东西?”
在《马罗之挽歌》(Le Ton Beau de Marot, 1997)一书中,侯世达讨论了创造过程中“自发侵入”(spontaneous intrusion)的作用。在现实世界中,几乎所有的东西都会留下痕迹、造成阴影、散发气味、发出声音,它们为自发侵入提供了大量的机会。这也恰恰是虚拟世界缺乏的东西。从计算机建模者的角度看,虚拟世界的一大好处就是寂静:除了你提供给它的东西,什么也不会发生。这就让你可以从一张白板开始为模型逐个加入特征,从而得到一个拥有所需效果的最简模型。
噪声的缺席使计算机在模拟进化方面受到了极大限制,因为经自然选择的进化依赖于噪声,它能将意外发生的噪声转化为信号,从而化腐朽为神奇。计算机图形艺术家卡尔·西姆斯(Karl Sims)的《虚拟生物的进化》(Evolved Virtual Creatures, 1994)是早期计算机模拟进化过程的佼佼者,迄今为止,它仍然是最令人印象深刻的模型之一。
西姆斯随机装配了一些带关节的虚拟物体,它们的虚拟肌肉可以使这些关节活动,接着,他让这些物体以虚拟环境中的物理规律在其环境中进化。程序会自动选择那些在实验中移动得最远的装配方式,让具有这种装配方式的物体虚拟交配产生后代,再在后代中重复这一实验。在没有任何智能设计者干预的情况下,这些活动物体进化出了越来越出色的游泳、行走以及跳跃能力。这些设计远非随机,它们表明,虚拟进化能多么有效地近似发现优秀的设计原则,并近似重塑自然中那些令人惊叹的多样特征。
这是一个让人叹为观止的演示,它向我们展示了一个相对简单的模型中能够包含多少东西,但它也表明了虚拟进化受到的限制。西姆斯设计的这个简单的发展系统以全部基因组作为输入,输出新生物体,但这一过程在后台运行,并不是虚拟世界的一部分。结果,一些由虚拟碎片引起的意外颠簸、震动和碰撞既不能缩短也不能延长基因组,更不能改变基因表达的规律。所有的机制并非存在于这个虚拟世界及其中的虚拟物体上,因此它是不变的。比如说,西姆斯创造的这些东西就根本没法进化出一条新的染色体。整个遗传系统位于模型之外,并未直面自然选择,仅仅通过设定的规则传递遗传信息。有关这一现象的其他例子见第51章。
在有关创造性的计算机模型中,你应该会遇到一些躲不开的垃圾和噪声。隔壁房间小杂音的自发侵入可以悄然改进这些过程,也许只是意外,也许在某种程度上具有破坏性,但无论如何它开辟了新的可能性。无论对新的基因组、新的行为,还是新的旋律来说,利用意外均是创新的关键。
让我澄清一下我没说的是什么。西姆斯的问题不在于他所创造的这些能够进化的东西并非由碳或蛋白质、血红蛋白这类物质构成。问题是,它们是虚拟的。它们生活的虚拟世界比生物进化的世界简单得多。柯普的EMI也面临同样的问题。尽管该软件非常奇妙,但它还是比人类的音乐世界要简单上好几个数量级。令人愉快的是,这两个例子表明了你从一个一尘不染、寂静无声、高度抽象的世界那里能得到多少东西。
可以设想,通过添加越来越多的垃圾、越来越多的碰撞机会,我们就可以对柯普的EMI、西姆斯的工作或其他的任何人工生命、人工造物做出改进。这将给他们的虚拟世界提供更多的虚拟物件,而且你永远都无法知道会有什么巧事发生。但是,考虑下这类建议多么有违直觉:
无论你在为什么东西建模,确保每一个现象、每一个子程序、在那个世界发生的一切,都能在世界上散播各种非功能性的影响:产生一些不和谐的噪声、留下一些痕迹、散布一些灰尘、引发一些震动等。
为什么呢?加入这些噪声为的是什么?加入它们并不是为了什么,加入噪声只是让其他所有进程可以将其作为一个潜在的信号源,并通过创造性算法的炼金术使其有可能转变成某种东西,例如某种功能、某个艺术品或意义。宇宙中的每一个设计增量都始于某个机缘巧合的时刻:回过头去看,两条轨迹的意外交叉会产生出某种东西,而不仅是发生了一次单纯的碰撞。但是,如果计算机建模者过于遵循这条建议,他们就浪费了效率,而效率正是计算机伟大之所在。因此这里有一种微妙的自平衡。不难发现,计算机建模表现出的创造力面临收益递减,这并没有什么神秘的原因:为了一步步地逼近人类的创造力,模型必须变得越来越具体,必须越来越多地为只有实体间才能发生的偶然碰撞建立模型。