更新时间:2024-09-23 09:32
爱丁顿在1929年阐述过一个“无限猴子理论”,就是说“如果许多猴子任意敲打打字机键,最终可能会写出大英博物馆所有的书”。
这一典故的出处,乔纳森·斯威夫特出版的的《格列佛游记》,第三部分第五章,教授要其学生透过经常转动机械把手产生一些随机的字句,以建立所有科学知识的列表。
直接证明
两个独立事件同时发生的概率等于其中每个事件单独发生的概率的乘积。比如,在某一天悉尼下雨的可能性为0.3,同时旧金山地震的可能性是0.008(这两个事件可以视为相互独立的),那么它们同时发生的概率是 0.3 × 0.008 = 0.0024。
假设一个打字机有50个键,想要打出的字是“banana”。随机的打字时,打出第一个字母“b”的概率是 1/50,打出第二个字母“a”的概率也是 1/50 ,因为事件是独立的,所以一开始就打出单词“banana”的概率是:
(1/50) × (1/50) × (1/50) × (1/50) × (1/50) × (1/50) = (1/50)6, 这个概率小于150亿分之1。 同理,接下来继续打出“banana”的概率也是(1/50)6。
所以,在给定的六个字母没有打出“banana”的概率是1 − (1/50)6。因为每一段(6个字母)文字都是独立的,连续n段都没有打出“banana”的概率Xn是:
此处的p为50。
随着n变大,Xn在变小。当n等于100万时,Xn大约是0.9999(没有打出“banana”的概率是99.99%);但是当n等于100亿时Xn大约是0.53(没有打出“banana”的概率是53%);当n等于1000亿时Xn大约是0.0017(没有打出“banana”概率是0.17%);当n趋于无穷时Xn趋于零。这就是说,只要使n足够大,Xn可以变得足够小。
同样的论证也可以说明在无限多的猴子中有至少一个会打出一段特定的文章。这里Xn = (1 − (1/50)6)n,其中Xn表示在前n个猴子中没有一个一次打出banana的概率。当我们有1000亿只猴子时,这个概率降低到0.17%,并且随着猴子数量n趋于无穷大,没有打出“banana”的概率Xn趋于0。
但是,在只有有限的时间和有限只猴子时,结论就大不一样了。如果我们的猴子数量和可观测宇宙中的基本粒子数量一样多,大约10^80只,每秒钟打1000个字,持续打100倍于宇宙的生命长度的时间(大约10^20秒)有猴子能够打出一本很薄的书的概率也接近与0。见下文:概率。
无限长的字符串
以上两种情况可以扩展到所有的字符串:
给定一个无限长的字符串,其中的每一个字符都是随机产生的,那么任意有限的字符串都会作为一个子字符串出现在其中(事实上要出现无限多次)。 给定一个序列,其中有无限多个无限长的字符串,其中每一个字符串中的每一个字符都是随机产生的,那么任意有限的字符串都会出现在其中某些字符串的开头(事实上是无限多个字符串的开头). 对于第二个定理,设Ek某给定字符串出现在第k个字符串开头的事件。有固定的且不为零的概率p是这个事件发生,而且Ek是独立的,所以:
事件Ek发生无穷多次的概率是1。第一个定理可以类似地处理,先将无限长的字符串分割,使得每一段的长度和给定字符串相同,然后设Ek是第k段等于给定字符串的事件。
概率
不算标点符号、空格、大小写,一个猴子随机打字打出的第一个字母和哈姆雷特中相同的概率是26分之一,前两个字母相同的概率是676分之一(即26乘26分之一)。因为概率发生了指数爆炸,前20个字母相同的概率是26的负20次方。(约为5.02*10的-29次方而打出的字和哈姆雷特中的全部文本相同的概率降低到超出人们的想象)。整部哈姆雷特大约有130,000个字母。虽然有3.4×10183,946分之一的概率一遍就正确地打出所有文本,在打出正确的文字之前平均需要输入的字母数量也要3.4×10183,946,或者包括标点符号,4.4×10360,783。
即使可观测宇宙中充满了猴子一直不停地打字,能够打出一部哈姆雷特的概率仍然少于10183,800分之一。