COMP5270 Sample Exam 2 中文详细题解
来源:
Sample Exam #2.pdf
说明: 原 PDF 是 sample exam 题目册,没有附官方 solutions。下面是按课程讲义和 tutorial/assignment 思路整理的中文详细题解。
重点: SetCover 的 LP rounding、Las Vegas expected time 的坑、dyadic intervals + CountMinSketch 做 range counting。
总览
| 题目 | 分值 | 主题 |
|---|---|---|
| Problem 1 | 10 | MCQ,覆盖 LV/MC、balls in bins、hashing、KKT、LSH、Max-Cut |
| Problem 2 | 15 | SetCover 的 ILP/LP relaxation 和 randomized rounding |
| Problem 3 | 15 | 条件期望运行时间 |
| Problem 4 | 20 | streaming range counting,dyadic intervals,CountMinSketch |
Problem 1: Multiple Choice
每小题 1 分,答错 0 分,不答 0.5 分。
(1)
题意:如果这 10 道 MCQ 只回答自己非常有把握的题,期望分数是否至少 5?
答案:True。
理由:完全不答 10 题就有
分。若只在自己正确概率大于
(2)
题意:expected time 为
答案:True。
做法:运行原算法最多
选足够大的常数
(3)
题意:向
答案:
至少 hit 一次就是 coupon collector,已经需要
但在 big-Theta 级别仍然是
(4)
题意:CountMinSketch 和 Misra-Gries guarantee 类似,但 Misra-Gries 更快且提供 linear sketch?
答案:False。
Misra-Gries 是 deterministic counter algorithm,不是 linear sketch。CountMinSketch 才是线性 sketch 风格,适合合并 stream / strict turnstile 场景。
(5)
题意:若
答案:False。
Strongly universal 只保证任意两个不同输入的 hash values 是
independent uniform,也就是 pairwise independence。它不保证所有
经典反例思路:
(6)
题意:与 separate chaining 不同,open addressing 是否能处理 load
factor
答案:Cannot。
Open addressing 把所有元素直接存在 array cells 里。若
(7)
题意:“strongly universal”和“pairwise independent” hash families 是否是同一个概念?
答案:True。
在本课程语境中,strongly universal 的意思就是对任意
(8)
题意:Karger-Klein-Tarjan algorithm 是哪个问题的 randomized algorithm?
答案:Minimum Spanning Tree。
KKT 是 randomized linear-time MST algorithm。Karger contraction 是 Min-Cut,不要混淆。
(9)
题意:Hamming space 的 LSH sensitivity
答案:
Hamming LSH 用随机坐标
对应 sensitivity
(10)
题意:Max-Cut 的 LP relaxation randomized rounding 给出 0.878-factor approximation?
答案:False。
0.878 是 Goemans-Williamson 的 SDP rounding 结果,不是普通 LP
relaxation 的 randomized rounding。课程里基础 randomized cut 给出的是
Problem 2: SetCover 的 LP Rounding
SetCover:
- universe 是
; - 有 sets
; - set
成本为 ; - 目标选
覆盖所有元素,并最小化
(a) 哪个 ILP 对应 SetCover?
答案:左边。
左边 ILP:
subject to
解释:
表示选择 set ; - 对每个元素
,约束要求至少一个包含 的 set 被选; - 目标函数就是选中 sets 的总成本。
右边的变量按元素
(b) SetCover 解和 ILP 解之间的转换
从 set cover 到 ILP solution
给定 set cover
因为
目标值:
从 ILP solution 到 set cover
给定 integral feasible solution
对任意元素
因为
成本同样相等:
(c) LP relaxation
把
放松成
得到 LP:
subject to
记 LP optimum 为
其中
(d) 固定元素 没被覆盖的概率至多
算法做
对固定 set
现在固定一个元素
由于不同 set 的随机选择相互独立:
用
LP constraint 对元素
所以
(e) 取 后以至少 概率得到 set cover
令坏事件
用 union bound:
要让失败概率至多
例如取
即可。于是
(f) 证明
对 set
用 union bound 或 Bernoulli inequality:
因此
因为
所以
(g)
得到 -approximation with
probability at least
取
由 (e),输出是 set cover 的概率至少
由 (f),
用 Markov:
所以成本至多
两个好事件同时发生的概率至少
在同时发生时:
是合法 set cover; - 成本
因此算法以至少
Problem 3: Las Vegas Algorithm 的 Expected Time
已知 Las Vegas algorithm
并且只知道
(a) 证明
用 law of total expectation:
(b) 和 的关系
函数
是 convex function。由 Jensen:
也就是说:
这是下界,不是上界。因此
(c) 构造 使 finite 但
令
先算
公式
在
所以
但
这说明只控制
构造新 Las Vegas Algorithm
算法
步;如果没结束,就重新开始,直到某次结束。
令
(d) 证明
在条件
更准确地说,对任意满足
用 Markov:
因此
对所有
(e) 证明
由 Markov inequality:
所以
(f) loop 的 expected
iterations 是
一次 iteration 成功结束的概率:
每次 iteration 独立重新运行
(g) 为什么 是 Las Vegas,并给出 expected time
每次 iteration 最多运行
步。由 (f),expected iterations 是
这不是 polynomial in
Problem 4: Streaming Range Counting with Dyadic Intervals
有
其中
目标:stream 结束后,对任意 query interval
回答 salary 落在其中的人数
误差要求:
for every fixed query
(a) 一个简单方法
最直接的方法:维护完整 salary histogram。
建立数组
初始全 0。读到 salary
回答 query
这是 exact answer,所以满足 99% guarantee,甚至概率为 1。
空间复杂度:
每个 counter 最大为
bits。
如果
(b) Dyadic intervals 有多少个?
题目定义 dyadic intervals:
其中
第
如果
(c) 任意
interval 可分成 个 dyadic
intervals
把 dyadic intervals 看成一棵 binary tree:
- root 是整个
; - 每个 node 代表一个 interval;
- 左右 children 把当前 interval 对半分。
对 query interval
- 从 root 开始;
- 如果某个 node interval 完全包含在
中,就收下它; - 如果完全不相交,就丢掉;
- 如果部分相交,就递归到 children。
在每一层,最多只有常数个 boundary intervals 需要继续分裂;完全落在 query 中的部分会被直接收下。因此总共选出的 dyadic intervals 数量是
更具体地,通常可以界为
(d) 画出
当
I_{0,0} = {1,2,3,4} |
这里:
- level
:1 个 interval; - level
:2 个 intervals; - level
:4 个 singleton intervals。
(e) 用 dyadic estimates 回答任意 range query
假设对所有 dyadic intervals 都有好估计:
其中
对任意 query interval
其中
定义估计:
真实值:
因为这些 intervals 不相交。
误差:
(f) 固定 level ,如何估计所有 ?
固定一个 level
把每个 incoming salary
于是 stream 变成 interval IDs 的 frequency stream。目标是估计每个 interval ID 的 frequency:
使用 CountMinSketch:
- universe size 至多
; - stream length 是
; - width
; - depth
; - 每个 counter 存到
,每个 hash seed 存 bits。
CountMinSketch 保证对任意 fixed
更精确地说,CountMinSketch 通常给 one-sided guarantee:
with probability at least
空间复杂度:
counter 数量是
每个 counter/hash 相关存储用
更标准地写成:
bits。
(g) 组合所有 levels,得到目标空间和 query time
我们对每个 level
各维护一份 CountMinSketch。
参数选择:
由 (c),任意 query interval 分解成至多
个 dyadic intervals。
令
为了让 query 中用到的所有 dyadic interval estimates 同时正确,取
于是
Space
单个 level 的空间由 (f) 是
一共有
因为
bits。
这正是题目要求的
Query algorithm
给定
- 把
分解成 个 dyadic intervals; - 对每个 dyadic interval,在对应 level 的 CountMinSketch 中查询;
- 把这些 estimates 加起来。
Correctness probability
对 query 中的每个 dyadic interval,失败概率至多
所以所有 dyadic estimates 同时正确的概率至少
因此满足题目 guarantee。
Query time
分解 range 需要
个 dyadic intervals。
每个 CountMinSketch query 需要查
所以每次 range query 的时间是
如果把 hash evaluation 视作
最后复习重点
- SetCover LP rounding:重复
轮,每轮按 选 set;元素未覆盖概率 。 - SetCover cost bound:
,所以 ;再用 Markov 把期望转成高概率。 - Jensen 的方向:
convex,所以 。知道 小,不代表 小。 - LV 到 capped LV:按
截断,每轮成功概率 ,expected iterations 。 - Dyadic intervals:任意 range 可拆成
个 dyadic intervals。 - Range counting sketch:每层维护
CountMinSketch,query 时分解区间并求和,误差预算设为
。