热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

面对面的办公室【冯·诺伊曼与艾伦•图灵】——纪念艾伦•图灵百年诞辰1912.6.23-2012.6.23

面对面的办公室【冯·诺伊曼与艾伦•图灵】——纪念艾伦•图灵百年诞辰1912.6.23-2012.6.23一、左边的办公室冯·诺伊曼教授每年换一部新凯迪拉克。早上十点,他把爱车停在帕尔玛物理实验室门

面对面的办公室【冯·诺伊曼与艾伦•图灵】——纪念艾伦•图灵百年诞辰 1912.6.23-2012.6.23

 一、左边的办公室



冯·诺伊曼教授每年换一部新凯迪拉克。早上十点,他把爱车停在帕尔玛物理实验室门口,神采奕奕地走进隔壁数学系的办公室。那时候普林斯顿高等研究院才刚成立,和数学系挤在一幢叫作Fine Hall的楼—— “还不错的楼”。冯·诺伊曼教授总是穿一身笔挺的西装,以免别人把他错当成学生。他太年轻,三十出头,却已经到达了学术顶峰,和五十多岁的物理学家爱因斯坦、数学家维布伦(Oswald Veblen)、数学家亚历山大(James Alexander)一起成了高等研究院最初任命的四位教授。







John von Neumann, 1903-1957



十八岁那年,他犹太裔的父母试图把长子拉出对数学的执迷学些更实际的东西,于是他们达成了妥协,冯·诺伊曼同时在三所大学注册:在苏黎士联邦理工学院(ETH)学习化学工程,每晚完成柏林大学数学专业的作业,在每个学期末回布达佩斯大学参加他从没上过课的数学考试。二十二岁那年他不但从苏黎士联邦理工拿到化学工程学位,还通过了大卫·希尔伯特坐镇的数学博士答辩。整场答辩希尔伯特只问了一个问题:“我从来没见过这么漂亮的晚礼服,你的裁缝是谁?”于是,大家都知道了,希尔伯特钦点的年轻人,不但写了完美的博士论文,还是个翩翩佳公子。



博士毕业后的三年,高产的三年!他在柏林大学和汉堡大学的三年一共发表了二十五篇论文!包括一本八十年后仍然重印的量子力学教科书,可是……对于这个高速前行的天才这些光荣也已经是陈年往事。二十七岁上,纳粹刚刚抬头而美国也恰好走出了大萧条,维布伦代表普林斯顿去欧洲招兵买马,工资开价是冯·诺伊曼在德国挣的八倍还多。踏进美利坚第一天,他打趣地对同行的匈牙利老乡维格纳(Eugene Wigner, 1963年诺贝尔物理学奖)说:“我们该让自己更像美国人。”当即,维格纳改名叫“尤金”(Eugene),冯·诺伊曼改名叫“约翰”(John),和稍微熟一点的人就勾肩搭背地说“你们叫我强尼(Johnny)吧。”



强尼,强尼。强尼•冯•诺伊曼就不着痕迹地混进了满大街都是强尼的美利坚大熔炉,还有谁知道他刚出生时那个卑微的匈牙利名“亚诺斯”(Janos) ?还有谁知道他在德国那几年日耳曼化的“约汉纳”(Johann)? 不过他改了名字,却死活不肯把姓氏里的“冯”去掉。二十几年前他有钱的犹太老爸向行将就木的老皇帝弗朗茨·约瑟夫买了这个贵族称号,于是带着暴发户气息的诺依曼家族就转眼变成了代代相传的贵族冯•诺伊曼,多亏奥匈帝国国库空虚等钱用,否则十足的犹太血统怎么能捐上这个高贵的名头?一到周末冯•诺伊曼肯定请教授们上他宽敞奢侈的大宅喝酒跳舞,宾客盈门杯觥交错, “冯•诺伊曼请客谁不去!”讲出这话,就好象请客做东的是奥匈帝国的某个最尊贵的日耳曼裔公爵。



二、右边的办公室



冯·诺伊曼教授对面的办公室坐着博士生艾伦·图灵。开朗外向的冯•诺伊曼教授和孤僻紧张的图灵没什么闲话好聊,只知道这个总穿一身乱糟糟运动衫的年轻人前几天差点把自己的那部二手福特车倒车进了卡耐基湖。冯•诺伊曼教授横穿大西洋必买头等舱,常年西装革履,每年换一部崭新的凯迪拉克,略略发福,讨厌运动,有一次妻子想让他学滑雪他恼羞成怒甚至以离婚威胁。与他恰恰相反,博士生图灵则在几个月前坐着末等甲板舱从英国漂到美国。他常年一件套头衫,开一部状况堪忧的二手福特,身材瘦削,热爱运动,是跑赢过奥运会选手的马拉松健将。一到周末,他和同学打垒球比赛,分成两个队,“大英帝国队”对决“叛变殖民地队”。





Alan Turing, 1912-1954



刚来普林斯顿那会儿他不是没试过去交朋友,拥抱新生活,可是上个月当一名卡车司机理所当然地把自己油腻腻的手搭在他肩上直呼其名和他侃大山时,堂堂剑桥大学国王学院的毕业生着实为这种粗鲁的风气吓了一跳。别误会了,他不像冯·诺伊曼教授那样公子派头,他爸爸不过是大英帝国驻印度的一个小公务员,可是英伦岛国的教养让他觉得一个陌生人把脏手搭在你他肩上实在有点亲昵过分。他也讨厌陌生人叫他“艾伦”,还是“图灵先生”更妥当些。除了难以适应美国的新环境,图灵先生还有更糟的问题,在那个年代的体面社会里止于手势和眼神的问题:喏,你知道的,他有点那个……就是那个……那个啊……你晓得我在讲什么啊。



数学天才艾伦·图灵先生是个无可救药的同性恋。



