광고
~ / posts / calculator
smith@lab:~/posts$ cat calculator/gift-exchange-own-gift-probability-derangement.md

선물 교환에서 내 선물이 내게 돌아올 확률, 인원별 계산과 걸리지 않게 하는 법

송년회나 크리스마스 모임에서 선물을 한곳에 쌓고 눈 감고 하나씩 가져가면, 한 번쯤 "내가 가져온 선물이 나한테 왔네?" 하는 순간이 생겨요. 결론부터 말하면 인원이 4명 이상이면 아무도 자기 선물을 받지 않을 확률은 약 37%이고, 반대로 최소 한 명이 자기 선물을 받을 확률은 약 63%예요. 인원을 늘려도 이 값은 거의 변하지 않아요.

이 글은 그 확률이 어디서 나오는지 손으로 계산해 보고, 2명부터 10명까지의 확률표와 자기 선물을 받는 사람이 정확히 몇 명일지의 분포를 정리해요. 마지막에는 걸리지 않게 하는 교환 규칙 세 가지를 장단점과 함께 비교해요. 모든 값은 "선물을 전부 모아 완전히 무작위로 한 사람에 하나씩 나눠 준다"는 가정으로 직접 계산했어요.

광고

한 사람이 내 선물을 받을 확률은 1/n

먼저 가장 쉬운 계산부터 해요. 선물이 n개 섞여 있고 내가 눈을 감고 하나를 집으면, 그 하나가 내 선물일 확률은 1/n이에요. 6명이면 16.67%, 12명이면 8.33%예요. 숫자만 보면 낮아 보여요.

그런데 질문을 "나만"에서 "모임 전체에서 누구라도"로 바꾸면 이야기가 달라져요. 6명 각자가 16.67%의 확률로 걸릴 수 있으니, 여섯 명 중 한 명이라도 걸릴 확률은 훨씬 커져요. 이건 생일 역설과 같은 구조예요. 한 쌍이 생일이 같을 확률은 낮지만 모든 쌍을 합치면 높아지는 것처럼, 한 사람의 확률은 낮아도 모든 사람을 합치면 높아져요. 비슷한 구조는 생일 역설 계산기에서 직접 확인할 수 있어요.

아무도 안 걸릴 확률을 구하는 방법

n명이 선물을 나눠 갖는 방법은 모두 n! 가지예요. 4명이면 4×3×2×1 = 24가지예요. 이 가운데 아무도 자기 선물을 받지 않는 배치를 세면 돼요. 이런 배치를 수학에서는 교란순열이라고 부르고, 그 개수를 D(n)이라고 써요.

작은 인원은 손으로 셀 수 있어요. 3명이 A, B, C이고 선물도 a, b, c라면 아무도 자기 선물을 받지 않는 경우는 (A는 b, B는 c, C는 a)와 (A는 c, B는 a, C는 b), 단 2가지예요. 전체 6가지 중 2가지니까 확률은 2÷6 = 33.33%예요.

인원이 늘면 손으로 세기 어려워서 점화식을 써요. D(n) = (n−1) × (D(n−1) + D(n−2)) 이고 D(1)=0, D(2)=1이에요. 이 식으로 D(3)=2, D(4)=3×(2+1)=9, D(5)=4×(9+2)=44, D(6)=5×(44+9)=265가 나와요. 같은 값을 다음 식으로도 구해요.

확률 = 1 − 1/1! + 1/2! − 1/3! + … ± 1/n!

항을 하나씩 더해 보면 1, 0, 0.5, 0.3333, 0.375, 0.3667, 0.3681, 0.3679로 빠르게 한 값에 가까워져요. 이 값이 1 ÷ e ≈ 0.3679예요. 교란순열의 영어 이름은 derangement이고 Derangement 설명에 같은 식이 나와요. 순열 같은 수학 용어의 우리말 표기는 대한수학회 수학용어집에서 찾아볼 수 있어요.

인원별 확률표 (직접 계산)

아래 표는 2명부터 10명까지의 값이에요. 파이썬으로 모든 배치를 하나씩 나열해서 센 값과 일치하는 것을 확인했어요(8명은 40,320가지).

