增长速度:指数、幂与对数的快慢
比较函数的增长快慢,比较的不是某一点的函数值,而是 时谁最终占优。对 、 的指数函数 、幂函数 与对数函数 ,结论是一条固定的次序:指数终将超过幂,幂终将超过对数,且一旦超过就不再被追上。「终将」二字承担了全部的分量——它只断言存在一个分界点,对分界点的位置只字未提。
1 · 最终次序的表述
准确的说法用极限写: 与 ,对任意 与任意 成立。高中阶段不做极限证明,代之以「存在 ,当 时 恒成立」这一等价说法。 取多大都无所谓: 时分界点向右挪得很远,但它仍然是一个有限的数。
复利、细胞分裂与算法的指数级枚举都归在同一条曲线上,这也是「指数增长」在日常语境里被用作剧烈变化代名词的由来。
2 · 有限区间内的次序反转
在分界点左侧,次序可以完全颠倒,而分界点的位置未必大。 与 在正半轴上交于 与 两处,两个交点都是整数: 与 。在 这段区间上幂函数反而在上方, 处 小于 。越过 之后指数函数才一路领先。
3 · 反超点的位置
反超点对参数极为敏感,几组实测值列在下表。第二个交点即最终的分界点,它之后指数函数不再被追上。
| 指数底 | 幂次 | 第一个交点 | 第二个交点 |
|---|---|---|---|
| 2 | 2 | 2.000 | 4.000 |
| 2 | 3 | 1.373 | 9.940 |
| 2 | 4 | 1.240 | 16.000 |
| 2 | 5 | 1.177 | 22.440 |
| 1.5 | 5 | 1.093 | 47.647 |
| 3 | 2 | 无 | 无 |
底取 3 而幂次取 2 时两条曲线在扫描区间内不相交, 全程在 之上。这句话只对正半轴成立: 取 时 已小于 ,交点落在 与 之间,在表格的扫描范围 之外。底降到 1.5、幂次升到 5,分界点便推到 47.6。表中 、 那一行的 16.000 不是舍入的巧合:,两个数严格相等。
对数一侧的分界点还要靠后。 与 在 处相交后,对数一路压在幂函数上方,直到 才被反超。若只在 的范围内取数据作图,得到的结论会与「幂终将超过对数」正好相反。这类反例说明,把有限区间上的观察外推成渐近结论是不可靠的;反过来,用渐近结论去预测有限区间内的表现同样不可靠。
4 · 参考文献
- Exponential growth. Wikipedia. 指数增长与它同幂增长的比较。https://en.wikipedia.org/wiki/Exponential_growth
- Asymptotic analysis. Wikipedia. 「最终占优」的严格含义与渐近记号。https://en.wikipedia.org/wiki/Asymptotic_analysis
- Orders of approximation. Wikipedia. 有限区间上的观察为何不能外推成渐近结论。https://en.wikipedia.org/wiki/Orders_of_approximation