自从接触计算机起, 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以后,是否至少要说一声谢谢?
致谢
几位朋友对初稿提出了很好的建议,使文章的条理,表现,物理和计算机科学技术事实和描写都有提高,有些可能还没有达到各位建议的那样。按照建议顺序,对在加州的周逸群女士,曹延傑先生,欧阳方先生,北京的张苏宁先生致谢。
我没有列出参考资料,考虑文章的性质不是论文。可以放心的是基本上所有要点都有据可查。
文章的问题责任在我。