홈가이드게임·모임

사다리타기는 정말 공평할까

사다리 길은 출발한 줄 바로 아래 자리에 닿기 쉬워서, 결과를 적은 순서대로 놓으면 공평하지 않아요. 정확한 계산과 모의 실험으로 그 크기를 재고, 결과 칸을 섞어 누구에게나 같은 확률을 주는 방식을 설명했어요.

글쓴이: 도구장이처음 쓴 날 고친 날

가로대 하나는 이웃한 두 사람의 자리 바꾸기예요

사다리를 따라 내려가는 그림만 보면 길이 꼬불꼬불 복잡해 보여요. 그런데 시선을 한 사람에서 줄 전체로 옮기면 훨씬 단순해져요. 가로대 하나는 그 높이에서 양옆 두 줄에 서 있던 사람을 맞바꾸는 일이에요. 왼쪽 줄 사람은 오른쪽으로, 오른쪽 줄 사람은 왼쪽으로 건너가니까요.

네 사람 A, B, C, D가 1번부터 4번 줄에 서 있고, 가로대가 다섯 층에 놓인 사다리를 예로 들어 볼게요. 층마다 어느 줄 사이에 가로대가 있는지와, 그 층을 지난 뒤 1번부터 4번 줄에 누가 서 있는지를 차례로 적었어요. 이 사이트 사다리 도구의 길 찾기 코드에 같은 사다리를 넣어 결과를 확인했어요.

층가로대 위치지난 뒤 1·2·3·4번 줄
출발없음A · B · C · D
1층1–2번 사이, 3–4번 사이B · A · D · C
2층2–3번 사이B · D · A · C
3층1–2번 사이D · B · A · C
4층3–4번 사이D · B · C · A
5층2–3번 사이D · C · B · A

마지막 줄을 보면 A는 4번 자리, B는 3번, C는 2번, D는 1번 자리에 닿아요. 순서가 완전히 뒤집혔지만, 그러려고 A는 가로대를 세 번이나 건너야 했어요. 한 층에서 한 사람이 움직일 수 있는 거리는 많아야 한 칸이에요. 이 사실이 뒤에서 확률이 고르지 않은 이유가 돼요.

길이 절대 합쳐지지 않는 까닭

앞의 표에서 어느 층을 보든 네 줄에 네 사람이 한 명씩 서 있어요. 맞바꾸기는 사람을 늘리지도 줄이지도 않으니 당연한 일이에요. 두 사람이 같은 줄에 겹치려면 누군가 가만히 있는 줄로 다른 사람이 일방적으로 건너와야 하는데, 가로대는 언제나 양쪽을 동시에 바꿔요. 그래서 맨 아래에 닿았을 때도 자리마다 정확히 한 사람이 있고, 같은 결과를 두 명이 받는 일은 생기지 않아요.

한 가지 조건이 이 성질을 지켜 줘요. 같은 높이에 이웃한 가로대가 붙어 있으면 가운데 줄 사람이 왼쪽과 오른쪽 중 어디로 가야 할지 정할 수 없어요. 그래서 이 사이트의 사다리는 한 층 안에서 가로대를 놓은 바로 옆 칸에는 가로대를 놓지 않아요. 덕분에 한 층에서 한 사람은 많아야 한 번만 건너요.

여기까지가 사다리가 '모두 다른 결과를 하나씩 받는 장치'라는 증명이에요. 하지만 이것만으로 누구나 어떤 결과든 똑같은 확률로 받는다는 뜻은 아니에요. 그건 가로대를 몇 층에, 얼마나 촘촘하게 놓느냐에 달려 있어요.

이 사이트 사다리를 만드는 규칙

