r9 vs r10
......
88
99
이어서 이 확률식을 역으로 계산하여 '식별자 충돌이 발생할 확률이 [math(p)] 이상이기 위해서는 적어도 [math(x)]개의 식별자를 생성해야 하는지'를 보이려고 합니다. namuid의 식별자 충돌이 거의 불가능함을 보이고 싶으므로 [math(p = 0.1\%)]로 두고 테일러 전개로 필요한 표본의 수 [math(x)]의 하한을 근사해 봅시다. 일단 자명하게
1010
11
||<tablealign=center><tablebordercolor=transparent><tablebgcolor=transparent>[math(p = 1 - \dfrac{_N\mathrm P_x}{N^x})]||
11
||<tablealign=center><tablebordercolor=transparent><tablebgcolor=transparent>[math(\displaystyle p = 1 - \frac{_N\mathrm P_x}{N^x})]||
1212
1313
이므로 어떤 함수 [math(f(x))]에 대해 [math(f(x) \leq 1 - p)] 를 성립시키는 가장 큰 [math(x)]를 근사하면 됩니다. 우선 위에 쓴 [math(p)]를 구하는 수식을 곱의 형태로 정리해 봅시다.
1414
15
||<tablealign=center><tablebordercolor=transparent><tablebgcolor=transparent>[math(\displaystyle 1 - p = \prod^{x-1}_{k = 1} 1 - \dfrac kN)]||
15
||<tablealign=center><tablebordercolor=transparent><tablebgcolor=transparent>[math(\displaystyle 1 - p = \prod^{x-1}_{k = 1} 1 - \frac kN)]||
1616
1717
이어서 [math(e^{-\frac kN})]을 테일러 전개하고 선형 근사를 구하면
1818
19
||<tablealign=center><tablebordercolor=transparent><tablebgcolor=transparent>[math(\displaystyle e^{-\frac kN} = \sum_{i = 0} \dfrac{\left(-\dfrac kN\right)^i}{i!} \approx 1 - \dfrac kN)]||
19
||<tablealign=center><tablebordercolor=transparent><tablebgcolor=transparent>[math(\displaystyle e^{-\frac kN} = \sum_{i = 0} \frac{\left(-\frac kN\right)^i}{i!} \approx 1 - \frac kN)]||
2020
2121
이 근사를 적용해서 '어떤 함수' [math(f(x))]가 [math(1 - p)]를 근사하도록 조립해 봅시다.
2222
23
||<tablealign=center><tablebordercolor=transparent><tablebgcolor=transparent>[math(\displaystyle f(N) = e^{-\dfrac{k(k-1)}{2N}} = \prod^{k - 1}_{i = 1} e^{-\dfrac{i}N})]||
23
||<tablealign=center><tablebordercolor=transparent><tablebgcolor=transparent>[math(\displaystyle f(x) = e^{-\frac{x(x-1)}{2N}} = \prod^{x - 1}_{k = 1} e^{-\frac kN} \approx \prod^{x - 1}_{k = 1} 1 - \frac kN = 1 - p)]||
2424
2525
[math(k > 62,375,838,650 = 6.237583865 \times 10^{10})]