인원안전한 배치 수 D(n)전체 배치 수 n!아무도 안 걸릴 확률
2명1250.00%
3명2633.33%
4명92437.50%
5명4412036.67%
6명26572036.81%
7명1,8545,04036.79%
8명14,83340,32036.79%
10명1,334,9613,628,80036.79%
인원별 아무도 자기 선물을 못 받을 확률
010203040502명3명4명5명6명7명8명10명2명 · 아무도 안 걸릴 확률 50%3명 · 아무도 안 걸릴 확률 33.3%4명 · 아무도 안 걸릴 확률 37.5%5명 · 아무도 안 걸릴 확률 36.7%6명 · 아무도 안 걸릴 확률 36.8%7명 · 아무도 안 걸릴 확률 36.8%8명 · 아무도 안 걸릴 확률 36.8%10명 · 아무도 안 걸릴 확률 36.8%36.8

2명과 3명을 빼면 거의 일정해요. 인원이 늘어도 위험은 줄지 않아요.

단위: % · 자료: D(n)÷n! 직접 계산, 파이썬 전수 나열로 검산
표로 보기
구분아무도 안 걸릴 확률
2명50
3명33.3
4명37.5
5명36.7
6명36.8
7명36.8
8명36.8
10명36.8

표를 보면 2명일 때만 50%로 높고, 3명은 오히려 가장 낮은 33.33%예요. 4명부터는 37% 안팎으로 거의 같아요. 그래서 모임의 규모가 5명이든 50명이든 열 번 중 6번 넘게는 누군가 자기 선물을 받는다고 보면 돼요.

정확히 몇 명이 걸릴까: 8명 사례

"몇 명이 걸릴까"의 확률은 (걸리는 k명을 고르는 방법 수) × D(n−k) ÷ n! 로 구해요. 8명일 때 값은 이렇게 나와요.

자기 선물을 받는 사람 수확률
0명36.79%
1명36.79%
2명18.40%
3명6.11%
4명1.56%
5명0.28%

0명과 1명이 거의 같은 비율이라는 점이 재미있어요. 두 경우를 합치면 약 73.6%로, 선물을 한 번 섞었을 때 열 번 중 일곱 번 넘게는 "아무도 안 걸리거나 딱 한 명만 걸리는" 결과가 나와요. 3명 이상 걸리는 경우는 합쳐서 약 8%밖에 안 돼요. 자기 선물을 받는 사람 수의 평균은 인원과 상관없이 항상 정확히 1명이에요. 이 평균 1명이라는 사실도 "섞으면 대략 한 명은 걸린다"는 감각과 맞아요.

선물 교환 방식 세 가지: 한 번에 섞기, 한 칸씩 밀기, 걸리면 다시 뽑기의 걸리는 위치와 장단점을 비교한 카드
교환 방식에 따라 걸릴 확률과 놀이 맛이 달라져요
광고
광고

걸리지 않게 하는 교환 규칙 3가지

① 한 번에 섞고, 걸리면 전부 다시 섞기

가장 공평하고 쓰기 쉬운 방식이에요. 모두가 선물을 가져가 본 뒤 누군가 자기 선물이라면 조용히 말하고, 전원이 선물을 다시 모아 처음부터 섞어요. 안전한 배치가 나올 확률이 약 36.79%이니 평균 1 ÷ 0.3679 ≈ 2.7번이면 끝나요. 12명이어도 평균 2.72번이에요. 모든 안전한 배치가 똑같은 확률로 나온다는 점에서 완전히 무작위예요.

② 둥글게 앉아 한 칸씩 밀기

모두 원으로 앉고 자기 선물을 오른쪽 사람에게 넘겨요. 자기 선물을 받을 확률이 0%라 간단하지만, 누가 누구에게 선물을 줄지 예측할 수 있어서 놀이의 재미는 떨어져요. 선물을 가져온 사람이 곧 알려지기 쉬워서 비밀을 지키는 마니또에는 맞지 않아요. 가족처럼 서로 취향을 다 아는 소규모 모임에서는 오히려 편한 방식이에요.

③ 한 명씩 뽑으며 자기 선물이면 다시 뽑기

번호표 선물을 한 명씩 뽑고 자기 번호가 나오면 다시 뽑는 방식이에요. 직관적이지만 약점이 있어요. 마지막 사람에게 자기 선물 하나만 남는 경우가 생길 수 있어요. 예를 들어 4명이 뽑는데 앞의 세 명이 각각 다른 선물을 가져가서 마지막 한 명에게 자기 선물만 남을 수 있어요. 이럴 때는 규칙을 미리 정해야 해요. 가장 쉬운 규칙은 "마지막에 자기 선물만 남으면 바로 앞 사람 중 한 명과 선물을 바꾼다"예요. 이 방식은 배치의 확률이 완전히 고르지는 않아서, 정확히 무작위라고 말하기는 어려워요.

