從一到無窮大 · 第一章 大數
一、你能數到多少?
有這麼一個故事,說的是兩個匈牙利貴族決定做一個遊戲——誰說出的數最大誰贏。
「好,」其中一個人說,「你先說吧。」
另一個人絞盡腦汁想了幾分鐘,終於說出了他所能想到的最大的數:「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)一書中說道:
有人認為,沙粒的數目是無窮大的;我所說的沙粒不僅是指存在於敘拉古周邊以及整個西西里島的沙粒,而且是指在地球所有區域所能找到的所有沙粒,無論那裡是否有人居住。也有人認為,這個數目並非無窮大,但比地球沙粒數目更大的數是表示不出來的。如果想像地球是一個大沙堆,並把地球的所有海洋和洞穴都填滿沙粒,一直填到與最高的山齊平,那麼持有這種觀點的人顯然會更加確信,這樣堆積起來的沙粒數目是無法表示的。但我要試圖表明,使用我所命名的各種數,不僅能表示出按照上述方式填滿整個地球的沙粒的數目,甚至能表示出填滿整個宇宙的沙粒的數目。
阿基米德在這部名著中提出的書寫大數的方法與現代科學中的方法很相似。他從古希臘算術中最大的數「萬」開始,然後引入「億」這個新的數作為「第二級單位」,然後是第三級單位「億億」、第四級單位「億億億」,等等。
寫出一些大數似乎無足輕重,沒有必要用幾頁篇幅加以討論。但在阿基米德那個時代,找到書寫大數的方法的確是一項偉大的發現,使數學邁進了一大步。
要想計算填滿整個宇宙所需的沙粒總數,阿基米德需要知道宇宙有多大。當時認為,宇宙被一個附有恆星的水晶天球所包圍。據與阿基米德同時代的著名天文學家薩摩斯的阿里斯塔克(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 …
• …………………
• …………………
當然,由於不可能把無窮多個整數和無窮多個小數實際寫出來,所以上述說法只是意味著這張表的作者有了某種一般規則(類似於我們用來排列普通分數的規則),並且根據這種規則製作了這張表,此規則保證每一個小數遲早會出現在這張表上。
但我們很容易證明,任何此類說法都是站不住腳的,因為我們總能寫出一個無限小數沒有包含在這張無窮表之中。怎麼寫呢?非常簡單。只要讓該小數的第一小數位區別於表中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;我們什麼都能數,卻沒有那麼多東西讓我們來數!