分享

真的多给点时间,猴子也能写出巨作?

 昵称52869979 2018-02-23
 

猴子问题成为机率论里统计机制的题目,最早是出现在法国数学家埃米尔.博雷尔(Émile Borel)于一九一三年所写的文章中,题为〈统计机制与不可逆性〉(Mècanique Statistique et Irrèversibilitè)。文中说,如果给定足够的时间,一只猴子可以在键盘上随机敲出莎士比亚全集。当然,「足够的时间」指的可能是无限长。

英国物理学家阿瑟.艾丁顿公爵(Sir Arthur Eddington)对于随机性的态度则更为开放,他在一九二七年受邀到爱丁堡大学的纪福讲座(Gifford Lecture)演讲时说:

「如果我把手指放在打字机的按键上随意乱敲,这个行为『可能可以』造出词意通顺的句子。如果一批猴子大军乱敲着打字机,牠们可能可以写完大英博物馆中所有的藏书。」

 

让猴子敲出指定字句的机率有多高?

现在,让我们把目标简化一下。先别指望到大英博物馆,也不要谈论莎士比亚全集,连十四行诗都先搁在一边,只讨论这一句:

Shall I compare thee to a summers day?(我怎能将夏日与你比拟)

如果一只猴子要能依照这样的字母顺序敲出来,我们肯定会认为这是极罕见的巧合。这可能性有多大呢?绝对非常微小!

假设键盘上只有二十六个键,只能敲出小写的字母,那么猴子要敲对「shall」第一个字母的胜率为 25 1。而每一次的敲击与任何一次的敲击之间都互为独立,因此,正确打出头五个字母的机率,只有26×26×26×26×2611,881,376 分之一,胜率为 11,881,375 1。不过这只是第一次打字就成功的机率,麻烦在于应该不只有一次机会,而有很多很多次。

让我们算一下第一次尝试时无法成功打出单字的机率,即是 1–(1 26)5,大约为 0.99999991583,几近必然会发生。试验 N 次之后,猴子没敲对的机率为 (1–(1 26)5)N

N8235542 时,牠会有超过一半的机率打对莎士比亚著名的十四行诗的第一个单字。上图可以说明,在经过约莫五千万次试验之后,没有打出「shall」的机率趋近于零 [10]

 

内容越复杂,打对的机率越低

把这方法应用到密码保护装置上,可以得知,藉由随机敲打字母,计算机程序就能够轻易地破解由五个字母组成单字的密码。如今,就连相对慢的计算机,中央处理器(CPU)都可以在少于十秒的时间内试验五千万次。但如果你把密码多加上一个字母,试 214124096 次之后,才会有一半的机率能破解密码。困难度会随着字母(包括混合使用字母、数字及符号或大小写)的增加而呈指数增加。请见下图。

随机在键盘上乱打,敲对 π 前六个位数的机率为 0.000001,也就是百万分之一的机率。如果一千只猴子中,每一只猴子都敲键盘一千次,出现敲对 π 的前六个位数的机会便会超过一半。或许,这会使你觉得 π 毕竟不是那么特殊的数,不过,这当然是因为我们只取前六个位数而已。接着,取 π 的前一百个位数。就算随机挑选宇宙间每一颗沙粒与星辰直到时间的尽头,写出 π 的前一百个位数的机率还是几近零,难以动摇。

 

一九一三年,埃米尔.博雷尔要我们想象一百万只猴子,每天花十小时随机敲击打字机:

Les contremaîtres illettrés rassembleraient les feuilles noircies et les relieraient en volumes. Et au bout d’un an, ces volumes se trouveraient renfermer la copie exacte des livres de toute nature et de toutes langues conservés dans les plus riches bibliothèques du monde.

(不识字的领班会把脏掉的纸收集起来迭成册。某一个岁末之际,这些书册会恰好与世界上藏书最丰富的图书馆中,所有语言与种类书籍的册数相同。)

而英国物理学家及数学家詹姆士.金斯爵士(Sir James Jeans)则在其著作《神秘的宇宙》(The Mysterious Universe)中这么写:

有人说,我想是赫胥黎吧,把六只猴子放在打字机前胡乱敲打,数十兆年后的某个时点,会恰好打出所有大英博物馆中的藏书。

如果我们检查某只特定猴子所打的最后一页内容,发现在乱打的情况下刚好打出莎士比亚的十四行诗,我们想必马上就会认定这是一起惊人的意外事件,但如果我们看遍了数百万页猴子在难以计量的时间内所打的内容,我们满笃定会从中找到胡乱敲打的产物──莎士比亚的十四行诗。

同样地,数十兆颗恒星在太空中随意地游荡数十兆年,必将碰上各种意外,也必将在一定时间内制造出有限数量的行星系统。然而,若与天空中的星星数相比,行星系统的数目肯定非常小。


用计算机仿真的猴子,打出了前十九个字母

用计算机虚拟的猴子来仿真执行网络市场营销研究站猴子问题。二○○四年八月四日,计算机虚拟的猴子在经过 42162500000 乘以十的十八次方个猴年之后,打出了以下内容「VALENTINE. Cease toIdor:eFLP0FRjWK78aXzVOw- m)- ; 8t …… 」惊奇的是,这胡乱敲打出的前十九个字母,正是莎士比亚的剧作《维洛那二绅士》(The Two Gentlemen of Verona)的第一行──VALENTINE: Cease to persuade, my loving Proteus

根据莎士比亚剧本《维洛那二绅士》所绘制的画作。图/William Holman Hunt via Wikimedia Commons

 

在想到大写锁定键可能「碰巧」暂时遭到锁定之前,我在思索的是那九个大写字母。当然啦,四十二百京(编按:quintillion,即十的十八次方)是个相当庞大的数目,但平均得花上这么久的时间才能等到这十九个字母以此特定的次序排列,并不代表这状况不会在相较之下短得多的时间内发生。

 

也得承认,要想第一次乱敲就试出这样的结果,机率实在小到难以想象,但并非不可能。意料之外的情事可能发生,也确实发生。以 DNA 配对为例,世界上是否会有两个毫无瓜葛的人身上的 DNA 完全吻合?可能性微乎其微,但并非不可能。事实上,这机率仅仅只有十亿分之一。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多