다섯 명이 당첨 한 장이 든 제비를 차례로 뽑는다면, 먼저 뽑는 게 유리할까요? “앞사람이 가져가면 끝이니까 먼저 뽑아야지”와 “남은 장이 줄어드니 나중이 유리하지”가 늘 부딪히죠. 답은 똑같다예요. 그런데 이 공정함은 제대로 섞었을 때만 성립해요.
먼저 뽑든 나중에 뽑든 1/5
다섯 명, 당첨 1장, 뽑은 제비는 다시 넣지 않는 경우를 계산해 볼게요.
| 순서 | 당첨 확률 계산 | 결과 |
|---|---|---|
| 1번째 | 1/5 | 1/5 |
| 2번째 | 앞사람이 꽝(4/5) × 남은 4장 중 당첨(1/4) | 1/5 |
| 3번째 | 4/5 × 3/4 × 1/3 | 1/5 |
| 5번째 | 4/5 × 3/4 × 2/3 × 1/2 × 1 | 1/5 |
뒤로 갈수록 남은 장 수가 줄어 당첨 비율은 올라가지만, 거기까지 당첨이 남아 있을 확률이 그만큼 줄어서 정확히 상쇄돼요.
60만 번 뽑아 보니
계산이 맞는지 컴퓨터로 60만 번 제비를 섞어 뽑아 봤어요.
| 순서 | 1번째 | 2번째 | 3번째 | 4번째 | 5번째 |
|---|---|---|---|---|---|
| 당첨 비율 | 19.97% | 20.03% | 20.01% | 20.02% | 19.97% |
모두 20% 안팎이에요. 무작위 실험이라 돌릴 때마다 소수점 아래는 조금씩 달라져요.
앞사람 결과를 보면 달라지는 것
“1/5”는 아무도 뽑기 전에 따진 확률이에요. 앞사람들이 제비를 펼쳐 보이면 그 정보만큼 확률이 바뀌어요.
남은 3장 중 1장이 당첨이니 세 번째 사람의 확률은 1/3이에요. 반대로 앞사람이 당첨을 펼쳤다면 뒷사람들은 0이죠. 그래도 뽑기 전 기준으로는 모두 1/5라서, 순서를 정하는 것 자체는 누구에게도 유리하지 않아요.
컴퓨터로 섞을 때의 함정
프로그램에서 목록을 섞을 때 ‘무작위로 정렬하기’(정렬 함수에 무작위 비교를 넣는 방식)를 흔히 써요. 겉보기엔 섞이지만, 크롬과 같은 엔진(V8)에서 60만 번 시험해 보니 결과가 크게 치우쳤어요.
| A·B·C 세 개를 섞으면 | ABC | ACB | BAC | BCA | CAB | CBA |
|---|---|---|---|---|---|---|
| 공정하다면 | 16.7% | 16.7% | 16.7% | 16.7% | 16.7% | 16.7% |
| 무작위 정렬 | 37.5% | 6.2% | 12.5% | 6.3% | 6.2% | 31.2% |
| 피셔-예이츠 | 16.7% | 16.8% | 16.6% | 16.7% | 16.6% | 16.6% |
열 명을 무작위 정렬로 섞었을 때도 맨 앞 사람이 그대로 맨 앞에 남는 비율이 19.5%로, 공정한 10%의 두 배 가까이 나왔어요.
공정하게 나누는 법
자주 묻는 질문
- Q. 제비뽑기는 먼저 뽑는 게 유리한가요?
- 아니요. 뽑기 전 기준으로 모든 순서의 당첨 확률이 같아요. 다섯 명에 당첨 1장이면 몇 번째로 뽑든 1/5이에요.
- Q. 앞사람이 꽝을 뽑으면 제 확률이 올라가나요?
- 앞사람 결과를 알고 난 뒤에는 올라가요. 앞의 두 명이 꽝이면 남은 3장 중 1장이라 1/3이 돼요. 하지만 뽑기 전에는 모두 같은 확률이에요.
- Q. 무작위로 정렬하면 공정하게 섞이나요?
- 보장되지 않아요. V8 엔진에서 세 개를 섞어 보니 특정 순서가 37.5%까지 나왔어요(공정하면 16.7%). 피셔-예이츠 방식을 쓰는 게 안전해요.
- Q. 팀 인원이 나누어떨어지지 않으면요?
- 섞은 순서대로 한 명씩 돌아가며 넣으면 팀끼리 인원 차이가 1명을 넘지 않아요.
더 찾아볼 곳
브라우저 난수와 정렬 함수의 동작을 공식 문서로 확인할 수 있어요.