모두의 계산기
← 블로그로 돌아가기

재미있는 확률

생일 역설(Birthday Paradox): 23명만 모여도 생일이 같은 두 사람이 있을 확률이 50%를 넘는 계산

23명 중 생일이 같은 두 사람이 있을 확률은 왜 50%를 넘을까요? 여사건 공식, 253개의 비교 쌍, 확률표와 100만 회 모의실험으로 생일 역설을 쉽게 설명합니다.

한 방에 23명이 모여 있다고 가정해 보겠습니다. 이들 가운데 생일이 같은 두 사람이 있을 확률은 얼마나 될까요? 365일 중 하나가 같아야 하니 별로 높지 않을 것 같지만, 고전적인 생일 문제의 조건으로 계산하면 답은 약 50.73%입니다. 23명만 있어도 생일이 겹치는 경우가 그렇지 않은 경우보다 조금 더 많습니다.

이 결과를 ‘생일 역설’이라고 부릅니다. 논리적인 모순이 있어서 역설인 것은 아닙니다. 계산 결과가 일반적인 직관과 크게 달라 보이기 때문에 붙은 이름입니다. 핵심은 한 사람의 생일을 나머지 사람과 비교하는 문제가 아니라, 모임 안에서 만들 수 있는 모든 두 사람의 조합을 비교하는 문제라는 데 있습니다.

생일 역설을 계산할 때 사용하는 조건

먼저 고전적인 생일 문제의 가정을 정확히 정리해야 합니다. 이 계산은 현실의 출생 기록을 그대로 집계한 통계가 아니라 다음 조건으로 만든 확률 모형입니다.

  • 1년은 365일로 보고 2월 29일은 제외합니다.
  • 각 사람은 365일 중 어느 날에 태어날 가능성도 같습니다.
  • 한 사람의 생일은 다른 사람의 생일과 독립적으로 정해집니다.
  • 태어난 연도는 따지지 않고 월과 날짜만 비교합니다.
  • 두 명 이상이 같은 생일인 경우가 한 번이라도 있으면 생일이 겹친 것으로 셉니다.

MIT의 확률론 수업 자료도 각 생일이 365일에 균등하게 분포하고 서로 독립이라는 조건을 두며 윤일을 제외해 생일 문제를 설명합니다. 실제 인구의 생일은 날짜별로 완전히 균등하지 않고 가족 구성원 사이의 생일도 언제나 독립이라고 볼 수는 없습니다. 따라서 50.7297%는 위 조건을 적용한 수학적 모형의 정확한 결과입니다.

같은 생일을 직접 세지 않고 반대 사건을 계산합니다

“23명 중 적어도 두 명의 생일이 같다”는 경우를 바로 세려고 하면 복잡해집니다. 생일이 같은 한 쌍이 있을 수도 있고, 서로 다른 두 쌍이 있을 수도 있으며, 세 명 이상이 같은 날짜에 태어났을 수도 있기 때문입니다. 이런 경우는 서로 겹칠 수 있어 단순히 더하면 중복 계산이 생깁니다.

그래서 반대 사건인 여사건을 먼저 구합니다. 적어도 두 사람의 생일이 같은 사건의 반대는 “23명의 생일이 모두 다르다”입니다. 두 사건 중 하나는 반드시 일어나므로 전체 확률 1에서 모든 생일이 다를 확률을 빼면 됩니다.

계산의 뼈대는 다음과 같습니다.

생일이 같은 사람이 있을 확률 = 1 - 모든 사람의 생일이 다를 확률

첫 번째 사람은 어느 날에 태어나도 괜찮습니다. 선택 가능한 날짜가 365개이므로 다른 사람과 겹치지 않을 확률은 365/365, 즉 1입니다.

두 번째 사람은 첫 번째 사람과 다른 날에 태어나야 합니다. 가능한 날짜 365개 중 364개를 고르면 되므로 확률은 364/365입니다.

세 번째 사람은 앞선 두 사람의 생일을 모두 피해야 합니다. 남은 날짜가 363개이므로 확률은 363/365입니다. 네 번째 사람은 362/365, 다섯 번째 사람은 361/365가 됩니다. 같은 방법을 23번째 사람까지 이어 갑니다.

23명의 생일이 모두 다를 확률

