加载中 ...
首页 > 财经 > 国内经济 > 正文

[600769股吧]我们为什么要思考算法

2024-01-30 22:06:12 来源:倾延资

源头

“算法”的中文最早出现在我国汉代的数学名著《周髀算经》中。《周髀算经》卷上有:“数之法出于圆方。圆出于方,方出于矩。矩出于九九八十一”。意思是:管用的方法都出于对圆、对方的核算,其间圆出于方(圆形面积=外接正方形x圆周率/4),方出于矩(正方形源自两头持平的矩),矩的核算出于九九八十一(长乘宽面积的核算依自九九乘法表)。追溯回去,在春秋战国时代,《九九乘法歌诀》现已开端流行起来。话说,自从卡梅伦被8×9等于多少问呆今后,英国教育部就开端延聘上海的小学数学老师赴英练习小九九了……

ChineseteachersbringtheartofmathstoEnglishschos

在西方,真实推进算法传达的是一个居住在巴格达的阿拉伯人,AlKhwarizmi,他引进了印度更为先进的十进制数字体系。AlKhawarizmi展现了加、减、乘、除,乃至平方根和圆周率π的核算进程。这些进程的特点是:简略、无歧义、有用、有穷进程、正确。数百年后,当十进制阿拉伯数字体系在欧洲广泛运用时,人们便创造出AlKhwarizmi的拉丁化写法“Algorithm”,来描绘这种有规可循的数字核算行为。

算法的界说

终究什么是算法呢,字面了解,便是核算的方法或规则。这儿的核算不单指加减乘除等算术运算,而是广义的做任何工作的核算。方法和规则,则意味着运用它能够处理眼前的问题。

就拿咱们脍炙人口的世界杯竞赛来说,每四年一届竞赛的意图便是选出此刻世界上踢球最牛掰的那个国家。在200多个国家里头,假如用单循环联赛赛制,也便是每个队都有必要和别的一切队踢一场,以此决议本队成果,假定每隔三天踢一场,最快也要600来天。怎么样,累觉不爱吧,仍是广场舞来的更收放自如些。关于竞赛组织者来说,正确的战略当然是先在几个大洲里选出几个寥寥无几的球队,然后咱们聚在一起,一个月内论出高低,这时乃至还要再分红几个组,每组最强的几个队才干突出重围,踏上冠军之路。

道理上来讲,最好的球队,不管哪种赛制,总是会锋芒毕露的;而上述这种优中选优的方法,难度和开支就下降许多了。上述进程有一个特定叫法:分治,也便是将一个大问题(寻觅全世界的最佳球队),分化成多个类型相同但规划更小的问题(寻觅一个大洲的最佳球队),假如小问题得以处理,那么大问题就愈加简略处理了(各大洲最佳球队PK一下,就知道世界冠军的奖杯,花落谁家了)。这只是日子中许多算法运用的一个比如,那么由事实到笼统提高出来一个齐备的字典式界说,对运用和剖析者来说,其实无太多必要。事实上,算法的界说也因看待的视点不同而不同。

假如你是个哲学家:算法是处理一个问题的笼统行为序列。

假如你是个码农:算法是一个核算进程,它承受一些输入,并发生某些输出。

假如你喜爱巨大上:算法是处理一个准确界说的核算问题的东西。

但他们一起强调了一点:算法的不变式,即算法有必要能够让人一步一步照着履行。

算法的中心

算法是处理问题的方法或规则。但处理一个问题不一定只要一种方法,不同的方法之间便有了好坏之分。关于处理同一个问题的不同算法,咱们怎么比较它们的好坏呢?

能够比较的东西当然许多,如模块性、正确性、可维护性、健壮性、友好性、简易性、可扩展性和可靠性等,但这些并不是算法规划与剖析中最为关怀的问题。但它们愈加像是人类附加在算法上的外部特点,由于它们一般依赖于运用或完成算法的人员的其他方面本质:了解力、表述力、编程水平、数据结构的运用与规划技巧等。

