提要这是一个关于Nick Metropolis如何建造MANIAC和关于电子计算机早期如何用之于科学研究的故事。在大量被MANIAC吸引的科学家中有费米,Tellervon NeumannBetheGamowUlam。许多科学家的贡献都是首创,并对相当宽阔的科学领域随后的发展有着深远的影响。这些贡献包括:π-P相移分析,非线性耦合振子,基因密码的研究,重要取样,二维流体动力学,核簇射的蒙特卡洛计算,迭代函数的普适性和非常规象棋。

这是关于MANIAC的故事,但实际上是讲Nick Metropolis的,他构思了MANIAC,建造了它,并且考虑了如何把它用于许多问题的研究。战后Los Alamos的环境有点特别,战争把一群杰出的科学家集中到了Los Alamos,Nick和他们建立了密切的关系。von Neumann,费米,Bethe,Teller,Ulam,费曼,Gamow,Turkevich,Richtmyer以及其他人等与Nick过往甚密,因为他们喜欢与他一道工作。他常常对你的问题表现出很大的兴趣,和你一起努力钻研这个问题,并且总是作出实质性的贡献。战后回到Los Alamos来的人总是禁不住被吸引到MANIAC,那里他们受到诚挚的欢迎。离开时,他们被新的经验所充实,并得到一些他们特别感兴趣的新的科学结果,这是一个关于最的近代计算机之一如何诞生,并在其最初的年代干了一些什么的愉快的故事。

费米的Brunsviga

45年前第二次世界大战开始的时候,Nick是25岁。那时根本没有我们现在所说的计算机,当时我们用计算尺和手摇计算器。电动计算器都属罕见。

我特别记得费米曾极其熟练地使用过的一台手摇计算器。它是由德国Brunsviga城一个与该城同名的公司生产的。这城因大数学家高斯在那里诞生而闻名,这机器有一个手摇曲柄,作乘法时,逐位移动台架,按乘数每位数的数目摇动曲柄。还在罗马工作时,费米就有这么一台机器。他1939年到哥伦比亚时随身带着它。他来后不久我跟随他开始研究链式反应时,他就用着这一台机器。当我们一起工作时,我用我的计算尺计算,他就开始摇他的计算器,到我宣告我的结果时,他已经咧嘴微笑地在等待着了。稍晚些时候,我得到一台Marchant牌计算器,当费米发现他再也赶不上我的计算速度时,就放弃了Brunsviga,自己也弄了一台Marchant,费米从来就不肯错过可以算得更快一些的机会。

我觉得费米总是在计算着什么。他认为:大自然总是通过人们设计来试验他的实验来揭示自己的奥秘。你可以构造一个理论来解释所发生的事情,但是,你不能肯定这理论是否正确,除非所得出的数字是正确的,所以,你必须做大量的计算。

费米的蒙特卡洛

我想你们也许想了解一下,费米如何在蒙特卡洛方法获得其名称之前就在用这一方法的情况。这故事是Emilio Segre告诉我的:在1934年开始计算中子扩散时,费米曾用过这一方法。

费米喜欢在上到实验室来的时候宣布某个新的见解来使同事们吃惊。为理解这一点,要知道,费米患有失眠症,这使他每天凌晨4点钟就起了床。这时是他从事理论研究和计算的时间。为了做快速计算,他有一些技巧,(手算形式的)蒙特卡洛方法是其中之一。

他在罗马时,儒尼奥和伊伦娜 · 居里刚刚发现了由粒子轰击轻元素而产生的人工放射性。这是1933年的事。中子只是在一年前才被发现。这两个事实使费米产生了一个想法:完全不带电荷的中子在引起核转变方面应比α - 粒子更有效。它们不会受到库仑势垒的排斥,因之,可以穿透所有原子的核,不论它们的电荷是多少。

