1

5
1

文字

分享

1
5
1

布爾與邏輯--《科學月刊》

科學月刊_96
・2015/12/12 ・5223字 ・閱讀時間約 10 分鐘 ・SR值 560 ・八年級

國小高年級科普文,素養閱讀就從今天就開始!!

董世平/中原大學應用數學系教授,美國伊利諾大學數學博士,專長數理邏輯,曾任符號邏輯協會東亞委員會委員九年。

布爾追尋真理的熱忱,導引他發現思想的法則。他以代數的手法將思想法則表現為後人所稱的布爾代數,不僅成為電腦硬體設計的基礎理論,更開創了數理邏輯學的深刻發展。

天上的星星,依照牛頓所發現的「萬有引力定律」而運動;而人的思想,也有它運作的法則嗎?1854年,布爾出版了他的著作《思想法則之探討》,在這本書中,布爾給了上述問題的答案:人的思想是有法則可循的。不僅如此,我們可用數學的方式來描述這些法則。這本書出版之時,能明瞭的人甚少,但這本書對人類影響之大,絕對是當時的人,甚至布爾本人都難以想像的。

理性是人行事的基礎,如巴斯卡(Blaise Pascal, 1623~1662)所說:「人是會思考的蘆葦。」我們也說:「物有本末,事有先後。知所先後,則近道矣。」雖然人人做事都有其背後的邏輯,但意識到邏輯本身,應是後來的事,正如人人都呼吸,但意識到呼吸,乃至知道空氣的存在,都是相當後來的事了。一個人沒學過邏輯,甚至沒聽過邏輯,並不表示這人做事沒有邏輯,或不需要邏輯。

01
巴斯卡。 Source: shutterstock

邏輯學門的發展

02
亞里士多德(左)與他的學生亞歷山大。Source: shutterstock

一般來說,把邏輯或理則學當作一門系統知識來學習,是從亞里士多德開始,故傳統邏輯被稱為亞里士多德邏輯,大家最熟悉的即所謂的「三段論」。

大前提:人會死
小前提:蘇格拉底是人
結論:蘇格拉底會死

當我們從所知或已知的事物而得到結論時,這個思考或邏輯過程,皆使用三段論。人會犯錯,也會犯邏輯的錯誤,有可能是前提錯,即他的認知就是錯的,但也常發生的是,推論的過程產生錯誤:

大前提:人會死
小前提:蘇格拉底死了
結論:蘇格拉底是人

我們也許會說這種錯誤太不應該了,但犯這種錯誤的人比比皆是,在報章雜誌及電視上不時可見這些錯誤的推論。因這些人的心態是先有結論,再為結論找理由,也難怪會犯這種錯誤。希望我們能如孟子所說:「淫辭知其所陷」,而不為其所陷。邏輯在希臘哲學時期的建立,也就是為了分辨辯士在辯論時,何者是講理,何者是狡辯,進而使個人能合理的思考,正確的判斷。

邏輯不僅在希臘發展,在同時期的中國亦現其蹤跡。春秋戰國時期的名家及墨家的論述中也都有「邏輯詭論」,或如莊子所說:「一尺之杖,日取其半,萬世不竭。」;在希臘有完全相同的說法,如「飛矢不動」,也與「阿基里斯詭論」有相通之處。但可惜的是,中國的邏輯後來未有系統性的發展,僅留下了「矛盾」這個有趣的典故:楚人有鬻盾與矛者,譽之曰:「吾盾之堅,物莫能陷之。」以譽其矛曰:「吾矛之利,於物無不陷也。」或曰:「以子之矛陷子之盾,何如?」其人弗能應也。夫不可陷之盾與無不陷之矛,不可同世而立。」─《韓非子》。

邏輯數學化

人類用亞里士多德的方式學習邏輯,至今已2500 年了。然而,我們必須用「理性」,才能得到邏輯正確的結果嗎?唯有「理性」,才能知道「理」之「則」嗎?

