Наступна проблема була розміщена на сторінці Mensa International у Facebook:
Сама публікація отримала 1000+ коментарів, але я не буду вникати в деталі щодо дебатів там, оскільки знаю, що це парадокс Бертранда, і відповідь - . Що мене тут цікавить - це як можна відповісти на цю проблему, використовуючи підхід Монте-Карло? Як алгоритм вирішення цієї проблеми?
Ось моя спроба:
- Утворіть рівномірно розподілених випадкових чисел між і .
- Нехай подія в коробці містить 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-х коробок? Якщо так, то чому це потрібно, оскільки ми знаємо, що ви вже вибрали золоту кульку?