这个无可救药的问题是这样开始的:当图灵还在谢伯恩男校 (Sherborne School )读高中,他认识了比自己高一级的克里斯托弗•马尔孔 (Christopher Morcom)。瘦弱的、过于瘦弱的马尔孔,每个学年都因病长期缺课,可他聪明的头脑竟然使他在偶尔上学的几天能补上所有功课,门门考试成绩第一。是这样毫不费力的聪慧吸引了图灵,而当他更接近马尔孔,惊喜地发现他和自己一样,对科学有着自发而浓厚的兴趣。在马尔孔偶尔上学的日子里,他们坐在相邻的座位听课,又一起去图书馆写作业,以便能不断讨论科学问题:马尔孔说如何在家里搭化学实验室研究碘,图灵说如何手算圆周率到小数点后36位,马尔孔说你知不知道薛定谔的量子力学有趣极了,图灵说你知不知道爱因斯坦的相对论也有趣极了。他们谈梦想,应该做数学家还是物理学家,如何为科学做出真正的贡献……晚钟响了,他们回各自的宿舍睡觉,又在凌晨爬起来站到阳台上用天文望远镜看星星,并写信把观测结果告诉对方:“我从没见过更好的木星。今夜我看到了五个环,甚至能看清中间那个环上的斑。”“我今夜看到了仙女座,但一会儿就消失了。”那个冬天,毕业班的马尔孔已顺利拿到了剑桥三一学院的奖学金。图灵还有一年毕业,马尔孔鼓励他来年报考剑桥,“因为那里的科学最好,而且我能经常看见你。”这句嘉勉说出口不到一个月,一个晴朗的凌晨,图灵起床看见月亮刚巧经过对楼马尔孔的窗户落下。“今晚的月亮格外美。”他写在记事本上预备第二天告诉马尔孔,他还不知道永远不会有那一天了。那个凌晨,克里斯托弗•马尔孔暴病夭折。



落葬日,时年十七岁的图灵怀着巨大的悲痛写信给马尔孔的母亲:



1930年2月15日



亲爱的马尔孔太太,



我因为克里斯而很难过。一年来我们一起学习,我从来没交过像他那么聪明、迷人、又谦卑的朋友。我和他分享了研究的乐趣还有对天文的热爱(这是他引发的),我想他也是这么觉得的。现在,尽管有一部分乐趣因为他的死而消逝了,即使这一切不再因为他而那么有趣,我也要投入尽可能多的精力到研究上,就象他仍然活着。他会希望我这么做的。我深知你此刻的悲痛。



你忠诚的,



艾伦•图灵



又及:如果你能给我一张克里斯的小照片我将十分感激。我愿以此来缅怀他的榜样和成就,督促我更仔细更优秀。我会思念他的面容,他走在我身边时微笑的模样。幸好我保存着他所有的信。



马尔孔死后一年,图灵的未来决定了,他要去剑桥国王学院学数学,就像给马尔孔太太的信里所承诺的,“以此缅怀他的榜样和成就。”这一年中,无数次对马尔孔的哀思恐怕也让他渐渐明白了比友谊更深的感情。是爱情吗?图灵无法回答,也不屑回答。落葬日那封痛切的信,还有这一年来(以及他的余生)为了纪念马尔孔而突飞猛进的学业都说明了这份感情比爱情更高:他在竭尽所能挽留死者。又有谁会为那么美好的感情而惊慌呢?于是图灵坦然接受了,并在余生从未试图遮掩自己的性取向




三、希尔伯特的落日



每个清晨和黄昏,图灵习惯一个人沿着河边长跑思考问题。去年夏天,当他还在剑桥国王学院读本科,某次长跑到精疲力竭地躺倒在草地上,斜阳西照,运动让他神思凝聚,他脑中经历了一场风暴,忽然意识到了回答希尔伯特判定问题(Entscheidungsproblem)的办法。他兴奋地一跃而起跑回寝室写下自己的思绪。他的身后,照耀世界数学界三十余年之久的希尔伯特的太阳,终于落山了。



大卫·希尔伯特,那个时代最受尊敬的数学家,凭一己之力使数学走上了更严谨系统的现代之路。1900年,38岁的希尔伯特如一位新任的武林盟主,振臂一呼,四方响应。他在国际数学大会上提出了著名的“二十三个问题”,立即成为了数学界集体奋斗的目标,其中的第八个问题黎曼猜想/哥德巴赫猜想更是成了数学的桂冠。二十八年后,暮年的希尔伯特又提出了三个数理逻辑上的大问题,简单说来这三个问题分别是:1)数学是完备的吗?2)数学是相容的吗?3)数学是可判定的吗?其中的第三问题,即被称作希尔伯特的判定问题。如果说 1900年的二十三个难题洋溢着壮年人的踌躇满志,那么1928年的三个问题已经是一个老人对秩序和条理的向往。希尔伯特十分希望,这三个问题的答案都是肯定的,因为这将使数学建立在完美严谨的逻辑的基石上,作为亘古不变的真理存在。



可惜,这个井井有条的逻辑美梦只做了三年,年轻的奥地利人哥德尔就发表了震惊数学界的哥德尔不完备定理:数学不可能既是完备的又是相容的。这个定理以十分有趣的形式否定了希尔伯特1928年的第一和第二个问题。到1935年夏天,躺在草地上休息的图灵经历了一场头脑风暴,他想到了否定希尔伯特第三个问题的办法:用机器。他想象着一种虚构的“图灵机”,可以从一条无限长的纸带子上的读取命令进行操作,从而模拟人类所可能进行的任何计算过程。图灵证明,我们不能用一个算法来判定一台给定的图灵机是否会停机,所以停机问题是一个无法判定的数学问题,即希尔伯特的第三个命题答案为否。



巧合的是,第二年春天,正当图灵把关于判定问题的论文初稿交给导师纽曼(Max Newman)过目时,大洋彼岸,普林斯顿大学的阿隆佐·邱奇(Alonzo Church)教授——逻辑界数一数二的学者——抢先一步发表了新论文,利用自创的λ演算(lambda calculus)否定了希尔伯特判定问题。看到邱奇如此巧合的论文,导师纽曼顺水推舟写信推荐图灵去做博士生。1936年夏,邱奇的新博士生图灵来到了普林斯顿。







图灵在普林斯顿大学的档案 Firestone Library, Princeton University, June 2012