布爾提出兩個突破性觀念:其一,用符號表示邏輯命題;其二,可用代數作符號運算。總體來說,我們可先用符號代表命題,用公理表示邏輯的規則,再以代數的方式運算。在運算的過程中,不需考慮符號本身及運算的意義,運算完畢,將符號再帶回原本的命題,即為邏輯正確的結果。至此,推論的過程完全被公式的運算取代,不僅大大增加處理命題的能力,完全避免人有意無意的錯誤,藉著公理的選擇,可發現命題之間的關聯,亦可清楚看見邏輯的本質,其好處不勝枚舉,更有許多後世才發現的益處。

布爾在他著作中未曾提出一套完整的公理系統,也因此現今我們有許多種不同的布爾代數系統,本文僅列出一個較簡潔的系統,我們藉此來討論布爾將邏輯符號化及代數化的意義。

在討論符號化的意義之前,我們先引用布爾在他1847年所出版《邏輯之數學分析》中所說的:「認識現今符號代數情形的人都明瞭,分析過程的正確性並非建立在對符號所用的解釋,而是在它們組合的定律上。」使用符號不僅為方便表示,亦使我們不再受限於特定的解釋,因此可擴展應用的範圍,也才有現今各樣的數位產品。

我們藉由布爾曾用的交換律b+a=a+b 來說明。你可把ab視為兩個集合,+為聯集,=為集合相同;亦可把ab視為整數,+為加法,=為數字相等;亦可把ab視為命題,+視為邏輯連辭「或」,而=視為意義相等。在應用時我們固然需要對這些符號賦予特定的意義,但在推導性質時,我們只需按著他們組合的定律來做,如交換律,如此所得的性質可用在集合、數字或命題及其他可能的解釋上。

03

對於邏輯的數學化,我們可用布爾所用的另一個例子來說明:

x2 = x xx2 = 0 → x(1-x)=0

這個過程相信是任何學過解方程式的人都明白的,當把0視為空集合,1視為包含所有個體的宇集(universalclass),1-x為包含所有不在集合x內個體的集合,x2=x 則意義為「具性質P 且具性質P 的集合,即為具性質P的集合」,因此布爾用上述的代數過程得到了古典邏輯中集合的「矛盾原則」,即不可能有一個集合同時具有性質P及性質非P,亞里士多德視矛盾原則為邏輯的基礎公理,但布爾則用數學方法顯示矛盾原則可由另一個看來更直觀的x2=x 公理所導出。

邏輯的符號化及數學化並非始自布爾,有不少的先驅者,最著名的當是萊布尼茲(Gottfried Wilhelm Leibniz,1646~1716),較布爾早生了約170 年。萊布尼茲曾期望當兩個人辯論時,兩個人能坐下來說:「我們算一算。」也就是用數學方法來解決爭論。符號化及數學化的威力已為現今所認知,但這兩者也意謂著抽象化,離人的直觀與經驗越來越遠。這似乎為認識事物本質所必要的,我們亦見此於物理的發展。由布爾的成就我們亦可見,透過抽象化,我們可更清楚認識及了解「思想」這個原本極為抽象的概念。

04
萊布尼茲。Source: shutterstock

范氏圖與真值表

邏輯在布爾之後有極迅速的發展,現今常用兩種工具:范氏圖及真值表。由前列布爾代數公理,我們可見「集合代數」是一個布爾代數。史東(Marshall H. Stone, 1903~1989)亦證明了任一布爾代數可用一「集合代數」表示。范氏圖即為我們常用來表示集合關係的一個視覺化工具,而視覺化表示亦為布爾使用符號所希望能達到的目標,使人有更直觀的認知,但使用視覺化工具須注意其侷限性。

范氏圖用圓表示集合,1、2、3個圓交疊後,分別可得2、4、8個區域,每一個區域代表每一個集合僅使用一次可得交集的情形,在3個圓交疊的情形下,區域2為,區域為。那4 個圓交疊可得幾個區域呢?我們也許會猜21=2、22=4、23=8、24=16,16個區域,但我們若認真的去畫,我們會發現最多只能畫出14個區域。

