喬治·布爾:數理邏輯奠基者其人其事

2020-04-29     數學那些事

Stephen Wolfram(即本文作者)

2015年11月2日是喬治·布爾誕辰200周年紀念日。在現今的電子世界中,我們經常會聽到一個叫「布爾」變量的詞——只有兩個值,1或0,TRUE或者FALSE——就是以他的名字命名的。有些人可能會想,「這是個多麼無聊的發明啊!誰會有需求用到這種變量啊。」但歷史總是驚人地相似,其實,布爾類型變量只是喬治布爾對邏輯學貢獻的一個副產品。

在現今的電子世界中,我們經常會聽到一個叫「布爾」變量的詞——只有兩個值,1或0,TRUE或者FALSE——就是以他的名字命名的。有些人可能會想,「這是個多麼無聊的發明啊!誰會有需求用到這種變量啊。」但歷史總是驚人地相似,其實,布爾類型變量只是喬治布爾對邏輯學貢獻的一個副產品。

喬治·布爾出名前,數學和邏輯學已單獨發展了二百多年。他通過布爾代數這一概念,將兩個學科結合在了一起。數理邏輯領域創建後,一系列新探索都被帶動起來,例如通用計算。

喬治·布爾發明布爾變量最初的目標,是想通過一系列數學公理來重現經典邏輯的運算結果。他從研究經典代數開始,例如x,y變量,加減乘除這種。

一開始,他發現經典代數和邏輯的相似之處很多。例如,p and p(在這裡,and表示「與」運算)和q and p是一樣的,就像q*p = p*q。但是如果深入追究,就發現還是有所不同的。比如p*p=p^2,但是p and p還是p。這就存在歧義,喬治·布爾的想法是:仍然使用經典代數的符號,但是添加了一些額外的公理,就能表示出絕大多數邏輯學的結果了。

喬治·布爾用數學語言正式地描述了這套理論。但是幾十年來,這些理論又不斷被修正,從上個世紀的經驗中,更加簡單的形式逐漸被發現。之後,也就是16年前,Stephen Wolfram(即本文作者)結束了這漫長的進化歷史。之前的工作已經證明了一套至簡的公理體系是完全可行的,Stephen提出,其實只需要一條公理就夠了。

喬治·布爾:數理邏輯奠基者其人其事

Stephen認為這條公理相當簡單,它暗示著數學和邏輯神秘的含義。根據喬治·布爾的理論,這條公理僅僅是他思想的一個最低版本:通過數學公理系統,加以類似代數的轉換,可以計算出所有邏輯的結果。

喬治·布爾是何許人也?

那麼喬治·布爾到底是誰呢?他有是如何做出這些成就的?

喬治·布爾於1815年,出生在英國的一個平靜的小鎮林肯郡,離倫敦大約有120英里。他的父親熱衷於科學和數學,做著一點鞋匠生意。喬治·布爾是一個自學奇才,14歲的時候,就憑在報紙上發表的希臘詩譯作在當地小有名氣。16歲時,被當地一所學校聘為教師,那時他已經開始讀微積分的書了,並開始數理邏輯相關的工作。

喬治·布爾19歲時開始創業,在當地建了一所像模像樣的小學,直到三十歲之前,都以此為生。他結識了一些劍橋牛津這樣高學歷的人,也去過職業學院(類似於現在的社區大學)。但是大多數情況下,他更喜歡自己看書自學。

他是一名認真的教師,宣講有關各種認知和發現的重要性,不贊同死記硬背,並且以通俗的方法證明知識(例如數學)的實用性(如果他活在今天,一定會對計算機痴迷不已)。

喬治·布爾23歲的時候,開始發表有關數學的論文。早期的論文都是和當時的一些熱點問題相關的,例如變分法。可能是他對教育的興趣和探索,使他想要創造不同的公理。不久之後,他成了「操作演算」的先驅:通過操作符號,而不是明確的代數表達,來研究微積分。

不久之後,喬治·布爾就能和英國最著名的數學家討論問題,並從中學習。他也考慮過是不是去劍橋拿個大學學位,但是得知他必須暫時停止自己的研究,去學習本科課程的時候,便放棄了這一想法。

邏輯的數學分析

