홈 / 사용 가이드

짝을 바꿨는데 또 그 짝이 나오는 확률

두 장의 짝 지은 명단을 겹쳐 놓고 같은 짝에 표시를 하는 손과 돋보기

짝을 한 번 지었다가 다시 바꿨는데 또 같은 짝이 나오면 「도구가 이상한 거 아니야」라는 말이 나옵니다. 정말 이상한 일일까요? 우리는 뽑고의 짝 정하기 함수를 그대로 두 번 호출해 이전과 같은 짝이 남는 비율을 세고, 같은 확률을 조합론으로 따로 계산해 맞대 보았습니다.

실험은 이렇게 했습니다

이 글의 시험은 짝 정하기를 연달아 두 번 하는 것입니다. 발표 순서·짝 정하기가 짝 모드에서 쓰는 pairUp 함수를 수정 없이 두 번 불러, 두 번 모두 같은 조가 된 두 사람이 있는지 세었습니다. 명단은 10명, 20명, 30명, 31명이고 조합마다 1,000,000번 반복했습니다. 실행 환경은 Node.js v23.10.0, 2026년 10월 14일입니다.

여기서 「같은 짝」은 첫 번째와 두 번째 모두 같은 조에 있었던 서로 다른 두 사람을 뜻합니다. 인원이 홀수이면 마지막 조에 한 명이 더 들어가 세 명 조가 되므로, 31명이라면 14쌍과 세 명 조 하나로 나뉩니다. 세 명 조는 그 안의 세 쌍이 모두 같은 조인 것으로 셉니다.

이론: 평균과 확률을 어떻게 계산하나

평균부터 보겠습니다. 인원이 짝수 n명이면 첫 번째에서 짝이 n/2쌍 생깁니다. 이 가운데 한 쌍의 한 사람을 정하면, 두 번째에서 그 사람의 짝은 나머지 n−1명 중 한 명이 같은 확률로 되므로 이전 짝이 그대로일 확률은 1/(n−1)입니다. 따라서 겹치는 짝 수의 평균은 (n/2) × 1/(n−1) = n ÷ 2(n−1)입니다. [계산] 20명이면 20÷38 = 0.526, 10명이면 10÷18 = 0.556입니다. 홀수일 때는 한 번에 같은 조인 쌍의 수를 c라고 하면 평균이 c² ÷ [n(n−1)/2]이고, 31명은 c가 14+3 = 17이라 289÷465 = 0.622입니다. [계산]

「한 쌍이라도 겹칠 확률」은 포함–배제로 구합니다. 짝수일 때 첫 번째의 짝 중 특정한 j쌍이 두 번째에도 짝일 확률은 (n−2j−1)!!÷(n−1)!!이라서, 이를 부호를 바꿔 더해 가면 겹치는 짝이 하나도 없을 확률이 나옵니다. 홀수일 때는 세 명 조가 끼어 경우가 늘어나지만 같은 방식으로 셀 수 있습니다. 식이 맞는지는 작은 인원에서 모든 순열을 일일이 세어 확인했습니다. 4명부터 9명까지, 9명이면 362,880가지 순서를 전부 만들어 이전 짝과 겹치는지 센 결과가 식과 소수점 다섯째 자리까지 같았습니다. 5명이 0%인 것은 짝 한 쌍과 세 명 조로 나누는 어떤 새 구성이든 이전과 같은 조인 쌍이 적어도 하나는 생기기 때문입니다.

이론식 검증: 모든 순서를 직접 세어 본 값 [실측]과 식 [계산]
인원순서의 수겹침 없음 비율 (전수 조사)겹침 없음 비율 (식)겹친 짝 평균 (전수 조사)겹친 짝 평균 (식)
4명2466.667%66.667%0.66670.6667
5명1200.000%0.000%1.60001.6000
6명72053.333%53.333%0.60000.6000
7명5,04022.857%22.857%1.19051.1905
8명40,32057.143%57.143%0.57140.5714
9명362,88032.381%32.381%1.00001.0000

