第一部分:玩弄数字

第一章 大数

1.你能数到多大

曾有一个故事,两位匈牙利贵族决定玩一个游戏,谁说出最大的数谁就赢了。

“好呀,”其中一位说,“你先说你的数。”

经过几分钟绞尽脑汁的思考之后,第二位贵族终于说出了他能想到的最大的数。“三。”他说。

现在是第一位贵族的思考时间,但一刻钟之后他最终放弃了。“你赢了。”他同意道。

显然这两位匈牙利贵族不代表很高层次的智力[1],况且这个故事可能更多的是对贵族的恶意诋毁,但这样的对话却可能真实发生在霍屯督人[2]之间。根据非洲探险家的记载,我们可以确认在一些霍屯督部族的词汇表中没有大于三的数字的词汇。当问询一位当地人他有多少个子女或者他杀过多少敌人的时候,如果答案大于三他会回答“许多个”。因此即使是霍屯督部族最凶残的战士,在数数方面也比不过美国幼儿园里的孩子,他们可以数到十呢!

现在我们习惯于认为我们想写多大的数字就可以写多大的数字——无论是用美分为单位表示战争的经费,还是用英寸[3]为单位表示星际间的距离——只要在数字的后面加上一连串的零即可。你可以一直写零到你的手腕发酸为止,在你手酸之前,你甚至能写出比可观测宇宙中的原子总数更大的数字:300 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000。

或者你可以写成:3×1074

这里10右上角的小字数字74表示的是3之后有74个零,换句话说,3要乘以74个10。

但古人并不知道这种“算数简示”的方法。事实上它在不到2000年前才被一位不知名的印度数学家发明。在他的伟大发明——这确实是一项伟大的发明,尽管我们通常没有意识到这点——之前,每个数位上的数字是用专门的符号,也就是我们现称的十进制单位,反复书写而成的。例如数字8732,古埃及人写作:

而在恺撒的办公室里,他的办事员会将其写成如下形式:

MMMMMMMMDCCXXXII

后一种表现形式你应该还很熟悉,因为罗马数字到现在还在使用——表示书籍的卷数或章数,或者在大纪念碑上记载下历史事件发生的日期。过去的计数要求通常不超过几千,更高数目的十进制单位也不存在,那么让一位无论在算数上多么训练有素的古罗马人写下“一百万”这个数字,他都会不知所措。他能实现要求的最好方法,可能就是写下1000个M,这可能要花几个小时(图1)。

奥古斯都·恺撒时期的一位古罗马人尝试用罗马数字写出“一百万”。但即使是写满墙上的板子可能都写不下“一百个一千”,也就是十万。

对于古人而言,诸如天上的星星、大海里的鱼和沙滩上的沙粒这些事物的数目都是“不计其数”的,就像在霍屯督语言中“五”是不计其数的,取而代之的是“许多”一样!

公元前3世纪大名鼎鼎的科学家阿基米德(Archimedes)曾开动他的脑筋,表明书写十分巨大的数字是可能的。

在他的论文《数沙者》中,阿基米德说:

“有人认为沙粒的数量是无限大的,我说的不只是叙拉古[4](Syracuse)或西西里的其他地方,而是整个地球上能够找到的所有沙粒,无论是有人居住或者荒无人烟的地方。也有人认为沙粒的数目是有限的,只是没有更大的数字能超越地球上所有沙粒的总数。

“显然持有这种观点的人,如果他们能想象出一团与地球的质量一样大的沙子,这些沙子填充了所有的大海和空洞,一直堆到与最高的山峰相平,那么他们也会认为这些沙粒的数目是最大的。但我将尝试表达出比整个地球质量的沙粒数目还要大的数字,甚至是整个宇宙大小的沙粒的数目。”

阿基米德在这篇著作中提出的表示大数的方法与现代科学中表示的方法类似。他从古希腊算数中存在的最大数“万”(myriad),或者说十千开始。然后他引入了一个新数,“万万”(octade),他称之为“一亿”,作为“第二阶单位”;“亿亿”(octade octade)为“第三阶单位”;“亿亿亿”(octade octade octade)为“第四阶单位”,等等。

花费书上好几页去说明如何书写大数似乎是一件微不足道的事情,但在阿基米德时代,找到书写大数字的方法是一个伟大的发现,是对于数学学科的重大推进。

为计量填满整个宇宙的沙粒的数目,阿基米德需要了解宇宙有多大。在他的时代,宇宙被认为是一个镶嵌有星星的水晶球,与他同时代的著名天文学家,萨摩斯的阿瑞斯塔克斯(Aristarchus)估计,地球到天球边缘的距离是10 000 000 000个体育场[5]长度,或大约1 000 000 000英里。

