算法帝国里的牛人们:欧拉

1791年,著名奥地利作曲家约瑟夫·海顿出席了乔治·弗里德里希·亨德尔在伦敦威斯敏斯特大教堂的盛大清唱剧《弥赛亚》的演出。演出快要结束时,海顿被上千名合唱队和管弦乐队成员感动得热泪盈眶,他在泪光中盛赞和他同时代的亨德尔“是我们所有人的大师”。

与此同时,促进统计学发展的思想巨人之一、法国数学家皮埃尔-西蒙·拉普拉斯也惊叹地说了同样的话,但他指的不是亨德尔,而是莱昂哈德·欧拉。

欧拉毕业于巴赛尔大学,这所大学曾经培养了很多改变世界的知识精英。巴赛尔大学是瑞士最古老的大学,由教皇庇护二世创办于1460年,几百年来吸引了很多优秀人才,如鹿特丹的伊拉斯谟、伯努利家族、欧拉家族、雅各·布克哈特、弗里德里希·尼采以及卡尔·荣格。欧拉生于1707年,曾经是雅各布·伯努利的弟弟约翰·伯努利的学生,他是那个时代最出众的数学家。

欧拉上大学时,经常在星期六下午和约翰讨论数学和哲学。“所有我不懂的东西,他都好心地跟我解释。”欧拉回忆道。所以等到欧拉完成学业时,他已经学有所成,知之甚广了。而后他发表了不计其数的数学作品,成为有史以来最多产的数学家之一。

欧拉当时是俄罗斯圣彼得堡科学院的新任教授,他着手解决困扰当地人的著名的哥尼斯堡七桥问题。哥尼斯堡现称加里宁格勒,位于夹在波兰和立陶宛之间的俄罗斯外飞地,在欧拉的时代属于普鲁士的领土。这座城被普雷格尔河分为几块陆地,包括两座岛,有七座桥将陆地与岛连接起来。当地散步的人希望找到一条路可以穿过这个城市:每座桥都能走到,但只走一次。

为了说明这个问题,欧拉在纸上画了一些点(也称叉点),用线(也称连线)连接起来,分别代表陆地和桥。他注意到线的长度和形状可以任意改变,叉点也可以移动,前提是所有的线(桥)都是完好无缺的。欧拉当时所画的在现代数学中被称为图形,这个图形最终证实了不存在一次走遍七座桥,而每座桥只许通过一次的走法。欧拉解决这个问题的同时也创造了图论。

欧拉创造的图论和我们经常看的图(如股票走势图或销售报告图)不是一个概念。欧拉的图是树形图,可以用来表示自然界的网络、微芯片的电路或同城不同人之间的关系。专门为图论编写的算法为现代计算机科学的发展翻开了令人振奋的崭新一页:生物学家可以通过它建立DNA链和生理特征之间的联系,教授们可以解码披头士的音乐,中央情报局可以掌控恐怖分子网络,华尔街观察员可以找出看似不相关的事物之间的关系。图论尤其对分析Facebook的人脉关系网很有用,通过分析图形中哪些叉点(人)的连线(关系)最多,以及哪些连线在吸引眼球和评论方面最活跃,就可以知道哪些人最有影响力了。工程师要应聘Facebook的工作,经常会被考到图论的题。

欧拉活到76岁,但他的著作在他死后将近一个世纪仍然在不停地出版。他的专著、论文、教科书和技术手册多达886种,产出量是他有生之年欧洲所有数学出版物的1/3。他在数学领域开辟了很多新的发展方向,为了避免太多发现用同一个人的名字命名,很多数学定理和公式都是以在欧拉之后第一个发现或使用它的人的名字命名的。

很多人可能还记得上学的时候学过著名的欧拉公式:V – E + F= 2。数不胜数的算法基于这个公式编写。它描述的是三维立体形状,V代表顶点(线相交的角)的个数,E代表线的条数,F代表立体对象面的个数。比如说,一个立方体有6个面,12条线,8个角:8 – 12 + 6 = 2。

这个公式并不仅仅局限于如立方体、角锥体、圆锥体和球体之类的基本的刚性图形。欧拉的这个公式后来在分析碳分子的几何图形、看似随机的天气系统、光学、磁学和流体力学时都被用到。通过他同名公式背后的理论,欧拉开始思考非刚性图形,也就是现在大家熟知的拓扑图形。拓扑学属于混沌理论的一个方面,在过去的20年里,很多数学家在华尔街用混沌理论算法可是赚了不少钱。

如果您希望参加“大数据文摘读书群”,请在公号后台给我们留言:

读书,您的微信号,喜欢什么类型的书,您推荐哪些书

摘自:《算法帝国》,人民邮电出版社

如果说《改变未来的九大算法》是为弥散程序员气质的业余技术控洗髓内修的白话算法书,《算法帝国》就是为抱负征服世界雄心的程序员易筋外修的演义励志书,一路读来心中满盈释然和暗合之悦。搞了小半辈子算法,一直到听过凯文—斯拉文(KevinSlavin)的TED演讲“算法如何塑造我们的世界”,才有意识地去感知周遭世界一行一止中算法的开合有度。本书大开大阖,从70年代华尔街的勃兴开始,以本世纪华尔街和硅谷的权力更替收尾,世界易帜,算法仍旧。书名直译为《算法如何控制我们的世界》,对于潜志算法的我们,是控制还是被控制?书尾赫然写道:“你很有可能统治世界,如果没有机器人抢在你前头的话。”