然而,4個集合實際上應該有16個區域,所以范氏圖無法表示n ≥ 4個集合所有可能的情形,用n個圓最多可畫出多少個不同的區域?這個例子告訴我們,用歸納法一開始所得的歸納結果有可能是錯的,有興趣的讀者可嘗試用歸納法得到正確的公式,再用數學歸納法證明公式是正確的。

另一個有用的工具則是真值表。它用P、Q代表命題,∧(且)、∨(或)、¬(非)、→(若⋯,則)、→(若且唯若)、T(真)、F(假),我們有下列定義:

05

我們可看見P → Q 和¬Q → ¬P 及¬P ∨ Q 對應的真假值完全一樣,即此三者為邏輯等價,當我們要證明「若P則Q」(P→ Q) 時, 我們證明「若Q為假,則P為假」(¬Q → ¬P),則「若P 則Q」得證,此即為「歸謬證法」或「矛盾證法」的本質,同理,若我們能證¬P ∨ Q 為真,我們亦證明了「若P 則Q」。

布爾之後的邏輯

邏輯非自布爾而始,亦非自布爾而終,但邏輯自布爾後,就再也不一樣了。我們也許可以如此比擬:克卜勒藉著對行星運動的觀察數據,以計算及歸納得到了「克卜勒行星運動定律」。牛頓依此發現了「萬有引力定律」,如此不僅可解釋「克卜勒行星運動定律」,我們亦可藉此定律計算出物體的運動軌跡。同樣的,亞里士多德歸納出正確思想應該遵守的規則,而布爾用代數的方法解釋了正確思想的規則,我們便可藉著他的發現,計算出正確思想應得的結論。

布爾的觀念及符號就留在現今數學裡,因為他使用符號的方式來處理邏輯,我們也就有了「符號邏輯」這個名詞。現今邏輯界最重要的學會,即「符號邏輯協會」(The Association for Symbolic Logic),而它所出版的代表期刊即名為《符號邏輯期刊》(The Journal of Symbolic Logic)。當代對邏輯的研究主要來自數學、哲學與計算機領域,對布爾代數本身的研究亦極活躍,蒙克(Donald Monk)主編了共三冊的《布爾代數手冊》(Handbook of Boolean Algebras),從其中包含的多樣主題,即可見布爾在數學的影響之廣。

現今一些較熱門的題目也和布爾邏輯有所關聯,例如,哲學界所研究的「非古典邏輯」,其研究的方式多為先將布爾代數用不同的公理表示,再將其中一些公理,基於哲學方面的考量加以弱化,如此可得如直觀邏輯(Intuitive Logic),模態邏輯(Modal Logic)等等不同的邏輯。

人工智慧

人工智慧則是一個常被討論的題目:機器能有智慧嗎?布爾告訴我們,機器藉由代數推導後,可得到正確的結論。在命題邏輯不考慮計算複雜度(computational complexity)的前提下,人所能做到的,機器都可做到。但在一階邏輯時,筆者認為由「哥德爾不完備定理」可知,機器所能做的無法跟人一樣,這也是潘洛斯(Roger Penrose)在《皇帝新腦》(Emperor’s New Mind)書中所用的論證,這仍是人工智慧學者一個爭論不休的問題。

乏晰邏輯

乏晰邏輯(Fuzzy Logic)在工業界已有許多的應用,其特點是,一個命題的真假值可為一個介於0 與1 之間的實數p,亦可視為[0, p] 區間;而傳統邏輯下,一個命題的真假值限定為假與真,或布爾所用的0 與1 表示。

