Парадокс Монти Холла

— «Видел видео?»
— «Какое?»
— «Я вообще не понимаю как такое возможно…»
И понеслось.



Немного о том, что из себя представляет парадокс:

Представьте, что вы стали участником игры, в которой вам нужно выбрать одну из трёх дверей. За одной из дверей находится автомобиль, за двумя другими дверями — козы. Вы выбираете одну из дверей, например, номер 1, после этого ведущий, который знает, где находится автомобиль, а где — козы, открывает одну из оставшихся дверей, например, номер 3, за которой находится коза. После этого он спрашивает вас — не желаете ли вы изменить свой выбор и выбрать дверь номер 2? Увеличатся ли ваши шансы выиграть автомобиль, если вы примете предложение ведущего и измените свой выбор?
Источник: Педивикия

Сначала рассмотрим классическую формулировку парадокса, т.е. всего 3 двери.

Дверь 1 Дверь 2 Дверь 3 Менять выбор Не менять выбор
Вариант 1 Автомобиль 🚗
Козел 🐐
Козел 🐐
0
1
Вариант 2 Козел 🐐
Автомобиль 🚗
Козел 🐐
1 0
Вариант 3 Козел 🐐
Козел 🐐
Автомобиль 🚗
1
0
≈0.667 ≈0.334

Первым делом выбираем дверь. В нашей таблице выбор всегда падает на дверь 1.
Если за первой дверью скрывалась машина, то менять свой выбор явно не стоит. Но такая ситуация встречается лишь один раз. В остальных случаях — смена выбора принесет нам победу. Почему так происходит? Все из-за того, что ведущий откроет дверь с козлом. В вариантах 2 и 3, ведущий тем самым оставит нам дверь в автомобилем. Нам останется (в варианте 2 и 3) сменить выбор на автомобиль.

Т.е. для ситуации, когда мы меняем выбор — у нас две выигрышные позиции (из трех), когда мы не меняем — у нас одна выигрышная позиция . Из чего следует, что вероятность выигрыша, если мы меняем выбор, наивысшая и равна 0.66.

Отлично. С тремя дверями разобрались. Как дела обстоят с 4, 5, 8 … 100?
Чтобы было проще создать модель, по который мы будем вычислять, составим таблицу с четырьмя дверями:

Дверь 1 Дверь 2 Дверь 3 Дверь 4 Менять выбор Не менять выбор
Вариант 1 Автомобиль 🚗
Козел 🐐
Козел 🐐
Козел 🐐 0
1
Вариант 2 Козел 🐐
Автомобиль 🚗
Козел 🐐
Козел 🐐 0.5 0
Вариант 3 Козел 🐐
Козел 🐐
Автомобиль 🚗
Козел 🐐 0.5
0
Вариант 4 Козел 🐐 Козел 🐐 Козел 🐐 Автомобиль 🚗
0.5
0
0.375 0.25

Теперь, если автомобиль оказался не за первой дверью (которую мы выбираем), вероятность выиграть стала 0.5. Не сложно посчитать что общая вероятность выиграть теперь: \(\frac{1}{0.5 * 3} = 0.375\)
Составим формулу, по которой сможем смело вычислять вероятность выигрыша, если мы меняем выбор:

$$P(A)=\frac{d-1}{(d-2)*d}$$
где A — событие выигрыша, d — количество дверей.

Если мы не меняем выбор: \[P(A)=\frac{1}{d}\]

А теперь самое интересное. Напишем программу, которая будет проводить вычисления быстро и красиво.

// Вычисление вероятности выигрыша по
// парадоксу Монти Холла
#include <iostream>
using namespace std;
int main() {
  int doors;
  // Ввод
  printf("Doors: ");
  scanf("%d", &doors);
  // Вычисления
  double q = 1.0f / (doors - 2);
  double a = (q * (doors - 1)) / doors;
  double b = 1.0f / doors;
  // Ответ
  printf("change: %f  /  not change: %f", a, b);
  return 0;
}
// by @mvodya with @ProudKingLion

Немного поигравшись программой, узнаем:

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

07.08.2018
Магия