COMP5270 Week 0-12 Cheatsheet
课程: COMP5270 - Randomness, Probability, and Algorithms 学期: S1 2026 用途: 期中/期末快速复习,做题时定位工具
一、Week 0:预备知识与概率基础
1.1 数学工具
| 工具 | 公式/结论 | 用途 |
|---|---|---|
| Stirling | 阶乘渐近、组合数估计 | |
| 组合数 | 二项式系数定义 | |
| 调和数 | Coupon Collector、快速排序 | |
| 积分估计 | 调和数上下界 | |
| 平方倒数 | Coupon Collector 方差 | |
| 根号倒数 | 级数求和阶 | |
| 几何级数 | 期望计算、递推 | |
| 二项式定理 | Binomial 分布名来源: |
|
| AM-GM | 不等式放缩 |
1.2 渐近符号速查
| 符号 | 含义 | 口诀 |
|---|---|---|
| 上界 | 不要超过它 | |
| 下界 | 不会低于它 | |
| 紧确界 | 上下都卡住 | |
| 严格上界 | ||
| 严格下界 |
常见复杂度:
1.3 概率基础
期望的线性性(最核心!不需要独立):
指示随机变量:
方差:
自然数随机变量期望(尾和公式):
Jensen 不等式:
全期望公式(Law of Total Expectation):
1.4 四大分布速查表
| 分布 | 取值 | 概率质量函数 | 期望 | 方差 | 核心场景 |
|---|---|---|---|---|---|
| Bernoulli | 单次试验、指示变量 | ||||
| Geometric | 等待第一次成功、Coupon Collector 阶段 | ||||
| Binomial | |||||
| Poisson | 稀有事件计数、Poissonization |
分布关系: Bernoulli(p) -- n次独立重复 --> Binomial(n,p)
| |
| (p=λ/n, n→∞) | (n大, p小)
v v
指示变量 Poisson(λ=np)
|
v
Geometric(p) -- 等待"第一次成功"
Geometric 无记忆性:
Poisson 标志性特征:期望 = 方差 =
Poissonization 魔术:先取
Bernoulli 分布详解
定义:Bernoulli
核心性质:
| 性质 | 公式 | 说明 |
|---|---|---|
| 期望 | ||
| 方差 | 在 |
|
| 矩 | 因为 |
|
| MGF | 直接定义 |
为什么方差 ≤ 1/4?
Bernoulli 是"原子": - 所有离散分布都可以看成
Bernoulli 的某种组合或推广 - 指示变量
例:用 Bernoulli 算期望
空箱问题里,
这就是期望线性性的威力:Bernoulli 不需要独立,求和期望就是期望求和。
二、Week 1:随机化算法入门
2.1 两类算法对比
| 类型 | 正确性 | 运行时间 | 特点 |
|---|---|---|---|
| Las Vegas | 总是正确 | 期望有界,worst-case 无界 | 可能慢,但绝不出错 |
| Monte Carlo | 高概率正确 | worst-case 有界 | 可能出错,但时间可控 |
示例——找偶数:数组
2.2 四种分析类型
| 类型 | 公式 | 含义 |
|---|---|---|
| Worst-case | 最坏输入表现 | |
| Expected | 最坏输入的期望时间 | |
| Average-case | 输入服从分布时的期望 | |
| Amortized | 多次运行的平均最坏 |
2.3 随机化 QuickSort
- 期望时间:
- 期望比较次数:
- 关键技巧:
指示 和 是否被比较过,
三、Week 2:概率不等式与算法转换
3.1 四大不等式(从弱到强)
| 不等式 | 形式 | 条件 | 衰减速度 | 适用场景 |
|---|---|---|---|---|
| Markov | 只有一阶矩 | |||
| Chebyshev | 有二阶矩 | |||
| Hoeffding | 指数 | 有界独立变量和 | ||
| Chernoff | 独立 |
指数 | Bernoulli 和、乘法偏离 | |
Union Bound:
标准放缩:
3.2 算法转换
Las Vegas
Monte Carlo
3.3 Randomised
Median( 时间,失败概率 )
1. 抽样 $m = n^{2/3}$ 个元素(有放回),排序 |
失败概率:三个坏事件各
3.4 概率放大(Amplification)
| 场景 | 方法 | 重复次数 | 效果 |
|---|---|---|---|
| MC 可检测 fail | 重复直到成功 | — | 转成 Las Vegas,期望时间 |
| MC 失败概率 |
独立重复 |
失败率降到 |
|
| Yes/No 黑盒(正确率 |
Majority Vote | Chernoff 指数衰减 | |
| 数值输出(常数概率落在好区间) | Median Trick | 中位数高概率准确 |
Majority Vote:正确率
Median Trick:多次运行取中位数,适用于数值输出。
3.5 做题判断模板
| 看到什么 | 用什么工具 |
|---|---|
| "至少一个事件发生" | 补集 |
| 非负随机变量超过某值 | Markov |
| 偏离期望,知道方差 | Chebyshev |
| 独立 |
Chernoff 或 Hoeffding |
| 错误概率从常数降到 |
重复 |
| 输出可检测 fail | 重复直到非 fail,转 Las Vegas |
| Yes/No 黑盒,正确率 |
Majority Vote |
| 数值输出,常数概率在好区间 | Median Trick |
四、Week 3:Balls in Bins
4.1 三大问题对比
| 问题 | 设定 | 结果 | 核心直觉 |
|---|---|---|---|
| 碰撞(Birthday Paradox) | 第一次碰撞: |
||
| 覆盖(Coupon Collector) | 直到每箱至少 1 球 | 期望 |
最后几种"稀有"邮票等得久 |
| 负载均衡 | 最大负载 |
某些箱子运气爆棚 | |
| 双选择 | 每球随机看 2 箱,放较空的 | 最大负载 |
双指数衰减,指数级改进 |
记忆口诀:碰撞快(
4.2 碰撞(Collisions)
期望碰撞数(
非均匀分布(分布
阈值:
4.3 覆盖(Coupon Collector)
期望:
方差:
分解为几何分布之和: - 阶段
浓度(Chebyshev):
** coupon collector 时间高度集中在期望附近**:变异系数
每箱至少 2 个球:
4.4 负载均衡(Load Balancing)
单选择:
上界证明核心:Chernoff + Union Bound - 单个箱子
MGF 替代证明:
4.5 Power of Two Choices
策略:每球随机选 2 箱,放入较空的那个。
结果:最大负载
直觉——双指数衰减: 设
应用:Hash table(cuckoo hashing)、负载均衡(JSQ-2)、任务调度。
4.6 其他关键公式
空箱期望(
空箱趋于
五、Week 4:Derandomisation
5.1 Max-Cut 随机 1/2-Approximation
问题:给无向图
随机算法:每个顶点独立以概率
对每条边
因为两个端点独立随机:
所以:
而
模板句:把目标值写成 indicator 之和,再用期望线性性得到 expected approximation guarantee。
5.2 Derandomisation 方法 1:枚举 Random Seed
把随机算法看成:
其中
找到一个 good seed。
运行时间代价:
所以这个方法只有在
关键判断:
| 如果 | 结论 |
|---|---|
| 枚举 |
|
| 枚举 polynomially many seeds,可行 | |
| good solution 可验证 | 可以检查并返回 |
| 只有期望保证 | 需要先说明存在好 seed |
5.3 期望保证推出存在性
常用事实:
直觉:随机变量不可能总是严格小于自己的期望。
因此 Max-Cut 中:
说明一定存在某个 cut 满足:
这也是 Probabilistic Method 的基本套路:
5.4 Pairwise Independence 与 Strongly Universal Hashing
Max-Cut 分析每条边时只用到两个端点的随机 bit,因此不需要 full independence,只需要 pairwise independence。
Strongly universal hash family:
若对任意
则
用法:
取
这样
课程结论:
所以只需:
个真正随机 bit。枚举 seed 的代价:
得到确定性 Max-Cut
5.5 Universal vs Strongly Universal
| 概念 | 条件 | 强度 |
|---|---|---|
| Universal | 只控制 collision | |
| Strongly universal | 输出像独立均匀变量 |
Strongly universal
注意:反过来不一定成立。
5.6 Method of Conditional Expectations
目标:把随机选择
每一步选:
为什么可行?
平均值不超过最大值,所以选较大的分支即可。
最终没有随机性:
5.7 Conditional Expectation 用在 Max-Cut
按顺序处理顶点
处理
表示把
表示把
贪心规则:
- 若
,放入 ; - 否则放入
。
保证:
运行时间:
5.8 Oriented Triangles
给无向图每条边随机定向。固定一个三角形,3 条边共有
所以:
Derandomise 方法:
- 用 3-wise independence:每个三角形只依赖 3 条边方向;
- 或用 conditional expectations:逐条边决定方向。
5.9 Probabilistic Method + Union Bound
证明存在性常用模板:
- 随机生成对象。
- 定义坏事件。
- 计算固定坏事件概率。
- 对所有坏事件用 union bound。
- 如果坏事件总概率
,则存在没有坏事件的对象。
课堂例子:
用 union bound:
若右边
六、Week 5:Graph Algorithms
初学者主线:这一周先看懂两个“安全操作”。Karger 的安全操作是“不要 contract 目标 min-cut 的边”;MST 的安全操作是用 cut/cycle property 判断某些边一定能选或一定能删。遇到概率证明时,先固定一个最优解,再算随机过程保住它的概率。
6.1 Karger Min-Cut
Basic Karger:
- 当
时,均匀随机选边并 contract; - 返回最后两个 supervertices 定义的 cut。
固定一个 minimum cut
所以杀掉
存活概率:
结论:
| 算法 | 单次时间 | 单次成功率 | 放大后时间 |
|---|---|---|---|
| Basic Karger | |||
| Karger-Stein |
Karger-Stein recurrence:
6.2 Minimum Cuts 数量
每个固定 min-cut 被 Karger 输出概率至少:
输出不同 min-cuts 的事件互斥,总概率不超过 1,所以:
Cycle graph 达到 tight。
6.3 Weighted Karger
加权图中按边权采样:
若 minimum weighted cut weight 为
杀掉 fixed min-cut 的概率仍:
6.4 MST Randomised Linear Time
MST 核心性质:
| 性质 | 结论 |
|---|---|
| Cut property | 任意 cut 上最轻边在 MST 中 |
| Cycle property | 任意 cycle 上最重边不在 MST 中 |
| 对 forest |
Karger-Klein-Tarjan building blocks:
- Boruvka
steps:顶点数缩小 倍,时间 ; - random subsampling:每条边以概率
保留; - MSTVerification:线性时间找
-heavy edges; - 设
,期望时间 。
七、Week 6:Hashing and Friends
初学者主线:Hashing 是把大 universe 压到小
table。所有分析都围绕 collision:separate chaining 算期望 bucket
size,perfect hashing 算
7.1 Universal vs Strongly Universal
Universal hashing:
Strongly universal:
关系:
反过来不一定。
7.2 Hash Table 速查
Load factor:
Separate chaining:
所以:
Worst-case:
Perfect hashing:
- 第一层大小
; - bucket
若有 个元素,第二层大小 ; - lookup worst-case
; - expected total space
。
关键:
7.3 Collision Handling
| 方法 | Lookup | Insert | 备注 |
|---|---|---|---|
| Chaining | expected |
expected |
worst-case |
| Linear probing | 依赖 clustering | 依赖 clustering | 接近满表时变差 |
| Cuckoo hashing | worst-case |
expected |
插入可能触发 eviction chain |
| Perfect hashing | worst-case |
static/batch | expected |
7.4 Bloom Filter
参数:
bits; hash functions; - 插入
个元素; bits per element。
某 bit 被置为 1:
False positive:
最优 hash 数:
Guarantee:
- no false negative;
- possible false positive;
- simple version 不支持 remove;
- counting Bloom filter 可支持 remove,但空间增加。
八、Week 7:Nearest Neighbours, JL, LSH
初学者主线:Nearest Neighbour 难在高维和大数据。JL
负责“降维但保距离”,LSH 负责“让近点更容易撞在一起”。看到 LSH 题,先写
near collision probability
8.1 NN / ANN
Nearest Neighbour:
Baselines:
| 空间 | Query | 方法 |
|---|---|---|
| 线性扫描 | ||
| Hamming cube 全 universe array |
8.2 Johnson-Lindenstrauss
随机 Gaussian matrix:
Distributional JL:
对固定
JL for
同时保留所有 pairwise distances。
8.3 LSH
Sensitivity:
Amplification:
- concatenate
hashes: ; - repeat
tables:提高找到近邻概率。
常用参数:
Baby ANN:
| 指标 | 结果 |
|---|---|
| Space | |
| Expected query |
8.4 LSH Examples
Hamming:
Euclidean SimHash:
Unit vectors 夹角
Jaccard / MinHash:
九、Week 8:Streaming and Sketching I
初学者主线:Streaming
的限制是不能保存整个输入,只能维护小 summary。Misra-Gries 用“抵消”找
heavy hitters;Morris counter 用随机概率压缩计数;
9.1 Streaming Setup
Stream:
Frequency:
目标空间:
最好是 polylog。
9.2 Misra-Gries
参数:
维护最多
Guarantee:
Space:
Heavy hitter sandwich 用
9.3 Morris Counter
存指数
性质:
Median-of-means:
个 copies/block 结构。
Careful Morris:
9.4 Distinct Elements
Distinct count:
Tidemark/AMS:
- 用 trailing zeros;
- 得 constant-factor estimate;
- space
。
Bottom-
第
取:
得到
BJKST:
十、Week 9:Streaming and Sketching II
初学者主线:Sketch 是 frequency vector
的压缩表示。CountSketch 用 random signs 抵消噪声,误差看
10.1 Sketching
Sketching algorithm:
Linear sketch:
10.2 CountSketch
Update:
Query:
Guarantee:
Space:
Works in turnstile model,且是 linear sketch。
10.3 CountMinSketch
Update 每一行:
Query:
Cash register / strict turnstile guarantee:
Space:
CMS 依赖 nonnegative noise 和 Markov,因此标准 proof 不适合 general turnstile。
10.4 CountSketch vs CountMinSketch
| 项目 | CountSketch | CountMinSketch |
|---|---|---|
| Error norm | ||
| Bias | unbiased | overestimate |
| Space in |
||
| Model | turnstile | cash register/strict turnstile |
| Amplification | median | min over rows |
同样空间下二者 guarantee incomparable。
十一、Week 10:LP and Randomised Rounding
初学者主线:先把离散问题写成 ILP,再放松成 LP,最后
rounding 回整数解。Maximization 中 LP optimum 是 upper
bound,所以只要证明 rounding 的期望至少是
11.1 LP / ILP / Relaxation
LP:
ILP:加整数约束,例如:
LP relaxation:把整数约束放松成:
Maximization:
11.2 Max-SAT
Naive random assignment:
长度
所以
Max-SAT ILP/LP:
subject to:
LP rounding:
AM-GM 分析给:
Best-of-two:
结合 naive 和 LP rounding:
11.3 Conditional Expectation Derandomisation
对 randomized rounding / assignment,逐个固定变量。
非均匀 Bernoulli:
选择条件期望更大的分支,最终 deterministic value 至少达到 randomized expectation。
十二、Week 11:Learning and Testing Distributions
初学者主线:Learning
要估计整个分布,样本复杂度通常是
12.1 Total Variation
定义:
Scheffe:
DPI:
Pearson-Neyman:
12.2 Sample Complexities
| 任务 | 样本复杂度 |
|---|---|
| Coin bias learning | |
| Distribution learning in TV | |
| Uniformity testing, constant success | |
| Uniformity testing, high probability |
12.3 Uniformity Testing
Collision probability:
Uniform:
Distance relation:
Collision statistic:
若
十三、Week 12:Learning from Experts
初学者主线:Experts
问题不追求绝对正确,而是和事后最好的 expert 比。Halving 适合存在完美
expert 的情况;MWU 适合 best expert 也会犯错的情况。所有 MWU
证明都看总权重
13.1 Experts Setting
Algorithm cost:
Best expert:
目标:让
13.2 Consistent / Halving
若
| 算法 | Bound |
|---|---|
| Consistent Expert | |
| Halving |
Halving 每次错会删除至少一半 remaining experts。
13.3 MWU
权重更新:
Deterministic weighted majority:
当
Randomised MWU:
按权重随机抽 expert 跟随。
Potential:
上下界夹住
十四、公式大全
6.1 不等式总表
| 不等式 | 形式 | 何时用 |
|---|---|---|
| Markov | 非负,一阶矩 | |
| Chebyshev | 有二阶矩 | |
| Chernoff (上尾) | 独立 Bernoulli 和 | |
| Chernoff (下尾) | 独立 Bernoulli 和 | |
| Hoeffding | 有界独立变量 | |
| Union Bound | 多事件联合 | |
| Jensen | 凸函数期望 | |
| Cauchy-Schwarz | 范数下界 | |
| 标准放缩 |
6.2 分布速查
| 分布 | 期望 | 方差 | 关键性质 |
|---|---|---|---|
| Bernoulli |
|||
| Geometric |
无记忆性 | ||
| Binomial |
|||
| Poisson |
6.3 核心渐近结果
| 问题 | 结果 |
|---|---|
| 生日悖论阈值 | |
| Coupon Collector | |
| 最大负载(单选择) | |
| 最大负载(双选择) | |
| 随机 QuickSort | |
| Randomised Median | |
| Max-Cut 随机算法 | |
| Max-Cut seed 枚举 derandomisation | |
| Max-Cut conditional expectation | |
| Oriented triangles 随机定向 |
十五、考试/做题策略
7.1 看到题目先问
- 是什么类型? 计数 / 求期望 / 尾概率 / 算法设计 / 复杂度证明
- 有哪些随机变量? 指示变量?独立?分布已知?
- 要什么精度? 精确值 / 渐近阶 / 高概率界
7.2 工具选择流程
需要尾概率? |
7.3 常见陷阱
- Chebyshev vs Chernoff:Binomial 和用 Chernoff(指数衰减),不要用 Chebyshev(多项式衰减)
- 独立性:期望线性性不需要独立,但方差相加需要至少两两独立
- Pairwise vs full independence:Max-Cut 只需要边两端 bit 两两独立,不需要所有顶点完全独立
- Universal vs strongly universal:universal 只控 collision;strongly universal 才给 pairwise independent outputs
- Derandomisation seed 枚举:只有
才多项式; 会爆炸 - Conditional expectation:不是每步最大化当前实际收益,而是最大化“给定当前选择后的未来期望”
- 几何分布定义:有的教材从 0 开始计数,有的从 1
开始。COMP5270 采用
, - Coupon Collector 阶段:
是独立的!不要误以为相关 - Union Bound 方向:
,不是等号
整理自 Week 0-12 讲义与 Tutorial 题解。如有遗漏,回查对应周的详细博客。