Вычисление числа Пи при помощи метода Монте-Карло

Предположим, что перед Вами встала такая задача, как приближенное вычисление числа Пи. Например, вы получили ее на собеседовании. Метод Монте-Карло довольно прост в понимании и реализации, поэтому именно его мы и выбрали в качестве темы данной статьи.

Итак, суть метода сводится к следующему. Допустим, что у нас есть квадрат со стороной a = 2R. Мы вписываем в него окружность и начинаем генерировать точки из диапазона [-a; a]. Считаем количество точек, попавших в круг. Это значение нам пригодится. Если вы вдруг подзабыли курс математики, то напомним, что окружность описывается уравнением x2 + y2 = r2. Соответственно, точка находится внутри окружности, если значение x2 + y2 <= r2.

монте-карло

Площадь круга рассчитывается по формуле Sкр. = pi * R2 .

Площадь квадрата равна Sкв. = a2 = (2R)2 = 4R.

Вероятность попадания точки в круг равна отношению площадей квадрата и круга:

p = Sкр./Sкв. = pi * R2 / 4R2 = pi/4.

В итоге получается, что при большом количестве точек вероятность попадания в круг можно посчитать как отношение точек, попавших в круг и общего количества точек.

p = Nкр./Nточек.

То есть:

pi/4 = Nкр./Nточек

И в итоге мы получаем окончательную формулу для вычисления числа Пи при помощи метода Монте-Карло:

pi = 4*Nкр./Nточек.

Теперь реализуем данный метод на языке Java. Радиус возьмем единичный.

Первые десять полученных с помощью данного метода результатов отражены в таблице ниже.

Число точек Радиус Значение числа Пи
20000 1 3.1474
40000 1 3.1487
60000 1 3.1352
80000 1 3.14255
100000 1 3.14748
120000 1 3.139
140000 1 3.14605
160000 1 3.1371
180000 1 3.13956
200000 1 3.14352

На этом наш урок закончен. До встречи в следующих статьях!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *