Advanced Algorithm - Hash Table - Lec3

Power of 2-choices

第一講中,我們證明了有很高的機率,任意 slot 中 element 的個數均為 Θ(lnnln(lnn))\mathcal{\Theta}(\frac{\ln n}{\ln (\ln n)}) ,而這一講想討論的是,如果今天我們手上有兩個 hash function (from same H\mathcal{H})可以選,每次我們就看哪一個 hh 回傳的 slot 中元素比較少,就將 element hash 到 slot,那麼現在 E[,max num of elements in any slots,]\mathbb{E}[, \text{max num of elements in any slots} , ] ?

Chernoff Bound

nn 個 identical R.V. 的相加,想 measure 其偏離平均值的機率

Let X1,X2,,XnX_1, X_2, \cdots, X_n be independent binary R.V with E[Xi]=pi\mathbb{E}[X_i] = p_i

X=iXiX = \sum_i X_i, ;μ=E[X]=ipi; \mu = \mathbb{E}[X] = \sum_i p_i

Pr[Xeμ]eμ \boxed{\Pr[X \geq e \mu] \leq e^{- \mu}}

Power of 2 choices

Throw nn balls into nn bins, \
For every ball, we pick 2 bins uniformly at random, throw the ball into the bin with less load

Let Bk=;{i,,bik};B_k = | ;\lbrace i , | ,b_i \geq k \rbrace;| (有 k\geq k 顆球的 bin 數)\

βk\beta_kBkB_k 的 upper bound ; Ek \quad \mathcal{E}_kβk>Bk\beta_k > B_k (上限符合要求) 的 event \
假定我們已經有了 BkβkB_k \leq \beta_k 這個條件 (Ek\mathcal{E}_k 成立),該如何 inductively 去找 βk+1\beta \scriptstyle k+1 ?

  1. For any balls jj, we say jj is red\color{red}{red} if the number of balls below it k\leq k

  2. Pr[,j,is red,](βkn)2\Pr[ , j , \text{is red} ,] \leq (\frac{\beta_k}{n})^2 (兩個 bin 球數都要 k\geq k)

  3. E[Bk+1,Ek]E[num of red balls,Ek]n(βkn)2\mathbb{E}[B\scriptstyle k+1 \normalsize , | \mathcal{E}_k] \leq \mathbb{E}[\text{num of red balls} , | \mathcal{E}_k] \leq n \cdot (\frac{\beta_k}{n})^2 \
    (第一個等號因為有紅色球的 bin 一定有 \geq k+1k+1 個球,後面那個等號是因為 Union Bound)

  4. Using Chernoff Bound\color{blue}{\text{Chernoff Bound}}Pr[Bk+1eβk2nEk]exp(βk2n)\Pr[B \scriptstyle k+1 \normalsize \geq e \frac{\beta_k^2}{n} | \mathcal{E}_k] \leq \exp(-\frac{\beta_k^2}{n}) \
    \
    (如果 exp(βk2n)1n2\exp(-\frac{\beta_k^2}{n}) \leq \frac{1}{n^2}) , 則我們可以選 βk+1=e,βk2n\beta \scriptstyle k+1 \normalsize = e , \frac{\beta_k^2}{n}\
    整理一下此遞迴式,我們有了以下關係式

$$ \boxed{\frac{\beta_{k+m}}{n} = \frac{1}{e} \, (\frac{e \beta_k}{n})^{2^m}} $$ 接下來要選定初始值 kk,就可以確定 β\beta 的值了,\
注意到 β6n6n2e\beta_6 \leq \lfloor \frac{n}{6} \rfloor \leq \frac{n}{2e} (顯然會超過 6 顆球 的bin數 一定會小於均分的 case)\
代回上式,可得

$$ \frac{\beta_{6+m}}{n} \leq \frac{1}{e} \, \frac{1}{2^{2^m}} $$

m=O(lnlnn)m = \mathcal{O}(\ln \ln n), we can find that β6+m<1\beta \scriptstyle 6+m \normalsize < 1 \
(亦即超過 O(1)+lnlnn\mathcal{O}(1) + \ln \ln n 顆球的 bin 出現的機率極小)

這裡只的機率很小是指 Pr[¬,Em]\Pr[\neg , \mathcal{E}_m] 很小,根據上方的遞迴式,我們可以給出一個明確的上界

Fact

$$ \boxed{\Pr[ \neg \, \mathcal{E}_{k+1}] \leq \Pr[\neg \, \mathcal{E}_{k+1} \,| \, \mathcal{E}_k] \cdot \Pr[\mathcal{E}_k] + \Pr[\neg \, \mathcal{E}_k]} $$

proof.

$$ \begin{align} \text{RHS} \, &= \, \Pr[\neg \, \mathcal{E}_{k+1} \,| \, \mathcal{E}_k] \cdot \Pr[\mathcal{E}_k] + \Pr[\neg \, \mathcal{E}_k] \\ & = \Pr[\neg \, \mathcal{E}_{k+1} \, \land \, \mathcal{E}_k] + \Pr[\neg \, \mathcal{E}_k]\\ & = \underbrace{\Pr[\neg \, \mathcal{E}_{k+1} \, \land \, \mathcal{E}_k] + \Pr[\neg \, \mathcal{E}_k \, \land \, \neg \, \mathcal{E}_{k+1}]}_{\Pr[\neg \, \mathcal{E}_{k+1}]} + \Pr[\neg \, \mathcal{E}_k \, \land \, \mathcal{E}_{k+1}] \\ & \geq \text{LHS} \end{align} $$

Pr[¬,Ek]1n\Rightarrow \Pr[\neg , \mathcal{E} \scriptstyle k \normalsize] \leq \frac{1}{n} \quad (利用 Pr[¬,E6]=0\Pr[\neg , \mathcal{E}_6 ] = 0,遞迴求出)

More Discussion

ll-choice

第 2 步變為 Pr[,j,is red,](βkn)l\Pr[ , j , \text{is red} ,] \leq (\frac{\beta_k}{n})^l (ll 個 bin 球數都要 k\geq k)

$$ \boxed{\frac{\beta_{k+m}}{n} = \frac{1}{e} \, (\frac{e \beta_k}{n})^{l^m}} $$

m=O(lnlnnlnl)m = \mathcal{O}(\frac{\ln \ln n}{\ln l}), we can find that β6+m<1\beta \scriptstyle 6+m \normalsize < 1 ,但其實還是在同個 order

What if βk\beta_k is so small

That is, 第 4 步的 bound 並不足夠小,也就是隨著 βk\beta_k 的 decay, exp(βk2n)\exp(-\frac{\beta_k^2}{n}) 終會 >1n2 > \frac{1}{n^2} βk<2nlnn\Rightarrow \beta_k < \sqrt{2n \ln n} \
Pick 使得此式成立的 min. kk^\stark=lnlnnln2+O(1)k^\star = \frac{\ln \ln n}{\ln 2} + \mathcal{O}(1)

可以證明有 bin 超過 k+2k^\star + 2 的機率足夠小 (但證明我沒看懂QQ)