Зачем использовать метод Монте-Карло?
Когда следует использовать метод Монте-Карло?
Например, почему Джоэл решил использовать метод Монте-Карло для Основанный на фактических данных график вместо методической обработки всех пользовательских данных в прошлом год?
Ответы
Ответ 1
Предположим, что вы хотите оценить некоторое количество процентов. В примере Джоуля "дата отправки" - это то, что вы хотите оценить. В большинстве таких ситуаций существуют случайные факторы, которые влияют на наши оценки.
Когда у вас есть случайное количество, вы обычно хотите знать его среднее значение и стандартное отклонение, чтобы вы могли предпринять соответствующие действия. В простых ситуациях вы можете моделировать количество как стандартное распределение (например, нормальное распределение), для которого существуют аналитические формулы для среднего и стандартного отклонения. Однако существует множество ситуаций, когда аналитических формул не существует. В таких ситуациях вместо аналитического решения для среднего и стандартного отклонения мы прибегаем к моделированию. Идея такова:
Шаг 1: Сгенерировать факторы, которые влияют на количество процентов, используя соответствующие распределения
Шаг 2: Вычислить интересующее количество
Повторите шаги 1 и 2 многократно и вычислите эмпирическое среднее и стандартное отклонение для того, что вы хотите знать.
Вышеприведенное является типичным применением приложения monte carlo. См. Ссылку на wikipedia, предоставленную Jarrod для нескольких таких приложений, и некоторые примеры интересных приложений, где нет присущей случайности (например, оценка pi).
Ответ 2
Методы Монте-Карло обычно используются когда размерность проблемы слишком высока для традиционных схем. A большой вводный документ по этому вопросу - Перси Диаконис Революция Марковской цепи Монте-Карло.
Ответ 3
Wikipedia содержит хорошую статью о методах моделирования monte carlo. Я использовал monte carlo несколько раз - в двух словах MC-методы, как правило, дают точные ответы, когда вы пытаетесь проецировать результаты с использованием наборов образцов, которые в значительной степени случайны, и кто-то обычно использует интуицию, чтобы попытаться угадать тенденцию. К сожалению, попытка объяснить методы MC довольно жесткая, поэтому ознакомьтесь с этой статьей.
Ответ 4
Иногда проверка всех параметров просто запретительна.
Ответ 5
Поскольку оценки, как правило, довольно широко распространены при планировании задач программирования, имеет смысл рассматривать их статистически.
Если мы возьмем проект, который принимает 100 задач, ошибки в оценках будут выровнены, и вы получите распределение, которое показывает вероятность завершения проекта как диапазона.
Он также обходит некоторые серьезные проблемы, такие как буферизация задач и синдром учащегося, еще более усугубляя результаты.