壘碼不知計算史,閱盡演算法也枉然

海興發表於2017-03-30

世界上只有兩種人,想象力大於等於100的和想象力小於100的。 --Alex·Erhei

人類之所以能在漫長的歷史程式中爬上食物鏈的頂端,主要是因為人類有能力建立起地球上最大的合作網路。 公元前8500年,全球最大的人類聚落大概有幾百個村民,其規模並不比羊群、牛群、狼群、猩猩群大多少;公元前7000年,世界上最大的人類聚落應該是位於今日土耳其的加泰土丘城鎮,大約有5000到10000人。之後人類聚落的規模越來越大,把其它物種遠遠甩在了身後。

然而不管是古代美索不達米亞的城市,還是秦朝和古羅馬的帝國,直至現在為“薩德”而群情激奮的十幾億人,能聚在一起都只是因為由想象所構建的秩序。雖然所有動物的聚落都會有秩序,但都沒有人類聚落構建出來的秩序強大。因為其他動物的秩序是靠動物的本能維持的,而維持人類聚落秩序的,比如神仙、妖怪、國家、法律、金錢、公司等,靠的是人類的想象。

猩猩也怕電閃雷鳴,但猩猩缺乏想象力,所以如果你告訴猩猩搶你的香蕉會遭雷劈,它估計會撓你個滿臉花,然後照搶不誤。信神,是智人離開猩猩走向神壇的第一步!

然而維持法律、習俗、程式、禮儀這些由想象構建的秩序,需要處理大量的資訊。但人腦的能力有限,在公元前3500年之前,如果某個社會的人數和物品數量超過人腦的處理能力,社會秩序就會崩潰,因此也無法形成更大規模和更深入的合作。

在公元前3500~公元前3000年之間,在美索不達米亞南部生活的蘇美爾人想象力爆表,發明了一套可以在人腦之外儲存和處理資訊的系統。從此,蘇美爾人的社會秩序不再受限於人腦的處理能力,開始走向城市、王國和帝國。這套系統就是“文字”。蘇美爾文字系統結合了兩種符號,第一種符號代表的是數字,另一種符號則代表人、動物、商品、領土、日期等。

enter image description here

上圖右側是一塊蘇美爾人制作的泥板,是目前已知的人類歷史上最早的文字記錄。這塊泥板清楚記載著在37個月內收到了29086單位的大麥,並由“庫辛”籤核。為了記賬,人類的想象力又飛躍了。

美索不達米亞人不僅能記錄,還會計算。在一塊公元前2500年的一塊泥板上,記錄了這樣一道算術題:如果穀倉裡有1,152,000份糧食,每個人分7份,則可以分給164571人。

但人們認為數學史的開端是在公元前5世紀的希臘,因為之前人類做的都是應用題,比如分糧食,或者為了丈量土地面積而計算矩形、三角形和圓形的面積。從畢達哥拉斯學派開始,人類才脫離了具體應用,將數字和計算作為研究物件,而且在尋找2X2=y2的解時,首次引入了推理。

美索不達米亞人在做除法時,知道自己會得到什麼樣的結果,也知道要算多久。可畢達哥拉斯學派求解2X2=y2時,並沒有明確的演算法,如果要逐一驗證的話,有無窮多個自然數等著呢。如果不是靠想象力爆棚,想出推理的思路,這題算多少年也算不出來。

數學是靠想象力的,而寫程式碼是靠數學的。如果不知道計算在數學發展過程中的來龍去脈,又怎麼能提升自己的想象力呢?

所以,作為一個有理想有追求有品位有深度的碼農,一定要讀一讀表面上很淡雅,實際上特別黃的《計算進化史》。

另外,這本書的譯者勞佳,在圖靈作譯者那個一百多人的小聚落裡,是一位表現卓越的詞彙量、智商和人生閱歷三棲明星。

相關文章