讀古今文學網 > 數學世界的探奇之旅 > 第2章 史前人類的計數系統 >

第2章 史前人類的計數系統

你覺得有沒有必要數一數自己的孩子,以便確定他們是真實存在的?應該沒有必要吧。同樣,人類社會早期的采獵者沒有大型項目或商業活動的概念,對於他們來說,數字幾乎沒有任何意義。但是,隨著人類定居下來並開始從事貿易活動,計數和記錄結果的能力變得重要起來。首先,我們可以採用阿爾伯特·愛因斯坦的方式,通過思想實驗的形式來理解這個問題。假設數字還沒有出現,而我們的任務是發明這些數字。我們並不確定歷史上數字是如何被創造出來的,但可以推測出這個歷史過程的大概情況。

我們從計數開始。我們生活在一個高度重視數字的世界之中,因此,如果有人告訴你,計數其實並不一定需要有數字,你也許會覺得這個說法荒謬可笑。但是,事實確實如此。在研究集合論和無窮大時,我們就會遇到這種情況,因為我們經常會見到可數無窮大和不可數無窮大這樣的概念,儘管兩者都不指數字。我們暫且不考慮這些複雜的概念,而是集中精力瞭解做記號的計數方式為什麼不需要借助數字。

假設我是一名史前農民,我生活的社會沒有數字。鄰居向我借山羊,我答應了他。(我不知道鄰居為什麼要借山羊,我對山羊以及史前農民也不甚瞭解。)我和鄰居是朋友關係,我很信任他,但在朋友歸還山羊時,我仍然希望找到一個辦法,可以確定他如數將山羊還給了我。因此,我把手掌張開,五指伸直。在鄰居從我的羊圈裡趕出第一頭羊時,我把小拇指收回到手心的位置。(小拇指彎曲時,無名指往往會隨著小拇指一起彎曲,因此你可能需要用另一隻手協助小拇指。掰手指是一種比較低級的計數方式,但是十分方便。)第二頭羊離開羊圈時,我收回無名指。就這樣,當第五頭羊被趕出羊圈時,我把大拇指收回來,橫扣在其他手指上面。這時候,鄰居覺得羊已經夠了。

幾周之後,他來還山羊。當這些山羊被趕入羊圈時,我通過同樣的方法,統計了山羊的數量。最終的結果一樣,我知道借出去的山羊已悉數歸還。(嚴格地說,我不知道還回來的這些山羊是不是我借出去的那些,但在這裡我們不考慮這個問題。)當時,我不知道我借出了多少頭山羊(我沒有「多少」的概念,也沒有數字的概念),但是我知道鄰居沒有欺騙我。事實證明,計數是一種非常有用的工具,可以幫助我們解決身邊的問題。

有證據表明,古時候,人們在採用這種計數方法時使用的工具是符木。已知最早的符木是一根有刻痕的骨頭,稱作伊尚戈骨,可以追溯至20 000年前。這塊狒狒的腓骨(小脛骨)上刻有三組深深的刻痕,每組的和分別是60、48和60。這些符木很可能就是計數用的。它們不僅可以表示更大的數,而且計數結果可以長時間保存,因此是一種優於掰手指的計數工具。

我們只能推測伊尚戈骨是用來計數的,但是無法找到背景資料加以確認。那些刻痕也可能是一種裝飾。但我們可以確定,在距今更近的史前時代,人們使用了大量的符木標記,而且這些標記顯然是用於記錄的。我們可能永遠無法確定符木這種無數字計數工具第一次出現的時間,但我們知道把符木作為一種常用的計數工具已經有漫長的歷史了。然而,我們設想的發明數字的實驗才剛剛開始,它遠不像製作一根符木那樣簡單。

接下來,我們設想,在把山羊借給鄰居後的第二天,我女兒問我哪些山羊被借走了。但我已不記得朋友借的是哪些山羊(一段時間之後,所有山羊在我的腦海裡都變成一模一樣的了)。於是,我一面說「就是……」,一面掰起手指頭。這已經是我能找到的最有效的記錄方式了。若干天之後(在這期間,鄰居又找我借了幾次山羊,看來他有向鄰居借東西的習慣),我突然靈光一現。每次說到借給鄰居的那些山羊時,我為什麼都要重複掰手指這個無聊的動作呢?只要說「一隻手的山羊」,不就可以了嗎?如果他需要多借一頭山羊,那我怎麼表示呢?「一隻手加一根手指的山羊」。於是,我不知不覺就發明了數字。由於這些數字都是根據我的手指發明的,因此它們可以叫作「手指數」。

