信息技術(shù)教材中的科學(xué)史探秘之一
信息技術(shù)課程的背后有科學(xué)!計算機(jī)科學(xué)和信息科學(xué)曾在科學(xué)史上開出了無數(shù)絢爛的花朵,留下了無數(shù)動人的科學(xué)篇章??茖W(xué)史上同樣有謎團(tuán),探尋這些謎團(tuán)的過程將是一次激動人心的科學(xué)探索之旅,請跟隨我們:聆聽科學(xué)故事、領(lǐng)悟科學(xué)人生、揭示科學(xué)奧秘、提升科學(xué)品位。
后期預(yù)告:探密之二《計算機(jī)究竟是誰發(fā)明的》,之三《存在統(tǒng)一的信息概念嗎》,之四《圖靈測試能證實人工智能的存在嗎》,之五《人機(jī)對弈體現(xiàn)了機(jī)器具有智能嗎》,之六《互聯(lián)網(wǎng)是如何發(fā)明的》,之七《摩爾定律還有效嗎》。敬請關(guān)注!
高中信息技術(shù)教材(浙教版)中提到二進(jìn)制是被譽(yù)為“西方文明最偉大的人物之一”的德國數(shù)學(xué)家萊布尼茨(1646~1716)提出的,而翻閱種種計算機(jī)科學(xué)史的書籍,都會提到萊布尼茨發(fā)明二進(jìn)制是受到了中國古代《易經(jīng)》的啟發(fā)。既然二進(jìn)制是現(xiàn)代計算機(jī)的基礎(chǔ),那么《易經(jīng)》也就成為了計算機(jī)的源頭。而事實究竟如何呢?
一般認(rèn)為萊布尼茨提出二進(jìn)制的經(jīng)過
按照一般的敘述,萊布尼茨提出二進(jìn)制的經(jīng)過大致如下。出于對中國文化的興趣,萊布尼茨在17世紀(jì)后半期保持了和在華的法國傳教士白晉的通信往來。1703年,萊布尼茨收到白晉寄自中國的信箋,其中有中國宋代畫家邵雍繪制的一件易圖。萊布尼茨發(fā)現(xiàn),如果將八卦中的陰爻和陽爻分別換成0和1,那么易圖中排列的六十四卦與二進(jìn)制中0到63這六十四個數(shù)字的計法完全一致。在這幅圖的啟發(fā)下,萊布尼茨提出了二進(jìn)制的設(shè)想。而在二百多年后,二進(jìn)制成為了現(xiàn)代計算機(jī)的基礎(chǔ)。因此,有人認(rèn)為《易經(jīng)》成為了計算機(jī)的源頭,并感嘆為什么我們中國人沒有好好地發(fā)展《易經(jīng)》八卦的思想。那么,事實的背后究竟如何呢?
萊布尼茨提出二進(jìn)制的實際過程
按照上面的說法,萊布尼茨在1703年收到白晉寄自中國的易圖,并據(jù)此提出了二進(jìn)制,同年發(fā)表了《論二進(jìn)制算術(shù)》一文。而實際上萊布尼茨見到易圖以及提出二進(jìn)制的時間都要早很多。首先,萊布尼茨早在1679年就撰寫了《二進(jìn)制算術(shù)》的論文草稿,文中對二進(jìn)制算術(shù)作了相當(dāng)詳細(xì)的討論,不但給出了由0和1表示一切數(shù)的規(guī)則,還規(guī)定了加、減、乘、除四則運(yùn)算,并與十進(jìn)制進(jìn)行了比較。這表明此時的萊布尼茨已經(jīng)建立了二進(jìn)制,雖然尚未公開發(fā)表。其次,在萊布尼茨提出二進(jìn)制之前,他也確實看到并了解了中國古老的《易經(jīng)》及八卦,但卻并不是白晉給出的邵雍的易圖。對歐洲現(xiàn)存17世紀(jì)中西交流文獻(xiàn)的考證表明,早在1658年,意大利傳教士衛(wèi)匡國就在德國出版了《中國上古史》,里面詳細(xì)介紹了《易經(jīng)》及太極八卦的演化過程。此外,當(dāng)時還有一些其他在歐洲出版的有關(guān)中國的書籍中都有《易經(jīng)》的介紹,萊布尼茨在與友人的通信中也涉及了這些內(nèi)容的討論??梢?,萊布尼茨在見到邵雍的易圖之前已經(jīng)了解了《易經(jīng)》及八卦。
筆者認(rèn)為,萊布尼茨提出二進(jìn)制在白晉寄來邵雍的易圖之前,但是在萊布尼茨思考并建立二進(jìn)制的過程中,他了解并且從中國古老的《易經(jīng)》及八卦中攝取了靈感。但這些都不是問題的本質(zhì),問題的本質(zhì)是萊布尼茨建立的二進(jìn)制與現(xiàn)代計算機(jī)有聯(lián)系嗎?
萊布尼茨提出的二進(jìn)制與現(xiàn)代計算機(jī)有聯(lián)系嗎
要回答這個問題,首先要清楚萊布尼茨提出二進(jìn)制的目的是什么?我們知道,萊布尼茨終身致力于尋找一種真正的符號系統(tǒng),來包含人類的全部思想。而二進(jìn)制能用兩個數(shù)字推導(dǎo)出整個算術(shù)系統(tǒng),萊布尼茨相信二進(jìn)制進(jìn)而也可以產(chǎn)生出整個宇宙。正如他自己在《通向一種普遍文字》中所說的:“我這里不打算論述這種體系(二進(jìn)制)的巨大用處,只要指出所有的數(shù)通過一和無的方式加以表達(dá)是何等美妙就足夠了?!?br/> 歸根結(jié)底,萊布尼茨提出二進(jìn)制的主要目的還是在哲學(xué),甚至是神學(xué)上的,因為它說明了整個宇宙如何可以看成是由數(shù)所構(gòu)成的。我國學(xué)者劉鋼則認(rèn)為二進(jìn)制對萊布尼茨而言更像是個游戲,沒有任何實用價值,更和現(xiàn)代計算機(jī)沒有任何聯(lián)系。至于現(xiàn)代計算機(jī)問世以后,由于萊布尼茨提出的二進(jìn)制成為了基礎(chǔ),萊布尼茨本人也被認(rèn)為是計算機(jī)的主要奠基人,則屬于“事后追認(rèn)先驅(qū)”的典范。
將二進(jìn)制與現(xiàn)代計算機(jī)聯(lián)系起來的關(guān)鍵人物是誰
在20世紀(jì)現(xiàn)代計算機(jī)誕生的過程中,有兩位科學(xué)家為將二進(jìn)制作為計算機(jī)的基礎(chǔ)作出了重要貢獻(xiàn),他們是美國科學(xué)家香農(nóng)(1916~2001)和被譽(yù)為“電子計算機(jī)之父”的美籍匈牙利科學(xué)家馮·諾依曼(1903~1957)。
1938年,香農(nóng)在其碩士論文《繼電器與開關(guān)電路的符號分析》中,比較了開關(guān)電路與二進(jìn)制數(shù)碼之間的相似性,提出了把二進(jìn)制符號中的“1”和“0”與電路系統(tǒng)的“開”和“關(guān)”對應(yīng)起來的設(shè)計方向。這奠定了數(shù)字電路的理論基礎(chǔ),哈佛大學(xué)的Howard Gardner教授說:“這可能是20世紀(jì)最重要、最著名的一篇碩士論文?!?br/> 1945年,馮·諾依曼在其主持的EDVAC計算機(jī)方案中首次將二進(jìn)制作為計算機(jī)的設(shè)計思想(第一臺計算機(jī)ENIAC采用的是十進(jìn)制),大大簡化了機(jī)器的邏輯線路,奠定了計算機(jī)的重要基礎(chǔ),一直沿用至今。
由上可知,二進(jìn)制的正式提出者確實是萊布尼茨,并且在此過程中受到了來自中國古老的《易經(jīng)》的啟示,但并非直接由易圖演化成二進(jìn)制,并且萊布尼茨提出二進(jìn)制也與現(xiàn)代計算機(jī)毫無關(guān)系。而真正為現(xiàn)代計算機(jī)中二進(jìn)制思想奠基的則是20世紀(jì)的香農(nóng)和馮·諾依曼。