小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

圖靈的光環(huán)

 aaawoyucheng 2016-01-27

仿佛全世界的人都知道,圖靈(Alan Turing)是個天才,是他創(chuàng)造了計算機科學,是他破解了德國納粹的Enigma密碼。由于他的杰出貢獻,計算機科學的最高榮譽,被叫做“圖靈獎”。然而根據(jù)自己一直以來對圖靈機等計算模型的看法,加上一些歷史資料,我發(fā)現(xiàn)圖靈本人的實際成就,相對于他所受到的崇拜,其實相差甚遠。

由于二戰(zhàn)以來各國政府對于當時諜報工作的保密措施造成的事實混淆,再加上圖靈的不幸生世所引來的同情,圖靈這個名字似乎擁有了一種撲朔迷離的光環(huán)。人們把很多本來不是圖靈作出的貢獻歸結(jié)在他身上,把本來很平常的貢獻過分地夸大。圖靈的光環(huán),掩蓋了許多對這些領(lǐng)域做出過更加重要貢獻的人。

圖靈傳


2012年,在圖靈誕辰一百周年的時候,人們風風火火的召開各種大會,紀念這位“計算機之父”,很多媒體也添油加醋地宣傳他的豐功偉績。還有個叫Andrew Hodges的人,抓住這個時機推銷自己寫的一本傳記,叫做《Alan Turing: The Enigma》。這本書紅極一時,后來還被改編成了電影。

這本傳記看似客觀,引經(jīng)據(jù)典,字里行間卻可以感受到作者對圖靈個人的膜拜和偏袒,他在傾心打造一個“天才”。作者片面地使用對圖靈有利的證據(jù),對不利的方面只字不提。仿佛圖靈做的一切都是有理的,他做的不好的地方都是因為別人的問題,或者風水不好。提到別人做的東西,盡是各種缺陷和局限性,不是缺陷也要說成是缺陷;提到圖靈的工作,總是史無前例,開天辟地的發(fā)明。別人先做出來的東西,生拉硬拽,硬要說成是受了圖靈的“啟發(fā)”,還怪別人沒有引用圖靈的論文。這讓你感覺仿佛別人都在抄襲圖靈偉大的研究成果,都在利用他,欺負他似的。如果你不想花錢買書,可以看看同一作者寫的一個圖靈簡要生平,足以從中感受到這種傾向。

我寫這篇文章的很大一部分原因,就是因為這本傳記。作者對圖靈貢獻的片面夸大,對其他一些學者的變相貶低,讓我感到不平。圖靈在計算機界的名聲,本來就已經(jīng)被嚴重的夸大和美化,被很多人盲目的崇拜?,F(xiàn)在出了這本傳記和電影,又在人們心中加重了這層誤解。所以我覺得有必要澄清一些事實,讓人們不再被迷惑。

密碼學


很多人提到二戰(zhàn)Enigma密碼的故事,就會把功勞一股腦地歸到圖靈頭上,只字不提其他人。其實呢,破解Enigma密碼是很多人共同努力的結(jié)果,圖靈只是其中的一員。這其中好些人的想法早于圖靈,啟發(fā)過圖靈,貢獻比圖靈的大,設(shè)計的東西比圖靈的先進,卻很少有人聽說過他們的名字。論智力和貢獻,圖靈在其中只是中等水平,最后說起來倒好像是他單槍匹馬拯救了大家,這是不公平的。

最初破掉Enigma密碼的,其實不是英國人,而是波蘭人。波蘭人不但截獲并且仿造了德國人的Enigma機器,而且發(fā)現(xiàn)了其中微妙的漏洞,發(fā)明了一種用于解密的機器叫做BOMBA,以及一種手工破解的方法叫做Zygalski sheets。BOMBA可以在兩個小時之內(nèi)破解掉Enigma密碼。波蘭人一聲不吭地竊聽了德國人的通信長達六年半,最后在二戰(zhàn)爆發(fā)前夕把這技術(shù)送給了英法盟友。