11月,图灵关于判定问题的论文,即多年后将声名大噪的 On Computable Numbers, with an Application to the Entscheidungsproblem 终于发表,学界反应极其冷淡。12月图灵在普林斯顿数学俱乐部做了关于这篇论文的演讲,听众不足十人。这篇解决了希尔伯特第三个问题的论文为何遭到如此冷遇?有几个原因:其一,哥德尔不完备定理如此有趣奥妙,已经吸引走了学界关于希尔伯特三问题的大部分兴趣;其二,邱奇当年春天的论文已经率先解决了希尔伯特判定问题,虽然图灵的解法天差地别,也比邱奇的解法简洁得多;其三,用“机器”解决数理逻辑问题,实则是此篇论文最闪光的部分,可是过于新颖,不容易被主流学界接受;其四,恐怕也是最重要的原因:和著名教授邱奇比起来,图灵才初出茅庐。他在家书中愤愤说:“只有名人才会吸引听众。(One should have a reputation if one hopes to be listened to.)”



不,不完全如此。至少还有一个人会认真阅读无名小卒的论文。对门办公室的冯•诺伊曼教授——图灵默默仰慕又羞于开口的偶像——不但认真读过这篇论文,还读过所有期刊上的所有论文。他是一本雄心勃勃的百科全书,任何人的任何知识都逃不出他的法眼。图灵的论文一发表,敏锐的冯•诺伊曼已经嗅到了图灵机广阔的远景,他对朋友说,你该去找我对门的图灵,他那篇论文正好可以做这样那样的事。他慷慨地给朋友建议,自己却没亲自找图灵聊聊。他的注意力在有趣的图灵机上停留了一下,又跳到另一个截然不同却同样有趣的问题上:量子力学、流体力学、博弈论……世上千千万的问题都吸引着冯•诺伊曼,他脑中有千千万要实行的计划——图灵机不过是其中一个。



可是,博士生图灵仍然因为这篇论文而给冯•诺伊曼教授留下了印象,两年后图灵从普林斯顿博士毕业,是冯•诺伊曼教授唯一提出了挽留:年薪一千五百美元聘图灵做自己的助手。对于一个年轻的数学家,能师从传奇般的冯•诺伊曼教授是梦寐以求的机遇, 一千五百美元的薪水也比图灵在英国能找到的教职待遇好得多。图灵拿着冯•诺伊曼的聘书在普林斯顿校园里晃荡,理性使他不得不好好考虑这个千载难逢的肥缺,可是啊——英国人图灵吸吸鼻子,鼻子里呼到的空气有点太粗鄙,清清耳朵,耳朵里听到的英语有点太懒散。他走过哥特式的普林斯顿校礼拜堂,那只是更加宏伟古老的剑桥国王学院礼拜堂蹩脚的复制品。礼拜堂的尖顶插入新泽西州的蓝天白云,英国人图灵却没法欣赏这儿的晴空万里,他的目光越到了大西洋彼岸,那里,纳粹的阴云密布欧洲。



1938年夏,博士毕业的图灵忧心忡忡回到英国剑桥,在数学系做一学期才给十英镑的临时教员,教一门听者寥寥的“数学基础”。他将慢慢攀爬学术的梯子,成为教员、讲师、副教授、教授,如果不出意外的话。九个月后,意外降临:纳粹的阴云终于骤降成狂风暴雨,德国入侵波兰,第二次世界大战开始。




四、Station X. Site Y.



二战的爆发给白金汉郡的布莱切利镇带来了点可喜的新鲜,一万多人连夜从大城市挤火车逃难到这个平庸乏味的小镇,可是不久大部分又挤火车回去了:宁愿被炸弹炸死,也不要在这小地方无聊死。艾伦•图灵却逆着人潮,搬到了这无聊小镇最无聊郊区的一家最最无聊的小旅馆里,每天骑车三英里去镇中心的布莱切利园(Bletchley Park)上一个谁都不知道在瞎搞什么的班,下班回来还自愿给冷冷清清的旅馆酒吧打杂。旅馆老板娘看着这个闲得发慌的小伙直摇头:健健康康的大男人,怎么不去打仗呢?



可是,图灵正在打仗。他的敌人:哑谜。看似死水一潭的布莱切利园,此时已有了军事代号:Station X,保密等级:绝密。这里是英国政府密码学校的驻地,海陆空和军情六处的情报组织各占一隅。几百名工作人员日夜兼程破解德国人的无线电报,为了最大程度保密,大部分职员根本不知道工作的真正目的,除了几个核心解密成员:象棋冠军、填字游戏高手、数学家。二十七岁的图灵很快在这个核心团队里有了绰号:教授(Prof.)。



此时的欧洲上空,无数来自德军的电波正以莫尔斯码的形式穿梭来回。这些莫尔斯码发出前由一种称作“哑谜机”(the Enigma Machine)的加密器加密,在接受方又由同样的“哑谜机”解密。直到二战结束,德军从未怀疑过哑谜机的坚不可摧,所有军种所有级别电报,一律用哑谜机加密,加密电报中放心大胆地沟通了所有军事信息:潜艇位置、军队人数、攻击路线、伤亡报告……



哑谜机



德军的信心源于哑谜机复杂的加密方法。虽然每个军种对商用的哑谜机都略有改进,不过所有哑谜机基本构造相同:键盘、接线板、多个转子、指示灯。当密码操作员在键盘上按下一个字母(比如字母A),电流会通过一个可自行改接的接线板,启动一个或者多个转子转动,同时点亮某个字母指示灯(比如字母L),于是字母A被加密成字母L。哑谜机精巧的设计使得,在下一次按下字母A时,它将被加密成另一个不同的字母(比如字母P)。更巧妙的是,当且仅当发送端和接收端的哑谜机拥有同样的初始设定(同样的接线板、同样的转子排列、同样的转子初始位置),密码L才可以使用接收端的哑谜机还原成A。而对于不知道初始设定的敌方,他们面对的可能情况多达10^114种!



雪上加霜的是,德军每个军种所用的哑谜机略有不同,相对于三个转子的陆军哑谜机,海军五转子的的哑谜机要复杂得多。在布莱切利园只有两个人相信这层层加密状如天书的密码可以被破解:一个是布莱切利园的老大,因为“海军电报必须被破解”,否则被德军潜艇战封锁的英国将坐以待毙;另一个是“教授”图灵,因为“如果海军电报能破解,那实在太好玩了”。



