Sobes.tech
Back to questions
Middle — Middle+
78

Каким образом можно проверить правильность решения задачи Монти Холла?

Companies where asked
ИннотехИннотех

Answer from AI

sobes.tech AI

Для проверки правильности решения задачи Монти Холла обычно используют статистическое моделирование (симуляцию). Идея в том, чтобы многократно прогонять эксперимент с разными стратегиями (например, всегда менять выбор двери или всегда оставаться при первом выборе) и сравнивать результаты.

Пример на Python:

import random

def monty_hall_simulation(change_choice, trials=10000):
    wins = 0
    for _ in range(trials):
        prize = random.randint(0, 2)  # дверь с призом
        choice = random.randint(0, 2)  # выбор игрока

        # Ведущий открывает дверь без приза и не выбранную игроком
        remaining_doors = [d for d in range(3) if d != choice and d != prize]
        opened = random.choice(remaining_doors)

        if change_choice:
            # Игрок меняет выбор на оставшуюся закрытую дверь
            choice = next(d for d in range(3) if d != choice and d != opened)

        if choice == prize:
            wins += 1
    return wins / trials

print("Вероятность выигрыша при смене выбора:", monty_hall_simulation(True))
print("Вероятность выигрыша без смены выбора:", monty_hall_simulation(False))

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