当前位置:首页>>二十世纪最伟大的10大算法及其意义

二十世纪最伟大的10大算法及其意义

发布时间:2018-03-26作者:沧海一土

  一、1946 蒙特卡洛方法

  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年,兰德公司的,Grorge Dantzig,发明了单纯形方法。

  单纯形法,此后成为了线性规划学科的重要基石。

  所谓线性规划,简单的说,就是给定一组线性(所有变量都是一次幂)约束条件

  (例如a1*x1+b1*x2+c1*x3》0),求一个给定的目标函数的极值。

  这么说似乎也太太太抽象了,但在现实中能派上用场的例子可不罕见——比如对于一个公司而言,其能够投入生产的人力物力有限(“线性约束条件”),而公司的目标是利润最大化(“目标函数取最大值”),看,线性规划并不抽象吧!

  线性规划作为运筹学(operation research)的一部分,成为管理科学领域的一种重要工具。

  而Dantzig提出的单纯形法便是求解类似线性规划问题的一个极其有效的方法。

  三、1950 Krylov子空间迭代法

  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提出,矩阵计算的分解方法。

  这个算法证明了任何矩阵都可以分解为三角、对角、正交和其他特殊形式的矩阵,

  该算法的意义使得开发灵活的矩阵计算软件包成为可能。

  二十世纪最伟大的10大算法及其意义

  五、1957 优化的Fortran编译器

  1957年:约翰巴库斯领导开发的IBM的团队,创造了Fortran优化编译器。

  Fortran,亦译为福传,是由Formula Translation两个字所组合而成,意思是“公式翻译”。

  它是世界上第一个被正式采用并流传至今的高级编程语言。

  这个语言现在,已经发展到了,Fortran 2008,并为人们所熟知。

  六、1959-61 计算矩阵特征值的QR算法

  1959-61:伦敦费伦蒂有限公司的J.G.F. Francis,找到了一种稳定的特征值的计算方法,这就是著名的QR算法。

  这也是一个和线性代数有关的算法,学过线性代数的应该记得“矩阵的特征值”,计算特征值是矩阵计算的最核心内容之一,传统的求解方案涉及到高次方程求根,当问题规模大的时候十分困难。

  QR算法把矩阵分解成一个正交矩阵(希望读此文的你,知道什么是正交矩阵。:D。)与一个上三角矩阵的积,和前面提到的Krylov 方法类似,这又是一个迭代算法,它把复杂的高次方程求根问题化简为阶段性的易于计算的子步骤,使得用计算机求解大规模矩阵特征值成为可能。

  这个算法的作者是来自英国伦敦的J.G.F. Francis。

  七、1962 快速排序算法

  1962年:伦敦的,托尼埃利奥特兄弟有限公司,霍尔提出了快速排序。

  哈哈,恭喜你,终于看到了可能是你第一个比较熟悉的算法~。

  快速排序算法作为排序算法中的经典算法,它被应用的影子随处可见。

  快速排序算法最早由Tony Hoare爵士设计,它的基本思想是将待排序列分为两半,左边的一半总是“小的”,右边的一半总是“大的”,这一过程不断递归持续下去,直到整个序列有序。

  说起这位Tony Hoare爵士,快速排序算法其实只是他不经意间的小小发现而已,他对于计算机贡献主要包括形式化方法理论,以及ALGOL60 编程语言的发明等,他也因这些成就获得1980 年图灵奖。

  快速排序的平均时间复杂度仅仅为O(Nlog(N)),相比于普通选择排序和冒泡排序等而言,

  实在是历史性的创举。

  八、1965 快速傅立叶变换

  1965年:IBM 华生研究院的James Cooley,和普林斯顿大学的John Tukey,AT&T贝尔实验室共同推出了快速傅立叶变换。

  快速傅立叶算法是离散傅立叶算法(这可是数字信号处理的基石)的一种快速算法,其时间复杂度仅为O(Nlog(N));比时间效率更为重要的是,快速傅立叶算法非常容易用硬件实现,因此它在电子技术领域得到极其广泛的应用。

  九、1977 整数关系探测算法

  1977年:Helaman Ferguson和 伯明翰大学的Rodney Forcade,提出了Forcade检测算法的整数关系。

  整数关系探测是个古老的问题,其历史甚至可以追溯到欧几里德的时代。具体的说:

  给定—组实数X1,X2,。..,Xn,是否存在不全为零的整数

  a1,a2,。..an,使得:a1 x 1 +a2 x2 + 。 . 。 + an x n =0?

  这一年BrighamYoung大学的Helaman Ferguson 和Rodney Forcade解决了这一问题。

  该算法应用于“简化量子场论中的Feynman图的计算”。

  十、1987 快速多极算法

  1987年:Greengard,和耶鲁大学的Rokhlin发明了快速多极算法。

  此快速多极算法用来计算“经由引力或静电力相互作用的N 个粒子运动的精确计算

  ——例如银河系中的星体,或者蛋白质中的原子间的相互作用”。

公司简介

宜科(天津)电子有限公司是中国工业自动化的领军企业,于2003年在天津投资成立,销售和服务网络覆盖全国。作为中国本土工业自动化产品的提供商和智能制造解决方案的供应商,宜科在汽车、汽车零部件、工程机械、机器人、食品制药、印刷包装、纺织机械、物流设备、电子制造等诸多领域占据领先地位。宜科为智慧工厂的整体规划实施提供自系统层、控制层、网络层到执行层自上而下的全系列服务,产品及解决方案涵盖但不局限于云平台、MES制造执行系统、工业现场总线、工业以太网、工业无线通讯、机器人及智能设备组成的自动化生产线、自动化电气控制系统集成、智能物流仓储系统等,以实现真正智能化的生产制造,从而带来生产力和生产效率的大幅提升,以及对生产灵活性和生产复杂性的管理能力的大幅提升。多年来,宜科以创新的技术、卓越的解决方案和产品坚持不懈地为中国制造业的发展提供全面支持,并以出众的品质和令人信赖的可靠性、领先的技术成就、不懈的创新追求,在业界独树一帜。帮助中国制造业转型升级,加速智能制造进程,成为中国工业4.0智慧工厂解决方案当之无愧的践行者。

更多详情>>

联系我们

  • 联系人:章清涛
  • 热线:18611695135
  • 电话:
  • 传真:
  • 邮箱:18210150532@139.com

Copyright © 2015 ilinki.net Inc. All rights reserved. 智汇工业版权所有

电话:010-62314658 邮箱:service@ilinki.net

主办单位:智汇万联(北京)信息技术有限公司

京ICP备15030148号-1