打字猴:1.700268105e+09
1700268105
1700268106 哈姆雷特:我觉得像一只黄鼠狼。(Methinks it is like a weasel.)
1700268107
1700268108 波罗纽斯:它确实像只拱起背的黄鼠狼。
1700268109
1700268110 哈姆雷特:或像一头鲸鱼?
1700268111
1700268112 波罗纽斯:很像一头鲸鱼。
1700268113
1700268114 有人说过—我忘了谁是第一个—给猴子一台打字机,让它在上面随意乱敲,只要时间足够,整套莎士比亚作品都能打出来。当然,关键在“只要时间足够”。让我们对这只猴子面临的任务做些限制。假定我们只期望它打出一个短句子,而不是整套莎翁作品,就说是“我觉得像一只黄鼠狼”好了,我们给它的打字机也是简化的,只有26个大写字母键,外加一个空位键。这只猴子需要多少时间才打得出这一个短句子?
1700268115
1700268116 莎士比亚写这个句子,使用了23个字母,其中穿插了5个空位。我们假定猴子不断地尝试,每次都敲28次键。一旦敲出了正确的句子,实验就结束。要是不正确,它就得继续尝试。我不认得任何猴子,好在我有个女儿,才11个月大,对随意乱搞很有经验,我告诉她我想找猴子做的实验后,她就迫不及待地想扮演那只猴子。她在电脑上打出的实例我放在这页上,读者也许能够欣赏。
1700268117
1700268118 UMMK JK CDZZ F ZD DSDSKSM
1700268119
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“代”产生。
[ 上一页 ]  [ :1.700268105e+09 ]  [ 下一页 ]