不幸的是,史前版的我有點兒上年紀了,記憶力也衰退了。在一段時期裡,由於鄰居借羊的頻率異常高,所以我需要通過在符木上刻痕的方式,幫助自己記住借出去了多少頭羊。然而,我發現,既然「手」這個詞可以用來表示一定數量的手指或者符木刻痕,那麼,如果我用某個特定的刻痕或者圖案來表示手,計數結果不就一目瞭然了嗎?那樣的話,我就不需要將很多刻痕轉化成若干只手了。剛開始的時候,我把符木刻痕畫成手指的樣子:

但是,過了一陣子之後,因為懶惰,我把這個刻痕做了簡化處理,用一條橫線表示大拇指,用一條豎線表示其他手指,於是這個圖案就變成了一個不規則圖形:

在書寫和惰性的雙重作用下,這些數字逐漸形成了一套獨有的符號體系。這套數字系統簡單易懂,即使你之前從未使用過,也從未見過,看到下面的符號之後,你也應該能立刻說出這個數是多少:

沒錯,這個數就是現代數字系統中的12。然而,現在討論這個數還為時過早。在史前人眼中,這個數就是「手—手—手指—手指」。但也有可能是「手指—手指—手,手指—手指」,這是因為我可以利用左手的手指數出這個數包含多少只手,還可以利用右手數出餘下的手指數。太棒了!我是不是已經成為一名數學高手了?暫且還算不上。但是,我已經是一名算術師了,如果真有「算術師」這個詞的話。(但好像真的有這個詞,因為電腦的拼寫檢查程序沒有報錯。)的確,這些內容太簡單了,可能還不足以稱為數學吧。但是,在討論更複雜的情況之前,我們先看一看,到現在為止,我們到底掌握了哪些技能。

我發明的這種符號系統是用數字表示實物,也就是說,這些數字是對現實世界中具體事物的直觀表示。具體地說,在本例中,這些數字表示的是山羊的數量。對於現代人而言,既然這些直觀的符號可以表示山羊,就一定可以表示玉米等其他事物。但是,我們知道,早期的准數學家在歷經了一番周折之後,才艱難地完成了這個由具體到抽像的飛躍過程。事實上,數字的通用性(指數字與實物剝離,變成獨立的符號。正因為數字的這個特性,我們現在不僅可以用「4」表示香腸,還可以用它表示汽車)並不是與生俱來的。

就像數山羊這個思想實驗一樣,古時的烏魯克城邦居民在學會書寫之後,也經常需要考慮計數的問題。烏魯克是最早的城市之一,在伊拉克還能看到該城遺址。公元前4000年,烏魯克在蘇美爾文明中佔據核心地位,存世2 000多年。但是,烏魯克的居民沒有發明出可以表示所有事物的數字系統。他們雖然進行了一定程度的歸納,卻認為有的事物與其他事物相差甚遠,在表示這些事物時需要使用特殊的數字。例如,他們使用一套數字系統表示人、活的動物和干魚(不要問我為什麼),同時使用另一套數字系統表示穀物、奶酪和鮮魚。

但是,在應用過程中,有人不可避免地會在某些場合中突破限制,用某個事物(比如山羊)獨有的計量系統表示其他事物。於是,數字逐漸具有了通用性。我之所以用大量篇幅討論這個過程,是因為它對於回答「數字是一種真實的存在嗎」這個問題具有非常重要的意義。如果事實證明數字並非真實存在,那麼為什麼它們可以如此好地表示現實呢?對於這個問題,美國數學家理查德·漢明說:

抽像的整數不僅可以用於計數,而且效果非常好,這實在令我吃驚。我曾經試圖向朋友們介紹我的這種心情,但是他們幾乎都無法理解。6頭綿羊加上7頭綿羊,就有13頭綿羊,6塊石頭加上7塊石頭,就有13塊石頭,這樣的結果難道不令人吃驚嗎?宇宙間竟然有像數字這樣簡單的抽像概念,難道不是奇跡嗎?我認為,這個事實強有力地證明了數學的神奇性達到了我們難以想像的程度。我認為數學既不可思議,又難以解釋。

