몬티 홀 문제와 베이즈 정리: 직관을 배신하는 확률, 끝까지 파헤치기
확률 문제 중에 이만큼 사람을 화나게 만든 게 또 있을까요. 몬티 홀 문제(Monty Hall problem)는 답이 너무나 직관에 어긋나서, 1990년 발표 당시 박사 학위 소지자 약 1,000명을 포함해 1만 명에 가까운 독자가 “당신이 틀렸다”고 항의 편지를 보냈습니다. 그중에는 20세기 최고의 다작 수학자 중 한 명인 폴 에르되시(Paul Erdős)도 있었습니다.
그런데 정답은 항의한 사람들이 아니라 칼럼니스트 쪽이 맞았습니다. 그것도 컴퓨터 시뮬레이션으로 증명되고 나서야 에르되시가 받아들였을 만큼, 이 문제는 인간의 확률 직관이 얼마나 쉽게 무너지는지를 보여주는 교과서적 사례입니다.
이 글은 단순히 “문을 바꾸세요”로 끝내지 않고, 왜 그런지를 직관 → 베이즈 정리에 의한 엄밀한 증명 → 시뮬레이션 → 변형 문제까지 한 단계도 건너뛰지 않고 다룹니다. 확률을 다루는 개발자라면 베이즈 정리의 작동 방식을 체화하는 가장 좋은 예제이기도 합니다.
참고: 이 글의 역사적 사실(연도, 인물, 항의 편지 수치)과 수식은 영문 위키백과 Monty Hall problem, Brilliant Wiki, Britannica에서 교차 검증했습니다.
1. 문제 정의 — 규칙이 전부다
미국 게임쇼 Let’s Make a Deal의 진행자 몬티 홀(Monty Hall)의 이름을 딴 이 문제는 다음과 같습니다.
세 개의 문이 있습니다. 하나의 문 뒤에는 자동차(당첨)가, 나머지 두 문 뒤에는 염소(꽝)가 있습니다.
- 당신이 문 하나를 고릅니다. (예: 1번 문)
- 진행자는 남은 두 문 중, 염소가 있는 문 하나를 열어 보여줍니다. (예: 3번 문을 열어 염소 공개)
- 진행자가 묻습니다. “1번 문을 그대로 두시겠습니까, 아니면 2번 문으로 바꾸시겠습니까?”
바꾸는 것이 유리할까요, 그대로 두는 것이 유리할까요, 아니면 차이가 없을까요?
대부분의 사람은 “문이 두 개 남았으니 50:50, 바꿔도 그대로 둬도 똑같다”고 답합니다. 이게 바로 함정입니다. 정답은 “바꾸면 당첨 확률이 2/3, 그대로 두면 1/3” — 바꾸는 쪽이 정확히 2배 유리합니다.
1.1 답보다 규칙이 먼저다
몬티 홀 문제에서 가장 자주 놓치는 부분은 진행자의 행동 규칙입니다. 정답 2/3은 다음 전제(흔히 “표준 가정”)가 모두 성립할 때만 나옵니다. 위키백과가 정리한 표준 규칙은 이렇습니다.
- 진행자는 항상 문을 연다 — 참가자가 무엇을 골랐든 반드시 문을 하나 연다.
- 진행자는 항상 염소가 있는 문을 연다 — 절대 자동차를 공개하지 않는다. (진행자는 정답을 알고 있다.)
- 진행자는 항상 바꿀 기회를 준다.
- 자동차의 위치는 무작위로 균등하게 배치된다.
- 참가자가 우연히 자동차 문을 골랐을 때, 진행자가 열 수 있는 염소 문이 둘이면 둘 중 하나를 동전 던지듯 균등하게(50:50) 고른다.
이 다섯 가지 중 하나라도 깨지면 답이 달라집니다(뒤의 6절 변형 문제에서 다룹니다). 핵심은 진행자가 정답을 알고, 의도적으로 염소를 골라 연다는 점입니다. 이 “정보의 비대칭”이 확률을 한쪽으로 몰아주는 엔진입니다.
2. 직관적 이해 — 왜 50:50이 아닌가
엄밀한 증명에 들어가기 전에, 숫자 없이 감을 잡아봅시다.
2.1 “처음 선택은 바뀌지 않는다”
당신이 1번 문을 골랐을 때, 그 문에 자동차가 있을 확률은 1/3입니다. 그렇다면 자동차가 다른 두 문(2번·3번) 어딘가에 있을 확률은 2/3입니다. 여기까지는 누구나 동의합니다.
이제 진행자가 3번 문을 열어 염소를 보여줍니다. 중요한 점: 진행자의 이 행동은 당신이 처음 고른 1번 문에 대해 아무런 새 정보도 주지 않습니다. 진행자는 어차피 남은 두 문 중 염소가 있는 문을 항상 열 수 있었기 때문입니다(설령 자동차가 1번에 있어도 2번·3번은 둘 다 염소라 어느 쪽이든 열 수 있음).
그래서 1번 문의 확률은 여전히 1/3로 고정됩니다. 그런데 “2번 또는 3번”의 2/3는 사라지지 않았고, 이제 3번이 염소로 확정되었으니 그 2/3가 통째로 2번 문에 몰립니다.
선택 전: [1번 1/3] [2번 1/3] [3번 1/3]
\________ ________/
V
다른 두 문 = 2/3
진행자가 3번(염소) 공개 후:
[1번 1/3] [2번 2/3] [3번 0] ← 2/3가 2번으로 응축
2.2 문이 100개라면? (가장 강력한 직관 펌프)
이 설명으로도 안 와닿는다면 문을 100개로 늘려보세요.
- 문 100개 중 1개 뒤에만 자동차. 당신이 1개를 고릅니다 → 맞힐 확률 1/100.
- 진행자(정답을 앎)가 나머지 99개 중 염소가 있는 98개를 전부 열어 버립니다.
- 이제 당신의 문 1개와, 진행자가 일부러 남겨둔 문 1개만 남았습니다.
당신의 처음 선택이 정답일 확률은 여전히 1/100입니다. 그런데 진행자가 98개를 제거하면서 일부러 남겨둔 그 문 하나에 99/100이 응축됩니다. 바꾸지 않을 이유가 없죠. 문 3개짜리 원래 문제는 이 100개짜리의 축소판일 뿐입니다.
3. 베이즈 정리로 엄밀하게 증명하기
직관은 직관이고, 수학은 수학입니다. 베이즈 정리(Bayes’ theorem)로 한 치의 빈틈도 없이 증명해봅시다. 이게 이 글의 핵심입니다.
3.1 베이즈 정리 복습
베이즈 정리는 증거(evidence)를 관찰한 뒤 가설(hypothesis)의 확률을 갱신하는 공식입니다.
\[P(H \mid E) = \frac{P(E \mid H)\,P(H)}{P(E)}\]- $P(H)$ : 사전 확률(prior) — 증거를 보기 전 가설의 확률
- $P(E \mid H)$ : 우도(likelihood) — 가설이 참일 때 그 증거가 나타날 확률
- $P(E)$ : 증거의 주변 확률(marginal) — 모든 경우에 걸쳐 그 증거가 나타날 전체 확률
- $P(H \mid E)$ : 사후 확률(posterior) — 증거를 본 뒤 갱신된 가설의 확률
3.2 사건 정의
상황을 고정합시다. 참가자는 1번 문을 골랐고, 진행자는 3번 문을 열어 염소를 보여줬다고 하겠습니다. (어떤 번호를 골라도 대칭이므로 일반성을 잃지 않습니다.)
가설(자동차의 실제 위치):
- $C_1$ : 자동차가 1번 문 뒤 (= 그대로 두면 당첨)
- $C_2$ : 자동차가 2번 문 뒤 (= 바꾸면 당첨)
- $C_3$ : 자동차가 3번 문 뒤
증거:
- $H_3$ : 진행자가 3번 문을 열어 염소를 보여준 사건
우리가 구하려는 것은 $P(C_1 \mid H_3)$(그대로 두면 당첨될 확률)과 $P(C_2 \mid H_3)$(바꾸면 당첨될 확률)입니다.
3.3 사전 확률
자동차는 무작위 균등 배치이므로:
\[P(C_1) = P(C_2) = P(C_3) = \frac{1}{3}\]3.4 우도 — 여기가 모든 것을 가른다
진행자가 3번 문을 열 확률을, 자동차의 실제 위치별로 따져봅니다. 참가자는 1번을 골랐다는 점을 기억하세요.
① 자동차가 1번에 있을 때 $P(H_3 \mid C_1)$ 참가자가 고른 1번에 자동차가 있으므로, 진행자가 열 수 있는 염소 문은 2번과 3번 둘 다입니다. 표준 규칙 5에 따라 둘 중 균등하게 고르므로:
\[P(H_3 \mid C_1) = \frac{1}{2}\]② 자동차가 2번에 있을 때 $P(H_3 \mid C_2)$ 진행자는 참가자가 고른 1번도, 자동차가 있는 2번도 열 수 없습니다. 열 수 있는 건 오직 3번뿐입니다. 따라서:
\[P(H_3 \mid C_2) = 1\]③ 자동차가 3번에 있을 때 $P(H_3 \mid C_3)$ 진행자는 절대 자동차 문을 열지 않습니다. 3번에 자동차가 있으니 3번을 열 확률은 0:
\[P(H_3 \mid C_3) = 0\]이 세 우도가 다르다는 것이 핵심입니다. 특히 ②에서 진행자가 “어쩔 수 없이” 3번을 여는 것이 강한 증거가 됩니다.
3.5 증거의 주변 확률
전체 확률의 법칙으로 $P(H_3)$를 구합니다.
\[\begin{aligned} P(H_3) &= P(H_3 \mid C_1)P(C_1) + P(H_3 \mid C_2)P(C_2) + P(H_3 \mid C_3)P(C_3) \\ &= \frac{1}{2}\cdot\frac{1}{3} + 1\cdot\frac{1}{3} + 0\cdot\frac{1}{3} \\ &= \frac{1}{6} + \frac{1}{3} + 0 = \frac{1}{2} \end{aligned}\]3.6 사후 확률 — 결론
이제 베이즈 정리에 그대로 대입합니다.
그대로 둘 때 (1번이 정답일 확률):
\[P(C_1 \mid H_3) = \frac{P(H_3 \mid C_1)P(C_1)}{P(H_3)} = \frac{\frac{1}{2}\cdot\frac{1}{3}}{\frac{1}{2}} = \frac{\frac{1}{6}}{\frac{1}{2}} = \frac{1}{3}\]바꿀 때 (2번이 정답일 확률):
\[P(C_2 \mid H_3) = \frac{P(H_3 \mid C_2)P(C_2)}{P(H_3)} = \frac{1\cdot\frac{1}{3}}{\frac{1}{2}} = \frac{\frac{1}{3}}{\frac{1}{2}} = \frac{2}{3}\] \[\boxed{P(\text{그대로}) = \frac{1}{3}, \qquad P(\text{바꿈}) = \frac{2}{3}}\]증명 끝. 직관에서 본 “1/3 vs 2/3”이 베이즈 정리에서 한 치의 오차도 없이 똑같이 나옵니다. 두 값을 더하면 $\frac{1}{3} + \frac{2}{3} = 1$로 정상입니다(3번은 이미 0으로 확정).
3.7 무엇이 확률을 바꿨나
여기서 꼭 짚을 점: 갱신된 것은 1번 문이 아니라 다른 문들입니다. 1번의 사후 확률은 사전 확률과 똑같은 1/3에 머물렀습니다. 진행자의 행동이 1번에 대해 새 정보를 안 줬기 때문입니다. 반면 2번은 1/3 → 2/3으로 뛰었습니다. “진행자가 3번을 열 수밖에 없었던 상황”이 곧 ‘자동차가 2번에 있다’는 증거였던 것입니다. 베이즈 정리는 이 비대칭적 정보를 정확히 수치로 환산해줍니다.
4. 경우의 수로 다시 확인하기 (베이즈가 부담스럽다면)
수식 없이 모든 경우를 나열해도 같은 답이 나옵니다. 참가자가 항상 1번을 고른다고 가정하고, 자동차 위치별로 “바꿈” 전략의 결과를 봅시다.
| 자동차 위치 | 확률 | 진행자가 여는 문 | 그대로(1번) | 바꿈 |
|---|---|---|---|---|
| 1번 | 1/3 | 2번 또는 3번 | 당첨 🚗 | 꽝 🐐 |
| 2번 | 1/3 | 3번(강제) | 꽝 🐐 | 당첨 🚗 |
| 3번 | 1/3 | 2번(강제) | 꽝 🐐 | 당첨 🚗 |
- 그대로 두기: 3번 중 1번만 당첨 → 1/3
- 바꾸기: 3번 중 2번 당첨 → 2/3
자동차가 1번에 있을 때만 “그대로”가 이기는데, 그건 처음에 1/3 확률로 맞힌 경우뿐입니다. 나머지 2/3의 경우(자동차가 2번·3번)에는 진행자가 강제로 정답 옆문을 남겨주므로 바꾸면 무조건 이깁니다.
5. 시뮬레이션으로 때려잡기 (에르되시도 이걸로 납득했다)
말로 안 되면 코드로. 폴 에르되시조차 컴퓨터 시뮬레이션을 보고서야 받아들였습니다. 파이썬으로 100만 번 돌려봅시다.
import random
def play_monty_hall(switch: bool) -> bool:
"""한 판 플레이. switch=True면 문을 바꾼다. 당첨이면 True 반환."""
doors = [0, 1, 2]
car = random.randint(0, 2) # 자동차 위치 (무작위)
choice = random.randint(0, 2) # 참가자의 첫 선택 (무작위)
# 진행자가 열 문: 참가자가 고르지 않았고 + 자동차도 아닌 문
openable = [d for d in doors if d != choice and d != car]
host_opens = random.choice(openable) # 둘이면 균등하게 하나 선택
if switch:
# 내 선택도 아니고, 진행자가 연 문도 아닌 나머지 하나로 바꿈
choice = next(d for d in doors if d != choice and d != host_opens)
return choice == car
N = 1_000_000
stay_wins = sum(play_monty_hall(switch=False) for _ in range(N))
switch_wins = sum(play_monty_hall(switch=True) for _ in range(N))
print(f"그대로 두기 승률: {stay_wins / N:.4f}") # ≈ 0.3333
print(f"바꾸기 승률: {switch_wins / N:.4f}") # ≈ 0.6667
출력은 항상 그대로 ≈ 0.333, 바꿈 ≈ 0.667로 수렴합니다. 이론값 1/3, 2/3와 정확히 일치하죠. 100만 번의 대수의 법칙 앞에서는 직관이 항복할 수밖에 없습니다.
6. 변형 문제 — 규칙이 바뀌면 답도 바뀐다
1절에서 “규칙이 전부”라고 했습니다. 표준 가정을 하나씩 깨보면 답이 어떻게 달라지는지가 이 문제의 진짜 깊이입니다.
6.1 진행자가 정답을 모를 때 (“몬티 폴 / Monty Fall” 문제)
진행자가 어느 문에 자동차가 있는지 모르고, 남은 두 문 중 하나를 무작위로 열었는데 우연히 염소가 나왔다면? 이때는 바꾸든 안 바꾸든 50:50입니다.
차이는 베이즈 우도에 있습니다. 진행자가 무작위로 열면 $P(H_3 \mid C_1) = P(H_3 \mid C_2) = \frac{1}{2}$로 우도가 같아집니다(자동차가 3번에 있었으면 자동차를 열어버려 이 시나리오 자체가 제외됨). 우도가 같으니 사후 확률도 1번·2번이 각각 1/2로 같아집니다. 즉 “진행자가 일부러 염소를 골랐다”는 정보가 사라지면 우위도 사라집니다. 정답을 아는 진행자의 의도적 선택이 2/3의 원천이었음을 거꾸로 증명하는 셈입니다.
6.2 진행자가 편향된 선택을 할 때 (매개변수 $q$)
참가자가 자동차 문(1번)을 골라 진행자가 2번·3번 중 고를 수 있을 때, 3번을 고를 확률을 $q$라 합시다(표준 가정에서는 $q = \frac{1}{2}$). 이때 진행자가 실제로 3번을 연 것을 관찰한 뒤 바꿔서 이길 조건부 확률은:
\[P(\text{바꿈 당첨} \mid H_3) = \frac{1}{1 + q}\]- $q = \frac{1}{2}$ (표준): $\frac{1}{1.5} = \frac{2}{3}$ ✓
- $q = 1$ (진행자가 가능하면 항상 3번 선호): $\frac{1}{2}$ — 이 경우엔 바꿔도 안 바꿔도 같음
- $q = 0$ (진행자가 3번을 피함 → 그래도 3번을 열었다면 강제였다는 뜻): $\frac{1}{1} = 1$ — 바꾸면 100% 당첨
흥미로운 사실: $q$가 무엇이든 게임 전체에 걸친 평균 승률은 항상 정확히 2/3로 유지됩니다. 변하는 것은 “3번이 열렸다는 특정 조건”에서의 조건부 확률뿐입니다. (출처: 위키백과 변형 절)
6.3 일반화 — 문이 $n$개일 때
문이 $n$개, 자동차 1대, 당신이 1개를 고른 뒤 진행자가 염소 문 1개를 열고, 남은 문 중 하나로 바꾼다면:
- 그대로: $\dfrac{1}{n}$
- 바꿈: $\dfrac{n-1}{n(n-2)}$
$n = 3$을 넣으면 $\frac{2}{3\cdot1} = \frac{2}{3}$로 원래 문제와 일치합니다. 2.2절의 “문 100개, 진행자가 98개를 여는” 버전은 진행자가 남은 문 중 하나만 빼고 전부 여는 더 극단적 변형으로, 이때 바꿈 승률은 $\frac{n-1}{n} = \frac{99}{100}$까지 치솟습니다.
7. 역사 — 천재들도 틀렸던 문제
- 1975년: 통계학자 스티브 셀빈(Steve Selvin)이 학술지 The American Statistician에 보낸 편지에서 처음 이 문제를 제기하고, 후속 편지에서 “몬티 홀 문제”라고 명명했습니다.
- 1990년 9월: 칼럼니스트 메릴린 보스 사반트(Marilyn vos Savant)가 Parade 잡지의 “Ask Marilyn” 칼럼에서 “바꾸는 것이 유리하다”고 답하며 대중적으로 폭발했습니다.
- 항의 폭주: 발표 후 약 1만 통의 편지가 쏟아졌고, 그중 박사 학위 소지자만 약 1,000명이 사반트가 틀렸다고 주장했습니다. (사반트가 맞았습니다.)
- 폴 에르되시: 평생 1,500편 가까운 논문을 쓴 전설적 수학자도 이 문제만큼은 컴퓨터 시뮬레이션을 보기 전까지 납득하지 못했습니다.
이 일화들은 “수학적 훈련이 잘 된 사람도 확률 직관에서는 똑같이 무너질 수 있다”는 점을 보여줍니다. 베이즈 정리 같은 형식적 도구가 직관의 빈틈을 메우는 이유가 여기 있습니다.
8. 마무리 — 이 문제가 개발자에게 주는 교훈
몬티 홀 문제는 단순한 퀴즈가 아니라, 조건부 확률과 정보 갱신의 본질을 담은 압축 파일입니다.
-
확률은 정보의 함수다. 문이 두 개 남았다고 50:50이 아닙니다. “어떻게 그 상태에 도달했는가”(진행자가 정답을 알고 의도적으로 골랐는가)가 확률을 결정합니다. A/B 테스트, 추천 시스템, 베이지안 필터를 다룰 때 똑같이 적용되는 원리입니다.
-
베이즈 정리는 직관의 교정 도구다. 우도 $P(E \mid H)$를 경우별로 정직하게 따지기만 하면, 직관이 헷갈리는 상황에서도 기계적으로 정답이 나옵니다.
-
막히면 시뮬레이션하라. 에르되시도 그랬습니다. 닫힌 형태 증명이 어렵거나 직관이 의심스러울 때, 몬테카를로 시뮬레이션은 가장 정직한 심판입니다.
다음에 누가 “문 두 개 남았으니 반반 아니냐”고 하면, 이 글의 3절을 펼쳐 베이즈 정리로 1/3 vs 2/3을 보여주세요. 그래도 안 믿으면 5절 코드를 100만 번 돌려주면 됩니다. 🚗
💬 Comments
GitHub 계정으로 댓글을 남길 수 있어요.