你所不知道的冯·诺伊曼

By on

大多数程序员都对「冯·诺伊曼」这个名字非常熟悉,因为他在计算机领域做出了非常多的贡献。现代计算机大都符合把指令和数据一起存储的概念结构,这个结构就被称为「冯·诺伊曼结构」;Knuth 在算法著作中认定冯·诺伊曼为归并排序的发明者;另外他还创立了细胞自动机这个子领域。但可能很多同行对他的其他方面并不熟悉,所以这篇文章想介绍一下冯·诺伊曼在计算领域之外的贡献和他的一些趣事。 和很多知名的科学家一样,他是个神童和天才,和他们不一样的是,很多人认为他是人类历史上最聪明的人之一。

他在六岁时就能心算两个八位数的除法,在八岁时能熟练运用微积分。十五岁时他师从著名匈牙利数学家 Gábor Szegő 学习高级微积分,当 Szegő 第一次与冯·诺伊曼会面时,被他的聪明震惊得哭了。(有史料记载的真事)

很多大家耳熟能详的知名数学家和科学家都给过冯·诺伊曼很高的评价,认为和他讨论时跟上他的思维是件很困难的事。但是也有人试图说明他有的时候也很傻。很多人都听说过这样一个数学题:两辆自行车从相距二十英里的两地相向而行,以十英里每小时的速度匀速行驶。有一只苍蝇从其中一辆车的前轮前沿出发,以十五英里的时速向另一辆车飞行,直到碰到另一辆车的前轮,然后掉头,如此往复直到被两辆车的前轮压扁。问最终这只苍蝇飞行的旅途一共是多少英里。这个问题有两种解法:慢的解法是计算苍蝇每次掉头前飞行的距离,把这些距离作为一个无限递减的序列求和;快的方法是意识到两辆车正好在一小时后相遇,而这正是苍蝇飞行的时长,所以苍蝇一共飞行了十五英里。一个人问冯·诺伊曼这道题时,他马上说出了答案。这个人失望地说「你肯定听说过这个问题了,所以知道诀窍。」冯·诺伊曼愕然地回答「这哪有什么诀窍?不就是无限序列求和吗?

除了高超的数学天份,冯·诺伊曼还拥有照相机似的记忆力。Herman Goldstine 是著名的数学家和计算机科学家,他参与开发了第一台现代电子计算机 ENIAC。他在书里写到,他听说冯·诺伊曼有超强的记忆力,就想见识一下,于是他去问冯·诺伊曼《双城记》的开头是什么。冯·诺伊曼开始流畅地背诵《双城记》的第一章,直到十分钟后目瞪口呆的 Goldstine 让他停下来。从这段叙述看,他似乎也算是个喜欢炫技和碾压别人的人。

1929 年,冯·诺伊曼从欧洲搬家到了美国,在普林斯顿任教。由于在二战前有很多位大名鼎鼎的匈牙利科学家移民到美国,他们的英语口音很重让美国人很难听懂,而又表现出超人的智力水平,所以美国科学界幽默地把他们统称为「火星人」。另一位火星人尤金·维格纳在 1963 年的诺贝尔物理学奖获奖演说中被问到为什么匈牙利能在同一时代培育出那么多的天才。他的回答是「只有冯·诺伊曼是天才。」

冯·诺伊曼对于计算机科学、现代经济学(特别是博弈论)、量子力学这三个领域都是基础理论的奠基人之一,有这样的成就的人在人类历史上恐怕很难超过个位数。早在 DNA 的结构被发现之前,他就对自我复制的结构进行了数学分析。他的著作《量子力学的数学基础》顾名思义为量子力学建立了数学基础。他和尤金·维格纳一起提出了量子力学的冯·诺伊曼-维格纳解释,他们认为世界的状态可以被一个遵循薛定谔方程的波函数描述,是智慧生物的意识导致波函数坍缩,让状态从不确定变成确定。然而这个观点因为倾向唯心主义以及和一些宗教观点过于接近,没有得到主流物理学界接受。

鲜为人知的是,冯·诺伊曼在参与曼哈顿计划期间是选择用原子弹轰炸日本的哪两个城市的决策小组成员之一。他希望轰炸京都,然而意见被推翻了,因为京都比其他候选城市有更多的值得保护的文化遗产。二战后,很多核物理学家都转而反对核武器的研发和使用,冯·诺伊曼却一直坚定地支持发展核武器,也因为这件事他失去了很多朋友。

在认识他的人中,冯·诺伊曼是一个臭名昭著的坏司机,然而他还是非常喜欢开车,并且喜欢边看书边开车,导致了多起车祸,也多次因此被捕。在他为 IBM 做咨询期间,他的上司经常为他缴纳违章罚款。

和很多知名科学家一样,冯·诺伊曼在晚年回归天主教信仰。他曾在更早的时候对他的母亲说「上帝多半是存在的。如果是那样,很多事情都更容易解释。」他被诊断出癌症,并于 53 岁逝世。美国政府为了防止他在受药物影响神志的情况下泄漏军事机密,安排他在华盛顿特区的一所军队医院度过最后的日子。在病榻上他为耶鲁大学的 Silliman 系列讲座写了名为「计算机和大脑」的手稿。这份只有 96 页的手稿在他去世后被整理成一本书出版,他探讨了计算机和大脑的几点重要区别,并建议了将来的研究方向。