“教授”发现,在加密文件中找规律的本质是重复搜索,而搜索是一种机器可以代替人脑的工作。当时,布莱切利园从曾经研究过哑谜机的波兰数学家那里继承了一种叫“炸弹”(Bombe)的原始解密仪器,每一个“炸弹”模仿一个哑谜机的转子,许多“炸弹”相链接来模拟一种哑谜机的初始设定生成可能的电报。简而言之,这是一种穷举搜寻答案的算法,需要遍历所有可能排列,费时费力。图灵洞察到,只要运用几个简单的事实——比如,一个字母的密码不可能是其本身、原始文本中一些字母(比如s)的出现频率一定高于另一些字母(比如x),一些固定词语(比如“元首”)将高频出现——就能大大改进波兰人的笨法子,来快速寻找最有可能的转子设定。用现在的算法语言来说,他将穷举法改良成了贪心算法。贪心算法改进后的“炸弹”对抗五转子的海军哑谜机大获成功。每次一方发出电报后,接受方过几分钟将发一封短电报表示“收讫”。许多回,电波中还未监测到“收讫”电报,图灵的“炸弹”机已经将密码还原成了原文, 可见“炸弹”的解密速度甚至比预知原始设定的接受方都快!布莱切利园自豪地说,德国人真该问“教授”他们的电报到底讲了什么。



可是,随着战争深入,转子更多的哑谜机不断投入运用,最后竟出现了十二转子的密码机。面对十二转子,即使图灵的“炸弹”都需要十几天时间。战场瞬息万变,布莱切利园亟需更快速的机器。很显然,提高速度的关键在于把机械的“炸弹”机改成更快速的电路装置。1943年,在图灵的鼓励下,布莱切利园工程师Tommy Flowers设计了一台叫作Colossus的巨型机器,在战时充裕的经费支持下很快获准建造。



这就是世界上第一台计算机,电子化、数字化、程序化。它由光学在长条纸带上读取电报原文,经过一千五百个真空管的电路计算,将解密结果输出到电传打字机上。1944年6月1日, 经过完善的Colossus二号机抵达布莱切利园。离诺曼底登陆只有五天。



诺曼底登陆,在欧洲开辟第二战场的唯一方法,毋宁是一场豪赌。盟军三百万主力兵力要从海上和空中登陆易守难攻的诺曼底,很可能伤亡惨重。为了保护兵力,盟军的情报网精心编造了一则假情报透露给敌方,希望德军以为在诺曼底将有一次只是“小规模”的军事转移。而德军能不能上当则唯有通过由Colossus解密的德军电报检验。幸亏快速的电子计算机,解密很顺利,德军的电报显示只有一小支部队被派往诺曼底。更幸运的是,电报还详细说明了军事安排、物资转移、军种调遣,德军手中的牌一览无余。



6月6日凌晨三点,Colossus破解了一条德军自诺曼底刚发出的绝望的电报。天啊,天上怎么来了那么多伞兵。



随着这些伞兵安然降落,二战的转折点到来了。



大西洋的另一边,1943年秋。



威斯康辛大学麦迪逊分校数学教授乌拉姆(Stan Ulam)的办公室里闯进了一个女学生。学期只过了一半,她却要求提前完成期末考试,以便“为战争服务”。她坐在办公室的地板上,答完了教授在信封背面临时写下的几道题,然后消失到谁都不知道哪儿去了。



这几天,乌拉姆身边有许多朋友消失了。在食堂认识的同事、物理教授、自己带的研究生,他们打了个 “为战争服务”的假条,就神秘莫测地走了。乌拉姆心里痒痒,写信给自己朋友中人脉最广的冯•诺伊曼,询问有否能为战争服务的工作,他回信了,说自己忙得很,不如在芝加哥火车站见面——他在那里正好有两个小时的转车时间。乌拉姆在站台见到了风风火火的冯•诺伊曼,以及——他身后的两位保镖,这才意识到他朋友正在忙活的事对大战意义重大。冯•诺伊曼神秘地表示:有一件很重要的项目也许能让乌拉姆帮忙,不过他还不能说是什么事,在哪里,有谁。



几周后,乌拉姆收到了一封政府委派信,要求他去新墨西哥州一个小镇。他从来没听说过这荒僻之地,就去图书馆借新墨西哥州地图册。于是他惊喜地发现,在地图册的借书卡上,整齐地排列着之前消失的所有熟人的名字。他们都消失到了这个闻所未闻之地。



火车在一个荒凉的车站停下,黄沙遍野,峭壁陡崖,像时间尽头一样死寂。这里就是Site Y,刚刚起步的研究项目叫Project Y,保密等级:绝密。战争结束后,前者将称为洛斯阿拉莫斯国家实验室(Los Alamos National Laboratory),后者便是鼎鼎大名的曼哈顿计划。在这片萧索瑰丽的沙漠中,聚集了一群活力旺盛的年轻人,平均年龄25岁,第一年,80个新生命诞生。他们的领袖奥本海默38岁,他们的信使冯•诺伊曼39岁。他们的任务:制造摧毁一切活力和生命的超级武器,原子弹。





洛斯阿拉莫斯国家实验室边界的标志



四年前,爱因斯坦和西拉德(Leo Szilard)上书美国总统罗斯福:物理学的推进已经使得通过核裂变获得巨大能量指日可待,只要德国人愿意,他们有知识和能力发明这种武器,美国必须赶在纳粹德国之前掌握核技术。随着美国正式参战,核技术的研究越来越紧迫。一个名字被提出来:罗伯特·奥本海默,聪明果敢,当机立断。另一个名字被提出来:约翰•冯•诺伊曼,因为他已经坐镇另外十几个军事项目上,正好能耳听八路,眼观四方。



冯•诺伊曼教授是军方最喜爱的合作人。作为犹太人他对纳粹嫉恶如仇,为了替关在集中营的朋友报仇他渴望和手段强硬的人合作,醉心各种新式武器。作为数学家,他认为只有当数学有应用价值时,数学才能最快速度发展。少时父亲逼迫之下学习的化学工程意外派上了用场,他很容易明白物理学家和化学家的讨论,再用数学的语言解释给数学家听。他最擅长把一项看似庞大无解的任务庖丁解牛,分拆成小零件委派他人,让底下每个人觉得自己拿到的那部分恰好是最擅长的本职。他是天生的领袖和传令官,坐镇导弹研究实验室、美国数学学会战争委员会、国家防御研究委员会……不像大多数被强制定居在洛斯阿拉莫斯的科研者,他进出自由。日理万机的冯•诺伊曼教授哟,他在普林斯顿、波士顿、费城、华盛顿、芝加哥、洛斯阿拉莫斯实验室、阿伯丁兵器试验中心……全美的战时科研进展他一清二楚,人家刚跟他讲了两句,他就能接上来,“某某在芝加哥也做这事。”“哈佛的某某已经搞出来了。”