각 단계가 동시에 성립할 확률은 곱셈 법칙으로 구합니다. 23명의 생일이 모두 다를 확률은 다음 곱과 같습니다.

365/365 × 364/365 × 363/365 × … × 343/365

마지막 분자가 343인 이유는 23번째 사람이 앞선 22명의 생일을 피해야 하기 때문입니다. 365일에서 이미 사용된 22일을 제외하면 선택할 수 있는 날짜가 343일 남습니다.

이 값을 계산하면 약 0.4927027657입니다. 백분율로는 약 49.2703%입니다. 이제 전체 확률 1에서 이 값을 뺍니다.

1 - 0.4927027657 = 0.5072972343

따라서 23명 중 생일이 같은 두 명 이상이 있을 확률은 약 0.507297, 즉 50.7297%입니다. 반올림하면 흔히 알려진 50.7%가 됩니다.

왜 하필 23명일까요?

22명일 때 같은 생일이 나올 확률은 약 47.5695%입니다. 아직 50%보다 낮습니다. 한 명이 늘어 23명이 되면 약 50.7297%로 올라가 처음으로 50%를 넘습니다. 따라서 23명은 생일 일치 확률이 절반 이상이 되는 최소 인원입니다.

사람 수는 한 명 늘었지만 새로 생기는 비교는 한 번뿐이 아닙니다. 23번째 사람은 앞서 있던 22명 모두와 생일을 비교할 수 있습니다. 전체 비교 쌍도 22명일 때 231쌍에서 23명일 때 253쌍으로 22쌍 늘어납니다.

n명 중 두 사람을 고르는 방법의 수는 n × (n - 1) ÷ 2입니다. 23명을 대입하면 다음과 같습니다.

23 × 22 ÷ 2 = 253쌍

각 쌍의 생일이 일치할 확률은 고전적 가정에서 1/365입니다. 253개의 쌍별 일치 사건은 서로 독립이 아니므로 253/365를 그대로 “한 쌍 이상 일치할 확률”이라고 말할 수는 없습니다. 하지만 비교 기회가 사람 수보다 훨씬 빠르게 늘어난다는 점은 보여 줍니다. 사람 수가 n이면 비교 쌍은 대략 n의 제곱에 비례해 증가합니다.

“나와 생일이 같은 사람”을 찾는 문제와는 다릅니다

생일 역설을 들었을 때 23명 가운데 누군가가 내 생일과 같을 확률을 떠올리기 쉽습니다. 그러나 두 질문은 비교 횟수부터 다릅니다.

23명 중 특정한 한 사람을 기준으로 잡으면 나머지 22명과 비교하므로 비교는 22번입니다. 이때 적어도 한 명이 기준 인물과 같은 생일일 확률은 다음과 같습니다.

1 - (364/365)의 22제곱 ≈ 0.058571

백분율로는 약 5.8571%입니다. 반면 “23명 가운데 아무 두 사람이나 같은 생일인가?”라고 물으면 253쌍을 살펴봅니다. 그래서 확률이 약 50.7297%까지 올라갑니다. 50%가 넘는다는 결과는 특정한 날짜 하나를 맞히는 확률이 아니라 모임 안의 모든 쌍 중 어디에서든 일치가 한 번 이상 생길 확률입니다.

인원에 따라 확률은 얼마나 빨리 커질까요?

같은 공식을 인원별로 계산하면 증가 속도를 확인할 수 있습니다. 아래 값은 모두 365일, 균등 분포, 독립이라는 고전적 조건을 사용한 결과입니다.

  • 2명: 약 0.2740%
  • 5명: 약 2.7136%
  • 10명: 약 11.6948%
  • 20명: 약 41.1438%
  • 22명: 약 47.5695%
  • 23명: 약 50.7297%
  • 30명: 약 70.6316%
  • 40명: 약 89.1232%
  • 50명: 약 97.0374%
  • 57명: 약 99.0122%
  • 70명: 약 99.9160%

30명만 모여도 확률은 약 70.63%이고, 50명이면 약 97.04%입니다. 57명부터는 99%를 넘습니다. 여기서 99%는 특정 모임에서 반드시 생일이 겹친다는 뜻이 아닙니다. 같은 조건으로 구성한 모임을 많이 관찰할 때 약 99%의 모임에서 한 쌍 이상의 생일 일치가 나타난다는 뜻입니다.

