与图灵齐名!冯纽曼8岁懂微积分,懂4种语言,为电脑科学奠基人

昨天是12月28日,115年前的今日,一位对现今电脑有深远影响的天才出世了。他一生对数学、电脑科学、物理学贡献良多,被誉为电脑科学其中一位奠基人,与广为人所知的艾伦‧图灵齐名,他就是约翰‧ 冯纽曼(John von Neumann) 。

约翰‧ 冯纽曼(John von Neumann) (互联网图片)

电脑结构

要理解他的贡献,最佳的途径就是由现今生活事例着手:想像一下,你有一位朋友,说想买一部新的桌面电脑,应该有什么组件要买呢?大概你会答道:“ 你要先找好CPU(Central Processing Unit),然后再找好要多大Ram(Random Access Memory),再找SSD(Solid State disk)或定HDD(Hard disk),最后买好机箱及电源,再买键盘(Keyboard)、鼠标(Mouse)、显示器(Monitor)就好了!”如果你的朋友本身不太熟悉电脑,他一定会眉头紧皱,不明所以,也许会问:“为什么要这么多组件?”

这是一个发人深省的问题,现今电脑结构到底从何而来?其实现今桌面电脑、手提电脑、智能电话等等,都是基于冯纽曼于1945年提出的一个电脑结构,名字就叫做冯纽曼结构(Von Nuemann Architecture)

冯纽曼的文件提出一部有以下组成部分的电脑:

1. 处理器(Processing Unit)

2. 控制器(Control Unit)

3. 记忆体(Memory)

4. 外置储存装置(Mass Storage)

5. 输入及输出(Input and Output)

现代的CPU同时兼备了1及2,3就是RAM,4就是SSD/HDD,5就是其他所有电脑周边产品如键盘、滑鼠、显示器等。由此可见,早在第一部个人电脑问世之前,现代电脑的雏型早已成型,尔后的电脑发展就是不断改善效能及微小化的课程。

合并排序

编程中有一个很常见的问题,就是将一条序列的物件排序,要将物件排序。电脑科学有不少类似计算问题,不同的解决方法,通常统称之为算法(Algorithm)。同样在1945年,冯纽曼提出了一个电脑科学学生必学的排序算法,为之合并排序(Mergesort),采用的就是分治法(Divide and Conquer)。将一条序列拆细为许多小序列,再通过合并的动作将其排好。

编程中有一个很常见的问题,就是将一条序列的物件排序,要将物件排序。

以图示的话,就如以下一幅示意图。

合并排序示意图(作者提供)

此合并方法效率相当高,但不一定是最好(平均而言记忆体使用比Quicksort要多),不过合并排序可以轻易并列处理(parallel processing),因此某些情况比Quicksort更好。

细胞自动机

冯纽曼也开创了电脑科学中细胞自动机(Cellular Automaton)的研究,所谓细胞自动机,就是一个理论中的模型,由无数个方格所组成,整个平面会随着时间演化,每一个方格都有自己的状态,而每一个方格下一刹那的状态都取决于邻居的状态。有一个很Geeky的游戏叫生命游戏(Conway's Game of Life),其中所根据的模型正是细胞自动机。

有一个很Geeky的游戏叫生命游戏(Conway's Game of Life),其中所根据的模型正是细胞自动机。(作者提供)

现今大部分对细胞自动机都是关于理论上的研究,可见冯纽曼的研究涵盖了理论及现实工程的研究。

生平及其他贡献

冯纽曼是相当多产的学者,一生发表了约150篇论文,除了对电脑科学有巨大贡献外,在数学上,对几何学(Geometry)、拓扑学(Topology)、泛函分析(Functional Analysis)都有很大贡献,而在物理学上亦对量子力学(Quantum Mechanics)发展有深远影响,甚至乎对现今经济学上有举足轻重地位的博奕理论(Game Theory)都有涉猎。

冯纽曼生于匈牙利布达佩斯一个犹太家庭,当时是奥匈帝国的一部分,他自小天资聪颖,八岁就能作微积分,讲四种语言,辗转在德国得到博士学位, 1930年移居美国,很多他生平的贡献都是于美国完成。1957年,冯纽曼于美国因病如世长辞,享年53岁。

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();