Перейти к содержимому

Задача Монти Холла: почему интуиция подводит

2 минуты чтения
Содержание

Три двери. За одной — машина, за двумя — козы. Вы выбираете дверь 1. Ведущий (который знает, где машина) открывает одну из оставшихся — скажем, дверь 3 — и там коза. Он предлагает: «Хотите поменять выбор на дверь 2?»

Интуиция кричит: «Дверей теперь две, шансы 50/50, нет разницы». Интуиция ошибается. Менять выгодно: вероятность выиграть удваивается с 13\tfrac{1}{3} до 23\tfrac{2}{3}.

Почему так

Ключ — ведущий не случайный. Он знает расположение и всегда открывает дверь с козой. Эта информация меняет распределение вероятностей.

Обозначим:

  • CiC_i — «машина за дверью ii»,
  • H3H_3 — «ведущий открыл дверь 3».

Изначально: P(C1)=P(C2)=P(C3)=13P(C_1) = P(C_2) = P(C_3) = \tfrac{1}{3}.

Посчитаем P(H3Ci)P(H_3 \mid C_i):

  • Если машина за дверью 1 (наш выбор) — ведущему всё равно, открыть 2 или 3, значит P(H3C1)=12P(H_3 \mid C_1) = \tfrac{1}{2}.
  • Если машина за дверью 2 — ведущий обязан открыть 3 (не может раскрыть машину и не может открыть наш выбор): P(H3C2)=1P(H_3 \mid C_2) = 1.
  • Если машина за дверью 3 — ведущий её не откроет: P(H3C3)=0P(H_3 \mid C_3) = 0.

По теореме Байеса:

P(C2H3)=P(H3C2)P(C2)P(H3)P(C_2 \mid H_3) = \frac{P(H_3 \mid C_2) \cdot P(C_2)}{P(H_3)}

P(H3)=1213+113+013=12P(H_3) = \tfrac{1}{2} \cdot \tfrac{1}{3} + 1 \cdot \tfrac{1}{3} + 0 \cdot \tfrac{1}{3} = \tfrac{1}{2}.

Тогда:

P(C2H3)=11312=23P(C_2 \mid H_3) = \frac{1 \cdot \tfrac{1}{3}}{\tfrac{1}{2}} = \frac{2}{3}

А P(C1H3)=121312=13P(C_1 \mid H_3) = \tfrac{\tfrac{1}{2} \cdot \tfrac{1}{3}}{\tfrac{1}{2}} = \tfrac{1}{3}.

Поменять дверь — удвоить вероятность выигрыша.

На пальцах

Проще всего увидеть так: когда вы выбрали дверь 1, все 23\tfrac{2}{3} вероятности «машина не там» распределены между дверями 2 и 3. Ведущий убирает одну заведомо пустую — и вся эта 23\tfrac{2}{3}-вероятность стягивается на оставшуюся дверь. Ваша изначальная 13\tfrac{1}{3} никуда не двинулась.

Визуально:

Исходное:     [1/3] [1/3] [1/3]
Вы выбрали:   [1/3] [   2/3   ]  ← на двух оставшихся
Ведущий убрал козу → вся масса стекает на оставшуюся дверь:
После:        [1/3] [2/3] [--- ]

Симуляция

Если формулы не убеждают — симуляция убеждает всех:

import random

def play(switch: bool) -> bool:
    car = random.randint(1, 3)
    choice = random.randint(1, 3)
    # Ведущий открывает дверь, которая не совпадает с выбором и не прячет машину
    host_options = [d for d in (1, 2, 3) if d != choice and d != car]
    host_opens = random.choice(host_options)
    if switch:
        choice = next(d for d in (1, 2, 3) if d != choice and d != host_opens)
    return choice == car

N = 100_000
wins_stay = sum(play(switch=False) for _ in range(N))
wins_switch = sum(play(switch=True) for _ in range(N))
print(f"Не меняем: {wins_stay / N:.3f}")   # ≈ 0.333
print(f"Меняем:    {wins_switch / N:.3f}") # ≈ 0.667

Что спас условие «ведущий знает»

Сломайте это условие — и парадокс исчезнет. Если ведущий выбирает дверь случайно и иногда раскрывает машину (мы отбрасываем такие игры), то среди оставшихся игр условные вероятности уже 12\tfrac{1}{2} и 12\tfrac{1}{2}. Информация, которую вносит намеренное действие знающего агента, — и есть механика парадокса.

Почему это важно за пределами игры

Монти Холл — учебный пример того, что условные вероятности не совпадают с безусловными, и что апдейт веры на новой информации нужно делать аккуратно. Ровно этот же механизм работает в:

  • диагностике (теорема Байеса для тестов на болезни),
  • модерации (какова вероятность, что пользователь токсичный, при данном сигнале),
  • fraud-детекции (ложноположительные срабатывания).

Интуиция натренирована на простых независимых событиях. Как только появляется агент, знающий больше вас, — доверять ей нельзя.