BOMBA的工作原理,其實就是模擬好幾個Enigma機器,“并發(fā)”運轉(zhuǎn),這樣可以加速猜出秘鑰。最開頭這樣還行,但后來德國人改進了Enigma機器,把可選的齒輪從3個增加到了5個。5選3,有60種情況,這樣秘鑰的空間增大了60倍。理論上BOMBA只要運轉(zhuǎn)60倍多的Enigma機器,就可以破解這增大的解空間,然而那已經(jīng)超出了波蘭的物資和人力。再加上德國人就要打過去,所以波蘭只好請英法盟友幫忙。

圖靈最重要的貢獻,就是改進波蘭人的BOMBA,設(shè)計了一個更好的機器叫BOMBE。BOMBE比起B(yǎng)OMBA,其實并沒有質(zhì)的飛躍,只不過BOMBE同時模擬的Enigma機器更多,轉(zhuǎn)的更快。另外它加入了一些“優(yōu)化”措施,盡早排除不可行的路徑,所以速度快很多。圖靈最初的設(shè)計,要求必須能夠事先猜出很長的文本,所以基本不能用。后來Gordon Welchman發(fā)明了一種電路,叫做diagonal board,才使Bombe能夠投入實用。關(guān)于Gordon Welchman的故事,你可以參考這個BBC紀錄片

在Bombe能夠投入使用之前,有一個叫John Herivel的人,發(fā)現(xiàn)了一種特殊的技巧,叫做Herivel tip,這種技術(shù)在Bombe投入使用之前幾個月就已經(jīng)投入實用,破解掉很多德軍的消息,立下汗馬功勞。如果Herivel tip沒有被發(fā)明,盟軍可能在1940年5月就已經(jīng)戰(zhàn)敗,BOMBE也就根本沒機會派上用場。

同時在Bletchley Park,還誕生了一臺大型可編程電子計算機Colossus,它是由一個叫Tommy Flowers的工程師設(shè)計的。Colossus不是用來破解Enigma密碼的,而是用于破解Lorenz SZ-40。那是一種比Enigma還要先進的密碼機器,用于發(fā)送希特勒的最高指令。

德國人后來又改進了他們的通信方式,使用了一種具有四個齒輪的Enigma機器。這大大的增加了破解的難度,普通的Bombe機器也破不了它了。后來是Harold Keen設(shè)計了一個叫做Mammoth的機器,后來加上美國海軍的幫助,制造了更快的Bombe,才得以破解。

所以你看到了,所有這些人的工作加起來,才改善了二戰(zhàn)的局面。波蘭人的BOMBA,已經(jīng)包含了最重要的思想。圖靈的工作其實更多是量的改進,而不是質(zhì)的飛躍?,F(xiàn)在很多人喜歡跟風,片面的夸大圖靈在其中的作用,這是不對的。如果你對Enigma機器的技術(shù)細節(jié)感興趣,可以參考這兩個視頻:[視頻1][視頻2]。

理論計算機科學


圖靈被稱為“計算機之父”,計算機科學界的最高榮譽,被叫做“圖靈獎”(Turing Award)。然而如果你深入的理解了計算理論和程序語言理論就會發(fā)現(xiàn),圖靈對于理論計算機科學,其實并沒產(chǎn)生長遠而有益的影響。在某種程度上說,他其實幫了一個倒忙。圖靈的理論復雜不堪,給人們造成很大的誤導,阻礙了計算機科學的發(fā)展。而且他對于發(fā)表論文,對待研究的態(tài)度讓我懷疑,我覺得圖靈本人其實就是當今計算機學術(shù)界的一些不正之風的鼻祖。

圖靈機和lambda演算

絕大部分計算機專業(yè)的人提到圖靈,就會想起圖靈機(Turing Machine)。稍微有點研究的人,可能知道圖靈機與lambda演算在計算能力上的等價性。然而在“計算能力”上等價,并不等于說它們具有同樣的價值,隨便用哪個都無所謂??茖W研究有一條通用的原則:如果多個理論可以解釋同樣的現(xiàn)象,取最簡單的一個。雖然lambda演算和圖靈機能表達同樣的理論,卻比圖靈機簡單,優(yōu)雅,實用很多。

