뽑기를 기댓값만큼 시도해도 약 36.8%의 사람은 실패한다
작성 완료
- 어떤 아이템 상자가 있는데 내가 원하는 아이템 A는 $10\%$ 확률로 등장한다고 해보자
- 아이템 A를 뽑을 때까지 시도한 횟수는 기하 분포를 따른다
- 뽑을 확률이 $0.1$이니까 10번 하면 뽑겠지(?)라고 생각할 수 있지만 현실은 그렇지 않다
- 기댓값은 10번이 맞는데...
def f(p):
return 1 - (1 - p)**(1 / p)
f(p=0.1)
- $P(\text{10번 안에 뽑음}) = 1 - P(\text{10번 모두 실패})$
- 이 값은 약 $0.65$이다
- 즉, 아이템 뽑기를 시도한 $35\%$의 사람들은 기댓값안에 원하는 아이템 A를 뽑지 못한다
- 애초에 모두가 기댓값안에 아이템을 뽑으면 기댓값이 그렇게 형성될 수가 없다...
- 확률이 더 낮아진다면?
- 더 희귀한 아이템 B가 있는데 B를 뽑을 확률은 $1\%$라고 한다
- 100번 안에 아이템 B를 뽑을 확률은 몇 일까?
f(p=0.01)
- $10\%$일 땐 약 $65\%$였는데 $1\%$가 되니 약 $63.4\%$가 됐다
- $63.4\%$라고 하니 생각보다 할 만한 것 같다(?)
- 아이템 뽑기 확률이 더 낮아지면 어떻게 될까?
- 이번엔 더 희귀한 아이템 C를 고려하자
- C는 정말 희귀해서 $0.1\%$의 확률로 등장한다
- 1000번 시도해서 C를 뽑을 확률, 그러니까 적어도 한 개 뽑을 확률은 얼마일까?
f(p=0.001)
- ?? 확률이 $1\%$일 때랑 차이가 거의 나지 않는다
- 생각해보면 확률이 낮아져도 시도 횟수는 올라가니까 엄청난 차이가 생길 것 같지는 않다
- 그럼 확률을 더욱 낮게 해보자
- 그래프로 비교할 수 있으면 더 좋을 것 같다
import matplotlib.pyplot as plt
import numpy as np
p = np.arange(1e-4, 1, 1e-4)
fp = f(p)
convergence_value = 1 - 1 / np.e
plt.figure(figsize=(10, 6))
plt.plot(p, fp, color="blue", linestyle="-", label="$f(p) = 1 - (1 - p)^{1 / p}$")
plt.axhline(y=convergence_value, color="r", linestyle="--", label="$1 - \\frac{1}{e}$")
plt.xlabel("$p$")
plt.ylabel("$f(p)$")
plt.ylim(0.6, 1)
plt.title("Graph of $f(p) = 1 - (1 - p)^{1 / p}$")
plt.xlim(0.0001, 1)
plt.xscale("log")
plt.gca().invert_xaxis()
plt.xticks([1, 0.1, 0.01, 0.001, 0.0001], ["1", "0.1", "0.01", "0.001", "0.0001"])
plt.minorticks_off()
plt.tight_layout()
plt.legend()
plt.show()
- 위의 그래프를 보면 $f(p)$가 어느 한 점으로 수렴하는 것 같다
- 우리가 고려하고 있는 상황을 복기해보자
- 당첨 확률이 $p$인 뽑기를 $n = \frac{1}{p}$번 하는 것을 고려하자
- 이때 당첨 확률이 $p$인 뽑기를 $n$번 시도해서 1개도 못 뽑을 확률을 $P(A)$라 하고 이를 계산하자
- $P(A)=(1-p)^{\frac{1}{p}}$이다
- 그런데 어디서 본 것 같은 모양이다?
- 자연로그의 밑 $e=\lim\limits_{n \to \infty}\left(1+\frac{1}{n}\right)^n$
- $\lim\limits_{p\to 0+}(1-p)^{\frac{1}{p}} = \lim\limits_{n\to \infty}\left(1-\frac{1}{n}\right)^{n},\quad n \to \infty\; \text{as}\; p\to {0+}$
- $ \lim\limits_{n\to \infty}\left(1-\frac{1}{n}\right)^{n} = \lim\limits_{n\to \infty}\left(\frac{n-1}{n}\right)^{n}$
- $n = t+1$로 치환하면 $\lim\limits_{t\to \infty}\left(\frac{t}{t+1}\right)^{t+1} = \lim\limits_{t\to \infty}\left(\frac{t+1}{t}\right)^{-(t+1)} = \lim\limits_{t\to \infty}\left(1+\frac{1}{t}\right)^{-t}\left(1+\frac{1}{t}\right)^{-1}$
- 극한의 성질에 의해 $\lim\limits_{t\to \infty}\left(1+\frac{1}{t}\right)^{-t}=\left(\lim\limits_{t\to \infty}\left(1+\frac{1}{t}\right)^t\right)^{-1}=e^{-1},\quad \lim\limits_{t\to \infty}\left(1+\frac{1}{t}\right)^{-1} = 1$
- 따라서 극한의 성질에 의해
- $\lim\limits_{t\to \infty}\left(1+\frac{1}{t}\right)^{-t}\left(1+\frac{1}{t}\right)^{-1}=\lim\limits_{t\to \infty}\left(1+\frac{1}{t}\right)^{-t} \times\lim\limits_{t\to \infty}\left(1+\frac{1}{t}\right)^{-1}=\frac{1}{e}$
- 즉, $p$가 적당히 작으면 $P(A)$를 $\frac{1}{e}$에 근사할 수 있다
- 어떤 사람이 당첨 확률이 $p=0.1$인 아이템을 35번 사용했는데도 당첨 안됐다고 해보자
- $p=0.1$이므로 당첨되기 위해 시도하는 횟수의 기댓값은 $10$이다
- 기댓값만큼 시도해서 안될 확률은 약 $0.368$였다
- 아이템을 사용하는 것은 독립시행이므로 35번 시도해서 안될 확률은 $0.368^{\frac{35}{10}}\approx 0.03$이다
- 추가로 내가 다른 사람들보다 운이 얼마나 없는지도 평가할 수 있다
- 당첨되기까지의 시도 횟수를 오름차순 정렬해보자
- 35번 쓰고도 당첨 안된 사람은 하위 $3\%$안에 든다
- 물론 아직 당첨된 게 아니므로 운이 더 나빠질 가능성이 남아있다
- 참고로 이러한 접근 방법은 당첨 될 때까지 시도하는 모든 것에 가능하다
- 즉, 확률 변수가 2개의 결과 (ex: $0$ or $1$, 당첨 or 실패)를 가지며 원하는 결과가 나올 때까지 시도하는 것에 바로 적용 가능하다
- 이러한 확률 변수는 기하 분포를 따른다
- 함수 $f$가 $x=a$에서 연속이면 아래가 성립한다
- $\lim\limits_{x\to a}f(x)=f\left(\lim\limits_{x\to a}x\right)$
- 연속 함수의 정의에 따라 $\lim\limits_{x\to a}f(x)=f(a)$
- $y=x$는 당연히 연속 함수이므로 $\lim\limits_{x\to a}x=a$
- 따라서 $f(a)$에 $a$ 대신 $\lim\limits_{x\to a}x$를 대입할 수 있다
- 즉, $\lim\limits_{x\to a}f(x)=f(a)=f\left(\lim\limits_{x\to a}x\right)$
- 참고로 $x\to a$는 $x$가 발산하는 경우($x\to\infty$ or $x\to-\infty$)를 포함하는 게 아니다
- $\lim\limits_{x\to a}f(x) = \alpha, \, \lim\limits_{x\to a}g(x) = \beta$라고 하자
- 그러면 $\lim\limits_{x\to a}\{f(x)g(x)\} = \left\{\lim\limits_{x\to a}f(x)\right\}\left\{\lim\limits_{x\to a}g(x)\right\}$이 성립한다
- 단, 함수 $f(x)g(x),\, f(x),\, g(x)$가 $x=a$에서 극한값을 가져야 성립한다
- 참고로 $\alpha,\beta$는 실수이다
- 만약 이를 어기면 $\lim\limits_{x\to 0+}x=0,\lim\limits_{x\to0+}\frac{1}{x}=\infty$이므로
- $\lim\limits_{x\to 0+}\frac{x}{x} =1,\, \left\{\lim\limits_{x\to 0+}x\right\}\left\{\lim\limits_{x\to0+}\frac{1}{x}\right\}=0\cdot\infty$
- 하지만 $1\neq 0 \cdot \infty$이고 애초에 $\infty$은 수가 아니므로 곱셈과 같은 연산을 할 수 없다