365일인데 왜 183명이 필요하지 않을까요?

365일의 절반인 약 183명이 있어야 일치 확률도 50%가 될 것처럼 느껴질 수 있습니다. 이것은 각 사람이 고정된 날짜 하나와 일치하는지만 비교할 때에 가까운 생각입니다. 생일 역설에서는 새 사람이 들어올 때 기존의 모든 사람과 비교됩니다.

두 명이면 비교 쌍이 1개이고, 10명이면 45개입니다. 20명이면 190개, 23명이면 253개, 50명이면 1,225개입니다. 사람 수가 늘수록 새로운 비교 기회가 계속 더 많이 추가됩니다. 날짜 수 365와 사람 수 23을 바로 비교하는 대신, 365개의 가능한 날짜와 253개의 사람 쌍을 함께 봐야 직관에 가까운 그림이 나옵니다.

근사식을 사용하면 이 관계를 더 간단히 볼 수 있습니다. 사람이 n명이고 가능한 생일이 365개일 때, 생일 일치가 한 번 이상 생길 확률은 다음과 같이 근사할 수 있습니다.

일치 확률 ≈ 1 - e의 {-n(n-1)/(2×365)}제곱

이 확률을 1/2로 놓고 n을 구하면 n은 대략 √(2 × 365 × ln 2), 약 22.49가 됩니다. 사람 수는 정수여야 하므로 23명이 첫 기준점이 됩니다. 정확한 곱셈 공식으로 계산한 결과와도 일치합니다. MIT의 Mathematics for Computer Science 자료는 가능한 값이 N개일 때 약 √N 규모의 표본부터 충돌이 중요해지는 현상을 ‘birthday principle’로 설명합니다.

100만 회 모의실험으로 확인한 결과

공식의 결과를 컴퓨터 모의실험으로도 확인할 수 있습니다. 한 번의 실험마다 23명에게 0부터 364까지의 숫자 중 하나를 균등하게 배정하고, 같은 숫자가 두 번 이상 나왔는지 검사했습니다. 이 과정을 반복하면 생일이 겹친 모임의 비율을 셀 수 있습니다.

결과를 재현할 수 있도록 초기값 20260922를 사용한 의사난수 생성기로 1,000,000개 모임을 만들었습니다. 그중 생일이 같은 사람이 한 쌍 이상 있었던 모임은 507,697개였습니다. 비율은 50.7697%입니다. 정확한 이론값 50.7297%와 약 0.04%포인트 차이가 났습니다.

모의실험 결과는 실행할 때마다 조금 달라질 수 있습니다. 표본이 유한하기 때문입니다. 반복 횟수가 많아질수록 관측 비율이 이론값 주변에 가까워지는 경향은 큰 수의 법칙으로 설명할 수 있습니다. 이 글의 50.7297%는 모의실험에서 추정한 값이 아니라 정확한 곱셈 공식으로 구한 값이며, 모의실험은 계산 결과를 별도의 방법으로 확인하는 역할을 합니다.

실제 생일 자료에도 정확히 50.7297%가 적용될까요?

그대로 적용된다고 단정할 수는 없습니다. 고전적인 공식은 모든 날짜의 출생 확률이 같고 각 사람의 생일이 서로 독립이라고 가정합니다. 실제 출생 건수는 날짜별로 완전히 같지 않으며, 쌍둥이처럼 생일이 독립적이지 않은 관계도 있습니다. 2월 29일을 포함할지에 따라서도 가능한 날짜 수가 달라집니다.

생일 분포가 균등하지 않으면 일부 날짜에 출생이 더 모일 수 있어 충돌 확률도 균등 모형과 달라집니다. 정확한 현실 확률을 구하려면 대상 인구와 기간의 날짜별 출생 분포, 윤일, 구성원 사이의 관계를 반영해야 합니다. 반면 학교 수업이나 확률 문제에서 말하는 생일 역설은 특별한 설명이 없는 한 365개의 날짜가 균등하고 독립이라는 표준 모형을 뜻합니다.

생일 역설은 컴퓨터 과학에서 어떻게 쓰일까요?

생일 문제의 구조는 생일에만 적용되지 않습니다. 여러 대상을 제한된 수의 칸에 무작위로 배정할 때 같은 칸에 두 대상이 들어가는 현상을 충돌이라고 합니다. 생일은 사람을 365개의 날짜 칸에 배정하는 예입니다.

