Global Sources
电子工程专辑网站
互动社区
电子工程专辑互动社区>自由讨论>大学实践课堂>李开复:算法是计算机科学的核心(ZZ)
学校和社会相距多远?即将踏入社会的你有什么样的感想和憧憬?其实这段距离或许与你的年龄、学识无关,真正决定跨距尺度的,是你“转型”期间的态度!电子工程专辑大学实践课堂专区给你一个畅想未来,积极“备战未来”的空间,在这里你可以畅谈未来的理想,可以向资深人士学习踏入社会的攻略,更可以和你的师兄师弟师姐师妹共同回忆大学那段青涩的时光!快来这里寻找你的机遇与灵感,在众人的智慧中绘出属于自己的精彩人生吧!
大家在做什么
发表新主题  收藏 打印 推荐  推荐到我的小组 
楼主 问题:

李开复:算法是计算机科学的核心(ZZ)

发布时间:2012-1-18 下午5:47

作者: 小编Ana

等级: 一代宗师

积分: 11909分

发帖数: 900次

网站总积分: 31435分

查看用户的所有发言

查看用户的个人主页

算法的力量
 
李开复

  算法是计算机科学领域最重要的基石之一,但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解,认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术、标准就是最好的铺路方法。其实大家都被这些公司误导了。编程语言虽然该学,但是学习计算机算法和理论更重要,因为计算机算法和理论更重要,因为计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,例如数据结构、算法、编译原理、计算机体系结构、关系型数据库原理等等。在“开复学生网”上,有位同学生动地把这些基础课程比拟为“内功”,把新的语言、技术、标准比拟为“外功”。整天赶时髦的人最后只懂得招式,没有功力,是不可能成为高手的。

算法与我

当我在1980年转入计算机科学系时,还没有多少人的专业方向是计算机科学。有许多其他系的人嘲笑我们说:“知道为什么只有你们系要加一个‘科学’,而没有‘物理科学系’ 或‘化学科学系’吗?因为人家是真的科学,不需要画蛇添足,而你们自己心虚,生怕不‘科学’,才这样欲盖弥彰。”其实,这点他们彻底弄错了。真正学懂计算机的人(不只是“编程匠”)都对数学有相当的造诣,既能用科学家的严谨思维来求证,也能用工程师的务实手段来解决问题——而这种思维和手段的最佳演绎就是 “算法”。

记得我读博时写的Othello对弈软件获得了世界冠军。当时,得第二名的人认为我是靠侥幸才打赢他,不服气地问我的程序平均每秒能搜索多少步棋,当他发现我的软件在搜索效率上比他快60多倍时,才彻底服输。为什么在同样的机器上,我可以多做60倍的工作呢?这是因为我用了一个最新的算法,能够把一个指数函数转换成四个近似的表,只要用常数时间就可得到近似的答案。在这个例子中,是否用对算法才是能否赢得世界冠军的关键。

还记得1988年贝尔实验室副总裁亲自来访问我的学校,目的就是为了想了解为什么他们的语音识别系统比我开发的慢几十倍,而且,在扩大至大词汇系统后,速度差异更有几百倍之多。他们虽然买了几台超级计算机,勉强让系统跑了起来,但这么贵的计算资源让他们的产品部门很反感,因为“昂贵”的技术是没有应用前景的。在与他们探讨的过程中,我惊讶地发现一个O(n*m)的动态规划(dynamic programming)居然被他们做成了O(n*n*m)。更惊讶的是,他们还为此发表了不少文章,甚至为自己的算法起了一个很特别的名字,并将算法提名到一个科学会议里,希望能得到大奖。当时,贝尔实验室的研究员当然绝顶聪明,但他们全都是学数学、物理或电机出身,从未学过计算机科学或算法,才犯了这么基本的错误。我想那些人以后再也不会嘲笑学计算机科学的人了吧!

网络时代的算法