邏輯學作為一個學科,有著古老的歷史,亞里士多德之後被廣為推廣。中世紀之後,邏輯學教育成了死記硬背的典型,人們通過記憶特殊的符號和像 「bArbArA」、「cElArEnt」這種三段論來學習。在許多方面上,邏輯學並沒有改變許多。19世紀人們致力於將邏輯學變得更正式化,但問題是不知道如何去做。也有人想,是不是可以用數學或者哲學的方法呢?

1847年,喬治·布爾的朋友Augustus de Morgan就此問題在學術上與別人起了衝突。這讓喬治·布爾迅速開始這項工作,去論證他先前的想法:如果使用數學來表達邏輯。他的成果——The Mathematical Analysis of Logic(中譯名《邏輯的數學分析》)——在同年發布。

此書不長,只有86頁。但是很好地解釋了喬治·布爾使用代數形式來表達邏輯的思想。在代數中可以使用變量,而不僅僅是簡單的數字這一思想,起源於Hamilton在1843年四元數代數的發明,喬治·布爾也受此影響(1832年Galois在無限值和聚合領域也做過類似工作)。

喬治·布爾出現的150年之前,有個叫Gottfried Leibniz的人也嘗試過用代數表達邏輯,但是沒有什麼成果。直到1847喬治·布爾成功以後,這個想法才又被人想起。

喬治·布爾的書在今天依然是非常易懂的。下面是一個例子,是展示他的代數公式是如何表達經典邏輯的結果的。

上面這段看起來非常直觀。」And」用xy的乘法來表示,」not」用1-x表示,」or」用x+y-2xy表示。此外,還有像x^2=x這種額外的規則。但是如果仔細研究,這裡面還是有問題的:x和y到底是什麼呢?今天我們可以把它們叫做「布爾變量」,並且知道它們的值可以離散為1和0。但喬治·布爾再當時不是這麼做的,他沒有去從具體的離散或者非離散的值想,而且似乎是去討論了代數表達式和方程,甚至用到了級數展開,來羅列所有邏輯變量值可能的組合。

思維規律(The Laws of Thought)

喬治·布爾寫第一本書的時候,仍然是一名教師,並且經營著一所學校。但是也因為在數學上的成就而遠近聞名。1849年,女王大學,科克大學在愛爾蘭建立的時候,喬治·布爾第一個被聘為數學教授。在科克大學任教時,他開始寫那本最著名的書——《思維規律的探索》(An Investigation of the Laws of Thought).

此書的序言是這麼寫的:「本書論述的是,探索心智推理的基本規律;用微積分的符號語言進行表達,並在此基礎上建立邏輯和構建方法的科學……」

喬治·布爾意思到自己在試圖建立「思維科學」的微積分,就像牛頓將微積分應用到物理上那樣。但是牛頓已經有空間和時間的概念可以依靠,以說明自己的微積分結構。喬治布爾必須從一個思維如何工作的基本模型上開始,毫無疑問,就是邏輯。

An Investigation of the Laws of Thought 第一部分是對喬治·布爾早期著作的一些概括,但是提供了額外的示例——比如有一章就是關於上帝是否存在及其性格的邏輯證明。書的第二部分在數學方面更加傳統。他沒有談和邏輯有關的代數值的問題,轉而用機率方面的傳統數學來解釋。這樣就表明,組合事件的機率結構,同樣適用於組合邏輯語句的規律。

這本書的大部分,都是數學方面的內容,用著抽象的定義,和正規的結論。但是在最後一個章節,喬治·布爾試圖將經驗性的問題和他的工作聯繫起來,研究思維的過程。他討論了自由意志可以如何和思維規律和平共處、含糊的人類經驗如何得出精確的概念、是否有人類可以辨認出,但是數學永遠無法企及的真理、對人類思維的理解如何作用於教育等等。

喬治·布爾晚年生活

出版《思維規律》之後,喬治·布爾依然留在科克大學生活工作。1864年,患肺炎去世,享年49歲。期間也陸續再寬泛的數學領域發表論文,但再也沒發任何和邏輯有關的東西。也可能是他有意為之。