計算理論(Theory of Computation)這個領(lǐng)域,其實是被圖靈機給復雜化了。圖靈機的設(shè)計是丑陋,復雜,缺乏原則的。它的讀寫頭,紙帶,狀態(tài),操作,把本來很簡單的語義搞得異常復雜。圖靈機的讀寫兩種操作同時發(fā)生,這恰好是編程上最忌諱的一種錯誤,類似于C語言的i++。圖靈機是如此的復雜和混淆,以至于你很難看出它到底要干什么,也很難用它清晰地表達自己的意思。這就是為什么每個人上“計算理論”課程,都會因為圖靈機而頭痛。如果你挖掘一點歷史,也許會發(fā)現(xiàn)圖靈機的原型,其實是圖靈母親使用的打字機。用一臺打字機來建模所有的計算,這當然是可行的,然而卻復雜不堪。

相比之下,lambda演算更加簡單,優(yōu)雅,實用。它是一個非常有原則的設(shè)計。Lambda演算不但能清晰地顯示出你想要表達的意思,而且有直接的“物理實現(xiàn)”。你可以自然的把一個lambda演算表達式,看成是一個電子線路模塊。對于現(xiàn)實的編程語言設(shè)計,系統(tǒng)設(shè)計,lambda演算有著巨大的指導和啟發(fā)意義。以至于很多理解lambda演算的人都搞不明白,圖靈機除了讓一些理論顯得高深莫測,還有什么存在的意義。

歷史的倒退

圖靈機比起lambda演算來說,其實是一個歷史的倒退。1928年,Alonzo Church發(fā)明了lambda演算(當時他25歲)。Lambda演算被設(shè)計為一個通用的計算模型,并不是為了解決某個特定的問題而誕生的。1929年,Church成為普林斯頓大學教授。1932年,Church在Annals of Mathematics發(fā)表了一篇論文,糾正邏輯領(lǐng)域里幾個常見的問題,他的論述中用了lambda演算。1935年,Church發(fā)表論文,使用lambda演算證明基本數(shù)論中存在不可解決的問題。1936年4月,Church發(fā)表了一篇兩頁紙的“note”,指出自己1935年那篇論文可以推論得出,著名的Hilbert“可判定性問題”是不可解決的。

1936年5月,當時還在劍橋讀碩士的圖靈,也寫了一篇論文,使用自己設(shè)計的一種“計算機器”(后來被叫做圖靈機)來證明同一個問題。圖靈的論文投稿,比Church最早的結(jié)論發(fā)表,晚了整整一年。編輯從來沒見過圖靈機這樣的東西,而且它紛繁復雜,遠沒有l(wèi)ambda演算來得優(yōu)雅。就像所有人對圖靈機的第一印象一樣,編輯很難相信這打字機一樣的操作方式,能夠容納“所有的計算”。他無法確定圖靈的論述是否正確,只好找人幫忙。Church恐怕是當時世界上唯一能夠驗證圖靈的論文正確性的人。所以一番好心之下,編輯寫了封信給Church,說:“這個叫圖靈的年輕人很聰明,他寫了一篇論文,使用一種機器來證明跟你一樣的結(jié)果。他會把論文寄給你。如果你發(fā)現(xiàn)他的結(jié)果是正確的而且有用,希望你幫助他拿到獎學金,進入Princeton跟你學習?!?/p>

圖靈就是這樣成為了Church的學生,然而圖靈心高氣傲,恐怕從來沒把Church當成過老師,反倒總覺得Church搶先一步,破壞了自己名垂青史的機會。跟Church的其它學生不一樣,圖靈沒能理解lambda演算的精髓,卻認為自己的機器才是最偉大的發(fā)明。進入Princeton之后,圖靈不虛心請教,只是一心想發(fā)表自己的論文,想讓大家對自己的“機器”產(chǎn)生興趣,結(jié)果遭到很大的挫折。當然了,一個名不見經(jīng)傳的人,做了個怪模怪樣的機器,說它可以囊括宇宙里所有的計算,你不被當成民科才怪呢!

