도구스학업·수학

완전순열(교란순열) 계산기

마니또처럼 제비를 뽑을 때 아무도 자기 것을 뽑지 않을 경우의 수와 확률을 구합니다. 사람이 늘어도 확률이 1/e ≈ 36.8%에서 거의 변하지 않는다는 것과, 자기 것을 뽑은 사람이 k명일 확률까지 확인할 수 있습니다.

0부터 200까지. 사람마다 자기 이름이 적힌 제비가 하나씩 있다고 봅니다.

아무도 자기 것을 뽑지 않을 확률

36.667%

전체 120가지 배치 가운데 44가지입니다. 1/e ≈ 36.788%와 0.1213%p 차이입니다.

완전순열의 수 D(5)44
전체 배치 5!120
적어도 한 명은 자기 것을 뽑을 확률63.333%
1/e (수렴하는 값)36.788%
1/e 와의 차이−0.121277%p
사람이 늘어도 확률이 거의 변하지 않습니다. 4명에서 37.5%, 10명에서 36.79%, 100명에서 36.79%로 모두 1/e ≈ 36.8% 언저리입니다. 「사람이 많아지면 누군가는 자기 걸 뽑겠지」라는 직관이 어긋나는 지점이며, 확률의 식이 e의 −1제곱을 그대로 펼친 급수이기 때문입니다.

자기 것을 뽑은 사람이 몇 명일까

맞춘 사람배치 수확률
04436.667%
14537.5%
22016.667%
3108.333%
400%
510.833%

k명을 고르고 나머지가 완전순열이면 되므로 C(5,k)·D(5−k)가지입니다. 0명일 확률과 1명일 확률이 거의 같은데, 맞춘 사람 수가 평균 1인 푸아송 분포에 가깝기 때문입니다. 5명 가운데 4명만 맞는 배치는 없습니다 — 한 명 빼고 다 맞으면 남은 한 명도 자기 것일 수밖에 없습니다.

사람 수에 따른 값

nD(n)n!확률
011100%
1010%
21250%
32633.3333%
492437.5%
54412036.6667%

확률이 1/e 위아래로 오가며 붙습니다. 짝수 명일 때는 1/e보다 크고 홀수 명일 때는 작은데, 급수의 항에 부호가 번갈아 붙기 때문입니다.

점화식이 나오는 까닭

D(n) = (n−1) · (D(n−1) + D(n−2))

1번 사람이 k번 제비를 뽑았다고 하면 k를 고르는 방법이 n−1가지입니다. 그다음 k번 사람이 1번 제비를 뽑느냐로 갈립니다. 뽑으면 둘이 짝지어 빠져 남은 n−2명 문제가 되고, 안 뽑으면 「k번 사람은 1번 제비만 빼고」라는 제약이 붙어 n−1명 문제와 같은 모양이 됩니다. 그래서 두 경우를 더해 n−1을 곱합니다.

계산 방법

  1. 1제비를 뽑는 사람 수를 넣습니다. 사람마다 자기 이름이 적힌 제비가 하나씩 있다고 봅니다.
  2. 2아무도 자기 것을 뽑지 않을 확률과 그런 배치의 수 D(n)을 확인합니다.
  3. 3사람 수를 3명, 10명, 100명으로 바꿔 가며 확률이 거의 변하지 않는 것을 봅니다.
  4. 4자기 것을 뽑은 사람이 0명·1명·2명일 확률을 표에서 견줍니다.

자주 묻는 질문

사람 수와 거의 무관하게 약 36.8%(1/e)입니다. 4명이면 37.5%, 10명이면 36.7879%, 100명이면 역시 36.79%로 사실상 같습니다. 확률의 식이 e의 −1제곱을 펼친 급수와 같아 n이 조금만 커져도 그 값에 붙기 때문입니다. 「사람이 많으면 누군가는 자기 걸 뽑겠지」라는 직관과 어긋나는 지점입니다.

D(0)=1, D(1)=0이고 D(n) = (n−1)·(D(n−1) + D(n−2))입니다. 1번 사람이 k번 제비를 뽑았다고 하면 k를 고르는 방법이 n−1가지이고, 그다음 k번 사람이 1번 제비를 뽑으면 둘이 짝지어 빠져 n−2명 문제가, 안 뽑으면 n−1명 문제와 같은 모양이 됩니다. n ≥ 1에서는 n!을 e로 나눠 반올림한 값과도 정확히 같습니다.

맞습니다. 완전순열은 「자기 자신을 뽑은 사람이 한 명도 없다」는 조건만 봅니다. 두 명이 서로의 것을 뽑는 배치도 조건을 만족하므로 셉니다. 서로 바꾸는 짝을 금지하려면 조건이 하나 더 붙는 다른 문제가 됩니다.

k명일 확률은 C(n,k)·D(n−k)/n!입니다. k명을 고르고 나머지가 완전순열이면 되기 때문입니다. 0명일 확률과 1명일 확률이 거의 같은데, 맞춘 사람 수가 평균 1인 푸아송 분포에 가깝기 때문입니다. n−1명만 맞는 배치는 존재하지 않습니다 — 한 명 빼고 다 맞으면 남은 한 명도 자기 것일 수밖에 없습니다.

확률의 급수 Σ (−1)^k/k!에서 항의 부호가 번갈아 붙기 때문입니다. 마지막 항의 부호에 따라 값이 1/e 위아래로 오가며 다가가고, n이 커질수록 그 차이는 1/(n+1)!보다 작아집니다.

전송되지 않습니다. 모든 계산은 브라우저 안에서 이뤄지고, 입력값은 이 기기에만 남습니다.

알아두면 좋은 점

  • 검증은 D(0)부터 D(10)까지의 알려진 값(1, 0, 1, 2, 9, 44, 265, 1854, 14833, 133496, 1334961)과 4명일 때의 확률 9/24 = 0.375로 했습니다. n! 을 e로 나눠 반올림한 값과 같은지, 자기 것을 뽑은 사람 수별 배치를 모두 더하면 n!이 되는지도 대조했습니다.
  • D(19)부터 배정밀도 실수의 정확한 정수 범위를 넘으므로 BigInt로 계산합니다. 확률을 낼 때도 큰 정수 두 개의 비를 자릿수를 맞춰 줄인 뒤 나눕니다 — 그냥 실수로 바꾸면 200!에서 무한대가 되어 버립니다.
  • 「자기 자신을 뽑은 사람이 없다」만 조건으로 봅니다. 두 사람이 서로의 것을 뽑는 배치도 셈에 들어가며, 그것까지 막으려면 다른 계산이 필요합니다.
  • 실제 마니또에서는 다시 뽑기, 미리 짝을 정해 두기 같은 규칙이 붙는 경우가 많아 이 확률과 달라집니다. 이 계산기는 모든 배치가 같은 확률로 나온다는 전제에서만 맞습니다.
  • 200명까지 다룹니다. 그보다 커도 확률은 1/e에서 사실상 움직이지 않습니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 1일 · 결과는 참고용 추정치입니다.