封底计算,英文为 back-of-the-envelope calculations (BotEC),这个术语由物理学家恩里科 ·费米创造,指用简单到 可以在手边随便的什么小纸片——比如信封的背面上——进行的计算,对复杂的方程作同一数量级内的近似求解。
对于我们的软件系统,当设计者设计出来一个软件架构之后,应该对这个架构进行一个“封底”评估,确保其性能符合要求。多数封底计算利用了利特尔法则。科特尔法则是指系统中物理的平均数量就是系统中物理离开系统的平均比率和每个物体在系统中所花费的平均时间的乘积。(如果物理进入和离开系统存在一个总体上的平衡的话,出去率也就是进入率)
《编程珠玑》的第七章对这个问题进行了详细的描述,有兴趣的读者可以看看。
费米问题,就是在信息不完整的情况下,凭借对对象事物的深刻理解和洞察,科学地作出一些假设使得问题得以简化,复杂的程度得以降低,从而得到符合或接近实际的估计。
“费米问题”的目的在于向人们表明,我们可以进行科学的假设,从中得出比较接近的答案。其中的道理很简单,在一系列的计算中,错误会相对抵消。
1945年7月,世界上第一颗原子弹在美国新墨西哥州沙漠爆炸。40秒钟后,爆炸引起的滚滚气浪冲到科学家们进行观测的大本营里。第一个起身的是物理学家恩里科-费米。在原子弹爆炸之前,费米从笔记本里扯下一张纸,将其撕成碎片。当
他感受到气浪所带来的第一下波动时,马上将碎纸片举过头顶抛撒出去。它们在空中飘动,然后纷纷扬扬地落到地面,拉开的距离大约有2.3米。经过初步估算,
费米宣布这颗原子弹的能量为1万吨TNT当量。后来,相关专家经过几个星期的分析研究,证实了费米当时现场估计的准确性。
同样的道理,许多更实际的问题也能得到解决。不论是关于烹调、
修车,还是人际关系,毫无主见的人通常求助于参考书、顾问或专家,而有独立见解的人却不这样做,他们会凭借自己的知识和经验,进行认真的分析和合理的假设,找到解决办法。
从根本上来说,“费米问题”的科学价值不仅仅在于解决了日常生活中的许 多问题,还在于提高了人的独立发现和创造发明能力。至于这种发现是像测算原子弹的威力那么至关重要,还是如同计算罐子里的硬币那样微不足道,则是无关紧要 的。通过单纯查阅资料或者依赖别人去寻找问题的答案,只会使你失去唯有在独自的发现过程中所领略到的那种无与伦比的自豪和欢快,丢掉使自己树立和巩固自信 心的实践经验。因此,大胆地去处理像“费米问题”一类的问题吧,这将会成为丰富我们生活的一大乐趣。
封底计算,源于物理学家恩里科·费米,常用于快速估算复杂问题。在软件系统设计中,通过类似方法评估架构性能。科特尔法则在此类估算中起关键作用。费米问题强调在信息不全时,通过假设简化问题,达到近似实际的估计。费米通过现场估算原子弹能量展示了这种方法的有效性。在日常生活中,独立思考和处理这类问题能提升个人解决问题的能力和自信心。
3825

被折叠的 条评论
为什么被折叠?