有人也许会说:“今天计算机这么快,算法还重要吗?”其实永远不会有太快的计算机,因为我们总会想出新的应用。虽然在摩尔定律的作用下,计算机的计算能力每年都在飞快增长,价格也在不断下降。可我们不要忘记,需要处理的信息量更是呈指数级的增长。现在每人每天都会创造出大量数据(照片,视频,语音,文本等等)。日益先进的纪录和存储手段使我们每个人的信息量都在爆炸式的增长。互联网的信息流量和日志容量也在飞快增长。在科学研究方面,随着研究手段的进步,数据量更是达到了前所未有的程度。无论是三维图形、海量数据处理、机器学习、语音识别,都需要极大的计算量。在网络时代,越来越多的挑战需要靠卓越的算法来解决。

再举另一个网络时代的例子。在互联网和手机搜索,如果要找附近的咖啡店,那么搜索引擎该怎么处理这个请求呢?最简单的办法就是把整个城市的咖啡馆都找出来,然后计算出它们的所在位置与你之间的距离,再进行排序,然后返回最近的结果。但该如何计算距离呢?图论里有不少算法可以解决这个问题。

这么做也许是最直观的,但绝对不是最迅速的。如果一个城市只有为数不多的咖啡馆,那么这么做应该没什么问题,反正计算量不大。但如果一个城市里有很多咖啡馆,又有很多用户都需要类似的搜索,那么服务器所承受的压力就大多了。在这种情况下,我们该怎样优化算法呢?

首先,我们可以把整个城市的咖啡馆做一次“预处理”。比如,把一个城市分成若干个“格子(grid)”,然后根据用户所在的位置把他放到某一个格子里,只对格子里的咖啡馆进行距离排序。

问题又来了,如果格子大小一样,那么绝大多数结果都可能出现在市中心的一个格子里,而郊区的格子里只有极少的结果。在这种情况下,我们应该把市中心多分出几个格子。更进一步,格子应该是一个“树结构”,最顶层是一个大格——整个城市,然后逐层下降,格子越来越小,这样有利于用户进行精确搜索——如果在最底层的格子里搜索结果不多,用户可以逐级上升,放大搜索范围。

