第一章 大数
3个月前 作者: 乔治·伽莫夫
一、你能数到多少?
有这么一个故事,说的是两个匈牙利贵族决定做一个游戏——谁说出的数最大谁赢。
“好,”其中一个人说,“你先说吧。”
另一个人绞尽脑汁想了几分钟,终于说出了他所能想到的最大的数:“3”。
现在轮到第一个人动脑筋了。苦想了一刻钟之后,他决定放弃:“你赢啦!”
这两个匈牙利贵族的智力水平当然并不很高。这个故事也许只是为了挖苦人罢了。但如果此二人不是匈牙利人,而是霍屯督人,那么上述对话或许的确发生过。的确有一些非洲探险家证实,许多霍屯督部族都没有词汇来表达比3大的数。如果问当地的一个土著他有几个儿子,或者杀死过多少敌人,那么倘若这个数大于3,他就会回答“许多”。于是就计数的本领而言,霍屯督的勇士们竟会败给我们幼儿园里自诩能够数到10的娃娃们!
今天我们往往会认为,我们想把一个数写成多大就能写成多大。无论是用分来表示战争开销,还是用英寸来表示星体之间的距离,只要在某个数右边写下足够数目的零就可以了。你可以一直这样写下去,直到手腕发酸。这样一来,你所写下的数不知不觉就会比宇宙中的原子总数更大,1随便说一句,宇宙中的原子总数是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要用10乘上74次。
但古人并不知晓这种“让算术变得简单”的数制。事实上,它是一千多年前某位佚名的印度数学家发明的。在他做出这项伟大发现——这项发现的确很伟大,尽管我们通常并没有意识到这一点——之前,人们用一个特殊的符号来表示每一个十进制单位,并通过重复书写这个符号来书写数。例如,古埃及人会把8732这个数写成:
而恺撒政府中的职员则会把这个数写成:
MMMMMMMMDCCXXXII
后一种记数法你一定很熟悉,因为直到现在,我们有时仍然会用罗马数字来表示书籍的卷数或章数,或者在庄严华美的纪念碑上记载历史事件的日期,等等。不过,古代的计数很少超过几千,所以也就没有用来表示更高十进制单位的符号。一个古罗马人,无论在算术方面多么训练有素,如果让他写一下“一百万”,他一定会不知所措。他所能做的最多只是接连写下一千个M,而这需要他费力写几个钟头(图1)。
图1 一个长得很像恺撒的古罗马人试图用罗马数字写下“一百万”,而墙上的那块板上恐怕连“十万”也写不下
对古人来说,那些很大的数,比如天上的星星、海里的鱼、岸边的沙粒等等,都是“无法计数”,就像“5”这个数对霍屯督人来说也是“无法计数”,从而变成了“许多”一样!
公元前3世纪的著名科学家阿基米德(Archimedes)曾经天才地表明,巨大的数是有可能书写出来的。他在《数沙者》(The Psammites)一书中说</a>道:
有人认为,沙粒的数目是无穷大的;我所说的沙粒不仅是指存在于叙拉古周边以及整个西西里岛的沙粒,而且是指在地球所有区域所能找到的所有沙粒,无论那里是否有人居住。也有人认为,这个数目并非无穷大,但比地球沙粒数目更大的数是表示不出来的。如果想象地球是一个大沙堆,并把地球的所有海洋和洞穴都填满沙粒,一直填到与最高的山齐平,那么持有这种观点的人显然会更加确信,这样堆积起来的沙粒数目是无法表示的。但我要试图表明,使用我所命名的各种数,不仅能表示出按照上述方式填满整个地球的沙粒的数目,甚至能表示出填满整个宇宙的沙粒的数目。
阿基米德在这部名著中提出的书写大数的方法与现代科学中的方法很相似。他从古希腊算术中最大的数“万”开始,然后引入“亿”这个新的数作为“第二级单位”,然后是第三级单位“亿亿”、第四级单位“亿亿亿”,等等。
写出一些大数似乎无足轻重,没有必要用几页篇幅加以讨论。但在阿基米德那个时代,找到书写大数的方法的确是一项伟大的发现,使数学迈进了一大步。
要想计算填满整个宇宙所需的沙粒总数,阿基米德需要知道宇宙有多大。当时认为,宇宙被一个附有恒星的水晶天球所包围。据与阿基米德同时代的著名天文学家萨摩斯的阿里斯塔克(Aristarchus of Samos)估算,从地球到那个天球表面的距离约为10 000 000 000斯塔迪姆2,即约为1 000 000 000英里。
阿基米德将那个天球的尺寸同沙粒相比,作了一连串足以使高中生发生梦魇的计算,最后得出结论说:
显然,阿里斯塔克所估算的天球包围的空间中所能填充的沙粒数目,不会超过一千万个第八级单位。3
这里要注意,阿基米德对宇宙半径的估算远远小于现代科学家的观测结果。10亿英里仅比太阳系中土星的距离略大一些。我们将会看到,望远镜已经探测到宇宙5 000 000 000 000 000 000 000英里远的地方。填满整个可见宇宙所需的沙粒数超过
10100(即1后面有100个零)。
这个数当然远远大于本章开头所提到的宇宙中的原子总数3×1074,但我们不要忘了,宇宙中并非塞满了原子;事实上,平均来说,每立方米空间中只有大约1个原子。
要想得到巨大的数,并不一定要做出把整个宇宙塞满沙子这样的极端事情。事实上,在许多看似非常简单的问题中,它们也常常会跳将出来,而你事先肯定想不到其中会出现大于几千的数。
有一个人曾经在大数上吃了亏,那就是印度的舍罕王(King Shirham)。根据一则古老的传说,舍罕王打算赏赐他的首席大臣施宾达(Sissa Ben Dahir),因为施宾达发明了国际象棋,并且将它介绍给了舍罕王。这位聪明的大臣想要的似乎并不多,他跪在国王面前说:“陛下,请赐予我一粒麦子放入这张棋盘的第一个方格;在第二个方格放两粒,第三个方格放四粒,第四个方格放八粒,以此类推,每一个方格内的麦粒都比前一个方格加一倍。陛下啊,请把这样摆满棋盘上所有64个方格的麦粒赏赐给我吧!”
“爱卿,你要的并不多啊,”国王为对这项奇妙的发明所许下的慷慨馈赠没有破费太多而暗喜,“你肯定会如愿以偿的。”他边说边命人将一袋麦子拿到宝座前。
然而随着计数的开始,第一个方格放一粒,第二个方格放两粒,第三个方格放四粒,……还没到第二十个方格,袋子已经空了。一袋又一袋的麦子被陆续扛到国王面前,但每一个方格所需的麦粒数飞速增长,情况很快就变得很清楚,即使拿来印度的所有粮食,国王也无法兑现他对施宾达的承诺,因为这将需要18 446 744 073 709 551 615颗麦粒!4
图2 机智的数学家首席大臣施宾达在向印度的舍罕王请赏
这个数不像宇宙中的原子总数那样大,但也非常可观了。假定1蒲式耳小麦约有5 000 000粒,那就需要4万亿蒲式耳小麦才能满足施宾达的要求。这位首席大臣索取的竟然是全世界在大约2000年里所产出的所有小麦!
这样一来,舍罕王发现自己欠了施宾达一大笔债。他要么得面对施宾达没完没了的讨债,要么干脆砍掉施宾达的脑袋。我猜想,舍罕王大概选择了后者。
另一个由大数当主角的故事也出自印度,它与“世界末日”问题有关。喜爱数学的历史学家鲍尔(W. W. R. Ball)是这样讲这个故事的:5
在瓦拉纳西6伟大的神庙里,在标志着世界中心的穹顶下方安放着一个黄铜板,板上固定着三根钻石针。每根针高1腕尺(1腕尺约合20英寸),如蜜蜂身体般粗细。梵天在创世的时候,在其中一根针上放置了64个金片,最大的金片位于底部,紧挨着黄铜板,其他金片从下到上依次减小。这就是梵塔。有一个值班的僧侣按照梵天固定不变的法则,昼夜不停地将这些金片从一根针移到另一根针:一次只能移一片,而且无论在哪一根针上,小片必须永远在大片上面。当所有这64个金片都从梵天创世时所放置的那根针移到另一根针时,世界将随着一声霹雳而烟消云散,梵塔、神庙和众婆罗门都将化为灰烬。
图3描绘了故事中的安排,只是金片没有画那么多。你可以用普通的硬纸片代替这则印度传说中的金片,用长铁钉代替钻石针,亲手制作这样一个玩具。不难发现,移动金片的一般规则是:移动每一片的次数总是移动上一片次数的两倍。第一片只需移动一次,接下来每一片的移动次数则按几何级数增加。于是,移动第64片的次数将与施宾达所要求的麦粒数一样多!7
图3 一个僧侣在巨大的梵天雕像前解决“世界末日”问题。为方便起见,这里没有将所有64个金片都画出来
将梵塔上所有64个金片都移到另一根针上需要多长时间呢?一年有大约31 558 000秒,假定僧侣们加班加点地每秒钟移动一次,昼夜不停,那么需要58万亿年左右才能完工。
我们不妨将这个关于宇宙寿命的纯属传说的预言同现代科学的预言作一对比。按照目前关于宇宙演化的理论,恒星、太阳和行星,包括我们的地球,都是在大约30亿年前由无定形的物质形成的。我们还知道,为恒星特别是太阳提供能量的“原子燃料”还能维持100亿或150亿年(见“创世年代”一章)。因此,我们宇宙的总寿命肯定不到200亿年,而不像这个印度传说所估计的58万亿年!不过,它毕竟只是个传说!
文献中曾经提及的最大的数也许与著名的“印刷行数问题”有关。假定我们建造了一台印刷机,它可以连续印出一行行文字,并且自动为每一行选择字母和其他印刷符号的组合。这样一台机器将包括若干分离的轮盘,轮盘的整个边缘都刻有字母和符号。盘与盘之间就像汽车的里程指示器中的数码盘那样装配在一起,使得每一个轮盘转动一周就会带动下一个轮盘前移一个位置。每一次移动之后,纸卷都会自动压到滚筒上。这样一台自动印刷机建造起来并不很困难,图4便是这种机器的示意图。
图4 一台自动印刷机刚刚准确印出一行莎士比亚诗句
让我们开动这台机器,检查一下印刷出来的那些没完没了的东西吧。这些东西大都没有什么意义,比如:
“aaaaaaaaaaaa…”
或者
“boobooboobooboo…”
或者
“zawkpopkossscilm…”
不过,既然这台机器能够印出字母与符号的所有可能组合,我们就能从这堆毫无意义的句子中找出点有意义的。当然,这其中又有许多无效的句子,比如:
“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×50=2500种可能性。而对于前两个字符的每一种给定组合,第三个位置又有50个字符可以选择。这样下去,对整个打印行进行安排的可能性总数为
,
或者
5065,
它等于10110。
要想知道这个数有多么巨大,你可以假想宇宙中的每个原子都是一台独立的印刷机,这样就有3×1074台机器同时工作。再假定所有这些机器自宇宙诞生以来就一直在运转,也就是说已经运转了30亿年或1017秒,而且它们都以原子振动的频率在印刷,即每秒钟印出1015行。那么到现在为止,这些机器大约印了3×1074×1017×1015=3×10106行,而这只是上面那个总数的1/3000左右而已。
看来,想要在这些自动印出的材料里做某种挑选,的确要花非常漫长的时间!
二、怎样对无穷大进行计数
上一节我们讨论了一些数,其中许多是相当巨大的。但这些巨大的数,比如施宾达所要的麦粒数,虽然大得令人难以置信,但仍然是有限的,只要有足够的时间,总能把它们从头到尾写出来。
但的确存在着一些无穷大数,它们比我们所能写出的任何数都要大,无论我们书写多长时间。例如,“所有数的数目”显然是无穷大的,“一条线上所有几何点的数目”也是如此。关于这些数,除了说它们是无穷大的,我们还能说什么吗?例如,我们是否有可能对两个不同的无穷大进行比较,看看哪个“更大”呢?
“所有数的数目和一条线上所有几何点的数目,哪个更大呢?”这个问题有意义吗?著名数学家康托尔(Georg Cantor)最先思考了这类初看起来荒诞不经的问题,他的确称得上是“无穷大算术”的奠基人。
如果想谈论无穷大的大小,我们就会面临一个问题:这些数既读不出来,也写不出来,该怎样比较呢?此时我们就像一个霍屯督人在检查自己的财宝箱,想知道其中究竟是玻璃珠多还是铜币多。但你大概还记得,霍屯督人最多只能数到3。难道他会因为数不出来而不再尝试比较珠子和铜币的数目吗?绝对不会。如果足够聪明,他会把珠子和铜币逐个进行比较,以此来得出答案。他可以把一颗珠子放在一枚铜币旁边,再把另一颗珠子放在另一枚铜币旁边,然后一直这样下去……如果珠子用光了,还剩下一些铜币,他就知道铜币多于珠子;如果铜币用光了,珠子还有剩余,他就知道珠子多于铜币;如果两者同时用光,他就知道珠子与铜币数目相等。
康托尔正是用这种方法对两个无穷大进行比较的:如果可以给两组无穷大中的各个对象一一配对,使一组无穷大中的每一个对象都能与另一组无穷大中的每一个对象一一对应,任何一组都没有对象遗漏,就说这两组无穷大是相等的;如果有一组还留下了一些对象没有配对,就说这组对象的无穷大比另一组对象的无穷大更大,或者说更强。
这显然是我们可以用来对无穷大量进行比较的非常合理的规则,事实上也是唯一可能的规则。但在实际开始运用它时,我们很可能会大吃一惊。例如,所有偶数的无穷大和所有奇数的无穷大,你当然会直觉地感到偶数与奇数的数目相等。这与上述法则完全一致,因为这两组数之间可以建立如下的一一对应关系:
在这张表中,每一个奇数都有一个偶数相对应,反之亦然。因此,偶数的无穷大等于奇数的无穷大。这的确再简单自然不过了!
但是,且慢。所有整数(包括奇数和偶数)的数目和仅仅偶数的数目,你认为哪个大呢?当然,你会说前者更大,因为所有整数不仅包括所有偶数,而且还包括所有奇数。但这只是你的感觉而已。要想得出正确的答案,你必须运用比较两个无穷大的上述规则。如果运用了这个规则,你就会惊讶地发现,你的感觉是错误的。请看,以下是所有整数和所有偶数的一一对应表:
根据对无穷大进行比较的上述规则,我们不得不说,偶数的无穷大与所有整数的无穷大一样大。当然,这听起来非常悖谬,因为偶数只是所有整数的一部分。但不要忘了,我们这里是在与无穷大数打交道,因此必须有碰到不同性质的思想准备。
事实上,在无穷大的世界里,部分有可能等于整体!关于这一点,著名德国数学家希尔伯特(David Hilbert)所讲述的一则故事也许是最好的说明。据说他曾在关于无穷大的演讲中这样讲述无穷大数的这种悖谬性质:8
设想有一家旅店,内设有限个房间,而且所有房间都已住满。这时又来了一位客人,想订个房间。店主说:“对不起,所有房间都住满了。”现在再设想一家旅店,内设无穷多个房间,所有房间也都住满了。此时也来了一位新客,想订个房间。
“当然可以!”店主说。接着,他把一号房间里的客人移到二号房间,二号房间的客人移到三号房间,三号房间的客人移到四号房间,……,以此类推。这样一来,新客就可以住进已被腾空的一号房间。
我们再设想一个有无穷多个房间的旅店,所有房间都已经住满。这时来了无穷多位想订房间的客人。
“好的先生们,请稍等,”店主说。
他把一号房间的客人移到二号房间,二号房间的客人移到四号房间,三号房间的客人移到六号房间,以此类推。
现在,所有单号房间都腾出来了。新来的无穷多位客人可以住进去了。
希尔伯特讲这个故事时正值战争期间,所以即使在华盛顿也很难想象他所描述的情况。但这个例子的确使我们清楚地明白了:我们在与无穷大数打交道时碰到的性质与普通算术中常见的性质大相径庭。
运用比较两个无穷大的康托尔规则,我们现在也能证明,所有像或这样的普通分数的数目与所有整数的数目相等。事实上,我们可以把所有普通分数按照以下规则排成一排:先写下分子与分母之和等于2的分数,这样的分数只有一个,即;然后写下分子与分母之和等于3的分数,这样的分数有两个,即和;然后写下分子与分母之和等于4的,即。以此类推,我们便得到了一个无穷的分数数列,它包含了我们所能想到的所有分数(图5)。现在,在这个数列上方写出整数数列,这样便有了无穷多个分数与无穷多个整数之间的一一对应。因此,它们的数目又是相等的!
图5 一个非洲土著和康托尔教授都在对其数不出来的数进行比较
“是啊,这一切都很妙,”你可能会说,“但这是否就意味着,所有无穷大都彼此相等呢?如果是这样,还比较它们干什么呢?”
不,情况并非如此。我们很容易找到一个无穷大,它比所有整数或所有分数的无穷大更大。
事实上,考察一下本章前面提出的那个比较一条线上的点数和所有整数数目的问题,我们就会发现,这两个无穷大是不同的。一条线上点的数目要比整数或分数的数目多得多。为了证明这一点,我们先尝试在一条线(比如1英寸长)上的点与整数数列之间建立一一对应关系。
线上的每一点都可用该点到这条线某一端的距离来表示,此距离可以写成无限小数的形式,比如0.735 062 478 005 6…或 0.382 503 756 32…9现在我们要比较一下所有整数的数目和所有可能的无限小数的数目。那么,上面写出的无限小数与或这样的分数有何不同呢?
大家一定还记得,我们在算术课上学过:每一个普通分数都可以转化为一个无限循环小数。例如=0.6666…=0.66,=0.4285714285714285714…=0.(428571)。我们前面已经证明,所有普通分数的数目等于所有整数的数目,因此所有循环小数的数目也必定等于所有整数的数目。但一条线上的点不一定能由循环小数表示出来,绝大多数点是由不循环小数表示的。因此很容易证明,在这种情况下不可能建立一一对应关系。
假定有人声称已经建立了这样一种一一对应,且具有以下形式:
N
1 0.38602563078 …
2 0.57350762050 …
3 0.99356753207 …
4 0.25763200456 …
5 0.00005320562 …
6 0.99035638567 …
7 0.55522730567 …
8 0.05277365642 …
? …………………
? …………………
当然,由于不可能把无穷多个整数和无穷多个小数实际写出来,所以上述说法只是意味着这张表的作者有了某种一般规则(类似于我们用来排列普通分数的规则),并且根据这种规则制作了这张表,此规则保证每一个小数迟早会出现在这张表上。
但我们很容易证明,任何此类说</a>法都是站不住脚的,因为我们总能写出一个无限小数没有包含在这张无穷表之中。怎么写呢?非常简单。只要让该小数的第一小数位区别于表中N1的第一小数位,第二小数位区别于表中N2的第二小数位,等等。你所得到的数可能是下面这个样子:
无论你怎样找,都不可能在上表中找到这个数。事实上,如果该表的作者告诉你,你所写出的这个数位于他那张表上的N137(或其他任何序号),你可以立即回答说:“不可能,我这个数并不是你那个数,因为我这个数的第137小数位不同于你那个数的第137小数位。”
因此,线上的点与整数之间不可能建立起一一对应关系。这意味着,线上的点的无穷大大于或强于所有整数或分数的无穷大。
我们一直在讨论“1英寸长”的线上的点。但现在很容易证明,按照我们“无穷大算术”的规则,无论多长的线都是如此。事实上,无论是1英寸长的线,1英尺长的线,还是1英里长的线,上面的点数都相同。要想证明这一点,只要看看图6,AB和AC是两条不同长度的线,现在要比较其上的点数。为了在这两条线的点之间建立一一对应关系,过AB上的每一点作BC的平行线与AC相交,这样便形成了D与D′,E与E′,F与F′等交点。对于AB上的任意一点,都有AC上的一个点与之对应,反之亦然。于是按照我们的规则,这两个无穷大是相等的。
通过这种对无穷大的分析还能得出一个更加惊人的结论:一个平面上所有点的数目与一条线上所有点的数目相等。为了证明这一点,让我们考虑一条长1英寸的线AB上的点和边长1英寸的正方形CDEF上的点(图7)。
图6
图7
假定这条线上某一点的位置由某个数给出,比如0.75120386…。我们可以把这个数的奇数位和偶数位挑出来再组合到一起,形成两个不同的小数:
0.7108…
和
0.5236…
在正方形中沿水平和竖直方向量出由这两个数所指定的距离,把这样得到的点称为原来线上那个点的“对偶点”。反过来,对于正方形中的任意一点,比如由0.4835…和0.9907…这两个数来描述的点,我们把这两个数合到一起,便得到了线上相应的“对偶点”:0.49893057…。
显然,通过这种程序可以在两组点之间建立一一对应关系。线上的每一点在正方形中都有其对应点,正方形中的每一点在线上也有其对应点,没有被遗漏的点。于是,按照康托尔的标准,一个正方形中所有点的无穷大与一条线上所有点的无穷大相等。
通过类似的办法也很容易证明,立方体中所有点的无穷大与正方形或线上所有点的无穷大相等。为此,我们只需把最初那个无限小数分成三部分,10并用由此获得的三个新的小数来定义立方体中“对偶点”的位置。和不同长度的两条线的情况一样,正方形或立方体中的点数与该正方形或立方体的尺寸无关。
虽然所有几何点的数目要大于所有整数和分数的数目,但这还不是数学家们知道的最大的数。事实上,人们发现,所有可能的曲线,包括形状最不寻常的那些,其成员数目要比所有几何点的数目更大,因此应把它看成无穷大序列中的第三个数。
根据“无穷大算术”的创始人康托尔的说法,无穷大数由希伯来字母(读作阿列夫)表示,其右下角再用一个小数字来表示此无穷大的级别。这样一来,数(包括无穷大数)的序列就成了:
1,2,3,4,5,…1,2,3…
正如我们说“世界有7大洲”,“一副扑克有54张牌”,我们也可以说“一条线上有1个点”,“存在着2种不同的曲线”。
图8 前三个无穷大数
在结束关于无穷大数的讨论时,我们要指出,这些数很快就把人们所能想象的无穷大数包含了进去。我们知道,0表示所有整数的数目,1表示所有几何点的数目,2表示所有曲线的数目,但是到目前为止,还没有人想得出能用3来表示的无限集合。似乎前三个无穷大数就足以数出我们所能想到的任何东西了。我们现在的处境正好与我们那位霍屯督老朋友完全相反:他有许多个儿子,却数不过3;我们什么都能数,却没有那么多东西让我们来数!