해시 함수도 큰 입력을 정해진 수의 해시값으로 바꿉니다. 서로 다른 두 입력이 같은 해시값을 가지면 해시 충돌이 발생합니다. 가능한 해시값이 N개라면 단순한 무작위 모형에서 충돌을 찾는 데 필요한 입력 수는 N에 비례하지 않고 대략 √N 규모에서 중요해집니다. MIT의 컴퓨터과학 수업 자료도 생일 원리를 해싱, 디지털 서명, 암호학의 충돌 문제와 연결해 설명합니다.

암호학의 ‘생일 공격’이라는 이름도 이 원리에서 나왔습니다. n비트 해시가 만들 수 있는 값은 2의 n제곱 개지만, 무작위 충돌을 찾는 작업량은 이상적인 조건에서 대략 2의 n/2제곱 규모가 됩니다. 이것이 암호학에서 해시 출력 길이를 평가할 때 충돌 저항성을 별도로 고려하는 이유입니다.

자주 묻는 질문

23명이면 반드시 생일이 같은 사람이 있나요?

아닙니다. 약 50.73%는 반드시 일어난다는 뜻이 아닙니다. 23명의 생일이 모두 다를 확률도 약 49.27%입니다. 두 가능성이 거의 반반이지만 생일이 겹칠 쪽이 조금 더 높습니다.

23명에 나도 포함되나요?

“23명 중 아무 두 사람의 생일이 같다”는 문제라면 기준이 되는 23명에 모두 포함됩니다. 자신을 포함한 모임이 총 23명이라면 비교 쌍은 253개입니다. 자신을 제외하고 다른 사람이 23명이라면 전체 인원은 24명이므로 확률을 24명 기준으로 다시 계산해야 합니다.

같은 해에 태어나야 하나요?

아닙니다. 고전적인 생일 문제는 출생 연도를 무시하고 월과 날짜만 비교합니다. 1990년 5월 1일과 2000년 5월 1일은 같은 생일로 셉니다.

세 사람의 생일이 모두 같은 확률도 23명에서 50%인가요?

아닙니다. 23명 기준의 50.7297%는 두 명 이상이 같은 날짜를 공유하는 사건입니다. 적어도 세 명이 같은 생일인 사건은 훨씬 드뭅니다. R 통계 소프트웨어의 생일 문제 문서와 관련 계산에서 세 명 이상이 같은 생일일 확률이 50%에 도달하는 최소 인원은 표준 조건에서 88명으로 제시됩니다.

366일로 계산하면 23명이라는 답이 바뀌나요?

가능한 날짜를 366개로 놓으면 개별 확률값은 조금 낮아지지만, 50%를 처음 넘는 최소 인원은 여전히 23명입니다. 다만 현실의 윤일 출생 확률이 다른 날짜와 같다는 가정까지 추가한 별도의 모형입니다. 일반적인 생일 역설 설명에서는 계산을 단순하게 만들기 위해 2월 29일을 제외합니다.

결론: 사람 수보다 비교 쌍의 수를 봐야 합니다

생일 역설의 계산은 여사건을 이용하면 간단해집니다. 23명의 생일이 모두 다를 확률인 약 49.2703%를 전체 확률에서 빼면, 적어도 두 명의 생일이 같을 확률 약 50.7297%를 얻습니다.

23명이 365일에 비해 적어 보여도 23명 사이에는 253개의 서로 다른 두 사람 조합이 있습니다. 특정한 사람과 생일이 같은 사람을 찾는 것이 아니라 이 253쌍 가운데 어느 한 쌍이라도 일치하는지 확인하기 때문에 확률이 빠르게 올라갑니다. 22명에서는 약 47.57%이고 23명에서 약 50.73%가 되어 처음으로 절반을 넘습니다.

이 결과는 365일, 균등 분포, 독립이라는 조건에 기반합니다. 실제 자료를 분석할 때는 날짜별 출생 분포와 집단의 구성을 별도로 반영해야 합니다. 조건을 분명히 구분하면 생일 역설은 모순이 아니라 조합의 수가 얼마나 빠르게 늘어나는지를 보여 주는 확률 계산으로 이해할 수 있습니다.

참고 자료