1937年,在Church的幫助下,圖靈的那篇論文(起名為《Computable Numbers》)終于發(fā)表了。Church還是很器重圖靈的,他把圖靈的機器叫做“圖靈機”。不幸的是,論文發(fā)表之后,學術(shù)界對此幾乎沒有任何反響,只有兩人向圖靈索取這篇論文。圖靈當然不爽了,于是后來就到處推銷自己的圖靈機,想讓大家承認那是偉大的發(fā)明。有了一個錘子,看什么都是釘子。后來每到一個地方,每做一個項目(見下一節(jié)),他都想把問題往自己那篇論文和圖靈機上靠,東拉西扯的想證明它的價值,甚至稱別人發(fā)明的東西全都是受到了圖靈機的啟發(fā)…… 經(jīng)過人們很長的時間的以訛傳訛之后,他終于成功了。

圖靈當年的作法,其實跟當今計算機學術(shù)界的普遍現(xiàn)象差不多。我想發(fā)表自己的想法A,結(jié)果別人已經(jīng)發(fā)表了B,解決了A要解決的問題,而且還比A簡單和清晰。怎么辦呢?首先,我聲明自己從沒看過B的論文,這樣就可以被稱為“獨立的發(fā)現(xiàn)”。然后,我證明A和B在“本質(zhì)”上是等價的。最后,我東拉西扯,挖掘一下B的局限性,A相對于B在某些邊沿領(lǐng)域的優(yōu)勢…… 這樣反復折騰,尋找A的優(yōu)勢,總有一天會成功發(fā)表的。一旦發(fā)表成功,就會有人給我唱高調(diào),沒用的東西也要說成是有用的。他們會在A的基礎(chǔ)上發(fā)展他們自己的東西,最后把我推崇為大師。那發(fā)表更早,更簡單優(yōu)美的B,也就無人問津了。勝利!

現(xiàn)在不得不說一下《圖靈傳》對此的歪曲。Church的論文發(fā)表,比圖靈的論文投稿還早一年,而且Church使用了比圖靈機更簡單優(yōu)雅的計算模型。Church的成果本來天經(jīng)地義應該受到更多的尊重,到頭來作者卻說:“...and Turing was robbed of the full reward for his originality”(見第3節(jié)“The Turing machine”)。讓人感覺貌似是Church用不正當?shù)氖侄巍皳屪摺绷藞D靈的“原創(chuàng)性”一樣。你本來沒有什么原創(chuàng)性,還丑陋復雜,所以何談?chuàng)屪吣??我怎么覺得恰恰相反,其實是圖靈搶走了Church的原創(chuàng)性?現(xiàn)在提起Hilbert可判定性問題,可計算性理論,人們都想起圖靈,有誰還想得起Church,有誰知道他是第一個解決了這問題的人,有誰知道他用了更優(yōu)美的辦法?

Lambda演算與計算理論

由于圖靈到處推銷自己的理論,把不好的東西說成是好的,把別人發(fā)明的機器硬往自己的理論上面靠,說他們受到了圖靈機的“啟發(fā)”,以至于很多人被蠱惑,以為它比起lambda演算確實有優(yōu)勢。再加上很多人為了自己的利益而以訛傳訛,充當傳教士,這就是為什么圖靈機現(xiàn)在被人們普遍接受作為計算模型。然而這并不能改變它丑陋和混淆的本質(zhì)。圖靈機的設(shè)計,其實是專門為了證明Hilbert的可判定性問題不可解決,它并不是一個用途廣泛的計算模型。圖靈機之所以被人接受,很大部分原因在于人的無知和愚蠢。很多人(包括很多所謂“理論計算機科學家”)根本沒好好理解過lambda演算,他們望文生義,以為圖靈機是“物理的”,實際可用的“機器”,而lambda演算只是一個理論模型。

