個(gè)人認(rèn)為,王垠對(duì)圖靈的評(píng)價(jià)很中肯,希望大家有耐心看完。類似的,還可以舉出很多人物和事例,如諸葛亮的軍事才能并不突出(可謂識(shí)治之良才,管、蕭之亞匹矣。然連年動(dòng)眾,未能成功,蓋應(yīng)變將略,非其所長(zhǎng)歟!)康熙(武功是沒(méi)問(wèn)題的,文治有爭(zhēng)議)袁崇煥(打仗是沒(méi)問(wèn)題的,但沒(méi)有力挽狂瀾的能力)及l(fā)inux(NB是吹出來(lái)的),轉(zhuǎn)載這篇文章是希望大家明白,要敢于質(zhì)疑。
全世界的人都知道,圖靈(Alan Turing)是個(gè)天才,是他創(chuàng)造了計(jì)算機(jī)科學(xué),是他破解了德國(guó)的Enigma密碼,是他拯救了全人類。然而根據(jù)一些最近解密的二戰(zhàn)歷史資料,以及自己一直以來(lái)對(duì)圖靈機(jī)等計(jì)算模型的看法,我發(fā)現(xiàn)圖靈所受到的崇拜,相對(duì)于他本人的實(shí)際成就,其實(shí)相差甚遠(yuǎn)。
由于二戰(zhàn)以來(lái)各國(guó)對(duì)于當(dāng)時(shí)諜報(bào)工作的保密措施造成的事實(shí)混淆,再加上圖靈的不幸生世所引來(lái)的同情,圖靈這個(gè)名字似乎擁有了一種撲朔迷離的光環(huán)。人們把很多本來(lái)不是圖靈作出的貢獻(xiàn)歸結(jié)在他身上,也把本來(lái)平平常常的貢獻(xiàn)任意地夸大。圖靈的光環(huán),掩蓋了許多對(duì)這些領(lǐng)域做出過(guò)更加重要貢獻(xiàn)的人。 在圖靈誕辰一百周年的時(shí)候,人們風(fēng)風(fēng)火火的召開(kāi)各種大會(huì),紀(jì)念這位“計(jì)算機(jī)之父”。各大媒體也展開(kāi)宣傳,大力鼓吹圖靈的豐功偉績(jī)。甚至有人乘機(jī)寫了一本圖靈的傳記,叫做《Alan Turing: The Enigma》。此書(shū)肆意的歪曲和貶低其他人,說(shuō)別人都在偷竊圖靈的研究成果,都在欺負(fù)他,云云。添油加醋地抬高圖靈的功勞,把他吹捧為天才,把他的工作全都叫做史無(wú)前例的,開(kāi)天辟地的發(fā)明。如果你不想花錢買書(shū),可以看看此書(shū)作者寫的一個(gè)圖靈簡(jiǎn)要生平,足以顯示其謬誤和夸大之處。 由于這個(gè)原因,我想根據(jù)自己對(duì)一些專業(yè)知識(shí)和歷史資料的了解,把自己對(duì)于圖靈這個(gè)人的看法澄清一下。 密碼學(xué)很多人提到二戰(zhàn)Enigma密碼的故事,都會(huì)把功勞一股腦地歸到圖靈頭上,以至于只字不提其他人。然而紙終究是包不住火的,最近解密的資料說(shuō)明,圖靈的工作其實(shí)大部分屬于對(duì)以往工作的“改進(jìn)”,而不是獨(dú)創(chuàng)的發(fā)明。當(dāng)年好些人對(duì)破解Enigma密碼的貢獻(xiàn)比圖靈大很多,然而卻很少有人聽(tīng)說(shuō)過(guò)他們的名字。這是不公平的。 最近的多國(guó)間諜首腦會(huì)議,對(duì)一些二戰(zhàn)歷史資料進(jìn)行了解密。你可以從這些信息發(fā)現(xiàn),破解Enigma密碼的大部分初創(chuàng)性工作,其實(shí)不是英國(guó)人,而是波蘭人完成的。波蘭人不但俘獲并且復(fù)制了德國(guó)人的Enigma機(jī)器,而且發(fā)現(xiàn)了其中微妙的漏洞,制造了一種用于解密的機(jī)器叫做BOMBA)。英國(guó)的密碼工作還沒(méi)開(kāi)始,波蘭科學(xué)家們?cè)缫呀?jīng)可以破解德國(guó)陸軍和空軍的Enigma密碼。 英國(guó)人的工作,其實(shí)是把波蘭人送給他們的核心技術(shù)擴(kuò)展到可以破解德國(guó)海軍的密碼。海軍的密碼比起陸軍和空軍的,其實(shí)大同小異。如果波蘭沒(méi)有被攻陷,海軍的密碼一樣會(huì)被他們破掉。關(guān)于Enigma密碼機(jī)器是如何工作,有什么特點(diǎn)和漏洞,民用和軍用Enigma機(jī)器的區(qū)別,海軍的Enigma機(jī)器有什么不同,你可以參考這兩個(gè)技術(shù)性的視頻:[視頻1][視頻2]。 所以英國(guó)人(圖靈是其中之一)所做的工作,其實(shí)是建立在波蘭科學(xué)家的“初創(chuàng)性”工作之上,屬于一種“改進(jìn)”或者“優(yōu)化”。波蘭人其實(shí)沒(méi)有遇到技術(shù)困難,但由于被德國(guó)侵略,波蘭情報(bào)局決定把Enigma密碼的關(guān)鍵技術(shù)送給英國(guó)和法國(guó),希望得到他們的幫助。雖然最后是英國(guó)的密碼工作使二戰(zhàn)得到了轉(zhuǎn)機(jī),但這并不應(yīng)該掩蓋波蘭科學(xué)家做出了初創(chuàng)性工作,波蘭人給了英國(guó)人最關(guān)鍵的技術(shù)這一事實(shí)。 計(jì)算機(jī)科學(xué)圖靈被堂而皇之地稱為“計(jì)算機(jī)之父”,計(jì)算機(jī)科學(xué)界的最高榮譽(yù)也被叫做“圖靈獎(jiǎng)”(Turing Award)。然而如果你深入的理解了計(jì)算理論和程序語(yǔ)言理論,就會(huì)發(fā)現(xiàn)其實(shí)圖靈對(duì)于計(jì)算機(jī)科學(xué)也沒(méi)有很多初創(chuàng)性的貢獻(xiàn)。 絕大部分計(jì)算機(jī)專業(yè)的人提到圖靈,就只知道圖靈機(jī)(Turing Machine)。稍微有點(diǎn)研究的人,可能知道圖靈機(jī)與lambda calculus的等價(jià)性。Lambda calculus很容易理解,然而對(duì)于這圖靈機(jī),人們卻看不透它其中的奧妙,覺(jué)得高深莫測(cè)。雖然大家實(shí)際編程用的語(yǔ)言基本是lambda calculus衍生來(lái)的,跟圖靈機(jī)八帽子遠(yuǎn),可總覺(jué)得“圖靈機(jī)”這名字顯得高大上一些,所以總喜歡在research paper里用圖靈機(jī)作為模型。 在我看來(lái),其實(shí)計(jì)算理論這個(gè)領(lǐng)域,恰恰是被圖靈機(jī)給無(wú)端的復(fù)雜化了。圖靈機(jī)充其量算個(gè)理論模型,完全不能實(shí)用。而就算是作為理論模型,它也是丑陋而復(fù)雜的。其實(shí)圖靈機(jī)誕生好多年以前,就已經(jīng)存在一個(gè)更好更簡(jiǎn)單的模型—lambda calculus,它是由圖靈的PhD導(dǎo)師Alonzo Church發(fā)明的。圖靈沒(méi)能理解lambda calculus的精髓,他偏執(zhí)的認(rèn)為,自己設(shè)計(jì)的圖靈機(jī)才是劃時(shí)代的創(chuàng)新。所以他跟Church以及師兄們都合不來(lái),自己把自己孤立起來(lái)。 現(xiàn)在看來(lái),圖靈機(jī)比起lambda calculus來(lái)說(shuō),其實(shí)算是一個(gè)歷史的倒退。Lambda calculus比圖靈機(jī)早好多年誕生,能夠描述圖靈機(jī)所能描述的一切理論,卻比圖靈機(jī)還簡(jiǎn)單好多,以至于很多人都搞不明白,圖靈機(jī)除了讓一些理論顯得高深莫測(cè),還有什么存在的意義。然而圖靈的名氣真是莫名其妙的大呀,輕松地壓倒了Church,以至于很多計(jì)算機(jī)行業(yè)的人一大把年紀(jì)了,還不知道Church是誰(shuí),他做了什么。 然而由于圖靈離奇的生世,他在死后忽然有了許多的擁鱉。這些人喜歡圖靈機(jī),因?yàn)樗茏屪约旱睦碚擄@得高深莫測(cè),晦澀難懂。普通的計(jì)算理論課本,往往用圖靈機(jī)作為它的計(jì)算模型,用很苦逼的辦法推導(dǎo)各種可計(jì)算性(computability)和復(fù)雜性(complexity)理論。特別是像Sipser那本經(jīng)典教材,含混晦澀,語(yǔ)言混淆不堪,有時(shí)候讓我懷疑作者自己有沒(méi)有搞懂那些東西。 后來(lái)我發(fā)現(xiàn),其實(shí)圖靈機(jī)所能表達(dá)的理論,全都可以用更加簡(jiǎn)單的lambda calculus(或者任何一種現(xiàn)在流行的程序語(yǔ)言)來(lái)表示。圖靈機(jī)的每一個(gè)狀態(tài),不過(guò)對(duì)應(yīng)了lambda calculus(或者某種程序語(yǔ)言)的一個(gè)“AST節(jié)點(diǎn)”,然而用lambda calculus來(lái)表示那些計(jì)算理論,卻可以比圖靈機(jī)清晰和容易很多。在Indiana大學(xué)做計(jì)算理論課程助教的時(shí)候,我把這種思維方式悄悄地講述給了上課的學(xué)生們,他們普遍表示我的這種思維方式容易理解很多,而且更加貼近實(shí)際的編程。 我曾經(jīng)以為自己是唯一知道這個(gè)秘密的人,直到有一天我把這個(gè)秘密告訴了我的PhD導(dǎo)師,Amr Sabry。他對(duì)我說(shuō):“哈哈!其實(shí)我早就知道這個(gè),你可以參考一下Neil Jones寫的一本書(shū),叫做《Computability and Complexity: From a Programming Perspective》。(這本書(shū)現(xiàn)在已經(jīng)可以免費(fèi)下載) 此書(shū)作者用一種很簡(jiǎn)單的程序語(yǔ)言,闡述了一般人用圖靈機(jī)來(lái)描述的那些理論(可計(jì)算性理論,復(fù)雜性理論)。他發(fā)現(xiàn)用程序語(yǔ)言來(lái)描述計(jì)算理論,不但簡(jiǎn)單直接,清晰明了,而且在某些方面可以更加精確地描述圖靈機(jī)無(wú)法描述的定理。得到這本書(shū),讓我覺(jué)得如獲至寶,原來(lái)世界上有跟我看法如此相似,對(duì)事物洞察力如此之高的人! 在一次會(huì)議上,我有幸地遇到了Neil Jones,跟他切磋思想。當(dāng)提到這本書(shū)的模型與圖靈理論的關(guān)系,老教授謙虛的對(duì)我說(shuō):“圖靈的模型還是有它的價(jià)值的……” 可是到最后他也沒(méi)能說(shuō)清楚這價(jià)值何在。我心里很清楚,他只是為了避免引起宗教沖突,或者避免顯得狂妄自大,而委婉其詞。眼前的這位教授,雖然從來(lái)沒(méi)有得過(guò)圖靈獎(jiǎng),他對(duì)于計(jì)算本質(zhì)的理解,卻比圖靈本人還要高出很多。 電子計(jì)算機(jī)很多計(jì)算機(jī)科學(xué)家喜歡說(shuō),大家現(xiàn)在用的電子計(jì)算機(jī),“只不過(guò)”是一個(gè)Universal Turing Machine。那么現(xiàn)在讓我們來(lái)看看圖靈本人真正對(duì)電子計(jì)算機(jī)的發(fā)展起過(guò)多大作用吧。如果一個(gè)人對(duì)一個(gè)行業(yè)起過(guò)重大的作用,那我們可以說(shuō)“沒(méi)有他不行”。然而事實(shí)卻是,即使沒(méi)有了圖靈,電子計(jì)算機(jī)照樣像今天一樣發(fā)展,不會(huì)受到任何影響。這是為什么呢? 根據(jù)老一輩工程師的敘述,圖靈的工作和理論,對(duì)于他們當(dāng)年設(shè)計(jì)和制造實(shí)際可以用的電子計(jì)算機(jī),其實(shí)幾乎沒(méi)有任何作用。很多工程師當(dāng)時(shí)根本不知道圖靈是誰(shuí),圖靈機(jī)是什么,他們只是根據(jù)自己對(duì)于“計(jì)算”的理解,設(shè)計(jì)和制造了那些計(jì)算機(jī)電路。這就是為什么我們今天看到的電子計(jì)算機(jī),跟圖靈機(jī)幾乎完全不搭邊。 世界上最早的兩臺(tái)電子計(jì)算機(jī),ENIAC和EDVAC,都是美國(guó)人設(shè)計(jì)制造的(其中,馮諾依曼起了重要作用)。在EDVAC誕生幾個(gè)月之后,圖靈才被英國(guó)國(guó)家物理實(shí)驗(yàn)室(NPL)安排到一個(gè)獨(dú)立的項(xiàng)目,他們看見(jiàn)美國(guó)的計(jì)算機(jī)技術(shù)發(fā)展,著急了,所以想讓他幫忙山寨一個(gè)EDVAC的“英國(guó)特色版本”。 圖靈設(shè)計(jì)的機(jī)器叫做ACE(Automatic Computing Engine)。它在操作細(xì)節(jié)上跟EDVAC幾乎沒(méi)有區(qū)別,只不過(guò)圖靈的ACE報(bào)告東拉西扯,也不想想拿這機(jī)器來(lái)做點(diǎn)立竿見(jiàn)影立馬可以用的項(xiàng)目,結(jié)果最后異想天開(kāi)扯上了“思考機(jī)器”(thinking machine)。最后圖靈只打了個(gè)草稿,就在頭腦秀逗中休年假去了。 估計(jì)所謂“圖靈測(cè)試”(Turing Test)就是那時(shí)候提出來(lái)的。當(dāng)然了,因?yàn)樗兜搅恕皌hinking machine”,后來(lái)就有人把他捧成人工智能(AI)的鼻祖。其實(shí)呢,圖靈測(cè)試根本就不能說(shuō)明一個(gè)機(jī)器具有了智能,它只是在測(cè)試一些膚淺的表象。扯遠(yuǎn)了,總之圖靈的報(bào)告沒(méi)有在設(shè)計(jì)“計(jì)算機(jī)器”這個(gè)角度進(jìn)行任何創(chuàng)新,倒是提出了一些不切實(shí)際的“應(yīng)用”。 最后,ACE的工程在沒(méi)有圖靈的情況下展開(kāi)了。到1950年的時(shí)候,ACE運(yùn)行了它的第一個(gè)程序。ACE最后的設(shè)計(jì),其實(shí)跟圖靈的報(bào)告已經(jīng)沒(méi)有半點(diǎn)干系。等圖靈放完假回來(lái),直到他去世的那天,都在設(shè)想一些更秀逗,更不實(shí)際的工作:他想用那機(jī)器來(lái)模擬和研究胚胎的發(fā)育過(guò)程。至此,圖靈成為了ACE計(jì)算機(jī)的“用戶”,而不再是它的“設(shè)計(jì)者”。不過(guò)呢,后人不但堅(jiān)持的認(rèn)為他發(fā)明了計(jì)算機(jī),而且還說(shuō)他開(kāi)創(chuàng)了一個(gè)新的領(lǐng)域,叫做“ Morphogenesis”…… 你說(shuō)怪不怪。 所以你看到了,圖靈并不是一個(gè)實(shí)干家,他并沒(méi)有造出任何一臺(tái)有用的計(jì)算機(jī),他對(duì)計(jì)算機(jī)的工程設(shè)計(jì)幾乎沒(méi)有任何實(shí)際的影響。在ACE的項(xiàng)目中,他最多算個(gè)“architect”。不過(guò)他恐怕是那種不切實(shí)際,一行代碼不寫,喜歡異想天開(kāi)瞎指揮,讓真正動(dòng)手做事的工程師發(fā)瘋,最后卻拿走所有credit的那種architect。 可惜的是,總有些人喜歡把真正的實(shí)干家們千辛萬(wàn)苦造出來(lái),真正可以用的機(jī)器和語(yǔ)言,牽強(qiáng)附會(huì)地歸功于某些不搭邊的理論家,仿佛那是理論家的功勞似的。這也許就是為什么圖靈被他們稱為“計(jì)算機(jī)之父”吧。 總結(jié)我說(shuō)這些是為了什么呢?我當(dāng)然不是想否認(rèn)圖靈所做出的貢獻(xiàn)。他的工作當(dāng)然是有意義的,然而那種意義并不像很多人所吹噓的那么偉大,它們甚至不包含偉大的創(chuàng)新。 我覺(jué)得很多后人給圖靈帶上的光環(huán),掩蓋了太多其它值得我們學(xué)習(xí)和尊敬的人。計(jì)算機(jī)科學(xué)不是圖靈一個(gè)人造出來(lái)的,圖靈并不是計(jì)算機(jī)科學(xué)的鼻祖,他甚至不是在破解Enigma密碼和電子計(jì)算機(jī)誕生過(guò)程中起最重要作用的人。 許許多多的計(jì)算機(jī)科學(xué)家和電子工程師們,是他們?cè)炀土私裉斓挠?jì)算科學(xué)。他們的聰明才智和貢獻(xiàn),不應(yīng)該被圖靈的光環(huán)所掩蓋,他們應(yīng)該受到像跟圖靈一樣的尊敬。 希望大家不要再神化圖靈,不要再神化任何人。
|