自從接觸計算機起, Turing一直是我心裏的一顆燦爛的星座:第一、他是計算機科學的奠基人,他開創的領域還有機器智能即人工智能,他在計算機科學中的位置差不多類似牛頓在物理學中那樣(見後);第二、他是二戰中破解納粹德國Enigma機技術路線和破譯體係主要設計者,由於他們的工作,扭轉了歐洲戰場的形勢,使二戰早結束兩年,人員損失減少1,400萬(電影中的統計),中國軍民也因此減少了損失;第三、他是一個真實於自己的人。
借著The Imitation Game (模仿遊戲) 這部電影,助推了我的原動力,寫出所想。
我寫的方法是提供背景描述,以電影故事為主線,解釋Turing和同事們的工作和人性,希望幫助讀者(1)欣賞電影,得到娛樂;(2)了解Turing的三大亮點和一些背景情況,使他在讀者頭腦中有合適的位置;(3)指出Turing的遺產對我們中文為母語的人的作用。我不試圖評價電影。對於查到的電影故事中與傳記和其他開放史料有major不一致的地方,我盡量注明。
歡迎讀者反饋,如果資料查實,或者建議更好,我會相應修改,並注明來自哪位讀者,筆名實名無名任選。
電影梗概
英國曼徹斯特警察局偵探Nock接到報告,曼徹斯特大學教授Alan Turing家裏被搶。Nock展開調查,查到Turing的二戰時紀錄為空,懷疑Turing是蘇聯間諜,因此展開深入調查。結果發現Turing有同性戀行為,是一個Turing的同性戀伴侶帶人搶劫了Turing家。Nock偵探感覺事情蹊蹺,為搞清Turing戰時所作的事情的從而排除Turing間諜嫌疑,展開了對Turing的審訊。審訊中,Turing以他著名的Turing Test (圖靈測試)中的imitation game(模仿遊戲)方法與偵探Nock實際玩了一把遊戲,Nock提問,Turing回答。遊戲結束時,Nock麵前呈現的是他難以置信的Turing和同事們在戰時的豐功偉績。
少年Turing
Turing生於一個英國公務員家庭,父親在英屬印度政府任職,他從小在英國的親戚家住了很長時間,他從小和他母親保持著很多溝通。在少年時代就對科學產生了濃厚的興趣。在16歲的時候,他第一次接觸到愛因斯坦的工作,他不僅掌握了,而且獨立擴展了愛因斯坦關於牛頓運動定律的觀點,給母親寫下一篇關於愛因斯坦相對論的文稿。
Turing上的是旨在為英國培養帝國的管理者的公立學校。因為Turing對科學的興趣和個人習慣,他在學校成了另類。在學校裏,他和同學Christopher Morcom,兩個同對科學和技術感興趣的孩子成了好朋友。Chris比Turing大14個月,他高大,英俊,魅力初綻,是一個善良正直的孩子。電影中,在學校裏少年Turing受到同學的暴力欺負之後,Chris把他解救出來,有了下麵的對話,
Turing:“他們打我是因為我比他們更聰明。”
Chris:“不,他們打你是因為你是另類”。
Turing:“媽媽說我是個怪孩子。”
Chris:“她是對的。但你知道嗎,有時候,正是那些沒有人想象能成就任何事情的人恰恰做出沒有人想象到的事。”
這句話陪伴了Turing一生,電影中三次由不同的人說到。
Chris比Turing各方麵要發展得更快一些。每當Turing對某個科學技術問題感興趣,取得一些成績和進步時,總發現Chris做得更好。Chris並沒有因為自己發展更快而自大於Turing,而是把所知與Turing交流。
電影中Turing是這樣接觸到密碼學的。在校園裏樹下的草地上,兩個美少年相依而坐,Chris在讀著一本書,Turing在紙上做著拚詞遊戲(crossword puzzle),
Turing:“你在讀什麽書?”
Chris:“關於密碼學的。”
Turing:“好比秘密消息?”
Chris:“不是秘密的。這正是它精妙之處。這種消息任何人都能看到但卻不懂意思,除非你有密鑰。”
Turing:“那和說話有什麽不同?”
Chris:“說話?”
Turing:“當人們之間說話,他們從來不說真實的意思。他們說些其他的。而你卻應該懂。隻是我從來不懂。那(密碼)和這(說話)有什麽不同?”
Chris:“我有種奇怪的感覺,你在這上(密碼學)會很行的。” 說著把書遞給Turing。
入情入景,設身處地,當一個少年對科學產生了興趣,有一個共享同樣興趣的優秀孩子在他身旁,兩人悉心交流,互相鼓勵欣賞,共同鑽研進步,都覺得在一起渡過了美好的時光。這種友誼怎能不讓Turing珍視和永久思念!
也不知是這種美好的友誼引發Turing發展了他的性取向,還是DNA注定了他尋找和愉悅於和男孩子的這種友誼和感情。
不幸的是,Chris病逝了。Turing失去了思想伴侶的物理肉體,但Turing的思想伴侶,追求的目標,內心的夢想,作為專業道路的楷模,從來沒有離開過Chris。Chris在病逝前,就考入了劍橋,Turing也步其後,考入了劍橋。
(資料:Turing在Chris去世之後,和Chris的媽媽保持通信。電影中上麵這個場景,就是在Turing當年的學校裏拍攝的,Chris就埋葬在那裏。)
Universal Turing Machine 圖靈機
20世紀有三大開創性/顛覆性的科學思想:相對論 (愛因斯坦Einstein),不確定原理 (海森伯格Haisenberg)和不完全定理(哥德爾Godel) 。(狹義)相對論揭示了時間空間不是各自獨立而是一個稱為時空(spacetime)的整體,在時空中,光速為速度極限,運動的表走得慢,運動的棍子變得更短;(廣義)相對論揭示了物質和時空之間的關係:物質告訴時空如何曲折,時空告訴物質如何運動。不確定原理說的是不能同時準確測出基本粒子的位置 (position) 和動量 (momentum),測出準確動量就測不出準確位置,測出準確位置就測不出準確動量。不完全定理說的是一個理論係統不能同時一致和完備,如果完備其中必有矛盾即不一致,如果一致即不存在矛盾就不完備即有缺失。
其中哥德爾的不完全定理是解決/回答了數學家希爾伯特(David Hilbert)1928年提出的三個問題(即完備問題(completeness problem),一致問題(consistency problem)和決定問題(decision problem))的前兩個。這三個問題是希爾伯特從他的23個希爾伯特難題中的第二和第十兩個問題中重新明確提煉出來的。希爾伯特自己猜想這三個問題的答案都是肯定的。哥德爾證明了對前兩個問題的答案都是否定的。
Turing解決了第三個即決定問題:給你一個任意數學語句 (例如: 128可否被16整除?),是否存在一個可執行過程 (紙麵的、機器的都可以),決定該數學語句的真偽。決定問題的答案是否定的,即並非對於任意一個數學語句,都存在一個能決定該語句真偽的可執行過程。
他解決該問題的方法就是找出了一種數學語句,證明不存在一個可執行過程能決定該語句的真偽,或者說,他發明了一個能計算任何數學過程的理論機器,用這個機器證明了能計算任何數學過程的機器也不能證明該語句的真偽。這個理論機器後來被稱為Universal Turing Machine (簡稱為Turing Machine或圖靈機)。Turing機為而後馮諾依曼(von Neumann)建造的電子計算機奠定了理論基礎,並成為理論計算機科學的基礎之一。
用機器來證明定理、邏輯推理、數字運算乃至模仿人類智能便由此開始了。當然破譯密碼是這一開創性工作的一個分支,Turing機也為爾後用機器破譯密碼指出了新的技術路線。
在某種意義上,Turing在計算機科學的位置有點像牛頓在物理學中的位置:牛頓聯合發明了微積分這一數學工具,建立了物理世界的模型,三定律和萬有引力;而Turing發明了Univeral Turing Machine,作為計算的模型,Turing機可以用來證明計算複雜性。
納粹德國的Enigma機
1939年,納粹德國入侵波蘭後,引發英國法國對德進入戰爭狀態。當時的德國,科學技術、工業和國力都處在前所未有的高度-民心追求複興崛起,為一戰雪恥,不受外強欺負,又在國家社會主義 (即納粹)理念的指導之下,拿下了除蘇聯之外的大部分歐洲大陸國家,掌握著世界上最富饒的自然和人文資源,形成巨大的力量優勢。
我曾經問過英國朋友,德英兩國種族很近,曆史上有血緣關係,為什麽德國不和英國在二戰中結盟呢?朋友 (對戰史有濃厚興趣,又頗知內幕) 告訴我,希特勒最早一直想和英國結盟,原因是兩國近文近種,但英國沒有答應。於是希特勒對此非常惱火或曰惱羞成怒,誓把英國拿下,讓邱吉爾這隻“臭豬”成為階下囚。
德國一直在全球把英國的勢力趕走,對英倫島狂轟濫炸,又積極準備跨海攻占英國本土,同時對英國賴以生存的大西洋和印度洋航線進行封鎖,如同電影中所交待的,在開戰初始階段,向英國供應物資和糧食的船隊,被德國的狼群潛艇擊沉的數目擋不住地攀升,水手、糧食、物資和船損失不計其數。英國老百姓在被空襲後的廢墟裏尋找垃圾充饑,有些地方到了樹皮草根都吃淨的程度。
除了在科學、技術和工業方麵強大之外,德國在軍事上的創新和領先絲毫不遜色。“閃擊戰”,聽名字好像和孫子的“出其不意,攻其無備”如出一轍,但德國卻依托當時最先進的陸海空軍裝備,把這一古代軍事思想創新提升到前所未有的高度,精確化到當時現代戰爭的所有細節。貫穿軍事行動中最為隱密和作為神經中樞的一環則是不能為他人所知的協同和通信,通信又以保密為必要條件。由德國發明家加企業主Arthur Sherbius發明的Enigma密碼機作為德軍通信加解密的工具,保障了德軍在戰場上的突然、隱密和協同所形成的優勢。
Enigma是代表著當時最高水平的令人聞風放棄的加密解密機。Enigma機出現時,美英法俄包括德國人自己沒有一個認為可以破解。
Enigma機由 (1) 不少於3個加密輪 (scrambler),(2) 26孔插線板 (plugboard)和10個雙頭插線 (double-end plugs),(3) 26字母輸入鍵盤 (input keyboard),(4) 26個字母顯示燈麵板 (display panel) 和 (5) 帶有三個加密輪位置 (scrambler position)的機芯組成。
Enigma的設置(即密鑰 key)則由 (1) 加密輪選擇(choice of scrambler, 如果隻有三個加密輪則這條不起作用),(2) 加密輪位置 (scrambler position),(3) 加密輪朝向 (scrambler orientation),(4) 插線交換對子組成 (plugboard switch)。
德軍的加密體係中,規定密鑰分成兩部分:每天更換一次的每天密鑰 (day key) 和針對每封電文每文密鑰 (message key),每天密鑰由加密輪選擇,加密輪位置和10個插線交換對組成,每文密鑰則是加密輪朝向。每個月發一次下個月的密碼本。
通信的發送和接收雙方持有同樣的本月密碼本。每天半夜12點更換每天密鑰,即選擇加密輪(如果配置超過三個加密輪),在Enigma機上按照加密輪位置安裝加密輪,按照10個插線交換對連接相應字母孔;然後設置第一個電文的每文密鑰,即加密輪朝向。
通信時(每天密鑰已經設置好了),發送方每份電文之前先選擇設置每文密鑰,即Enigma上的加密輪朝向,然後在Enigma機器輸入鍵盤先輸入兩遍每文密鑰,然後輸入明文,每輸入一個字母顯示麵板上的字母燈點亮,對應的亮燈那個字母就是密文字母,當即抄下亮燈的字母序列,得到全部密文,最後把密文用電報機(或其他任何通信設備)發出。當接收方報務員抄下密文後,密文的前6個字母就是該電文的每文密鑰兩遍重複。接收方譯電員(很多時候報務員和譯電員由一個人擔任)首先在設置好的Enigma機上鍵入6個字母,顯示麵板上亮燈對應的字母序列即為重複一次的每文密鑰,比如XAGXAG,然後譯電員設置Enigma機器上的三個加密輪朝向為XAG,接下來即可鍵入密文,同時抄下顯示麵板上的亮燈字母序列,就得到明文了。
例如:Enigma機帶有5個加密輪編號為1、2、3、4、5,1942年5月密鑰本,5月20日每天密鑰為:加密輪位置:351,插線交換對:Q/K, A/X, C/R, M/G, T/E, Y/V, I/L, O/B, U/W, F/N.
通信雙方在5月20日0點按照當日密鑰設置Enigma。發送方發信時,譯電員選擇電文的每文密鑰即設置加密輪朝向,比如XAG,然後在Enigma上鍵入明文: ATTACKATSIXDAWN, 抄下亮燈的字母序列即得到密文例如:BFWAXQZUOPILJKG,注意密文的字母數和明文一樣多,但是同一個明文字母對應不同的密文字母。然後再用每天密鑰加密XAG,例如加密後的每文密鑰為GQKTYX。報務員形成密文:GQKTYXBFWAXQZUOPILJKG。注意前6個字母是該密文的每文密鑰重複一遍。接收方抄到密文後,首先取出前6個密文字母GQKTYX,用每天密鑰解密為XAGXAG,然後設置他的Enigma機上的加密輪朝向為XAG,接下來鍵入密文BFWAXQZUOPILJKG,抄下顯示麵板上的亮燈序列得到明文ATTACKATSIXDAWN,即“淩晨6點進攻”。
假設英軍拿到一個Enigma機和當月的密碼本,又通過電台接收到德軍的密文,那英軍就會像德軍的接收方一樣看懂每個收到的電報。
假設英軍有一個Enigma機,但是沒有密碼本,怎樣才能得到當天的密鑰呢,用笨辦法就要試超過159,000,000,000,000,000,000這麽多可能的密鑰組合。
假設英軍沒有Enigma機也沒有密碼本,想讀懂德軍密文,就更遙遙無期了。
難怪二戰前當德軍使用Enigma機時,英法美俄就放棄了自己破譯的努力。他們主要是法國仍然通過情報渠道獲得德國Enigma機,交由波蘭譯電局的破譯組進行。
Turing加入破譯組
在戰爭形勢向著德軍節節勝利,英軍處於劣勢甚至頹勢的時候,Turing來到了位於倫敦郊外布萊奇利公園(Bletchley Park)的英國政府譯電和密碼學校(Government Code and Cypher School,GC&CS)接受負責人Deniston海軍中校的麵試。這是一段精彩的彰顯Turing個性和天才的對白。
Deniston看見Turing坐在他的辦公室裏,顯然接受麵試者應該是在辦公室外麵等待,更不用說在這個絕密級別負責人的辦公室了。
Deniston: 誰叫你在這的?
Turing: 那女士讓我等著。
Deniston: 在我辦公室?她還讓你一邊等著一邊給自己來杯茶?
Turing: 她沒這麽說。
Deniston: 我猜她也沒說這是個笑話。(指Turing不明白自己不懂規矩)
Turing: 她應該這麽說嗎?
Deniston: (天啊) 你是哪位?(很少見過這麽不懂事的)
Turing: Alan Turing。
Deniston: 啊,Turing,數學家。
Turing: 對。
Deniston: 我怎麽就猜對了呢。
Turing: 你沒猜,你看了那張紙上寫的。(噎人啊)
Deniston: 劍橋大學,國王學院,說你是數學係的什麽神童。
Turing: 我不確定能這麽評價自己。你是…?
Deniston: Turing先生,你多大年紀?(覺得沒必要告訴Turing自己是誰)
Turing: 27。
Deniston: 你多大年紀當上劍橋研究員的?
Turing: 24。
Deniston: 你多大年紀發表這篇我連題目都看不懂的文章?
Turing: 23。
Deniston: 你不認為你夠格是個神童嗎?
Turing: 哪裏,牛頓22歲發現二項式定理,愛因斯坦26歲寫了四篇改變世界的文章,而我,才跟他們差不多。(口氣太大了吧)
Deniston: 天啊,當真?
Turing: 你不想聽我開個玩笑?
Deniston: 這玩笑也太大了吧!
Turing: 在這兒上班用不著那麽高的要求吧。你是…?
Deniston: 皇家海軍中校Deniston。好啦,Turing先生,我就費勁(麵試你)吧。你為什麽想為英王陛下的政府工作?
Turing: 我並不真想。
Deniston: 你是個該死的和平主義者嗎,Turing?(國家存亡關鍵時刻,你想什麽呢!)
Turing: 我對暴力不發表看法。
Deniston: 但你知不知道離這600英裏有個叫希特勒的壞蛋想用暴政吞並歐洲?
Turing: 政治不是我的專業。
Deniston: (這家夥覺悟也太低了吧,什麽神童!)我相信你剛剛創造了英國軍史上最短麵試的記錄。Turing: 媽媽說我有時候確實招人煩,要不因為我是全世界最棒的數學家之一…
Deniston: 全世界?
Turing: 那當然。
Deniston: 你知道有多少人來這兒麵試都沒通過?
Turing: 不知道。
Deniston: 那就對了,因為這是個絕密的項目。既然是朋友,我就告訴你,上個星期,我剛刷掉了一位我們這個偉大國家的頂尖語言學家,德文比布萊希特還好。(德國戲劇學大師)
Turing: 我不會德語。
Deniston: 什麽?
Turing: 我不會,德語。
Deniston: 那你還怎麽破譯德國通信,如果你,我都糊塗了,連德文都不會?
Turing: 可我字謎遊戲玩得很棒。
Deniston: (決定結束麵試)Margret!
Turing: 德國密碼就是個字謎。遊戲,跟別的遊戲差不多。
Deniston: (趕緊讓他走人)Margret! 你在哪呢!?
Turing: 我是個遊戲高手。字謎高手。我想這是個全世界最難的字謎。
Deniston: Margret!皇天後土,這玩笑開大了!
Turing: Deniston中校,我開玩笑不行。(把Deniston要氣笑了)
Deniston: 教授,回劍橋一路順風!(給他開門)
Turing: Enigma。
這個詞使Deniston嚴肅起來。他揮手讓Margret先出去等。
Turing: 就是你們布萊奇利的絕密項目。你們在想法破解德國Enigma機。
Deniston: 什麽讓你想到這事的?
Turing: 那是有史以來最好的加密設備,德國人所有重要通信都用它。如果盟軍破解了Enigma,戰爭就真的變短了。當然你們在鼓搗它。但是你們連門還沒找到。要不你們也不會從大學裏招密碼專家了。你們需要我比我需要你們多。(老實說,要不我很容易就可以給德國人工作,不過他們那沒有這麽好的難題,我們的數學家沒他們的行,除了一個重大例外(指Turing自己)。(注:劇本裏有,但影片中沒采用))我喜歡解決難題,中校。Enigma是世界上最難的難題。
Deniston: Enigma不是難,而是不可能。美國人,法國人,俄國人,德國人,都認為Enigma不可破解。
Turing: 好。那就讓我試試,我們就知道是不是了。
破譯路線
在Enigma出現以前,破譯密碼團隊主要由語言學家、古語言學家加之統計學家組成。這一切都被Enigma的前所未有的創新所顛覆。Enigma把對破譯的要求推到了一個前所未有的高度。這個高度在哪裏,問題的性質是什麽?呼喚天才!
Turing看到:Enigma的一個關鍵和領先的特征是:它的天文數字的密鑰數目使得在要求的時間內完全用人工破譯成為不可能。他認為:認為破解Enigma機是一個數學難題,由超大數目的簡單邏輯和數學推演組成(今天我們把這個現象叫做計算複雜性(computational complexity)問題)。
別忘了圖靈機Universal Turing Machine. 這個機器已經在理論上被證明可以計算任何數學過程,而破譯密碼是數學過程的一種。從道理上講,這個機器的某種版本可以用來破譯密碼。
Turing提出了用機器打敗Enigma機的破譯路線。他的建議被時任破譯組長曾獲兩次全英國際象棋冠軍的Hugh Alexander否決。Turing就越級找到Deniston,在被後者否決並要他服從命令之後,Turing幹脆直接給丘吉爾首相寫信並攔住軍情6處(MI6)負責情報的Mengzies讓他直接交信給首相。信的內容就是建議要走他的破譯路線,申請10萬英鎊建造破譯機器。1939年的用於投資項目的10萬英鎊相當於2013年的2,676萬英鎊即4,120萬美元。
鬼使神差,丘吉爾竟然批準了Turing的建議,更進一步,還任命Turing為破譯組長。雖然不難猜想軍情6處的Mengzies的建議對丘吉爾的決策起到了作用,但還是讚歎丘吉爾的穿透性的洞察力。
Turing—Menzies—丘吉爾這條線一發而提千鈞,將力挽行將戰敗的狂瀾,幫助拯救英國,從而幫助拯救世界反法西斯戰爭。
(史料:最先破解最初版本Enigma機的是波蘭密碼局的以Rejewski為首的破譯組。在波蘭被德國占領後,他們輾轉逃到英國,向英國部門提供了他們的成果,為破譯Enigma做出了重大的不可磨滅的貢獻。但此時英國麵臨的是比最初版本複雜得多的Enigma機,沿用波蘭專家的方法已經不能解決問題了。)
用人路線
Turing臨危受命,在技術路線確定,資金落實之後,第一個關鍵就是用人問題。用什麽樣的人構成破譯組,這首先是由麵臨問題的性質決定的。Enigma機的創新把破譯由此前傳統的語言學和統計問題升級為數學遊戲(當時還沒有“離散數學”這個說法)和計算複雜性問題。
Turing在接受任命的現場會上當即解雇了兩位語言學家。提出了要用數學好的字謎遊戲高手組建破譯團隊的“組織路線”。當然這個提議得到了軍情6處的Mengzies信任和支持。
Turing設計了新的招聘辦法,字謎遊戲。在一次以字謎遊戲為試題的招聘考試中,他招到了Joan Clarke和Jack Good。
(注:對劇組導演和主創人員的訪談中,導演談到,電影中Turing使用的招聘字謎遊戲,就是當年真實Turing招聘時使用的那個遊戲,劇組導演和演員們花了5天時間隻解出一個單詞。)
發揮團隊智慧
下一個關鍵問題就是設計和製造出命名為Christopher的破譯機。這裏,Turing必須發揮集體的智慧,如果不會,必須學會。而電影中的Turing在社交方麵顯得笨拙和尷尬,與人關係顯得僵硬和直率(距離現今國人講究的圓融通順就“差到不知道哪裏去了”)。Joan在幫助Turing學會發揮團隊智慧方麵起到了旁人起不到的作用,她引導Turing意識到並學會為團隊所接受,成為大家認可的領導者。
一次午餐中,Joan和Turing坐在一起,看到破譯組其他人走進餐廳,Joan問Turing那是不是你的團隊,Turing不想Joan和團隊打招呼,Joan還是和團隊成員打了招呼。這當即招來了英俊瀟灑的破譯組前任組長Hugh Alexander,殷勤地過來招呼認識Joan。Hugh邀請Joan回頭過來一起喝一杯然後走開。
Turing: 他喜歡你。
Joan: 是。
Turing: 你使得他喜歡你。
Joan: 是。
Turing: 為什麽?
Joan: 因為我是女的,在做男的做的工作,我可沒有那個奢侈招人恨。
Turing在聽。
Joan: 艾倫,不管你有多聰明,Enigma更聰明。如果你真想打敗它-如果你真想破解你的難題,你就需要所有你能得到的幫助。而如果他們不喜歡你,他們就不會幫助你。
Turing思考著。下句話對於Turing很難大聲說出口。
Turing: 我怎麽才能使他們喜歡我呢? (劇本原有,電影中未采用)
Turing就去給大家買了蘋果。在那個被封鎖的困難年代,一個蘋果有多貴可想而之。他告訴大家,這是Joan讓我買給大家的,並以他自己的方式,給大家講了個笑話。
大家從Turing笨拙尷尬的主動友好表示中,看到了他想要大家幫助的良苦用心,同時在對Turing機的了解中,逐漸認識到Turing的破譯路線是最有成功希望的,隻有齊心協力,幫助國家贏得戰爭,才是團體的唯一出路。此事高於一切個人之間的喜惡。團隊群策群力,自然加速了破譯機Christopher的製造和破譯體係的建設。
這種團結經曆了考驗。當Deniston海軍中校和倫敦總部的人經過一段時間看不到Christopher破譯任何密碼,就打算關停Christopher破譯機項目,解雇Turing。Deniston和總部代表帶著兵到了機房,宣布了關停Christopher破譯機項目,解雇Turing。這是破譯組團隊的三位主力Hugh Alexander,John Cairncross 和和Peter Hilton走了機房。
Hugh: 上帝保佑,如果你要解雇艾倫,那就也解雇我好了。
Deniston: (不相信)你知道你在說什麽嗎?
Hugh: 相信我,我比誰都更不願意說這些,但艾倫是對的。他的機器能解決問題,至少是我們最好的機會。
Deniston: 你一定是在開玩笑!
John: 如果你解雇他們倆,也解雇我吧。
Peter: 還有我。
Hugh: 我們是不列顛頂尖的破譯頭腦,你打算把我們都解雇嗎?
Deniston看看總部代表,代表點頭同意。
Hugh: 至少再給我們多點時間。多6個月。如果到時還不出結果,我們就回頭按老辦法來。
Deniston: 一個月。上帝幫忙,不行就全走人!
(此處難免戲劇化了一些。根據Turing的同事回憶,Turing生氣勃勃,多才多藝,德智體全麵發展,善於合作,不怎麽掩飾他對男性的喜愛,他跑馬拉鬆比當時英國冠軍慢11分鍾,他有時候從布萊奇利公園跑60多英裏到倫敦。資料:現實中的破譯機真名是Bombe。)
找到Crib,找到密鑰
路線對頭,破譯組齊心協力,又得到總部和GC&CS負責人Deniston海軍中校的日期寬限,接下來的就是關鍵的技術問題了。畢竟破譯機Christopher是機電設備,不像今天的全電子計算機,在天文數量級的可能性麵前,雖然比人腦快和可靠到不知哪裏去了,但要算出一個每天密鑰,就算Christopher日夜兼程,還是不出結果。難題中的難題:怎樣成百億級地縮小搜索範圍,使得破譯機Christopher在可接受的時間內產生密鑰並停機?
一個crib是一段明文比如weather和密文裏麵的一個字母串比如pljtysv的對應關係。crib越長,顯示給破譯員的提示就越多,破譯機搜索的範圍就越小,出結果的可能就越大,速度就越快。crib是有經驗的破譯員判斷出來的,判斷出錯也在所難免。
踏破鐵鞋有覓處,得來要費真功夫。在碌碌無功的一天入夜後,破譯組一起去咖啡廳。大家壓力重重,一個月的期限將至,Christopher仍然沒出結果。桌旁Hugh Alexander注意到Joan (當時已經和Turing訂婚了)和一位漂亮活潑的女同事坐在一起,就要Turing幫助介紹。
其實熟練的Hugh早就和Helen眉來眼去,他隻要Turing站在旁邊充充樣子,就平滑地與Helen認識上了。Helen對Hugh調笑道因為截收電文的工作,她已經從發報的節奏熟悉了德方的一位報務員,甚至還有點喜歡上了。Helen歎息那位德方報務員已經有女朋友了,意思是逗著Hugh追她。坐在遠處沉思在破譯路徑中的Turing此時雖然其他什麽也聽不到,卻對任何有關破譯的事情極度敏感。
Turing: (大喊一聲) Helen!
Helen: Yes,艾倫。
Turing: 為什麽你說他 (德方報務員) 有女朋友了?
Helen: 就是開個玩笑。
Turing: 不,告訴我為什麽。
Helen: 因為他發的電報開頭總是用同樣的五個字母。
Turing: 哪五個字母?
Helen: C-I-L-L-Y。
Turing: 德國人規定每份電文開頭要用不同的字母。
Helen: 這人卻不,所以我知道這一定是他的親愛的。
Hugh: 愛情驅使男人做怪事,不管他...
Turing: 這回愛情卻使德國人輸掉了該死的戰爭!
說罷奪路而出,撞翻了Hugh和Helen的啤酒,向工作間狂奔,同事們馬上猜到Turing有了突破,追著Turing狂奔到工作間。
Turing從和Helen的對話中悟到的是:每天早晨德軍在6點鍾發布一個氣象電文,該電文的第一個單詞是veter(即德文weather即氣象),那個德軍報務員所發電文的前五個字母是CILLY,就和veter對應上了,找到了一個crib。再接著,每個電文最後一定喊一聲:Heil Hitler,即萬歲希特勒,這又和最後10個密文字母對應上了,又是一個crib。拿著這兩個cribs,在破譯機上進行相應的設置,就會排除掉難計其數的無效組合,在剩餘的範圍內,破譯機Christopher在人工推理互相協同下,就能在要求的時間內算出每天密鑰。
當破譯組狂奔到工作室的時候,大家就都已經猜到了cribs的事情了。馬上七手八腳,在破譯機Christopher的背板上進行相應的設置,然後啟動運行,喀啦喀啦喀啦… 大家心情激動得無以複加,果然,Christopher停機了,此時麵板上幾個轉輪指針的位置就是每天密鑰!
Turing抄下每天密鑰,全組跟著跑到Enigma工作間,按照每天密鑰設置好Enigma,找到當天早晨第一份密文,Joan讀出密文,Turing鍵入密文,John按照顯示麵板上亮燈順序抄寫下來字母序列,得到了一份完整、清晰的德文明文,Hugh翻譯成德文。
這是一個力挽即倒狂瀾扭轉戰局的關鍵性突破!這意味著英國-盟軍可以讀懂希特勒各級指揮部對外通信上如果不是每一封也是大部分可截獲的密文通信,了解德軍各個層麵的意圖,換句話,理論上,德軍個層麵知道什麽,計劃什麽,隻要一通信,破譯組就會知道什麽。破譯組欣喜若狂!大家擁抱、歡呼、雀躍…
最小行動贏得戰爭,最大行動不被懷疑
然而,這一突破性的進展卻帶來了另一個更加需要突破的難題:怎樣創造性地運用破譯的成果,一直保持“知彼”的優勢?這是一個對Turing和破譯組團隊人性和頂層大局觀的終極檢驗。
在取得第一個突破之後,破譯組日以繼夜,從破解的德軍密電中,很快標識出德軍掌握的英德雙方在大西洋上的艦船位置。Joan發現德軍狼群(U型潛艇)離英國船隊隻有20-30分鍾的距離。破譯組員Peter Hilton驚道他哥哥就在護航軍艦上。大家不約而同想到要把這個消息報告給海軍中校Deniston,皇家海軍馬上馬上會令船隊調整航線,同時皇家空軍戰機會降臨狼群所在海域,挫敗乃至摧毀狼群。一舉幾得,豈不快哉!
出乎大家所料,Turing不僅阻止大家向上級報告,還說“讓那些U艇擊沉船隊”。憤怒的Hugh一拳把Turing打倒在地。在地上,Turing一邊擦著血跡,說出了下麵的話,
“Hugh,你知道為什麽人們喜歡暴力?因為它使人感覺痛快。””“把那些U潛艇從大西洋上打掉是痛快。但有時候我們不能做自己感覺痛快的事情。我們隻能做符合邏輯的事情。”
大家在聽...
“如果我們擊沉那些德國U潛艇,德國人會怎麽想?突然間我們的船隊改變航線,同時一對皇家空軍戰機魔術般降臨在U潛艇水域。德國人會怎麽想?”
Joan接道,“他們會在中午就停止無線電通信。還會在周末之前換掉Enigma的設計。”
二年的破譯成果就會付諸東流,一切從零開始。
在破譯組接受了Turing這一符合戰爭邏輯的做法之後,Turing和Joan不失時機到倫敦會見軍情6處的Menzies。
Turing給出了最優使用破譯成果盡快贏得戰爭勝利的思路:以最小代價贏得戰爭,施最大可行而不引起敵人懷疑。
Turing展開上述思路:開發出一套體係(做法),來決定根據哪些情報展開行動,挫敗哪些進攻,放過哪些機會(即讓德軍成功)。基於統計分析,找到贏得戰爭的最小行動,找到不引起德軍懷疑的最大行動。對於那些英國據以展開行動的情報,軍情6處要想出替代的來源,透露給德軍和自己人,讓德軍從不懷疑Enigma被破解,敗而不知所因。
這是一個突破了個人和小集體得失,從頂層全局著想,契合戰爭邏輯,創造性使用情報,為英國贏得戰爭的最佳方案。
Mengzies不僅全盤接受了Turing和Joan的建議,而且把開發出一套情報使用體係並付諸執行的任務交給了Turing。
電影中提到,根據曆史家的統計,由於Turing領導的工作,戰爭縮短了兩年,避免傷亡1,400萬人。這可能隻是歐洲戰場,如果把亞洲戰場算上,數量很可能翻倍。
在這英國、盟軍、全世界反法西斯力量何去何從,曆史如何書寫的時候,造物主把Turing賜給了英國,而Turing不負神望,以他的超級天才領導破譯組天才團隊幫助英國、盟軍挽狂瀾於即倒。
至善至偉!
True to himself的人性
在布萊奇利公園發現蘇聯間諜之後,Deniston以個人成見判斷Turing是第一個被懷疑對象,當眾搜查了Turing的工作室。
在破譯組成員特別大家自然首領的Hugh Alexander接受了Turing之後,Turing對Hugh告白自己真的不是間諜。Hugh向Turing透露了實情:當英國情報部門發現基地有人向蘇聯提供情報之後,Deniston找到Hugh。Hugh根據該情報的明文和密文,推演出加密該情報的技術是Beale Cipher,密鑰是聖經裏Mathew 7:7的一句話:“Ask and it shall be given to you. Seek and ye shall find.”。Hugh馬上判斷出這個間諜不是Turing,因為Turing不會用那樣簡單的技術,更不用說Hugh了解Turing不是那種人。但Deniston不信,於是就有了當中搜查的經過。
一次偶然的機會,在破譯工作進展順利,Peter仍然對於Turing沒有根據情報救他哥哥心存不滿故意裝灑Turing文件之後,陰錯陽差,Turing在John桌子上發現了一本聖經,這頁處正好顯示出作為密鑰的那句話。是John把情報透露給蘇聯人,人命關天的發現。
螳螂遇蟬,未想黃雀在後。機警的John馬上意識到發生了什麽,不失時機地把Jack支走。精明而又掌握Turing隱私的John威脅道:你要舉報我是蘇聯間諜,我就舉報你是同性戀。你知道他們怎麽整治同性戀,你會失去工作,永遠不能和你的Christopher在一起了。
這個威脅就像懸在Turing頭上的利刃,隨時會不明不白地掉下來毀掉Turing。Turing處在悖論的僵局(paradoxical impasse):欲忠於國家而去舉報蘇聯間諜,他就會被被人舉報是同性戀,從而失去為國家盡忠的機會;如果要保住為國盡忠的機會,就不能讓國家知道自己是性傾向的隱私,就不能舉報損害國家利益的間諜,欲先忠則無善忠,欲善忠必先不忠。
Turing的選擇是邏輯、負責、智慧和痛苦的。在撞見Menzies搜查Joan的住所時,Turing為了澄清Joan告訴了Menzies真正的間諜是John。這才發現軍情局早就知道掌握這個情況,故意安插John到破譯組,以便選擇性地向蘇聯提供情報,以推進蘇聯的協同,贏得戰爭。
Turing馬上意識到他必須對Joan負責。因為想留住Joan幫助破譯Enigma,Turing和Joan訂婚,但自己深陷國家絕密,為國家法律所禁止的個人性向隱私,和間諜案的漩渦,不應讓Joan跟著經曆磨難。於是他向Joan提出解除婚約,先是披露自己是同性戀,見Joan更加堅持,就說自己隻是在乎破解Enigma,用了Joan,現在Enigma已經破解,Joan可以走人了。Joan一氣之下,打了Turing耳光,離開了Turing。Joan後來建立了家庭,過上了滿意的正常人的生活。
(評論指出:Turing實際並沒有涉入任何間諜事件,John也沒有被正式起訴過。這段故事有些戲劇化了。但這戲劇化了情節可能正是反映了Turing真實的True to himself的人性。True to himself Turing扮演者Cumberbatch對Turing人性人品的概括)
模仿遊戲 The Imitation Game
1950年,Turing發表了《Computing Machinery and Intelligence》文章,首次提出人工智能問題“機器能思考嗎?”什麽才算能思考,很難至今也沒有量化的定義即精確的答案。Turing在文章中提出把這個困難問題轉換成一個比較簡單可以操作測量的問題,即Turing Test圖靈測試即Imitation Game模仿遊戲。
Turing Test圖靈測試即Imitation Game模仿遊戲的最簡單版本可以用白話描述如下:一個詢問者,一個回答者,兩個人不見麵隻通過字條傳信,問者提問,答者回答,經過一個問答時間,由問者判斷回答者是人還是機器。如果詢問者判斷對方是人而實際上對方是機器,那麽就可以說在某種程度上這個機器能思考。
人類又何嚐不是隻在某種程度上能思考。
影片中的敘事由Turing Test圖靈測試即Imitation Game模仿遊戲為主線貫穿。
偵探Nock開始懷疑Turing是間諜,後來警士Staehl偵查出Turing並非間諜而是同性戀時,Nock偵探就想搞清為什麽Turing的戰時檔案是空的,他到底戰時幹了什麽,他向警司Smith要求審訊Turing。
Nock: Turing先生,讓我告訴你一個秘密。
Turing: 我對秘密很在行。
Nock: 我在這是來幫助你的。
Turing: (自己被關起來了)很清楚。
Nock: (換方向)機器能思考嗎?
Turing: 你讀了我發表的工作。
Nock: 你怎麽知道?
Turing: 因為我坐在警察局,被控叫一個青年男子撫摸我的陰莖,你卻在這問我機器能否思考。
Nock: 能嗎?機器能像人類那樣思考嗎?
Turing: 大多數人說不能。
Nock: 你不是那大多數。
Turing: 問題是你在問一個愚蠢的問題。
Nock: 是嗎?
Turing: 當然機器不能像人類那樣思考。機器與人類不同,所以,機器以不同方式思考。有意思的問題是,就算機器不能像你那樣思考,就能說它不在思考嗎?我們允許人類有如此多樣。你喜歡草莓。我不喜歡溜冰。你看傷心電影時哭。我對花粉過敏。人有不同的口味,不同的愛好,還不用說我們的大腦工作方式不同,這些意味著什麽?可以說我們之間思考方式不同?如果可以這樣說人與人之間,為什麽不可以對用銅和鋼造的機器也這麽說?
Nock: 那個...就你的那個大作?叫什麽來著?
Turing: 模仿遊戲。
Nock: 就是那個... 那是怎麽回事?
Turing: 你想玩嗎?
Nock: 玩?
Turing: 遊戲。就是一個測試,來決定一個東西是機器還是人類。
Nock: 怎麽玩?
Turing: 一個裁判,一個從屬。裁判提問,根據從屬的回答,他來決定:跟他談話的是誰?跟他談話的是什麽?你隻管問我問題。
Nock: 你在戰時做了什麽?
Turing: 我在無線電工廠工作。
Nock: 你到底在那做什麽?
Turing: (這個偵探還挺聰明)你的注意力集中了嗎?
偵探接下來聽到的就是我們在電影中看到的在戰時Turing和同事們的豐功偉績...
Nock: 令人…難以置信。
Turing: 這就是模仿遊戲。
Nock: 我不知道怎麽辦了。
Turing: 現在,偵探,你來作裁判。按照遊戲規則。我回答了你的問題。你知道了我的事情。這就是遊戲的要點。我們都在裝成是某種東西,模仿某種東西,模仿某個人。我們不多不少正是我們能使別人相信我們是的那個東西或人。那麽,告訴我。我是什麽,是機器?還是人?我是戰爭英雄?還是罪犯?
Nock: 我無法裁判。
Turing: 那麽你根本幫不了我。
如果沒有你…, 正是由於你…,因為你不是
Turing最終被排除間諜嫌疑,但根據當時英國法律,Turing被定為嚴重猥褻罪(gross indecency)。
Turing被判決選擇二者之一:或進監獄,或接受化學閹割即雌性荷爾蒙注射。Turing選了後者。沒人知道經過那種注射後他承受的痛苦。
Joan在報紙上看到Turing的消息後,來Turing家裏看他。注射毀了Turing,家裏淩亂,Turing的全身發抖,手不能像正常人那樣拿東西,甚至也不能玩字謎遊戲了,他原先可是擁有一個馬拉鬆運動員級別的身體啊。機器Christopher正在建造和調試中,他在變得日益聰明,但Turing肯定不能像正常時那樣繼續給他注入智能了。
一提到他不能繼續Christopher的工作,Turing就止不住哭泣起來,Joan安慰Turing,Turing看到了Joan帶的結婚戒指。
Turing: 這比我給你做的那個漂亮多了。
Joan: (知道那個Turing永遠離去了)
Turing: 你有了你想要的,不是嗎?丈夫,正常的生活。
Joan: (看著Christopher)但是沒有正常人可以做到那些。
今天早晨,我搭火車,經過了一個城市,如果沒有你,它已經不存在了。
我從一個人那裏買了車票,如果沒有你,那人可能已經死了。
我在工作時,讀到一整個科學領域的探索,它的存在正是由於你。
你希望你是個正常人。可我向你保證我希望你不是。
這個世界在變得無限美好正是因為你不是。
Turing: 你真的這麽想嗎?
了解了Turing事跡的人很難不會這麽想。
盟軍在歐洲的勝利對於中國的影響
盟軍在歐洲戰場的勝利,使得美國、英國和蘇聯能否騰出手來幫助以中國為主的亞洲反法西斯國家贏得本國戰場上戰爭的勝利。
ACM Turing Award 美國計算機器協會圖靈獎
1966年,美國計算機器協會Association for Computing Machinery成立A. M. Turing Award圖靈獎。該協會網站上如下介紹該獎項:
A. M. Turing Award圖靈獎,有時候被稱為計算界的諾貝爾獎,為紀念英國數學家和計算機科學家Alan Mathison Turing 艾倫 馬迪遜 圖靈(1912-1954) 而命名。他對計算機體係結構、算法、計算的形式化和人工智能做出了根本性的貢獻。在第二次世界大戰中,他在英國破譯密碼工作中起到關鍵的作用。
英國政府道歉,女王追認赦免
1954年,Turing死於氰化物中毒,時年41歲。警方報告結論是死於吃了帶有氰化物的毒蘋果,為自殺。
2009年,由計算機科學家John Graham-Cumming發起的在英國政府網站請願給予二戰的密碼破譯家Turing追認赦免,在請願關閉時收到37,405個支持簽名。
在得到這個消息後,在1941-1945年間在布萊奇利公園作為破譯專家,曾目睹Turing領導破譯工作改變戰爭軌跡,時任上尉的Jerry Roberts接受BBC采訪時說,“你必須理解Turing工作的作用。戰爭初期,1939年,他已經破譯了德國空軍和德國陸軍使用的Enigma機,但他還沒能破譯海軍的Enigma機。在1940-41年間,德國U潛艇在到處擊沉我們的食物運輸船和軍火運輸船,根本沒法阻止,直到Turing想法破解了U潛艇使用的海軍Enigma形勢才改變。我們知道了U潛艇在大西洋的位置於是我們的船隊才能避開它們。如果這(破譯德國海軍Enigma)沒有發生,我們可能,甚至極可能,由於饑餓導致輸掉戰爭。”
當被問道是否值得把Turing一個人挑選出來給予特殊待遇時,Jerry Roberts說:“是的,沒有他,我和許多人都確信,我們會已經輸掉了戰爭。”
當被問道是否支持數以千計的為Turing赦免的請願簽名時,Jerry Roberts說:“我當然支持。他應該得到認可。我不知道有沒有這樣一種榮譽,追認的爵士。他應該得到這樣的榮譽。我們虧欠他太多。你能想象在納粹統治之下的生活會是怎麽樣的嗎?…… 這不是赦免的問題。是給他高級榮譽的問題。要知道,在18世紀時,John Churchill (他的軍事和外交才幹使英國第一次成為主要強國) 應該得到國家級榮譽時,他被授予馬寶路公爵 (Duke of Marlborough) 爵位,一個世紀之後,威靈頓 (最終打敗拿破侖) 被授予威靈頓公爵 (Duke of Wellington) 爵位。……應該把他提高到應有的高度,理所應當。”
2009年9月10日,英國首相Gordon Brown正式發文:“代表英國政府和因為Turing的工作而自由活著的人,我自豪地宣布:對不起,你應該得到如此之更多。”…“沒有他的傑出貢獻,第二次世界大戰的曆史就很可能不同。他真正是我們可以指出的一位個人,他的突出貢獻改變了戰爭的潮流。我們虧欠他的感激使他受到的不人道對待更為令人震驚。”
2012年,英國上議院開始提案,為Turing追認赦免,承認Turing為國家的重大貢獻和科學成就。2013年12月24日,英國女王簽署了對Turing的赦免令。2014年8月,英國女王正式宣布了對Turing的赦免。
聽到這個消息,男爵Trumpington女士,當年Turing在布萊奇利公園的同事,告訴BBC:沒有他,我們可能已經輸掉了戰爭。我們的潛艇平均每走幾海裏就被擊沉一艘。我們可能敗於饑荒。
時任司法部長的Grayling說:“在英國的戰爭英雄名單中,丘吉爾,蒙哥馬利,Wallis驕傲地矗立著。Alan Turing應該和他們在一起。但是在戰後,他不僅遠沒有作為英雄受到尊敬,反而在不光彩中結束了自己的生命。他被帶上法庭受到侮辱,他的罪名是同性戀。我一直認為這樣一位為我們全體貢獻了如此之大的人受到如此令人發指的對待是我們國家曆史上遭受的最大的損害之一。我很驕傲女王同意了我的請求,給予Turing完全的追認赦免,從現在起對他的記憶沒有汙點。Alan Turing是英國仍然保持為自由國家的一個關鍵原因。我們應該紀念和慶祝他,使他洗清由於不公正而造成的汙點,這才是對的。
電影中扮演Deniston海軍中校的Charles Dance接受采訪時說:應該是政府和女王請求Turing的家人赦免她/他們。這代表了許多英國人的想法。
讓我用一個簡單的Turing測試結束:如果你站在二戰中反法西斯一方,如果你享受到計算機給你生活帶來的改變,當了解了Turing以後,是否至少要說一聲謝謝?
致謝
幾位朋友對初稿提出了很好的建議,使文章的條理,表現,物理和計算機科學技術事實和描寫都有提高,有些可能還沒有達到各位建議的那樣。按照建議順序,對在加州的周逸群女士,曹延傑先生,歐陽方先生,北京的張蘇寧先生致謝。
我沒有列出參考資料,考慮文章的性質不是論文。可以放心的是基本上所有要點都有據可查。
文章的問題責任在我。