在他的有生之年,喬治·布爾的數學成就獲得的讚譽比邏輯方面要多。他還寫過兩本教材,一本是微分方程,出版於1859年,一本是差分方程,出版於1860年。兩本都簡潔優雅,深入淺出。有趣的是,儘管後來在微分方程方面有無數可以替代的書籍,但是差分方程幾乎無可替代。當我們在90年代用數學實現時,喬治·布爾的書仍是重要參考,尤其是其在差分計算方面的典型事例。

喬治·布爾是個什麼樣的人?

喬治·布爾生活中是怎樣一個人呢?關於這一方面的信息不少,有他妻子寫的作品,還有他姐姐整理的他的信件和回憶錄。認識他的人無一不說他嚴謹、條理,並極其認真。喬治·布爾非常努力,經常工作到深夜。將所有精力都放在事業上,以至於他經常看起來恍恍惚惚。他是個優秀的老師,也是個出色的講者,雖然板書潦草無法辨認。他社交甚廣,待人寬厚,造訪過很多不同的人,去過很多地方。喬治·布爾在管理方面也很出色,無論是自己的學校,還是科克大學。他有強烈的正義感,不喜歡吵架,但是需要捍衛自己尊嚴的時候,也毫不含糊。

喬治·布爾認為自己是一個自學成才的老師,而不是什麼學術精英。可能這帶給他一些冒險意識,無論改造微積分還是添加代數公理,他總能相信自己的直覺,勇往直前。

喬治·布爾一生的大部分時光都是孤身一人,直到40歲的時候才結婚。他的妻子瑪麗·埃佛勒斯·布爾(女權主義哲學家,譯註),比他小17歲,在喬治·布爾逝世52年之後去世。關於她爭取自己的權利有一個有趣的故事,後來瑪麗將其寫成了書——Philosophy and Fun of Algebra, Logic Taught by Love, The Preparation of the Child for Science and The Message of Psychic Science to the World.喬治和瑪麗育有五個女兒,她們都頗有成就,尤其在數學方面。

(譯者註:喬治·布爾的後人中,知名人物還包括老大的兒女韓丁和寒春;老二兒子G.I. Taylor是流體動力學與波理論科學家;老三是四維幾何重要貢獻者;老四是英國第一位化學女教授;老五有個中國人更熟悉的名字伏尼契——《牛虻》的作者;布爾還有一位玄孫:Geoffrey E. Hinton——深度學習之父。 )

喬治·布爾的影響

說起來多少有些諷刺,喬治·布爾在邏輯方面的工作應該和代數、微積分和連續數學一樣受到重視,但事實是沒有。在喬治·布爾死後,他在邏輯方面的主要影響主要是數學化的概念和表達,就像Frege、 Peano、 Hilbert、 Whitehead、 Russell、 eventually Gödel 和 Turing這些人一樣。只有在1937年香農交換網絡問世時,布爾代數才被應用到實際目的中。

今天,數學和Wolfram語言(此語言作者即為本文作者)里用到了很多布爾代數計算。事實上,喬治·布爾是名字用作系統功能名次數(15)最多的人。

然而讓「布爾(Bool)」這個名字如此廣為人知的不是布爾代數,而是布爾變量。20實際50年代之後,基本上每一種程式語言都有布爾類型,使得「boolean」一詞廣為流傳。

這是必然的嗎?從某種意義上說,是的。回望歷史,所有的東西都有向著足夠簡單的趨勢發展,然後得到廣泛應用。及時一開始時是非常複雜的,後來才慢慢變得簡單。事情往往都是這樣,某一時刻有了關於某種技術的想法,然後憑著好奇心慢慢深入。

也可能,所有的量都可以轉換為簡單、正確的枚舉。今天,有一些已經被實現了,有一些還沒有。但是這幾個世紀以來,喬治·布爾和布爾變量的故事為這種可能,以及如何從晦澀難懂到無所不能提供了榜樣。

本文作者Stephen Wolfram是物理學家、數學家、軟體工程師和企業家;數學軟體Mathematica的發明者之一;計算型知識引擎Wolfram Alpha設計者;Wolfram語言作者;沃爾夫勒姆研究公司的創立者和執行長;學術上以粒子物理學、元胞自動機、宇宙學、複雜性理論、計算機代數系統上的研究成果聞名於世。

2015年11月2日,Google更改其首頁的標誌以紀念喬治·布爾200歲冥誕。


文章來源: https://twgreatdaily.com/hnDuynEBfwtFQPkdtzO-.html