1960 年代, 邏輯學者逐漸發展出布爾值模型(booleanvalued model),其命題的真假值對應至一個布爾代數,並以此將柯亨(Paul J. Cohen, 1934~2007)的結果( 註) 給予一個相對簡潔的證明。此處須特別強調「無法證明是對的」和「錯的」其意義是不相同的。由布爾值模型後,又發展出布爾值分析(boolean-valued analysis),並由此得到數學上有意義的成果,乏晰邏輯可說是布爾值模型另一個有用的特例。

註:此結果得到數學最大獎菲爾茲獎,其敘述在使用一般通用的集合論公設時,無法證明選擇公設(Axiom of Choice)和連續統假說(Continuum Hypothesis)是對的。

量子邏輯

另一個著名的非古典邏輯為「量子邏輯」,由量子邏輯可衍伸出「量子計算機」。其使用量子演算法,可在多項式時間內做「因數分解」,這是一般計算機與圖靈機(Turing machine)至今仍無法得到的結果。但量子計算機與圖靈機所能計算的函數總體是相同的,量子計算機與現今使用的計算機相較,或許其計算複雜度有差別,但從可計算性(computability)來看,兩者並無不同。

06
英國科學家潘洛斯,在物理、數學等領域有卓越貢獻。他曾撰寫過一系列探討人類意識與物理之間關係的書籍,如1989 年出版的《皇帝新腦》。Source: Festival della Scienza

綜合上述,我們可說現今邏輯與計算的發展,都是建立在布爾的基礎上,我們是沿著他給我們的方向繼續前進,而他的影響不僅遍及數學各領域,亦延伸至其他領域,如哲學、計算機科學、語言學等。

對真理的追求

我們不禁要問:為什麼布爾能有如此偉大的成就?當然他一定是個天才,但他的成就並非憑空而來,他也經過時間的醞釀,使他的思想日漸成熟。也由於這些成就,使他對符號的能力有更清楚的認識。他先前出版的《邏輯之數學分析》不僅不成熟也包含謬誤。在思考的過程中,他也曾面對失敗與挫折,但他不放棄,因此得以出版《思想法則之探討》。另外他勇氣過人,他敢思想「思想」,這個極端抽象卻又最根本的問題,大名鼎鼎的萊布尼茲嘗試過、努力過,但無特別的成果,而布爾不畏艱難,終於有所成。

最後,因布爾具有「對真理追求的真誠」(It is integrity in pursuit of the truth),在他寫給好友笛摩根的信中,他先說笛摩根具有這個特質,而他在這一點並不會輸給笛摩根,他甚至寫了下面的話:「我不認為任何人比我寫那本書時的心智,曾充滿更熱烈的渴望,僅為了要發現並說出真理,而不為其他。(I don’t think any man’s mind ever was imbued with a more earnest desire to find out the truth and say it and nothing else, than mine was while writing that book.)」就是這種真誠讓布爾發現了「思想」的法則,這個發現也改變了人類。

front本文選自《科學月刊》2015年11月號

延伸閱讀:
喬治.布爾─自學成大器的數學家
布爾與電腦

什麼?!你還不知道《科學月刊》,我們46歲囉!

入不惑之年還是可以當個科青

文章難易度
所有討論 1
科學月刊_96
229 篇文章 ・ 2124 位粉絲
非營利性質的《科學月刊》創刊於1970年,自創刊以來始終致力於科學普及工作;我們相信,提供一份正確而完整的科學知識,就是回饋給讀者最好的品質保證。

0

2
3

文字

分享

0
2
3
獨自搞定電腦與通訊的理論基礎,卻罕為人知的天才——夏農│《電腦簡史》數位時代(四)
張瑞棋_96
・2020/09/14 ・2348字 ・閱讀時間約 4 分鐘 ・SR值 538 ・八年級

【齒輪時代】的最後一章提到,MIT 教授凡納爾.布希除了發明微分分析儀之外,也直接或間接地對電腦發展做出重要貢獻。其中一項間接貢獻就是來自他所指導的學生夏農 (Claude E. Shannon)。這位不世出的天才雖然大眾知名度不高,但事實上,現代電腦與通訊的發展,都始於他憑一己之力提出的理論基礎。