事實恰恰相反:lambda演算其實非常的實用,它的本質(zhì)跟電子線路沒什么兩樣。幾乎所有現(xiàn)實可用的程序語言,其中的語義全都可以用lambda演算來解釋。而圖靈機卻沒有很多現(xiàn)實的意義,用起來非常蹩腳,所以只能在計算理論中作為模型。另外一個更加鮮為人知的事實是:lambda演算其實在計算理論方面也可以完全取代圖靈機,它不但可以表達所有圖靈機能表達的理論,而且能夠更加簡潔和精確地表達它們。

很多理論計算機科學家喜歡用圖靈機,仿佛是因為用它作為模型,能讓自己的理論顯得高深莫測,晦澀難懂。普通的計算理論課本,往往用圖靈機作為它的計算模型,使用苦逼的辦法推導各種可計算性(computability)和復雜性(complexity)理論。特別是像Michael Sipser那本經(jīng)典的計算理論教材,晦澀難懂,混淆不堪,有時候讓我都懷疑作者自己有沒有搞懂那些東西。

后來我發(fā)現(xiàn),其實圖靈機所能表達的理論,全都可以用更加簡單的lambda演算(或者任何一種現(xiàn)在流行的程序語言)來表示。圖靈機的每一個狀態(tài),不過對應了lambda演算(或者某種程序語言)里面的一個“AST節(jié)點”,然而用lambda演算來表示那些計算理論,卻可以比圖靈機清晰和容易很多。在Indiana大學做計算理論課程助教的時候,我把這種思維方式悄悄地講述給了上課的學生們,他們普遍表示我的這種思維方式更易理解,而且更加貼近實際的編程。

舉一個很簡單的例子。我可以用一行l(wèi)ambda演算表達式,來顯示Hilbert的“可判定性問題”是無解的:

Halting(λm.not(Halting(m,m)), λm.not(Halting(m,m)))

完整的證明不到一頁紙,請看我的另外一篇文章(英文)。這也就是圖靈在他的論文里,折騰了十多頁紙證明的東西。

我曾經(jīng)以為自己是唯一知道這個秘密的人,直到有一天我把這個秘密告訴了我的博士導師,Amr Sabry。他對我說:“哈哈!其實我早就知道這個,你可以參考一下Neil Jones寫的一本書,叫做《Computability and Complexity: From a Programming Perspective》。這本書現(xiàn)在已經(jīng)可以免費下載。

此書作者用一種很簡單的程序語言,闡述了一般人用圖靈機來描述的那些理論(可計算性理論,復雜性理論)。他發(fā)現(xiàn)用程序語言來描述計算理論,不但簡單直接,清晰明了,而且在某些方面可以更加精確地描述圖靈機無法描述的定理。得到這本書,讓我覺得如獲至寶,原來世界上有跟我看法如此相似,對事物洞察力如此之高的人!

在一次會議上,我有幸地遇到了Neil Jones,跟他切磋思想。當提到這本書的模型與圖靈理論的關(guān)系,老教授謙虛地說:“圖靈的模型還是有它的價值的……” 然而到最后,他其實也沒能說清楚這價值何在。我心里很清楚,他只是為了避免引起宗教沖突,或者避免顯得狂妄自大,而委婉其詞。眼前的這位教授,雖然從來沒有得過圖靈獎,很少有人聽說過他的名字,然而他對于計算本質(zhì)的理解,卻比圖靈本人還要高出很多。

總的說來,圖靈機也許不是一文不值,然而由于lambda演算可以更加清晰地解釋圖靈機能表示的所有理論,圖靈機的價值相對來說幾乎為零。Church在1937年給圖靈論文寫的Review指出,圖靈機的優(yōu)勢,在于它可以讓不懂很多數(shù)學,不理解lambda演算之類理論的人也可以看得懂。我怎么覺得圖靈機對于不懂很多數(shù)學的人,理解起來其實更加痛苦呢?而且就算它真的對“外行”或者“笨人”的理解有好處,這價值貌似也不大吧?:P

電子計算機