曼哈顿计划最大的困难不是制造出核裂变反应,而是控制原子弹的威力。爆炸的冲击波将反复震荡叠加,最终的力量难以预测。曼哈顿计划的高度机密性和核试验的昂贵成本使得大规模试验不可能,而人力又难以计算如此多的非线性方程。如何提高计算能力成了当务之急。



事实上,计算能力这个瓶颈也困扰着其他军方科研项目。于是,1943年,当听说宾夕法尼亚大学的一群工程师为了计算导弹轨道(另一种典型的非线性方程)而开始建造一台名为ENIAC的巨型机器时,冯•诺伊曼立即敏锐地想到:也可以用这机器去计算原子弹冲击波的能量。在他的牵头下,ENIAC建完后第一项测试任务居然不是导弹轨道而成了核弹方程,整个测试将原本几个月的 人力计算缩短到了几天。完成测试他脸色苍白地回到普林斯顿家里倒头睡了十小时,醒来后不吃不喝,久久向妻子吐出一句话:“我们造了一头怪兽。”



怪兽,他指的不是核弹,而是计算机。



看到了ENIAC的广阔前景后,冯•诺伊曼毛遂自荐要做ENIAC的数学顾问,让发明者Presper Eckert和John  Mauchly受宠若惊。他们亲自领冯•诺伊曼参观机器,一间两百平米的大房间里,两个工程师指给他看:这里是一万八千根真空管、这里是电源、这里是读卡器、这里是维修站……可是,人家的设计冯•诺伊曼却看得比设计者还清楚,他一回去就写了个105页的报告:“一台计算机的基础组成是:存储器、控制器、运算器、输入输出设备。”至今,世界上的大部分电脑仍在沿用这著名的“冯•诺伊曼结构”。



1945年5月,德国投降,证据显示德国当时的科研进展还未能制造出原子弹。7月,洛斯阿拉莫斯第一颗原子弹试射成功。8月,在新上任的杜鲁门总统的授意下,两颗本为抵御德国人的原子弹投向日本广岛和长崎。9月,日本投降。第二次世界大战结束。







1945年7月16日凌晨,第一颗原子弹Trinity在新墨西哥州试射成功。奥本海默看完试射后引用了印度史诗《薄伽梵歌》中的诗句:“我已成为死神,三界的毁灭者 。”



五、MANIAC



在二战的巨大压力下,英美两国独立制造出了最原始的计算机,Colossus和ENIAC。它们惊人的相似:都利用打孔卡输入,都运用真空管计算,都体积庞大,都对二战胜利功勋卓著。二战史学家普遍认为,布莱切利园的工作使欧洲战场缩短了一年半到两年的时间,并直接切断了“沙漠之狐”隆美尔在北非的补给线;而曼哈顿计划则终结了太平洋战场。现在,在这个戏剧性的擂台上,两个核心人物图灵和冯•诺伊曼都决心改进这两台原始机器相似的缺陷:只为专门目的设计,不能储存程序。改进的方向很明显,一如图灵1936年论文所预言的那样,造一台能完成任何目的的图灵通用机。



二战结束了,而冷战的阴影旋即逼近。核威慑成了一扇关不上的门,在间隔重重的美苏关系中,美国很快发现为求自保只能继续扩大核优势。氢弹的研究成为了攻坚关键,而如何提高计算能力又成了重中之重。要造一台好机器!冯•诺伊曼教授对此深信不疑。



在哪里造?就在普林斯顿高等研究院!高等研究院院长面有难色:“我们这儿一直搞纯科学,造这么台大机器有点不像话吧?”“钱哪来?一年十万美金的预算,你得让数学系经费翻三番!”“造了放哪?三间两百平米的大房子,二十四小时引擎折腾,我们这儿可没这样的兵工厂。”鬼精明的冯•诺伊曼笑着对院长说既然这样那就算了,谢谢院长费心,一回头却给哈佛大学、芝加哥大学、IBM轮番写信:“我有兴趣到你那儿工作。”三所机构喜笑颜开,发出了热烈的聘书。好个冯•诺伊曼,姜太公钓鱼,把哈佛的聘书给芝加哥看,把芝加哥的给IBM看,每个机构衬着别人的价码轮番加价,要是能把鼎鼎大名的冯•诺伊曼请到,送个金屋银屋都值!他胜券在握,把哈佛的天价聘书呈给普林斯顿的同事看,伤感地说自己要辞职,教授们联名写信给院长:“失掉冯•诺伊曼将是普林斯顿的悲剧!”那院长也只能咬咬牙:去造你那台要命的机器吧。



1947年在普林斯顿高等研究院开始建造的MANIAC计算机在任何意义上都超过了前任ENIAC。ENIAC用了两万个真空管,MANIAC只用了两千个。ENIAC重达三十吨,MANIAC只有一吨。最关键的是,ENIAC不能贮存程序,每个 不同的任务都需要重新排布电线,而MANIAC可以读取由打孔卡上二进制编码的程序,贮存在存储器中。它是世界上第一台真正的全能自动电子计算机,是后世所有计算机的母型。它完成的诸多军方任务中,最惹眼的是一次耗时60昼夜的计算,其结果证明了氢弹制造的可行性。





1952年科学家们在MANIAC前合影。左五为奥本海默,右一为冯•诺伊曼。



1957届校友Joshua Dranoff,日后成为西北大学化工系教授,在五十年代利用MANIAC完成了他化工博士论文,其中设计了一个用计算机模拟实验结果的步骤。他告诉我,每一天机器运行之前有漫长的检修,技术工拿着一箱电线和真空管爬进MANIAC内部逐一更换坏损零件。各个专业的学生等在实验室外叽叽喳喳地排队签到,他们都想尝尝MANIAC的鲜,在论文里时髦地用计算机做个小项目。1958届校友Jerry Porter,日后成为宾夕法尼亚大学数学系教授,是第一个运用MANIAC完成本科毕业论文的学生。他大三大四时还带领一帮同学负责MANIAC的夜班值勤,他们得盯着示波器屏幕,时刻监测MANIAC宝贵的1024比特随机存储器不被烧坏。这个夜班工作激发了他对计算机的兴趣,日后的学术生涯他专注于计算数学领域。



