20世纪十大算法

20世纪十大算法

ID:37239545

大小:77.50 KB

页数:12页

时间:2019-05-20

20世纪十大算法_第1页
20世纪十大算法_第2页
20世纪十大算法_第3页
20世纪十大算法_第4页
20世纪十大算法_第5页
资源描述:

《20世纪十大算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、20世纪十大算法2009-04-0922:46:54其他

2、评论(4)

3、浏览(218)本世纪初,美国物理学会(AmericanInstituteofPhysics)和IEEE计算机社团(IEEEComputerSociety)的一本联合刊物《科学与工程中的计算》发表了由田纳西大学的JackDongarra和橡树岭国家实验室的FrancisSullivan联名撰写的“世纪十大算法”一文,该文“试图整理出在20世纪对科学和工程领域的发展产生最大影响力的十大算法”。作者苦于“任何选择都将是充满争议的,因为

4、实在是没有最好的算法”,他们只好用编年顺序依次列出了这十项算法领域人类智慧的巅峰之作——给出了一份没有排名的算法排行榜。有趣的是,该期杂志还专门邀请了这些算法相关领域的“大拿”为这十大算法撰写十篇综述文章,实在是蔚为壮观。本文的目的,便是要带领读者走马观花,一同回顾当年这一算法界的盛举。1946蒙特卡洛方法在广场上画一个边长一米的正方形,在正方形内部随意用粉笔画一个不规则的形状,呃,能帮我算算这个不规则图形的面积么?蒙特卡洛(MonteCarlo)方法便是解决这个问题的巧妙方法:随机向该正方形内扔

5、N(N是一个很大的自然数)个黄豆,随后数数有多少个黄豆在这个不规则几何形状内部,比如说有M个:那么,这个奇怪形状的面积便近似于M/N,N越大,算出来的值便越精确。别小看这个数黄豆的笨办法,大到国家的民意测验,小到中子的移动轨迹,从金融市场的风险分析,到军事演习的沙盘推演,蒙特卡洛方法无处不在背后发挥着它的神奇威力。蒙特卡洛方法由美国拉斯阿莫斯国家实验室的三位科学家JohnvonNeumann(看清楚了,这位可是冯诺伊曼同志!),StanUlam和NickMetropolis共同发明。就其本质而言,

6、蒙特卡洛方法是用类似于物理实验的近似方法求解问题,它的魔力在于,对于那些规模极大的问题,求解难度随着问题的维数(自变量个数)的增加呈指数级别增长,出现所谓的“维数的灾难”(CourseofDimensionality)。对此,传统方法无能为力,而蒙特卡洛方法却可以独辟蹊径,基于随机仿真的过程给出近似的结果。最后八卦一下,MonteCarlo这个名字是怎么来的?它是摩纳哥的一座以博彩业闻名的城市,赌博其实是门概率的高深学问,不是么?1947单纯形法单纯形法是由大名鼎鼎的“预测未来”的兰德公司的Gro

7、rgeDantzig发明的,它成为线性规划学科的重要基石。所谓线性规划,简单的说,就是给定一组线性(所有变量都是一次幂)约束条件(例如a1*x1+b1*x2+c1*x3>0),求一个给定的目标函数的极值。这么说似乎也太太太抽象了,但在现实中能派上用场的例子可不罕见——比如对于一个公司而言,其能够投入生产的人力物力有限(“线性约束条件”),而公司的目标是利润最大化(“目标函数取最大值”),看,线性规划并不抽象吧!线性规划作为运筹学(operationresearch)的一部分,成为管理科学领域的一种

8、重要工具。而Dantzig提出的单纯形法便是求解类似线性规划问题的一个极其有效的方法,说来惭愧,本科二年级的时候笔者也学过一学期的运筹学,现在脑子里能想起的居然只剩下单纯形法了——不过这不也正说明了该方法的简单和直观么?顺便说句题外话,写过《万历十五年》的黄仁宇曾说中国的传统是“不能从数目字上管理”,我们习惯于“拍脑袋”,而不是基于严格的数据做决定,也许改变这一传统的方法之一就是全民动员学习线性规划喔。1950Krylov子空间迭代法1951矩阵计算的分解方法50年代初的这两个算法都是关于线性代数

9、中的矩阵计算的,看到数学就头大的读者恐怕看到算法的名字已经开始皱眉毛了。Krylov子空间叠代法是用来求解形如Ax=b的方程,A是一个n*n的矩阵,当n充分大时,直接计算变得非常困难,而Krylov方法则巧妙地将其变为Kxi+1=Kxi+b-Axi的迭代形式来求解。这里的K(来源于作者俄国人NikolaiKrylov姓氏的首字母)是一个构造出来的接近于A的矩阵,而迭代形式的算法的妙处在于,它将复杂问题化简为阶段性的易于计算的子步骤。1951年由橡树岭国家实验室的AlstonHouseholder提

10、出的矩阵计算的分解方法,则证明了任何矩阵都可以分解为三角、对角、正交和其他特殊形式的矩阵,该算法的意义使得开发灵活的矩阵计算软件包成为可能。1957优化的Fortran编译器说实话,在这份学术气息无比浓郁的榜单里突然冒出一个编译器(Compiler)如此工程化的东东实在让人有“关公战秦琼”的感觉。不过换个角度想想,Fortran这一门几乎为科学计算度身定制的编程语言对于科学家(尤其是数学家,物理学家)们实在是太重要了,简直是他们形影不离的一把瑞士军刀,这也难怪他们纷纷抢着要把票投给

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。