很多“理論計算機科學家”喜歡說,大家現(xiàn)在用的計算機,只不過是一個“Universal Turing Machine”。就算你根本不知道圖靈是誰,自己辛苦設(shè)計出一個機器或者語言,他們總喜歡說:“是圖靈啟發(fā)了你,因為你那東西是跟圖靈機等價的,是圖靈完備的……”

那么現(xiàn)在讓我們來看看,圖靈本人和他的理論,真正對電子計算機的發(fā)展起過多大的作用吧。如果一個人對一個行業(yè)起過重大的作用,那我們可以說“沒有他不行”。然而事實卻是,即使沒有圖靈,計算機技術(shù)會照樣像今天一樣發(fā)展,絲毫不會受到影響??匆豢礆v史,你也許會驚訝的發(fā)現(xiàn),圖靈的理論不但沒能啟發(fā)任何計算機的設(shè)計,而且圖靈親自設(shè)計的唯一一個計算機(ACE),最后也以悲慘的失敗告終。

什么是Universal Turing Machine(UTM)

ACE失敗的一個重要原因,是因為圖靈過度的看重他自己發(fā)明的Universal Turing Machine(UTM)。所以我想首先來解密一下,這個被很多人吹得神乎其神的,似乎什么都可以往上面扯的UTM,到底是什么東西。

說白了,UTM就是一個解釋器,就像Python或者JavaScript的解釋器一樣。計算機的處理器(CPU)也是一個解釋器,它是用來解釋機器指令的。那這樣說來,任何可編程,具有指令集的機器都是UTM了,所以圖靈的理論啟發(fā)了所有這些機器?你盡管跟我扯吧 :)

你應該知道,在圖靈的UTM出現(xiàn)以前,Church的lambda演算里面早就有解釋器的概念了,所以UTM根本不是什么新東西,而且它比起lambda演算的解釋器,真是丑陋又復雜。而Church其實也不是第一個提出解釋器這概念的人,像這類通用的概念,已經(jīng)很難追溯是誰“發(fā)明”的了。也許并不是某一個人發(fā)明了它,而是歷史上的很多人。

解釋器這個概念的涵義實在是包羅萬象,幾乎無處不在。只要是“可編程”的機器,它本質(zhì)上必然包含一個解釋器。一個工程師在不知道解釋器這概念的情況下,照樣很有可能“不小心”設(shè)計出一個可編程的機器,所以如果你把這些全都歸結(jié)成圖靈或者Church的功勞,就太牽強了。

圖靈與ACE的故事

事實上,最早的電子計算機,并不是圖靈設(shè)計的,而是電子工程師跟其他一些數(shù)學家合作的結(jié)果。根據(jù)老一輩工程師的敘述,圖靈的工作和理論,對于現(xiàn)實的電子計算機設(shè)計,幾乎沒有任何的正面作用。很多工程師其實根本不知道圖靈是誰,圖靈機是什么。他們只是根據(jù)實際的需求,設(shè)計和制造了那些電路。這就是為什么我們今天看到的電子計算機,跟圖靈機或者圖靈的其他理論幾乎完全不搭邊。

世界上最早的兩臺電子計算機,ENIAC和EDVAC,都是美國人設(shè)計制造的。其中EDVAC的設(shè)計報告,是馮諾依曼(von Neumann)參與并簽署的。提到EDVAC的設(shè)計,《圖靈傳》有一段有趣的介紹,它基本是這樣說的:“馮諾依曼在Princeton的時候,很了解圖靈開天辟地的發(fā)明—UTM。UTM只有一根紙帶,而EDVAC把指令和數(shù)據(jù)放在同一個存儲空間,所以EDVAC的設(shè)計肯定是受了UTM的啟發(fā)。然而EDVAC的設(shè)計報告,卻只字不提圖靈和UTM的名字,更沒有引用圖靈劃時代的論文《Computable Numbers》……”