사다리타기 도구의 코드를 읽어 보면 사다리는 이렇게 만들어져요.

  1. 층의 수는 참가자 수의 두 배에 4를 더한 값이에요. 4명이면 12층, 8명이면 20층, 12명이면 28층이에요.
  2. 층마다 왼쪽 칸부터 오른쪽으로 훑으며, 줄 사이 칸마다 암호학적 난수로 45% 확률에 가로대를 놓아요.
  3. 바로 왼쪽 칸에 가로대를 놓았다면 그 칸은 건너뛰어요. 이웃한 가로대가 붙지 않게 하려는 규칙이에요.
  4. 모든 층을 다 만들었는데 가로대가 하나도 없으면 처음부터 다시 만들어요.
  5. 결과 칸에 적은 결과들의 순서를 암호학적 난수로 한 번 섞어서 줄 아래에 놓아요. 결과는 누군가 도착하기 전까지 '?'로 가려져 있어요.

마지막 단계가 왜 필요한지는 길의 성질을 보면 알 수 있어요. 한 사람이 어느 층에서 가로대를 만나면 왼쪽으로 갈 때도, 오른쪽으로 갈 때도 있어요. 두 방향이 섞이면 서로 상쇄되기 쉬워서, 끝에서 끝까지 가려면 한쪽 방향으로 훨씬 여러 번 더 건너야 해요. 층 수가 정해져 있으니 멀리 떨어진 자리일수록 닿기 어려워져요. 여기까지가 직관이고, 아래는 실제 숫자예요.

계산해 보니 출발한 줄 가까이 떨어지기 쉬워요

한 층에서 나올 수 있는 가로대 배치를 모두 늘어놓고 각각의 확률을 구하면, 한 층을 지날 때 사람이 어느 줄로 옮겨 가는지 확률표가 만들어져요. 이 표를 층 수만큼 거듭 곱하고, 가로대가 하나도 없는 사다리를 다시 만드는 규칙까지 반영하면 출발 줄별로 도착 자리의 정확한 확률이 나와요. 분수로 계산해서 반올림 말고는 오차가 없어요.

참가자완전히 고르다면1번 줄 → 1번 자리1번 줄 → 맨 끝 자리자기 줄 바로 아래 (평균)
3명33.33%34.23%32.15%34.18%
4명25.00%28.53%21.17%27.50%
5명20.00%25.93%13.85%23.61%
6명16.67%24.29%9.03%21.00%
7명14.29%23.00%5.86%19.06%
8명12.50%21.92%3.79%17.55%

3명일 때는 차이가 2%포인트 안쪽이라 거의 고르지만, 사람이 늘수록 쏠림이 뚜렷해져요. 8명이면 1번 줄에서 출발한 사람이 1번 자리에 닿을 확률은 21.92%로, 고르게 나뉠 때의 12.50%보다 1.75배 높아요. 반대편 끝인 8번 자리에 닿을 확률은 3.79%로 세 배 넘게 낮고요. 8명 사다리에서 1번 줄에 선 사람의 도착 확률을 1번 자리부터 늘어놓으면 21.92, 20.84, 17.19, 13.95, 10.21, 7.18, 4.94, 3.79%로 멀어질수록 차례로 줄어요.

가장자리만 유리한 게 아니라는 점도 중요해요. 어느 줄이든 자기 바로 아래와 그 양옆 자리에 닿을 가능성이 높아요. 8명일 때 자기 자리에서 한 칸 이내로 떨어질 확률은 평균 46.25%예요. 완전히 고르다면 양 끝 줄은 두 자리, 나머지는 세 자리 몫이라 평균 34.38%여야 해요.

계산이 맞는지 보려고 도구의 사다리 만들기 코드와 길 찾기 코드를 그대로 불러와 인원마다 사다리 30만 개를 만들고 모든 출발 줄을 따라가 봤어요. 3명부터 8명까지 모든 칸에서 모의 실험 값과 계산 값의 차이가 0.32%포인트를 넘지 않았어요. 3명 사다리는 30만 개씩 세 번 더 돌려도 차이가 0.22%포인트 이하였어요. 쏠림은 계산 실수가 아니라 실제로 있는 성질이에요.