这是一个激动人心的思想。费米和一个不大的但是充满热情的小组一起工作,组里有Amaldi,D'Agostino Pontecorvo,Rasetti和Segre。在工作的初期,已经注意到了某些非常特殊的现象;所获得的放射性依赖于进行辐照时的周围环境。比如说,在银中引起的放射性在木桌上进行时比在大理石上进行时的大得多。为弄清这一奥秘,费米决定用不同的物质来过滤中子。他的第一个想法是用铅,但是到临要做实验时,没有什么明显的理由,他把铅换成了石蜡,结果发现,对银的放射性的影响很是显著。每个人回家时都深深地感到疑惑不解。次日清晨,费米已经猜到发生了什么现象,并且已准备作出一项最意义深远的宣告:中子是与过滤物中的原子核碰撞而减速了,在原子核中,氢核在使中子减速方面最为有效。费米用了蒙特卡洛方法来获得了过程进行的更好的图像。随后,在完成详尽理论的过程中,蒙特卡洛方法帮助他选择了一个恰当的函数形式,高斯型、指数型或其它形式,来分析中子减速的过程。

这是一个巨大的发现。慢中子对核反应有很大的截面并且生成一大类人工放射性物质。这工作使费米在1938年获得诺贝尔奖。它直接导致1942年在芝加哥实现链式反应,导致1943年Los Alamos的建立。

费米从来没有把他用的蒙特卡洛方法写出来,但是在若干年过后,当这方法获得它的名字并得到广泛应用时,他把我在这里引述的故事讲给了E. Segre听。在费米论文选集中有关中子论文的导言中,Segre提到了此点。

现在,你们可能奇怪,到底是在讲Nick Metropolis还是在讲费米。我再次保证:是讲Nick Metropolis的,讲费米只是因为与之有紧密的联系,这在随后的叙述中即可明白。

修理Marchant

10年后,场景移到了Los Alamos。我们的主人公在忙于修理Marchant计算器。当Los Alamos在1943年建立的时候是没有计算器的。但是,由于明显而迫切地需要做大量的计算,实验室立即购进了许多机械计算器并且建立了一个手算的机构。机械计算器是Friedens和Marchant牌的。由于频繁的使用,这些机器很快就显示了磨损,大量机器处于待修理状态,只很少数能有效地工作,把它们送到制造商那里去修理需要的时间太长,为解决这一问题,Nick和Dick Feynman建立了一个计算器修理间,他们循着机械的联动装置找到阻塞或滑脱的原因和学会了机器是如何工作的。不久,他们就能很快地诊断出毛病所在和在较短的时间里修复它们。当行政当局发现了这一份外的活动时,严厉地提出了批评并中止了这一服务,但没过多久,由于对工作计算机器的强烈需要,这个服务又恢复了。

穿孔卡机器

在1943年秋已很清楚,巨大的计算问题使手算设备变得很紧张。Dana Mitchell建议使用IBM的穿孔卡机器。很快,这一整套机器到达了Los Alamos。这时Nick和Feynman安排了一次手摇计算器与穿孔卡机之间的竞赛。头两天,手算组和穿孔卡机不相上下,但随后,穿孔卡机领先了。显然操纵手摇机器的人疲倦了,不能保持他们开初的高速度。穿孔卡机则不知疲倦,保持着稳定的计算。

在1944年末,当原子弹设计进入其最后阶段时,要求生产更大计算设备的压力增加了,Nick更多地卷入了穿孔卡机的工作。在Feynman领导下,这一直以一种疯狂的速度继续到日本投降前的最后几个月。在1945年8月15日以后,才变得较为空闲。

ENIAC

电子技术的引入使计算前进了一大步。这在ENIAC(Electronic Numerical Integrator And Comp-uter,电子数字积分和计算机)中最成功地得到了实现。这个机器是在Pres Eckert和John Mauchy领导下的程师小组设计和建造的。这是第一部电子的数字的通用科学计算机。它用了18000个真空管,比起电动的机械计算器要快1000倍。有趣的是:ENIAC是在战时建造的,其目的是为了使计算弹道轨迹的速度比当时使用的机械微分分析器至少要快10倍。

ENIAC和Los Alamos之间的联系是通过Johny von Neumann进行的,他是ENIAC的承包者Aberdeen考验场的顾问和Los Alamos的顾问。杰出的von Neumann对ENIAC的进展非常激动,对它的设计深感兴趣,并且对在它上面可以做些什么考虑了很多。在1945年初,他把Eckert和Mauchy小组在干些什么的情况告诉了Nick,E. Teller和S. Frankel。他们都被其前景所吸引。一个Los Alamos的问题被提了出来,要求Nick和Frankel在ENIAC上实现它,他们热切地抓住了这一机会。