本文為系列文章,上一篇請見:電腦運算的基礎——布林代數,是麼搞出來的?│《電腦簡史》數位時代(三)

擔任布希助理,操作微分分析儀,奠定電路基本功

夏農自小就喜歡搞電子實驗,他還曾利用鐵圍籬和八百公尺外的鄰居互傳電報。1936 年,夏農以數學和電機雙學位自密西根大學畢業後,進入 MIT 電機研究所就讀,同時在布希的實驗室當研究助理。

夏農(Claude Shannon, 1916-2001)。圖:Wikipedia

當時微分分析儀是唯一能算高階微分的計算機,所以實驗室不時會接受教授或其它研究單位的委託,為他們計算微分方程式。夏農的工作便是針對他們的問題,調整微分分析儀的設定,包括大大小小的連桿、滑輪等機械零件,以及近百個控制電動馬達的繼電器。

夏農相當樂在其中,看著微分分析儀按照自己的設定運轉,最後自動畫出答案,總令他心情愉悅。而最令他著迷的,就是在背後控制所有動作的繼電器。繼電器就像閘門,掌控電流的進出,雖然只有開與關兩種狀態,但串成迴路後,就能以特定的順序開開關關,就能讓微分分析儀解出各種微分方程式。

於貝爾實驗室實習,悟出電子迴路與布林代數的關聯性

第二年暑假,夏農到美國電話電報公司 (AT&T) 的貝爾實驗室實習。當時貝爾實驗室正在開發縱橫式自動交換機,也是利用繼電器來控制電話線路的搭接。夏農操作了一學年的微分分析儀,對繼電器的運作已了然於胸,儘管電話交換機是截然不同的機器,其中的迴路也更密集複雜,他卻能看出兩者在運作上有共通之處。

1924年的電話交換機尚需人工操作。圖:Wikipedia

無論迴路大小,都是由許多繼電器與電路所組成,不同的連接方式決定電流如何流動,進而讓機器做出不同動作。如果兩個繼電器在一條電路上前後串聯,就必須兩個繼電器都打開,電流才能通過。如果電路一分為二,各自經過一個繼電器再合而為一(這稱為並聯),就只要有一個是開的,電流就能繼續往前了。

這只是電路的基本常識,每個工程師都知道,但就是沒有人像夏農那樣,看出電子迴路與布林代數的關聯。

夏農是以數學和電機雙學位畢業,對布林代數自然不陌生,但要從實體的電路聯想到抽象的邏輯關係,真的要有超乎常人的洞見。在他眼中,繼電器只有開、關兩種狀態,恰可用布林代數中的 1 與 0 兩種數字表示。繼電器串聯相當於邏輯運算的「且」(AND),並聯則是相當於「或」(OR),不管是什麼迴路,都可以用布爾代數描述。

暑期實習結束後,夏農回到學校,立即向導師布希提及自己的想法。布希深感興趣,鼓勵他以此做為碩士論文的題目。

史上最重要的碩士論文,堪稱資訊時代的大憲章

沒幾個月,夏農就在 1937 這一年完成劃時代的論文,題為〈繼電器與交換電路的符號分析〉(A Symbol Analysis of Relay and Switching Circuits),開宗明義即宣告:「任何電路都可以用一組方程式表示,……。事實證明,其計算方式完全等同於符號邏輯所用的命題運算。」

夏農先以簡單的雙開關電路為例,說明如何用布林代數標示串聯與並聯的接法,並列出基本公理與交換律、結合律、……等運算法則。接著他再進一步分析不同型式的複雜電路,證明也都可以用布林代數表示。最後夏農強調這套方法不只可以用於現有的機器,還可以解決各種問題。

他寫道:「事實上,任何運算只要是用『若』、『或』、『且』等字眼在有限的步驟內描述,都可以用繼電器自動算出來。」

