1895年, 英国人朱利叶斯·图灵参加了一次竞争激烈的公务员考试,笔试排名第7 。
在复试中,由于对印度各项法律,英属印度历史非常熟悉,他一路过关斩将,成功上位。
一年后,他成了一名光荣的印度公务员。
10年后,朱利叶斯·图灵在轮船上邂逅了艾赛儿·斯托尼,坠入爱河。
1911年,艾赛儿怀了一个孩子,但是不想让他在印度出生,于是回到英国生下了这个孩子
朱利叶斯和艾赛儿绝对不会想到,他们的孩子将会成为传奇人物:杰出的数学家,计算机科学之父。
这个孩子就是阿兰·图灵。
少年的图灵天资聪慧。
7岁和父母一起采蜂蜜时, 就通过观察蜜蜂的飞行路线,确定蜂巢的方位。
11岁发明自己的钢笔。
12岁就自己做实验,用海藻提取碘。
15岁的时候,就独立地得出了反正切函数的无穷级数。
但是和很多天才一样,图灵性格孤僻,沉默寡言,不合群。
他不断受到同学的欺负,甚至老师的挖苦。
图灵甚至被一群喜欢做恶作剧的男孩子用钉子钉在了地板下面,当无力的敲打得不到任何回应时,他得出了一句金句:
“暴力是来源于人的快感”
对于一个敏感而无辜的男孩来说,公学简直就是一个地狱。
每当图灵有难,克里斯托弗·摩孔总会帮忙, 这是图灵在公学唯一真正的朋友。
克里斯托弗甚至比图灵更聪明,也对科学很有兴趣, 他们常一起讨论最新的科学新闻,一起做实验。
这段友谊不断点燃图灵的求知欲,而且更重要的,也在他心灵勾起一份非常深刻的情感。
克里斯托弗比图灵更有天分, 他以优异的成绩获得了剑桥大学三一学院的奖学金。
三一学院是剑桥大学最著名的学院, 牛顿、培根、麦克斯韦都是曾经的校友。
但是阿兰却失败了,这是个沉重的打击。
更沉重的打击很快到来,1930年2月13日,克里斯托弗·摩孔突然死于牛结核病。
失去他唯一真正爱过的人,几乎让图灵崩溃。他承受摩孔之死的方法是:专注于科学研究,努力实现他朋友的潜能。
他跟克里斯托弗的母亲要了一张相片,相片寄达后,他回信致谢:“他正在我的桌上,鼓励我勤奋研习。”
图灵没有进入三一学院,但是他的第二志愿被满足了,他得到了剑桥大学国王学院的奖学金。
剑桥的象牙塔中,自由的学术氛围让图灵如鱼得水,他的数学天才开始在这里绽放。
每个清晨和黄昏,长跑健将图灵习惯一个人沿着河边边跑思考问题,某次长跑到精疲力竭地躺倒在草地,他的灵感一下子迸发了
他兴奋地一跃而起,跑回宿舍写下自己的思路。
1936年,年仅24岁的图灵证明了: 停机问题是一个无法判定的数学问题。
(详情参见:《漫画:我把这个程序搞砸了》)
他写了一篇叫做《论可计算数及其在判定问题上的应用》的论文,交给了自己的导师纽曼。
巧合的是,在大洋彼岸的美国,邱奇提出了一个叫作“λ演算”的模型,也解决了判定问题。
在纽曼的帮助下,图灵前往美国,便决定去普林斯顿找邱奇“理论”,其实不是“理论”,而是读邱奇的博士生。
邱奇很喜欢图灵的想法, 他把图灵假想的机器命名为“图灵机”,并且和他一起证明了图灵机和“λ演算”是等价的。
大部分人都没有意识到,图灵机将会成为未来计算机的理论基础。
除了图灵办公室对面那位大名鼎鼎的教授:冯·诺伊曼。
冯·诺伊曼开朗外向,和孤僻木讷的图灵形成鲜明对比。
大概是在1937年的秋天,图灵首先警觉,德国可能会引发一次战争。
他除了埋头纯粹的数学之外,还抽时间研究了密码学,用继电器了一个二进制的乘法器。
这是一个重要的标志:图灵已经跨过数学与工程、逻辑与物理之间的界限。
1938年,图灵拿到博士学位, 面临着一个重要选择:留美还是回国
图灵带着他的二进制乘法器回到了剑桥国王学院,在数学系做一个一学期才给10英镑的临时教员。
这一年, 图灵经常和朋友去看一部电影《白雪公主和七个小矮人》,他最喜欢的场面,是那个邪恶的巫婆把一个苹果放进沸腾的毒汤:让苹果浸满这汤,渗入沉睡与死亡。
图灵一遍又一遍地反复吟唱这个不祥的征兆。
不久,德国入侵波兰,第二次大战爆发。
数学家图灵应招来到布莱切利镇, 住在一个叫做皇冠客栈的小旅馆,每天骑车5公里去镇中心的布莱切利庄园。
实际上,图灵就在打仗,他和一群数学家,语言学家,密码学家一起,从事着最机密的任务:破解纳粹德国的终极密码机Enigma。
Enigma由键盘、接线板、多个转子、指示灯组成。当密码操作员在键盘上按下一个字母(比如字母A),电流会通过一个可自行改接的接线板,启动一个或者多个转子转动,同时点亮某个字母指示灯(比如字母L),于是字母A被加密成字母L。
哑谜机精巧的设计使得,在下一次按下字母A时,它将被加密成另一个不同的字母(比如字母X)。
更巧妙的是,当且仅当发送端和接收端的哑谜机拥有同样的初始设定(同样的接线板、同样的转子排列、同样的转子初始位置),密码L才可以使用接收端的哑谜机还原成A。而对于不知道初始设定的敌方,他们面对的可能情况多达万亿亿种!
当时,布莱切利庄园从曾经研究过Enigma的波兰数学家那里继承了一种叫“炸弹”(Bombe)的原始解密仪器,每一个“炸弹”模仿一个哑谜机的转子,许多“炸弹”相链接来模拟一种哑谜机的初始设定生成可能的电报。
简而言之,这是一种利用暴力,穷举搜寻答案的算法。
图灵敏锐地发现,只要利用一些简单的事实,例如一个字母的密码不可能是其本身, 一些固定词语(比如“元首”)将高频出现,就能大大改进波兰人的笨法子,来快速寻找最有可能的转子设定。
图灵把穷举法改进成了贪心算法。
图灵把“炸弹” 命名为克里斯托弗,可见他对克里斯托弗的感情。
改进过的“炸弹”大获成功, 每次德国人发出电报后,接收方过几分钟将发一封短电报表示“收到”。
许多时候,电波中还未监测到“收到”电报,图灵的“炸弹”机已经将密码还原成了原文!
图灵和其他科学家在布莱切利庄园的工作显著地缩短了二战的进程。
二战以后,布莱切利庄园大部分资料被销毁,其余视为机密, 所有人都要对工作保密。头号功臣图灵被授予大英帝国勋章, 但是他毫不在乎。
在大洋彼岸,美国人制造了第一台现代计算机ENIAC。
这个30吨的庞然大物虽然有着开创性的意义,但是它的局限性越来越明显:只为专门目的设计,不能储存程序。
在冯·诺伊曼的参与下,一个叫做EDVAC的替代品进入了后续计划。
由于这份草案报告,后来的计算机也被称为冯·诺伊曼结构。
冯·诺伊曼的设计思想,其实就是来源自1936年图灵论文中的图灵机。
此时的英国不甘落后, 英国国家物理实验室邀请图灵,设计一个更加先进的通用计算机:ACE(自动计算引擎)
1945年底,图灵提交了ACE的设计,这是世界上第一个存储程序计算机的详细设计,比冯·诺伊曼的那份草案要详细得多,并且有很多图灵独有的创造。
二进制、存储程序、精简指令集、子程序、远程登录,这些在现代程序员看起来都是司空见惯的概念。
但是请注意,这是在70多年前!现代的计算机和编程语言还不存在!
虽然图灵事无巨细地列出所有图纸和经费计划,可是,国家物理实验室不是战时布莱切利庄园。那时候,别人替他完成了所有的组织和协调,而且得到了丘吉尔的个人支持。
现在有的是拖拉的官僚作风和经济危机,大部分人甚至不相信计算机能造出来。
到了1947年9月,ACE缓慢的进展让图灵非常沮丧,他离开了国家物理实验室, 加入了曼彻斯特大学参与Mark I项目。
1950年,图灵写了一篇论文, 提出了至今广泛使用的的图灵测试。
论文完成不久,图灵是同性恋的事实被警方发现,并且向公众曝光。
这在当时的英国不能被世俗所允许,他被送上法庭受审。
图灵选择了后者,因为这样至少能呆在家里继续做研究。
他被持续注射雌激素长达一年,导致胸部发育,变声,他心理上承受的折磨只有他自己清楚。
1954年6月7日,他在家中咬了一口沾有氰化物的毒苹果,年仅42岁的天才自杀了。
图灵去世后,人类逐渐进入了数字时代,大型机、小型机、PC,互联网、智能手机...... 技术的进步,并没有摆脱对图灵的依赖,相反,我们每个人都工作在一台“图灵机”上面。
图灵惨死以后50多年,英国计算机科学家康明发起了为图灵平反活动,签名者超过了三万,2009年英国首相布朗不得不发表正式声明向图灵道歉:“我们很抱歉。你本该被更好对待。”
2013年,英国女王伊丽莎白二世对图灵追授特赦。
其实,他不需要特赦,也没有什么人能赦免他。
我有时候在想:如果图灵多活20年,世界会是什么样子呢?
向伟大的图灵致敬!