原文发布时间为:2014-08-11

时间: 2024-09-17 04:30:42

算法帝国里的牛人们:欧拉的相关文章

算法帝国里的牛人们:莱布尼茨

戈特弗里德·莱布尼茨和同时代的艾萨克·牛顿一样,也是一位博学的通才.他涉猎的领域遍及欧洲大陆绝大部分有趣的学科.莱布尼茨曾说过,在哲学上只有两条绝对真理:神和虚无.万物皆由此二者而生.那么,我们就不难理解他为什么会想出只有0和1两个数字定义的计算语言了. 莱布尼茨发明了一种用1和0两个数字来表示数和一切运算(加减乘除)的数制.在他1703年发表的论文"关于只用两个记号0和1的二进制算术的阐释"中,这位数学家给出了二进制语言的定义. 莱布尼茨1646年生于莱比锡城,他出生的那条街道现在以

算法帝国里的牛人们:布尔

上一篇中我们提到了大牛莱布尼茨.他率先建立了人类思维可被分解为最基本的用二元判定来表示的单位结构.莱布尼茨说,这些二元选择可以被一个接一个地堆叠成任意长度,形成越来越复杂的思想或算法. 如果说莱布尼茨在构建统治人类生活的机器上迈出了第一步,那么与莱布尼茨相差了将近两个世纪的乔治·布尔就是那个继往开来.乘势而上的人.正是由于布尔发明的计算系统和创新的代数形式,网页才得以工作,我们才能上传照片到Facebook,在博客里码字.统治我们生活的复杂算法要是不能遵循人类的逻辑,那就一无是处了.比如,要跳转

《算法帝国》:被算法和算法交易改变的未来

当我们用崭新的视角去观察与思考,世界就会变成另外的模样.这是我们筹备举办"改变未来的算法与算法交易"研讨会的初衷. 美国雄霸全球依赖华尔街与硅谷等强大支柱,而近年来,算法对华尔街的渗透与控制体现出颠覆未来产业生态的力量.图灵公司出版的<算法帝国>一书中介绍,2000年,华尔街通过计算机程序交易的比率不足美国股市交易量的10%:2008年上半年,自动化电子交易占了全美股市交易量的60%:现在,华尔街70%以上的交易依靠所谓的黑盒子或者算法交易(闪电交易)运行.银行家和股票经纪

数论之 素因子分解,素数筛选法,欧拉函数和扩展欧几里得算法 (整理)

今天突然想复习一下数论,也就顺便整理了一下关于数论的基础知识, 以后用的时候直接用就行了,也不用现敲了,其实就是有点懒.... 具体解释都在代码里有解释 直接上代码了: #include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #include <vector> #include <queue>

透视Facebook算法帝国 ,我们只是工程思维的螺丝钉

本文讲的是透视Facebook算法帝国 ,我们只是工程思维的螺丝钉 扎克伯格对黑客的幼稚迷恋从未消失 硅谷所自称的所有价值都是60年代的价值.大型科技公司将自己当做个人解放的平台.人人都有权在社交媒体上表达自己的想法,实现自己的智力潜能和民主潜能,展现自己的个性.如果说电视曾经是一种被动的媒介(passive medium),使公众变得没有活力,Facebook则是参与性.使能的.它让用户广泛地阅读,自主思考,形成自己的观点. 我们不能完全否认这种说法.世界上还有一些地方,甚至在美国的一些地方,

UVa 11417 GCD (欧拉φ函数)

11417 - GCD Time limit: 2.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=2412 Given the value of N, you will have to find the value of G. The definition of G is given

如何用线性筛法求欧拉函数

前几天做了一个关于欧拉函数的题,当时就做超时了,因为我是暴力做的,后来百度了一下 线性晒法求欧拉函数,所以今天就打算系统的看一下筛法求欧拉函数的问题,该算法在可在线性时间内筛素数的同时求出所有数的欧拉函数: 先介绍一下暴力的欧拉函数: Eular(m) = m - (1-1/p1) - (1-1/p2) - ... - (1-1/pk)  [其中 p1, p2...pk为m的素因子] int Eular(int m) { int ret = m; for(int i=2; i<m; i++) {

节点之间-Java C#解决欧拉一笔画问题

问题描述 Java C#解决欧拉一笔画问题 一笔画问题是图论中一个著名的问题.一笔画问题起源于柯尼斯堡七桥问题.数学家欧拉在他1736年发表的论文<柯尼斯堡的七桥>中不仅解决了七桥问题,也提出了一笔画定理,顺带解决了一笔画问题.一般认为,欧拉的研究是图论的开端. 一笔画问题是柯尼斯堡问题经抽象化后的推广,是图遍历问题的一种.在柯尼斯堡问题中,如果将桥所连接的地区视为点,将每座桥视为一条边,那么问题将变成:对于一个有着四个顶点和七条边的连通图 ,能否找到一个恰好包含了所有的边,并且没有重复的路径

图形化编程实现改进的欧拉格式和龙格库塔格式。这里有个C语言的,想改写成C#。

问题描述 图形化编程实现改进的欧拉格式和龙格库塔格式.这里有个C语言的,想改写成C#. 1)改进欧拉法求解常微分方程的初值问题 #include float func(float x,float y) { return(y-x); } float euler(float x0,float xn,float y0,int N) { float x,y,yp,yc,h; int i; x=x0; y=y0; h=(xn-x0)/(float)N; for(i=1;i<=N;i++) { yp=y+h