打字猴:1.70026812e+09
1700268120 S SS FMCV PU I DDRGLKDXRRDO
1700268121
1700268122 RDTE QDWFDVIOY UDSKZWDCCVYT
1700268123
1700268124 H CHVY NMGNBAYTDFCCVD D
1700268125
1700268126 RCDFYYYRM N DFSKD LD K WDWK
1700268127
1700268128 JJKAUIZMZI UXDKIDISFUMDKUDXI
1700268129
1700268130 由于她另有要务,我只好写一个计算机程序,仿真一个随意敲键的孩子,或猴子,这里也有一些例子可以参考。
1700268131
1700268132 WDLDMNNLT DTJBKWIRZREZLMQCO P
1700268133
1700268134 Y YVMQKZPGJXWVHGLAWFVCHQYOPY
1700268135
1700268136 MWR SWTNUXMLCDLEUBXTQHNZVJQF
1700268137
1700268138 FU OVAODVYKDGXDEKYVMOGGS VT
1700268139
1700268140 HZQZDSFZIHIVPHZPETPWVOVPMZGF
1700268141
1700268142 GEWRGZRPBCTPGQMCKHFDBGW ZCCF
1700268143
1700268144 这个程序就这样不断制造产品—将随机敲到的28个键在银幕上显示出来(或打印)。要花多少时间才能敲出“我觉得像一只黄鼠狼”呢?想想所有可能敲出来的字母串共有多少—每串是任意按28个键的结果。我们必须做的计算与前面做过的血红蛋白分子一样,结果也是同样大的数字。敲第一个键时,有27种选择(不区分空位键与字母键,26个字母键加1个空位键),敲到正确字母的概率是1/27。头两个键都碰巧正确的机会是1/27乘以1/27,等于1/729,因为第二个键敲对的概率,与第一个键相同,可是头两个键都要正确的话,得在第一个键敲对了之后才算第二个键。这个句子全部28个字母都正确的概率,因此是1/27的28次方,就是1/27自乘28次。结果是一个非常小的数字,难以想象的小,以分数表现的话,分子是1,分母是1后面跟着40个0。说得委婉些,这个句子要花很久才敲得出来,什么《莎士比亚全集》就算了吧。
1700268145
1700268146 随机变异中的“单步骤选择”已经谈得够多了,让我们回头谈谈“累积选择”。“累积选择”会更有效率吗?效率能提升多少?答案是:有效率多了,即使我们开始觉得这是一个很有效率的过程,也可能低估它的效能。但是只要你仔细再想想,就会发现惊人的效率几乎是必然的结果。我们要再度使用电脑替代猴子,但是我们会对程序做一个关键的修改。一开始这个程序会随机按28次键,例如:
1700268147
1700268148 WDLMNLT DTJBKWIRZREZLMQCOP
1700268149
1700268150 然后从这一个随机序列“繁殖”下去。电脑不断复制这个字母序列,但是复制过程容许某种程度的随机变异—“突变”。电脑会检查这些复制出来“子序列”,从其中选出最接近标的序列Methinks it is like a weasel(我觉得像一只黄鼠狼)的一个,不论相似的程度多么薄弱。第一个这样选出来的“子序列”与标的序列实在不怎么像:
1700268151
1700268152 WDLMNLT DTJBSWIRZREZLMQCO P
1700268153
1700268154 但是这个程序会重复下去,电脑开始复制这个赢家,并容许同样程度的随机变异,并选出一个新的赢家。如此这般,10“代”、20“代”之后的赢家,可能仍然必须凭信心才能看出它们与标的“很像”。但是,到了30“代”,相像就不再是想象的产物了。到了40“代”,银幕上出现的字母序列,只有一个字母是错的。正确的结果在第43“代”产生。
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
[ 上一页 ]  [ :1.70026812e+09 ]  [ 下一页 ]