储存程序

当时,储存程序的思想已被认识到了,人们在讨论着发展的下一个阶段:EDVAC。在ENIAC上的编程序是靠插上电缆和电线以及扳动开关。巨大的插线板覆盖了整个机器。这是以一种麻烦而乏味的方式来教机器计算什么和如何处理结果,这曾是穿孔卡机处理的方式。但是ENIAC函数是由二进制码的门所控制的,在对Los Alamos的一次访问中(约在1947年)von Neumann介绍了弹道研究室的Richard Clippinger的建议,建议认为可以把ENIAC变成一个有限程序储存的模式,其思想是重新安排所谓的函数扳,通常是靠手动开关来储存300个十二进制的数,改成储存1800个二进制的数,每一对数相应于一个指令,它们可以被逐次(包括封闭循环)查询,使得可以更为有效地从一个问题转到下一个问题。

这个建议给Nick以深刻的印象。在1948年初他对ENIAC的一次访问中得知了正在建造一个新的板以扩大一种逻辑运算。那是输入一个——输出一百个的矩阵,Nick发觉可以用此来把各指令对解释为计划的控制模式,当他向von Neumann谈到这点时,von Neumann鼓励他去试试,这计划立即在ENIAC上执行了。Nick的一系列问题——最的蒙特卡洛方法——用新的模式在ENIAC上运行了。

MANIAC

战后,Nick和S. Frankel到了芝加哥大学任教。他们期望在计算上开展主要的活动。但当这点没有如他们预期地那么快地实现时,他们考虑了其它的计划。

1948年Los Alamos理论部的负责人Carson Mark邀请Nick到他那里去搞研究,Nick早有打算,便欣然而热情地接受了邀请。于是MANIAC(Mathematical Analyzer Integrator And Computer)就诞生了。

MANIAC是按照von Neumann的原则设计的,这些原则是A. W. Burks,H. H. Goldstine和J. von Neumann在著名的工作中所提出的。MANIAC大量地模仿了普林斯顿高级研究所的计算机,那是在von Neumann指导下建造的。由于MANIAC建造得晚一些,它避免了前驱者建造时所走过的弯路。MANIAC并不是沿此路线建造的唯一机器,在第二次世界大战结束后迸发出的积极努力中还建造有国家标准局的SEAC,橡树岑国家实验室的ORACLE,伊里诺斯大学的ILLIAC,阿贡国家实验室的AVIDAC以及其它。ENIAC开始了一场革命,至今不衰,而且还看不到尽头。MANIAC不寻常的成功主要应归功于Nick Metropolis个人和他的推动,以及由他组织起来帮助建造和运行的一组极其能干的工程师和程序人员,原来的工程师有R. Merwin,H. Parsons,J. Richardson,H. Demuth,W. Orvedahl和E. Klein,编程序的重要性很就被认识到了。在J. Jackson领导下开始了对组装式语言的研究,在期就产生了组装语言。M. Wells等开始了MADCAP的开发,它导致了高级语言和编辑程序的产生。

费米- Metropolis

随着MANIAC的建造和运行,Nick所能获得的最大满足来自那么多杰出科学家的称赞和他们所表现出来的兴趣。从战时Los Alamos时起Nick就与这些科学家保持着紧密的联系,最高赞赏的授予来自E. 费米。对费米来说,MANIAC简直是奇妙无比,他迫不及待地想亲手去用它,他喜欢计算,越快越好,而这里有世界上算得最快的机器,有他的好友Nick Metropolis,给他介绍机费的秘密并且让他自己去运行它。

费米喜欢在夏天到Los Alamos来。战时费米是在Los Alamos,他说如果Los Alamos能变成一座大学,他保证不离开Los Alamos。他的折中安排是教学年度的9个月里呆在芝加哥大学,而大部分夏天则在Los Alamos度过。1952年夏天,当费米来到Los Alamos时,他有了一个对MANIAC非常合适的问题。他想用相移方法分析一下π-p散射实验,这实验是他和同事们在芝加哥的450 Mev同步回旋加速器上进行的。我与这件事的联系和Nick类似,只是我建造的是加速器,我也帮着建造设备和进行实验,其他的同事还有系里的D. E. Nagle和E. A Long以及我的研究生R. L. Martin,G. Yodth和M. Glicksman。