接著說我們的思想實驗。過了一段時間,我可能會調整掰手指這種計數系統,並且使用一些有形的象徵物。這些有形的象徵物可能是計數石,也就是「calculi」〔小卵石,「calculation」(計算)與「calculus」(微積分)即由此演變而來〕,也可能是算盤珠,還可能是我們今天仍在使用的硬幣。事實上,在發明數字之後不久,我肯定就需要製作出某種有形象征物。從記賬這個角度看,我發明的這種書寫符號沒有任何問題。例如,看了這些符號,我就知道我借給鄰居多少頭山羊。這種記賬方式是可行的,因為鄰居和我是朋友,我們彼此信任。但是,如果我是一個不誠信的人,我就可以在符木上添加兩條刻痕,而且看不出任何破綻。

鄰居來還山羊時,等到數完一隻手的山羊之後,我會裝出一副很傷心的樣子說:「你只還給我一隻手的山羊,還有『手指—手指』的山羊沒還呢?」同時,我會把修改過的符木拿給他看,臉上則是無辜又可憐的表情。鄰居不能複製我的符木,因此他可能沒有辦法為自己辯解,他要麼多還給我兩頭山羊,要麼把我痛揍一頓。

實際上,到目前為止,用「手指—手指」來表示「2」的計數方式可能已經讓我不勝其煩了。因此,富有獨創性的我可能會想出一些字詞,用來表示介於手指與手之間的數值。經常與文字打交道的人都希望字詞簡短易記,同樣,我也希望這些字詞不要太長,所以我最後想出來的字可能是:「芬,戈,紐,喀,手」。於是,我一面適度地做出傷心的表情,一面質疑鄰居:「還差戈頭山羊呢!」

無論我如何表示剩下的這兩頭山羊,不經意間,我毫不費力地完成了一種全新的數學運算。在我作弊之後,我的符木顯示出山羊的總數是手—戈(實際上,我可能會把這兩個字連起來,表示「7」這個數)。鄰居還給我一隻手的山羊,還欠我戈頭山羊。從手—戈頭山羊中收回一隻手的山羊,還剩下戈頭山羊。也就是說,手—戈減去手等於戈。這難道不是一道算術題嗎?

因此,如果我不誠信,我就可以借助符木和我新發明的騙術進行騙人的勾當。幸好,聰明的鄰居發現,我的符木僅僅通過刻痕表示山羊的數量,而這些刻痕改起來非常方便,因此他有被騙的危險。於是,他拿出了一套具體的象徵物,每枚象徵物代表一頭山羊。這些象徵物是他自己製作的實物,易於辨認,而且我難以複製。在他歸還山羊時,我收到一頭山羊,就還給他一枚象徵物。歸還了一隻手的山羊之後,這些象徵物就全部回到了鄰居手中,因此我無法欺騙他。但是,新的問題又出現了。由於鄰居經常來借山羊,我有點兒不高興了。因此,我們達成了一個新協議。在鄰居再次借山羊時,作為補償,我可以留下一枚象徵物。將來,我可以利用這枚象徵物從鄰居那裡換取某些物品,例如一袋麵粉。

由於彼此之間的不信任,再加上非常簡單的算術運算,錢在不知不覺之中便誕生了,並且為有償服務的產生奠定了基礎。由此可見,數字的功能強大到令人瞠目結舌的程度。但我們還是從金錢回到純算術這個話題,繼續考慮「手」的含義。剛開始的時候,我可能只會用這個概念來表示羊群的大小,但是,我很快就會發現它的通用性,也就是說,它還可以方便地表示蘋果、人、魚叉等事物的數量。作為一個數字,手可以用於很多方面,它可以告訴我們某種事物到底有多少,無論這種事物是什麼。

