一、1946 蒙特卡洛方法
[1946: john von neumann, stan ulam, and nick metropolis, all at the los alamos scientific laboratory, cook up the metropolis algorithm, also known as the monte carlo method.]
1946年,美国拉斯阿莫斯国家实验室的三位科学家john von neumann,stan ulam 和 nick metropolis 共同发明,被称为蒙特卡洛方法。
它的具体定义是:
在广场上画一个边长一米的正方形,在正方形内部随意用粉笔画一个不规则的形状,现在要计算这个不规则图形的面积,怎么计算列?
蒙特卡洛(monte carlo)方法告诉我们,均匀的向该正方形内撒n(n 是一个很大的自然数)个黄豆,随后数数有多少个黄豆在这个不规则几何形状内部,比如说有m个,那么,这个奇怪形状的面积便近似于m/n,n越大,算出来的值便越精确。
在这里我们要假定豆子都在一个平面上,相互之间没有重叠。(撒黄豆只是一个比喻。)
蒙特卡洛方法可用于近似计算圆周率:
让计算机每次随机生成两个0到1之间的数,看这两个实数是否在单位圆内。
生成一系列随机点,统计单位圆内的点数与总点数,内接圆面积和正方形面积之比为pi:4,pi为圆周率。
当随机点取得越多(但即使取10的9次方个随机点时,其结果也仅在前4位与圆周率吻合)时,其结果越接近于圆周率。
二、1947 单纯形法
[1947: george dantzig, at the rand corporation, creates the simplex method for linear programming.]
1947年,兰德公司的,grorge dantzig,发明了单纯形方法。
单纯形法,此后成为了线性规划学科的重要基石。
所谓线性规划,简单的说,就是给定一组线性(所有变量都是一次幂)约束条件(例如a1*x1+b1*x2+c1*x3》0),求一个给定的目标函数的极值。
这么说似乎也太太太抽象了,但在现实中能派上用场的例子可不罕见——比如对于一个公司而言,其能够投入生产的人力物力有限(“线性约束条件”),而公司的目标是利润最大化(“目标函数取最大值”),看,线性规划并不抽象吧!
线性规划作为运筹学(operation research)的一部分,成为管理科学领域的一种重要工具。而dantzig提出的单纯形法便是求解类似线性规划问题的一个极其有效的方法。
三、1950 krylov 子空间迭代法
[1950: magnus hestenes, eduard stiefel, and cornelius lanczos, all from the institute for numerical analysis at the national bureau of standards, initiate the development of krylov subspace iteration methods.]
1950年:美国国家标准局数值分析研究所的,马格努斯hestenes,爱德华施蒂费尔和科尼利厄斯的lanczos,发明了krylov子空间迭代法。
krylov子空间迭代法是用来求解形如ax=b 的方程,a是一个n*n 的矩阵,当n充分大时,直接计算变得非常困难,而krylov方法则巧妙地将其变为kxi+1=kxi+b-axi的迭代形式来求解。
这里的k(来源于作者俄国人nikolai krylov姓氏的首字母)是一个构造出来的接近于a的矩阵,而迭代形式的算法的妙处在于,它将复杂问题化简为阶段性的易于计算的子步骤。
四、1951 矩阵计算的分解方法
[1951: alston householder of oak ridge national laboratory formalizes the decompositional approach to matrix computations.]
1951年,阿尔斯通橡树岭国家实验室的alston householder提出,矩阵计算的分解方法。
这个算法证明了任何矩阵都可以分解为三角、对角、正交和其他特殊形式的矩阵,该算法的意义使得开发灵活的矩阵计算软件包成为可能。
五、1957 优化的fortran编译器
[1957: john backus leads a team at ibm in developing the fortran optimizing compiler.]
1957年:约翰巴库斯领导开发的ibm的团队,创造了fortran优化编译器。
fortran,亦译为福传,是由formula translation两个字所组合而成,意思是“公式翻译”。它是世界上第一个被正式采用并流传至今的高级编程语言。这个语言现在,已经发展到了,fortran 2008,并为人们所熟知。
六、1959-61 计算矩阵特征值的qr算法
[1959–61: j.g.f. francis of ferranti ltd, london, finds a stable method for computing eigenvalues, known as the qr algorithm.]
1959-61:伦敦费伦蒂有限公司的j.g.f. francis,找到了一种稳定的特征值的计算方法,这就是著名的qr算法。
这也是一个和线性代数有关的算法,学过线性代数的应该记得“矩阵的特征值”,计算特征值是矩阵计算的最核心内容之一,传统的求解方案涉及到高次方程求根,当问题规模大的时候十分困难。
qr算法把矩阵分解成一个正交矩阵(希望读此文的你,知道什么是正交矩阵。:d。)与一个上三角矩阵的积,和前面提到的krylov 方法类似,这又是一个迭代算法,它把复杂的高次方程求根问题化简为阶段性的易于计算的子步骤,使得用计算机求解大规模矩阵特征值成为可能。
这个算法的作者是来自英国伦敦的j.g.f. francis。
七、1962 快速排序算法
[1962: tony hoare of elliott brothers, ltd., london, presents quicksort.]
1962年:伦敦的,托尼埃利奥特兄弟有限公司,霍尔提出了快速排序。
哈哈,恭喜你,终于看到了可能是你第一个比较熟悉的算法~。
快速排序算法作为排序算法中的经典算法,它被应用的影子随处可见。快速排序算法最早由tony hoare爵士设计,它的基本思想是将待排序列分为两半,左边的一半总是“小的”,右边的一半总是“大的”,这一过程不断递归持续下去,直到整个序列有序。
说起这位tony hoare爵士,快速排序算法其实只是他不经意间的小小发现而已,他对于计算机贡献主要包括形式化方法理论,以及algol60 编程语言的发明等,他也因这些成就获得1980 年图灵奖。
快速排序的平均时间复杂度仅仅为o(nlog(n)),相比于普通选择排序和冒泡排序等而言,实在是历史性的创举。
八、1965 快速傅立叶变换
[1965: james cooley of the ibm t.j. watson research center and john tukey of princeton university and at&t bell laboratories unveil the fast fourier transform.]
1965年:ibm 华生研究院的james cooley,和普林斯顿大学的john tukey,at&t贝尔实验室共同推出了快速傅立叶变换。
快速傅立叶算法是离散傅立叶算法(这可是数字信号处理的基石)的一种快速算法,其时间复杂度仅为o(nlog(n));比时间效率更为重要的是,快速傅立叶算法非常容易用硬件实现,因此它在电子技术领域得到极其广泛的应用。
九、1977 整数关系探测算法
[1977: helaman ferguson and rodney forcade of brigham young university advance an integer relation detection algorithm.]
1977年:helaman ferguson和 伯明翰大学的rodney forcade,提出了forcade检测算法的整数关系。
整数关系探测是个古老的问题,其历史甚至可以追溯到欧几里德的时代。具体的说:
给定—组实数x1,x2,…,xn,是否存在不全为零的整数a1,a2,…an,使得:a1x1 + a2x2 + 。 . 。 + anxn =0?
这一年brighamyoung大学的helaman ferguson 和rodney forcade解决了这一问题。
该算法应用于“简化量子场论中的feynman图的计算”。ok,它并不要你懂,了解即可。:d。
十、1987 快速多极算法
[1987: leslie greengard and vladimir rokhlin of yale university invent the fast multipole algorithm.]
1987年:greengard,和耶鲁大学的rokhlin发明了快速多极算法。
此快速多极算法用来计算“经由引力或静电力相互作用的n 个粒子运动的精确计算——例如银河系中的星体,或者蛋白质中的原子间的相互作用”。ok,了解即可。
中国发布首个脑机接口开源软件平台MetaBCI
机器人实验室的无人化 是未来发展的新方向
深圳市坪山区对集成电路企业提供资金支持 给予每家企业最高500万元的资助
从单点突破到全域部署,榕城智能体建以致用
企业面对大规模AI集成需要考虑的五点
20世纪算法工程师必研究的10大算法
应对新型飞机研发新挑战,虚拟样机助力Dirisolar完成首次飞行测试
看华为的辛酸史 上海研究所二十年传奇故事
手机的这些使用习惯可能不仅不能提高使用寿命甚至还适得其反
台积电对华为断供,会有损失吗?
多功能智能音箱设计给人们带来全新的听觉体验
了解RF仪器规格第一部
过电压保护汽车系统-Overvoltage Protecti
肇观电子3D深度计算AI加速芯片D163A正式发布
电镀整流器会发生哪些故障以及它的维修方法
运算放大器的几个小电路
buck和boost电路原理详解
灭蚊灯有用吗?高效捕杀蚊虫就服它
AI的发展趋势和百度在AI领域的布局和进展
VIAVI强化面向光学实验室、生产和制造的广泛测试产品组合