@ 2013.03.03 , 12:32
33

WHAT IF: 读完世界上所有的推特要花多长时间

推特总共有多少种不同的写法?全世界的人一起要花多长时间才能把它们全部读完?
—Eric H., Hopatcong, NJ

在遥远而神秘的北方高地上,耸立着一块巨石,长宽高各一百英里,每隔千年有一鸟飞来,栖于此石,以喙啄之.当巨石磨尽之时,世间便在永恒中过去一天.
—Hendrik Willem Van Loon

一条推特有140个字。一条推特会有多少种可能的组合?简单的算一下,英语里有26个字母,算上空格27个,这样的话所有可能的字符串组合总共有27 ^140 ≈10 ^ 200种。

当然你可以使用的字符远不止27个,事实上,你可以使用超过一百万种符号。推特计算字符长度的方式很复杂(twitter docs),不过我们可以大致推算出可能的推特共有10^800种。

很明显,其中绝大多数的句子都是毫无意义的由各种文字、符号、数字、火星文组成的乱码,即使限定只能使用26个英文字母,也很有可能打出来的是ptikobj之类的玩意儿。而Eric同学的问题实际上是说通过英语说出来一些有意义的句子,那发一条具有实际含义的推特又会有多少种可能呢?

这个问题显然就要棘手得多了。首先我们要限定只能够使用拼写正确的英文单词,接着这些单词还必须组成一个符合语法规定的句子,才能算一条真正意义上的推特。

这里还有一个小麻烦。举个例子,你可以发一条这样的推特—“嘿嘿,俺的名字叫Mxyztplk”。 当然,如果你的名字真的就叫“Mxyztplk”,那这句话在语法上是完全正确的。很显然,按照“嘿嘿,俺的名字叫XXX”这种形式可以写出无数条推特,而将这些推特分而计数根本毫无意义。对一个正常人来说, “嘿嘿,俺的名字叫Mxyztplk”和“嘿嘿,俺的名字叫Mxzkqklt”并没有什么区别,自然也不应该算作两条不同的推特。

还好我们还有另一种更好的算法。

假设有这么一种语言,在这种古怪的语言中总共只能表达出下面这两个句子,而使用该语言的人发出的推特只可能是这两个句子中的一个:
#“There's a horse in aisle five.”
#“My house is full of traps.”

当你刷推特时,看到的新鲜事大概就是这样:
[-]

这些句子相对来说会比较长一些,但并不意味着其承载的信息也会相应的增加,事实上你你能从中了解到的只是某个人发的是关于马的或者是关于陷阱的内容,换言之,它是非0即1的。尽管里面包含了不少字母,但对于它的读者来说,每个句子只含有1比特的信息。

这个简单的例子揭示了一些本质的概念,即文字所包含的信息量是由其不确定性和可预见性决定的(比如例子中那个只包含两个句子的古怪语言的不确定性就很低)。

要衡量文字包含的信息量大小,我们可以借鉴一下其他研究者的方法。独力创建了现代信息理论的学者Claude Shannon,就提出过一种推算语言中信息量的巧妙方法。他将某段文字中的一部分擦去,再把这段文字向一组志愿者展示,并要求志愿者们补充缺失的部分。
[-]

基于志愿者对缺失部分猜测的正确率,通过严格的数学分析(PDF),Shannon最终确定了英语中平均每个字母所承载的信息量约为1.0至1.2比特。这也就意味着,理想的计算机算法可以将原有的文字长度压缩至原长的约1/8(计算机ASCII码中一字节等于8比特)。如果你有压缩过txt格式的电子书,也许就会留意到这一现象。

如果某一字段中包含的信息量为n 比特,那么我们就可以理解为这一字段可以表达出2^n种不同的含义(具体的数学证明略复杂,涉及到密码学中唯一解距离的概念)。总而言之,通过计算得到的所有有明确含义的推特共有2^140×1.1 ≈2×10^46 种,而非10^200 或10^800 种。

那么,它们全部读完需要多长的时间?

让一个人读完2×10^46条推特需要花上 10^47秒。对于这样一个坑爹的数字,其实是一个人读还是十亿人读区别都不是很大了—世界末日之前他们是肯定读不完的了。

现在再让我们回过头看看那只移山的愚鸟。这只执着而又长寿的鸟儿每一千年都会飞到那块巨石上磨一磨自己的鸟嘴,并且带走一粒尘埃(其实一只正常的鸟应该更有可能“留下一滩什么”而不是“带走什么”才对吧,不过既然反正是一个无厘头个故事,我们索性就让它继续无厘头下去吧)。

假如你幸运的成为了被选召的孩子,担负起为全人类读推特的使命,每天都要花16个小时的时间读推特。与此同时,鸟儿也一如既往的继续着它移山的伟大事业。当巨石被磨平,在永恒中便过去了一天,巨石再次出现,永恒中新的一天又重新开始。斗转星移,365个永恒之日——大概是10^32年——过后,又进入了新的永恒之年。
[-]

每过100个永恒之年,也就是鸟嘴磨平了36,500座巨石山后,就过了一个永恒世纪。