到目前為止,這就是手的全部功能,而且這些功能已經足夠滿足我們計數的需要了。坦白地說,這種狀況將維持相當長的時間。在清點存貨、借錢、購物和銷售等活動中,手可以發揮不可思議的顯著作用。在準備晚餐時,手可以告訴我們有多少人將與我們共進晚餐。手還可以告訴我們,多少天之後,白天會慢慢變長。正因為如此,當簡單的符木演變成書面數字之後,古巴比倫人發明了非常先進的六十進制,這是最早出現的計數系統之一。

「六十進制」是指在60這個位置,所有的數字都要進位到下一級。我們現在使用的十進制數字系統,很有可能源於雙手一共有10根手指這個事實。(從技術上看,本章討論的手數字系統是五進制。)古巴比倫人的這套數字系統是楔形文字,是用尖筆在陶片上刻畫出來的。值得注意的是,這是一個出現時間非常早的位置計數系統(某個數字在一排數字中的位置不同,它所表示的值也不同,例如,「1」表示的可能是「1」,也可能是「60」或者「3 600」),直到2 000多年後,位置計數系統才成為一種常見現象。

五進制、十進制和二十進制都比較好理解(考慮二十進制時,我們可以加上腳趾),但是六十進制乍一看似乎比較奇怪。其實,60這個數字使用起來十分靈活,它可以被1、2、3、4、5、6、10、12、15、20和30整除,因此在除法運算中非常方便。大家不要徹底否定六十進制。別忘了,我們在將秒換算成分鐘、將分鐘換算成小時以及表示角度時,仍然在使用它。古巴比倫人將楔形文字書寫在陶片上,因而留下了大量數字,其中有很多是用來記賬和管理交易的,但是還有一些數字則是古巴比倫人研究天空時留下來的。我們知道,古巴比倫人對天空進行了深入細緻的研究,主要是由於占星術的發展。

我們回過頭來接著討論史前農民這個思想實驗。我們創造的數字都是用來代表實物的,如果不用來表示一個真實的物體,這些數字就毫無意義。它們更像形容詞,而不是名詞。我不能給你手—戈,我只能給你手—戈頭山羊或者手—戈只籃子。我也沒有辦法讓你看到手—戈。也許你認為,我可以用合適的符號把手—戈這個數字表現出來。但是,就像山羊的畫像不是山羊一樣,表示手—戈的符號也不是手—戈這個數字。時至今日,相當多的人都把數字理解為形容詞,其中有很多都是那些上學時看到數學就頭疼不已的人。這是因為,直接表示具體物體只是數字最基本的功能。

很多早期數字系統使用起來非常不方便,遠遠落後於古巴比倫人的發明,原因就在於他們在數字與實物之間建立了這種聯繫。例如,古希臘人用標準字母表示數字,但是,他們必須重新啟用一些早已廢棄的字母(例如與大寫的「F」非常相似的第6個古希臘字母)才夠用。這種系統要求在使用時必須根據上下文區分字母與數字,因此會造成混淆,但這個事實說明,寫作與記賬這兩種活動在人類社會早期是嚴格分開的。這個結論似乎是在研究腓尼基人時得出的,在研究希伯來人早期的數字表示方法時得到了證實。

我們大多數人更為熟悉的羅馬數字不僅使用了簡單易懂的符木標記,還使用了與希臘數字相似的字母系統。實際上,羅馬數字與我們在前文中想像的手進制數字系統有一個明顯的相似之處,我們可以把羅馬數字中的I和V分別視為表示手指和手的符木標記。希臘數字用不同的字母表示10和100的倍數,而羅馬數字則直接採用字母重複出現的辦法,同時,他們還通過有趣的位置變化,表示某種特殊意義。在羅馬數字中,所有字母都是按照數值由大到小的次序排列的,因此,如果一個比較小的數字出現在比較大的數字之前,就表明這個小的數字應該被減掉,因為它僅僅起修正作用。

例如,大家想一想鐘面上的羅馬數字。在「4」這個位置上的數字是什麼樣子?熟悉羅馬數字的人都知道,對應的數字是「IV」,其中「V」表示5,而「I」則表示「減去1」,因此整個數字表示4。經常有人錯以為羅馬數字中的4是IIII這種更為簡單的表現形式,歷史上也確實有過這個奇怪的習慣,在表盤和鐘面上用IIII表示4(儘管9仍然被表示成IX)。但是,看到羅馬數字時,我們的理解通常都是正確的。

