사다리타기는 정말 공정할까
Is a ladder draw really fair?
커피 내기, 청소 당번, 발표 순서를 정할 때 사다리타기만큼 익숙한 방법도 드물어요. 세로줄 위에 이름을 쓰고, 아래에 결과를 쓰고, 사이사이에 가로줄을 그은 다음 따라 내려가면 끝이에요. 그런데 "가로줄을 아무렇게나 그었으니 공정하겠지"라는 생각은 반만 맞아요. 사다리는 누구도 결과를 겹치지 않게 받는다는 점은 확실하지만, 모든 결과가 똑같은 확률로 나온다는 보장은 없어요.
사다리는 언제나 한 사람에 하나씩
먼저 좋은 점부터요. 사다리를 따라 내려가다 가로줄을 만나면 옆 줄로 건너가는데, 이건 이웃한 두 사람의 자리를 맞바꾸는 것과 같아요. 가로줄이 몇 개든 자리를 바꾸는 일만 반복되니, 마지막에는 모든 사람이 서로 다른 칸에 도착해요. 위키백과의 사다리타기 문서도 가로줄 하나를 이웃한 두 원소의 치환으로, 사다리 전체를 그 치환들의 곱으로 설명해요. 그래서 두 사람이 같은 결과를 받거나 아무도 받지 않는 결과가 생기는 일은 없어요.
문제는 "어느 칸에 도착하느냐"의 확률
공정하려면 6명이 할 때 각자가 어느 칸에 도착할 확률이 모두 6분의 1(약 16.7%)이어야 해요. 그런데 가로줄 하나는 한 칸씩만 옮겨 주기 때문에, 가로줄이 적으면 대부분 자기 자리 근처에서 내려와요. 맨 왼쪽에서 출발한 사람이 맨 오른쪽 칸까지 가려면 적어도 다섯 번은 오른쪽으로 건너가야 하거든요.
이걸 숫자로 보려고 간단한 모델로 시뮬레이션을 돌려 봤어요. 세로줄 6개에 가로줄을 그을 수 있는 높이를 정해 두고, 높이마다 칸 사이에 30% 확률로 가로줄을 긋되 같은 높이에서 이웃한 가로줄은 겹치지 않게 했어요. 높이 수를 바꿔 가며 각각 50만 번씩, 맨 왼쪽 사람이 도착한 칸을 셌어요.
| 높이 수 | 1번 칸 | 2번 | 3번 | 4번 | 5번 | 6번 칸 |
|---|---|---|---|---|---|---|
| 5 | 43.3% | 34.4% | 16.0% | 5.2% | 1.0% | 0.1% |
| 10 | 33.5% | 29.3% | 19.3% | 10.9% | 4.9% | 2.2% |
| 20 | 24.9% | 23.2% | 18.8% | 14.3% | 10.5% | 8.3% |
| 50 | 17.9% | 17.6% | 17.0% | 16.3% | 15.8% | 15.4% |
높이가 10개 정도인 평범한 사다리라면 맨 왼쪽 사람이 1번 칸에 내려올 확률은 33.5%로, 공정한 값의 두 배예요. 반대로 6번 칸에 갈 확률은 2.2%밖에 안 돼요. 가로줄을 아주 많이 그으면 점점 고르게 바뀌지만, 50단을 그어도 완전히 같아지지는 않아요. 종이에 손으로 그리는 사다리는 보통 이보다 훨씬 적게 그리죠.
규칙을 바꿔도 다른 쪽으로 치우쳐요
그럼 가로줄을 보기 좋게 정리하면 해결될까요? 골라줘의 사다리는 보기 좋게 그리려고 몇 가지 규칙을 써요. 칸 사이마다 가로줄을 1~3개 두고, 같은 칸 사이 가로줄끼리는 간격을 띄우고, 갔다가 바로 되돌아오는 지그재그가 생기지 않게 해요. 골라줘 테스트는 참고용으로, 이 사다리에서 결과 칸을 섞지 않고 가로줄만 따라갈 때 6명 중 첫 번째 사람이 도착하는 칸을 6만 번 세어서 보여 줘요. 2026년 10월 22일에 돌린 결과는 이랬어요.
| 1번 칸 | 2번 | 3번 | 4번 | 5번 | 6번 칸 |
|---|---|---|---|---|---|
| 11.1% | 7.7% | 11.3% | 14.8% | 20.3% | 34.8% |
이번에는 거꾸로 반대쪽 끝인 6번 칸에 34.8%가 몰렸어요. 길이 옆으로 계속 이동하도록 만든 규칙 때문으로 보여요. 결국 가로줄을 어떻게 긋느냐에 따라 치우치는 방향만 달라질 뿐, 가로줄만으로 모든 칸을 정확히 같은 확률로 만들기는 어려워요.
해결책: 결과 순서를 따로 섞기
골라줘는 이 문제를 사다리가 아니라 결과 쪽에서 풀어요. 사다리를 그리기 전에 아래 결과 칸의 순서를 피셔–예이츠 셔플로 먼저 섞어 두는 거예요. 그다음 가로줄을 긋고, 화면에 보이는 사다리를 그대로 따라 내려가면 실제로 그 결과에 닿아요.
왜 이것만으로 공정해질까요? 사다리는 "몇 번째 칸에 도착하느냐"를 정하고, 섞인 순서는 "그 칸에 무엇이 있느냐"를 정해요. 첫 번째 사람이 6번 칸에 도착할 가능성이 높다는 걸 알아도, 6번 칸에 어떤 결과가 놓였는지는 사다리와 상관없이 무작위로 정해졌어요. 그래서 사다리 모양이 어떻든 각 사람이 각 결과를 받을 확률은 정확히 6분의 1이 돼요. 골라줘 테스트에서도 결과 순서를 섞은 뒤에는 6명 중 첫 번째 사람이 받는 결과가 12만 번 동안 고르게 나왔고(카이제곱 2.3, 기준 31.9), 4명일 때 나올 수 있는 24가지 결과 조합도 고르게 나왔어요(카이제곱 26.0, 기준 64.4).
종이 사다리를 더 공정하게 하는 요령
앱이 아니라 종이에 그릴 때도 같은 원리를 쓸 수 있어요.
- 결과는 나중에, 다른 사람이: 사다리와 이름을 다 쓴 뒤에, 사다리를 보지 않은 사람이 결과를 적거나 섞은 쪽지를 아래 칸에 놓아요. 이게 결과 순서를 섞는 것과 같은 효과예요.
- 가로줄은 넉넉히, 여럿이: 참가자가 돌아가며 가로줄을 하나씩 더하면 한 사람이 결과를 노리고 긋기 어려워져요. 가로줄이 많을수록 치우침도 줄어요.
- 가운데는 가려 두기: 이름을 고르는 동안 사다리 가운데를 접거나 가려 두면 길을 미리 따라가 보고 자리를 고르는 일을 막을 수 있어요.
- 이름 자리도 무작위로: 자리를 먼저 고르는 사람이 유리해 보이지 않게, 이름 순서도 섞어서 정하면 불만이 줄어요.
정리
사다리타기는 결과가 겹치지 않는다는 점에서는 언제나 믿을 만하지만, 가로줄만 무작위로 그으면 어느 칸에 도착하는지가 고르지 않아요. 결과 순서를 따로 무작위로 섞으면 사다리 모양과 상관없이 모두가 같은 기회를 가져요. 골라줘의 사다리는 이렇게 섞은 결과를 쓰고, 화면에 그린 길을 따라가면 실제 결과에 그대로 닿도록 만들었어요.
참고 자료
- 사다리타기, 위키백과
- Ghost leg, Wikipedia
- Fisher–Yates shuffle, Wikipedia
- Crypto.getRandomValues(), MDN Web Docs
Few methods are as familiar for deciding who buys coffee, who cleans up or who presents first as the ladder draw (ghost leg). Write names along the top, results along the bottom, draw rungs between the lines, and follow each path down. But the idea that "the rungs were random, so it must be fair" is only half right. A ladder always gives everyone a different result, but it does not guarantee every result is equally likely.
A ladder always gives one result per person
First, the good part. Each time a path meets a rung it crosses to the neighboring line, which is the same as swapping two neighbors. However many rungs there are, you are only ever swapping, so in the end everyone lands in a different slot. The Korean Wikipedia article on the ladder draw describes each rung as a transposition of two adjacent elements and the whole ladder as the product of those transpositions. Two people can never get the same result, and no result is left without someone.
The problem: which slot you land in
For a fair draw with six people, each person should land in each slot with probability 1/6, about 16.7%. But one rung only moves a path one line over, so with few rungs most people end up near where they started. To get from the far left to the far right, a path has to cross right at least five times.
To put numbers on it, we ran a simple model. Six vertical lines, a fixed number of levels where rungs can go, and at each level each gap gets a rung with 30% probability, without two neighboring rungs at the same level. For each number of levels we ran 500,000 ladders and counted where the leftmost person landed.
| Levels | Slot 1 | 2 | 3 | 4 | 5 | Slot 6 |
|---|---|---|---|---|---|---|
| 5 | 43.3% | 34.4% | 16.0% | 5.2% | 1.0% | 0.1% |
| 10 | 33.5% | 29.3% | 19.3% | 10.9% | 4.9% | 2.2% |
| 20 | 24.9% | 23.2% | 18.8% | 14.3% | 10.5% | 8.3% |
| 50 | 17.9% | 17.6% | 17.0% | 16.3% | 15.8% | 15.4% |
With an ordinary ladder of about ten levels, the leftmost person lands in slot 1 33.5% of the time, twice the fair rate, and reaches slot 6 only 2.2% of the time. Many more rungs make it more even, but even 50 levels are not perfectly equal. Ladders drawn by hand on paper usually have far fewer.
Change the rules and it skews another way
Would tidier rungs fix it? The ladder in the Pick tool (골라줘) uses a few rules so it looks good: one to three rungs in each gap, spacing between rungs in the same gap, and no zigzag that goes over and straight back. As a reference, Pick's test suite follows only the rungs, without shuffling the results, and counts where the first of six people lands over 60,000 ladders. A run on 22 October 2026 gave this:
| Slot 1 | 2 | 3 | 4 | 5 | Slot 6 |
|---|---|---|---|---|---|
| 11.1% | 7.7% | 11.3% | 14.8% | 20.3% | 34.8% |
This time 34.8% piles up at the opposite end, slot 6, apparently because the rules keep paths moving sideways. How you draw the rungs only changes the direction of the skew; rungs alone make it hard to give every slot exactly the same chance.
The fix: shuffle the result order separately
Pick solves this on the results side rather than the ladder side. Before drawing the ladder, it shuffles the order of the results at the bottom with a Fisher–Yates shuffle. Then it draws the rungs, and following the ladder on screen really does lead to that result.
Why does that make it fair? The ladder decides which slot you reach; the shuffled order decides what is in that slot. Even if you know the first person probably reaches slot 6, what was placed in slot 6 was chosen at random, independently of the ladder. So whatever the ladder looks like, each person gets each result with probability exactly 1/6. In Pick's tests, once the results are shuffled, the result the first of six people gets is even over 120,000 ladders (chi-squared 2.3 against a limit of 31.9), and all 24 possible outcomes for four people come out evenly too (chi-squared 26.0 against 64.4).
Tips for a fairer paper ladder
The same idea works on paper.
- Results last, by someone else: after the ladder and names are drawn, have someone who has not seen the ladder write the results, or place shuffled slips under the slots. That is the same as shuffling the result order.
- Plenty of rungs, from everyone: if each person adds a rung in turn, it is hard for anyone to aim for a result, and more rungs mean less skew.
- Cover the middle: fold or cover the middle of the ladder while people choose names, so nobody can trace a path first and pick a spot.
- Random name positions too: shuffling the order of names avoids any sense that choosing first is an advantage.
Summary
A ladder draw is always reliable in that no two people get the same result, but with only random rungs, where you land is not even. Shuffle the result order separately and everyone gets the same chance whatever the ladder looks like. Pick's ladder uses shuffled results, and the path drawn on screen leads to the real result.
Sources
- 사다리타기 (Ladder draw), Korean Wikipedia
- Ghost leg, Wikipedia
- Fisher–Yates shuffle, Wikipedia
- Crypto.getRandomValues(), MDN Web Docs