Метод Монте-Карло

 

Метод Монте-Карло является весьма популярным методом в математическом моделировании физических задач и основывается на проведении серии статистических испытаний. Метод Монте-Карло является самостоятельным методом и не относится к числу методов раздела математики, называемого “Численные методы”.

Проиллюстрируем метод на примере следующей задачи. Каким образом можно измерить площадь озера, имея только кучу камней? Предположим, что озеро расположено на поле известной площади S.

Если бросать камни произвольным образом в пределы озера, то часть камней попадет в озеро. Тогда площадь озера приблизительно равна площади поля, умноженной на долю камней, попавших в озеро. Если n – количество брошенных камней, а m – количество камней, попавших в озеро, то площадь озера будет определяться формулой S озера = S*m /n.

 

Рис. 5.6

 

Рассмотрим данный метод применительно к вычислению определенного интеграла (рис. 5.7).

 

 

 

S=H(b-a)

 

 

Рис. 5.7

Площадь прямоугольника, ограниченного линиями y=H, y=0, x=a, x=b, равна S. Площадь под кривой y=f(x) на интервале (a,b) равна F.

Будем генерировать n пар случайных чисел xi, yi (I=1, 2,…n), таких, что:

A £xi£ b, 0 £yi£ H. (5.19)

Доля m пар точек (xi,yi), которые удовлетворяют условию

yi£ f(xi), (5.20)

представляют собой отношение интеграла F к площади прямоугольника S.

Отсюда оценка интеграла методом Монте-Карло определяется выражением

, (5.21)

где Fn=H(b-a)*m/n, m – доля точек, удовлетворяющих условию (5.20); n – общее количество сгенерированных пар точек (xi,yi), удовлетворяющих условию (5.19).

Другая разновидность метода Монте-Карло основывается на теореме, гласящей, что оценка определенного интеграла определяется следующей формулой:

» < f > *(b-a), (5.22)

где < f > – среднее значение функции f(x) на интервале (a,b).

Для вычисления < f > будем генерировать случайные числа xi, удовлетворяющие условию a £ xi £ b, и вычислять значения функции f(xi) в этих точках. Тогда оценка одномерного интеграла будет иметь вид

» Fn=< f > (b-a)= (b-a)*1/n (5.23)

где xi – случайные числа; n – число испытаний.

Данный метод называется методом выборочного среднего.

Рассмотрим вопрос точности вычисления интегралов методом Монте-Карло. Понятно, что чем больше случайных точек мы сгенерируем, тем точнее будет оценка интеграла, причем можно показать, что точное значение интеграла F лежит в некотором интервале с центром в точке Fn:

FÎ(Fn-sn, Fn+sn).

Здесь sn=s/n,

где s – это дисперсия; n – число испытаний.

Дисперсия s определяется по формулам:

 

s2=< f 2> - < f >2, (5.24)

< f > = , (5.24а)

< f >2 = . (5.24б)