上述算法对咖啡馆的例子很实用,但是它具有通用性吗?答案是否定的。把咖啡馆抽象一下,它是一个“点”,如果要搜索一个“面”该怎么办呢?比如,用户想去一个水库玩,而一个水库有好几个入口,那么哪一个离用户最近呢?这个时候,上述“树结构”就要改成“r-tree”,因为树中间的每一个节点都是一个范围,一个有边界的范围(参考:http://www.cs.umd.edu/~hjs/rtrees/index.html)。

通过这个小例子,我们看到,应用程序的要求千变万化,很多时候需要把一个复杂的问题分解成若干简单的小问题,然后再选用合适的算法和数据结构。

并行算法:Google的核心优势

上面的例子在Google里就要算是小case了!每天Google的网站要处理十亿个以上的搜索,GMail要储存几千万用户的2G邮箱,Google Earth要让数十万用户同时在整个地球上遨游,并将合适的图片经过互联网提交给每个用户。如果没有好的算法,这些应用都无法成为现实。

在这些的应用中,哪怕是最基本的问题都会给传统的计算带来很大的挑战。例如,每天都有十亿以上的用户访问Google的网站,使用Google的服务,也产生很多很多的日志(Log)。因为Log每份每秒都在飞速增加,我们必须有聪明的办法来进行处理。我曾经在面试中问过关于如何对Log进行一些分析处理的问题,有很多面试者的回答虽然在逻辑上正确,但是实际应用中是几乎不可行的。按照它们的算法,即便用上几万台机器,我们的处理速度都根不上数据产生的速度。

那么Google是如何解决这些问题的?

首先,在网络时代,就算有最好的算法,也要能在并行计算的环境下执行。在Google的数据中心,我们使用的是超大的并行计算机。但传统的并行算法运行时,效率会在增加机器数量后迅速降低,也就是说,十台机器如果有五倍的效果,增加到一千台时也许就只有几十倍的效果。这种事半功倍的代价是没有哪家公司可以负担得起的。而且,在许多并行算法中,只要一个结点犯错误,所有计算都会前功尽弃。

那么Google是如何开发出既有效率又能容错的并行计算的呢?

Google最资深的计算机科学家Jeff Dean认识到,Google所需的绝大部分数据处理都可以归结为一个简单的并行算法:Map and Reduce(http://labs.google.com/papers/mapreduce.html)。这个算法能够在很多种计算中达到相当高的效率,而且是可扩展的(也就是说,一千台机器就算不能达到一千倍的效果,至少也可以达到几百倍的效果)。Map and Reduce的另外一大特色是它可以利用大批廉价的机器组成功能强大的server farm。最后,它的容错性能异常出色,就算一个server farm宕掉一半,整个fram依然能够运行。正是因为这个天才的认识,才有了Map and Reduce算法。借助该算法,Google几乎能无限地增加计算量,与日新月异的互联网应用一同成长。

算法并不局限于计算机和网络

举一个计算机领域外的例子:在高能物理研究方面,很多实验每秒钟都能几个TB的数据量。但因为处理能力和存储能力的不足,科学家不得不把绝大部分未经处理的数据丢弃掉。可大家要知道,新元素的信息很有可能就藏在我们来不及处理的数据里面。同样的,在其他任何领域里,算法可以改变人类的生活。例如人类基因的研究,就可能因为算法而发明新的医疗方式。在国家安全领域,有效的算法可能避免下一个911的发生。在气象方面,算法可以更好地预测未来天灾的发生,以拯救生命。

所以,如果你把计算机的发展放到应用和数据飞速增长的大环境下,你一定会发现;算法的重要性不是在日益减小,而是在日益加强。
   标签: 李开复 算法
引用 回复 鲜花 ( 4) 臭鸡蛋 ( 0) 有新回复时发送邮件通知
电子工程专辑iPad 2上市能否一举将Android平板大军打回老家?
第1楼

回复主题:李开复:算法是计算机科学的核心(ZZ)

发布时间:2012-1-30 下午2:11

作者: cde

等级: 青铜大侠

积分: 2022分

发帖数: 2560次

网站总积分: 2150分

查看用户的所有发言

查看用户的个人主页

谢谢
硬件工程师手册(全),需要的,欢迎下载~~ (下载6092 次) 硬件工程师-提高PCB设计能力的 一本好书 (下载1673 次)
隆重推荐:三款keil C51学习资料(完全中文) (下载1832 次) PCB布线设计经验 硬件设计人员必看 (下载4035 次)
二极管其他7中应用电路详解(PDF)!绝对实用! (下载2359 次) 中兴Allegro15.5教程:《EDA工具手册》仿真分册 (下载1463 次)
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
电子工程专辑拆解职场那些事 – 是工程师臭美还是现实残酷
第2楼 回复主题:李开复:算法是计算机科学的核心(ZZ) 发布时间:2012-2-1 上午8:11

作者: 春秋!

等级: 初入江湖

积分: 91分

发帖数: 76次

网站总积分: 99分

查看用户的所有发言

查看用户的个人主页

高端呀
晶振原理,给想了解晶振的朋友 (下载1826 次) 张国雄的测控电路,是测控电路的经典教材 (下载7066 次)
《电源电路设计》资料奉送! (下载1306 次) 如何看懂电路图之 振荡电路 (下载1174 次)
电子镇流器原理与制作约500页PDF书 (下载7478 次) 常用电子元器件实战知识讲座(配套知识三)另外把一和二补上 (下载2353 次)
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
电子工程专辑平板电脑价格遭血洗,市场如何玩下去?
第3楼 回复主题:李开复:算法是计算机科学的核心(ZZ) 发布时间:2012-2-1 上午8:37

作者: 懒猫爱飞

等级: 初入江湖

积分: 174分

发帖数: 38次

网站总积分: 229分

查看用户的所有发言

查看用户的个人主页

算法是核心!
新颖简易收音机制作 (下载1039 次) 隆重推荐:图灵电子与电气工程丛书(图灵教育图书系列)-全球第一! (下载1747 次)
《集成电路掩膜设计》 (下载6335 次) 你必须知道的495个C语言问题,绝对经典! (下载11273 次)
华为Linux培训资料 (下载3952 次) 美国的一本畅销书籍:射频和无线技术入门(第二版)(入门超级简单)(中文版) (下载21189 次)
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
电子工程专辑苹果离不开乔布斯的几大缘由
第4楼 回复主题:李开复:算法是计算机科学的核心(ZZ) 发布时间:2012-2-1 上午8:58

作者: 游佰川

等级: 初入江湖

积分: 120分

发帖数: 9次

网站总积分: 148分

查看用户的所有发言

查看用户的个人主页

内外兼修,方能成大器!
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
电子工程专辑美国记者带你看2011年CES
第5楼 回复主题:李开复:算法是计算机科学的核心(ZZ) 发布时间:2012-2-1 上午9:31

作者: winlin

等级: 初入江湖

积分: 97分

发帖数: 9次

网站总积分: 105分

查看用户的所有发言

查看用户的个人主页

恩,确实是抓住本质和表象的问题
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
电子工程专辑拆解职场那些事 – 是工程师臭美还是现实残酷
第6楼 回复主题:李开复:算法是计算机科学的核心(ZZ) 发布时间:2012-2-1 上午10:13

作者: 化外一野夫

等级: 初入江湖

积分: 12分

发帖数: 36次

网站总积分: 50分

查看用户的所有发言

查看用户的个人主页

光有內功,其實什麼事也做不了。外功還是要練一練,才能實踐一些事物。而只是到真正論高低時,有內功的加持,才能真正展現與發揮外功的功效。這是從高手到絕世高手的必要悉竅。
引用 回复 鲜花 ( 1) 臭鸡蛋 ( 0)
电子工程专辑iPad 2上市能否一举将Android平板大军打回老家?
第7楼 回复主题:李开复:算法是计算机科学的核心(ZZ) 发布时间:2012-2-1 上午10:15

作者: 同是天涯沦落人

等级: 遁门入道

积分: 245分

发帖数: 34次

网站总积分: 260分

查看用户的所有发言

查看用户的个人主页

多谢 开复先生的指点
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
电子工程专辑拆解职场那些事 – 是工程师臭美还是现实残酷
第8楼 回复主题:李开复:算法是计算机科学的核心(ZZ) 发布时间:2012-2-1 上午11:18

作者: 新网神

等级: 青铜掌门

积分: 5450分

发帖数: 1306次

网站总积分: 5528分

查看用户的所有发言

查看用户的个人主页

查表,这种编程最常用的方法,如果运用巧妙,能够快速得到结果。把需要大量运算的内容,制作一个输入与输出对应的表格,利用查表方式获得运算结果。查表是CPU特别擅长的工作,速度很快。查表的本质是让计算机调用早期的计算结果,而不是现场计算,从而加快获取结果的速度。查表法的缺点是要占用更多的程序存储空间。用存储空间换时间,在许多低性能CPU条件下是可取的,这种系统的性价比会更高。
新网神 编辑于 2012-2-1 上午11:20
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
电子工程专辑苹果iPad 2弱点暴露 或给对手可趁之机
第9楼 回复主题:李开复:算法是计算机科学的核心(ZZ) 发布时间:2012-2-1 上午11:22

作者: 语音技术大师

等级: 青铜少侠

积分: 1023分

发帖数: 227次

网站总积分: 1061分

查看用户的所有发言

查看用户的个人主页

算法是高效、智慧计算的核心,而人的思维能力是算法的来源。这思维能力,包括基本功与前人经验的获取,以及不断横向“融会贯通”的兴趣与能力。
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
电子工程专辑拆解职场那些事 – 是工程师臭美还是现实残酷
第10楼 回复主题:李开复:算法是计算机科学的核心(ZZ) 发布时间:2012-2-1 下午12:53

作者: AJIAN

等级: 青铜大侠

积分: 2156分

发帖数: 331次

网站总积分: 2180分

查看用户的所有发言

查看用户的个人主页

写的不错,谢谢分享!
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
电子工程专辑2011年,低价智能手机哪个平台做主?
第11楼 回复主题:李开复:算法是计算机科学的核心(ZZ) 发布时间:2012-2-1 下午2:53

作者: tianfish1216

等级: 初入江湖

积分: 172分

发帖数: 18次

网站总积分: 181分

查看用户的所有发言

查看用户的个人主页

不错
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
电子工程专辑苹果iPad 2弱点暴露 或给对手可趁之机
第12楼 回复主题:李开复:算法是计算机科学的核心(ZZ) 发布时间:2012-2-1 下午3:03

作者: John Ling

等级: 遁门入道

积分: 206分

发帖数: 32次

网站总积分: 478分

查看用户的所有发言

查看用户的个人主页

我有一个感觉,不知道对与否,说出来,怕大家笑话。外国人好像比较注重就事论事,中国人往往容易扩大化。比如语音识别,他就去钻研,搞懂搞好这一点。而中国人就像当救世主,想解决全人类的问题。
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
电子工程专辑拆解职场那些事 – 是工程师臭美还是现实残酷
第13楼 回复主题:李开复:算法是计算机科学的核心(ZZ) 发布时间:2012-2-1 下午4:00

作者: GeorgeMao

等级: 遁门入道

积分: 260分

发帖数: 39次

网站总积分: 271分

查看用户的所有发言

查看用户的个人主页

谢谢分享高手的文章!
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
电子工程专辑2011年,低价智能手机哪个平台做主?
第14楼 回复主题:李开复:算法是计算机科学的核心(ZZ) 发布时间:2012-2-1 下午5:13

作者: Grandpa

等级: 学有小成

积分: 444分

发帖数: 141次

网站总积分: 513分

查看用户的所有发言

查看用户的个人主页

學習了
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
电子工程专辑平板电脑价格遭血洗,市场如何玩下去?
第15楼 回复主题:李开复:算法是计算机科学的核心(ZZ) 发布时间:2012-2-1 下午10:32

作者: weiyangdz

等级: 武林新秀

积分: 758分

发帖数: 307次

网站总积分: 853分

查看用户的所有发言

查看用户的个人主页

谢谢老李!
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)

电子产业征战风云
快速回复
用户名: 
美国的游客       (您将以游客身份发表,请登陆 | 注册)  
标题: * 你还可以输入80
评论: * 你还可以输入10000
验证码:  * 
维护专业、整洁的论坛环境需要您的参与,请及时举报违规帖子,如果举报属实,我们将给予相应的积分奖励。
谢谢您的热心参与!
返回大学实践课堂 | 返回自由讨论
本论坛仅陈述专家或个人观点,并不代表电子工程专辑网站立场。
热门 经典 文章 论坛 博客
Rf    Nfc    mcu    dsp    变频器    安捷伦    rohs    pfc    mems    labview    ee    石墨烯    嵌入式    电解电容    lvds    igbt    soc    pwm    ofdm    eda    dac    智能电网    深圳单片机开发    电子工程专辑    stm32    rs485    iptv    hdd    emi    asic    以太网    无线充电    平板电脑    单片机    poe    ldo    h.264    esd    arm   
返回论坛页首