但是,这还远远不够,一个永恒世纪不够,一个永恒千年也不够。

读完所有的推特需要一万个永恒之年。

这么长的时间,足够看尽人类历史的没一个细节,从茹毛饮血的古老时代一直到我们纷繁的现代社会。

这也就意味着,你为之毕生奋斗的读推特事业,在有生之年恐怕是很难有所建树了。
[-]

就怪那群可恶的刷屏党。本文译自 XKCD,由译者 墨西哥卷肉机 基于创作共用协议(BY-NC)发布。


给这篇稿打赏,让译者更有动力
支付宝打赏 [x]
您的大名: 打赏金额:

4.6
赞一个 (0)

TOTAL COMMENTS: 33+1

  1. 明溪月
    @5 years ago
    1807131

    我是有多无聊的看完一个这么无聊的研究.

  2. 1807135

    喂。。到底要多久?

  3. 啊啊啊啊啊啊啊
    @5 years ago
    1807137

    无聊的人是有多少···我+1··············································

  4. iLavix
    @5 years ago
    1807143

    只有无聊蛋疼或者黑oioi之类的脑袋被按在键fskdjhfjksdfhk

  5. TomHall
    @5 years ago
    1807145

    至少……我大概算是读完了所有的煎蛋,其中还有一些的内容是重复的。

  6. 蟀气的骚年
    @5 years ago
    1807147

    这样的研究对我的作用真大。

  7. 便当团团长
    @5 years ago
    1807149

    微妙的既视感。。。可有人想到大刘的《诗云》。。。

  8. 丛菊两开
    @5 years ago
    1807153

    跟看完岛国毛片所花时间有的一拼了~

  9. Miss_L
    @5 years ago
    1807155

    看到“打出来的是ptikobj之类的玩意儿”这里就看不下去了,并且无可避免的想到oioi.

  10. 我是来看妮妮的
    @5 years ago
    1807159

    What if:读完世界上所有的蛋疼研究要花多长时间

  11. bedune
    @5 years ago
    1807167

    在所有推特被读完之前,天朝能不翻墙就用么?

  12. 1807173

    楼上都是刷屏党。

  13. Jeffwood
    @5 years ago
    1807185

    只需一秒!因为他的内容为:世界上所有的推特要花多长时间

  14. 利里诺斯
    @5 years ago
    1807189

    『谢天谢地,我们不需要认真去考虑使用中文的用户。』

  15. 达克
    @5 years ago
    1807227

    我想起了“网络宇宙”中的某星云。。。。

  16. 雨纷飞
    @5 years ago
    1807257

    一秒足以,不就是”404,not found”吗,不到一秒就看完了吧?

  17. 1807267

    还没有写出的也算?要计算所有可能的话。那一步迈出的距离也有无数种,人用尽所有方式走过一座20米的桥,要的时间上亿个永恒之年都不够。这有意思吗。

  18. 墨西哥卷肉机
    @5 years ago
    1807289

    我觉得翻一篇这样无聊研究的家伙才是最无聊的好吧…

  19. LegendOOO
    @5 years ago
    1807293

    读完中国的推特应该花不了多少时间…

  20. 月炎丶鱼儿
    @5 years ago
    1807295

    被选召的孩子…无限大な梦のあとの 何もない世の中じゃ

  21. endospore
    @5 years ago
    1807317

    辛亏我只看好友,其他的都54

  22. 1807327

    只要关注推特上所有的av就足够了

  23. zourui24
    @5 years ago
    1807361

    需要考虑错别字吗,还有某些短语的缩写呢?

  24. bleaker
    @5 years ago
    1807377

    cc @HondaJOJO

  25. 阿瓦尼毒舌
    @5 years ago
    1807399

    有多少条推特什么的,直接研究服务器硬盘容量不好了吗?

  26. 一堆乱码
    @5 years ago
    1807447

    这完全取决于世界上最后一条推特什么时候出现

  27. 1807595

    ……我想起来了一只猴子打字机和莎士比亚的故事= =

  28. teshuwenzi
    @5 years ago
    1808293

    这么长的时间,足够看尽人类历史的没一个细节

  29. 伊吹西瓜
    @5 years ago
    1809413

    啊啊啊啊啊,
    啊啊啊啊啊,
    啊啊啊啊啊,
    啊啊啊啊诶。

  30. 哈哈
    @5 years ago
    1814471

    笨的要死,去黑了推特服务器,看看有多少硬盘被占满然后计算一下就完了嘛。。

  31. 北海边
    @5 years ago
    1820533

    计算方式不科学阿,让每个用户都去读自己发的推特,用的时间肯定是不超过推特诞生至今的时间的,而且实际上绝大多数用户发推前都读过自己发的推特了吧,“世界上所有的推特被读完”是既定事实阿orz

  32. 2311882

    问题原文为How many unique English tweets are possible?意为有多少【可能】的英语推文,而不是【实际上】发了多少条推文。

  33. 逗比
    @2 years ago
    3238898

    @八云紫 我请你读推特bwiokslmzjbfijqckowmjnhfjiqowkjhbdiojas

发表评论


24H最赞