于是乎,在未受战争破坏的美国,由ENIAC掀起的计算机和电子工程科学搞得风生水起,并很快由IBM公司实现了商业运作。到1960年MANIAC光荣退休被捐赠给史密森尼国家博物馆(Smithsonian)时,全美已经拥有了6000台计算机。



在废墟上的英国,博士生图灵的运气远没那么好。二战后,为保护英国情报网,布莱切利园大部分文件资料被焚烧销毁,其余被归为机密档案。胜利的光荣属于海陆空三军,而布莱切利园的工作人员必须对战时工作保持沉默。头号功臣图灵被授予大英帝国官佐勋章(OBE),可即便他的母亲也只是知道,“他做了点了不起的事情。”



图灵被分配到国家物理实验室工作,迫不及待地想要改进Colossus。 他向实验室提交了一份项目申请,详尽地阐明自己将如何建造一台能贮存程序的计算机,事无巨细地列出所有图纸和经费计划。可是,战时布莱切利园的高效和无节制的战争经费已经让位于战后拖拉的官僚作风和经济危机。过目这份申请的负责人没有一个看出这庞然大物的用处,大部分人甚至不相信计算机可以造出来——可笑可叹,与ENIAC的风光截然不同,为情报服务的Colossus对外界是“不存在”的。图灵甚至不能告诉别人,这台他们认为不可能造的机器已经造出来了。



1948年,受够了国家实验室的官僚作风,图灵跳槽到曼彻斯特大学计算实验室 (Computing Labatory),这里受到美国ENIAC的激励正在建造英国第一台贮存程序式电脑Manchester Mark I。图灵本该大有作为,可是制造这么大一个机器需要和很多人协调,他孤僻的性格很快让同事与之疏远,大部分建议被当作书呆子的意气而姑妄听之。不久,他聊以自慰地发现,造计算机的难点主要是硬件而非数学模型,那还是把琐碎的工程问题留给工程师吧。他呢,他只要能够“想”就行了。想——他开始为一个根本不存在的计算机想一种下象棋的程序。四年后,他会扮演这台虚构的计算机,严格执行自己的程序,和朋友下了一场真正的象棋比赛,每一步耗时半小时。他和朋友下输了,却赢了朋友的妻子一局。对于数学家图灵,即使永远没有计算机的实体,这件事也已经做完了。“想出来”就是“做出来”。



六、咬了一口的苹果



在曼彻斯特大学,图灵的主要工作仍然是在计算学理论上。1950年,他提出了至今仍广泛使用的“图灵试验”(Turing Test),即让测试者向两个对象——一个为机器一个为自然人——提出一系列问题,如果根据双方的回答,测试者不能辨别孰为机器,则这个机器应被视为有智能的。别有意味的是,图灵在提出这个试验时用了一个精巧的隐喻:假设两个回答者是一男一女,提问方在问出一系列问题后不能判断哪个是女人,则可以认为那个男人也是一个成功的“女人”。



他是在这里影射自己性取向上的差异吗?我们不得而知。可完成论文后没多久,他就在一次散步时结识了十九岁的阿诺德•莫里(Arnold Murray):水泥匠的儿子、惯偷、小混混。这让人不禁想起当年中产富裕的魏尔伦一见钟情地爱上了十六岁的兰波:一个乡下来的野孩子,境遇的极端不同招至强烈的爱欲。如同魏尔伦和兰波一样,图灵的故事也有一个甜蜜的开头和一个毁灭性的结尾:有一天图灵发现自己家中失窃了,他报了案,窃贼是莫里的朋友。于是经过简单的询问,图灵向警方承认了和莫里之间的关系。



在当时的英国,同性恋被列为“不体面罪”(gross indecency)。他的入室盗窃案非但因此不得到法律保护,他反而被送上法庭受审。法官给出了两种惩罚任他选择:坐牢或者化学阉割。当时一些科学研究认为,同性恋源自过剩的雄性欲望,可以通过注射雌激素来抑制。两害相权,图灵选择了后者,因为这样至少能呆在家里继续做数学。他被持续注射雌激素长达一年,导致胸部发育,变声,阳痿。



1954年6月7日,他在家中咬了一口沾有氰化物的毒苹果自杀。



让图灵生命最后两年处境悲惨并最后导致他服毒自杀的“不体面罪”,他当时是极其天真地就在警方面前承认了。他不但口头承认了,还兴冲冲手写了五页花体字的供述。读过这五页纸的警察认为 “像散文一样流畅”(a flowing style, almost like prose)、“虽然有些措词太难读不懂”(beyond them in some of its phraseology)、“他真以为他在做正确的事”(he really believed he was doing the right thing) 。图灵事后告诉朋友,他之所以这么坦白是因为他以为同性恋很快就要合法了,一切都可以摊在台面上谈。



图灵惨死后六十年过去了,这一切还远不能摊在台面上谈,同性恋行为在大部分国家仍受到广泛争议,虽然尊重和合法的呼声在青年一代中越来越高。2009年,英国首相布朗在一份几千人签名请愿书下向这位计算机之父和二战英雄做了官方道歉:“我们很抱歉。你本该被更好对待。(We are sorry. You deserved so much better.)”





为纪念图灵百年诞辰,2012年英国发行了一张图灵邮票。



1957年,五十三岁的冯•诺伊曼因骨癌病逝,癌变原因很有可能源自曼哈顿计划的核辐射。军方代表守在他的病床前,以防他在药物作用下泄漏军事机密。生命最后的日子,这个数学天才连简单的加减法都不能做了,却还逐字背诵幼年读过的《浮士德》 给探望的亲友解闷。浮士德,与魔鬼订约而遍历人间百态的大学者,这不正是冯•诺伊曼的一生?



