第一章 大数字
1.你最大可以数到几?
有这么一个故事。两个匈牙利贵族决定玩一个游戏,谁说的数字最大,谁就是赢家。
其中一个人说:“好吧,那你先说。”
另一个人苦思冥想了好几分钟,终于给出了他能想到的最大数字。
“3。”他说。
现在轮到第一个人绞尽脑汁地思考了。然而,一刻钟之后,他还是无奈放弃了。
“你赢了。”他输得心服口服。
故事中,这两个匈牙利贵族的头脑可真是不怎么灵光[1],而且,没准整个故事就是一个不怀好意的玩笑。不过,如果主角不是匈牙利人,而是非洲南部的霍屯督人(Hottentot)[2],这样一通对话或许真的有可能发生。一些非洲探险家们能够证实,许多霍屯督人的词汇表里,根本就没有3以上的数字。假设你去问一个当地土著,他有几个儿子,杀死过几个敌人,如果这个数字比3大,他就会说:“有很多。”所以说,在数数这门技艺上,哪怕是霍屯督部落里最勇猛的战士,也比不过美国幼儿园里的孩子,毕竟孩子们还能从1数到10呢!
如今,人们都习惯性地认为,只要我们愿意,无论多大的数字,我们都可以写出来。无论它是以美分来计算的军费支出,还是以英寸来衡量的星际距离,只要在某个数字的右边加上足够多的“0”就可以了。你可以一直写下去,直到手酸,甚至没有意识到自己写下的数字比宇宙里所有原子的总数还多[3]。顺带一说,宇宙里的原子总数大约是:
300,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,0 00,000,000,000,000,000个。
你也可以用更简洁的形式,表示成:3×1074。这个位于10右边、小小的上标数字74就是你要写出来的0的个数,换句话说,这个数等于3乘以74个10。
不过古人们尚未了解这种“简单算术系统”,事实上,这种方法是由某些未能留下姓名的印度数学家发明出来的,存在了还不到2000年。尽管人们常常忽略,但这个发明确实具有划时代的意义。此前,人们书写数字时,会用一个特定的符号来表示每一个数位(现在我们称之为十进制单位),每个数位上的数字是几,就重复这个符号几次。举个例子,数字8732用古埃及文字表示就是:
在恺撒时代,行政部门的书记员会把这个数记为:
MMMMMMMMDCCXXXII
你对后一种记数方法一定不陌生,因为人们现在还会经常使用罗马数字——用它来表示书的卷数、章数,或是用它在宏伟的纪念碑上记录历史事件的日期。不过,因为古人的记数需求不超过几千,所以更高的十进制单位的符号并不存在。一个古罗马人,无论受过何等良好的数学训练,如果要他写下“一百万”这样一个数字,他也一定会不知所措。真要答应这个请求,他得花上好几个小时,不停歇地写出1000个M才行(图1)。
图1 这个看上去有点像奥古斯都·恺撒(Augustus Caesar)的古罗马人正在试图写出“一百万”。实际上,墙壁上的这块板子的空间很难写下“十万”。
对古人来说,特别大的数字,比如天上的星星、海里的鱼、海岸的沙都是“无法计算”的,就像是对霍屯督人来说,“5”就是无法计算的,只能用“许多”来表示。
公元前3世纪,著名的科学家阿基米德(Archimedes)曾花费了极大的脑力证明,写出特别大的数字完全是有可能的。他在论文《数沙器》(The Psammites或叫Sand Reckoner)中写道:
“有些人认为,沙粒的数目有无穷多个。我所说的,不但包括锡拉丘兹(Syracuse)和西西里上的沙粒,还包括地球上所有地方的沙子,无论那里是否有人居住。另外,还有一些人认为,这个数字并不是无穷大,但是却无法写出比地球上所有沙粒的数量还大的数字。显然,对于持后一种观点的人来说,如果让他们想象一座和地球等大的沙球,在里面将与地球上大海、洞穴在内的相对应的位置都装满沙子,一直堆到全世界最高的山那么高,那么,他们就更加确信,再也没有什么数字能比这里面的沙子总数还要大。不过,我想说的是,我不但能够表示出像地球这么大的沙球中沙粒的数目,哪怕是像宇宙这么大的沙球,我也能写出里面的沙子数。”
阿基米德在这篇著名的文章中提出的表示大数的方法,和现代科学中的大数记数法十分类似。他从古希腊算术中最大的数字“一万”(myriad)开始,接着引入一个新数“一万万”,他称之为“亿”或“二级单位”。接下来是“亿亿”,它被称为“三级单位”,再然后是“亿亿亿”,被称为“四级单位”,依此类推[4]。
用现在的眼光来看,专门花几页的篇幅来讨论如何书写大数确实有些琐碎,但在阿基米德的时代,找到记录大数的方法确实是一个了不起的发现,数学也由此向前迈出了重要的一步。
想要表示出填满整个宇宙的沙粒总数,阿基米德就必须要知道宇宙有多大。当时的人们相信,整个宇宙被封装在一个镶嵌着星星的水晶球里。而根据阿基米德同时代的天文学家,萨摩斯的阿利斯塔克斯(Aristarchus of Samos)的估算,从地球到这个宇宙水晶球表面的距离是10,000,000,000脚尺,也就是1,000,000,000英里左右[5]。
阿基米德把这个天球的大小和沙粒的大小进行了比较,完成了一系列复杂到足以令高中生做噩梦的计算,最后得出以下结论:“很显然,按照阿利斯塔克斯估算的天球尺寸,里面可以装入的沙粒总数不会超过一千万个第八阶单位。”[6]
你或许已经留意到,阿基米德估算的宇宙半径比现代科学家所认为的要小得多。10亿英里的距离根本出不了太阳系,只能到达土星。我们稍后将会看到,用现代望远镜探测到的宇宙距离已达到5,000,000,000,000,000,000,000(即5×1021)英里[7],所以说,想要填满所有已知的宇宙空间,所需要的沙粒数必然会超过10100 (1后面100个0)个。
这个数目比本章开头说的宇宙中的原子总数3×1074明显要大得多,但不要忘记,宇宙里并不是塞满了原子。实际上,每立方米的空间里平均只有大约1个原子。
不过,为了得到特别大的数字,我们根本不需要做这么夸张的事情,比如用沙粒填满整个宇宙。实际上,一些乍看上去非常简单的问题也会得出超乎寻常的大数,而人们期望中的答案却只有几千而已。
印度的舍罕王(King Shirham)就在大数上吃过亏。根据古老的传说,宰相西萨·班·达依尔(Sissa Ben Dahir)发明了国际象棋,并将它呈献给了舍罕王。为此,国王想要给他奖赏。聪明的宰相提出了一个听上去十分谦逊的请求。“陛下,”他跪在国王面前说,“请在这张棋盘的第一个格子上放一粒小麦,第二个格子放两粒,第三个格子四粒,第四个格子八粒。每一个格子上的小麦数量都是前一个格子上的两倍,就像这样填满64个棋格。陛下,这就是我向您请求的赏赐。”
“噢,我忠实的臣子,你要的并不多啊。”国王赞赏道。国际象棋真是个神奇的游戏,一想到给游戏的发明者许下了慷慨的承诺,却又无须为此花费太多,国王就不禁窃喜。“你一定会得偿所愿的。”他命人将一袋小麦送至他的王座旁。
开始清点麦粒了。先是在第一个格子上放1粒,第二个格子2粒,第三个格子4粒……还没到放第20个格子,一整袋小麦就用完了。国王命人拿来了更多袋小麦,但是装满每一个格子的麦粒数目都在飞速增长。很快,国王意识到,哪怕用光全印度的小麦,自己也无法兑现这个承诺。因为要装满整个棋盘,一共需要18,446,744,073,709,551,615粒小麦[8]!
图2 精通数学的宰相西萨·班·达依尔正在向印度的舍罕王请求赏赐。
这个数字虽然没有宇宙中的原子总数那么大,但也相当大了。假定1蒲式耳[9]小麦大约有5,000,000粒,要满足西萨·班·达依尔的请求,就需要4万亿蒲式耳的小麦。考虑到全世界的小麦平均年产量约为2,000,000,000蒲式耳,这位宰相请求赏赐给他的麦粒,大约是全世界2000年生产的小麦总额!
因而,舍罕王很快就会发现自己欠了宰相一大笔债。他要么背上这笔永远也还不完的债务,要么直接砍下宰相的脑袋。我怀疑他很有可能选择了后一种。
另一个和大数有关的故事也来自印度,是一个有关“世界末日”的问题。热爱数学的历史学家W. W. R.鲍尔(W. W. R. Ball)为我们讲述了这个故事[10]:
“贝拿勒斯大神庙里,有一块标记为世界中心的穹顶。下面放置着一块铜板,板上固定着3根金刚石针,每根针约1腕尺高(1腕尺大约是20英寸),和蜜蜂的躯干差不多粗。神在创世之时,在其中一根针上串64个纯金的圆盘,最大的一块放在铜板上,其他圆盘依次叠放在上面,盘身越来越小。这就是梵天之塔。无论昼夜,当值的僧侣永不停歇地把圆盘从其中一根金刚针移到另一根上面。依据梵天亘古不变的永恒法则,僧侣每次只能移动一个圆盘,而且他必须把这些圆盘移到石针上,同时不允许较大的圆盘下面出现较小的圆盘。当所有64个圆盘从神创世的那根针上完全转移到另一根针上时,塔、神庙、婆罗门……万事万物都将碎裂成尘,在霹雳声中,世界化为乌有。”
图3描绘了故事中的场景,只是图中的圆盘数量要少于64个。你可以自己制作这个益智玩具,就用普通的圆形硬纸板代替金色的圆盘,用长长的铁钉代替印度传说中的金刚石针。根据移动的规则,我们不难发现,移动每一个圆盘所需的次数都比上一个翻了一倍。第一个圆盘只需移动一次,但是接下来每一个圆盘的移动次数都会呈几何级数增长。移动完 64 个圆盘的次数,就和西萨·班·达依尔索求的麦子数量一样多[11]!
图3 僧侣在梵天神像前研究“世界末日”问题。需要说明的是,图上的黄金圆盘数少于64个(因为在图上画不出来那么多个)。
把这座梵天之塔中的64个圆盘全部从一根针转移到另一根上,需要多长的时间?假设僧侣们不分昼夜、不眠不休地工作,且每一秒钟就能移动一次。一年大约有31,558,000秒[12],所以完成这项工作至少需要58万亿年的时间。
如果我们把这个传说中的“宇宙寿命”和现代科学的预测值进行比较,无疑是很有意思的。根据目前的宇宙演化理论,恒星、太阳以及包括地球在内的行星是在大约30亿年前,由无定型的物质形成的。我们还知道,为恒星——特别是为我们的太阳——提供能量的“原子燃料”可以再维持100亿年或150亿年(参见第十一章“创世时代”)。因此,宇宙的总寿命肯定短于200亿年,而不是像印度传说中预计的那样有58万亿年那么长!不过,这毕竟只是一个传说!
在迄今所有的文献中提到的最大数字,大概出自著名的“印刷行数问题”。假设我们能够制造出一台可持续工作的印刷机,这台机器打印出的每一行内容,都是自动选择出来的字母和其他符号的不同组合。这样一台机器内装有多个独立的轮盘,每个轮盘的边缘刻有整套字母和符号。这些轮盘组合起来的运动方式,就像汽车的里程表那样:如果一个轮盘转满一圈,旁边的轮盘就会前进一位。每移动一次,纸张就会经由滚筒被自动送入机器,印出字条。制造这样一台机器并不难,图4就是它的示例图。
图4 一台自动印刷机刚刚准确地印出莎士比亚的某行诗句。
现在我们启动机器,来看看它印出来的无穷无尽的字条上面写了些什么。绝大多数字条上的文字毫无意义,比如说:
“aaaaaaaaaaa...”
或是
“boobooboobooboo...”
再或者是:
“zawkporpkossscilm...”
不过既然这台机器印出了所有字母和符号组合,在一大堆连不成句的字符中,确实也能找到有意义的句子。其中有些句子的语义是无效的,比如:
“horse has six legs and...”(马有六条腿和……)
或是
“I like apples cooked in terpentin...”(我喜欢松节油煎过的苹果……)
如果继续找下去,我们还能找到莎士比亚写过的每一行句子,甚至是那些被他扔进垃圾桶里的句子!
实际上,这台机器会印出人们自学会写作以来所写下的所有东西:每一行散文、诗歌,每一篇报纸社论、广告,每一卷冗长的科学论文,每一封情书,还有写给送奶工的每一张便条……
此外,这台机器还会印出一切即将出版的作品。从滚筒印刷的纸卷上,我们可以找到30世纪的诗歌、未来的科学发现、美国第500届国会的演讲稿,还有2344年星际交通事故的记录单。还会有数不清的短篇、长篇小说,这些都是人类从未写出来的作品,出版商只要在地下室里放上这样一台机器,从一大堆垃圾中找出好的作品,拿来编辑就可以了——其实他们现在也是这么做的。
人们为什么没有这么做呢?
好吧,让我们来算算这台机器要打印多少行,才能把所有可能的字母和符号的组合全都呈现出来。
英语字母表里有26个字母,10个数字(0,1,2, ……,9),还有14个常用符号(空格、句号、逗号、冒号、分号、问号、感叹号、破折号、连字符、引号、省略号、小括号、中括号、大括号),加起来共有50个符号。假设这台机器有65个轮盘,也就是说每一行可以印65个字符,那么每一行印刷出来的第一个字符就有50种可能性,对应其中一种可能性,第二个字符也有50种可能性,这样前两个字符就有50×50=2500种可能性。在前两个字符选定的情况下,第三个字符又可以在50种符号中任意选择,依此类推。每一行可能出现的排列组合的总数可以记为:次,或是5065次,这个数近似等于10110。
想要感受这个数字到底有多大,不妨假设宇宙中的每个原子都是这样一台印刷机,这样一来,我们就有3×1074台机器在同时运转。哪怕所有这些机器从宇宙诞生之初(即30亿年前,或1017秒前)就以原子振动的频率(每秒1015次)进行印刷。那么,到现在为止,我们能够印出来的行数也只有:
3×1074×1017×1015=3×10106
这不过是所有可能性的三千分之一左右。
没错,就算是从这些自动印刷的材料中挑些东西出来,都得花上相当长的时间!