1700268155
1700268156
第二次重跑这个计算机程序,正确的结果在第64“代”产生。第三次重跑,第41“代”就产生正确的结果了。
1700268157
1700268158
电脑实际花了多少时间繁衍出符合标的的那一代,并不重要。如果你真的想知道,电脑第一次完成整个程序,是在我出去吃午餐的时候。大约半个小时。(计算机玩家也许会认为这实在慢得蹊跷。原因是我的计算机程序是用BASIC写的,这种语言在计算机程序语言家族中相当“幼齿”。我改用PASCAL语言重写这个程序后,11秒就完成了一回合。)电脑做这种事比猴子快一些,但是速度的差异其实不大。真正重要的时间差异,是“累积选择”需要的时间与“单步骤选择”需要的时间。同一部电脑,以同样的速度,执行“单步骤选择”程序的话,要花的时间是:1后面加30个0,单位是年。学者估计的宇宙年龄大约是100亿年(1后面加10个0)。我们不必细究1后面加30个0等于宇宙年龄的多少倍,比较适当的说法是:与猴子或电脑要花的巨量时间比起来,宇宙的年龄实在微不足道—在我们这种粗略的计算方式必须容忍的误差范围之内。但是同一部以随机方式按键的电脑,只要加入“累积选择”的条件,达成同样的任务所需的时间,我们人类以常识便可以了解,在11秒与吃一顿午餐所费的时间之间。
1700268159
1700268160
现在我们可以看出:“累积选择”(这个过程中,每一次改进,不论多么微小,都是未来的基础)与“单步骤选择”(每一次“尝试”都是新鲜的,与过去的“经验”无关)的差别可大了。要是演化进步必须依赖“单步骤选择”,绝对一事无成,搞不出什么名堂。不过,要是自然的盲目力量能够以某种方式设定“累积选择”的必要条件,就可能造成奇异、瑰丽的结果。事实上那正是我们这个行星上发生的事,我们人类即使算不上最奇异、最让人惊讶的结果,也是最近的结果。
1700268161
1700268162
让人惊讶的反而是:类似前面所举“血红蛋白数字”的例子,却一直被用来反驳达尔文的理论。那些这么做的人,往往在本行中是专家,像是天文学或什么的,他们似乎真诚地相信达尔文理论纯以概率(巧劲儿)—“单步骤选择”—解释生物的组织。“达尔文式的演化是‘随机的’”这个信念,不只是不真实而已。它根本与真相相反。在达尔文演化论中,“巧劲儿”只扮演次要的角色,最重要的角色是“累积选择”,它根本就是“非”随机的。
1700268163
1700268164
天上的云无法进入“累积选择”过程。某种特定形态的云不能通过某种机制生产与自身相似的子女。如果有这种机制,如果云像黄鼠狼或骆驼一样,能够繁衍模样大致相似的世系,“累积选择”就有机会发生。当然,有时云朵的确会分裂、形成“子女”,但那还不足以让“累积选择”发生。必要条件是任何一朵云的“子女”应该与“父母”相似,不像“族群”中的其他“老爹”。这个差别极为紧要,最近有些哲学家对自然选择理论发生了兴趣,可是他们有些人很明显地误解了这一点。还有一个必要条件是:任何一朵云生存、繁衍复本的概率,与它的形态有关。也许在某个遥远的星系中,这些条件都发生了,而且经过了数以百万年计的时光,结果是一种虚无缥缈的生命形式,只是寿命短暂。这个题材也许可以写成一部很棒的科幻小说,题目我都想好了,就叫《白云记》吧;但是就我们所想讨论的问题来说,电脑模型是比较容易掌握的,像猴子/莎士比亚模型一样。
1700268165
1700268166
虽然猴子/莎士比亚模型用来解释“累积选择”与“单步骤选择”的差别很有用,它却在重要的面相上误导了我们。其中之一是:在选择繁衍的过程中,每个世代各突变个体都以它与最终标的(“我觉得像一只黄鼠狼”)的相似程度判生判死。生物不是那样。演化没有长期目标。没有长程标的,也没有最终的完美模样作为选择的标准,尽管虚荣心让我们对于“人类是演化的最终目标”这种荒谬的观念,觉得挺受用的。在现实中,选择的标准永远是短期的,不是单纯的存活,就是—更为广义地说成功繁殖率。要是在很久很久之后,以后见之明来看生命史像是朝向某个目标前进,而且也达成了那个目标,那也是许多世代经过短期选择后的附带结果。“钟表匠”—能够累积变异的自然选择—看不见未来,没有长期目标。
1700268167
1700268168
我们可以改变先前的电脑模型,将这一点也考虑进去。在其他方面我们也可以使模型更逼近真实。字母与文字是人类特有的玩意儿,我们何不让电脑画图?说不定我们甚至可以看见类似动物的形状在电脑中演化,机制是在突变的形状中做累积选择。我们一开始不会在电脑中灌进特定的动物照片,免得电脑有成见。它们得完全以累积选择打造—累积选择在随机突变中运作的结果。
1700268169
1700268170
实际上每个动物的形态都是胚胎发育建构的。演化会发生,是因为连续的各世代每一个胚胎发育都发生了微小差异。这些差异是因为控制发育的基因发生了变化(即突变,这就是我前面说过的整个过程中的小角色—随机因素)。因此我们的电脑模型也该有些特征,相当于胚胎发育与能够突变的基因。设计这样的电脑模型,有许多方式。我选了一个,并为它写了一个计算机程序。现在我要描述这个电脑模型,因为它能给我们一些启发。要是你对电脑没有什么概念,只要记住电脑是机器,会服从命令干活儿,可是结果往往出人意表。程序就是给电脑的指令单子。
1700268171
1700268172
胚胎发育是个非常复杂的过程,无法在小型电脑上逼真地模拟。我们必须以一种简化的玩意儿做模拟。我们必须找到一个简单的画图规则,电脑很容易照办,然后它也可以在“基因”的影响下发生变化。我们要选择什么样的画图规则呢?电脑科学教科书经常以一个简单的“树木发育”(tree-growing)程序,说明所谓“递归”程序设计法(recursive programming)的威力。一开始电脑画出一条垂直线。然后这条线分出两条枝杈。每一条枝杈再分出两条小枝杈。每条小枝杈再分出两条小小枝杈。这是个“递归”过程,整棵树因为继续在局部应用同一条规则(以这个例子而言,就是“分枝规则”)而不断地发育。无论树木发育到多大,同一条分枝规则继续施用于所有新生枝条的尖端。
1700268173
1700268174
“递归”的“深度”指枝杈分枝的“次数”;就是一条树枝长出后,可以继续以同样的方式分枝多少次。这个次数程序中可以事先规定,次数一满新生枝头就停止分枝了。图2显示了“深度”对“递归”结果的影响。比较“深”的递归树是个颇为复杂的图案,但是你仍可以看出那是同一条分枝规则创造出来的。当然,真正的树就是这样分枝的。一棵橡树或苹果树的分枝模式看来很复杂,其实不然。基本的分枝规则非常相似。因为同一条规则不断地施用于整棵树的生长尖端—主干分出主枝,主枝分出小枝,小枝分出小小枝,等等,树才长得又大又繁茂。
1700268175
1700268176
1700268177
1700268178
1700268179
图2
1700268180
1700268181
大体而言,动植物的胚胎发育过程也可以比喻成递归分枝。我并不是说动物的胚胎看来像发育中的树。它们一点儿也不像。但是所有胚胎的发育都以细胞分裂进行。细胞总是分裂成两个子细胞。基因最终会影响身体,可是受它们直接影响的是身体的局部细胞,以及那些细胞的分裂模式。动物的基因组从来不是“宏伟的设计图”,或整个身体的“蓝图”什么的。我们下面会讨论,基因比较像食谱,而不像蓝图;而且不是整个胚胎的食谱,而是每个细胞或胚胎某个区域一小撮细胞—只要分裂就必须遵循的食谱。我并不否认胚胎以及日后的成年个体有一个大尺度的形态可言。但是,发育中的身体逐渐成形,每个组成细胞都尽了绵薄之力(所以整体的形态是“细胞层次事件”的后果),而每个细胞的局部影响力主要通过“一分为二”的过程施展。树杈分枝与细胞分裂以同样的模式影响全身。基因影响这些局部事件,才影响到全身。换言之,基因的终极对象是全身,可是却从基层—细胞干起。
1700268182
1700268183
总之,用来画树的简单分枝规则看起来像是仿真胚胎发育的理想工具。我就把它写成一个很小的程序,取名为“发育”,预备将来植入一个大程序中—“演化”。为了编写“演化”这个程序,我们得先讨论基因。在我们的电脑模型中,“基因”的角色与功能如何呈现?在生物体内,基因做两件事:影响发育以及进入未来的世代。动植物的基因组,基因数目多达几万个,但是我们在电脑模型中,只设置9个。每个基因在电脑中都以数字代表,这个数字就是它的“值”。某一个基因的“值”可能是+4,或–7。
1700268184
1700268185
这些基因如何影响发育呢?它们能做的可多了。不过万变不离其宗:它们会对“发育”程序(树木发育的规则)产生微小的、可以计量的影响。举例来说,某个基因也许会影响桠杈的角度,另一个基因会影响某一特定枝杈的长度。另一种基因一定会做的事,是影响递归的深度—就是连续分枝的次数。我让“基因9”负责这个功能。因此图2的“7棵树”可以视为7个有亲缘关系的生物个体,彼此间除了“基因9”之外,其他的基因完全相同。我不想一一详谈其他8个基因的功能。图3透露了一些信息,你可以据以推测每个基因大体而言能做哪一类的事(功能)。图3正中的树是基本形,图2中也出现过。有8棵树环绕着基本形。这8棵树与中央的基本形只有一个基因的差异,也就是说,这8棵树是因为基本形的一个基因发生了突变而产生的。例如基本形的右侧,是“基因5”的原始值因为突变而加了1的结果。要是图3的空间够大,我会画出18棵突变形环绕着基本形。因为总共有9个基因,每个基因每次突变都有两个方向:升1级(原始值加1),或降1级(原始值减1)。因此基本形环绕着18个突变形,就穷尽了所有单步骤突变的可能结果。
1700268186
1700268187
1700268188
1700268189
1700268190
图3
1700268191
1700268192
这些树每一棵都有独有的“基因式”(genetic formula)—9个基因的数值。我没有把图3每棵树的“基因式”写出来,因为基因式本身对各位不会有任何意义。真正的基因也一样。基因是合成蛋白质的“食谱”,蛋白质直接参与各种生理过程,换言之,基因必须“翻译”成胚胎的发育规则,才能造成观察得到的结果。同样,在电脑模型中,9个基因的数值只有在翻译成枝杈模式的发育规则时,才对我们有意义。要是两个个体只有一个基因有差异,比较这两个个体的身体,对于这个基因的功能就能有个大致的理解。例如图3中间那一列,对于“基因5”的功能就透露了有用的信息。
1700268193
1700268194
这也是正宗的遗传学方法。遗传学家通常不知道基因影响胚胎发育的方式。他们也不知道任何动物的完整基因式。(译按:完整基因式,指基因启动的顺序与作用;即使细胞核DNA的全部碱基序列都清楚了,也未必能找出完整的基因式。)但是两个成年个体若已知只有一个基因有差异,遗传学家比较它们的身体就可以观察到那个基因的作用。当然,实况更为复杂,因为基因的功能有复杂的互动,整体无法简化成“所有基因的总和”。电脑里的树也一样。下面我会举出一些图案,读者会发现:支配它们发育的基因,作用方式与生物的基因非常相像。
1700268195
1700268196
读者想必已注意到我的枝杈模式图全是左右对称的。这是我强加在“发育”(计算机程序)过程的限制。这样做部分原因是为了美感,以及精简基因的数量(如果基因不能在左右两侧产生镜像效果,那么每一侧都得有基因控制)。此外,我想演化出类似动物的形状,而大多数动物的身体都是左右对称的。为了同样的理由,从现在起,我不再管这些玩意儿叫“树”,我会管它们叫“身体”或“生物形”(biomorphs)。“生物形”是我师兄莫里斯(Desmond Morris,1928~1954年获得牛津大学动物学博士学位)创造的词,他的超现实主义绘画中有些玩意儿他叫作生物形,因为它们的形状模糊地类似动物。那些画在我钟爱的事物中有非常特别的地位,因为其中一幅上了我第一本书的封面。莫里斯宣称那些生物形在他心里演化,它们演化的来龙去脉可以在他一系列画作中寻绎。
1700268197
1700268198
闲话休说,言归正传,且说电脑生物形,先前我们说到一圈18个可能的突变形,图3可以见到8个。由于这一圈里每个突变形都与中央的生物形只差一个突变步骤,因此把它们视为中央基本形的子女,是很自然的。于是在我们的电脑模型中,“生殖”就有了着落。我们写一个小程序再现这种生殖过程,题名“生殖”,然后将它像“发育”一样塞入较大的“演化”程序中。关于“生殖”,有两点值得注意。第一,不涉及性别,生殖是无性的。因此我将生物形想象成女性,因为实行无性生殖的物种几乎总是女体。第二,我规定一次只有一个基因能够突变。孩子与母亲的差异,限于9个基因中的一个;此外,突变仅限于在母亲基因的原始值上加(或减)1。这些只是我任意强加的约定;即使另换一组约定,我们的模型仍然能恰当地仿真生物界的实况。
1700268199
1700268200
我们的模型倒是有一个特征,不能视为任意的约定,而是一个生物学基本原理的化身。每个孩子的形状不是直接源自母亲的形状。每个孩子的形状都是它9个基因的值(影响枝杈角度、距离等等)决定的。每个孩子的基因都来自母亲。这正是生物界的实况。身体不会代代遗传,基因会。基因在身体中,影响身体的胚胎发育。那些基因或者遗传到下一个世代,或者不。基因的性质不会因为参与过建构身体的过程而发生变化,可是它们遗传到下一世代的机会却可能受身体的影响。成功的身体协助基因进入下一世代,失败的身体则否。所以在我们的电脑模型中,我要仔细地分别发育与生殖,将它们写成两个不同的小程序。“生殖”将基因值传递给“发育”,基因值通过“发育”影响发育规则,此外“生殖”与“发育”互不相干。必须特别强调的是:“发育”不会将基因值回传给“生殖”,要是会的话,就与所谓“拉马克主义”(Lamarckism)无异了。(见第十一章)
1700268201
1700268202
好了,我们已经写好两个计算机程序模块了,叫作“发育”与“生殖”。“生殖”使基因世代相传,在遗传过程中基因可能会突变。在每个世代中,“发育”取得“生殖”提供的基因,并将它们逐步翻译成树木枝杈,最后在电脑屏幕上展示出一个(生物形)身体的图案。现在我们可以在一个叫作“演化”的大程序中将这两个模块组合起来。
1700268203
1700268204
“演化”基本上是一个无穷重复的“生殖”过程。在每个世代里,“生殖”从上一世代取得基因,遗传到下一世代,但是往往不是原封不动地遗传下去,有些基因会发生微小的随机差错—突变。一次突变不过是在基因既有的值上加1或减1,而且突变的基因是随机选出的。这就是说,即使每一世代的变化,从量方面说非常微小,经过许多世代后,后裔与始祖之间就会因为累积的突变而有巨大的遗传差异。但是,虽然突变是随机的,世代累积起来的变化却不是随机的。每个世代与母亲的差异没有一定的方向(随机)。但是母亲的儿女中哪一个有机会将体内的基因遗传到下一代,不是随机的。这是达尔文自然选择的功能。自然选择凭借的标准不是基因,而是身体—基因经由“发育”影响过它的形状。
[
上一页 ]
[ :1.700268155e+09 ]
[
下一页 ]