為了佐證這項主張,他提出三種全新的應用,並附上自己設計的電路圖。第一個是電路的簡化;原本使用二十個元件的電路,經由邏輯演算找出等效的表達式後,可以將元件減少為十四個。第二個與第三個應用都是他的創新發明,分別是使用五個按鍵開關的電子密碼鎖,以及二進位的電子加法器(嚴格來說仍不算電子式,因為繼電器的開關仍是利用電磁鐵的機械動作)。

電路的邏輯閘。圖:Wikipedia

這篇論文於第二年公開發表後,立即引起巨大的迴響,甚至被譽為「應該是本世紀最重要、最值得注意的碩士論文」,後來《科學美國人》雜誌也稱它是「資訊時代的大憲章」。

電路設計化繁為簡,電腦從此邁向數位時代

的確,夏農這篇論文影響深遠。原本錯綜複雜的電路圖改用布林代數表示後,就可以在實際建造機器之前,清楚計算出執行的結果,大幅減少嘗試錯誤所耗費的時間與成本。除此之外,還能如夏農所示範的,找出更精簡的電路方案。科技產品因為設計效率提升、製造成本下降,才得以更加迅速地推陳出新。

計算機的發展也受惠於夏農的創見,才開啟了數位時代(他革命性的通訊理論會在第三部另外介紹)。

夏農所提出的邏輯電路雖然以繼電器為範例,但其實這套抽象法則具有普遍性,任何有開關兩種狀態的元件皆可套用。因此即使後來繼電器被真空管取代,然後真空管又被電晶體淘汰,無論電腦的硬體零件怎麼換、電路圖多複雜,都還是基於夏農所提出的邏輯閘。

夏農已經指出一條通往未來之路,很快地,這條路上就將出現打造現代電腦的各路好漢……。

張瑞棋_96
423 篇文章 ・ 579 位粉絲
1987年清華大學工業工程系畢業,1992年取得美國西北大學工業工程碩士。浮沉科技業近二十載後,退休賦閒在家,當了中年大叔才開始寫作,成為泛科學專欄作者。著有《科學史上的今天》一書;個人臉書粉絲頁《科學棋談》。

0

0
2

文字

分享

0
0
2
電腦運算的基礎——布林代數,是麼搞出來的?│《電腦簡史》數位時代(三)
張瑞棋_96
・2020/09/07 ・3025字 ・閱讀時間約 6 分鐘 ・SR值 541 ・八年級

國小高年級科普文,素養閱讀就從今天就開始!!

「糾正我們推理的唯一方法,是使它們像數學家的推算一樣實在可靠,這樣我們就能一目了然地發現錯誤。當人與人之間爭論不休時,我們只要說:別再吵了,讓我們算算看誰才是對的。」

—— 萊布尼茲 1685 年致 Philipp Spener 信。

本文為系列文章,上一篇請見:易經、巴別塔、通用文字——萊布尼茲研究二進位之路│《電腦簡史》數位時代(二)

亞里斯多德開創邏輯系統好棒棒,but……

萊布尼茲提出只用 0 與 1 的二進位算術,成為現代電腦的運算方式。不過,現代電腦可不是之前的計算器,藉由齒輪轉動的圈數來做加減乘除,而是利用電子零件的開關狀態。開關狀態如何做二進位算術?這就需要藉助「邏輯運算」。

邏輯運算這個詞在現代聽起來理所當然,但你若拿去問十八世紀以前的人,他一定覺得莫名其妙,邏輯用的都是文字語句,又不是數學,怎麼運算呢?

是的,打從亞里斯多德開創有規則可循的邏輯系統,兩千年來表達邏輯的方式都是用自然語言做為陳述句,例如下面這個最具代表性的三段論。

大前提:所有人都會死。

小前提:蘇格拉底是人。

結論:蘇格拉底會死。

亞里斯多德雕像。 圖:WIKI