冯•诺伊曼去世后,一切都不同了。曾经那么容易实现的事情,现在却困难重重。继任者们不明白,他到底是怎么搞来那么多钱?怎么招到那么聪明的人?“而且,说到底,我们为什么非得造一台机器呢?”冯•诺伊曼手下忠心耿耿的工程师们还梦想着造一台更好的MANIAC,用晶体管造,稳定性比真空管好得多……可是,这一台机器永远没造。源泉死了,源源不断的活力和创造便停歇了。普林斯顿高等研究院退出了计算机科学最令人激动的发迹史。接下来,将是IBM和MIT的天下。


七、“告诉他们,我度过了极好的一生。”




回到1939年,大战之前的最后一个学期。



1939年2月13日,剑桥哲学系教授维特根斯坦走进“数学基础”课教室,失望地发现他的学生图灵今天缺席了,于是对班上宣布,因为图灵缺席,“今天的课只是参考性的”——要知道这门课的要旨就是听维特根斯坦和图灵吵架!这位27岁的年轻人刚从普林斯顿大学博士毕业,正在剑桥数学系以临时教员的身份教授一门同样叫作“数学基础”同样听者寥寥的课,不过维特根斯坦的课是关于“数学本质是什么”这个哲学问题,而图灵的课是关于“奠定数学基础的公理是哪些”这个数学问题。在维特根斯坦的课上,他喜欢把所有对数学基础的攻击倾数射向图灵,而图灵也很喜欢针锋相对地反击。两人激烈地争吵,而后发现自己对彼此领域的理解前进了一点。在这个常年一身运动衫、又紧张又内向的年轻人身上,维特根斯坦看到了三十年前的自己:除了思考最基本的问题,这世上没有其他事要做。三十年前,出生于欧洲最富有家族的维特根斯坦也是同样不修边幅地站在逻辑学家罗素面前,他急于从罗素口中知道自己有没有严肃思考最基本问题的才能:如果没有,他就预备去自杀。



而今天,这个与自己惊人相似的年轻人图灵没有来上课 。图灵正骑着掉链子的自行车去“钟屋”(Clock House)——他心爱的克里斯托弗•马尔孔生前最常去的教区教堂。今天是马尔孔去世九年的祭日,马尔孔的父母决定以儿子的名义为教堂捐赠一个小礼拜堂。图灵坐在礼拜堂里参加捐赠仪式,对面的彩色玻璃窗上绘有圣徒克里斯托弗的事迹。亡友死后,彻底的无神论者图灵已经几十次来到这座教堂缅怀十七岁的夜晚,他和他从图书馆回宿舍一路上所谈论的雄心壮志:如何为科学做出真正的贡献。现在,完成了剑桥和普林斯顿的学业,这个雄心已经变得更加具体。他的脑中已经看到了一部精巧的机器,一部能完成所有“可能完成的”任务的机器。这不再仅仅是一台机器,也是对马尔孔的交代。



多年之后,冯•诺伊曼教授会向美国政府保证,世上只需要十五台这样的机器,全部由像自己一样聪明的科学家操作,用以计算最重要的问题:弹道曲线、核反应方程、天文观测。而图灵的愿景在更深的地方:钻研过希尔伯特1928年三个问题的博士生图灵伤感地意识到,数学是不完美的,逻辑是不完美的,哲学是不完美的。即使在最抽象最笼统的意义上,我们仍然永远活在一个不完美的世界里,在这摇晃的地基上我们永远造不出任何完美的事物。我们必须不断修葺改造,在每一次稳固地基的同时试图变得更好。



如果一台完美的机器是不可能的,那么能否造出一台不完美但是像孩童一样不断成长的机器呢?于是,图灵梦想着他的图灵机,那是一种可以不断读取自身修改自身的机器,在许多次失败的尝试后能学习到成功的诀窍。图灵梦想着许多图灵机连接在一起,一台提出问题,许多台都可以回答。可以是任何问题:从弹道曲线到老奶奶的购物清单到家庭旅行的地图路线。可以由任何人操作:从最聪明的科学家到小学肄业生,因为每台图灵机提供答案将经过更多的图灵机甄选。



我们知道,冯•诺伊曼关于世界只需要十五台计算机的断言错了。世界沿着图灵的梦想延展下去,一个扁平的千姿百态的世界。我们知道,图灵的梦想已经那么熟稔地被今天的人类挂在嘴边:互联网、人工智能。



回到1937年,文章一开头描绘的那个早晨。



34岁的犹太裔教授冯•诺伊曼是家财万贯的公子哥,不过他一定是公子哥中最勤奋的一个。他每天五点起床,昨夜他派对宴请的朋友还一个个倒在沙发上打呼噜,他已经在书房里沙沙写了几页论文。九点开早饭,他停止工作走出书房,和留宿的朋友谈笑风生邀请他们下次再来。十点,他的凯迪拉克已经稳稳当当地停在帕尔玛物理实验室前面,他一身标志性的西装地走向相邻的数学楼,继续写论文。



此时25岁的同性恋博士生图灵也已经穿着标志性的破运动衣沿着学校树林跑完了半程马拉松。他在树林里看到了几只英国见不着的颜色鲜艳的青蛙,几朵庞大的蘑菇,暗自好笑了一会儿。他到帕尔玛物理实验室捣鼓了一下自己的业余爱好——制造一台能做乘法的机器——然后穿过天桥走进数学楼,向办公室对门的冯•诺伊曼尴尬地打个照面,继续研究λ演算和图灵机。



那时候,普林斯顿大学的数学楼和物理楼有一座天桥相连。爱因斯坦教授精神很好,每天穿梭天桥许多次在数学和物理之间来回奔跑。那是一个离我们遥远的伟大的科学年代,基础学科之间有许多天桥和地道相通,科学家从一个学科开始挖凿,最后挖到另一个学科的金矿。希尔伯特在世纪之初的著名演讲为几十年内的数学突飞猛进提供了指路牌,爱因斯坦1915年的广义相对论带来了一个崭新的宇宙观,一个个新化学元素接踵而至犹如上天的惊喜。集合论不过半个世纪,拓扑学才三十几年,量子力学二十年……在这个幸福的基础科学的时代,犹太人冯•诺伊曼和同性恋图灵坐在面对面的办公室里,这两种备受歧视的身份将困扰他们一生,可是此时,他们心无旁骛只有一个愿望:做一个数学家、数学家、数学家。

