순서가 확률을 바꿀까
먼저 하는 사람이 유리한지, 나중에 하는 사람이 유리한지를 이 사이트 게임 코드로 확인했습니다. 위치별 확률과 사람별 확률을 나누어 보면 답이 훨씬 분명해집니다.
차례에 관한 두 가지 질문
순서와 확률을 이야기할 때는 질문이 두 가지로 갈립니다. 하나는 위치별 질문입니다. “세 번째로 누르는 자리에 앉은 사람이 걸릴 몫은 얼마인가”를 묻습니다. 다른 하나는 사람별 질문입니다. “판을 시작하기 전에, 이름이 정해진 내가 걸릴 몫은 얼마인가”를 묻습니다. 두 질문의 답은 같을 수도 있고 다를 수도 있습니다.
이 사이트의 제비뽑기, 악어, 해적, 풍선, 러시안룰렛 게임은 판을 시작할 때마다 참가자의 차례를 무작위로 섞습니다. 그래서 위치별 값이 조금씩 달라도 사람별 값은 모두 같아집니다. 이 글은 그 과정을 게임 코드에서 확인한 사실과 계산 결과로 하나씩 보여 드립니다.
이 글의 모든 숫자는 한 판을 처음부터 시작했을 때의 값입니다. 탈락자를 빼고 이어 가는 설정을 켜면 다음 판의 인원이 줄어드므로, 그 인원에 해당하는 행을 보셔야 합니다.
제비뽑기: 먼저 뽑든 나중에 뽑든
제비뽑기 게임은 참가자 수만큼 막대를 만들고, 그중 하나를 무작위로 표시 막대로 정합니다. 뽑는 사람은 아직 남은 막대 가운데 하나를 고릅니다. 네 명이라면 첫 번째 사람은 막대 네 개 중 표시가 아닌 세 개를 골라야 안전합니다. 두 번째 사람은 남은 세 개 중 두 개, 세 번째 사람은 남은 두 개 중 한 개를 골라야 합니다.
이 확률을 차례로 곱하면 분자와 분모가 이어서 지워집니다. 그래서 세 번째 사람까지 안전하고 네 번째 사람이 표시 막대를 뽑을 몫도, 첫 번째 사람이 곧바로 뽑을 몫과 똑같이 네 막대 중 하나, 즉 1/4이 됩니다. 어느 위치든 표시 막대를 뽑을 몫은 인원수분의 1입니다. 아래 표의 왼쪽 값이 위치별 몫이고, 오른쪽 값은 차례를 무작위로 섞은 뒤 한 사람이 가지는 몫입니다. 제비뽑기에서는 두 값이 같은 뜻이 됩니다.
| 인원 | 어느 위치든 표시 막대를 뽑을 몫 | 차례를 섞은 뒤 한 사람의 몫 |
|---|---|---|
| 2명 | 1/2 | 50% |
| 3명 | 1/3 | 33.3% |
| 4명 | 1/4 | 25% |
| 5명 | 1/5 | 20% |
| 6명 | 1/6 | 16.7% |
| 7명 | 1/7 | 14.3% |
| 8명 | 1/8 | 12.5% |
| 9명 | 1/9 | 11.1% |
| 10명 | 1/10 | 10% |
이 결과는 막대를 고르는 방식과 상관없습니다. 맨 앞의 막대를 고르든 가장 끝의 막대를 고르든, 표시 막대가 어디인지는 이미 무작위로 정해져 있기 때문입니다.
악어: 이빨 수가 인원으로 나누어떨어지지 않을 때
악어 게임의 이빨 수는 인원에 따라 정해집니다. 코드는 인원의 두 배에서 하나를 뺀 값을 11과 13 사이로 맞춥니다. 그래서 2명부터 6명까지는 이빨이 11개이고, 7명과 8명은 13개입니다. 계산 결과가 항상 홀수이고 범위의 양 끝이 11과 13이므로 12개가 되는 경우는 없습니다. 함정 이빨은 이 가운데 무작위로 하나가 정해지고, 한 번 누른 이빨은 다시 누를 수 없습니다.
함정이 어느 이빨인지가 균등하게 정해져 있으면, k번째 누름에서 처음으로 함정이 나올 몫은 k가 몇이든 같습니다. 문제는 누름의 총 횟수가 이빨 수만큼이라는 점입니다. 이빨이 11개인데 4명이 돌아가며 누르면 한 바퀴를 돌고도 세 번이 더 남습니다. 앞의 세 위치는 누를 기회가 세 번씩이고, 마지막 위치는 두 번뿐입니다. 이 차이가 표의 분수에 그대로 나타납니다.
| 인원 | 이빨 수 | 1번째 위치 | 2번째 위치 | 3번째 위치 | 4번째 위치 | 5번째 위치 | 6번째 위치 | 7번째 위치 | 8번째 위치 |
|---|---|---|---|---|---|---|---|---|---|
| 2명 | 11개 | 6/11 | 5/11 | - | - | - | - | - | - |
| 3명 | 11개 | 4/11 | 4/11 | 3/11 | - | - | - | - | - |
| 4명 | 11개 | 3/11 | 3/11 | 3/11 | 2/11 | - | - | - | - |
| 5명 | 11개 | 3/11 | 2/11 | 2/11 | 2/11 | 2/11 | - | - | - |
| 6명 | 11개 | 2/11 | 2/11 | 2/11 | 2/11 | 2/11 | 1/11 | - | - |
| 7명 | 13개 | 2/13 | 2/13 | 2/13 | 2/13 | 2/13 | 2/13 | 1/13 | - |
| 8명 | 13개 | 2/13 | 2/13 | 2/13 | 2/13 | 2/13 | 1/13 | 1/13 | 1/13 |
예를 들어 4명이면 첫째부터 셋째 위치가 각각 3/11이고 마지막 위치는 2/11입니다. 6명일 때는 마지막 위치만 1/11로 낮고, 나머지는 2/11입니다. 7명이 되어 이빨이 13개로 늘어나도 마지막 위치만 1/13로 낮고 나머지는 2/13입니다. 이빨 수와 인원의 나머지가 달라질 때마다 어느 위치가 한 번 덜 누르는지가 바뀝니다.
해적: 칸 수가 5의 배수로 맞춰질 때
해적 게임은 인원의 네 배를 16과 24 사이로 맞춘 뒤 5의 배수로 올림해서 칸 수를 정합니다. 2명부터 5명까지는 20칸이고 6명부터 8명까지는 25칸입니다. 발동 칸은 칸 수 안에서 무작위로 하나가 정해집니다. 구조는 악어와 같고, 칸 수가 인원으로 나누어떨어지는지가 위치별 값을 가릅니다.
| 인원 | 칸 수 | 1번째 위치 | 2번째 위치 | 3번째 위치 | 4번째 위치 | 5번째 위치 | 6번째 위치 | 7번째 위치 | 8번째 위치 |
|---|---|---|---|---|---|---|---|---|---|
| 2명 | 20칸 | 10/20 | 10/20 | - | - | - | - | - | - |
| 3명 | 20칸 | 7/20 | 7/20 | 6/20 | - | - | - | - | - |
| 4명 | 20칸 | 5/20 | 5/20 | 5/20 | 5/20 | - | - | - | - |
| 5명 | 20칸 | 4/20 | 4/20 | 4/20 | 4/20 | 4/20 | - | - | - |
| 6명 | 25칸 | 5/25 | 4/25 | 4/25 | 4/25 | 4/25 | 4/25 | - | - |
| 7명 | 25칸 | 4/25 | 4/25 | 4/25 | 4/25 | 3/25 | 3/25 | 3/25 | - |
| 8명 | 25칸 | 4/25 | 3/25 | 3/25 | 3/25 | 3/25 | 3/25 | 3/25 | 3/25 |
2명, 4명, 5명처럼 20칸이 인원으로 나누어떨어지면 모든 위치의 값이 같습니다. 반대로 3명이면 앞의 두 위치가 7/20이고 마지막 위치가 6/20입니다. 같은 게임이라도 인원에 따라 위치별 균등 여부가 달라진다는 점이 이 표에서 분명히 보입니다.
러시안룰렛 게임: 여섯 칸이 모두 한 번씩만 나옵니다
이 게임의 실린더는 여섯 칸입니다. 코드는 시작 위치와 장전된 칸을 각각 여섯 칸 중에서 무작위로 정하고, 방아쇠를 당길 때마다 한 칸씩 앞으로 돌립니다. 따라서 장전된 칸은 여섯 번 안에 반드시 한 번 나오고, 몇 번째 당김에서 나올지는 여섯 가지가 모두 같은 몫입니다.
7명 이상이 하면 일곱 번째 위치부터는 차례가 오기 전에 판이 끝납니다. 표에서 이 위치의 값이 0/6으로 나오는 이유입니다. 위치별로는 이렇게 극단적으로 달라도, 다음 절에서 설명하듯 사람별 값은 같습니다.
| 인원 | 1번째 위치 | 2번째 위치 | 3번째 위치 | 4번째 위치 | 5번째 위치 | 6번째 위치 | 7번째 위치 | 8번째 위치 | 9번째 위치 | 10번째 위치 |
|---|---|---|---|---|---|---|---|---|---|---|
| 2명 | 3/6 | 3/6 | - | - | - | - | - | - | - | - |
| 3명 | 2/6 | 2/6 | 2/6 | - | - | - | - | - | - | - |
| 4명 | 2/6 | 2/6 | 1/6 | 1/6 | - | - | - | - | - | - |
| 5명 | 2/6 | 1/6 | 1/6 | 1/6 | 1/6 | - | - | - | - | - |
| 6명 | 1/6 | 1/6 | 1/6 | 1/6 | 1/6 | 1/6 | - | - | - | - |
| 7명 | 1/6 | 1/6 | 1/6 | 1/6 | 1/6 | 1/6 | 0/6 | - | - | - |
| 8명 | 1/6 | 1/6 | 1/6 | 1/6 | 1/6 | 1/6 | 0/6 | 0/6 | - | - |
| 9명 | 1/6 | 1/6 | 1/6 | 1/6 | 1/6 | 1/6 | 0/6 | 0/6 | 0/6 | - |
| 10명 | 1/6 | 1/6 | 1/6 | 1/6 | 1/6 | 1/6 | 0/6 | 0/6 | 0/6 | 0/6 |
풍선: 터지는 펌프 횟수의 범위
풍선 게임은 최소 펌프 횟수를 6과 인원의 두 배 중 큰 값으로 잡고, 거기에 0부터 9까지의 무작위 수를 더해 터지는 횟수를 정합니다. 터지는 횟수는 열 가지 값 중 하나이고 각각 같은 몫입니다. 4명이면 8~17번 사이에서 터집니다. 해당 횟수째 펌프를 넣은 사람이 터뜨린 사람이 됩니다.
| 인원 | 터지는 펌프 범위 | 1번째 위치 | 2번째 위치 | 3번째 위치 | 4번째 위치 | 5번째 위치 | 6번째 위치 | 7번째 위치 | 8번째 위치 |
|---|---|---|---|---|---|---|---|---|---|
| 2명 | 6~15번 | 5/10 | 5/10 | - | - | - | - | - | - |
| 3명 | 6~15번 | 3/10 | 3/10 | 4/10 | - | - | - | - | - |
| 4명 | 8~17번 | 3/10 | 2/10 | 2/10 | 3/10 | - | - | - | - |
| 5명 | 10~19번 | 2/10 | 2/10 | 2/10 | 2/10 | 2/10 | - | - | - |
| 6명 | 12~21번 | 2/10 | 2/10 | 2/10 | 1/10 | 1/10 | 2/10 | - | - |
| 7명 | 14~23번 | 2/10 | 2/10 | 1/10 | 1/10 | 1/10 | 1/10 | 2/10 | - |
| 8명 | 16~25번 | 2/10 | 1/10 | 1/10 | 1/10 | 1/10 | 1/10 | 1/10 | 2/10 |
열 가지 값을 인원수로 나누어 위치에 배당하는 구조라서, 10이 인원으로 나누어떨어지는 2명과 5명에서만 위치별 값이 같습니다. 4명이면 처음과 마지막 위치가 3/10, 가운데 두 위치가 2/10입니다.
위치별 값이 달라도 사람별 값이 같은 이유
다섯 게임 모두 판을 시작할 때 참가자의 차례를 섞습니다. 코드는 참가자 번호 목록을 한 번 섞어서 그 순서를 차례로 씁니다. 섞는 방식은 모든 배열이 같은 몫으로 나오는 방법이라, 어떤 한 사람이 1번째 위치에 놓일 몫도, 2번째, 3번째, 마지막 위치에 놓일 몫도 모두 같은 인원수분의 1입니다.
그러면 한 사람이 걸릴 몫은 각 위치의 값을 같은 가중치로 평균낸 값이 됩니다. 악어 4명의 위치별 값은 3/11, 3/11, 3/11, 2/11입니다. 모두 더하면 1이고, 4로 나누면 25%가 됩니다. 인원이 몇 명이든, 어느 게임이든, 위치별 값의 합이 1이므로 평균은 인원수분의 1로 같습니다. 러시안룰렛 게임의 일곱 번째 위치가 0/6이어도 같은 계산이 성립합니다.
그래서 이 글의 결론은 두 문장으로 정리됩니다. 위치별로 보면 불균등한 경우가 있습니다. 사람별로 보면, 차례를 섞는 한 모두 같습니다. “입력 순서 섞기” 버튼은 이름 목록의 순서만 바꾸는 별개의 기능이며, 이 결론에는 필요하지 않습니다. 판이 시작될 때 어차피 차례가 새로 섞이기 때문입니다.
직접 진행할 때 주의할 점
앱 없이 종이와 실물로 같은 놀이를 한다면 차례를 섞는 단계를 빼먹기 쉽습니다. 앉은 자리 순서대로 누르기로 정하면 표의 위치별 값이 곧 그 자리에 앉은 사람의 몫이 됩니다. 이빨 수나 칸 수가 인원으로 나누어떨어지지 않을 때는 특히 차이가 생기므로, 시작 전에 번호표를 뽑아 순서를 정하는 편이 좋습니다.
같은 사람이 연이어 걸렸다고 해서 조작이 있었다는 증거는 아닙니다. 각 판은 함정 위치와 차례를 새로 정하므로 앞 판의 결과가 다음 판에 영향을 주지 않습니다. 반대로 “이번에 걸렸으니 다음에는 안전하다”는 생각도 맞지 않습니다. 이 글의 표는 한 판의 몫을 보여 줄 뿐, 몇 판에 걸쳐 고르게 돌아가는 것을 약속하지 않습니다.
이 숫자를 확인하는 방법
이 페이지의 숫자는 손으로 계산해 적은 것이 아닙니다. 저장소의 scripts/odds-values.js가 게임의 코드 파일을 불러와 이빨 수, 칸 수, 펌프 범위를 계산하고 위치별 분수를 만듭니다. scripts/odds.test.js는 각 게임의 파일에 해당 계산식이 그대로 남아 있는지 확인한 뒤, 페이지의 숫자와 계산값이 한 글자도 다르지 않은지 대조합니다. 값이 다르면 테스트가 실패하므로 이 글을 고치지 않은 채 게임 규칙만 바꾸는 일은 걸러집니다.
직접 확인해 보는 실험도 어렵지 않습니다. 악어 4명으로 20판을 진행하면서 함정을 누른 위치를 아래 표에 적어 보세요. 20판은 표본이 작아서 위치별 횟수가 기대한 비율과 정확히 맞지 않는 것이 정상입니다. 판 수를 늘릴수록 마지막 위치의 횟수가 다른 위치보다 조금 적게 나오는 경향이 보이지만, 이 경향은 시작 전에 차례를 섞지 않았을 때만 사람 한 명에게 고정됩니다.
| 위치 | 걸린 횟수 | 전체 판 수 |
|---|---|---|
| 1번째 위치 | ||
| 2번째 위치 | ||
| 3번째 위치 | ||
| 4번째 위치 |
더 자세한 일반 원칙은 같은 확률로 뽑는 방법에서, 각 게임의 실제 동작은 제비뽑기, 악어, 해적, 풍선, 러시안룰렛 화면에서 볼 수 있습니다. 시리즈의 다음 글은 사다리타기는 공정할까입니다.