然而自然語言不免會有多重涵義,或是容易有歧義的問題,不僅翻譯成不同語言可能造成誤解,就算是使用同一種語言的人,也可能會對其中的邏輯關係有不同認知。例如「有關係就沒關係,沒關係就有關係」這句俗諺裡面,「關係」這個詞項顯然有不同涵義,而「有」與「沒」的用法也前後不一。

況且除了簡單的三段論,還有其它形式更複雜的邏輯陳述,用自然語言確實無法精確地表示各種邏輯形式和規律。

你以為數學式本來就長這樣?

其實數學早期也都是用自然語言,如果翻開當時的數學書籍,只見盡是長長的文字敘述,即使看得懂,恐怕也難以聯想到它就是代表一個簡單的公式而已。這是因為直到十六世紀,數學才開始用符號來表達,像加、減、乘、除、等於都是約莫那個時候才改用 +、-、×、÷、= 代表。而我們現在熟悉的數學式記法,包括用字母代表未知數,更是十七世紀才盛行。

加、減、乘、除、等於,約莫到 16 世紀才改用 +、-、×、÷、= 代表。圖:Pexels

數學符號化之後,表述方式更加簡短精確,計算也變得方便許多。而且由於符號不受語文隔閡,不同國家的數學家都能一目了然,因此得以加速數學與科學的傳播與交流,是促成科學革命的重要基石。

萊布尼茲本身遊歷德國、法國、英國三地,又曾為微積分創造新的符號,更能感受符號化的重要性,因此在他夢想有數學般的通用文字之前,就已經試圖把邏輯轉換為數學那樣的表示方式,也就是現代所稱的「數理邏輯」。

萊布尼茲致力於邏輯數學化,可惜無人知

萊布尼茲先於 1679 年設想各種基本概念都用某個質數代表,例如「動物」用 “2” 代表,「理性」是 “3”,那麼「人是理性的動物」這個句子就相當於 “6=2×3”,也就是說代表「人」的數字是 “6”。從 6=2×3 可以推導出 6÷3=2,代表「人失去理性等於動物」,這樣便能透過計算完成邏輯推論。

1686 年,萊布尼茲改用 A、B、C……等字母符號代表普通命題,並引入「非」、「等於」、「不等於」、「屬於」、「不屬於」等符號,然後用這些符號列出交換律、傳遞關係……等處理集合關係的運算規則。

到了 1690 年,他又將加法與減法納入邏輯演算之中,讓邏輯的符號化與數學化更加完整,可以說已經為數理邏輯打下堅固的地基。無奈這些手稿在萊布尼茲生前從未公開,直到二十世紀初世人才知道他這方面的研究,數理邏輯的發展因此延遲了一個半世紀,才由英國數學家布爾 (George Boole) 重新開創。

布爾繪於 1860 年的肖像。圖:WIKI

布爾公親變事主,重新開創數學邏輯

布爾於 1815 年出生在一個鄉下小鎮,父親是個鞋匠。因為家境清寒,他自小學畢業後就沒再受正式教育,而是靠自學習得語文與數學知識。

布爾十六歲時被當地一所學校聘為教師,成為家中經濟支柱;到了十九歲乾脆自己開辦學校,同時更投入數學的研究。布爾二十三歲開始發表數學論文,逐漸獲得倫敦學術圈的注意,其中一位數學家德摩根 (Augustus De Morgan) 與他結為好友,後來竟為他帶來開創邏輯新局的契機。

話說十九世紀的哲學家已經注意到亞里斯多德的三段論有許多問題,因此包括德摩根在內的一些學者開始思考如何將邏輯數學化(如之前所說,他們渾然不知萊布尼茲早已做了研究)。1846 年,德摩根發表了一篇關於三段論的論文,主要是針對命題中的「所有」、「有些」,或「大部分」提出量化的討論。

沒想到論文發表後,另一位英國哲學家漢彌爾頓 (Sir William Hamilton) 立即跳出來指控德摩根剽竊自己的想法。布爾身為德摩根好友,自然要關切兩人爭執的內容,沒想到他深入研究後,竟從原本的旁觀者搖身一變為一代宗師。

