100명의 죄수와 상자 문제 계산기
죄수 수와 열 수 있는 상자 수를 넣으면 아무 상자나 여는 전략과 사이클을 따라가는 전략의 전원 성공 확률을 각각 구합니다. 사실상 0이던 확률이 31%로 뛰는 이유까지 보여 줍니다.
100명이 50개씩 열 때
31.18%
아무 상자나 열면 7.89e-31입니다
두 전략
계산 근거
열 수 있는 상자 수를 바꿔 가며 (100명 기준)
| 열 수 있는 상자 | 사이클 전략 | 아무거나 |
|---|---|---|
| 10개10% | 1.27e-10 | 1.00e-100 |
| 20개20% | 0.05% | 1.27e-70 |
| 30개30% | 2.57% | 5.15e-53 |
| 40개40% | 13.48% | 1.61e-40 |
| 50개50% | 31.18% | 7.89e-31 |
| 60개60% | 49.25% | 6.53e-23 |
| 70개70% | 64.55% | 3.23e-16 |
| 80개80% | 77.81% | 2.04e-10 |
| 90개90% | 89.52% | 2.66e-5 |
| 100개100% | 100% | 100% |
계산 방법
- 1죄수 수와 한 사람이 열 수 있는 상자 수를 넣습니다. 기본은 널리 알려진 100명·50개입니다.
- 2두 전략의 확률을 견줍니다. 아무 상자나 여는 쪽은 지수 표기로 나올 만큼 작습니다.
- 3아래 표에서 열 수 있는 상자 수를 바꾸면 확률이 어떻게 달라지는지 봅니다.
자주 묻는 질문
죄수 100명에게 번호를 매기고 상자 100개에 번호표를 무작위로 하나씩 넣은 뒤, 죄수가 한 명씩 들어가 상자를 50개까지 열어 자기 번호표를 찾는 문제입니다. 서로 정보를 주고받을 수 없고 전원이 찾아야 모두 풀려납니다. 아무 상자나 열면 성공 확률이 2⁻¹⁰⁰으로 사실상 0인데, 전략 하나로 31%까지 올라갑니다.
자기 번호와 같은 번호의 상자를 먼저 열고, 그 안에 든 번호표의 상자를 다음에 엽니다. 이것을 열 수 있는 횟수까지 되풀이합니다. 번호표 배치는 순열이므로 이 전략은 자기 번호가 속한 사이클을 따라가는 것이고, 사이클은 반드시 자기 번호로 돌아오므로 그 길이가 열 수 있는 수 이하이면 반드시 찾습니다.
«전원 성공»이 «순열의 가장 긴 사이클이 짧다»는 사건 하나와 같아지기 때문입니다. 각자 따로 운을 시험할 때는 100번의 독립 시행이 모두 성공해야 하지만, 사이클 전략에서는 배치 하나가 좋은 배치이기만 하면 전원이 함께 성공합니다. 사람들의 운을 몰아서 한곳에 걸어 두는 셈입니다.
거의 떨어지지 않습니다. 절반씩 열 때 인원을 아무리 늘려도 1 − ln 2 ≈ 30.7% 아래로 내려가지 않습니다. 100명이면 31.18%, 1000명이면 30.74%로 극한에 가까워질 뿐입니다. 이 문제가 유명한 진짜 이유가 여기 있습니다.
확률이 빠르게 떨어지고, 흔히 쓰는 닫힌 식 1 − (H(N) − H(k))도 더는 성립하지 않습니다. 그 식은 열 수 있는 수가 절반 이상일 때 «긴 사이클이 많아야 하나뿐»이라는 사실에 기대기 때문입니다. 이 도구는 언제나 점화식으로 정확히 구하고, 닫힌 식은 쓸 수 있을 때만 나란히 놓아 대조합니다.
전송되지 않습니다. 계산은 전부 브라우저 안에서 이뤄지고, 입력값은 이 브라우저의 localStorage에만 남습니다.
알아두면 좋은 점
- 번호표가 완전히 무작위로(균등한 순열로) 놓였다고 봅니다. 배치에 규칙이 있으면 확률이 달라집니다.
- 죄수는 1000명까지 계산합니다. 그보다 많으면 아무 상자나 여는 전략의 확률이 부동소수점으로 표현되지 않을 만큼 작아집니다.
- 확률은 «모든 사이클이 k 이하인 순열의 비율» 점화식으로 구합니다. 열 수 있는 수가 절반 이상일 때는 닫힌 식과 값이 일치하는지 함께 확인해 보여 줍니다.
- 유리수로 정확히 계산한 값을 정답지로 삼아 맞췄습니다. 100명·50개는 0.3118278207입니다.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 1일 · 결과는 참고용 추정치입니다.