1700268255
1700268256
我承认这个故事有些地方我夸张了一些,但是我有深意。我希望读者明白的是:即使程序是我写的,电脑按照指令亦步亦趋行事,屏幕上演化出的动物也不是我规划的,我很清楚它们的“祖先”是什么模样,可是我见到它们时自己也万分惊讶。我完全不能控制演化,即便我想让某个“演化史”重演过一遍,依然无法得逞。好在那些“昆虫”的祖先每个世代我都打印过,留下了完整的图像记录,然而即使有图为凭,整个过程仍困难而沉闷。程序师不能控制或预测电脑图像的演化过程,你觉得困惑吗?难不成电脑里有什么我们难以理解甚至神秘的玩意儿在搞鬼?当然不是。真实生物的演化也不涉及什么神秘玩意儿。电脑模型可以帮助我们解决这个谜团,并对真实的演化过程有所认识。
1700268257
1700268258
我先交代一下,解决谜团的论证大致是这样的:有一个数目固定的生物形集合,每一个生物形都在一个数学空间中占据一个独特的位置。它们的位置是永久的,只要知道基因式就能立刻找到它们;而且每个生物形与四周的紧邻都只有一个基因的差异。因为我已知道我的“昆虫”的基因式,我可以随意复制它们,也可以让电脑从任何一个生物形朝向它们演化。你第一次以“人择”演化出新玩意儿的时候,会觉得那是一个创造的过程。也的确是。但是你实际在做的,只是在生物形国度的数学(基因)空间里“找寻”它们。我说这的确是个创造的过程,理由是:寻找任何一个特定的生物形极为困难,只因为生物形的国度非常非常大,居民几乎有无限多。在其中,漫无目的、毫无章法地搜寻根本不可行。你必须采取某种有效的—有创意的—搜寻策略。
1700268259
1700268260
有些人天真地以为会下棋的电脑是暗中试过所有可能的棋步后才落子的。要是他们输给电脑,这种想法可以令他们好过一点,但是他们的想法完全错了。棋局的可能棋步,数量实在太大了:在这么大的搜寻空间中使用闯空门的伎俩无异于大海捞针。写一个成功的下棋程序,秘诀在于找出有效的搜寻快捷方式。累积选择—无论是电脑模型的人择还是真实世界里的自然选择—是个有效的搜寻方式,它的结果看来就像是有创意的智能设计出来的。毕竟培里的设计论证着眼的就是那一点。就技术而言,我们在电脑上玩的生物形游戏,不过是从早已在数学空间就位的玩意儿中,搜寻觉得悦目的个体。整个过程让人觉得像是从事艺术创作。在一个很小的空间中搜寻的话,其中不过小猫三四只,通常不会觉得像是在创作什么。孩子玩的找东西游戏不会令人觉得有创意。随意瞎闯就想找到目标,通常只有在搜寻空间很小的时候才行得通。空间增大后,搜寻方式就得有点章法;空间越大,章法越得讲究。一旦空间大到一定的程度,有效的搜寻方式就与真正的创意无从分别了。
1700268261
1700268262
电脑生物形模型把这些论点展示得十分清楚,它们在人类的创造过程(例如构思赢得棋赛的策略)与自然选择(盲眼钟表匠)的演化创造之间构成一座有教育意义的桥梁。为了了解这一点,我们必须将“生物形国度”发展成一个数学“空间”,四面八方充满了形态有差异的生物形,它们有秩序地分布排列,各安其位,等待造访。图5的17个生物形,并没有什么特殊的安排。但是它们在生物形国度中,都有自己的独特位置,由基因式决定,四周也围绕着特定的邻居。在生物形国度中,它们彼此间都有明确的空间关系。那是什么意思?空间位置会有什么意义?
1700268263
1700268264
我们谈的空间是基因空间。在基因空间中,近邻都是基因式只差一个基因的个体。图3中央是基本形,周围的生物形是它在基因空间中18个近邻里的8个。那18个近邻都是它可能生产的子女,它也可能是它们的子女,这都是我们的电脑模型容许的。由那些近邻向外跨出一步,中央生物形的邻居就达到324个(18×18,暂且忽略“朝向祖先方向的”突变)。再跨出一步,邻居的数量就增加到5824个(18×18×18),包括可能的曾祖/曾孙,表/堂兄弟姊妹等等。
1700268265
1700268266
为什么要谈基因空间呢?我们会得到什么结论呢?答案是:基因空间可以帮助我们了解演化是一个渐进、累积的过程。根据电脑模型的规则,每一个世代只能在基因空间中移动一步。自始祖起经过29个世代,落脚的位置不可能距始祖29步以上。每一部演化史都是基因空间中一个特定的路径,或叫“轨迹”。举例来说,图4所记录的演化史就是基因空间中一个特定的蜿蜒轨迹,连接一个点与一只昆虫,中间经过了28个世代。我以比喻的方式说我在生物形国度里“漫游”,指的就是这个。
1700268267
1700268268
本来我想将这个基因空间以一张图画来呈现。我遇到的问题是:图画是二维空间。生物形居住的基因空间不是二维空间。它甚至不是三维空间,而是九维空间![一谈到数学,千万记住别害怕。数学没那么可怕,尽管有时数学家会让你觉得数学难得不得了。每一次数学难着我了,我都会想起电机工程大师汤普森(Silvanus Thompson,1851~1916)在《轻松学习微积分》(Calculus Made Easy)中的箴言:“要是一个傻子会做,每个傻子都会。”]要是我们能够画出九个向度,就能以每个向度对应一个生物形基因组的基因。每个特定动物的位置,就说蝎子或蝙蝠或昆虫好了,都能在基因空间中以它的基因式定位。演化变化就是在这九维空间中一步一脚印创造出来的。两个动物的遗传差异,从一个演化成另一个所需的时间,以及演化的困难程度,都可以用它们在这九维空间中的距离来表示。
1700268269
1700268270
可是我们没有办法画出有九个向度的空间。我想找个办法来凑合,就是用一张二向度的图(平面图)来表达在(九度)基因空间中从一点移动到另一点的感觉。有许多办法都能达到这个目的,我挑了一个我叫作“三角形”的。请看图6。三角形以任意挑出的三个生物形为顶点。顶上那个是基本树形,左边是“我的”昆虫中的一个,右边的没有名字但是我觉得它很好看。它们每一个都有独特的基因式,与所有生物形一样,基因式决定了它们在(九维)基因空间中的位置。
1700268271
1700268272
1700268273
1700268274
1700268275
图6
1700268276
1700268277
这三角形在一个(二维)平面上,这个平面是(九维)基因空间的一个切面(一个傻子会做的,每个傻子都会)。这个平面就像一片插入果冻的平板玻璃。玻璃表面上画着一个三角形,以及凭基因式刚好位于玻璃面上的生物形。“凭基因式”是什么意思?这就要谈谈位于三角形三个顶点上的生物形了。我们管它们叫“锚地”(anchor)。
1700268278
1700268279
记得吗?我们谈基因空间中的“距离”,指的是遗传上相似的个体是“近”邻,遗传上相异的个体是“远”亲。在这一个平面上,三个“锚地”是计算所有距离的参考点。这片玻璃上的任一点,无论在三角形之内还是之外,基因式的计算方式都是求得距三个“锚地”生物形基因式的“加权平均数”。我想你已经猜到“加权”是怎么做的。就是以那个点到三个“锚地”的距离来加权的,精确地说,是它与三个“锚地”的接近程度。因此,那个点越接近昆虫就越像昆虫。要是你向树的方向看去,就会看见生物形的昆虫模样逐渐消失,反而越来越像树。当你的视线停留在三角形的中心,那儿见到的动物都因为三个“锚地”的影响表现出不同程度的“遗传夹缠”(Genetic Compromises)。
1700268280
1700268281
但是以上的说明对三个“锚地”生物形颇有抬举过当之嫌。电脑的确利用它们计算平面上任一点的基因式,无可否认。但是,在这个平面上任取三点都能完成这个任务,算出相同的数值。因此图7中,我就不画出三角形了。图7与图6是同样的图,只是另一个平面罢了。同一只昆虫仍是三个“锚地”之一,只是这会儿它在右手边。其他两个“锚地”是“悍妇”(第二次世界大战期间的英国海军飞机)与蜂花,图5上都有。在这个平面上,你也会注意到:近邻比远亲看来相似得多。例如“悍妇”就位于一中队类似机种之间,它们正以编队飞行。由于昆虫位于两个平面上,你可以想象两个平面相交,其间有一夹角。
1700268282
1700268283
1700268284
1700268285
1700268286
图7
1700268287
1700268288
我们的方法因为除去了三角形而有所改进,因为它岔开了我们的注意力。三角形过度凸显了处于“锚地”位置的三个生物形。不过我们的方法还得进一步改进。图6与图7中,空间距离代表遗传距离,但是比例都扭曲了。纵坐标的比例尺与横坐标的比例尺未必对应。为了修正,我们必须慎选当作“锚地”的生物形,使它们彼此的遗传距离都相等。图8就是修正后的结果。三角形同样没有画上。三个“锚地”分别是图5中的蝎子,同样的昆虫(又来了),以及顶上说不出名堂的一个玩意儿。这三个生物形彼此相距30个突变(遗传距离)。换言之,任何一个都可以演化成另外两个,一样容易。任何一个要演化成另外一个,至少需要30个遗传步骤。图8下缘的标尺,标上了遗传距离的单位—基因。它可以被看作一把遗传尺。这把尺不仅能用在水平方向,你可以将它向任何方向倾斜,测量平面上任一点与另一点的遗传距离,以及所需的最低演化时间(让人懊恼的是:在图8的平面上,这并不确实,因为用来打印的打印机会扭曲比例,但是由于扭曲的比例很轻微,不值得计较。不过,要是你使用图8的标尺,记住:你得到的读数并不精确)。
1700268289
1700268290
1700268291
1700268292
1700268293
图8
1700268294
1700268295
这些切入九向度基因空间的二向度平面,让我们多少可以体会“在生物形国度中漫游”的意思。若要更实际些,你得记住演化并不局限在一个平面上。在真正的演化旅途上,你随时可能从一个平面掉到另一个平面上,例如从图6的平面掉到图7的平面上(在那只“昆虫”附近,因为两个平面在那里相交)。
1700268296
1700268297
我说过图8的“遗传尺”让我们能够计算从一点演化到另一点需要的最短时间。就我们的模型而言,这是不错的,因为我们的模型内建了严格的演化规则,但是我想强调的是“最短”这个形容词。由于昆虫与蝎子相距30个基因单位,从昆虫演化成蝎子只要30个世代—要是一步都不错的话。可是“一步都不错”谈何容易?你得知道目标的基因式,想出前进的路径,并有“按表操课”的能力。这些机会—知道目标的基因式,想出前进的路径—在生物演化中完全不存在。
1700268298
1700268299
现在我们可以用生物形模型讨论先前以“猴子敲出莎士比亚作品”建立的论点了,那就是:渐进、逐步的变化是演化的关键,纯偶然性事件不是。首先我们要改变图8下方的标尺单位。距离不再是“(演化过程中)必须改变的基因数目”,而是“(完全凭偶然性)一次就能跳跃过该距离的概率”。为了方便讨论,我们得先软化一条电脑模型的内建规则,最后读者会了解为什么我一开始要设计那条规则。那条规则是:子女与父母的差异只限于一个基因。每一次只有一个基因可以突变,而且这个基因的“值”只准加1或减1。这条规则软化后,突变基因的数目不限,突变值也不限。这样软化,实际上的确太过分了,因为这等于突变值可以是正负无限之间的任意值。要是我们以个位数限定基因的突变值,例如正负9之间,就能恰当地契合我想推演的论点了。
1700268300
1700268301
那条规则适当地软化后,理论上生物形每个世代可能发生的变化,包括9个基因的任意组合。还有,每个基因的突变值也有许多可能,只要是个位数就可以了。这有什么意思呢?是这样的,理论上这么一来演化就是可以跳跃的:任何世代都可能在生物形国度中从一点跳到另一点。不只是一个平面上的另一点,而是整个九维超空间中的另一点。举例来说,要是你想从昆虫一步就演化成图5中的狐狸,办法如下:在基因1至9的值上加上下列数值,–2,2,2,–2,2,0,–4,–1,1。但是由于我们谈的是随机跳跃,每一次生物形国度中所有的点都有同样的机会成为目标。因此任何一个特定的点(例如狐狸)果真天降鸿运成为目标的概率就很容易计算了。那就要先算出超空间中所有生物形的总数。你一定已经看出来了,我们又要做天文数字的计算了。我们这次有9个基因,每个基因有19个可能的值(从–9到9),因此一次跳跃的可能目标有19的9次方个。总数是5000亿。与阿西莫夫的“血红蛋白数字”比起来寒碜得很,但是我还是认为它是个“大数字”。要是你开始时是个昆虫,像个白痴跳蚤一样跳个5000亿下,至少有一次你会跳成狐狸。
1700268302
1700268303
这对我们了解真正的演化有什么帮助呢?这个模型再一次让我们体认到“渐进、逐步变化”的重要。有些演化学者不认为演化需要这种“渐变假定”(gradualism)。生物形模型让我们结结实实地了解“渐进、逐步变化”很重要的理由。说起演化,我们预期那只昆虫会跳到它周遭近邻的位置,而不会一跃就到达狐狸或蝎子的位置。为什么?且听我分解。随机跳跃果真发生过,从昆虫跳到蝎子当然可能。它跳到近邻的位置一样可能。它跳到国度中任何一个生物形的位置都一样可能。但是现在问题来了,既然国度里生物形的总数达5000亿个,而跳到任一个位置的概率与其他位置的概率完全一样,于是跳到任何一个特定位置的概率就小到可以忽略的地步。
1700268304
[
上一页 ]
[ :1.700268255e+09 ]
[
下一页 ]