那么算法的中心或魂灵是什么呢?或许您现已能够猜到:速度。也便是其处理问题的速度。由于速度往往是区别可行和不可行计划的分水岭。例如,一个让人等上许多年才干运转完毕的算法,便是再正确,也不会令咱们满足。从实际意义上看,这种算法的正确和不正确并无太大的本质区别。

假如一个算法在你的改善下,功率提高了成百上千倍,则当你坐在显示屏前,所取得的快感不会亚于许多其他的工作。

堆机器仍是拼算法

提到提高速度,真壕们会不谋而合的移步华强北,血拼内存处理器。但是,核算机速度的增加能够多大程度上处理一些简略问题呢?咱们来看一个经典的比如吧。

咱们有一个描绘兔子增加数量的模型:

原点:一对男女兔子

规则:每对兔子每月产下一对兔子,且终身只能出产两次,并且第二次出产后老死。(咱们这儿假定产下的每对兔子都持续正常繁殖,方舟子及果壳常识帝请绕路……)

假如界说在第n个月的兔子数量为F(n),那么F(n)个兔子中包括这个月重生的兔子(也便是(第n-1月)兔子总数F(n-1)),和上个月的重生兔子数目(由于上个月的老兔子们这个月现已死掉了),即F(n-2)。所以F(n)=F(n-1)+F(n-2),F(n)的序列叫做斐波那契序列。

那么咱们就开端算F(n)吧,比如说你想知道第30个月时的兔子数量,那么F(30)=F(29)+F(28),那么F(29)=F(28)+F(27),咱们一向分化下去,最终变成数数总共多少个F(0)了。咱们写段代码,运转它,约朋友出去打个台球,回来或许能够得到答案。若你眼光久远,想知道第300个月时的兔子数量,那么你有必要要寻觅其它算法了。由于F(0)的数量太巨大了。这种单纯递归解法,事实上要对F(0)进行指数级次的运算。聪明的你会进一步发现斐波那契数列是一个二阶递推数列,所以最终能够用对数级次运算搞定F(300),这儿细节省掉,感兴趣的话咱们会在后续具体评论。

问题是,在硬件功能愈加强悍的今日,大规划运算或许大数据的实践者们,经常以为更快的算法或许没有必要。那么咱们来看斐波那契数的单纯递归解法,它的时刻复杂度为1.6的n次方,即核算F(n+1)的时刻约是核算F(n)的1.6倍。依照摩尔定律核算功能每18个月翻倍的速度,每过一年,咱们只能多核算一个不知道的斐波那契数。

咱们说IBM的Roadrunner超级核算机功能为NEC的EarthSimator的30倍,但这也只是意味着Roadrunner比后者在相同的时刻下以指数级复杂度多算7个数。但假如运用log(n)复杂度的算法,那么Roadrunner可多算10的30次方个斐波那契数。

所以,算法书其实不全是用来垫咖啡杯的……改善算法比起提高硬件速度的作用,仍是很明显的,不是吗。

结语

对算法功率的寻求,在任何场景中,都能够给你带来意想不到的惊喜。关于产品的打破、开支的下降、技能气氛的凝集,还有什么方法比考虑与注重算法来的愈加有用与唯美呢?

声明:本文部分内容借鉴于T.H.Cormen等著《算法导论》与邹恒明著《算法之道》。

Via:36大数据
金融工程,数学算法

“走马消息,分享精选全球有价值的财经新闻”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与

我们联系删除或处理,客服邮箱,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同