결과: 열 번에 네 번꼴로 이전 짝이 또 나온다

아래 표가 핵심입니다. 20명이 짝 정하기를 연속으로 두 번 했을 때 이전과 같은 짝이 하나라도 남은 경우는 40.91%였고 이론값은 40.88%입니다. 10명은 42.46%(이론 42.43%), 30명은 40.40%(이론 40.37%), 31명은 46.60%(이론 46.59%)였습니다. 평균 겹친 짝 수는 20명에서 0.526쌍(이론 0.526쌍)이었습니다. [실측]

실측과 이론의 차이를 이항 표준오차(0.049%p 안팎)로 나눈 값은 네 조합 모두 1 이하였고 가장 큰 것이 0.75배였습니다. 우연이 만드는 흔들림 안에서 이론과 맞는다는 뜻입니다. 즉 pairUp은 연속된 두 번의 짝 정하기에서 이론이 예측하는 만큼만 이전 짝과 겹치고, 그보다 더 자주 또는 덜 자주 겹치게 만드는 장치는 없습니다.

같은 명단으로 짝 정하기를 두 번 했을 때 이전과 같은 짝이 남는 비율 (조합마다 100만 번)
인원구성하나 이상 겹침 [계산]하나 이상 겹침 [실측]평균 겹친 짝 [계산]평균 겹친 짝 [실측]
10명짝 5쌍42.43%42.46%0.5560.556
20명짝 10쌍40.88%40.91%0.5260.526
30명짝 15쌍40.37%40.40%0.5170.518
31명짝 14쌍 + 세 명 한 조46.59%46.60%0.6220.621

겹친 짝이 몇 쌍인지의 분포

겹침이 아예 없는 경우가 가장 많고 한 쌍이 겹치는 경우가 그다음이며, 세 쌍 이상 겹치는 경우는 드뭅니다. 20명이면 겹침이 없을 확률이 59.1%, 정확히 한 쌍이 31.0%, 두 쌍이 8.2%입니다. [계산] 실측도 같은 순서로 나왔습니다. 홀수 인원의 분포에는 식을 따로 세우지 않았으므로 아래 표에는 짝수 인원만 실었습니다.

극단적인 경우도 이론과 맞았습니다. 10명이 짝 정하기를 두 번 했을 때 다섯 쌍이 전부 이전과 같을 확률은 945분의 1, 약 0.106%이고 100만 번 중 실제로 0.103%가 그랬습니다. [계산] [실측] 짝이 모두 그대로인 이 경우는 사람이 보기에 도구가 고장 난 것 같겠지만, 열 명이면 천 번에 한 번쯤은 정상적으로 일어납니다.

겹친 짝 수의 분포 (짝수 인원)
겹친 짝 수10명 [계산]10명 [실측]20명 [계산]20명 [실측]30명 [계산]30명 [실측]
0쌍57.57%57.54%59.12%59.09%59.63%59.60%
1쌍31.75%31.75%31.03%31.09%30.81%30.85%
2쌍8.47%8.47%8.18%8.15%7.98%7.96%
3쌍2.12%2.14%1.45%1.45%1.38%1.39%
4쌍 이상0.11%0.10%0.22%0.22%0.20%0.20%

인원이 늘어도 비율이 거의 줄지 않는 까닭

30명이면 한 사람이 이전 짝을 다시 만날 확률은 29분의 1, 약 3.4%에 불과합니다. 그런데도 어딘가에서 한 쌍은 겹칠 확률이 40% 안팎이 되는 이유는, 인원이 늘면 짝의 수도 함께 늘기 때문입니다. 짝 하나가 다시 만날 확률은 (n−1)분의 1로 줄지만 짝의 수는 n/2로 늘어 평균은 n÷2(n−1), 즉 인원과 상관없이 약 0.5에 수렴합니다. 10명 0.556, 20명 0.526, 30명 0.517로 거의 변하지 않는 것을 볼 수 있습니다. [계산]

