文/苏椰 在《 EDSAC计算机之父——Maurice Wilkes》,介绍了Wilkes和他的EDSAC计算机。其中说到,EDSAC项目是英国第三个电子计算机项目,与此同时还有图灵领导的ACE项目。 1945年,图灵刚刚放下“二战”的情报破译工作,就立即设计了这种全新的电子计算机,并向政府申请资助。图灵提交了一份非常详细的设计报告,然后一直在国家物理实验室埋头编写指令表(相当于我们现在编写函数库),并改进机器的设计。 经过很长时间的讨论, 政府批准了这个项目,由达尔文爵士领导,图灵担任总设计师。达尔文为这个项目另外调派了两位科学家, 其中之一,就是本文的主角,James Hardy Wilkinson。 1919年9月27日,Wilkinson在英国肯特郡的斯特洛特出生,16岁时被剑桥大学破格录取,19岁毕业获得最高荣誉奖章。刚毕业, 二战就爆发了,于是Wilkinson进入军备研究所, 研究与弹道有关的问题, 在这里, 他对数值计算产生了浓厚的兴趣。
未命名_副本
战后,Wilkinson来到国家物理实验室协助进行一项数值计算工作,他看到图灵的ACE项目,立刻被吸引住了,并且留在这里工作。后来这个项目发生了一些人事上的矛盾,把图灵给气跑了( 这事儿我们上期也提过),于是Wilkinson就接管了整个ACE原型机的建造工作。 Wilkinson接手之后,总结了前一阶段的教训,果断采取了两项措施,一是与工程实践团队加强联系,改变过去的僵局;二是把ACE的设计方案回档到第五版(图灵走的时候,已经做完了第八版设计),把延迟线的数量减少到32根。 1950年5月10日,ACE原型机第一次正式试运行成功。1950年11月,NPL举行了隆重的发布仪式, 随后由EEC公司量产了大约30台,其商业名称为DEUCE。DEUCE和Wilkes的EDSAC计算机一起,使英国的计算机技术跃居世界领先水平,与美国不相上下。第一台ACE原型机至今仍在伦敦的肯辛顿科学博物馆里展出,有机会的读者可以前去参观。 除了ACE项目之外,Wilkinson在数值计算方面也做出了先驱性的贡献。1960年,Wilkinson提出了“向后误差分析法”,这是误差理论中最基本的方法之一。向后误差分析是一种先验估计,假设一个计算结果x,是由已知量a1,a2,a3,…,an通过基本运算确定的,也就是:x=f(a1,a2,a3,…an)。由于数字计算机会产生舍入误差,实际表示出的值x'与准确值x会有不同。向后误差分析法把舍入误差与已知量a1,a2,a3,…an的某种扰动联系起来,引入扰动量εi,得到x'的表达式:x ' = f ( a 1 + ε 1 , a 2 + ε 2 , a 3 + ε 3…,an+εn)然后再推出这些εi的界,并以此推算最后的舍入误差x'-x的界。最常见的例子,就是浮点数的计算。我们大家都知道,浮点数的机器表示为f=p*m^e(其中p是尾数,m是基值,e是阶码)。 这就是典型的由多个已知量共同确定的数值,而且它是有误差的(在固定的位数和基底下,总是有一部分浮点数无法表示)。在这种情况下,如果需要分析其误差,那么向后误差分析法就是最常用的方法。 在那个年代,数值计算是计算机的主要用途,所以这一类算法具有非常重要的意义。 1 9 7 0 年,ACM将图灵奖授予Wilkinson,以表彰其在ACE计算机项目、数值计算,尤其是向后误差分析法方面的贡献( 笔者个人认为,如果图灵此时还活着, 考虑到他当初的ACE设计方案,他绝不会允许Wi l k i n s o n 获得图灵奖) 。 同年,Wilkinson还获得了冯•诺伊曼奖。Wilkinson一直为国家物理实验室工作了34年,并在1980年退休后,担任斯坦福大学客座教授。1986年10月5日,Wilkinson在英国特丁顿的家中因病去世,享年67岁。 本文选自《程序员》杂志2011年4期,更多精彩内容敬请关注4期杂志 《程序员》杂志订阅火热进行中
Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