你能數到多少?
曾經有這麼個故事,講的是兩個匈牙利貴族玩數數字的遊戲,誰數的數字大誰就贏。
「那你先來吧!」一個貴族說。
於是另一個貴族絞盡腦汁,想了好幾分鐘,最終報出了他能想到的那個最大的數字:「3!」
接下來輪到第一個人費腦筋了,於是他冥思苦想了一刻鐘, 然後無奈地說:「你贏啦!」
很顯然這兩個貴族智商不太高,況且這個故事很可能只是一個調侃罷了,真實發生的概率不大。但這種對話卻真的有可能發生在霍屯督人1之中。如今我們通過一些非洲探險家得知,霍屯督人的字典中不存在比3更大的數字。所以如果你問他們家裡有多少個兒子或是殺死過多少個敵人,如果數字大於3,他會告訴你「很多個」。因此從數數方面來說,霍屯督人連我們幼兒園的小娃娃都不如,畢竟就連小娃娃都能數到10呢!
如今我們潛意識裡大概會覺得,數字想寫多大就能寫多大——哪怕用「分」為單位來表示戰爭經費這種巨額資金,或是以「英寸」為單位來表示天體之間超級遠的距離——畢竟只要簡單地在數字後面不斷地加上零就可以了,只是很可能寫著寫著手就酸了。比如在已觀測的宇宙中,大概有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次。
但是古代人並不知道這種簡化算數的表示方法,實際上這種方法是不到兩千年前一位印度的數學家發明的,只是如今我們已經不知道他具體到底是誰。在他的偉大發明——這當然稱得上是一項偉大的發明,雖然我們很少意識到這一點——面世之前,不同數位上的數字是通過一些不同的特殊符號來分別表示的,例如8 732這個數字,在古埃及會通過這種方式表示:
而在凱撒(Julius Caesar)的事務官手中,這個數字則會被表示為:
MMMMMMMMDCCXXXII
後面的這串字符你一定很熟悉,因為羅馬數字在如今依然派得上用場——比如書籍的章卷、歷史紀年表中的日期等,還會使用羅馬數字。不過由於古代的計數需求很難超出幾千,因此古羅馬人沒有發明比「千」更高的數位符號。所以如果你讓一個古羅馬人寫下「一百萬」這個數字,無論他受過多麼好的算數方面的教育,他都會不知所措。估計他能夠想到的最好方式,就是連續花幾個鐘頭不停地寫,一直寫到下一千個M為止。
古代人心目中,像天空星辰的數目、海裡魚的數目,甚至是沙灘上沙子的數目,這些很大的數字通通都是「不計其數」的,就像對一個霍屯督人來說,「5」就只能表示為「很多」一樣。
為了表示巨大的數字,阿基米德(Archimedes,公元前3世紀那位著名的大科學家)也費了一番腦筋,終於想出了一個新的方法。他在著作《計沙法》中寫道:
「有些人認為,沙子的數量是無窮多的。這裡我提到的沙子,不僅僅是指餘對立古或是西西里島其他地方的沙子,而是指整個地球上所有發現和未發現的沙子。也有人覺得,這個數字並不是無窮大,但要表示比沙子數目更多的數量也是做不到的。很明顯,持這些觀點的人會認為,如果將地球假想成一個大沙堆,在海洋、山洞中都填滿沙子,一直裝到和最高的山峰一樣高,那麼這個大沙堆中沙子的數量是無法表示出來的。但我要告訴大家,不僅填滿地球的沙堆中沙子的數目能表示出來,就算整個宇宙都填滿了沙子,這個數目也照樣能夠表示出來。」
阿基米德所提出的表示大數的方法與現代科學中的方法非常類似。他從當時古希臘算數中最大的數字「萬」開始,發明了一個新的數字「萬萬(億)」作為第二級單位,然後將「億億」作為第三級單位,「億億億」作為第四級單位,以此類推。
對現代人來說,寫個大數字似乎不算什麼,不值得花幾頁紙來專門討論。但是在阿基米德時代,能夠發明一種描述大數的方法是非常了不起的成就,這也是數學向前發展過程中的關鍵一步。
為了計算填滿宇宙的沙子的數目,阿基米德必須知道宇宙有多大。按照當時的觀點,宇宙被水晶球層包裹著。與阿基米德同時代的著名天文學家,來自薩摩斯島的阿里斯塔克斯(Aristarchus)認為,地球到天球面的距離為10 000 000 000 斯塔迪姆,差不多1 000 000 000 英裡。
阿基米德對比了一下宇宙和沙粒的大小,進行了一系列足以把中學生嚇出噩夢的運算後,得出結論:
在阿里斯塔克斯估算的宇宙中填滿沙子,沙子的數目不會超過一千萬個第八級單位。
要注意的是,阿基米德時代估計的宇宙半徑遠遠小於現代的觀測結果。十億英裡不過剛剛超過太陽到土星的距離。後面我們會看到,按如今天文望遠鏡的觀測結果,宇宙邊緣距我們有5 000 000 000 000 000 000 000英裡,要填滿這麼大的宇宙,需要沙子的數量超過10100粒(1後面100個零)。
這個數字顯然比前文提到過的宇宙中的原子總數3×1074都要大,因為真實宇宙並未充滿原子。實際上,計算一下我們會發現,宇宙中平均每立方米僅有一個原子。
當然了,要獲得一個巨大的數字,不必非得把宇宙倒滿沙子,或進行類似活動。實際上,有一些乍看起來很簡單的問題,也會遇到非常大的數字,哪怕最開始你以為其中涉及的數字不過幾千而已。
比如在一個大家耳熟能詳的故事裡,印度舍罕王(Shirham)就吃了大虧。據傳說,舍罕王打算獎賞他的宰相、象棋的發明者西薩·班·達依爾(Sissa Ben Dahir)。這位大臣似乎並不貪心,他跪在國王面前說:「陛下!請在棋盤的第一個格子裡放一粒麥子,第二個格子裡放兩粒,第三個格子裡放四粒,第四個格子裡放八粒,以此類推,每個格子都放前面格子的兩倍,直到把64個格子裝滿就行了。」
「你竟然只要這點獎賞。」國王一邊說,心裡一邊竊喜,畢竟對這樣一件神奇發明的賞賜竟然不需要太破費,「我會按你的要求給你賞賜的。」說完,他命令一個僕人帶了一袋麥子到王座前。
放麥粒的計數工作開始了,按照宰相的要求,第一格放一粒,第二格放兩粒,第三格放四粒……國王吃驚地發現,還沒放到二十格,一麻袋麥子竟然已經空了。於是一袋袋麥子搬到國王面前,但是隨著格數的增長,所需的麥子增加得實在是太快了,很快國王就發現,即便把整個印度的麥子都拿過來,也滿足不了達依爾的要求,因為計算一下我們就知道,這需要18 446 744 073 709 551 615顆麥粒!
這個數字雖然不像宇宙中原子總數那麼大,但也足夠可觀了。假設一蒲式耳1小麥有5 000 000 粒,我們需要4萬億蒲式耳才夠!全世界平均每年產出小麥總量約為2 000 000 000 蒲式耳,所以宰相所求的賞賜,竟然是全球兩千年所產的小麥總和!
國王終於意識到他欠了宰相多麼大的一筆債,要麼他得忍受著達依爾沒完沒了的討債,要麼他乾脆砍了達依爾的腦袋。我猜國王估計會選後者。
另一個關於大數的故事也同樣出自印度,與「世界末日」有關。讓我們來看看鐘愛數學的歷史學家鮑爾(Ball)是怎麼講述這個故事的:
貝拿勒斯的聖廟標記著世界中心,在聖廟的穹頂之下,安放著一個銅盤,上面插著三根鑽石針,每根針高1腕尺(1腕尺大約20英寸),像小拇指那麼粗。在其中一根針上,梵天從下往上按由大到小的順序放了64片金盤,這就是所謂的梵天塔。按照梵天設定的規則,值班的僧侶夜以繼日地在三根針之間移動著金盤:每次只能移動一片金盤,同時小金盤必須置於大金盤上面。當六十四片金盤由一根針全部移動到另一根針上時,世間所有的一切都將會煙消雲散。
你可以試著自己做一套梵天塔的玩具,用紙板代替金盤,用長鐵釘代替鑽石針。玩這個玩具的過程中,你會很快發現一些規律:不論移動哪一片,所花的時間都比移動上面那一片多一倍。第一片只需要移動一次,第二片需要移動兩次,以此類推。當你把六十四片全部移動完畢,所需的移動次數竟然與宰相所求的麥粒數一樣多!
把這座梵天塔上所有64 片移動完畢,需要多長時間呢?每年有31 558 000秒,假設僧侶不分晝夜、沒有任何休息的時間,每秒鐘移動一次,簡單計算可知,總共需要將近5 800億年才能完成。
對比一下這個傳說和現代科學中的結論,其實還蠻有趣的。因為按照目前宇宙演化理論的推測,恆星、太陽和行星,包括我們的地球,由不定形物質大約形成於30億年前;除此之外,給恆星特別是給太陽提供能量的那些「原子燃料」還能持續燃燒100到150億年。因此我們這個世界的壽命無論如何也不到200億年,與印度傳說中預測的5 800億年相比要短得多。畢竟,那只是個傳說罷了。
在文學作品中曾涉及到的最大的數字,大概是那個著名的「印刷行數問題」了。
假設有一臺印表機能夠一行接一行列印出文字,並且每列印一行,列印的內容就會隨機改變。這臺機器的主要部分是由一排邊緣刻滿字母和符號的碼盤組成,碼盤和碼盤就像汽車的機械裡程表那樣裝配,上一個碼盤轉動一周時,下一個碼盤就會轉動一格,而紙張則會自動捲入。這樣的機器設計起來並不複雜,下圖就是這樣一個機器的示意圖。
讓我們來開動這臺機器,看看它印出的那些沒完沒了的東西。我們會發現印出的大部分行並沒有什麼意義,例如:
「aaaaaaaaaaa…」
或者:
「boobooboobooboo…」
或者:
「zawkporpkossscilm…」
但是既然機器把所有可能的組合都列印出來,我們自然也能從中找到一些有趣的句子,雖然絕大多數都沒什麼意義,比如:
「horse has six legs and…(馬有六條腿,而且……)」
或者:
「I like apples cooked in terpentin…
(我喜歡松節油煎蘋果……)」
當然了,只要繼續找下去,我們也一定能找到莎士比亞(William Shakespeare)寫的每行著作,甚至包括他扔到廢紙簍中的那些文字!
實際上,這樣一臺機器能夠寫出有史以來所有的句子,每一行詩歌、報紙上的每篇社評或是每個廣告、每一卷科學論文、每頁情書、每一份牛奶訂單……
這臺機器不僅能夠列印出已有的文字,甚至能夠列印未來所有的內容。從滾筒卷出的紙張上,我們能夠讀到30世紀的詩集、未來的科研發現,或是2 344年星際交通事故的統計數據。同樣也會有一頁頁還未面世的短篇、長篇小說,若是出版商有這樣一臺機器,就只需要從一堆垃圾中把好的內容挑出來就行了——聽起來似乎與他們現在幹的事也差不太多。
為什麼沒這麼幹呢?
來讓我們算算,要得到所有字母和符號的組合,我們需要印多少行出來。
英文中一共有26個字母,10個數字(0,1,2,…,9)和14個常用的標點符號(空格、句號、逗號、冒號、分號、問號、嘆號、破折號、連字符號、引號、省略號、小括號、中括號、大括號),加起來一共50個字符。印刷中一般平均每行有65個字符,因此我們假設這臺機器一共有65個碼盤。因此對每一行來說,第一個字符有50種可能性,第二個字符也有50種可能性,因此一共有50×50=2 500種可能性。同樣,第三個字符也有50種可能性,以此類推,每一行可能的組合數目為:
或者表示為:
5065
也就是10110。
為了感受一下這個數字有多大,我們假設宇宙中的每個原子都是這樣一個印表機,因此我們有3×1074臺印表機在為我們工作。假設這些機器自從宇宙誕生之初就開始工作,已經持續工作了30億年,即1017秒。進一步假設這些印表機以原子的振動頻率工作,也就是每秒列印1015行文字。計算一下我們可以得知,到目前為止這些印表機列印出的總行數為:
3×1074×1017×1015=3×10106
這也只不過是上述所有可能性的三千分之一罷了。
所以,要從這自動列印出來的內容當中挑點有用的東西出來,恐怕得花很長很長時間了。
《從一到無窮大》
(知乎重磅推薦,小學生都能讀懂的全新譯本。科普讀物宗師之作,愛因斯坦親自推薦,清華大學新生入學禮物。融匯數學、物理學、生物學、天文學於一體,理解科學底層邏輯的入門級權威作品!)