其观点或证实其内容的真实性。

  • 声音提醒
  • 60秒后自动更新
  • 中国8月CPI年率2.3%,预期2.1%,前值2.1%。中国8月PPI年率4.1%,预期4.0%,前值4.6%。

    08:00
  • 【统计局解读8月CPI:主要受食品价格上涨较多影响】从环比看,CPI上涨0.7%,涨幅比上月扩大0.4个百分点,主要受食品价格上涨较多影响。食品价格上涨2.4%,涨幅比上月扩大2.3个百分点,影响CPI上涨约0.46个百分点。从同比看,CPI上涨2.3%,涨幅比上月扩大0.2个百分点。1-8月平均,CPI上涨2.0%,与1-7月平均涨幅相同,表现出稳定态势。

    08:00
  • 【 统计局:从调查的40个行业大类看,8月价格上涨的有30个 】统计局:从环比看,PPI上涨0.4%,涨幅比上月扩大0.3个百分点。生产资料价格上涨0.5%,涨幅比上月扩大0.4个百分点;生活资料价格上涨0.3%,扩大0.1个百分点。从调查的40个行业大类看,价格上涨的有30个,持平的有4个,下降的有6个。 在主要行业中,涨幅扩大的有黑色金属冶炼和压延加工业,上涨2.1%,比上月扩大1.6个百分点;石油、煤炭及其他燃料加工业,上涨1.7%,扩大0.8个百分点。化学原料和化学制品制造业价格由降转升,上涨0.6%。

    08:00
  • 【日本经济已重回增长轨道】日本政府公布的数据显示,第二季度经济扩张速度明显快于最初估值,因企业在劳动力严重短缺的情况下支出超预期。第二季度日本经济折合成年率增长3.0%,高于1.9%的初步估计。经济数据证实,该全球第三大经济体已重回增长轨道。(华尔街日报)

    08:00
  • 工信部:1-7月我国规模以上互联网和相关服务企业完成业务收入4965亿元,同比增长25.9%。

    08:00
  • 【华泰宏观:通胀短期快速上行风险因素主要在猪价】华泰宏观李超团队点评8月通胀数据称,今年二、三季度全国部分地区的异常天气(霜冻、降雨等)因素触发了粮食、鲜菜和鲜果价格的波动预期,但这些因素对整体通胀影响有限,未来重点关注的通胀风险因素仍然是猪价和油价,短期尤其需要关注生猪疫情的传播情况。中性预测下半年通胀高点可能在+2.5%附近,年底前有望从高点小幅回落。

    08:00
  • 【中国信通院:8月国内市场手机出货量同比环比均下降】中国信通院公布数据显示:2018年8月,国内手机市场出货量3259.5万部,同比下降20.9%,环比下降11.8%,其中智能手机出货量为3044.8万部,同比下降 17.4%; 2018年1-8月,国内手机市场出货量2.66亿部,同比下降17.7%。

    08:00
  • 土耳其第二季度经济同比增长5.2%。

    08:00
  • 乘联会:中国8月份广义乘用车零售销量176万辆,同比减少7.4%。

    08:00
  • 央行连续第十四个交易日不开展逆回购操作,今日无逆回购到期。

    08:00
  • 【黑田东彦:日本央行需要维持宽松政策一段时间】日本央行已经做出调整,以灵活地解决副作用和长期收益率的变化。央行在7月政策会议的决定中明确承诺将利率在更长时间内维持在低水平。(日本静冈新闻)

    08:00
  • 澳洲联储助理主席Bullock:广泛的家庭财务压力并非迫在眉睫,只有少数借贷者发现难以偿还本金和利息贷款。大部分家庭能够偿还债务。

    08:00
  • 【 美联储罗森格伦:9月很可能加息 】美联储罗森格伦:经济表现强劲,未来或需采取“温和紧缩”的政策。美联储若调高对中性利率的预估,从而调升对利率路径的预估,并不会感到意外。

    08:00
  • 美联储罗森格伦:经济表现强劲,未来或需采取“温和紧缩”的政策。美联储若调高对中性利率的预估,从而调升对利率路径的预估,并不会感到意外。

    08:00
  • 美联储罗森格伦:鉴于经济表现强劲,未来或需采取“温和紧缩的”政策。

    08:00