Собесов

Хабр Статистика — парадокс Монти-Холла

Статистика и теорверПарадоксыСредняяJunior

Условие

Три двери, за одной — машина, за двумя — козы. Вы выбираете дверь №1. Ведущий, знающий, где машина, открывает дверь №3, за которой коза. Стоит ли менять выбор на дверь №2?

Решение

Короткий ответ

Да, стоит — это удваивает вероятность выигрыша.

  • Остаться с дверью №1 → P(машина) = 1/3.
  • Перейти на дверь №2 → P(машина) = 2/3.

Почему 2/3

Изначально:

  • P(машина за дверью 1) = 1/3.
  • P(машина за дверью 2 или 3) = 2/3.

Ведущий, зная расположение, всегда открывает дверь с козой среди двух не-выбранных. Это не даёт случайной информации о двери 1 — её вероятность остаётся 1/3. Вся вероятность «машина не за дверью 1» (= 2/3) теперь сосредоточена на оставшейся не-открытой двери 2.

Симуляция

import random
 
def play(switch):
    car = random.randint(1, 3)
    choice = random.randint(1, 3)
    # ведущий открывает дверь, которая не выбрана и не машина
    opens = next(d for d in [1, 2, 3] if d != choice and d != car)
    if switch:
        choice = next(d for d in [1, 2, 3] if d != choice and d != opens)
    return choice == car
 
stay = sum(play(False) for _ in range(100000)) / 100000
swap = sum(play(True)  for _ in range(100000)) / 100000
print(stay, swap)   # ≈ 0.333, ≈ 0.666

Через Байес

H_i = «машина за дверью i». Событие E = «ведущий открыл дверь 3». Допустим, выбрали дверь 1.

  • P(E | H_1) = 1/2 (ведущий выбирает между 2 и 3 случайно — нет машины ни там, ни там).
  • P(E | H_2) = 1 (если машина за 2, ведущий обязан открыть 3).
  • P(E | H_3) = 0 (машина за 3 — её ведущий не открывает).
P(H_2 | E) = (1 · 1/3) / (1/2·1/3 + 1·1/3 + 0·1/3) = (1/3) / (1/2) = 2/3
P(H_1 | E) = (1/2 · 1/3) / (1/2) = 1/3

Условие, при котором ответ «50/50»

Если ведущий открывает дверь случайно среди всех не-выбранных, и так получилось, что там оказалась коза — задача меняется. Тогда P(машина за 1) = P(машина за 2) = 1/2.

Ключевое условие классического парадокса — ведущий знает и не открывает машину.

Обобщение: N дверей

При N дверях:

  • Не менять → 1/N;
  • Менять → (N-1)/N (после открытия всех N-2 коз).

При N=100 — менять с 1/100 на 99/100. Здесь уже понятно интуитивно: «откуда мне знать, какая из 99 не-выбранных? а ведущий открыл 98 — значит, в оставшейся высока вероятность машины».

Подводные камни

  1. Игнорирование информации о ведущем. Все рассуждения «теперь 2 двери, значит 50/50» забывают, что выбор ведущего не случайный.
  2. Применять к «случайному» ведущему. Если ведущий мог бы случайно открыть машину — игра другая.
  3. «Двери поменяли, шансы не должны меняться». Шансы меняются, потому что новая дверь — это не «случайная из двух», а конкретная сохранённая после селективного раскрытия.
  4. Симуляция помогает разрушить недоверие — на собеседовании можно за минуту сделать симуляцию.

Эталонный ответ

Менять надо. P(машина | смена) = 2/3 vs P(машина | остаться) = 1/3. Ведущий — не случайный, он знает и selectively сохраняет дверь с машиной, если она была не у вас. Вся не-вашему-выбору вероятность 2/3 «сжимается» на оставшейся двери.

Хочешь увидеть разбор?

Зарегистрируйся бесплатно — откроется развёрнутое решение этой задачи и ещё 4 на выбор.

Зарегистрироваться и увидеть разбор
Уже есть аккаунт? Войти