- А какие задачи решаются методом Монте-Карло?
- В пятидесятые годы XX столетия расцвет метода Монте-Карло был связан с разработкой проблемы защиты ядерных реакторов. Прежде чем конструировать системы защиты от излучения «в железе», проводились компьютерные расчеты на основе математической модели процесса, схематично выглядевшей следующим образом.
Излучение трактовалось как поток малых частиц («фотонов»), пролетающих сквозь слой защиты, в котором хаотично расположены крупные частицы. «Фотон», сталкиваясь с крупной частицей, либо захватывается ею («поглощается»), либо рассеивается по некоторому вероятностному закону. Можно проследить (реализовав на компьютере) траектории фотонов и подсчитать, какая доля фотонов поглощается в слое защиты. Если эта доля близка к единице, то защита может считаться хорошей.
При реализации траектории «фотона» до поглощения нужны выборочные значения случайных величин с различными законами распределения. Для получения таких значений используют преобразования стандартных случайных чисел αj.
Далее выяснилось, что с описанным случайным процессом движения «фотонов» можно соотнести определенное уравнение (интегральное уравнение Фредгольма второго рода), на основе которого можно строить так называемые весовые оценки для вычисления требуемых характеристик (функционалов) физического процесса. Введение весов позволяет в ряде случаев упростить компьютерную реализацию траекторий «фотонов».
Вычисляемые в данной задаче характеристики (функционалы) можно также трактовать как сумму интегралов бесконечной кратности.
Вообще в литературе метод Монте-Карло обычно представляется как специальный способ вычисления многократных интегралов. Часто для иллюстрации рисуют такую картинку.
Предположим, нам нужно вычислить интеграл, равный площади S под кривой, изображенной на рисунке. Для этого поместим ее в прямоугольник с известной площадью U, и будем кидать в него равномерно распределенные случайные точки. Понятно, что вероятность P попадания случайной точки в интересующую нас область равна отношению площади этой области к площади прямоугольника: P = S/U. Реализуем большое количество точек N, и подсчитаем, какое количество точек K попадет под кривую. Частота K/N попадания случайных точек под кривую приближает вероятность P, и поэтому S/U ≈ K/N, а искомый интеграл приближенно равен S ≈ KU/N.
На самом деле даже в этом простейшем одномерном случае можно строить более «хитрые» весовые оценки интеграла S, позволяющие получить требуемый уровень погрешности приближения интеграла с меньшими затратами (в первую очередь — с меньшим количеством реализуемых случайных точек).
Одним из главных недостатков метода Монте-Карло является относительно медленное убывание погрешности приближения требуемой величины с ростом числа n реализаций случайных траекторий (точек). Эта погрешность убывает со скоростью n-1/2. То есть для уменьшения погрешности в десять раз требуется взять в среднем в 100 раз больше траекторий (точек). Поэтому многие сложные прикладные задачи решаются долго — иногда сутками (даже на современных суперкомпьютерах).
Для ряда «простых» задач (например, для задачи вычисления интеграла малой кратности с «хорошей», гладкой подынтегральной функцией) метод Монте-Карло проигрывает по эффективности детерминированным (как правило, сеточным) вычислительным методам.
Однако для большого класса весьма актуальных задач, связанных с вычислением многократных (даже бесконечнократных) интегралов или функционалов от решений интегральных уравнений и включающих негладкие входные данные, метод Монте-Карло практически не имеет конкурентов.
Можно также отметить, что методы Монте-Карло стремительно расширяют сферу применения. Эффективные алгоритмы численного статистического моделирования разработаны в физической и химической кинетике, статистической физике, теории массового обслуживания, финансовой математике, теории турбулентности, математической биологии и других областях.