本文主要是介绍耐人寻味的“费米估算法”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近,有媒体报道今年大学毕业的阿兵同学去合肥一家企业应聘程序员,遇到面试怪题:“合肥有多少猫和老鼠?”阿兵非常诧异,给出了几种抽样调查的方法,最终没有令面试官满意而遗憾离场。腾讯微博上有人指出这是一个典型的“费米问题”。从湖北教育新闻网上转来以下关于费米问题的内容——《耐人寻味的“费米估算法”》。
假如你是一个电信销售人员,公司经理要你制定一个销售计划,除了传统的销售渠道——大推销商和电子商店外,你必须搞清全国“电话商店”的数量,不过这个必需的数据无论销售机构还是政府部门都无法提供,你该怎么办?一位销售专家为此给出的方案是:去当地的图书馆,从全国各地的电话簿中随机挑选几本,翻阅登载工商企业的黄页部分,把电话商店一家一家数出来。然后,根据你所数的城市中每10万人有多少家商店,由全国的总人口来大致估测全国电话商店的数量。事实证明,这种方法是相对可靠和可行的。而事实上,专家的回答是基于“费米估算法”的思路。
恩里科·费米(Enrico Fermi,1901-1954)是美籍意大利物理学家,1938年获诺贝尔物理学奖,1942年创造了第一次原子核的链式反应,引领科学进入原子时代。值得一提的是,费米还是一位善于启发学生思维的教育家,他特别喜欢用估算的方法来训练学生独立思考问题和处理难题的能力。他说,当你听到一个问题,可你对问题的答案丝毫都不知道,你肯定会认为所提供的信息或已知条件太少了,因而无法解决它;但是当这个问题被分解成几个次级问题,每个问题不用求教专家或书本都能解答时,你就接近于得到准确的答案了。比如,你想知道地球周围的大气质量是多少,这个问题处理起来好像无从下手,但是稍有物理知识的人都知道一个标准大气压约为1.01×105帕,大气有压强完全是因为大气有重力,而地球的半径约为6400千米是我们熟悉的物理量,求出地球的表面积后再乘大气的总重力,就可以得到地球上空气的总质量。这就是著名的“费米估算法”。
“费米估算法”的特点在于解决不提供准确解题必须的全部条件的估算问题。据说,有一次费米在芝加哥大学的课堂上提出了一个古怪的问题:芝加哥市一共有多少位钢琴调音师?见学生们一片茫然,费米提示把这个问题“分解成一些便于操作的小问题,然后鼓起勇气作猜测和假设”。芝加哥有多少居民?可靠的估算是300万;平均每个家庭有多少人?4人;多少家庭有钢琴?大概三分之一,那么全市大约就有25万架钢琴;一架钢琴隔多长时间需要调音?平均5年,那么芝加哥平均每年有5万架次的钢琴需要调音;每个调音师每天能为多少架钢琴调音?4架;假设他一年工作250天,那么他每年约为1000架钢琴调音。由此,费米和学生们推测,芝加哥市大概有50位钢琴调音师。看起来这个答案不太精确,因为调音师的实际数据有可能介于25位~100位之间。然而,事后有人用电话号码簿加以验证,实际统计的结果与费米的猜测十分接近。
费米的意图是想说明,我们可以提出假设,然后估算出相当近似的答案。它的原理是,在任何一组计算里,错误往往会相互抵消。例如,有人会假设不是每3个,而是每6个家庭有1架钢琴,他同样也可能假设每架钢琴每2年半而不是5年必须调一次音。由于错误的估计往往相互补偿,其计算结果将趋向于相对正确的数字。用理论语言表述就是:费米估算的准确性取决于“平衡(均)律”的作用。“平衡(均)律”在自然界和我们的生活中无处不在。对它的理解是:在猜测过程中的每一个小问题的关键点,你的推测假设都有可能过高或过低,但是如果这样的“点”多取几个,误差往往就会互相抵消。
费米处理问题的方式是将复杂、困难的问题分解成小的、可以解决的部分,从而以最直接的方法迅速解决问题。这种思维方式非常实用,可以帮助我们解决很多日常甚至重要的问题。在上个世纪40年代的一个早晨,世界第一颗试验原子弹在美国新墨西哥州沙漠上爆炸。40秒钟后,震波传到费米和他的同事们驻扎的基地,费米把一些碎纸屑扔向空中让其随风飘落,然后通过迅速计算,费米向他的同事宣布爆炸的能量相当于1万吨烈性炸药,这与精确测量的结果极为接近。大家对这位估算天才钦佩之余但并不惊奇,因为费米估算法早已闻名遐迩。
在实际生活中,我们常常需要在信息不全的情况下做出判断决策。要使我们的决定尽可能正确,最有效的策略就是“费米思维”,它对于培养我们的应变能力,以及解决突发事件的能力都有很大帮助,甚至应该成为我们生存和发展的必要心理素质。
(转自湖北教育新闻网)
这篇关于耐人寻味的“费米估算法”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!