相比天球的体积与沙粒数量,阿基米德完成了一系列足以吓到高中生的噩梦一般的计算,最终得出结论:

“显然,根据阿瑞斯塔克斯估计的天球的大小,宇宙能装下的沙粒的数目不会超过一千万个第八阶单位。”[6]

值得注意的是,阿基米德估计的宇宙的半径是明显小于现代科学家观测的结果的。十亿英里的长度仅仅略微超出太阳到土星的距离。随后我们可以看到,目前通过望远镜已经探索到的宇宙大小有5 000 000 000 000 000 000 000英里,因而能够填满整个可观测宇宙的沙粒数量应当超过:

10100(或者说1后面跟100个0)。

很明显这要远大于宇宙中所有原子的数目——3×1074(在本章开始时有所说明)。但我们不要忘记,宇宙并不是充满了原子,事实上平均每立方米的空间中才有一个原子。

不过我们并不需要通过做诸如将整个宇宙充满沙粒这样极端的事情来得到很大的数。事实上这些大数可能会突然出现在一些很简单的问题中,那些你根本想不到会遇上超过几千的数字的问题。

印度的舍罕王就曾在大数的问题上吃过亏。根据古老传说的记载,他想要赏赐宰相西萨·班·达伊尔(Sissa Ben Dahir)(图2),因其发明并进贡了国际象棋游戏。这位宰相的要求看似很简单:“陛下,”他跪在国王面前,“请在棋盘的第一格摆一粒麦子,第二格摆两粒麦子,第三格摆四粒麦子,第四格摆八粒麦子。陛下,如此往下,每往后一格的麦子数目都比前一格多一倍,直到摆满六十四格为止。”

宰相西萨·班·达伊尔—一位富有经验的数学家,向印度的舍罕王寻求赏赐。

“爱卿,你要求得不多。”国王说,他暗喜自己对这个神奇游戏的发明者赏赐礼物的开明提议并没有用掉他很多的宝藏库存,“你一定会如愿以偿的。”他命人拿来一袋小麦。

于是,当数麦粒的工作开始,第一格放一粒,第二格放两粒,第三格放四粒,但在达到第十二格所占的数目之前,袋子就空了。

更多袋的小麦被带到国王面前,但越往后的格子所需的麦粒的数目增长越是迅速,很快,他们发现整个印度的小麦产量都不能够满足他对西萨·班·达伊尔的许诺。要放满所有的格子需要18 446 744 073 709 551 615粒小麦![7]

在算数中,一列后一个数是前一个数的固定倍数(在本例中这个倍数是2)的数列被称为几何级数。可以证明,这样的级数的各项之和,等于固定倍数(在本例中为2)的项数次幂(在本例中为64)减去第一项(在本例中为1),除以固定倍数与1的差。可以这样表示:

=264−1

用具体的数字表示是:

18 446 744 073 709 551 615。

这个数不比宇宙中所有的原子的数目大,但也是足够可观了。假设一蒲式耳[8]的小麦包括大约5 000 000粒麦粒,那么想要满足西萨·班·达伊尔的要求需要40 000亿蒲式耳的小麦。而世界上小麦每年的平均产量大约在20亿蒲式耳,大宰相要求的小麦数目需要世界维持2000年这样的小麦产量!

舍罕王发现他欠了宰相很大一笔债,他要么面对这笔无穷无尽的债务,要么砍下宰相的头。我们怀疑他选择了后者。

另一个大数扮演主角的故事也来自印度,是有关“世界末日”的。波尔(W.W.R.Ball)是一位爱好数学的历史学家,用下述文字讲述了这个故事:[9]

在贝拿勒斯(Benares)[10]标记有世界之中心穹顶之下的圣殿当中放置了一块黄铜板,上面固定着三根金刚石针,每根长一腕尺(一腕尺约合20英寸,约45厘米),大约有蜜蜂的身体那么粗。在创世纪时,梵天[11]于其中一根针上自下而上放置了从大到小64片纯金片,最大的位于最下面,这就是梵天塔。值班的僧侣夜以继日地将金片从一根针移到另一根针上,根据梵天的永恒之律,僧侣一次只能移动一片,并且要保证不能有小的金片在大的之下(图3)。当64片金片全部从梵天创世时放置的那根针转移到另一根针之后,这座塔、庙宇、梵天和众生都将回归尘土,伴随着一声霹雳,世界也将消失。

图3是故事所描述的内容的图画,当然图画中的金片的数量要少一些。你也可以用纸板片替代金片、长的铁钉替代金刚石针,自己制作这样的智力游戏。

