Lecture 7 - 2025 / 3 / 10
Double hashing
Claim: 对于一组 2-universal hashing 把 S⊆U 的元素投影到 T,且 ∣T∣=∣S∣2,则存在碰撞的概率 ≤21。
E[collision]≤(2∣S∣)∣T∣1≤21
当然哈希表大小为 O(∣S∣2) 还是过大,希望能压缩到 O(∣S∣)。
Claim: 对于一组 2-universal hashing 把 S⊆U 的元素投影到 T,且 ∣T∣=∣S∣。设有 bi 个元素 h(x)=i,则 Pr[i=1∑∣S∣bi2≥4∣S∣]≤21。
首先注意到:
E[collision]=i=1∑∣S∣(2bi)=21i=1∑∣S∣bi2−∣S∣
另一方面 E[collision]=(2∣S∣)∣T∣1≤2∣S∣,从而 E[i=1∑∣S∣bi2]≤2∣S∣。
从而由 Markov 不等式立刻得证。
从而可以通过第一次 hash 将值域映射到 ∣S∣,对于有 bi 个冲突的组,再进行一次 hash 将值域映射到 bi2。从而我们可以在期望 O(S) 次抽取哈希函数,构造一个值域为 O(S) 的无冲突 hash。
Buffon's needle
平面上一组两两距离为 1 的平行线,现在随机投掷(中心点均匀随机、角度均匀随机)一根长度为 1 的针,那么针与线相交的概率是多少?
π2∫θ=0π∫d=01/2sinθ1dddθ=π1∫θ=0πsinθdθ=π2
Theorem (Unbiased Estimator Theorem): 对于两两独立的 X1,⋯,Xt,期望为 μ,方差为 σ2,X=t1i=1∑tXi,则当 t≥δ1⋅ϵ2μ2σ2 时,
Pr[∣X−μ∣≥ϵμ]≤ϵ2μ2Var[X]=tϵ2μ2σ2≤δ
现在所以,达到 δ 的错误率需要通过 O(δ1) 次采样。现在考虑增加一部分随机性,能否通过 O(logδ1) 的样本实现同样的错误率。
Lemma: 对于一枚 Pr[Head]≥43 的硬币,在 2s+1 次相互独立投掷中,Pr[#Head≤s]≤(43)s。
Pr[#Head≤s]≤i=0∑s(s2s+1)(43)i(41)2s+1−i≤(i=0∑s(i2s+1))(43)s(41)s+1≤(43)s×4s+122s+1≤(43)s
从而我们组间完全独立、组内两两独立的生成 2log3/4δ1+1 组、每组 ϵ2μ24σ2 个样本。对于每组求平均值、再对所有组求中位数。从而可以在 O(logδ1) 次采样实现 δ 的错误率。