홀수 인원은 짝수보다 확률이 높게 나오는데, 세 명 조 때문입니다. 31명의 46.6%는 30명의 40.4%보다 높은데, 세 명 조 안에는 세 쌍이 들어 있어 한 번에 같은 조가 되는 쌍이 15쌍이 아니라 14+3 = 17쌍이 되고 겹칠 기회가 그만큼 늘어나기 때문입니다. [계산] 겹침을 줄이고 싶다면 한 명을 빼서 인원을 짝수로 맞추는 쪽이 낫습니다.

그래서 인원을 늘린다고 「이번엔 겹치지 않겠지」라고 기대하기는 어렵습니다. 두 번째 짝 정하기에서 이전 짝이 또 나왔다는 이야기는 열 번에 네 번꼴로 일어나는 평범한 일입니다.

겹치지 않게 하려면 몇 번을 다시 뽑아야 할까

이전 짝과 한 쌍도 겹치지 않을 때까지 다시 뽑는 규칙을 정했다면, 평균 몇 번을 뽑게 될까요. 겹치지 않을 확률이 P이면 뽑는 횟수의 평균은 1÷P입니다. [계산] 같은 시험을 20만 번 반복해 보니 아래 표와 같았습니다. 20명이면 처음 뽑은 한 번을 포함해 평균 두 번이 채 안 됩니다. 즉 「이전과 같은 짝이 나오면 한 번 다시 뽑는다」는 규칙은 대부분의 경우 한 번 더 뽑는 것으로 끝납니다.

다만 이 규칙은 사람이 지켜야 합니다. 뽑고는 이전 결과를 기억하지 않으므로 지난번 짝을 복사해 보관해 두고, 새 결과가 나오면 직접 대조해야 합니다. 이 규칙을 쓰면 결과가 더 이상 순수한 무작위가 아니라는 점도 알려야 합니다. 이전과 겹치는 결과를 빼고 뽑는 것이니까요. 모두가 알고 합의했다면 공정한 규칙입니다.

이전 짝과 겹치지 않을 때까지 다시 뽑을 때의 평균 뽑는 횟수
인원이론 [계산]실측 [실측] (20만 번)
10명1.737번1.739번
20명1.691번1.689번
30명1.677번1.680번
31명1.872번1.874번

모두와 한 번씩 짝이 되게 하고 싶다면

짝을 연속해서 바꾸며 모두와 한 번씩 짝이 되는 것이 목표라면 무작위 추첨은 어울리지 않습니다. 짝수 인원이 n명이면 n−1번의 라운드에 모든 사람이 서로 정확히 한 번씩 짝이 되도록 짤 수 있습니다. 리그전 대진표를 만드는 원형 방식(circle method)이 그것입니다. 한 사람을 고정하고 나머지를 한 칸씩 돌려 가며 짝을 짓는 식입니다. 이 방식으로 짠 표를 사람이 미리 준비해 두면 됩니다. 뽑고는 이런 표를 만들어 주지 않습니다. 이 글의 도구는 매번 독립적으로 짝을 뽑는 일만 합니다.

이 실험의 한계

명단 크기는 네 가지만 시험했고 연속 두 번의 비교만 다뤘습니다. 세 번 이상 이어서 짝을 바꾸면 이전 모든 짝과 겹치는지 따로 계산해야 합니다. 또 홀수 인원의 세 명 조는 한 조에 세 쌍이 들어 있어 한 번의 겹침이 여러 쌍으로 세어질 수 있는데, 이 점을 반영해 평균과 확률을 계산했지만 홀수 인원의 분포는 식을 세우지 않았습니다. 이론식은 작은 인원에서 전수 조사로 확인했고, 큰 인원에서는 실측과의 일치로 확인했습니다.

참고한 자료

바로 써 보기

이런 글도 있어요