打字机随机输出哈姆雷特的 100 只猴子的实际几率:陷入疯狂

19580483_af3de93fca_o

俗话说,如果你把 100 只猴子和打字机放在一个房间里足够长的时间,最终你会得到 村庄 .但 你会吗 ?一只猴子随机复制哈姆雷特的实际几率是多少。让我们使用理由和我在大学统计中的 C+ 来解决这个问题。

首先,我们将制定一些基本规则来限制我们的变量。什么算作 村庄 ?大小写重要吗?有间距吗?我们是否考虑了正确的格式?标点符号呢?我问过我的 Geekosystem 作家同行和我们在玛丽苏的朋友,每个人都给了我不同的答案,他们会从一只真正可以被称为的猴子那里接受什么 村庄 .

就个人而言,如果一只猴子递给我一叠纸,上面写着 村庄 在一长串完整的小写字母中,我称之为成功。并不是所有的同事都这么宽容,会接受一模一样的副本。为了这个问题,我们定义了一个成功的 猴子哈姆雷特 作为一个字符对字符匹配 我们从麻省理工学院莎士比亚网站摘取的剧本 ,但格式和大小写无关紧要。

为了我们的目的,

唉,可怜的约里克!

是相同的

唉,可怜的约里克!

阿拉斯波约里克

不削减它。

使用的字符数很重要,以便我们匹配来自 村庄 麻省理工学院的文字。通过限制可能输入的字符数,消除大写大大提高了猴子的几率。标点符号和间距将被计算在内,因此我们可以准确匹配文本中的字符总数以及使用的唯一字符数。

根据工具在文本中有 169,541 个字符 www.wordcounter.net .这包括字母表中的所有 26 个字母、空格、句点、逗号、撇号、问号、感叹号、冒号、分号、与号和连字符。总共有 36 个可能的字符。

我们将在这里增加猴子的机会,并假设他们使用特殊的猴子打字机,只有他们需要打字的 36 个键。这是每个字符一个键,因此他们不必担心 shift 键。

猴子每按一个随机键,就有 36 分之一的机会击中正确的键。他们击中正确字符序列的几率随着每增加一个字符而呈指数下降。仅使用这些参数键入名称 H-A-M-L-E-T 是不太可能的,因为名称的每个字母只有 36 分之一的机会被正确键入。所以那是:

36 x 36 x 36 x 36 x 36 x 36 或 366,这适用于 1 在 2,176,782,336 .由于我们与 100 只猴子一起工作,这使它们作为一个群体的几率略高,为 21,767,823 只,但仍然不太可能。再说一次,那是在我们特殊的猴子打字机上。在具有更多键和变量(如 shift 键和大写锁定)的普通打字机上,可能性要大得多。

猴子随机连续输入 169,541 个正确字符的几率是 36 分之一169,541如果你输入谷歌的计算器,你会得到以下结果:

谷歌计算器无限

严重地。这就是我们得到的答案。猴子打字的几率 村庄 是无穷大之一。除非有人想乘以 36169,541,这对我们来说已经足够了。

当然,这句话有不同的说法。我们听说过一百万只猴子拥有一百万台打字机,甚至是无数只猴子拥有无限打字机。无限的猴子显然不会发生,我们怀疑有人会把一百万只猴子聚集在一个房间里,要么。 100 更易于管理。我们也听说过声称猴子会写出莎士比亚全集的短语的变体,但来吧。他们甚至不能出去 村庄 .

当然,这句话可能早在计算机出现之前就已经存在了。除了打字机之外,还加入了更多的技术,猴子打字的可能性 村庄 可以大大增加。假设我们所有的 100 台特殊的猴子打字机实际上都是具有相同 36 个键的猴子计算机,但是联网在一起。然后我们可以根据实际的文本文件检查每个猴子按钮按下的输入 村庄。

如果按下的按钮对应于文本中的下一个字符,则将其记录并放入单独的文件monkeyhamlet.txt 中。 monkeyhamlet.txt 中只记录正确的输入,而不是任何随机按钮按下。该程序可以同时比较来自所有 100 只猴子的输入,最终,通过猴子的完全随机性和计算机的纯粹计算精确性,monkeyhamlet.txt 将是 村庄 .

没有电脑,如果你只是让猴子打字,你永远不会得到 村庄 ,所以也许我们可以继续让这句话消失。或者至少更新一点。

(通过 村庄 , Wordcounter.net , 图像通过 奥利弗·哈蒙德 )

同时在相关链接