Archive for category 数学小品

估计与速算

通常我们对于自己一时难以给出问题的精确答案的时候会冠以“大概”或者“我估计”的字眼,比如一个月吃饭花了多少钱,南京地铁二号线有多长这样的问题。这类问题的回答中蕴含了一项工程技术的神奇方法——估算。估算代表了我们对问题的解的粗略计算,是从宏观的性质和范围上的把握。然而估算也不能是瞎算,虽然不精确,但也要靠谱。如果有人告诉你9999×9999的结果是99990001的话,你应当可以在3秒钟之内告诉他结果是错的。有些技巧在进行估算和速算时很有用。

一、快速检验

1、量纲检验
量纲检验有两条法则——第一,和式中各项的量纲必须相同,这个量纲就是最终求和结果的量纲;第二,乘积的量纲是各乘数量纲的乘积。比如,

(英里+英里)×英里×英里/天=英里3/天

在我高中的时候,我经常使用量纲检验来做物理的选择题,有时我未必要考虑给出的答案到底表达了什么意思,但我可以通过给定的答案中每个字母的量纲得出表达式的量纲,初步判断是否为问题的解的量纲。

2、舍九法
舍九法用于验证整数计算结果是否正确。对于加法,每个加数各位数字之和的总和与结果各位数字之和关于模9同余;对于乘法,每个乘数各位数字之和的乘积与结果各位数字之和关于模9同余。舍九法的正确性是由同余的基本性质保证的。

来看一个例子。a=28997,b=39495,如果计算a和b的乘积结果是p=1145236415,按照舍九法,a≡8(mod 9),b≡3(mod 9),p≡5(mod 9),但8×3与5并不关于模9同余,所以这个计算结果是错误的。文章开头说到的9999×9999≠99990001就是根据舍九法判断的。

二、经验法则

1、72法则
假设以年回报率r%投资一笔钱y年,如果r×y=72,那么投资额差不多会翻倍,或者说得到了和投资额差不多的回报额。比如以年回报率6%投资1000元12年,投资额就变成了2012元。

2、翻倍经验法则
210=1024,翻倍10次就大约是1000倍,20次就大约是100万倍。

3、π秒法则
也许记住3.155×107秒就是一年是件很困难的事情,但是,在误差不超过千分之五的情况下,记住“π秒就是一纳世纪”还是很容易的。107秒也就是差不多4个月的时间。

三、Little定律

任意一个带有输入输出的系统,系统中物体的平均数量=物体离开系统的平均速率×每天物体在系统中停留的平均时间。我要是在上海世博会之前知道这条定律就好了,就可以运用这条定律来估计排队时间,合理安排而去更多的展馆参观了。Little定理和流平衡的原理可以证明多用户系统的响应时间公式。

 

程序员在很多时候也需要进行估计和速算,估计与速算能力的是要靠平时实践来提高的,平常通过做一些小实验来积累关键操作的时间或者空间开销是很值得的,这些关键的参数可以在估算和速算中起到重要的作用,从而帮助程序员作出明智的决策。

最后提一个有趣的估算问题:密西西比河一天流出多少水?

1 Comment