這其實是在含沙射影的說,馮諾依曼和EDVAC團隊抄襲了圖靈的研究成果。照這種歪理,我洗衣服的時候,襪子和內(nèi)褲放在同一個桶里洗,也是受了圖靈的啟發(fā)了,就因為UTM只有一條紙帶?這世界上的事物,還有啥不是受了UTM啟發(fā)的?這讓我想起某些全靠打?qū)@偎举嶅X的公司(patent troll)…… 馮諾依曼作為一代數(shù)學大師,比UTM重大的研究成果多得是了,他會在乎抄襲圖靈的東西嗎?其實人家恐怕是根本沒把圖靈和他的論文當回事。而且其他人(比如Church)早就有跟UTM等價的想法,而且還更好,更簡單。之前搶了Church的風頭,現(xiàn)在居然欺到馮諾依曼頭上來了。哎,真受不了這種一輩子只想出過一個點子的人……

所以聽說美國人造出了EDVAC,圖靈開始各種羨慕嫉妒恨,感嘆自己英才無用武之地。終于有一天,他的機會來了。在EDVAC誕生幾個月之后,英國國家物理實驗室(NPL)聯(lián)系了圖靈。他們想趕上美國的計算機技術(shù)發(fā)展,所以想招募圖靈,讓他幫忙山寨一個EDVAC的“英國特色版本”。圖靈設(shè)計的機器叫做ACE(Automatic Computing Engine)。最初,圖靈給NPL一個很宏偉的藍圖:ACE可以如此的強大,以至于整個英國只需要這樣一臺計算機就夠了,我們可以把它叫做“英國國家計算機”…… 然而再大的口號,也難逃脫現(xiàn)實的檢驗,ACE項目最終以失敗告終。

《圖靈傳》把ACE失敗的責任,推托到NPL和其它人的“近視”和“官僚”,然而ACE失敗的主要責任,其實在于圖靈自己:他完全沒有設(shè)計一臺現(xiàn)實的計算機的基本技能,卻總是自以為是,設(shè)立高大空的目標。圖靈的設(shè)計跟當時(包括現(xiàn)在的)所有實用的計算機都有巨大的差別。不出你所料,他最初的設(shè)計思路,是根據(jù)自己之前的論文《Computable Numbers》里提到的“Universal Turing Machine”,不過從中去掉了一些不實際的設(shè)計,比如用一根紙帶來存儲數(shù)據(jù)。這一點改進貌似做對了,可是呢,他又加入了一些讓工程師們無語的設(shè)計,美其名曰“極簡設(shè)計”(minimalism)。比如,ACE的硬件只提供AND, OR, NOT之類的邏輯運算作為“基本操作”,其它的算數(shù)操作,包括加減乘除,全部用代碼來實現(xiàn)。圖靈大師啊,你知不知道有一種重要的指標,叫做“效率”?

這還不算…… 后來他更加異想天開,終于扯上了“思考機器”(thinking machines)—他想讓ACE成為可以像人一樣思考的機器,還想讓這機器能夠自己寫自己的代碼。按照圖靈的原話:“在ACE的工作中,我對人腦建模的興趣,比實際的計算應用更感興趣?!?他顯然已經(jīng)把ACE當成了自己一個人的玩具,而不再是解決人們實際需求的工具。只要有人反對這想法,他就會嘲笑說,你是怕我的機器太聰明了,搶了你的飯碗吧?其實圖靈對于實際的人腦工作原理所知甚少,基本處于初中生理衛(wèi)生課本水平,然而他總喜歡對人說,人腦不過就是一個UTM。看吧,它有輸入,輸出,狀態(tài)轉(zhuǎn)換,就跟UTM一樣…… 所謂“圖靈測試”(Turing Test),就是那時候提出來的。當然了,因為他扯到了“thinking machine”,就有后人把他稱為人工智能(AI)的鼻祖。其實呢,圖靈測試根本就不能說明一個機器具有了人的智能,它只是在測試一些膚淺的表象。后來,“thinking machines”成為了一種通用的幌子,用于籌集大筆科研經(jīng)費,最后全都血本無歸。

