Lec 6 渐近分析
资料依据:课程视频与 transcript · Lecture notes
TL;DR
- O 和 Ω 分别给出渐近上界与下界,Θ 给出紧界;o 和 ω 表示比较函数严格更小或更大的增长率。
- 渐近符号描述函数集合而非精确值;证明时需显式给出常数与阈值,不能把 O 当作可随意约去的数字。
- 调和数满足 Hn=Θ(logn);Stirling 公式把 n! 的乘法增长转换为可分析的指数形式。
一、引例:Goomy 叠叠乐
问题: n 块宽度为 1 的矩形叠放,每块可相对下一块错开,设 di 为第 i 块右边缘相对第 0 块右边缘的偏移。能否让顶层 Goomy 悬出桌边超过 1 个单位?
约束(重心不超出支撑范围): 前 k 块的集体重心不得超出第 k 块右边缘,即
dk=21+k1∑i=0k−1di(贪心策略:恰好到极限)
用扰动法化简递推:相邻两式相减得
dk=dk−1+2k1
展开得
dn=21(1+21+31+⋯+n1)=21Hn
由于调和级数发散,dn→∞,理论上可悬出任意远。实际上仅需 4 块(H4>2)即可悬出 1 个单位。
二、调和数
Definition. 第 n 个调和数(harmonic number)为 Hn=i=1∑ni1。
用积分界(递减函数)估计 Hn:
n1+lnn≤Hn≤1+lnn
两侧差值不超过 1,故 Hn∼lnn(见第 3 节)。
三、渐近符号 (Asymptotic Notation)
3.1 Tilde 符号 ∼
Definition. f∼g 当且仅当 x→∞limg(x)f(x)=1。
含义:f 和 g 在极限意义下"精确相等"(比值趋于 1)。
Example. Hn∼lnn,n!∼(en)n2πn(Stirling 公式)。
3.2 Big-O(上界)
Definition. f∈O(g) 当且仅当 ∃c∈R,∃M∈Z+,∀x>M:∣f(x)∣≤c⋅g(x)。
含义: f 渐近上界为 g(忽略常数倍和有限例外),对应"≤"。
Theorem. 若 x→∞limg(x)∣f(x)∣∈R,则 f∈O(g)。(极限存在 ⇒ Big-O;反之不一定。)
等价形式(离散域): f∈O(g)⟺∃c′.∀x.∣f(x)∣≤c′⋅g(x)。
Examples:
| f | g | f∈O(g)? | 理由 |
|---|
| x | x2 | ✓ | 极限为 0 |
| 3sinx | 1 | ✓ | 取 c=3,M=0 |
| x2 | x | ✗ | 对任意 c,M,取 x>max(c,M) 即违反 |
| 多项式 | 2x | ✓ | 极限为 0 |
| 4x | 2x | ✗ | 比值 →∞ |
3.3 Little-o(严格上界)
Definition. f∈o(g) 当且仅当 x→∞limg(x)f(x)=0。
含义: f 比 g 渐近"严格小",对应"<"。
关系: f∈o(g)⟹f∈O(g)(小 o 蕴含大 O)。
3.4 Big-Ω(下界)
Definition. f∈Ω(g) 当且仅当 g∈O(f)。
含义: f 渐近下界为 g,对应"≥"。
Theorem. 若 x→∞limg(x)∣f(x)∣∈(0,∞],则 f∈Ω(g)。
Theorem. f∈o(g)⟹f∈/Ω(g)。
3.5 Little-ω(严格下界)
Definition. f∈ω(g) 当且仅当 g∈o(f),即 x→∞limg(x)f(x)=∞。
含义: f 比 g 渐近"严格大",对应">"。
3.6 Theta(紧确界)
Definition. f∈Θ(g) 当且仅当 f∈O(g) 且 f∈Ω(g)。
含义: f 和 g 渐近等价(相差常数倍),对应"="。
Theorem. 若 x→∞limg(x)f(x)∈R+,则 f∈Θ(g)。
四、各符号汇总
| 符号 | 定义 | 极限条件 | 直觉对应 |
|---|
| f∼g | — | limf/g=1 | = |
| f∈O(g) | $\exists c,M.;\forall x>M.; | f | \leq cg$ |
| f∈o(g) | — | limf/g=0 | < |
| f∈Ω(g) | g∈O(f) | $\lim | f |
| f∈ω(g) | g∈o(f) | limf/g=∞ | > |
| f∈Θ(g) | f∈O(g) 且 f∈Ω(g) | limf/g∈R+ | = |
注意: 极限条件是充分条件(红色警示),不是等价定义(黑色是定义)。
五、常见误用警告
- 绝对禁止写 f=O(g):O(g) 是函数的集合,不是单个值,会导致"f=O(g) 且 h=O(g),故 f=h"等谬误。应写 f∈O(g) 或 f≤O(g)。
- f≥O(g) 毫无意义(因为 0 函数 ∈O(g))。
- 注意 Ω,ω 在 CS 和数论中定义不同,本课使用 CS 定义(更强)。
六、Stirling 公式
n!∼(en)n2πn
更精确形式:n!=(en)n2πn⋅eϵ(n),其中 12n+11≤ϵ(n)≤12n1,乘法误差 <1+144n21。
推导:ln(n!)=i=1∑nlni,对递增函数 f(x)=lnx 应用积分界:
nlnn−n+1≤ln(n!)≤(n+1)lnn−n+1
即 nn/en−1≤n!≤nn+1/en−1,误差在 n 倍以内。
七、关键术语速查
| 英文 | 中文 |
|---|
| Harmonic number Hn | 调和数 |
| Asymptotic notation | 渐近符号 |
| Tilde ∼ | Tilde 符号(渐近相等) |
| Big-O O | 大 O 符号(渐近上界) |
| Little-o o | 小 o 符号(严格渐近上界) |
| Big-Omega Ω | 大 Omega(渐近下界) |
| Little-omega ω | 小 omega(严格渐近下界) |
| Theta Θ | Theta(紧确界) |
| Stirling's formula | Stirling 公式 |
| Closed form | 闭合公式 |
我的理解
我的理解
渐近分析丢弃常数与低阶项,但不丢弃前提。对小输入、隐藏常数很大或不同操作成本相差悬殊的系统,渐近界仍需要与模型和实测一起解读。