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[Eij=1i1Ej]=nnn1nm+1n=i=1m(1i1n)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})

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

i=1m(1i1n)i=1mexp((i1)/n)=exp((m1)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)

これについて、m2nlog2+1m \geq \sqrt{2n \log 2} + 11/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個の景品が等確率で現れるガチャで、景品コンプするために引くべき回数の期待値を計算してみる。期待値の線形性や調和級数の評価をすることで、Θ(nlogn)\Theta(n \log n)回引く必要があるとわかる。

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

最大負荷

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

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

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[maxXiR]Pr[i=1nXiR]i=1nPr[XiR]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>n2RlogR±θ(R)2lognR=Ω(lognloglogn)(\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

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

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