结果既显著又令人吃惊,散射有着共振的行为。这是一个重要发现,发现了质子的激发态,一个称为Δ的新的粒子。相移方法被用来以一种确定的方式找到涉及的量子态及其振幅。

质量表

费米有一种提出问题的技巧,其问题的计算恰恰适合于所能获得的计算手段。几年前当穿孔卡机是主要计算手段时,费米建议用他在von Weizs?cker模型基础上提出的半经验公式来计算原子质量表,Nick组织了计算并且完成了一个表,它们很有益并且广泛地被人们所使用,我现在还保存着我那一本表。

费米演讲

当费米9月底回到芝加哥时,被他与Nick共同工作时所得到的新知识所大大充实,他宣布要作一系列关于数字计算的演讲。费米以极佳的状态给我们讲了一个非常好的课程。我们第一次学到了二进制的(和8进制的)算术,布尔代数和线性编程。有了这个引导后,我们就易于转到科学中计算机的问题,Nick Metropolis的方法起了作用。

Teller的演讲

这里讲一个关于E. Teller的有趣的故事。请记住,Nick曾经是Teller小组的成员,他们曾一起研究热核炸弹(代号“Super”)。为了不落后于费米,Teller宣布他要作一个关于计算机的演讲。当贴出来的海报并没有准确地传达出他想获得的效果,海报写道:

Edward Teller The MANIAC

相移分析

在1953 ~ 1954年期间,相移分析问题占据了基本粒子界的中心舞台,在那些及随后年代召开的Rochester会议上,只要你说α33和α31,每个人都知道这是指π-p散射的相移。物理是重要的,Δ是一个新粒子。也提出了非线性极小值问题,它导致应用数学的许多研究,在处理的参数超空间中,多个解的存在对我们来说是一个新的,令人吃惊的经验。计算机的妙技几乎使我们没有看到已经做出来的发现。计算机找到了许多组相移,都能很好地拟合数据。共振解是不是正确的解成了一个悬而未决的问题。共振解是有魅力的,因为它能解释在实验中发现的一些不寻常的特征,但是,其它的非共振解却不容易被排除。

Hans Bethe对费米处理这个问题的办法不太满意,他确信在计入附加的物理考虑后可以做得更好,他把自己变成了一个相移分析的大专家。他得到Nick的支持和Fred de Hoffmann的帮助,弄了另一个程序。Nick两边都参加了,在科学问题上,他毫不偏袒。

到头来我认为这问题是我的两个研究生处理得最好,R. L. Martin和G. Glicksmann,他们各自独立工作,他们没有特别的计算机,但是,靠简化的、却是颇有道理的假定,他们用画图办法,得到了共振解,而且是个正确的解。在使用计算机时,这是一个值得我们大家注意的教训。

非线性振子

现在来讲MANIAC的一些应用,它们都是本质上根本的问题,是计算机如何为科学研究开辟了新的可能性的范例,有时给出令人吃惊的结果。

1953年夏,费米提出了一个问题:开始时在一个简单的振动模式振动的非线性弦如何趋向平衡的性质。这想法是要让MANIAC进行实验,和Stan Ulam,John Pasta一道,编出了试验问题的程序并上机运行。如同所预期的那样,计算显示,起始的振动能量逐渐转移到邻近的模式,逐渐趋于平衡,其间所需的时间称为弛豫时间。

但是,有一天在进行典型问题的计算时发生了完全没有预料到的事。由于在进行非常活跃和热烈的讨论,计算一直进行到超过了通常截断的时间,其结果是那么奇怪和不可理解,以致周围的每一个人马上都假定,这个一直很驯顺的计算机一定是出毛病了。在百分之几的误差范围内,振动能量都回到其初始状态去了,剩下的是历史 - 非线性研究显示其具有某些诱人的方面,产生了孤子理论的思想。迸发出大量的论文,几乎成了一个小的工业。今天这篇经典工作被称为FPF问题

