몬티 홀 문제
직감과 논리
둘 중 어느 것을 따라야할까?
나는 논리적으로 재고 따지기 보다는 직감에 따라 움직이는 경향이 있는 사람이다.
매 선택의 순간마다 왠지 모르게 조금 더 끌리는 선택지가 존재하고,
그걸 따를 때 시원한 느낌이 있는 반면,
반대의 결정을 하려고 하면 묘하게 찝-찝 하다.
소위 말하는 '느낌적인 느낌'을 따르는 것을 좋아하는데,
문제는 이렇게 결정을 내려서 성공하는 경우가 별로 많지 않다는 것이다 😅
최근에도 비슷한 일이 있었다.
친구가 가상의 상황을 제시하며, 나라면 어떤 선택을 할지 물었다.
나는 신중하게 판단해서 내 선택을 말했지만,
알고보니 그 선택은 당첨 확률을 33%나 떨어뜨리는 선택이었다.
친구가 말해준 문제는 바로 유명한 확률 역설인, '몬티홀 문제'였다.
[몬티 홀 문제 요약]
1. 세 개의 문 중 하나에 자동차가 숨겨져 있다.
2. 내가 문 하나를 고른다.
3. 진행자가 나머지 두 문 중 염소가 있는 문 하나를 연다.
4. 나는 남은 두 문 중 바꿀지 말지 선택한다.
(몬티 홀 이라는 사람이 진행하는 쇼에서 실제로 진행했던 게임이라서 몬티 홀 문제라는 이름이 붙여졌다)
나는 처음 선택을 고수할 것이라고 말했다.
왜냐하면 어차피 문이 두 개 남았고 자동차는 둘 중 하나에 있으니 확률은 50% 이고,
만약 선택을 바꿨는데 원래 문 뒤에 자동차가 있었으면 상실감이 훨씬 클 것 같았기 때문이다.
그런데 실제로는 무조건 바꾸어야 이득이다.
선택을 바꾸면 자동차를 고를 확률이 1/3에서 2/3 로 상승한다
왜일까?
"문이 두 개, 자동차가 하나니까 어차피 확률 1/2 아닌가?"
그렇지 않다. 왜냐하면,
- 문이 열리기 전에 이미 나의 선택은 정답일 확률 1/3, 오답일 확률 2/3로 고정되어 있었고,
- 진행자가 일부러 정답이 아닌 문을 골라 제거했기 때문에,
- 정답이 처음 선택한 문이 아닌 다른 곳에 있을 가능성 2/3 가 남은 문 하나에 그대로 집중된다
[파이썬 코드로 시뮬레이션]
검색을 통해 왜 확률이 저렇게 나오는지 어느정도 이해했지만
여전히 마음에서 우러나오는 공감이되지 않아서
파이썬 코드로 확인해봤다.
from itertools import product
# 문 번호: 0, 1, 2
doors = [0, 1, 2]
results = []
# 모든 경우의 수 (정답 위치 x 처음 선택)
for prize, first_choice in product(doors, repeat=2):
# 진행자는 염소가 있는 문 중에서, first_choice도 아니고 prize도 아닌 문을 연다
possible_doors = [d for d in doors if d != first_choice and d != prize]
if len(possible_doors) == 0:
revealed = [d for d in doors if d != first_choice][0] # 둘 다 염소면 아무거나
else:
revealed = possible_doors[0] # 확정된 염소 문
switch_choice = [d for d in doors if d != first_choice and d != revealed][0]
stay_win = (first_choice == prize)
switch_win = (switch_choice == prize)
results.append({
'prize': prize,
'first_choice': first_choice,
'revealed': revealed,
'switch_choice': switch_choice,
'stay_win': stay_win,
'switch_win': switch_win,
})
stay_wins = sum(r['stay_win'] for r in results)
switch_wins = sum(r['switch_win'] for r in results)
print(f"총 경우의 수: {len(results)}")
print(f"처음 선택 유지 시 승리: {stay_wins}회 ({stay_wins / len(results):.0%})")
print(f"선택을 바꿨을 때 승리: {switch_wins}회 ({switch_wins / len(results):.0%})")
코드를 돌려보니 확실히 선택을 바꾸는 쪽이 유리하다. 신기하다 👍
사실 직감이 단순히 근거 없는 끌림이라고는 생각하지 않는다.
지금까지의 삶에서 쌓인 경험들을 바탕으로, 뇌가 아주 빠르게 판단을 내리는 과정이라고 믿는다.
다만 그 판단의 이유를 명확히 이해하거나 설명할 수 없기 때문에, 그것을 '끌림' 혹은 '직감'으로 느낄 뿐이다.
그렇기에 본능적인 선택이 도움이 되는 순간도 분명히 존재한다.
하지만 모든 상황이 그런 것은 아니다.
특히 몬티 홀 문제와 같이 명확한 계산이 가능한 상황이라면, 본능에만 의존하기보다
잠시 숨을 돌리고 계산해보는 습관을 들이는 것이 좋을 것 같다.