Следующая проблема была размещена на Mensa International на странице Facebook:
Само сообщение получило более 1000 комментариев, но я не буду вдаваться в подробности о дебатах, поскольку знаю, что это парадокс Бертранда и ответ . Что меня здесь интересует, так это то, как можно решить эту проблему, используя подход Монте-Карло? Как работает алгоритм для решения этой проблемы?
Вот моя попытка:
- Генерация равномерно распределенных случайных чисел от до .0 1
- Пусть событие коробки содержит 2 выбранных золотых шара (поле 1) меньше половины.
- Подсчитайте число , что меньше , чем и вызвать результат в виде .с
- Так как получение золотого шара является гарантией, если выбран ящик 1, и только 50% шанс получить золотой шар, если выбран ящик 2, следовательно, вероятность получения последовательности GG равна
Реализуя алгоритм выше в R:
N <- 10000
S <- sum(runif(N)<0.5)
S/(S+0.5*(N-S))
Вывод программы выше составляет около что почти соответствует правильному ответу, но я не уверен, что это правильный путь. Есть ли правильный способ решить эту проблему программно?
x <- boxes[[sample(3, 1)]]
вы берете коробку из 3 коробок? Если так, то почему это необходимо, поскольку мы знаем, что вы уже выбрали золотой шар?