伽莫夫(Gamow

Metropolis的著名科学家的圈子中包括George Gamow。当Gamow给介绍到MANJAC时,他的兴趣已转向生物,他已经有一个想法:即基因密码是归之于四种核酸,它们以某种方式能给构成蛋白质的20种氨基酸进行编码。基因密码的这些早期研究的一部分是在MANIAC上完成的。Gamow写了一本科普读物“Tompkins先生学习生命现象”,由于Gamow被MVNIAC吸引入迷,所以在这书中他把MANIAC介绍给了Tompkins先生。他想向Tompkins先生介绍大脑是如何工作的,但是他发现用MANIAC来解释它是如何工作的更为方便。

重要取样

在应用蒙特卡洛方法中的重要进展是与Edward Teller合作得出的。Teller对他能接近这样的不可思议的玩具而显然很高兴,他建议它应该用蒙特卡洛方法计算刚性球在二维情形的状态方程。这计算中引入了现在称之为重要取样的思想,也称之为Metropolis算法。这方案大为改进了蒙特卡洛方法的效力,今天得到了广泛的应用,到会的参加者就是明证。

迭代函数

Metropolis. Stein和Stein对迭代变换的某些早期研究的惊人后果之一是发现了它们的普适性质。这工作启发了Mitchell Feigenbaum,他在几年年前用它表明了这些函数如何导致湍流和混沌发生的理论。这课题变得重要和激动人心。它激发了许多人的想象,他们破非线性行为的一些奇妙的方面所吸它是现在得到了广泛发展的计算机推动数学发展的一个很好的例子。

MANIAC的演变

在列举MANIAC的科学成就之前,让我们看一看这些年来MANIAC的演变。在1955年MANIACⅡ在Los Alamos投入使用,它是对MANIAC作了许多改进的后继者。当Nick回到芝加哥大学领导一个新成立的计算机研究所时,发展丁MANIACⅢ。它用了最新的固态电路。Nick在1965年回到了Los Alamos,但是这时实验室对计算的要求急剧增加,采用了商业计算机来进行装备。在这种气候下,实验室作出了放弃特定适于MANIAC课题的那类独创性研究的不幸决定,并关闭了机器。

科学成就

下面我们列举maniac的许多科学应用。

⑴Fermi:π-p相移分析

(2)Bethe-De Hoffmann:相移分析

(3)Fermi,Pasta,Ulam:非线性耦合振子

(4)Gamow:基因密码

(5)Tellers态方程:重要取样

(6)Von Neumann:二维液体动力学

(7)Stein和Stein:迭代函数的普适性

(8)Turkevich:用蒙特卡洛方法研究核簇射

(9)M. Wells:没象的象棋

(10)Ulam:幸运数

以上除(3)与(9)外,Metropolis都是合作者。这些只是选来强调那些和Nick一起工作的人的突出和他们所能完成的二作的多样性和重要性。在前面已讨论过的文章之外,其它的上面列出的重要工作包括和A. Turkevich一起用蒙特卡洛方法对由高能拉子与重粒子咱互作用而产生的核簇射的研究,J. von Neumann表明的如何考查在重力和液体动力学力的作用下的二个不可压缩流体的二维流动问题[12],M. Well等发展“没象的象棋”的战略而准备的第一个程序。这是普通国站象棋去掉两个象以后的6×6棋盘的棋,它是很有趣的经验,此外,还显现出对随后的战略游戏的一些联系。Ulam和同伴的有趣工作,他们引入了“幸运数”的概念,它是和通常素数有许多类似性质的一种推广。

[J、of Stat. Phgs. 43(1986)731]

——————

* MANIAC是数学分析积分计算机(Mathematical Analyzer,Integrator And Computer)的简写。

+ Los Alamos国家实验室在1985.9.3.~6.举行了—次量子蒙特卡洛方法的前沿的讨论会。其间专门组织了一次会议庆祝为这方法作出巨大贡献的Nick Metropolis七十寿辰,这是会上的报告之一。从一个侧面生动地记录了计算机期与物理学紧密结合发展的历史。——译注