布爾為了朋友踏入邏輯數學化領域。圖:Pexels

命題真偽改用 1 與 0 代表,邏輯關係化為數學運算

1847 年,布爾出版了《邏輯的數學分析》(The Mathematical Analysis of Logic),這本僅僅 82頁的小冊子立即撼動了哲學界與數學界。這裡面完全用代數的形式來表達傳統邏輯,像「且」、「或」、「非」、「若……則……」等邏輯關係都化為乘法與加、減法;命題的真偽就用 1 與 0 兩種數值代表;另外布爾再訂出結合律、分配律、……等基本公理,成功地將邏輯數學化。

從此邏輯推論可以改用簡潔精確的數學式計算,不但避免語意模稜兩可造成的謬誤,也大幅增加處理命題的效能。在許多學者投入之下,數理邏輯這門全新的路線迅速發展,布爾自己也在 1854 年出版的《思維法則》(The Laws of Thought) 中,把整個系統補強得更完整。

其實布爾的研究成果有許多都是萊布尼茲已經做過的,但歷史就是這麼奇妙,萊布尼茲被視為二進位制的創立者,是因為一個世紀前的哈里厄特沒有公開發表論文。如今換成萊布尼茲自己沒有將邏輯代數的研究整理發表,而讓邏輯代數在一個半世紀後冠上布爾之名(稱為「布林代數」(Boolean algebra),”Boolean”意指「布林的」)。

用布林代數表示邏輯命題。圖:WIKI

還有一點令人惋惜的是,萊布尼茲如此看重二進位制,卻沒有像布爾那樣,用 1 與 0 代表命題運算後的真偽。對於電腦運算而言,這是絕對必要的,因此從電腦發展的角度而言,即使萊布尼茲的文稿更早公開,布爾一定還是會在發明電腦的功勞簿上記上一筆。

二進位制與布林代數就緒,現代電腦只欠東風

事實上,布爾對計算機也不陌生。由於好友德摩根是愛達·勒芙蕾絲的數學家教,透過這層關係,布爾曾經跟巴貝奇書信往來。他在 1862 年寫給巴貝奇的一封信中,還特地感謝他為自己解釋差分機的細節。就像當年萊布尼茲曾設想過二進位的計算機,我們不禁要想像若是結合布爾的全新觀點與巴貝奇的設計天分,是否會改變計算機的歷史?

但這已無從得知了,因為布爾在兩年之後就死於非命。原來布爾冒著大雨到學校教課,因此感冒發燒,不料他那迷信順勢療法的老婆,竟繼續往布爾身上澆了好幾桶水,反而導致他嚴重肺炎,才四十九歲就因病過世。

無論如何,沒有電力還是不會有現代電腦,因此儘管二進位制與布林代數早已就緒,仍需等待東風——也就是電力系統與硬體零件,計算機才能航向全新的世代。當然,東風起了,還得有個諸葛孔明運籌帷幄呢……。

張瑞棋_96
423 篇文章 ・ 579 位粉絲
1987年清華大學工業工程系畢業,1992年取得美國西北大學工業工程碩士。浮沉科技業近二十載後,退休賦閒在家,當了中年大叔才開始寫作,成為泛科學專欄作者。著有《科學史上的今天》一書;個人臉書粉絲頁《科學棋談》。

0

0
1

文字

分享

0
0
1
用十分鐘學會 《微積分、工程數學》及其應用
陳鍾誠
・2016/03/16 ・110字 ・閱讀時間少於 1 分鐘

陳鍾誠
6 篇文章 ・ 0 位粉絲
目前任教於金門大學資工系,喜歡寫「網誌、程式與電子書」,不喜歡「寫論文與接國科會計畫」。 目前除了編上課教材外,還在創造一個不需要學英文就可以透過程式翻譯和老外交談的語言 -- 八極語。