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