一位僧侣正在巨大的梵天雕像前,在“世界末日”的问题旁忙碌。图中画出的金片数量比64要少,因为难以画出那么多片。

根据移动金片的要求不难发现,每移动一片金片到另一根针上所需的移动次数,是移动上一片所需的移动次数的2倍。移动第一片仅需一步,但移动之后的金片的步数就将以几何级数增加,因而第64片移走之后总的次数将和西萨·班·达伊尔要求的麦粒数量一样![12]

那么,移动梵天塔上的全部64片金片的时间是多久呢?假设僧侣们日夜工作毫无休假日,且每秒移动一次,而一年大约有31 558 000秒,那么换算下来大约需要580 000亿年的时间才能完成全部的工作。

将这个纯属传说的预言和现代科学的预测对比一下还是很有意思的。根据现代的关于宇宙演化的理论,恒星、行星,都诞生于大约30亿年前的无形物质之中。我们还知道,给恒星,尤其是给太阳提供能量的“原子燃料”还能维持100亿~150亿年。因而我们的宇宙的年龄总共也没有超过200亿年(参见“创世之日”一章)[13]根本没有这个印度传说里的580 000亿年那么长。当然,这也不过是个传说罢了。

文学作品中提到的最大数恐怕要属大名鼎鼎的“印刷行数问题”了。假设我们制造了一台能持续一行行印刷的印刷机(图4),每行都能够通过替换字母或印刷符号来得到不同的组合。这样的机器包含有一系列外缘上刻有字母和符号的圆盘。这些圆盘将以类似于汽车上的里程计数器那样的方式装配,每当一个圆盘滚动一圈就会带动下一个圆盘向前滚动一个符号,来自纸卷的纸张会自动送到圆盘滚筒下印刷。这样的自动印刷机应该不难制造,它的一种造型如图4所示。

一台自动印刷机刚刚印出一行莎士比亚的名句。

让我们开动机器,然后查看印刷出来的无尽的行列,其中的大部分毫无意义。它们可能长这样:

“aaaaaaaaaaa…”

“boobooboobooboo…”

抑或:

“zawkporpkossscilm…”

但既然这台机器能打印出所有可能的字母和符号的组合,我们可以发现,在这些各种各样的无意义的句子垃圾中也能够找到有用的句子。

当然,有些句子有意思但是没有意义,比如:

“horse has six legs and…”(马有六条腿和……)

“I like apples cooked in terpentin…”(我喜欢用松节油煎的苹果……)

但随着更仔细的搜索,我们能找到莎士比亚写的每一句话,甚至他扔进废纸篓里纸上的句子!

事实上这种自动印刷机能印出所有人自会写字后写出的每一句话——每一篇散文、每一首诗、每一篇报纸上出现的社论和广告、每一卷厚重的学术论文、每一封情书、每一条订奶单……

除此之外,这台机器还能印出未来世纪里将要印出的词句。在滚筒下转出的纸张上,我们将发现30世纪的诗篇、在未来成为现实的科学发现、将在第500届美国国会上读出的演讲稿、公元2344年的行星际交通事故的统计记录。印刷出的纸上将有一篇篇尚未被创作的短篇故事和长篇小说,而出版商只需在他们的地下室里放上这样一台机器,然后在印刷出的大量垃圾中寻找好词句出版即可——他们现在也差不多是这么做的呀。

那为什么这无法完成呢?

好吧,我们来数一数,为得到所有的字母和印刷符号组合需要多少行。

英语字母表中有26个字母,10个数字,14种常用符号(空格、句号、逗号、冒号、分号、问号、感叹号、破折号、连字符、引号、省略号、小括号、中括号、大括号),共计50个字符。我们还假设这台机器有65个圆轮,表示每行有65个字符位。每行的开始都有50种字符的可能,每种可能的下一位都再有50种可能;这总共就是50×50=2 500种可能。然而前两位字符的每一种组合我们都再对应50种第三位字符的选择,之后的第四位同理。最后整个句子的排列可以表示为:

为感受这个数字的巨大,我们把宇宙中的每个原子都想象为一台印刷机,那么我们就有3×1074台同时工作的机器。进一步假设所有的机器都从宇宙创始时开始工作,它们工作了30亿年之久,或者说1017秒,以原子振动的频率印刷,也就是每秒1015行。那么到现在它们应该打印出了大约3×1074×1017×1015=3×10106行——大约只有所需总量的万分之三。

显然,想在这些自动印刷的材料中做任何的选取都要花费相当长的时间!