关于“72”法则的一些思考

447 阅读3分钟

1."72"法则的定义

  在阅读《编程珠玑》中粗略估算这一章时,看到其中提到了一个金融学中有趣的经验法则——"72法则",便打算对这个有趣的法则做进一步的研究。
  "72"法则,是指假设以年利率r%投资一笔钱y年,如果r×y=72,那么投资会翻倍。
  表面上看起来,这确实是一个非常简单的法则,但是该近似却在一定程度上相当的精确:假设以年利率6%投资1000元12年,可以得到2012元;以8年利率8%投资1000元9年可以得到1999元。

2.用数学的方法对经验进行验证

  那么我就在想,既然是一个经验法则,自然可以通过数学方法对其中的理论进行系统的证明。首先我想到的事,复利计算是一个开方的计算,那么是不是可以套用

\lim_{x \to \infty} \left (1+\frac{1}{x} \right )^{x}=e

  这一数列重要极限对这一个法则进行推导。我们将"72"法则中的年利率和投资持续的年份带入这一极限,可以得到如下的方程组:

\begin{cases} \lim_{x \to \infty} \left (1+\frac{1}{x} \right )^{y}=2\\  
x\cdot y=K \end{cases}

  解这个方程组可以得到

K=\ln2\approx 0.693

  从结果中可以看出,当投资的时间越大时,年利率r乘以年数y的积为69.3时,投资会翻倍,这与法则中的72有一点点差距,但是这并不影响,因为经验总结和通过数学进行精确的计算的要求是不一样的。并且,对72进行分解质因数可以得到72=2\cdot2\cdot2\cdot3\cdot3通过这些质因数可以组成很多生活中经常用到的数,例如2,3,4,6,8,12\cdots这比69.3这个数字能更适用于日常中的使用,也符合这一法则是经验法则的定性,同时使用72与69.3的误差也是完全在可以接收的范围内。

3."72"法则在程序性能估算中的应用

  《编程珠玑》中引用这一经济学中的经验法则当然不是为了劝导读者放弃编程去参与经济方面的工作,而是想通过这一经验法则引导读者对自己程序的运行时间进行可靠的估计。文中讲道:假设一个指数程序解决n=40的问题需要10秒钟的时间,并且n每增加1运行时间就增加12%,通过"72"法则我们就可以知道,n每增加6,程序需要运行的时间就需要加倍。
  这只是一个简单的通过在其他领域的经验法则引申出来的一个简单的估算例子,不过更重要的是作者想要告诉我们估算这个技能无论在生活中还是在编程中都是非常有用的一个技能,所以经常在平时中对自己的程序进行性能的估算,并进行检验是一个非常有趣并且有意义的事情。因为,今天花的一点时间用来做的小实验,很有可能帮助我们在未来做出明智的选择并且省下更多的时间。