결과 칸을 섞으면 쏠림이 사라지는 까닭

계산표를 결과 자리 쪽에서 세로로 더하면 어느 자리든 정확히 100%가 돼요. 쏠림은 출발 줄과 결과 자리 사이에 있을 뿐, 사람 사이에 있는 게 아니라는 뜻이에요. 문제는 누군가 결과가 놓인 자리를 알고 있을 때 생겨요. 결과를 적은 순서 그대로 줄 아래에 놓는 사다리라면, 결과 칸 첫 줄에 '당첨'을 적고 참가자 칸 첫 줄에 특정 사람을 적는 것만으로 8명 기준 당첨 확률이 12.50%에서 21.92%로 올라가요. 마지막 줄에 적으면 3.79%로 떨어지고요. 결과를 '?'로 가려도 적은 사람은 순서를 알고 있으니 막을 수 없어요.

그래서 이 사이트의 사다리는 결과 칸을 안에서 섞어요. 사다리를 만들 때마다 결과의 순서를 무작위로 바꿔 줄 아래에 놓기 때문에, '당첨'이 몇 번 자리에 있는지는 만든 사람도 알 수 없어요. 어느 줄에서 출발하든 도착하는 자리의 결과는 모든 결과 가운데 하나를 똑같은 확률로 고른 셈이 되고, 결국 누구든 각 결과를 받을 확률은 정확히 참가자 수분의 1이에요. 처음 공개한 며칠 동안은 결과를 적은 순서대로 놓았는데, 위의 계산을 계기로 지금 방식으로 바꿨어요.

바꾼 뒤에도 숫자로 확인했어요. 사다리 만들기, 결과 섞기, 길 따라가기를 도구 코드 그대로 이어서 인원마다 30만 번씩 돌렸더니, 3명부터 8명까지 모든 참가자와 결과의 조합이 참가자 수분의 1에서 0.24%포인트 안쪽에 들어왔어요. 8명이면 칸마다 12.42%에서 12.64% 사이였어요. 1번 줄에서 출발해 처음 적은 결과를 받을 확률도 12.44%로, 섞기 전의 21.92%와 달리 다른 칸과 구별되지 않았어요.

그래도 지켜 두면 좋은 약속

결과 순서를 신경 쓸 필요는 없어졌지만, 사람이 결과를 고를 수 있는 틈은 도구 밖에도 남아 있어요.

  1. 사다리는 한 번만 만들어요. 결과가 마음에 안 든다고 다시 만들면 그 자체로 결과를 고르는 셈이에요. 다시 만들 조건이 있다면 시작 전에 정해요.
  2. 화면을 함께 보며 만들어요. 한 사람이 혼자 여러 번 만들어 보고 마음에 드는 판만 보여 주는 일을 막을 수 있어요.
  3. 종이 사다리라면 당첨 위치를 나중에 정해요. 손으로 그린 사다리는 결과를 섞어 주는 장치가 없어요. 가로대가 적을수록 출발한 줄 아래에 머물기 쉬우니, 모두 줄을 고른 뒤에 순서 정하기나 주사위로 '당첨'을 몇 번째 칸에 쓸지 정해요.
  4. 큰 것이 걸린 일에는 다른 방법을 써요. 돈이나 중요한 역할이 걸렸다면 모두가 보는 앞에서 제비를 뽑는 편이 설명하기 쉬워요.

팁 '전체 결과 보기'를 누르면 결과가 적은 순서와 다르게 늘어서 있을 때가 많아요. 도구가 결과 칸을 섞었다는 표시이니 잘못 나온 게 아니에요. 각자의 결과는 사다리 아래 '이름 → 결과' 목록에서 확인하면 돼요.

이 글과 함께 쓰면 좋은 도구

참고한 자료

이 글은 따로 인용한 외부 자료가 없어요.

다른 글