首页 算法的发展史

算法的发展史

举报
开通vip

算法的发展史算法的发展史(时间轴)公元前4000年-在这儿,我们必须提到远古的苏美尔人。我们都知道,人类文明的发祥地是在两河流域一带,约公元前4000年,在两河流域的交汇处,孕育着聪明的苏美尔人,是他们发明了人类最早的文字——楔形文字,以及“一周七天”,“一年十二个月”等历算法。公元前3000年-一个多位数的乘法就是通过多次使用一位数乘法,一位数加法和进位运算规则实现的,可以看作是一个算法过程.人类最早关于算法的记录是在两河流域发现的公元前两三千年的黏土板...

算法的发展史
算法的发展史(时间轴)公元前4000年-在这儿,我们必须提到远古的苏美尔人。我们都知道,人类文明的发祥地是在两河流域一带,约公元前4000年,在两河流域的交汇处,孕育着聪明的苏美尔人,是他们发明了人类最早的文字——楔形文字,以及“一周七天”,“一年十二个月”等历算法。公元前3000年-一个多位数的乘法就是通过多次使用一位数乘法,一位数加法和进位运算规则实现的,可以看作是一个算法过程.人类最早关于算法的记录是在两河流域发现的公元前两三千年的黏土板,其中的一个典型例子就是计算利息何时能够等于本金.算法早期发展中值得一提的另一个成果应归功于古希腊的欧几里德...一个多位数的乘法就是通过多次使用一位数乘法,一位数加法和进位运算规则实现的,可以看作是一个算法过程.人类最早关于算法的记录是在两河流域发现的公元前两三千年的黏土板,其中的一个典型例子就是计算利息何时能够等于本金.公元前2698年-5、黄帝,与炎帝同为少典所生,史记记载炎帝、黄帝为兄弟,公元前2698年,黄帝的有熊部落打败炎帝的神农部落和蚩尤的九黎部落统一中国,建立黄帝王朝。点评:黄帝原名姬轩辕,为儒家尊崇的五帝之一。传说中黄帝发明了房屋、衣裳、车船、兵器、阵法、音乐、器具、井田。黄帝的妻子和大臣...黄帝,与炎帝同为少典所生,史记记载炎帝、黄帝为兄弟,公元前2698年,黄帝的有熊部落打败炎帝的神农部落和蚩尤的九黎部落统一中国,建立黄帝王朝。点评:黄帝原名姬轩辕,为儒家尊崇的五帝之一。传说中黄帝发明了房屋、衣裳、车船、兵器、阵法、音乐、器具、井田。黄帝的妻子和大臣也各有贡献,妻子螺祖发明养蚕抽丝,大臣仓颉发明文字,大臣隶首发明算法,大臣容成发明历法。公元前2100年-从这些历史资料中,人们发现:在公元前2100年左右,美索不达米亚人已有了乘法表,其中使用着六十进位制的算法。这些符号实际上就是巴比伦人所用的文字,人们称它为“楔形文字”。科学家经过研究发现,泥版上记载的,是巴比伦人已获得的知识,其中有大量的数学知识,大约有300块是纯数学的内容,其中约200块是各种数表,包括乘法表、倒数表、平方和立方表等。从这些历史资料中,人们发现:在公元前2100年左右,美索不达米亚人已有了乘法表,其中使用着六十进位制的算法。公元前2100年-公元前2100年,中国夏朝出现象征吉祥的河图洛书纵横图,即为“九宫算”,这被认为是现代“组合数学”最古老的发现。美索不达米亚人已有了乘法表,其中使用着六十进位制的算法。公元前1900~前1600,古埃及的纸草书上出现数学记载,已有基于十进制的记数法,将乘法简化为加法的算术、分数...公元前2100年,中国夏朝出现象征吉祥的河图洛书纵横图,即为“九宫算”,这被认为是现代“组合数学”最古老的发现。美索不达米亚人已有了乘法表,其中使用着六十进位制的算法。公元前2000年-在大约公元前两千年,巴比伦人设计了一个以两朔月291/2天平均周期为基本的历制。在这个历制中,一年分为十二个阴历月,总计354日。由于这套算法比太阳日少了11天,不久后收获祭典举行的季节不对了。为了保证祭典和季节之间的正确关系,祭司忽然想出一套仍在使用的办法--闰法,将...在大约公元前两千年,巴比伦人设计了一个以两朔月291/2天平均周期为基本的历制。在这个历制中,一年分为十二个阴历月,总计354日。由于这套算法比太阳日少了11天,不久后收获祭典举行的季节不对了。为了保证祭典和季节之间的正确关系,祭司忽然想出一套仍在使用的办法--闰法,将额外的日或月加入,以修正不吻合的天文周期,而使得历制和自然节期调和。公元前2000年-在一些方面,达罗毗托人的文化比埃及和苏马连文化高。他们有自己的独特的文字,有十进制的算法。大约公元前两千年的时候,印度人就已经使用51个字母组成的文字,数学在印度曾被认为最重要的科学之一。和许多古老的民族一样,它的头一批数学家也是僧侣。早在公元前1900年,一个古埃及书写员就在一个铭文中使用了非 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 的象形文字,这是人类最早的有记录的密码术.公元前1400年-大约在这时,美索不达米亚人有了乘法表,其中使用着六十进位制的算法。稍后,即公元前1900~前1600,古埃及的纸草书上出现数学记载。公元前400年-密码最早用于军事用途应该是公元前400年的斯巴达人,他们使用了一种叫做“天言”的情报传递方式。恺撒密码只是很经典,古典密码阶段各种经典算法都是由其变化而来,不过确实称不上第一。公元前300年-辗转相除法是求最大公约数的一种算法,是由古希腊著名数学家欧几里得在公元前300年左右提出的,因而又叫欧几里得算法.这个算法本质上揭示了一个定理:对于两个正整数a>b,如果a=bq+r(0<r≤b),那么a,b的最大公约数等于b,r的最大公约数.其算法的具体步骤为:第一步:输入两个正整数a,b(a>b...辗转相除法是求最大公约数的一种算法,是由古希腊著名数学家欧几里得在公元前300年左右提出的,因而又叫欧几里得算法.这个算法本质上揭示了一个定理:对于两个正整数a>b,如果a=bq+r(0<r≤b),那么a,b的最大公约数等于b,r的最大公约数.其算法的具体步骤为:第一步:输入两个正整数a,b(a>b),第二步:计算a÷b的余数r;第三步:a=b,b=r;第四步:若r=0,则最大公约数为m;否则返回第二步.公元前240年-约公元前240年,古希腊数学家埃拉托斯特尼首先提出了一种判断一个数是否素数的简单 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 。但随着数字的增大,使用这种方法所需的时间成指数增长。从那以后数学家们一直试图寻找一种“多项式时间”算法,以便在合理时间里解决问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 。公元前200年-矩阵作为数的长方阵列,大概出现在公元前200年的中国数学中,不过它们仅仅是线性方程组的缩写。矩阵变得重要仅当它们被施以加法、减法、尤其是乘法;矩阵变得更重要,这通过它们能派的用处就能看出来。在高斯的《算术研究》(Disquisitiones)中,矩阵被隐式地作为线性变换的缩写而提出...矩阵作为数的长方阵列,大概出现在公元前200年的中国数学中,不过它们仅仅是线性方程组的缩写。矩阵变得重要仅当它们被施以加法、减法、尤其是乘法;矩阵变得更重要,这通过它们能派的用处就能看出来。在高斯的《算术研究》(Disquisitiones)中,矩阵被隐式地作为线性变换的缩写而提出,但现在却是以一种意义深远的方式。高斯对二元二次型f(x,y)=ax2+bxy+cy2的算法理论做了深入研究。公元前50年-密文:mldqjalqrupdoxqlyhuvlwb公元前50年,古罗马的凯撒大帝在高卢战争中采用的加密方法.凯撒密码算法就是把每个英文字母向前推移K位.公元前46年-由于资料欠缺加强读者的记忆在先开始虽然讲了关于历史的知识和一些算法,虽然有些罗嗦但希望对读者有些帮助。这还得从公历历法谈起:原来公历的前身是公元前46年古罗马皇帝儒略·恺撒创始的。恺撒当皇帝时,当时的历法与天象气候等相差3个月之多(冬天变成了春天,春天变成了夏天,夏天变...公历的前身是公元前46年古罗马皇帝儒略·恺撒创始的。恺撒当皇帝时,当时的历法与天象气候等相差3个月之多(冬天变成了春天,春天变成了夏天,夏天变成了秋天,秋天变成了冬天),于是他采纳了一位埃及天文学家的建议,废除旧历,颁布一种完全的太阳历,即儒略历。公元50年-给出了多项式求值的“秦九韶算法”.创造了解线性方程组的“首图—终图法”,等价于高斯消元法.给出了求三角形面积的“三斜求积公式”,等价于古希腊数学家海伦于公元50年给出“海伦公式”.公元100年-九章数学》成书于公元1百年,记录加减乘除四种运算和比例算法,开平方、开立米、求解一元二次方程和负数观点都是世界最先的公元263年-263年,三国魏人刘徽注释《九章算术》,在《九章算术注》中不仅对原书的方法、公式和定理进行一般的解释和推导,系统地阐述了中国传统数学的理论体系与数学原理,而且在其论述中多有创造,在卷1《方田》中创立割圆术(即用圆内接正多边形面积无限逼近圆面积的办法),为圆周率的研究工作...263年,三国魏人刘徽注释《九章算术》,在《九章算术注》中不仅对原书的方法、公式和定理进行一般的解释和推导,系统地阐述了中国传统数学的理论体系与数学原理,而且在其论述中多有创造,在卷1《方田》中创立割圆术(即用圆内接正多边形面积无限逼近圆面积的办法),为圆周率的研究工作奠定理论基础和提供了科学的算法,他运用“割圆术”得出圆周率的近似值为3927/1250(即3.1416);公元321年-321年,君士坦丁大帝于3月7日正式公布“公历”,成为定制,逐渐成为国际惯例。我国古代历法把二十八宿按日、月、火、水、木、金、土的次序排列,七日为一周,称为“七曜”。这种算法与西方历法暗合。按七天一周的记日法由来颇为古老,已难于考证。据说古代巴比伦人以太阳、月亮和金、木...321年,君士坦丁大帝于3月7日正式公布“公历”,成为定制,逐渐成为国际惯例。我国古代历法把二十八宿按日、月、火、水、木、金、土的次序排列,七日为一周,称为“七曜”。这种算法与西方历法暗合。公元400年-孙子算经》的作者不详,估计是公元400年左右的数学著作。它是一部直接涉及到乘除运算、求面积和体积、处理分数以及开平方和立方的著作。对筹算的分数算法和筹算开平方法以及当时的度量衡体系,都作了描绘,其中有关数论上原一个“物不知数”的计算问题,是世界上最早提出算法的,被誉为“孙子定理”公元500年-到了三国时代,出现两个数学家,一个叫刘徽,一个叫赵爽,对二次方程有了比较纯粹的解答。到了公元五百年,进入南北朝时代,祖冲之考虑了三次方程。五百年出了一个《缉古算经》,一个未知数的多项式方程的算法。公元600年-十进制系统,由印度发明于公元600年左右,它是定量推理的革命。它仅仅使用了10个符号,甚至可以很简洁地写出很大的数字,它使得后面演示的算法基本步骤变得非常有效率。尽管如此,由于传统语言的阻碍,在很长一段时间内它都不被人们所熟知。公元825年-注释添加必要的注释以说明程序过程和语句等的功能及注意事项代码 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 的重要性81算法公元825年,阿拉伯数学家阿科瓦里茨米(AlKhowarizmi)撰写了著名的《波斯教科书》(PersianTextbook)书中概括了进行四则算Textbook),书中概括了进行四则算术运算的法则."算法(Algorithm)"一词就来源...阿拉伯数学家阿科瓦里茨米(AlKhowarizmi)撰写了著名的《波斯教科书》(PersianTextbook)书中概括了进行四则算Textbook),书中概括了进行四则算术运算的法则."算法(Algorithm)"一词就来源于这位数学家的名字1202年-公元1202年,斐波那契的传世之作《算法之术》出版。在这部名著中,斐波那契提出了以下饶有趣味的问题:.假定一对刚出生的小兔一个月后就能长成大兔,再过一个月便能生下一对小兔,并且此后每个月都生一对小兔。一年内没有发生死亡。问一对刚出生的兔子,一年内能繁殖成多少对兔子?1360年-约公元1360年·法国奥雷姆著《比例算法》,引入分指数概念,又在《论质量与运动的结构》等著作中研究变化与变化率,用经、纬度(相当于横、纵坐标)表示点的位置并进而讨论函数图象。1478年-西方国家第一部印刷本的算术书于1478年诞生于意大利的特雷维索城,名为《特雷维索算术》,作者不详.这本书的内容多半是商业算术,包括印度—阿拉伯数字的写法和算法,合股和换货的计算法以及一些数学游戏.在德国,最有影响的算术书是由著名计算师里泽(AdlamRiese,1492~1559...西方国家第一部印刷本的算术书于1478年诞生于意大利的特雷维索城,名为《特雷维索算术》,作者不详.这本书的内容多半是商业算术,包括印度—阿拉伯数字的写法和算法,合股和换货的计算法以及一些数学游戏.在德国,最有影响的算术书是由著名计算师里泽(AdlamRiese,1492~1559)编写的.他广招学生,写了一系列教材.有一本算术教材(1522)共4篇:算盘计数,笔算,商业算术,测量面积和体积.1484年-法国数学家许凯在1484年写成的《算术三篇》中,使用了一些编写符号,如用D表示加法,用M表示减法.这两个符号最早出现在德国数学家维德曼写的《商业速算法》中,他用“+”表示超过,用“─”表示不足.1522年-L·帕奇欧里(Pacioli)的《算术、几何及比例性质之摘要》(Summadearithmetica,geometrica,proportionietproportionalita,1494)是一本内容全面的数学书;J·维德曼(Widman)的《商业速算法》(1489)中首次使用符号「+」和「-」表示加法和减法;A·里泽(Riese)于1522年出版的算术书多...印度─阿拉伯数码的使用使算术运算日趋标准化。L·帕奇欧里(Pacioli)的《算术、几何及比例性质之摘要》(Summadearithmetica,geometrica,proportionietproportionalita,1494)是一本内容全面的数学书;J·维德曼(Widman)的《商业速算法》(1489)中首次使用符号「+」和「-」表示加法和减法;A·里泽(Riese)于1522年出版的算术书多次再版,有广泛的影响;斯蒂文(SimonStevin)的《论十进》(1585)系统阐述了十进分数的理论。1533年5月3日-他撰写的《算法统宗》是一部印量很大、传播很广的数学著作.程大位,安徽人,1533年5月3日出生在风景秀美的江南小城休宁(今属黄山市)的一个商人家庭.他自幼聪明好学,对书法、数学特别喜爱.他对考取功名并不热衷,而把主要精力用于经世实用的学问,对数学的学习和研究特别下力气.他...他撰写的《算法统宗》是一部印量很大、传播很广的数学著作.程大位,安徽人,1533年5月3日出生在风景秀美的江南小城休宁(今属黄山市)的一个商人家庭.他自幼聪明好学,对书法、数学特别喜爱.他对考取功名并不热衷,而把主要精力用于经世实用的学问,对数学的学习和研究特别下力气.他想尽办法广泛搜求古今各种数学书籍,见到好的数学书籍,不惜重金购买,带回家去,不分昼夜地刻苦钻研.1545年G.Cardano(1501-1576)公布了由N.Fontana(1499-1557)发现了解一元三次方程的解,而一元四次方程的解由L.Ferrari(1522—1565)所解决。于是当时大批的数学家致力于更高次方程的求根式解,即企图只对方程的系数作加、减、乘、除和求正整数次方根等运算来表达方程的解。1583年-《同文算指》是意大利耶稣会士利玛窦和李之藻根据利玛窦的老师克拉维斯(ChristopherClavius,1537—1612)在1583年出版的《实用算术概论》(EpitomeArithmeticaePracticae)一书编译的,同时也参考了中国数学家程大位的《算法统宗》一书。全书分《前编》、《通编》和《别编》三部分。1593年-到了明代,珠算发展到了顶峰。1593年,明代数学家程大位所著《算法统宗》面世。《算法统宗》是一部以珠算应用为主的算书。全书共17卷,载有算盘图式和珠算口诀,并首次提到了用算盘做开平方和开立方的运算。1607年-1607年,"几何原本"前六卷正式出版,马上引起巨大的反响,成了明末从事数学工作的人的一部必读书,对发展我国的近代数学起了很大的作用。和当时一般文人官吏热衷于笔墨应酬不同,徐光启用较多的时间进行天文、算法、农学、水利等科学技术研究,从事了不少这方面的翻译和写作。1628年-《筹算》是罗雅谷于1628年写成的一本关于西方的(纳贝尔)筹及其算法的数学著作.介绍了《筹算》在中国的流传和中国清代数学家对该算法的发展情况.1666年-1666年莱布尼兹所著《组合学论文》一书问世,这是组合数学的第一部专著.书中首次使用了组合论(Combinatorics)一词.组合数学的蓬勃发展则是在计算机问世和普遍应用之后.计算机促进组合数学的发展信息技术为组合数学提出大量研究问题计算机为解决组合数学问题提供一种手段设计算法需要组合...1666年莱布尼兹所著《组合学论文》一书问世,这是组合数学的第一部专著.书中首次使用了组合论(Combinatorics)一词.组合数学的蓬勃发展则是在计算机问世和普遍应用之后.计算机促进组合数学的发展信息技术为组合数学提出大量研究问题计算机为解决组合数学问题提供一种手段设计算法需要组合数学基础,如算法的运行时间和存储需求估计组合数学应用与社会科学,生物学和信息论等其他领域.1686年-1686年,莱布尼茨发表了他的第一篇积分学论文《深奥的几何与不可分量及无限的分析》,这篇论文初步论述了积分或求积问题与微分或切线问题的互逆关系,文中莱布尼茨创造的微分符号dx,dy及积分号∫(表示的是"sum"的首字母s的拉长)第一次出现于印刷出版物上,并一直沿用至今.牛顿和莱布尼...1686年,莱布尼茨发表了他的第一篇积分学论文《深奥的几何与不可分量及无限的分析》,这篇论文初步论述了积分或求积问题与微分或切线问题的互逆关系,文中莱布尼茨创造的微分符号dx,dy及积分号∫(表示的是"sum"的首字母s的拉长)第一次出现于印刷出版物上,并一直沿用至今.牛顿和莱布尼茨超越前人的贡献主要在于给出了一般无穷小算法,发现了微分和积分之间的互逆关系,这一深刻的数学思想已成为人类文明中的瑰宝.1687年-牛顿最伟大的著作是1687年出版的巨著《自然哲学的数学原理》,在这部著作中,牛顿以几何的语言介绍了“首末比方法”。牛顿在数学上最卓越的贡献是微积分的创建。他超越前人的功绩在于他能站在更高的角度,使以往分散的分别对微分、积分的研究加以综合,将自古希腊以来求解问题的各种特殊...这一论著被看作是牛顿最成熟的微积分著述。牛顿最伟大的著作是1687年出版的巨著《自然哲学的数学原理》,在这部著作中,牛顿以几何的语言介绍了“首末比方法”。牛顿在数学上最卓越的贡献是微积分的创建。他超越前人的功绩在于他能站在更高的角度,使以往分散的分别对微分、积分的研究加以综合,将自古希腊以来求解问题的各种特殊技巧统一为两类普遍的算法—微分和积分,并确立了这两类运算的互逆关系,从而完成了微积分发明中最后的也是最关键的一步。1700年前后,德国伟大的科学家莱布尼茨提出了二进制算法,这可以说是为现代计算机奠定了算法基础。同时,通过对中国古老“易经”的研究,莱布尼茨也在中国的传统文化中印证了二进制的思想。1722年-德国作曲家巴赫于1722年发表的《谐和音律曲集》(另或译为《十二平均律曲集》英文:《The48》),有可能就是为十二平均律的键盘乐器所著。1735年-在计算机领域中广泛使用的RSA公钥密码算法也正是以欧拉函数为基础的。在分析领域,是欧拉综合了莱布尼兹的微分与牛顿的流数。他在1735年由于解决了长期悬而未决的贝塞尔问题而获得名声。在1735年,他定义了微分方程中有用的欧拉-马歇罗尼常数。1759年-最早可以追溯到1759年Euler提出的骑士旅行问题。TSP问题是一个典型的、容易描述但是难以处理的NP完全问题,同时TSP问题也是诸多领域内出现的多种复杂问题的集中概括和简化形式。目前求解TSP问题的主要方法有启发式搜索法、模拟退火算法、遗传算法、Hopfield神经网络算法、二叉树...引言第一章基本遗传算法货郎担问题(TravelingSalesmanProblem,TSP),也称为巡回旅行商问题,是一个较古的问题。最早可以追溯到1759年Euler提出的骑士旅行问题。TSP问题是一个典型的、容易描述但是难以处理的NP完全问题,同时TSP问题也是诸多领域内出现的多种复杂问题的集中概括和简化形式。目前求解TSP问题的主要方法有启发式搜索法、模拟退火算法、遗传算法、Hopfield神经网络算法、二叉树描述算法。1815年-软件行业的奇人轶事AdaLovelace(阿达奥古斯塔1815-1852)1815年生于英国伦敦为巴贝奇分析机拟定了"算法",然后写作了一份"程序设计流程图".这份珍贵的规划,被人们视为"第一件计算机程序"世界上第一位软件工程师!1828年17岁的法国数学家伽罗华(E·Galois1811-1832)写出了划时代的论文“关于五次方程的代数解法问题”,指出即使在公式中容许用n次方根,并用类似算法求五次或更高次代数方程的根是不可能的文章呈交法兰西科学院后,因辈份太低遭到冷遇,且文稿丢失。1834年:巴贝奇提出了分析机的概念,他设计的分析机共分为三个部分:堆栈,运算器,控制器。堆栈是保存数据的齿轮式寄存器。运算器是对数据进行各种运算的装置。控制器是对操作顺序进行控制,并对所要处理的数据及输出结果加以选择的装置。1843年-因此,对压缩算法的研究主要基于无损压缩的一类算法展开。对于数据压缩的研究已有较长的时间,如1843年出现的Morse电报码是最原始的变长码数据压缩实例。但是严格意义上的数据压缩应起源于人们对概率的认识。当对文字信息进行编码时,如果为出现概率较高的字母赋予较短的编码,为...因此,对压缩算法的研究主要基于无损压缩的一类算法展开。对于数据压缩的研究已有较长的时间,如1843年出现的Morse电报码是最原始的变长码数据压缩实例。但是严格意义上的数据压缩应起源于人们对概率的认识。1844年,当加·拉姆(G.Lame)用斐波纳契序列研究欧几里得算法的效率时,头一次指出了Fn与算法之间的密切关系。这是斐波纳契序列的头一次实际应用。1847年-[答]:布林体即是布尔运算,是英国数学家GeorgeBoolean于1847年制定完成的一套逻辑数学计算方法,用来表示两个数值相结合的所有结果.后来人们以他的名字命名这套算法,称为“Boolean”(布尔运算).也就是在初学数学中的集合中的并集,联集和交集都是布尔运算,JewelCAD中称为布林体,但...、布林体即是布尔运算,是英国数学家GeorgeBoolean于1847年制定完成的一套逻辑数学计算方法,用来表示两个数值相结合的所有结果.后来人们以他的名字命名这套算法,称为“Boolean”(布尔运算).也就是在初学数学中的集合中的并集,联集和交集都是布尔运算,JewelCAD中称为布林体,但不支持曲线进行布尔体操作.1900年-龙格-库塔(Runge-Kutta)方法是一种在工程上应用广泛的高精度单步算法,常用于模拟常微分方程的解的重要的一类隐式或显式迭代法。这些技术由数学家C.Runge和MWKutta于1900年左右发明。由于此算法精度高,采取措施对误差进行抑制,所以其实现原理也较复杂。同前几种算法一样,该算法...龙格-库塔(Runge-Kutta)方法是一种在工程上应用广泛的高精度单步算法,常用于模拟常微分方程的解的重要的一类隐式或显式迭代法。这些技术由数学家C.Runge和MWKutta于1900年左右发明。由于此算法精度高,采取措施对误差进行抑制,所以其实现原理也较复杂。同前几种算法一样,该算法也是构建在数学支持的基础之上的。1917年-讨论流密码(StreamCiphers),就要从一次一密系统说起.一次一密算法,是由MajorJosephMauborgne和AT&T公司的GilbertVernam在1917年设计的一种加密算法[3].主要使用在高度机密的低带宽信道,据传,美国和前苏联之间的热线电话就是用这种加密算法加密.一次一密系统加密体制...讨论流密码(StreamCiphers),就要从一次一密系统说起.一次一密算法,是由MajorJosephMauborgne和AT&T公司的GilbertVernam在1917年设计的一种加密算法[3].主要使用在高度机密的低带宽信道1930年-Jarník在1930年提出的算法,不过他的文章是用捷克语写的,光看标题就看不明白了。有人也把这个算法就叫做Prim-Jarnik算法。Prim算法简单有效,他从图的一个指定的顶点出发,用V表示树顶点集,初始只有那个指定的顶点;E表示最终最小生成树中有的边的集合,初始是空集。从V中的顶点...Jarník在1930年提出的算法,不过他的文章是用捷克语写的,光看标题就看不明白了。有人也把这个算法就叫做Prim-Jarnik算法。Prim算法简单有效,他从图的一个指定的顶点出发,用V表示树顶点集,初始只有那个指定的顶点;E表示最终最小生成树中有的边的集合,初始是空集。从V中的顶点出发,找到从这个顶点出发的权值最小的边,如果这条边不构成回边,那么选入最小生成树,并将这条边加到E集合中,边的另一端结点加入到V集合中。1934年-哥德尔在证明不完全性定理时使用了一组函数作为工具,即原始递归函数。起初人们希望原始递归函数即算法可计算函数的数学定义,后来发现还有非原始递归函数也是算法可计算的:要在原始递归函数基础上推广函数类。人们在历史上第一次给出算法的数学定义是哥德尔于1934年在普林斯顿高等研究...哥德尔在证明不完全性定理时使用了一组函数作为工具,即原始递归函数。起初人们希望原始递归函数即算法可计算函数的数学定义,后来发现还有非原始递归函数也是算法可计算的:要在原始递归函数基础上推广函数类。人们在历史上第一次给出算法的数学定义是哥德尔于1934年在普林斯顿高等研究所报告的递归函数的定义。1943年,哥德尔用形式化演算系统的推理规则确定出可计算函数。在波斯特和图灵的研究工作的基础上,就可以根据它们提出的算法概念的精确化方法来确定可计算函数。可计算函数的确定依赖于算法的精确化,而算法的精确化又依赖于逻辑系统的形式化和精确化。 1951年-Booth算法Booth编码是ADBooth在1951年为了解决由符号乘法运算中复杂的符号修正问题而提出的一种乘数编码方法。它是目前被广大设计者所普遍采用的乘法器编码算法之一,该算法原理如下所示。如果直接考虑符号位,两个n位补码表示的有符号数相乘A×B,那么乘数B可以表示为:B...Booth算法Booth编码是ADBooth在1951年为了解决由符号乘法运算中复杂的符号修正问题而提出的一种乘数编码方法。它是目前被广大设计者所普遍采用的乘法器编码算法之一1958年-不久降生的另外一种高级语言是ALGOL,这个名称就是算法语言的简称,因此可以预料到这种语言具有与FORTRAN非常不同的面貌,因为这种语言在设计初始,就不是计算机制造公司为某种特定机器设计的,而是纯粹面向描述计算过程的,也就是所谓面向算法描述的.ALGOL最早是在1958年由...不久降生的另外一种高级语言是ALGOL,这个名称就是算法语言的简称,因此可以预料到这种语言具有与FORTRAN非常不同的面貌,因为这种语言在设计初始,就不是计算机制造公司为某种特定机器设计的,而是纯粹面向描述计算过程的,也就是所谓面向算法描述的.ALGOL最早是在1958年由德意志联邦共和国应用数学与力学协会提出的.ALGOL的设计目标显然比FORTRAN要来得高远,它希望不仅能够用于人对机器转述计算过程,也希望能够直接用于人与人之间的对于算法的描述.1959年-OSPF路由协议使用SPF(ShortestPathFirst)算法计算路由的最佳路径。该算法是由一位荷兰的计算机科学家Dijkstra于1959年发现的,所以该算法也称为Dijkstra算法。IS-IS也使用这种算法。该算法把网络考虑为一组点到点连接的节点,每条链路有一个开销值,每个节点有它自己的...OSPF路由协议使用SPF(ShortestPathFirst)算法计算路由的最佳路径。该算法是由一位荷兰的计算机科学家Dijkstra于1959年发现的,所以该算法也称为Dijkstra算法。IS-IS也使用这种算法。该算法把网络考虑为一组点到点连接的节点,每条链路有一个开销值,每个节点有它自己的名称及一个包含已知物理拓扑的完整链路信息的数据库。1965年,库力和图基在《计算数学》杂志上发表《机器计算傅立叶级数的一种算法》,此文是最早提出FFT算法的。此后关于DFT的快速算法称为人们研究的热点课题,也正是FFT算法的出现,才使得数字信号处理能够应用于实时场合并进一步推动数字信号处理的发展和应用。大多数的FFT算法都是利用(3)式的周期性、共轭对称性、可压缩和扩展性的特点来压缩计算量1965年-一、二分图最大匹配二分图最大匹配的经典匈牙利算法是由Edmonds在1965年提出的,算法的核心就是根据一个初始匹配不停的找增广路,直到没有增广路为止。匈牙利算法的本质实际上和基于增广路特性的最大流算法还是相似的,只需要注意两点:(一)每个X节点都最多做一次增广路的起点...一、二分图最大匹配二分图最大匹配的经典匈牙利算法是由Edmonds在1965年提出的,算法的核心就是根据一个初始匹配不停的找增广路,直到没有增广路为止。匈牙利算法的本质实际上和基于增广路特性的最大流算法还是相似的,只需要注意两点:(一)每个X节点都最多做一次增广路的起点;(二)如果一个Y节点已经匹配了,那么增广路到这儿的时候唯一的路径是走到Y节点的匹配点(可以回忆最大流算法中的后向边,这个时候后向边是可以增流的)。1965年-银行家算法(Banker'sAlgorithm)银行家算法是避免死结(Deadlock)的一个著名的算法,是由艾兹格·迪杰斯特拉在1965年为THE系统设计的一种避免死结产生的演算法。它以银行借贷系统的分配策略为基础,判断并保证系统的安全运行。1965年-LR算法LRalgorithm由克努特(Knuth)于1965年提出的一种自底向上分析方法。根据分析栈的内容以及向前看k个输入串的符号决定分析动作的方法称为LR(k)算法。LR算法是k取不同值时的LR(k)算法的总称。靠左推导leftmostderivation推导句子时,总是扩展重写规则右部(RHS)的...LR算法LRalgorithm由克努特(Knuth)于1965年提出的一种自底向上分析方法。根据分析栈的内容以及向前看k个输入串的符号决定分析动作的方法称为LR(k)算法。LR算法是k取不同值时的LR(k)算法的总称。靠左推导leftmostderivation推导句子时,总是扩展重写规则右部(RHS)的第一个非终极符号的推导。最左推导靠右推导rightmostderivation推导句子时,总是扩展重写规则右部(RHS)的最后一个非终极符号的推导。复杂度的概念首先由Kolmogorov[8]于1965年提出来,后由Lempel和Ziv[9]及Kasper和Schuster[10]给出了实现这种复杂性的具体算法。这种算法可以给出时间序列的信息含量。复杂度算法描述如下:.(1)首先将已知序列{X1,X2,…,Xn}重构,令大于数列平均值的X...复杂度的概念首先由Kolmogorov[8]于1965年提出来,后由Lempel和Ziv[9]及Kasper和Schuster[10]给出了实现这种复杂性的具体算法。GMD算法由Forney于1966年提出。GMD译码算法是一种简单优雅的软判决译码算法。对于最小距离为dmin的(n,k)线性分组码,若2v+e<=dmin-1,则错误-删除译码算法可以纠正v个错误和e个删除的所有组合。GMD算法考虑e<=dmin-1个删除出现在dmin-1个最不可靠的位置上的所有情况,因为这些位置是最可能出错的位置。算法描述如下:.根据接收序列r得到硬判决接收序列z,并对z的每一个符号分配一个可靠性值。Viterbi译码算法(简称VA算法)是由Viterbi在1967年首先提出的,它是一种针对卷积码的最大似然译码算法。他不是在网格图上依次比较所有的可能路径,而是接受一段,计算、比较一段,保留最有可能的路径,从而达到整个码序列是一个最大似然序列。Viterbi译码算法优点是在码的约束比较...Viterbi译码算法(简称VA算法)是由Viterbi在1967年首先提出的,它是一种针对卷积码的最大似然译码算法。他不是在网格图上依次比较所有的可能路径,而是接受一段,计算、比较一段,保留最有可能的路径,从而达到整个码序列是一个最大似然序列。Viterbi译码算法优点是在码的约束比较小时,它比序列译码算法效率更高、速度更快,译码器也较简单。1969年-1969年Berliner提出了B*算法,用一个乐观值和一个悲观值来表示评价值。算法从这点出发,用这两个界来证明哪个节点是最好的。当根节点的一个孩子的悲观值不比所有其它节点的乐观值差的时候,B*算法就结束了。算法的搜索控制就是尽可能快的得到终止条件。B*算法的缺点是它对局面的乐观...1969年Berliner提出了B*算法,用一个乐观值和一个悲观值来表示评价值。算法从这点出发,用这两个界来证明哪个节点是最好的。当根节点的一个孩子的悲观值不比所有其它节点的乐观值差的时候,B*算法就结束了。算法的搜索控制就是尽可能快的得到终止条件。B*算法的缺点是它对局面的乐观值和悲观值的估计得可信赖程度,它对这个估值的依赖性太强。1971年-随着计算机的量产,NAG所研发出来的第一版Fortran算法库于1971年上市,自此之后NAG不断推陈出新,现在的NAG算法库已经演进到第22版。NAG算法库是以NAG引擎为核心,包含所有各种的数学、统计以及数据挖掘等函数,并将其编写成具有简洁、高精确度与高效能的各种计算机语言...随着计算机的量产,NAG所研发出来的第一版Fortran算法库于1971年上市,自此之后NAG不断推陈出新,现在的NAG算法库已经演进到第22版。NAG算法库是以NAG引擎为核心,包含所有各种的数学、统计以及数据挖掘等函数,并将其编写成具有简洁、高精确度与高效能的各种计算机语言算法函数,提供制造、金融、大气、航天、工程、医学以及军事等研究人员及编程人员使用。1973年5月13日-数据加密标准(DataEncryptionStandard)是迄今为止使用得最为广泛的加密算法。1973年5月13日美国国家标准局公布了一项公告,征求国家密码标准 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。IBM提交了他们研制的一种密码算法,该算法是由早期的LUCIFER密码改进而得的。1974年8月27日-1974年8月27日,NBS开始第二次征集,IBM提交了算法LUCIFER,该算法由Feistel领导的团队研究开发,采用64位分组以及128位密钥。IBM用改版的Lucifer算法参加竞争,最后获胜,成为数据加密标准(DataEncryptionStandard,DES)。1975年-1975年Holland出版了遗传算法历史上的经典著作《自然和人工系统中的适应性》,系统阐述了遗传算法的基本理论和方法,并提出了模式定理(schematatheorem),证明在遗传算子选择、交叉和变异的作用下,具有低阶、短定义距以及平均适应度高于群体平均适应度的模式在子代中将以指数级增长...1975年Holland出版了遗传算法历史上的经典著作《自然和人工系统中的适应性》,系统阐述了遗传算法的基本理论和方法,并提出了模式定理(schematatheorem),证明在遗传算子选择、交叉和变异的作用下,具有低阶、短定义距以及平均适应度高于群体平均适应度的模式在子代中将以指数级增长,这里的模式是某一类字符串,其某些位置有相似性。1975年-首先简要介绍一下AC自动机:Aho-Corasickautomation,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法之一。1976年-1976年出现的随机算法拓宽了算法的概念,开拓了算法设计的新领域。目前研究比较多的随机类有ZPP、BPP、PP等。这些类与其他一些重要的复杂性类之间存在着深刻联系,因而P=?BPP在计算复杂性研究中也是吸引人的问题。软件开发自动化是提高软件生产率,保证软件产品可靠性的途径之...1976年出现的随机算法拓宽了算法的概念,开拓了算法设计的新领域。目前研究比较多的随机类有ZPP、BPP、PP等。这些类与其他一些重要的复杂性类之间存在着深刻联系,因而P=?BPP在计算复杂性研究中也是吸引人的问题。软件开发自动化是提高软件生产率,保证软件产品可靠性的途径之一。算法设计是软件开发中最困难的也是最富创造性的活动,因而算法设计自动化的研究构成了软件开发自动化研究的核心内容。1977年-RSA算法的历史RSA算法的历史著名的RSA公钥密码体制是在1977年由RLRivest,A.Shamir和L.Adleman三人共同提出.RSA是最具代表性的公钥密码体制.由于算法完善(既可用于数据加密,又可用于数字签名),安全性良好,易于实现和理解,RSA已成为一种应用极广的公钥密码体制,也是目前...由于RSA算法发展至今,在实现技术上已经相当成熟,因此本课题算法的实现在许多方面都可以利用己有的技术,这对增强算法的实用性是非常有益的.RSA算法的历史RSA算法的历史著名的RSA公钥密码体制是在1977年由RLRivest,A.Shamir和L.Adleman三人共同提出.RSA是最具代表性的公钥密码体制.由于算法完善(既可用于数据加密,又可用于数字签名),安全性良好,易于实现和理解,RSA已成为一种应用极广的公钥密码体制,也是目前世界上唯一被广泛使用的公钥密码.1977年,BrighamYoung大学的HelamanFerguson和RodneyForcade提出了整数关系侦查算法。这是一个古老的问题:给定—组实数,例如说x(1),x(2),...,x(n),是否存在整数a(1),a(2),..,a(n)(不全为零),使得.a(1)x(1)+a(2)x(2)+...+a(n)x(n)=0对于n=2,历史悠久的欧几里得算法能做这项工作、计算x(1)/x(2)的连分数展开中的各项。如果x(1)/x(2)是有理数,展开会终止,在适当展开后就给出了“最小的”整数a(1)和a(2)。1977年,RobertBoyer和L.Moore发表了BM算法,这种算法在逻辑上相对于之前的算法有了很大的超越,它对要搜索的字符串实施逆序字符比较,而且有一种找到了不匹配就不需要对整个字符串进行搜索的方法。脆弱性vulnerability:导致破坏系统安全策略的系统安全规程、系统设计、实现、内部控制等方面的弱点。串道cross-talk:能量从一信道到另一信道的无意的传输。EM算法由Dempster,Laird和Rudin于1977年提出用于极大似然估计的迭代计算,同时为缺失数据情况下迭代求取似然函数极大值提供了一个统一的框架。鉴于EM算法所具有的单调增加似然函数值和对于任意初试条件都稳定收敛的良好性质,该算法很快受到广大学者的关注和研究。但由于EM算法收敛...EM算法由Dempster,Laird和Rudin于1977年提出用于极大似然估计的迭代计算,同时为缺失数据情况下迭代求取似然函数极大值提供了一个统一的框架。鉴于EM算法所具有的单调增加似然函数值和对于任意初试条件都稳定收敛的良好性质,该算法很快受到广大学者的关注和研究。但由于EM算法收敛速度缓慢的原因很大程度上制约了他在实际中的应用,为了克服这个收敛缓慢的困难随后提出了多种改进。Lawson算法逐点插入的Lawson算法是Lawson在1977年提出的,该算法思路简单,易于编程实现。基本原理为:首先建立一个大的三角形或多边形,把所有数据点包围起来,向其中插入一点,该点与包含它的三角形三个顶点相连,形成三个新的三角形,然后逐个对它们进行空外接圆检测,同时用Lawson设计的局部优化过程LOP进行优化,即通过交换对角线的方法来保证所形成的三角网为Delaunay三角网。TabuSearch是由美国科罗拉多州大学的FredGlover教授在1977年左右提出来的,是一个用来跳出局部最优的搜寻方法。在解决最优问题上,一般区分为两种方式,一种是传统的方法,就是穷举法、贪婪法、分治法、动态规划等等;而另一种方法则是一些启发式搜索算法。而这两种方法最大的不同点就在于使用传统的方法,我们必须对每一个问题都去设计一套算法,一旦我们遇到一个新的问题,整个算法就得重新设计,所以相当不方便,也缺乏广泛性。1977年1月15日-其中,DES(DataEncryptionStandard)是1977年1月15日美国正式公布实施的数据加密标准,由于密钥长度太短,导致数据加密的安全性达不到目前人们的要求,所以被AES所取代。AES算法现在在国内外,有很多的研究,并有相应的产品。以下介绍AES算法的部分应用:(1)直接将算法...AES取代DES和3DES以增强安全性和效率已是大势所趋[3]。其中,DES(DataEncryptionStandard)是1977年1月15日美国正式公布实施的数据加密标准,由于密钥长度太短,导致数据加密的安全性达不到目前人们的要求,所以被AES所取代。AES算法现在在国内外,有很多的研究,并有相应的产品。以下介绍AES算法的部分应用:(1)直接将算法用于软件设计中,对存储数据进行加密和保护:朗科密钥U盘、移动硬盘,内置高强度AES算法保护数据。1977年7月15日-IBM提交了一个候选算法,它是IBM内部开发的,名为LUCIFER。在美国国家安全局(NSA)的“指导”下完成了算法评估之后,在1977年7月15日,NBS采纳了LUCIFER算法的修正版作为新的数据加密标准。这导致了联邦信息处理标准(FIPS)46(以后更新成FIPS46-3)的...IBM提交了一个候选算法,它是IBM内部开发的,名为LUCIFER。在美国国家安全局(NSA)的“指导”下完成了算法评估之后,在1977年7月15日,NBS采纳了LUCIFER算法的修正版作为新的数据加密标准。这导致了联邦信息处理标准(FIPS)46(以后更新成FIPS46-3)的产生(请参阅参考资料),它描述了DES和当前DES3标准的用法。1979年,一位名不见经传的苏联数学家哈奇扬,发明了一种新算法来解决线性划问题。他从理论上证明这种称这椭球法的算法,是一种好算法。这使得一件拖了八年之久的公案,即线性规划到底有没有好算法的问题,彻底解决了。1982年-模拟退火算法(SimulatedAnnealing,SA)又称模拟冷却法、概率爬山法等,于1982年由Kirpatrick提出的另一种启发式的、随机优化算法。模拟退火算法的基本思想由一个初始的解出发,不断重复产生迭代解,逐步判定、舍弃,最终取得满意解的过程。模拟退火算法不但可以往好的方向发展,也...模拟退火算法(SimulatedAnnealing,SA)又称模拟冷却法、概率爬山法等,于1982年由Kirpatrick提出的另一种启发式的、随机优化算法。模拟退火算法的基本思想由一个初始的解出发,不断重复产生迭代解,逐步判定、舍弃,最终取得满意解的过程。模拟退火算法不但可以往好的方向发展,也可以往差的方向发展,从而使算法跳出局部最优解,达到全局最优解。1983年KirkpatrickS,GelattJCD和VecchiMP首先注意到固体退火过程与组合优化问题的相似性,提出了模拟退火算法,并成功应用于求解TSP[11】。随后,几乎所有的启发式算法都以TSP作为测试算法性能的平台。这其中包括禁忌搜索{121、遗传算法㈣I、Hopfield神经网络算法【14】和ACO算法【15】。1984年,NarendraKarmarkar(卡马卡)提出了投影尺度法。这是第一个在理论上和实际上都表现良好的算法:它的最坏情况仅为多项式时间,且在实际问题中它比单纯形算法有显著的效率提升。自此之后,很多内点算法被提出来并进行分析。一个常见的内点算法为Mehrotrapredictor-correctormethod。尽管在理论上对它所知甚少,在实际应用中它却表现出色。1985年NealKoblitz和VSMiller把椭圆曲线的研究成果应用到密码学中,分别独立提出在公钥密码系统中使用椭圆曲线的思想。他们虽没有发明出一种新的公钥密码算法,但他们采用椭圆曲线技术实现了已存在的密码算法如Diffie-Hellman算法等,这就是椭圆曲线密码学的开端。此后,由于椭圆...1985年NealKoblitz和VSMiller把椭圆曲线的研究成果应用到密码学中,分别独立提出在公钥密码系统中使用椭圆曲线的思想。他们虽没有发明出一种新的公钥密码算法,但他们采用椭圆曲线技术实现了已存在的密码算法如Diffie-Hellman算法等,这就是椭圆曲线密码学的开端。此后,由于椭圆曲线密码系统所具有的安全性高、算法效率好的特点,使得它得到了人们的广泛关注和研究。1986年,Rumelhart等人提出了一种前馈型神经计算模型和用手调节该模型神经元联结强度的误差往回传播学习算法,即著名的BP网络和BP算法,引起学术界极大的反响。BP算法解决了感知器存在的问题,使人工神经网络有了强大的计算能力,可实现各种复杂映射,BP网络目而迅速成为最流行的神经计算模型,并得到极其广泛的应用。1987年,Mallat在多尺度分析的基础上提出了小波分解和重构的快速算法,称为Mallat算法.由此算法可以有效的进行图象的分解和重构.Mallat算法不需要知道小波函数的具体结构,由一组滤波器的系数即可对信号进行分解和重构。1991年提出的DSA算法也是一种公共密钥算法,在数字签名方面有较大的应用优势。目前,国际上在智能IC卡上应用得较多的加密解密算法是DES算法、RSA算法及DSA算法。1996年Zhan和Noon使用实际交通网络测试了17种算法中的15种,测试结果表明计算一点到所有其它点的最短路径最快的算法是Dijkstra算法。2003年11月15日-这一效果无意中却提供了一个强有力的证据,表明Google确是采用了Hilltop算法。2003年11月15号,Google基于新算法的更新之后,某分析家就指出:在进行查询时,若对某一查询条件加上一些“不包含”的无意义字符,如“carrental–ghjkl”,则Google将会显示以往(算法变化前)的搜索结果...这些查询条件的集合就是SEO一族所收集并称之为的“商业词名单”。这一效果无意中却提供了一个强有力的证据,表明Google确是采用了Hilltop算法。2003年11月15号,Google基于新算法的更新之后,某分析家就指出:在进行查询时,若对某一查询条件加上一些“不包含”的无意义字符,如“carrental–ghjkl”,则Google将会显示以往(算法变化前)的搜索结果,而绕过所谓的“商业词”过滤名单。
本文档为【算法的发展史】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥17.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
百里登峰
暂无简介~
格式:doc
大小:95KB
软件:Word
页数:0
分类:
上传时间:2020-11-01
浏览量:29