推荐阅读
  • 在本文中,我们将深入探讨 jQuery 中的 DOM 操作与事件处理技术,通过实现类似 Yahoo 邮箱登录框的提示效果来展示其强大功能。我们将详细介绍如何利用简洁的 jQuery 代码提升用户体验,并分享一些实用的示例。同时,我们还会解析这些示例中涉及的具体操作和事件处理方法。 ... [详细]
  • 本文介绍了如何通过 Python 代码实现对字符串的特定反转操作。具体而言,给定一个字符串 s,要求在保持所有非英文字母字符位置不变的情况下,将所有英文字母(无论是小写还是大写)的位置进行反转。最终返回经过处理后的字符串 s。 ... [详细]
  • 当使用 `new` 表达式(即通过 `new` 动态创建对象)时,会发生两件事:首先,内存被分配用于存储新对象;其次,该对象的构造函数被调用以初始化对象。为了确保资源管理的一致性和避免内存泄漏,建议在使用 `new` 和 `delete` 时保持形式一致。例如,如果使用 `new[]` 分配数组,则应使用 `delete[]` 来释放内存;同样,如果使用 `new` 分配单个对象,则应使用 `delete` 来释放内存。这种一致性有助于防止常见的编程错误,提高代码的健壮性和可维护性。 ... [详细]
  • 触发器的稳态数量分析及其应用价值
    本文对数据库中的SQL触发器进行了稳态数量的详细分析,探讨了其在实际应用中的重要价值。通过研究触发器在不同场景下的表现,揭示了其在数据完整性和业务逻辑自动化方面的关键作用。此外,还介绍了如何在Ubuntu 22.04环境下配置和使用触发器,以及在Tomcat和SQLite等平台上的具体实现方法。 ... [详细]
  • 分享一款基于Java开发的经典贪吃蛇游戏实现
    本文介绍了一款使用Java语言开发的经典贪吃蛇游戏的实现。游戏主要由两个核心类组成:`GameFrame` 和 `GamePanel`。`GameFrame` 类负责设置游戏窗口的标题、关闭按钮以及是否允许调整窗口大小,并初始化数据模型以支持绘制操作。`GamePanel` 类则负责管理游戏中的蛇和苹果的逻辑与渲染,确保游戏的流畅运行和良好的用户体验。 ... [详细]
  • 在iOS开发中,基于HTTPS协议的安全网络请求实现至关重要。HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer)是一种旨在提供安全通信的HTTP扩展,通过SSL/TLS加密技术确保数据传输的安全性和隐私性。本文将详细介绍如何在iOS应用中实现安全的HTTPS网络请求,包括证书验证、SSL握手过程以及常见安全问题的解决方法。 ... [详细]
  • 在Java项目中,当两个文件进行互相调用时出现了函数错误。具体问题出现在 `MainFrame.java` 文件中,该文件位于 `cn.javass.bookmgr` 包下,并且导入了 `java.awt.BorderLayout` 和 `java.awt.Event` 等相关类。为了确保项目的正常运行,请求提供专业的解决方案,以解决函数调用中的错误。建议从类路径、依赖关系和方法签名等方面入手,进行全面排查和调试。 ... [详细]
  • 本文介绍了如何利用ObjectMapper实现JSON与JavaBean之间的高效转换。ObjectMapper是Jackson库的核心组件,能够便捷地将Java对象序列化为JSON格式,并支持从JSON、XML以及文件等多种数据源反序列化为Java对象。此外,还探讨了在实际应用中如何优化转换性能,以提升系统整体效率。 ... [详细]
  • Vi编辑器的工作模式有哪些?如何在不同模式间切换?
    Vi编辑器是Linux系统中常用的文本编辑工具,具备三种主要工作模式:命令模式、插入模式和底行模式。用户可以通过特定的按键组合在这些模式之间进行切换,以实现不同的编辑功能。例如,在命令模式下,用户可以执行移动光标、删除文本等操作;而在插入模式下,则可以输入或修改文本内容。底行模式则用于执行保存文件、退出编辑器等命令。 ... [详细]
  • CSS3 @font-face 字体应用技术解析与实践
    在Web前端开发中,HTML教程和CSS3的结合使得网页设计更加多样化。长期以来,Web设计师受限于“web-safe”字体的选择。然而,CSS3中的`@font-face`规则允许从服务器端加载自定义字体,极大地丰富了网页的视觉效果。通过这一技术,设计师可以自由选择和使用各种字体,提升用户体验和页面美观度。本文将深入解析`@font-face`的实现原理,并提供实际应用案例,帮助开发者更好地掌握这一强大工具。 ... [详细]
  • Vue应用预渲染技术详解与实践 ... [详细]
  • 贪心策略在算法设计中的应用与优化
    贪心算法在算法设计中具有广泛的应用,特别是在解决优化问题时表现出色。本文通过分析经典问题“买卖股票的最佳时机II”,探讨了贪心策略的基本原理及其在实际问题中的应用。通过实例分析,展示了贪心算法如何通过局部最优选择逐步达到全局最优解,并讨论了其在时间和空间复杂度上的优势。此外,还提出了一些优化方法,以提高算法的效率和适用性。 ... [详细]
  • PHP网站日志深度解析与数据洞察分析
    通过对PHP网站日志进行深入解析与数据洞察分析,可以有效提升网站性能和用户体验。由于网站日志数据量庞大,通常需要借助专业的日志分析工具来处理。常用的工具包括光年日志分析工具和WebLog Expert等,这些工具能够帮助技术人员快速识别并解决网站运行中的各种问题,从而优化SEO效果和提升整体运营效率。 ... [详细]
  • 优化后的标题:利用 jQuery 实现高效树形结构元素选择与操作
    在Web前端开发中,DOM结构本质上是一种树形结构。通过优化后的jQuery选择器,可以高效地选择和操作DOM树中的节点。这些选择器不仅简化了代码编写,还提高了性能和可维护性。本文将详细介绍如何利用jQuery的树形选择器实现高效的元素选择与操作。 ... [详细]
  • Node.js 配置文件管理方法详解与最佳实践
    本文详细介绍了 Node.js 中配置文件管理的方法与最佳实践,涵盖常见的配置文件格式及其优缺点,并提供了多种实用技巧和示例代码,帮助开发者高效地管理和维护项目配置,具有较高的参考价值。 ... [详细]
author-avatar
爱在运动-666_517
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有