우연의 일치는 우연이 아니다?
모임에서 두 사람의 생일이 같다는 걸 알게 되면 "이건 우연이 아니야" 싶은 소름이 돋습니다. 그런데 방에 사람이 몇 명만 있어도 이런 일은 오히려 일어나지 않는 쪽이 이상합니다. 인원, 특징의 가짓수, 각 특징이 가질 수 있는 값의 수를 바꾸며 "누군가 어딘가에서 일치"와 "나와 일치"가 어떻게 다른지 지켜보세요.
모델은 이렇게 움직입니다
- 방에 N명이 모입니다. 사람마다 특징 k가지를 갖는데, 첫째는 생일(365가지, 윤일은 무시)이고 나머지는 고향·취미·같은 학교처럼 정해진 가짓수 중 하나입니다. 모두 같은 확률로, 서로 영향 없이 정해집니다.
- 두 사람이 특징 하나라도 같으면 일치한 쌍입니다. N명이면 가능한 짝은 N(N−1)/2쌍인데, 사람은 N배로 늘 때 짝은 거의 N²배로 늘어납니다.
- 0번 사람이 나입니다. "방 안 어딘가에서 일치가 있을 확률"과 "나와 일치하는 사람이 있을 확률"을 따로 셉니다. 선은 계산한 값, 점은 모임을 직접 여러 번 연 결과입니다.
- 이 모델은 모든 특징의 값이 똑같은 확률로 나오고 서로 영향을 주지 않는다고 가정합니다. 실제 생일은 달마다 조금 고르지 않고, 같은 고향 사람이 같은 취미를 가질 가능성도 있어서 현실은 이보다 복잡합니다.
직접 돌려보기
① 모임 지켜보기
모임이 한 번씩 열립니다. 위쪽의 붉은 점이 나이고, 나머지 사람은 원 둘레에 서 있습니다. 옅은 실은 가능한 모든 짝이고, 일치한 쌍은 굵은 선으로 이어지며 나와 일치한 선은 붉게 표시됩니다. 일치한 사람 옆에는 같은 생일(월/일)이 적힙니다. 아래 칸은 지금까지 열린 모임으로, 파란 칸은 누군가 일치한 모임, 붉은 테두리는 나와 일치한 모임입니다.
② 어딘가에서 일치할 확률
가로는 모인 사람 수, 세로는 방 안 어딘가에 일치한 쌍이 있을 확률입니다. 파란 선과 점은 지금 설정, 점선은 생일만 볼 때의 계산값입니다. 점선의 50%를 넘는 지점이 유명한 23명입니다.
③ "어딘가에서"와 "나와"
같은 지금 설정으로 인원을 365명까지 늘렸습니다. 파란 선은 "누군가 어딘가에서 일치", 붉은 선은 "나와 일치"입니다. 붉은 점선은 특징이 생일뿐일 때 나와 일치할 확률로, 50%를 넘으려면 나 말고 253명이 필요합니다.
④ 사람은 N명, 짝은 N(N−1)/2쌍
회색은 사람 수, 파랑은 가능한 짝의 수, 붉은 선은 지금 설정에서 일치한 쌍의 평균 예상 수입니다. 인원이 조금만 늘어도 일치할 기회가 훨씬 빠르게 늘어납니다.
이 결과가 말하는 것, 말하지 않는 것
말하는 것:
- '나와 같은' 일치는 드물지만, '누군가 어딘가에서'의 일치는 흔해요. 같은 23명인데 나와 생일이 같은 사람이 있을 확률은 5.9%, 방 안 어딘가에 같은 쌍이 있을 확률은 50.7%예요.
- 23명 사이엔 가능한 짝이 253쌍이나 되는데, 나와의 일치는 나를 낀 짝만 세기 때문이에요. 57명이면 어딘가의 일치는 99.0%, 나와의 일치는 14.2%예요.
- 그렇다면 신기한 일치를 만나면 '나에게 생긴 일'인지 '모인 사람 중 아무에게나 생긴 일'인지부터 갈라 보면 돼요. 특징을 2가지로 늘리면 나와의 일치도 55.3%로 흔해져요(23명).
상세 설명
말하는 것: 생일만 볼 때(특징 1가지), 23명이면 방 안 어딘가에서 생일이 같은 쌍이 있을 확률은 50.7%, 57명이면 99.0%였습니다(2만 번 모임을 연 결과도 50.4%, 99.0%로 계산값과 같았습니다). 23명 사이에는 가능한 짝이 253쌍이나 있기 때문입니다. 그런데 "나와" 생일이 같은 사람이 있을 확률은 같은 23명에서 5.9%, 57명에서도 14.2%에 그쳤고, 50%를 넘으려면 나 말고 253명(모두 254명)이 필요했습니다. 같은 23명인데 "누군가 어딘가에서"는 50.7%, "나와"는 5.9%입니다. 특징을 늘리면 "어딘가에서"는 금방 거의 확실해집니다. 23명에서 특징이 생일과 30가지짜리 하나(특징 2가지)이면 방 안 어딘가에서 일치할 확률은 99.999%를 넘어 사실상 100%였고, 나와 일치할 확률도 55.3%로 올라갔습니다. 특징이 3가지면 나와 일치할 확률이 78.8%, 6가지면 97.7%였습니다. 소름 돋는 일치가 일어나려면 "내가 정한 특정한 일치"가 아니라 "아무 일치나 하나"만 있으면 되기 때문에, 사람이 모이는 곳마다 일치는 늘 어딘가에서 일어납니다. 통계학자 Diaconis와 Mosteller(1989)는 이런 현상을 "아주 큰 수의 법칙(law of truly large numbers)"이라고 불렀습니다. 표본이 충분히 크면 아무리 드문 일도 어딘가에서는 일어난다는 뜻입니다.
말하지 않는 것:
- 이 시뮬레이션이 직접 보여 준 건 확률의 차이(5.9% 대 50.7%)예요. 특정한 소름 돋는 일이 우연이었는지는 판정하지 못해요.
- 나에게 일어난 일이 드물게 느껴지는 마음이 틀렸다는 뜻도 아니에요. 나와의 일치는 실제로 드물어요.
- 생일과 취미가 고르고 서로 독립이라는 가정이라, 실제 사례를 따지려면 실제 분포 자료와 비교해야 해요.
상세 설명
말하지 않는 것: 실제 세상의 모든 소름 돋는 우연이 그냥 우연이라는 뜻은 아닙니다. 이 모델은 특징이 균등하고 서로 독립이라고 가정하는데, 현실의 특징은 그렇지 않아서 일치가 더 잦거나 드물 수 있습니다. 생일 문제의 확률도 일치 가능한 쌍이 많다는 것만 보여줄 뿐, 어떤 특정한 사건이 우연이었는지 아닌지는 판정하지 못합니다. 또 일치가 어딘가에서 흔하다고 해서 나에게 일어난 일이 특별하게 느껴지는 마음이 틀렸다는 뜻도 아닙니다. 나와 일치할 확률은 낮으니, 나에게 일어난 일이 드물게 느껴지는 건 맞습니다. 이 페이지는 현실의 일치 사례나 발생 빈도에 대한 통계를 담고 있지 않습니다.
이론적 근거와 구현 메모
- 모델의 뿌리: 생일 문제(birthday problem)는 방 안 사람들 중 생일이 같은 쌍이 있을 확률을 묻는 확률론의 고전 문제로, Feller의 확률론 교과서 같은 입문서에도 실려 있습니다. "소름 돋는 우연도 어딘가에서는 일어난다"는 생각은 Diaconis와 Mosteller(1989)가 "아주 큰 수의 법칙(law of truly large numbers)", 곧 표본이 충분히 크면 아무리 드문 일도 일어날 법하다는 원리로 정리했습니다.
- 핵심 가정과 수식: 한 특징이 c가지 값을 같은 확률로 가지면 N명이 모두 다를 확률은
(1−1/c)(1−2/c)…(1−(N−1)/c)이고, 특징들이 독립이면 특징별 확률을 곱한 값이 "일치한 쌍이 하나도 없을 확률"입니다. 나와 일치할 확률은1 − Π(1−1/c)N−1이고, 인원 슬라이더가 N, 특징 슬라이더가 k(생일은 c=365), 다른 특징의 값 개수가 c입니다. - 이 프로젝트의 단순화: 모든 특징이 균등하고 서로 독립이라고 가정하고 윤일은 무시했습니다. 실제 생일은 연중 완전히 고르지 않고 고향·취미도 서로 얽혀 있습니다. 특징 개수와 "다른 특징의 값 개수"(기본 30)는 이 프로젝트가 정한 값이며 실제 분포를 반영하지 않습니다.
- 이론값과 시뮬레이션: 이 식은 정확한 닫힌 해라서 시뮬레이션과 바로 비교됩니다. 생일만 볼 때 "어딘가 일치"는 23명에서 이론 50.7%, 시뮬레이션 50.4%, 57명에서 99.0%와 99.0%였고, "나와 일치"는 23명에서 5.9%와 5.9%였습니다. 나와 일치할 확률이 50%를 넘는 최소 인원은 254명(나 말고 253명)입니다. 특징 2가지(값 30개), 23명에서는 나와 일치가 이론 55.3%, 시뮬레이션 55.7%였습니다.
- 더 읽을거리: Diaconis, P. & Mosteller, F. (1989), 「Methods for Studying Coincidences」, Journal of the American Statistical Association 84. Feller, W. (1968), An Introduction to Probability Theory and Its Applications, Vol. 1 (3rd ed.), Wiley.
- 계산값은 정확한 공식입니다. 한 특징에서 N명이 모두 다를 확률은 (1−1/c)(1−2/c)…(1−(N−1)/c)이고, 특징들이 독립이라 곱하면 "방 안에 일치한 쌍이 하나도 없을 확률"이 됩니다. 나와 일치할 확률은 1 − Π(1−1/c)N−1입니다. 점은 모임을 직접 여러 번(②는 800번, ③은 400번씩) 열어 센 값입니다.
- 검증은
node tools/validate-coincidence.js로 할 수 있습니다. 생일만 볼 때 23명 50.7%, 57명 99.0%, 나와 일치가 50%를 넘는 최소 인원은 254명(나 말고 253명)입니다.