本公眾號首發(fā)
現(xiàn)在用的通用計算機,從某種意義講,就是萊布尼茨構(gòu)想的核心理念“理性演算”和“普遍語言”的具體體現(xiàn),控制論的創(chuàng)始人維納說過,如果給控制論找一位守護(hù)神,就找萊布尼茨。因為是他提出了理性演算和普遍語言的概念。
一、
萊布尼茨在尋找他的普遍語言的過程中,曾見到過法國來回傳教士白晉給他的先天易圖。在易圖的啟發(fā)下,他完成了二進(jìn)制算術(shù)的工作。并寫出了“論二進(jìn)制算術(shù)”的論文。是他發(fā)現(xiàn)了易圖的陰陽爻可以用阿拉伯?dāng)?shù)字0和1來表達(dá)。因為中國古代的易圖的陰陽爻從未用阿拉伯?dāng)?shù)字表示過。那么萊布尼茨的逢二進(jìn)一的算術(shù)法則和卦的讀法也不一樣。逢二進(jìn)一是橫著讀的,而卦畫的陰陽爻是從下向上讀的。因此,從本質(zhì)上說,陰陽爻并非二進(jìn)制。那么經(jīng)過萊布尼茨的“誤讀”,竟然讀出了0和1,這是萊布尼茨的最大貢獻(xiàn)。
萊布尼茨(1646-1716)
邏輯史學(xué)家肖爾茲曾寫過一本《簡明邏輯史》,其中談到“……說起萊布尼茨就好比談到日出?!斑@句話的意思是說,傳統(tǒng)的亞里士多德的形式邏輯被萊布尼茨進(jìn)行了改造。亞里士多德的邏輯從古希臘到萊布尼茨那個年代統(tǒng)領(lǐng)希望邏輯學(xué)整整達(dá)1千多年的時間。亞里士多德的最大貢獻(xiàn)是他用字母A、E、I、O表示命題,提出三段論推理以及范疇論等。總起來說他的邏輯就是推理。而萊布尼茨的貢獻(xiàn)是把亞里士多德的推理改造成演算。萊布尼茨的演算就是所謂的“理性演算”??墒窃谌R布尼茨那個時代,他也不過就是提出個構(gòu)想,以及初步的論證,并沒有寫成著作。
真正將萊布尼茨的思想落實到位的是德國邏輯學(xué)家弗雷格,他于1879年寫成《概念演算》。該小冊子被認(rèn)為是自亞里士多德以來最偉大的邏輯著作,因為他首次實現(xiàn)了萊布尼茨理性演算的思想。構(gòu)造出數(shù)理邏輯系統(tǒng)!在接下來的10年,他終于完成兩大卷的《算術(shù)的基本規(guī)律》??删驮诘诙硗瓿蓽?zhǔn)備付梓之際,他收到英國羅素寄來的一封信。認(rèn)為所構(gòu)造的體系出現(xiàn)了悖論。這就是所謂的羅素悖論,從而引發(fā)了第三次數(shù)學(xué)危機。
弗雷格(1848-1925)
二、
下面再來談?wù)勂毡檎Z言,即符號邏輯。在演算上二進(jìn)制最簡單的。萊布尼茨也認(rèn)為他的二進(jìn)制就是一種普遍語言??蓡栴}是,他的二進(jìn)制算術(shù)與當(dāng)代計算機沒有絲毫關(guān)系?,F(xiàn)代計算機用的的布爾代數(shù),而非萊布尼茨的二進(jìn)制算術(shù)。那么萊布尼茨的二進(jìn)算術(shù)究竟是干什么用的?來看一下羅斯寫的《萊布尼茨》,他說萊布尼茨的二進(jìn)制:“……“最重大的意義還是形而上學(xué)方面的……是神學(xué)方面的……”
布爾是英國人,由于萊布尼茨和牛頓在微積分優(yōu)先權(quán)的爭斗上,歐陸數(shù)學(xué)家對英倫數(shù)學(xué)家的工作嗤之以鼻。另外,布爾當(dāng)年的工作還存在不少缺陷。經(jīng)過后人的改造才有了個基本眉目。美國的皮爾士首先認(rèn)識到布爾代數(shù)對電路設(shè)計可能有所幫助,而且自己做過嘗試。可他畢竟不是電器工程師,設(shè)計電路失敗了。可是他的貢獻(xiàn)是將布爾代數(shù)引進(jìn)大學(xué)的哲學(xué)課。
布爾(1815-1864)
布爾的工作沒被歐陸數(shù)學(xué)家的重視??墒怯牧_素在其三大卷的《數(shù)學(xué)原理》中說,布爾的工作屬于純數(shù)學(xué)的研究。這才使人們重新審視布爾的工作。到了1938年,美國的香農(nóng)已經(jīng)注意到電話交換電路與布爾代數(shù)之間的類似性,即把布爾代數(shù)的“真”與“假”和電路系統(tǒng)的“開”與“關(guān)”對應(yīng)起來,并用1和0表示。于是他用布爾代數(shù)分析并優(yōu)化開關(guān)電路,這就奠定了數(shù)字電路的理論基礎(chǔ)。香農(nóng)據(jù)此寫成碩士論文《繼電器與開關(guān)電路的符號分析》。這才使布爾代數(shù)大放光彩而一發(fā)不可收拾。布爾代數(shù)所實現(xiàn)的就是萊布尼茨所謂的“普遍語言”的理念,盡管他們不是同時代的人,而且也互相不知道對方的工作。
三、
香農(nóng)和圖靈是同時代的人。他們二人在美國有過一段時間的交集。那時正值二戰(zhàn),圖靈在為英國情報部門破譯德國人的密碼;而香農(nóng)也為美國軍方服務(wù),他的目的是為羅斯福和丘吉爾的越洋電話保密。一個要破譯密碼,一個是要通信的保密工作??芍^南轅北轍。雖是盟國,但還是各為其主,他們在密碼方面并沒有什么交流??墒窃诰唧w的學(xué)術(shù)上還是有過相當(dāng)多的交流。
圖靈(1912-1954) | 香農(nóng)(1916-2001) |
早在1936年,圖靈為算法建立了模型,并寫出劃時代的論文,“論可計算數(shù)及其判定問題中的應(yīng)用”。圖靈在文章中的本意是解決停機問題,解決這個問題首先就要回答什么是“計算”。那么所謂“圖靈機”就是這篇文章的副產(chǎn)品!后來馮諾依曼就是根據(jù)圖靈機設(shè)計出現(xiàn)代計算機的。那么布爾代數(shù)在圖靈機中起到什么作用呢?最簡單的計算就是對0和1進(jìn)行布爾運算(與、或、非)。從最簡單的邏輯運算操作二進(jìn)制信息出發(fā)就可以構(gòu)造出任意的圖靈機!這就是為什么要去研究香農(nóng)的基本的布爾電路。其中奧秘就在于,用布爾電路就可以構(gòu)造出任意的圖靈機。
圖靈機原型
綜上所述,香農(nóng)的布爾電路和圖靈機的布爾運算是相通的。1945年,二次世界大戰(zhàn)結(jié)束了。香農(nóng)不再為軍方服務(wù)。可是他的工作由于涉密不能發(fā)表。他又花費3年時間將涉密部分剔除,并在貝爾實驗室的刊物上發(fā)表了“通信的數(shù)學(xué)原理”一文。正是這篇文章,成為信息論的基礎(chǔ),徹底改變了我們的世界觀!
馮諾依曼架構(gòu)及其根據(jù)其原理制造出的各種類型的計算機,無論是超大規(guī)模的還是手中拿的,都是馮諾依曼架構(gòu)的產(chǎn)物?;剡^頭來看,萊布尼茨的理念終于在我們這一代人手中實現(xiàn)了。
馮諾依曼(1903-1957)及其原型機