Site cover image

Site icon imageSen(Qian)’s Memo

This website is Donglin Qian (Torin Sen)’s memo, especially about machine learning papers and competitive programming.

(講義ノート)乱択アルゴリズム第8回

前回は📄Arrow icon of a page link(講義ノート)乱択アルゴリズム第7回

ボールとビン

nn個のビン、mm個のボールがある。各ボールを一様ランダムに選んだビンにいれる。

これはハッシュという有名な応用例がある。そこで、上手いこと衝突は避けたいよね。

誕生日のパラドックスで、Θ(m)\Theta(\sqrt{m})の時に衝突する。これは、予想よりも小さい数で衝突するぞ!ということがいえる。

2つ以上のボールがはいるビンの確率

つまり、ハッシュで言うと衝突する確率。

EiE_iを「ii番目のボールがこれまですべて入れてきたビンと違うビンに入っている」という事象だとする。

以下のように、事象としては積集合である。積集合のprodは独立非独立問わず、以下のように条件付き確率で計算できる。

Pr[⋂i=1nEi]=∏i=1nPr[Ei∣⋂j=1i−1Ej]=nn⋅n−1n⋯m+1n=∏i=1m(1−i−1n)Pr[\bigcap _{i=1}^n E_i] = \prod _{i=1}^n Pr[E_i | \bigcap _{j=1}^{i-1} E_j] \\ = \frac{n}{n} \cdot \frac{n-1}{n} \cdots \frac{m+1}{n} = \prod_{i=1}^m (1 - \frac{i-1}{n})

ここで、1−x≤e−x1 - x \leq e^{-x}を利用して挟めば以下のようにできる。指数関数はまとめて計算できるという利点がある。

∏i=1m(1−i−1n)≤∏i=1mexp⁡(−(i−1)/n)=exp⁡(−(m−1)m/n)\prod_{i=1}^m (1 - \frac{i-1}{n}) \leq \prod_{i=1}^m \exp(-(i-1)/n) = \exp(-(m-1)m/n)

これについて、m≥2nlog⁡2+1m \geq \sqrt{2n \log 2} + 1で1/21/2を切ることになる。さらに、kn+1k\sqrt{n}+1と入れ替えれば、上界はexp⁡(−kn(kn+1)/n)≤exp⁡(−k2/n)\exp(-k\sqrt{n}(k\sqrt{n}+1)/n) \leq \exp(-k^2/n)で抑えられる。

よって、Θ(m)\Theta(\sqrt{m})というわけである。

コンプガチャ問題

nn個の景品が等確率で現れるガチャで、景品コンプするために引くべき回数の期待値を計算してみる。期待値の線形性や調和級数の評価をすることで、Θ(nlog⁡n)\Theta(n \log n)回引く必要があるとわかる。

証明として、丁寧に確率変数を設定して解くのもできる。

最大負荷

ハッシュを考えると、すべての項にΘ(1)\Theta(1)個の値が割り当てられるのが望ましい。

XiX_iをii番目のビンのサイズ=入っている要素数だとする。

m=cnm = cnとする。c>1c>1で、チェルノフ上界により、(R=(1+δ)R=(1+\delta)として)

Pr[Xi≥(1+δ)c]≤(eδ(1+δ)1+δ)c≤(e1+δ(1+δ)1+δ)c≤(1+δe)−(1+δ)c≤(Rce)−RPr[X_i \geq (1 + \delta) c] \leq (\frac{e^\delta}{(1 + \delta)^{1 + \delta}})^c \leq (\frac{e ^ {1 + \delta}}{(1 + \delta)^{1 + \delta}})^c \\ \leq (\frac{1 + \delta}{e})^{-(1 + \delta)c} \leq (\frac{R}{ce})^{-R}

この確率は中心からばらける確率。これが、1/n21/n^2になるように選ぶとき、こんなふうにUnion Boundを使えるらしい。

Pr[max⁡Xi≥R]≤Pr[⋃i=1nXi≥R]≤∑i=1nPr[Xi≥R]≤1nPr[\max X_i \geq R] \leq Pr[\bigcup _{i=1}^n X_i \geq R] \leq \sum_{i=1}^n Pr[X_i \geq R] \leq \frac{1}{n}

もし、(R/(ce))−R<1/n2(R/(ce))^{-R} < 1/n^2ならば、以下のようになる。

(Rce)R>n2⇒Rlog⁡R±θ(R)≥2log⁡n⇒R=Ω(log⁡nlog⁡log⁡n)(\frac{R}{ce})^R > n^2 \Rightarrow R \log R \pm \theta(R) \geq 2 \log n \\ \Rightarrow R=\Omega(\frac{\log n}{\log \log n})

最大負荷はそれになる確率はたかだか1/n1/nで抑えている。

ポアソン分布

Pr[X=k]=μkk!e−μE[X]=μPr[X=k] = \frac{\mu^k}{k!}e^{-\mu} \\ \mathbb{E}[X] = \mu

二項分布について、lim⁡n→∞Bi(μn,1/n)\lim _{n \to \infty} Bi(\mu n, 1/n)でポアソン分布に収束する。

ポアソン分布の和は同様にポアソン分布であり、パラメタはすべてそのまま足し合わせればよい。