天天看點

算法帝國裡的牛人們:布爾

算法帝國裡的牛人們:布爾

上一篇中我們提到了大牛萊布尼茨。他率先建立了人類思維可被分解為最基本的用二進制判定來表示的機關結構。萊布尼茨說,這些二進制選擇可以被一個接一個地堆疊成任意長度,形成越來越複雜的思想或算法。

如果說萊布尼茨在建構統治人類生活的機器上邁出了第一步,那麼與萊布尼茨相差了将近兩個世紀的喬治·布爾就是那個繼往開來、乘勢而上的人。正是由于布爾發明的計算系統和創新的代數形式,網頁才得以工作,我們才能上傳照片到facebook,在部落格裡碼字。統治我們生活的複雜算法要是不能遵循人類的邏輯,那就一無是處了。比如,要跳轉到谷歌郵箱得滿足兩個條件:if(如果)使用者正确輸入了密碼 and(且)if(如果)在提示的情況下,正确破解了那不規則、難以讀取的密碼。标記為垃圾郵件的信件谷歌郵箱将 not(不會)顯示給你,因為這些郵件是群發到上千萬個使用者郵箱的,and(且)not(不是)來自groupon之類的團購網站or(或)與收件人已經互發過郵件的受信郵箱。正是由于這些修飾符if(如果)、and(與)、or(或)、not(非),計算機科學和算法才得以發展。

17歲的布爾在草坪上散步時,突然靈光一現,想到某些代數符号可以用來定義一門邏輯語言,一門思維語言,即解構人類理智内在工作機制的一種方法。這個革命性的理念對布爾以及世界來說都十分重要,他開始思索這個突發奇想的強大力量。科學已經證明潛意識或許是人類最有力的工具,但在布爾之前還沒人就此建立理論,布爾稱其為“無意識”。

1815年,布爾生于英格蘭的林肯。他的父親約翰是一名鞋匠,但是愛好廣博,喜歡數學、天文學和光學儀器制作。因為他沒錢送兒子去讀書,布爾就開始自學。布爾的自學能力很強,才十幾歲就已經能用四種語言讀寫了,還在當地的學校教書。

布爾20多歲時開始攻克高等數學難題,并從1841年起在期刊雜志上發表文章。四年後,他被任命為愛爾蘭科克城的皇後學院(現稱科克大學)的首屆數學系教授。1854年,17歲的布爾在草坪散步時突發奇想有了收獲,他發表了an investigation of the laws of thought, on which are founded themathematical theories of logic and probabilities一書。這是萊布尼茨很早以前就有的想法,但是布爾(而非萊布尼茨)卻成功地将這個想法轉變為可利用的方法。

布爾在書中開篇這樣寫道:

本書以探索人類理性思維運動的基本規律為目的。

這個英國人試圖定義一種将人類推理活動分解成可書寫的一系列數學表達式的思維語言,創造代表人類思維閘門、可用來進行加減乘除普通運算的符号:if(如果)、and(與)、or(或)、not(非)。哪怕僅寫過一小段最基礎的計算機代碼的人對這些修飾符都應該很熟悉。布爾代數賦予了計算機電路内涵與思想。沒有它,執行那些無窮複雜的算法——這些算法現在每天都在改變着世界——就無法完成了。

布爾的理論發表後并未一鳴驚人。那個時候,英國幾乎沒有人熟悉邏輯論,數學家也是如此。而且沒有可以讀取算法的機器或計算機,也就沒什麼明顯的方法驗證我們現在稱為布爾代數的理論了。但并不是說沒有人做過這方面的嘗試,阿達·洛芙萊斯就是其中最重要的一位。在當時那個不允許女性上學的年代,她是一位數學學者,還被認為是世界上第一位計算機迷。1842年,洛芙萊斯在為查爾斯·巴貝奇的分析機(分析機指一部巴貝奇未能完成的電腦)寫說明時,設計了幾組不同的輸入。理論上講,這些輸入會啟動機器執行特定的計算和任務。這樣洛芙萊斯就成了首次為機器編寫算法(程式)的人。她的算法沒有用到布爾符号,是以她也沒有找到表示人類思維流程的方法。她寫道,她希望裝置能“感覺”發現正确的決定和方法。1979年,洛芙萊斯逝世100多年以後,美國國防部用她的名字ada命名了新的計算機語言。

盡管巴貝奇、洛芙萊斯等人都曾試圖實作機械計算機,布爾代數卻沒能在着手打造電子時代的工程師和實體學家中流行起來,雖然它在20世紀初就被尊為數學定理。随着技術的發展,科學家試着建構越來越多的先進電路,工程師這才發現他們缺了什麼東西——可以控制并充分利用他們正在建構的電子電路的數學工具。

20世紀30年代後期,一個叫克勞德·香農的麻省理工學院研究所學生把萊布尼茲的二進制計算數制和包括and(與)、or(或)、not(非)、not-or(或非)和if(如果)在内的布爾運算符結合了起來。香農發現所有的表達式都可以寫進電子電路,而且能夠解決幾乎所有的數學難題、存儲資料、編輯包括圖像和文字在内的任何資訊。香農一生成就很高,被譽為資訊論之父。

算法帝國裡的牛人們:布爾

這就是計算機電路和語言誕生的真正過程,而随之出現的便是現代算法及機器對人類智能的模仿。

如果您希望參加“大資料文摘讀書群”,請在公号背景給我們留言:

讀書,您的微信号,喜歡什麼類型的書,您推薦哪些書

摘自:《算法帝國》,人民郵電出版社

算法帝國裡的牛人們:布爾

如果說《改變未來的九大算法》是為彌散程式員氣質的業餘技術控洗髓内修的白話算法書,《算法帝國》就是為抱負征服世界雄心的程式員易筋外修的演義勵志書,一路讀來心中滿盈釋然和暗合之悅。搞了小半輩子算法,一直到聽過凱文—斯拉文(kevinslavin)的ted演講“算法如何塑造我們的世界”,才有意識地去感覺周遭世界一行一止中算法的開合有度。本書大開大阖,從70年代華爾街的勃興開始,以本世紀華爾街和矽谷的權力更替收尾,世界易幟,算法仍舊。書名直譯為《算法如何控制我們的世界》,對于潛志算法的我們,是控制還是被控制?書尾赫然寫道:“你很有可能統治世界,如果沒有機器人搶在你前頭的話。”

——吳甘沙英特爾中國研究院院長

原文釋出時間為:2014-07-27

本文來自雲栖社群合作夥伴“大資料文摘”,了解相關資訊可以關注“bigdatadigest”微信公衆号

繼續閱讀