인원별로 어떤 방식이 좋을까

선물에 가격 상한(예: 1만 원이나 2만 원)을 정하고 포장지를 모두 같은 것으로 맞추면, 어떤 선물이 누구 것인지 알아보기 어려워서 더 공정해져요. 상한 없이 하면 선물 가치의 차이로 아쉬운 사람이 생기기 쉬우니, 크리스마스 선물 교환 뽑기처럼 선물 가격을 먼저 맞추는 걸 권해요.

광고
광고

직접 확인해 보고 싶다면

선물 교환 확률 계산기에서 이름을 입력하면 인원에 맞는 확률을 계산하고, 직접 선물을 섞어 누가 자기 선물을 받는지 볼 수 있어요. "내 선물 안 받게 섞기" 버튼은 규칙 ①처럼 걸리면 다시 섞어요. 1,000번 섞어 보기를 누르면 계산값과 얼마나 가까운지도 알 수 있어요. 마니또를 뽑는 용도로는 마니또 뽑기를 같이 쓰세요. 확률 자체가 궁금하다면 확률 계산기도 도움이 돼요.

자주 묻는 질문

인원이 많으면 내 선물이 내게 돌아올 확률이 줄어드나요?

내가 내 선물을 받을 확률은 1/n이라 줄어요. 하지만 모임 전체에서 누군가는 자기 선물을 받을 확률은 인원이 4명을 넘으면 약 63%로 일정해요. 한 사람의 위험은 줄어도 사람 수가 늘어나는 효과가 상쇄하기 때문이에요.

36.79%라는 숫자는 어디서 나오나요?

1 − 1/1! + 1/2! − 1/3! + … 을 계속 더하면 수렴하는 값이 1/e 이에요. e는 약 2.71828이라 1/e은 약 0.36788이에요. 인원이 7명만 돼도 소수점 셋째 자리까지 같아요.

걸리면 두 사람만 서로 바꾸면 안 되나요?

가능하지만 완전히 무작위라고 하기는 어려워요. 걸린 두 사람이 서로 바꾸는 방식은 일부 배치가 더 자주 나오게 만들어요. 놀이로는 충분하지만 엄밀한 공정성이 필요하면 전부 다시 섞으세요.

평균 몇 번 섞어야 안전한 배치가 나오나요?

1 ÷ (안전한 확률)이에요. 4명이면 24÷9 ≈ 2.67번, 6명이면 720÷265 ≈ 2.72번, 12명이면 약 2.72번이에요. 보통은 세 번 안에 끝나요.

한 명이 선물을 못 가져오면 어떻게 하나요?

인원 수만큼 선물이 있어야 계산이 맞아요. 못 가져온 사람이 있으면 예비 선물을 하나 준비하거나, 그 사람은 받기만 하는 규칙을 정하세요. 이 경우 선물 개수와 받는 사람 수가 다르면 확률이 달라지니 계산기 값과 정확히 맞지 않아요.

정리

선물을 모아 섞는 교환에서 누군가 자기 선물을 받을 확률은 인원과 거의 상관없이 약 63%예요. 이 숫자를 알면 "또 내 선물이야?" 하고 놀라기보다 처음부터 걸리면 다시 섞는 규칙을 정해 두는 게 편해요. 규칙 ①(전부 다시 섞기)이 가장 공평하고 평균 2.7번이면 끝나요. 규칙을 정하고 가격 상한을 맞추고 번호표를 붙이면 모임이 한결 매끄러워져요. 직접 해 보고 싶다면 선물 교환 확률 계산기에서 인원을 넣어 보세요.

참고한 자료

#선물 교환 확률#마니또 확률#내 선물 돌아올 확률#교란순열#송년회 선물 교환#크리스마스 선물 교환#제비뽑기 공정성#36.8%
← 이전 글7전 4선승 역전 확률, 0승 3패에서 뒤집을 가능성을 숫자로 계산다음 글 →매일 1% 성장하면 1년 뒤 37배, 이 계산이 맞는 경우와 틀린 경우
광고

더 둘러보기

🧮 계산 다른 도구

🔥 많이 찾는 도구

🔮 재미로 한 번 더

📝 읽어 볼 만한 글

글 전체 보기 →