圖靈設(shè)計了這機器,NPL當時卻沒有能力制造它。于是他們求助于另外兩位實現(xiàn)過計算機的工程師:F. C. WilliamsMaurice Wilkes(后來EDSAC計算機的設(shè)計者),請他們幫忙實現(xiàn)圖靈的設(shè)計??上攵琖illiams和Wilkes都表示不喜歡ACE的設(shè)計,而且指出圖靈的性格與自己的研究風格不匹配,不愿跟他合作,所以雙雙拒絕了NPL的邀請。最后,NPL新成立了一個電子部門,ACE的工程終于可以開始。然而,根據(jù)資深工程師們的討論,覺得圖靈提出的制造一個“電子人腦”和“智能機器”,并不是實際可行,或者在短期之內(nèi)能派上用場的項目,所以決定做一些實際點的事情。圖靈對此非常惱火,各種抱怨,說別人官僚啊,近視啊,沒想象力啊之類的,然后開始公開的抵制NPL的決定。

最后工程師們和管理層都受不了他了,鑒于他名聲在外,又不好意思開掉他,只好提出一個破天荒的提議:由NPL資助,讓圖靈回到劍橋大學去度年假(sabbatical),做一些純數(shù)學的研究。于是ACE在圖靈不在的情況下,終于開工了??1950年,ACE運行了它的第一個程序。然而工程師們實現(xiàn)的ACE,完全偏離了圖靈的設(shè)計,以至于實際的機器和圖靈的設(shè)計之間,幾乎沒有任何相似性。一年之后,圖靈還想回到NPL,繼續(xù)影響ACE的設(shè)計,然而NPL的領(lǐng)導們卻建議他繼續(xù)留在大學里做純理論的研究,并且讓曼徹斯特大學給他一個職位。最后圖靈接受了這個建議,這下大家伙兒都松了一口氣…… :P

圖靈設(shè)計的唯一一個計算機ACE,終究以圖靈完全退出整個項目而告終。今天回頭看來,如果當時圖靈留下來了,NPL真的按照圖靈的意思來做,ACE恐怕直到今天都造不出來。由于圖靈不切實際的設(shè)計和高傲的性格,NPL失去了最優(yōu)秀的人的幫助。1949年,Maurice Wilkes按照EDVAC的思路,成功制造了EDSAC,速度是ACE的兩倍以上,而且更加實用。所以你看到了,圖靈并不是一個實干家,他的雙腳飄在半空中。他的理論,他設(shè)計的機器,他的代碼,全都停留在紙上。他并沒有幫助造出任何一臺實際可用的計算機,他對計算機的工程實現(xiàn)幾乎沒有任何有益的影響??上У氖牵行┤讼矚g把實干家們千辛萬苦造出來,真正可以用的東西,牽強附會地歸功于某些高談闊論的理論家,仿佛那是理論家的功勞似的。這也許就是為什么圖靈被他們稱為“計算機之父”吧。

如果對ACE和其它早期計算機感興趣,你可以參考一下更詳細的資料。你也可以看一看《圖靈傳》,雖然它觀點荒唐,對圖靈各種偏袒,然而圖靈和其他人的通信,基本的史實,他應該不好意思篡改。

總結(jié)

我說這些是為了什么呢?我當然不是想否認圖靈所做出的貢獻。像許多的計算機工作者一樣,他的某些工作當然是有意義的。然而那種意義并不像很多人所吹噓的那么偉大,它們甚至不包含很多的創(chuàng)新。

我覺得很多后人給圖靈帶上的光環(huán),掩蓋了太多其它值得我們學習和尊敬的人,給人們對于計算機科學的概念造成了誤導。計算機科學不是圖靈一個人造出來的,圖靈并不是計算機科學的鼻祖,他甚至不是在破解Enigma密碼和電子計算機誕生過程中起最重要作用的人。

許許多多的計算機科學家和電子工程師們,是他們造就了今天的計算科學。他們的聰明才智和貢獻,不應該被圖靈的光環(huán)所掩蓋,他們應該受到像跟圖靈一樣的尊敬。希望大家不要再神化圖靈,不要再神化任何人。不要因為膜拜某些人,而失去向另一些人學習的機會。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多