在我們看來,古羅馬人和古希臘人使用的這兩套系統極不方便。與古巴比倫人相比,他們確實落後了。的確,人類大腦在處理六十進制的數字時有些麻煩,這個事實也反映了人類短時記憶的特點——人腦一次只能處理七八條信息。正因如此,人們習慣在電話號碼(通常超過7位數)中間插入空格。相較於六十進制,五進制和十進制都更容易處理。但是,出現時間更早的六十進制在很多方面具有後來者無法比擬的優勢。

當然,羅馬數字幾乎不佔據任何優勢,因為它們實在太笨重了。大家可以比較羅馬數字中的年份,如1999年對應的羅馬數字是MCMXCIX。(羅馬數字偶爾也會佔上風,例如2000年的表示方式較為簡潔——MM。)大家也許會感到奇怪,我們為什麼偶爾還會使用羅馬數字呢?我認為,這可能是因為截至20世紀,人們一直對古典文化存有莫名其妙的敬畏之心。一些多年來一直被視為醜陋不堪的古典建築風格重新流行起來,原因也在於此。與阿拉伯(印度)數字相比,羅馬數字的唯一優勢就是曲線比較少,刻在石頭上比較容易。

更令人意想不到的是,羅馬數字還有一個非常嚴重的問題:它們會大大增加算術基本運算的難度。比如,若計算XXIII和XLV的和,使用羅馬數字你將無法找出一條簡單法則(數學界青睞的就是簡單法則)。但我們可以很容易地教會孩子們如何求23與45的和,這是因為我們使用的是一個位置計數系統,從數字所在的列就可以看出它是10的多少次冪。根據這個特點,人們總結出了算術的運算法則(參閱第6章)。羅馬人在科學上幾乎毫無建樹,與他們使用不方便的羅馬數字之間可能脫不了干係。

就像鄰居借羊時使用的最原始的符木一樣,古時的希臘數字和羅馬數字都不是數學工具,人們也不會像後世的數學家那樣,利用這些數字從事數學研究。儘管古希臘人有研究數學和科學的傳統(我們很快就會討論這個問題),但是他們對數字的理解不同於現代人。我們暫且不討論這個問題,而是繼續我們的思想實驗,看看史前的那位山羊主人可以利用符木系統完成哪些基本活動。

你也許認為負數對於這些早期算術師而言還是一個非常遙遠的事物。按照現代人的理解,事實確實如此。你不可能有–2頭山羊,我也拿不出–2個物品,無論這個物品是什麼。因此,–2不可能直接表示現實世界中的任何對象。然而,在記賬時,–2卻是一個重要的概念,即使這個概念在剛開始的時候沒有表示成負數的形式。作為一名史前農民,我把一隻手的山羊借給鄰居,那麼在鄰居歸還之前,我的羊群就少了一隻手的山羊。儘管我記錄的是缺少一隻標準手(正值)的山羊,但是實際上,符木上的刻痕或者彎曲的手指都表示山羊的數量是負數。鄰居歸還山羊時,每歸還一頭(正值)山羊,我就會填平符木上的一條刻痕,直到5條刻痕都被填平。第一次使用符木時,我們在不使用數字的條件下學會了計數,而現在,在沒有意識到負數這個概念的條件下,我們學會了利用符木進行負數的運算。

即使山羊被借走了,它們依然是整個事件的核心。無論是負值還是正值的手,表示的都是位於現實世界某個地方的一群實實在在的對象。但是,數學家若要自由翱翔,就必須切斷與世俗之間的聯繫。

不同的文明意識到這個問題的時間有先有後,但是在西方傳統中,古希臘人是第一個覺醒的。由於希臘人沒有採用世人一致認可的科研方法,而且犯了很多錯誤,所以現在很多人在提到希臘的科學水平時都多少有點兒蔑視之意。希臘人在數學界的影響力也十分有限。但是,即使他們毫無建樹,我們也應該感謝這個民族,因為是古希臘人促使數學取得了有史以來最重要的一個進步。他們清楚無誤地宣告,數字不一定非得與現實世界中的具體對像相對應。某個古希臘教派深信,整數突破了物品數量統計的羈絆,具有一種全新的意義。