我们已经看到了生命体是多么不可思议,经过多么优美的"设计"而偶然出现的。生命究竟是如何出现的呢?答案--达尔文的答案--是从简单到足以偶然出现的原始个体逐渐地、一步步地转变而成的。逐步进化过程中的每一个后续变化与前期变化相比都简单到足以偶然发生。但是当你考虑最终产品与起点相比的复杂性时你就会发现整个累积的过程绝非是偶然的过程,而是一个受到非随机生存引导的过程。本章的目的是展示"累积选择"作为一个基本的非随机过程的强大力量。
如果你在一个多卵石的海滩漫步,你会注意到那些鹅卵石并不是随机排列的。体形较小的鹅卵石往往出现在孤立的地区,而体形较大的鹅卵石则出现在其他的区域或者窄长的条形地带。这些鹅卵石经过了分类、排列和选择。居住在岸边的部落可能会对这种分类和排列感到惊讶,并且可能发展出一个用来解释它的神话,或许会把它归因于上天一个喜欢整洁和秩序的伟大神灵。对于这种迷信的观念,我们可能会付之一笑,并解释说这种排列实际上是物理学中的盲目的力量--在这个例子中是波浪的运动--造成的。波浪既没有目的,也没有意图,没有思想,更不必说喜好整洁的思想了。它们只不过是精力充沛地到处抛弃鹅卵石,体形大小有别的鹅卵石对此的反应各异,从而停留在了海滩的不同位置上。这种微小的秩序实际上来自于无秩序,其中根本没有头脑的规划。波浪和鹅卵石共同构成了一个能够自动创造非随机性的简单系统。世界上充满了这样的系统。我能够想到的最简单的例子是一个洞。只有比这个洞小的物体才能够通过它。这意味着如果你在洞的上方对物体进行随机的选择,通过某种力量对它们进行随机的摇晃和震动,经过一段时间之后,洞的上方和下方的物体就会非随机地进行分类,洞下方的空间将存有比洞小的物体。人类很早就开始利用这个创造非随机性的原则了,并制造出了非常有用的工具--筛子。
太阳系是一个由围绕太阳运转的行星、彗星和碎片组成的一个稳定的排列,它也是宇宙当中许多个这样的环绕系统之一。卫星距离太阳越近,它就必须运转得越快,因为只有这样它才能够抗拒太阳的引力,保持其稳定的轨道。对于任何一个特定的轨道,卫星能够保持在该轨道运转的速度是惟一的。如果卫星以其他的速度运转,它就会进入更远的太空,或者坠落到太阳之中,或者进入另外一个轨道。如果我们观察一下我们太阳系的行星,每一颗行星都在以能够使其保持在围绕太阳的轨道中的速度运转。这是出自有远见的设计而形成的奇迹?不,它只不过是另外一个天然"筛子"而已。很明显,我们看到的围绕太阳运转的所有行星一定都是以能够使其停留在轨道中的速度在运转,否则我们根本不会看到它们,因为它们无法停留在轨道中。同样明显的是,没有有意识设计的证据,它只不过是另外一种类型的筛子而已。这种简单的筛选本身并不足以解释我们在生命体中看到的大量非随机秩序。请回忆一下组合锁的类比。简单筛选能够得到散非随机结果大致相当于只用一个转盘打开一个组合锁:能否打开全靠运气。但是另一方面,我们在生命体中看到的非随机性就如比是一一个巨大的具有无数转盘的组合锁。为了生成一个像血红蛋白这样的分子,血液中的红色素通过简单的筛选,就相当于牦血红蛋白的构成元素氨基酸随机进行混合,希望它们依靠运气辣生产血红蛋白分子。要完成这个任务所需要的运气是不可想伤的,用艾萨克?阿西莫夫①等人的话来说就是绝对"难以置信"。一个血红蛋白分子是由4条螺旋状缠绕在一起的氨基酸链组威的。让我们来考虑其中的一一个链条。它包括l46个氨基酸。生命体中一般包含20种氨基酸。将20种事物在链条的46个王不节上进行排列的可能性是一个不可想像的巨大数字,阿西莫夫耪其为"血红蛋白数字"。这个答案虽然容易计算,但是无法将其表示出来。包含l46个环节的链条的第一个环节可以是20种可能氨基酸中的任何,第二个环节也可能是20种中的任何一种,两个环节的可能性是20x20,也就是400;第三个环节的可能性是20x20x20,也就是8000;46个环节的可能性是20的46欢方。这是一个惊人的庞大数字。l00万是在的后面有6个0,0亿是在l的后面有9个0,而我们要找的这个数字,即"血红蛋白数字"近似于在的后面有l90个0这就是凭运气偶然生产血红蛋白的概率。而一个血红蛋白分子与生命体复杂性相比简直是小巫见大巫。很明显,仅仅依靠简单筛选本身根本不可能创造出井然有序的生命体,它只不过是创造生命秩序过程中的一个:基本组成部分,远远不是全部。我们还需要其他的东西。为了说①艾萨克?阿两莫夫,l920一992,俄裔美国科学家和多产作家。其作品包括《科学原理的通俗解释和科幻卷》,其中包括《基础三部曲》(963年)。
明这一点,我首先需要区分"一步选择"和"累积选择"。到目前为止,我们在本章中考虑的简单的筛子都是一步选择的例子,而生命组织则是累积选择的产物。
一步选择和累积选择的本质区别在于:在一步选择当中,被选择或者分类的个体,无论是鹅卵石还是别的其他东西,只经过一次分类;而在累积选择当中,它们却是反复进行的,也就是说,一个筛选过程的结果进入下一个筛选过程,依此类推,实体要经过许多代的选择或者分类,某一代选择的最终产物是下一代选择的起点,这个过程要延续许多代。我l'lar自然地借用"繁殖"以及"代"等与生命体相关联的词汇,因为生命体是我们已知的参与累积选择的最主要实例。它们实际上可能也是惟一参与累积选择的事物。但是在目前,我并不希望武断地做出结论。
有时候云朵经过风的揉捏和雕琢会呈现出我们熟悉的物体的形状。曾经有一幅广为刊登的照片,它是由一个小型飞机的飞行员拍摄的,看起来好像是耶稣在空中张望的面容。我们都曾经看到过一些能够使得我们联想到其他事物的云朵,例如一只海马,或者是一张笑脸。这些相似性来自于一步选择,也就是说是一次巧合。因此,它们并不具有说服力。黄道十二宫与动物之间存在一定的相似性,并由此而得名,例如天蝎、狮子等等,但是它们就像占星术士的预言一样不能令人信服。我们并不会因为这种相似性而感到惊讶,因为我们通过生物适应,已经成为累积性选择的产物。我们会认为昆虫与树叶之间、或者螳螂与一束花之间的相似性不可思议,但是云朵与黄鼠狼之间的相似却很少能够引起我们的关注,根本不值得招呼同伴来观看。而且,对于云朵究竟与什么东西最相似,我们会很快改变自己的观点。
哈姆雷特:你有没有看到远处的云朵很像一峰骆驼?波洛尼厄斯:噢,它确实很像一峰骆驼。
哈姆雷特:我想它像一只黄鼠狼。波洛尼厄斯:确实像一只黄鼠狼。哈姆雷特:还是像一头鲸鱼?
波洛尼厄斯:非常像一头鲸鱼。
我不记得是谁首先指出:只要有足够的时间,一只随机猛敲打字机的猴子能够敲出莎士比亚的所有著作。最重要的条件是--有足够的时问。现在让我们把猴子所面临的任务限制一下。假设它要创造的不是莎士比亚的所有著作,而是一个简单的句子"我想它像一只黄鼠狼",而且我们给它一个只有26个字母和一个空格键的键盘。那么,它写出这个句子需要多长的时问呢?这个句子总共有28个字母,我们假设猴子会进行一系列谨慎的"尝试",每一次都会在键盘上敲打28个字母。如果它打出了正确的句子,试验就结束了;如果它没有成功,我们允许它进行另一次28个字母的"尝试"。我不认识猴子,不过幸运的是,我的ll个月大的女儿是一个经验丰富的随机打字工具,她非常急于充当"猴子打字员"角色。以下就是她在打字机上打出来的句子:UMMK K CDZZ ZD DSDSKSM
S SS MCV PU DDRGLKDXRRDo
RDE QDWDVOY UDSKZWD(:CVY CVY NMGNBAYDCCVD D
RCDYYYRM N DSKD LD K WDWKKAZMZ XDKDS[MDKUDX
其他一些重要的事情占去了她的时间,于是我不得不对电脑进行编程来模拟一个随机打字的婴儿或者猴子:
WDLDMNL DBKWRZREZLMQCO P
YVMQKZPGXWVGLAWVCQYOPYMWR SWNUXMLCDLEUBXWNZVQU OVAODVYKDGXDEKYVMOGGS VZQZDSZVPZPEPWVOVPMZGGEWRGZRPBCPGQMCKDBGW ZCC依此类推。我们不难计算出需要等待多长时间,随机电脑(或者婴儿,或者猴子)才能够打出"我想它像一只黄鼠狼"这个句子。让我们来考虑一下随机电脑或者婴儿或者猴子能够打出的长度正确的句子的总数。这跟我们在研究血红蛋白时的计算方法一样,而且得出的结果也同样庞大。首先总共有27个可能的字母(把空格算做一个字母),猴子碰巧正确打出第一个字母M的机会是l/27;它正确打出前两个字母ME的机会是在正确打出第一个字母M的前提下,正确打出第二个字母E,因此概率是l/27×/27,等于/729;它正确打出第一个单词MENKS中8个字母的概率是8个/27相乘,也就是l/27的8次幂;它正确打出整个句子的概率是/27的28次幂,也就是l/27自乘28次。这是一一个非常小的小数,大约等于一万百万百万百万百万百万百万分之一一。也就是说,这个小句子就需要我们等待非常长的时间,更不必说莎士比亚的所有著作了。
随机变异一次选择的数目已经如此庞大了,那么累积选择呢?它的效率应当有多高昵?非常非常非常高,或许已经超出了我们的想像。我们再一次利用猴子,不过这一次却使用完全不同的程序。首先,我们像以前一样选择一个由28个字母组成的随机序列:WDLMNL DBKWRZREZLMQCO P现在它对这个随机序列进行改良:反复地复制这个句子,但是在每一次复制的过程中都会出现一个小错误-一"突变"。电脑对突变的无意义的句子--原始序列的"后裔"--进行检查,选择最接近目标句子"我想它像一只黄鼠狼"的序列。在这种情况下,在下一"代"中胜出的序列恰好是:
WDLMNL DBSWRZREZLMQCO P
这并不是一个明显的改进!但是,这个过程在反复地进行,这个新序列又将产生突变的"后裔",于是又选择出一个新"胜利者"。这个过程在一代代地延续。经过l0代之后,用于"改良"的序列已经变成:
MDLDM[NLS SWRZREZ MECS P经过20代之后,它变成了:
MELDNLS SWPRKE Z WECSEL现在,我们可以看出它跟目标句子之间已经存在了一定的相似性。经过30代之后,我们可以确信无疑:
MENKS SLKE A WEASE0 MENKS S LKE A WEASEP 我们在第64代实现了目标。在第三轮测试当中,电脑从以下的序列开始: GEWRGZRPBCPGQMCKDBGW ZCC 我们S在L经KE过A4W代EA的S"E选L"择。性改良''之后实现了目标"MENKs电脑究竟花费了多长时间实现目标无关紧要。如果你确实想知道的话,我可以告诉你,在我出去吃午饭的时候,电脑就完成了测试,花费了大约半个小时的时间(电脑专家可能认为不应该这么慢,原因是这个程序是用BASC语言编写的,相当于电脑的咿呀学语。我用PASCAL语言重新改写之后,整个测试只花了ll秒)。对于这类工作,电脑比猴子要快一些,但是差别并不明显。真正重要的是累积选择花费的时间与单步选择:芘费的时间--一百万百万百万百万百万年--之间的差别。:这是宇宙存在时间的一百万百万百万倍。可以说,与猴子或者随机编程的电脑打出目标句子所花费的时间相比,到目前为止宇宙的年龄d,N可以忽略不计。但是,一台执行相同任务的、在累积选择约束之下的电脑所需要的时间少至l l秒种,多则一顿午饭的时间。
因此,累积选择(每次改进,无论多么微小,:郜被用作未来建设的基础)和单步选择(每次尝试都是崭新的)存在着巨大的差别。如果革命性的进步不得不依赖单步选择的话=.它永远不会发生。但是,如果盲目的自然力量能够建立累积选择的必要条件的话,将会产生奇妙的结果。事实上,这就是在这个星球上所发生的一切,我们人类就是最近的、或许也是最奇妙的结果。
我关于血红蛋白的计算仿佛构成了反对达尔文理论的观点,很奇怪,你竟然能够看着它而无动于衷。这样的人往往是自己领域中的专家,例如天文学家等等,他们认为达尔:丈仅仅用概率--单步选择--来解释生命组织。这种信念一一达尔文所说的进化是"随机"的--不仅是错误的,而且是站在了真理的对立面。概率在达尔文理论中只是微不足道的部分,最重要的部分则是累积选择,而它恰恰是非随机的。
云朵不能进入累积选择。不存在使得具有特定形状的云朵产生出类似自身的子云朵的机制。如果存在这样一个机制的话,看似黄鼠狼或者骆驼的云朵能够产生具有大致相同形状的子云朵,累积选择就有机会进行。当然,云朵有时候确实会分解形成子云朵,但是这并不足以形成累积选择。一个必要条件是子云朵应该更像自己的父系,而不是祖系。近年来,一些对自然选择理论发生了兴趣的哲学家似乎对这重要的一点有所误解;另外一个必要条件是一个特定云朵的生存和复制应当取决于它的形状。或许在某个遥远的星系中,这些条件确实存在,在数百万年过去之后,结果出现了虚无缥缈的生命形式。这可以是一部优秀的科幻小说--《白云》--但是对我们的目的而言,类似猴子/莎士比亚这样的电脑模型更加容易掌握。
尽管猴子/莎士比亚电脑模型有助于理解单步选择和累积选择之间的区别,但是它在某些重要方面可能发生误导。其中的一点是,在每一个选择性后代中,对突变的"后代句子"进行判断的依据是与遥远的理想目标--"我想它像一只黄鼠狼"--之间的相似性。生活并不是这样的。进化并没有长期的目标,没有遥远的标靶,没有最终的完美结果作为选择的依据,尽管人类的虚荣心促使我们乐于接受我们人类是进化的最终目标的观点。在现实生活当中,选择的依据永远是短期的,要么是简单的生存,要么从更加广义上来说是繁衍成功。如果在几千年之后,后来看起来似乎是朝着某个遥远的目标进步的过程,也只不过是许多代短期选择的结果。累积性自然选择对于未来是盲目的,并没有长期的目标。我们可以改变电脑模型,以考虑进这一点。我们也可以从另外的方面使得它更加现实。字母和单词具有人类的痕迹,所以,我们这一次让电脑进行绘画。或许通过突变的累积选择,我们可以看到电脑中出现类似动物的形状。在开始的时候,我们:不能嵌入特定的动物图像,我们希望作为随机突变的累积选择的自然结果而出现。在现实生活中,每一种动物的形状都是通过胚胎发育形成的。进化之所以发生,是因为在连续的世代更迭中,胚胎发育有略微的不同。这些区别来自于控制发育的基因的变化(突变--这就是我说的过程中微小的随机因素)。因此,在我们的电脑模型中,我们必须具有等价于胚胎发育的东西,或者等价于能够突变的基因的东西。有许多种方法可以满足电脑模型中的这些要求。我选择了一种方式,并把它编入了电脑程序之中。我现在要描述一下这个电脑模型,因为我想它具有启发意义。如果你对电脑一无所知,你只要记住,电脑是严格遵照你的指令行动并经常带来令你惊讶结果的机器。对电脑的一系列指令称为程序。
胚胎发育是一个十分复杂的过程,难以在一台小小的电脑上现实地模拟,我们必须用某些简化的类比来代表它。我们必须找到一条简单的绘画规则,电脑能够容易地遵守,并且能够在"基因"的影响之下发生改变。我们应该选择怎样的绘画规则呢?电脑教科书经常用一个简单的树木生长图来解释他们"递推"编程法的效力:电脑首先画一条竖线,接着这条线一分为二二:,然后每一个分支又各自分成两个子分支,子分支又继续分成更小的分支,依此类推。这种方法之所以是"递推"的,是因为同样的规则(在这里是分支法则)适用于所有正在生长的树木。无论这棵树长得多么大,同样的分支法则适用于所有树梢的尖端。
递推的"深度"指的是在生长过程停止之前允许的分支的数目。图2显示的是当电脑严格遵守绘图规则,在不同的递推深度情况之下的结果。在较高的递推深度下,该模式变得非常复杂,但是你可以很容易从图2中看出,它仍然是同一个简单的分支规则的结果。当然,这正是现实的树木上发生的事情。橡树或者苹果树的分支模式看似复杂,但是实际上并非如此。基础的分支模式是非常简单的。这个模式应用于树木所有尖端--分支产生子分支,子分支又产生子子分支,依此类推--才使得整棵树高大而茂盛。
递推分支法则也是植物和动物胚胎发育的很好类比。我并不是说动物胚胎看起来像分叉的树木,事实上它们并不像。但是所有的胚胎都通过细胞分裂来生长。细胞总是分裂成两个子细胞。基因总是通过对本地的细胞以及细胞分裂的二分模式发生作用,而对整体施加影响。动物基因并不是整体的蓝图,正如我们可以看到的那样,基因更像是配方,而不是蓝图;而遵循这个配方的并不是发育中的整个胚胎,而是每一个本地细胞或者一连串的分裂细胞。我并不否认胚胎以及后来的成体拥有大型的身体。但是这种大型的身体来自于许多小的本地细胞的效应,这些本地的效应主要是二分模式的细胞分裂。基因正是通过影响本地的事件才最终对整个成体发生作用的。
因此,这个描绘树木的简单分支规则似乎是模拟胚胎发育的可能方法。于是,我们把它编写进一个小小的电脑程序当中,命名为"发育",并准备将其嵌入一个更大的名为"进化,,的程序当中。作为编写这个大程序的第一步,我们现在要把注意力转移到基因身上。在电脑模型当中.我们用什么来代表基因呢?在现实当中,基因有两项功能:首先它们影响发育,其次它们会传递到下一代。现实的动物和植物拥:有数万基因,但是我们只把电脑模型限制在9个。在电脑中每个基因都用数字代表,并称为基因的值。例如,某个基因的值可能:是4或者一7。
我们怎样让这些基因影响发育呢?它们能够做许多事情。基本的想法是它们可以对绘画规则发挥微小的影响。例如,一个基因可能影响分支的角度,另外一个基因可能影响特定分支的长度。基因可以做到的显而易见的另外一件事情是影响递推的深度,也就是连续分支的数目。我为9号基因赋予了这项功能。你可以把图2看做是7个相关组织的图画,我不能具体说出其他8个基因的功能。你可以研究图3来大致了解它们的功能。在图的中央是基础树,来自于图2。在这个基础树的周围是8个其他的树,除了一个基因被改变--突变--之外,其他基因都与基础树相同。例如,基础树右侧的树显示了基因5发生突变,使其值+之后的结果。如果空间足够大的话,我希望在基础树的周围画上8个突变树。原因是一共有9个基因,每个基因都可以向上突变(值增加)或者向下突变(值减少)。因此,l8个树足以代表所有可能的源自于中央基础树的一步突变。
每一棵树都有自身独特的"基因公式",也就是9个基因的数值。我没有写下基因公式,因为它们对你毫无意义。对于真正的基因也是如此。基因只有经过蛋白质合成,翻译成为胚胎发育规则之后才具有意义。在电脑模型中也是如此,9个基因的数值只有在被翻译成树木分支模式之后才有意义。但是你可以通过比较两个已知具有特定基因差别的树体来了解基因的作用。例如,你可以将中央的基础树与它左右两侧的树进行比较,这样你就可以了解5号基因的作用。
这也是基因学家在现实中的做法。基因学家通常不知道基因是如何对胚胎发挥作用的,也不了解任何动物的完整基因公式。但是通过对两个已知存在特定基因差别的成年动物身体的比较,他们就可以看到该基因的效应。不过,现实中的情况更加复杂,因为基因的效应是相互影响的,而不仅仅是简单的叠加。电脑树也同样如此,在后面的插图中我们将看到这一点。
你会注意到所有的形状都是左右对称的。这是我对"发育',程户赋予的约束条件。这部分是出于审美的原因,部分是为了减少生须的基因数量(如果基因对树的两侧的影响:不同,我们必须区乡左右基因),第三个原因是我希望它演化成类似动物的形状,而自大多数动物体都是对称的。出于同样的原因,从现在开始,我刁再将这些生物称为"树",而是改称为"生物体"或者"生物形态,,生物形态是德斯蒙德?莫里斯为他超现实主义绘画中模糊的亏物形状所起的名字。我特别喜欢这些绘画,因为其中一幅用在了我的第一本书的封面上。德斯蒙德?莫里斯说,这些生物形态柏他的大脑中"进化",可以通过连续的画作来追寻其进化的过程还是回到电脑生物形态和8种可能的突变,其中一些有代表一目的如图3所示。由于每一幅图都是源自于中央生物形态的一苕突变,我们很容易看出它们都是中央形态的后代。我们的模拟秸序是"繁殖",跟"发育"一样,我们可以将它打包进另外一个小酐电脑程序中,并准备嵌入另外一个更大的、名为"进化,'的程序兰中去。对于"繁殖"有两点需要注意:()没有性别之分。繁殖是无性的。我把生物形态想像成阴性,l77无性繁殖的动物,例女[蚜虫,基本上都是阴性。(2)我所说的突变都是每次只发生一科突变。后代与它的母体只有一个基因的差别;另外,突变就是犒母体基因的值+或者一l。所有这些约束只不过是为了方便起见:它们可以有另外的设定,但在生物学上仍然是成立的。
但是这一条并不适用于模型的以下特征,也枞'疋El:二-例学、的一条基本原则。每个后代的形状并非直接来自于母体的形状。每一个后代的形状来自于其自身9个基因(影响角度、距离等等)的数值。每一个后代从母体的9个基因获得自身的9个基因。现实生活中的情况就是如此。生物体不会传递到下一代,而基因会传递到下一代。基因会影响胚胎的发育。基因的性质不受生物体发育的影响,但是它们传递下去的可能性却受到它们帮助创造的母体成功与否的影响。这就是为什么在电脑模型中"发育"和"繁殖"是两个独立的部分。只不过"繁殖"会把基因的数值传递给"发育",从而影响生长规则。需要强调的是,"发育"不会反过来把基因的数值传递给"繁殖"--那无异于拉马克主义(见第十一童)。
我们已经编制了两个程序模块--"发育"和"繁殖"。"繁殖"将基因传递到下一代,并有可能发生变异。"发育"接受"繁殖"提供的基因,并把这些基因翻译成绘画行动,从而在电脑屏幕上形成一个生物体的图像。现在是把这两个模块编写进叫做"进化"的大程序当中的时候了。
"进化"基本上是由无限重复的"繁殖"组成的。在每一代中,"繁殖"都会接受来自于上一代的基因,在经过微小的随机错误--突变之后,将其传递到下一代。所谓的突变就是将随机选择的基因的数值+或者一。这就意味着,随着世代的沿袭以及每次微小变化的累积,后代与原始祖先的总基因差别将变得非常巨大。尽管突变是随机的,世代之间的累积变化却不是随机的。任何一...代与其母体之间的差别都是随机的,但后代中谁被选择延续到下一代却并不是随机的。这正是达尔文式的选择。选择的依据并不在于基因本身,而在于通过"发育"形成基因影响的生物体。
除了被复制之外,每一代的基因还要进行发育,遵照其严格的规则在屏幕上生长出相应的个体。每一代的整"窝"后代(下一代中的每一个个体)都会展示在屏幕上。所有的这些后代都是同一母体的突变后代,每一个与母体只有一个基因的差别。这种高突变率是电脑模型中显著的非生物特征。在现实生活中,基因突变的概率往往低于百万分之一。我之所以设置这么高的突变率,是为了方便人眼在电脑屏幕上的观看,而且人类也不可能拥有等待00百万代基因出现的耐心。
人眼在这个故事中将扮演积极的角色。它是选择的中介。它会审视一窝后代并从中选择一个进行改良。被选择的后代成为下一代的母体,它的突变后代会同时展现在屏幕上。在此,人眼的角色与改良纯种狗或者优质玫瑰时扮演的角色完全相同。换句话说,我们的模型是一个严格的人工选择模型,而不是自然选择模型。"成功"的判断标准不是真正的自然选择状态下的生存标准。在真正的自然选择当中,如果一个生命体能够存活,其基因将自动存活,因为它们是存在于生命体之中的。因此,存活下来的基因能够自动地传递帮助生命体存活的特质。但是在电脑模型中,选择的依据并不是生存,而是取悦人类的古怪:念头的能力。人类的古怪念头并不一定是随意的,因为我们会不经意地选择一些特定的属性,例如"与垂柳的相似性"。根据我的经验,人类选择者往往更加多变和违反常规。这与自然选择并非没有相同之处。
人类告诉电脑要改良哪一个后代。被选中的基因被进行复制,新的一代开始了。像现实生活中一样,这个过程会无限重复下去。每一代的生物形态都与其直接祖先和后代只差一个基因突变。
但是经过l00代的"进化"之后,最终的生物形态与最初的祖先就有00个基因的差别。而在这00个突变步骤中,可能发生的事情太多了。
当我开始运行新编写的"进化"程序的时候,我根本没有想像其中可能发生多少变化。最令我惊讶的是生物形态很快就不再像一棵树了。基本的二分结构虽然没有变化,但是当线条反复交错之后,它很容易就被掩盖了,成为了一个整体的色块。图4显示的是一个不超过29代的特定进化历史。祖先是一个小生物--一个点。尽管祖先的身体是一个点,像原始粘土中的一个细菌,但隐藏在它体内的是跟图3中的树木一样的分支潜匀。图中的所有生物都起源于那个点,但是为了不把纸面弄得杂乱无章,我并没有画出所有的后代。我只打印出了每一代中的成功者(即下一代的母体)以及它的一两个不成功的姐妹。因此,图4显示的只是一条在我的审美引导下的进化主线以及所有的步骤。
让我们来简单浏览一下进化主线上前几代的情况。点在第二代变成了Y。在下两代当中,Y变得越来越大,随后分支变得略微出现了一些弯曲,仿佛是一个制作精良的弹弓。在第七代的时候,分支的曲率越来越大,以至于两个分支几乎要连接到一起了。在第八代中,弯曲的分支越来越大,而且每一个分支都具有了小的附属物。在第九代当中,这些附属物再次消失了。第十代看起来好像是一朵花的一部分,弯曲的边缘分支好像是围绕着中央"柱头"的花瓣。在第十一代中,"花"的形状变得越来越大,而且越来越复杂。
我不想继续罗列下去,直至第二十九代的图已经自己说明了问题。请注意每一代的个体与其母体和姐妹只有微小的差别。由于每一代与其母体只有微小的差别,因此可以预期它与其祖辈(以及孙辈)的差别只会略微增加一些。这就是累积进化的含义,只不过我们通过高突变渤口快了这个过程而已。因此,图4看起来更像是物种的谱系,而不是个体的谱系,但是其基本原则是相同的。
在我编写程序的时候,我从来没有想到它会进化成各种树的形状之外的东西。我曾经想像到垂柳、黎巴嫩雪松、伦巴底白杨、海藻、甚至鹿角。我的生物学家的直觉、20多年电脑编程的经验以及最狂野的想像,都没有使我想到在电脑屏幕上出现的画面。我不记得自己是在什么时候想到进化的结果看起来可能像一只昆虫的。我带着大胆的猜测,着手从最像昆虫的后代开始改良。随着进化结果越来越像昆虫,我的疑心也与之俱增。你可以看到图4底部的最终结果。应该承认,它拥有像蜘蛛一样的8条腿,而不是像昆虫一样的6条腿。但是尽管如此,我依然不得不承认,当我在电脑屏幕上看到这个优美的生物的时候,我禁不住欣喜若狂。我的头脑中忍不住回响起了斯特劳斯的"查拉图斯特拉如是说"。我兴奋得茶饭不思,一闭上眼睛,眼前就浮现出那个昆虫的样子。
市场上有一种电脑游戏,背景是玩家产生了幻觉,认为自己在一个地下迷宫中游荡,他会在复杂的地理环境中遭遇龙、半人半牛的怪物或者其他神话中的敌人。在这些游戏中,怪兽的数量其实是相当有限的。它们以及迷宫都是由程序员设计的。在进化游戏中,无论是电脑版本还是真实世界,玩家(或者观察者)都会产生一种在岔路众多的地下迷宫中游荡的感觉,但是可能的路径数量是有限的,玩家遭遇的怪兽也是偶然的、不可预测的。在生物形态的王国中漫游过程中,我遇到了神话中的虾米、阿兹特克人的神庙、哥特式教堂的窗户、原始的袋鼠绘画,有一次甚至是温彻斯特学院的逻辑学教授。图5是我从纪念品中选择的--d,部分,所有这些都是通过同一方法获得的。我要强调指出的是,这些图形没有经过人为的调整,没有经过任何方式的润色,完全是电脑绘画进化的结果。人眼所扮演的角色仅限于在许多代累积进化的突变后代中进行选择。
现在,我们的进化模型比猴子打印莎士比亚著作更加现实。不过,生物形态模型仍然是有缺陷的。它虽然显示了累积选择创造出几乎无穷多种准生物形态的能力,但它使用的是人工选择而不是自然选择。进行选择的是人的眼睛。我们能不能停止使用人眼,通过某些在生物学上可行的标准,让电脑自己进行选择呢?这是个很困难的任务。在这里值得多花一点时间进行讨论。如果能够阅读所有动物的基因,你就能够极其容易地选择一个特定的基因公式。但是自然选择并不是直接选择基因..而是选择基因对整体的效应,即表型效应。人眼擅长选择表型效应,这一点可以通过图5表现无疑。为了能够让电脑直接选择表型效应,我们可以编写一个非常复杂的模式识别程序。模式识别程序确实存在。它们能够被用来阅读打印甚至手写的文字。但这些程序是繁难的、复杂的程序,需要大型、快速的电脑。即使这种模式识别程序没有超出我的编程能力,也没有超出我的小电脑的能力,我也不会费时费力去编写它。这个任务最好由人眼和头颅之内的庞大计算机来共同完成。
要让电脑选择模糊的总特征,例如瘦高、矮胖、曲线、尖细、甚至洛可可的装饰等,并不是十分困难的任务。一种方法就是通过编程让电脑记住人类在以前喜爱过的属性,并且在将来继续选择同样的类型。但是这种方法并没有使我们更加接近自然选择。重要的一点是,自然在进行选择的时候,并不需要计算能力,雌孔雀选择雄孑乙雀的特殊情况除外。在自然当中,选择的中介是直接的、赤裸裸的、简单的。它是残酷的收割机。当然,生存的原因决不简单--这也就是为什么自然选择能够创造出具有如此复杂性的动物和植物的原因。不过,死亡本身也有原始、简单的一面。非随机死亡足以选择表型以及它所包含的基因。
为了在电脑中模拟自然选择,我们应该忘记洛可可装饰和所有其他的视觉特征;相反,我们应当把注意力集中到非随机死亡上面。生物形态应当在电脑模拟的敌对环境中相互作用。它们的形状应当决定它们能否在这种环境中生存下来。在理想状况下,敌对环境应当包括其他进化中的生物形态:"捕食者"、"被掠食者"、"寄生虫"、"竞争对手"。被掠食者的外形应当决定它容易被捕食者捕获。这种易被捕食的标准不能由程序员设置到电脑当中,而是应当像其外形一样自然地出现。这样,电脑中的进化将真正发圭,因为自我强化的"军备竞赛"(见第七章)的条件将得到满足,连我也不敢确定它将在什么地方停止。不幸的是,作为一名程序员,我觉得自己没有能力建立这样一个虚拟世界。
如果有足够聪明的人能够做到的话,他们一定是那些开发了嘈杂、暴力的街机游戏--太空入侵者的程序员。这些程序模拟了一个虚拟的世界,它拥有三维的地理环境以及快速发展的时间维度。实体在虚拟的三维空间中快速移动,互相碰撞,彼此射杀,互相鲸吞,并伴随着令人生厌的噪音。游戏的模拟非常成功,以至于操纵游戏手柄的玩家产生了强烈的幻觉,以为自己就是这个虚拟世界的一部分。我想这种游戏的最高形式出现在训练飞机和飞船飞行员的房间里。但是这些游戏与模拟在虚拟生态系统中捕食者和被捕食者之间"军备竞赛"的程序相比,简直是小巫见大巫。不过,这个程序还是能够实现的。如果有一个专业的程序员愿意与我共同接受这个挑战的话,我很乐意同他或者她进行联系。
另外,还有一件容易得多的事情,我打算在夏天的时候进行尝试。到时候,我会把电脑搬到花园中阴凉的地方。,电脑屏幕能够显示彩色,我编写了一个新的程序,用几个新的基因来控制颜色,就像其他的9个基因控制形状一样。我会选择一个简单的、色彩明亮的生物形态作为起点。电脑会同时显示该生物形态的多个突变后代,后代跟母体之间存在形状和/或色彩的不同。我相信,蜜蜂、蝴蝶以及其他昆虫一定会到屏幕上来拜访,并"选择"撞到屏幕的某个点上。当电脑记录了一定数量的选择之后,它会将屏幕清空,对偏好的生物形态进行优选,并显示下一代的突变后代。
我非常希望,经过许多代之后,野生昆虫会在电脑中导致花朵的进化。如果确实如此的话,电脑花会承受真花在自然界中所承受的相同的选择压力。鉴于昆虫经常光顾女性服装上色彩亮丽的斑点这一事实(以及许多已经出版的更加系统的试验),我的希望大受鼓舞。另外一种可能性令我更加激动,即野生昆虫可能导致植物形态发生类似昆虫形状的进化。有一个先例是蜜蜂导致了蜂兰花的进化,这也正是我产生希望的原因。蜂兰花经过多代的累积选择之后,形成了类似蜜蜂的形状,吸引雄性蜜蜂与之交尾,从而携带传播花粉。想像图5中的蜂花拥有了绚烂的色彩,如果你是...只蜜蜂的话,你难道不会喜欢上它吗?
令我悲观的主要原因是昆虫视觉的工作方式与我们完全不同。屏幕是针对人眼而不是蜜蜂的眼睛设计的。这很可能意味着,尽管我们和蜜蜂通过不同的方式都看到了蜂兰花外形像蜜蜂,但是蜜蜂很可能根本看不到屏幕上的图像。蜜蜂可能只会看到625条扫描线!不过,这仍然值得...试。到这本书写完的时候,我就会知道答案。
有一句很流行的俗话:"你从电脑当中获得的,永远不可能多于你输入电脑的。"另外一个版本是:"电脑只会执行你的指令,因此电脑根本没有创造力。"这些话只是在微不足道的意义上才是正确的,它们如同是说莎士比亚只会写他的老师教他的那些单词一样。我在电脑中编制了"进化"程序,但是我并没有计划昆虫、蝎子、咬人的狗,或者月球登陆车。对它们的出现我一无所知。确实,我的眼睛进行了指导它们进化的选择,但是在每一步中我都把选择限制在随机突变后的少量后代之中,而且我的选择"策略"也是多变的、短期的。跟自然选择一样,我并没有任何长期的目标。
以前我确实有一度试图确定一个长期的目标,这件事情非常具有戏剧性。首先我必须进行坦白。或许你已经猜到了,图4中的进化历史是重建的结果。那并不是我第一次看到的"我的"昆虫。当它们吹着胜利的号角出现的时候,我没有办法记录下它们的基因。它们就出现在屏幕上,我却没有办法理解它们,不能破解它们的基因。我推迟了关闭电脑的时间,绞尽脑汁试图想办法把它们保存下来,但是一无所获。跟现实生活一样,基因埋藏得很深。我可以打印出昆虫体的图像,但是不知道它们的基因。我立即对程序进行了修改,以便能够在将来记录下基因公式,但为时已晚。我失去了"我的"昆虫。
于是,我着手尝试重新找到它们。它们进化过一次,一定可能再一次进化。像逝去的旋律一样,它们始终萦绕在我的心头。我在生物形态王国中徜徉,穿过充满奇妙生物的无穷疆域,但还是没能找到我的昆虫。我知道它们一定是隐藏在某个地方。我知道最初的进化是从哪个基因开始的。我有一幅昆虫外形的图片。我甚至有一幅从一个点进化到"我的"昆虫的整个过程的图片,但是我不知道基因公式。
你可能会认为,重新构造进化路径是轻而易举的事情,但事实上并非如此。原因是即便只有9个基因发生变化,一条足够长的进化路径产生的生物形态也将是天文数字。在生物形态王国中朝圣的旅途中,有几度我似乎已经接近了我的昆虫的先驱,但是尽管我竭尽所能,进化还是走向了错误的方向。最后,经过反复的尝试,我终于再一次找到了它们。我不知道这些昆虫是否与最初的昆虫相同,但它们已经足够好了。这一次我没有犯任何错误:我记了基因公式,现在我可以随时"进化"昆虫了。