Научная статья на тему 'ВЫЧИСЛЕНИЕ ИНТЕГРАЛОВ ПО МЕТОДУ МОНТЕ-КАРЛО'

ВЫЧИСЛЕНИЕ ИНТЕГРАЛОВ ПО МЕТОДУ МОНТЕ-КАРЛО Текст научной статьи по специальности «Математика»

CC BY
992
81
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
E-Scio
Область наук
Ключевые слова
МЕТОД МОНТЕ-КАРЛО / ВЫЧИСЛЕНИЕ ЧИСЛА ПИ / ВЫЧИСЛЕНИЕ КРАТНЫХ ИНТЕГРАЛОВ / ВЕРОЯТНОСТНЫЙ МЕТОД

Аннотация научной статьи по математике, автор научной работы — Мадебейкин Арсентий Анатольевич, Суханов Артем Алексеевич

В жизни часто возникают такие задачи, которые практически невозможно решить с помощью определённых алгоритмов и методов. К примеру, вычислить более точно площадь поверхности горы или массу газа в комнате. Такие задачи можно свести к вычислению кратных интегралов, подметив, что поверхность горы абсолютно гладкая, а газ заполняет абсолютно всю комнату и имеет одну и ту же плотность. Однако в реальной жизни это не так и конечные результаты будут иметь большую погрешность. Поэтому в таком случае нужно применить метод, который сможет учесть более приближенную к реальности форму и поверхность исследуемого объекта и проинтегрировать его. Одним из них является метод Монте-Карло.In life, such problems often arise that are almost impossible to solve with the help of certain algorithms and methods. For example, calculate more accurately the surface area of a mountain or the mass of gas in a room. Such problems can be reduced to the calculation of multiples of integrals, noting that the surface of the mountain is absolutely smooth, and the gas fills absolutely the entire room and has the same density. However, in real life, this is not the case and the end results will have a large margin of error. Therefore, in this case, it is necessary to apply a method that can take into account the shape and surface of the object under study that is closer to reality and integrate it. One of them is the Monte Carlo method.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Мадебейкин Арсентий Анатольевич, Суханов Артем Алексеевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «ВЫЧИСЛЕНИЕ ИНТЕГРАЛОВ ПО МЕТОДУ МОНТЕ-КАРЛО»

УДК 519.2

Математические науки

Мадебейкин Арсентий Анатольевич, студент 1 курса ФГБОУ ВО «УГТУ», г. Ухта, РФ Суханов Артем Алексеевич, студент 1 курса ФГБОУ ВО «УГТУ», г. Ухта, РФ Пармузина Мария Семеновна, научный руководитель, доцент кафедры высшей математики, ФГБОУ ВО «УГТУ», г. Ухта, РФ

ВЫЧИСЛЕНИЕ ИНТЕГРАЛОВ ПО МЕТОДУ МОНТЕ-КАРЛО

Аннотация: В жизни часто возникают такие задачи, которые практически невозможно решить с помощью определённых алгоритмов и методов. К примеру, вычислить более точно площадь поверхности горы или массу газа в комнате. Такие задачи можно свести к вычислению кратных интегралов, подметив, что поверхность горы абсолютно гладкая, а газ заполняет абсолютно всю комнату и имеет одну и ту же плотность. Однако в реальной жизни это не так и конечные результаты будут иметь большую погрешность. Поэтому в таком случае нужно применить метод, который сможет учесть более приближенную к реальности форму и поверхность исследуемого объекта и проинтегрировать его. Одним из них является метод Монте-Карло.

Ключевые слова: Метод Монте-Карло, вычисление числа пи, вычисление кратных интегралов, вероятностный метод.

Abstract: In life, such problems often arise that are almost impossible to solve with the help of certain algorithms and methods. For example, calculate more accurately the surface area of a mountain or the mass of gas in a room. Such problems can be reduced to the calculation of multiples of integrals, noting that the surface of the mountain is absolutely smooth, and the gas fills absolutely the entire

room and has the same density. However, in real life, this is not the case and the end results will have a large margin of error. Therefore, in this case, it is necessary to apply a method that can take into account the shape and surface of the object under study that is closer to reality and integrate it. One of them is the Monte Carlo method.

Keywords: Monte Carlo method, calculation of pi, calculation of multiple integrals, probabilistic method.

Метод Монте-Карло - это совокупность численных методов, предназначенных для получения вероятностного (стохастического) результата случайных процессов и его изучения. Чаще всего этот метод используют для решения задач в областях физики, математики, экономики, оптимизации, теории управления.

Датой рождения метода Монте-Карло принято считать 1949 год, когда появилась статья с одноименным названием «Метод Монте-Карло». Пионерами этого метода являются венгерско-американский математик, физик и педагог Джон фон Нейман и польско-американский математик Станислав Улам. В 1955-1956 годах в СССР были опубликованы и напечатаны первые статьи о методе Монте-Карло. Но теоретические основы данного метода были известны уже давно. В 1879 году идея использования случайных явлений в области приближенных вычислений утвердилась, когда появилась работа Холла по нахождению числа п путем случайного бросания иглы на бумагу, отмеченную параллельными линиями. Суть исследования заключалась в том, чтобы экспериментально воссоздать событие, вероятность которого выражается числом, и приблизительно оценить эту вероятность. Само название этой техники связано с городом княжества Монако - Монте-Карло, известным своими игорными домами. И более очевидно предположить, что он использовался для расчета вероятности выигрыша в данной игре. Первоначально метод Монте-Карло применялся в основном для решения задач нейтронной физики, где стандартные численные методы оказались малопригодными.

До появления электронно-вычислительных машин (ЭВМ) этот метод не мог получить широкого распространения, так как ручное моделирование случайных величин является очень трудоемкой и изнурительной работой. Поэтому появление метода Монте-Карло как весьма универсального численного метода стало возможным благодаря появлению компьютеров. Метод Монте-Карло оказал и продолжает оказывать существенное влияние на развитие методов вычислительной математики (например, на разработку методов численного интегрирования, о которых пойдет речь в этой статье) и при решении многих задач успешно сочетается с другие методы расчета и дополняет их. Его использование в основном оправдано в задачах, допускающих вероятностное описание. Это объясняется как естественным характером получения ответа с заданной вероятностью в задачах вероятностного содержания, так и существенным упрощением процедуры решения.

Для начала, мы попробуем построить метод Монте-Карло на примере вычисления числа п. А для этого мы построим круг c центром О, радиус которого равен г = 1 (рисунок 1). Площадь четверти круга у нас будет равна

1 7И*2

8= — —г2 = Если у нас радиус г = 1, то эта формула получит вид 8= —

Затем мы создадим единичный квадрат с точками ОАВС. Его площадь, логично, будет равна 1. И внутрь этого квадрата мы будем случайным образом расставлять точки, координаты которых должны быть 0 < х < 1 и. 0 < у < 1. Допустим, что было испытано N точек, п из которых попало в область круга, т. е. соответствуют равенству х2 + у2 < 1. Таким образом, при достаточно

большом количестве значений N будет верно равенство ^ « —. Следовательно,

4п

получаем формулу нахождения числа п « —.

N

2

• \ * * \ * * V * * * * 1

-2 \l -и 0 )

Рисунок 3 - Окружность с радиусом 1

Проведем описанный выше алгоритм вычисления числа п в программе MS Excel. Для этого составим таблицу со случайными числами x и y (с помощью функции СЛЧИС()) - общее количество точек N, а в соседнем столбце рассчитаем количество точек n, которые удовлетворяют условию x2 + у2 < 1 (с помощью функции ЕСЛИ(А2А2+В2А2<=1; 1 ;0)).

А В С

1 X У условие

2 0,987451 0,37509 0

3 0,337246 0,315604 1

4 0,431637 0,545611 1

5 0,043457 0,556452 1

б 0,106433 0,517293 1

7 0,330251 0,556751 1

а 0,13241 0,343399 1

9 0,534773 0,13662 1

Рисунок 4 - Расчет числа п в MS Excel

Далее вычислим число п с помощью функции п =4*СУММ (C2:C11)/10 (для 10 точек), п =4*СУММ (C2:C101)/100 (для 100 точек), п =4*СУММ (C2:C1001)/1000 (для 1000 точек) и т.д.

При каждом пересчете MS Excel обновляет случайные числа и результаты отличаются. Поведем серию испытаний и получим следующие результаты:

1 испытание

п = 3,2000000 (10 точек)

п = 3,4400000 (100 точек)

п = 3,1600000 (1000 точек)

п = 3,0893333 (3000 точек)

п = 3,1344000 (5000 точек)

п = 3,1252000 (10000 точек)

п = 3,1382400 (50000 точек)

2 испытание

п = 3,2000000 (10 точек)

п = 3,2000000 (100 точек)

п = 3,0680000 (1000 точек)

п = 3,1000000 (2000 точек)

п = 3,1013333 (3000 точек)

п = 3,1104000 (5000 точек)

п = 3,1292000 (10000 точек)

п = 3,1501600 (50000 точек)

3 испытание

п = 3,6000000 (10 точек)

п = 3,2400000 (100 точек)

п = 3,1000000 (1000 точек)

п = 3,1220000 (2000 точек)

п = 3,1360000 (3000 точек)

п = 3,1360000 (5000 точек)

п = 3,1376000 (10000 точек)

п = 3,1417600 (50000 точек)

Можем сделать вывод, что чем больше точек рассматривается в формуле, тем более точное значение числа п получается.

Теперь мы можем перейти к применению метода Монте-Карла для

вычисления интегралов. Рассмотрим метод на самом простом - определённом

ь

интеграле. В качестве оценки определённого интеграла I = |/(х)йх принимают

а

N

X У (х)

I* = (ь - а) -,

1 N

где N - число испытаний; х - возможные значения случайной величины X, распределённой равномерно в интервале интегрирования (а, Ь), их можно вычислить по формуле х1 = а + (Ь - а)г, где т1 - равномерно распределенное случайное число в промежутке от 0 до 1.

Пусть у нас имеется двойной интеграл 1=Ц ЦХ,у;) с областью Б:

э

а < х < Ь, с < у < й. Нам нужно найти оценку данного интеграла, используя метод Монте-Карло. Для этого мы будем использовать формулу:

N

X У(х-, у)

I * = ^-,

п

где п - количество испытаний, где случайные точки принадлежат

области интегрирования; 5 - площадь области интегрирования; xi - случайные величины, распределённой равномерно в интервале от а и Ь по оси ОХ; yi -случайная величина, распределённая равномерно в интервале от с и ё, их можно вычислить по формуле х1 = а + (Ь - а)т1 и у = с + (й - с)г, где т1 -

равномерно распределенное случайное число в промежутке от 0 до 1 .

Если вычислить площадь 5 трудно, то в качестве её оценки можно

принять £ = П; в этом случае формула имеет вид:

N

X У (х-, у)

т * = Ы_

I * =

2 N

где N - число испытаний.

Аналогично можно вывести формулу для вычисления тройного интеграла.

Для того чтобы проверить достоверность указанных выше формул, вычислим интегралы с помощью метода Монте-Карло и сравним с решениями, полученными в математической программе Mathcad. Вычисления с помощью

метода Монте-Карло будем проводить в программе MS Excel.

6

Сначала вычислим интеграл J (sin(5x2) + 6 x + x3 )dx.

3

Вычислим интеграл в Mathcad и получим значение 384,778 (рисунок 3).

,'J] Файл Правка Вид Вставка Формат Инструменты Символьные

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

m i? =

Variables v Times New Roman v 10 V в

Мой веб-узел v C>Go

UU2)

+ + a ds= S34.77B

Математический а...

& s « s: ш п !

У" TT lim lim. lim Vf

n n -»a+ -j-a- x

Рисунок 5 - Вычисление определенного интеграла в Mathcad

Далее найдём интеграл с помощью метода Монте-Карло. Запустим программу Excel и зададим границы области интегрирования (3; 6). Зададим два множества: хг- = a + (b - a)r и ri - случайное число в промежутке от 0 до 1. Далее, мы вычисляем значение f (xi) для ряда множества xi (рисунок 4).

Главная Вставка Разметка страницы Формулы ^

Вставить У СаМЬп " 11 * А" л' = = =

Ж К ч ' Ш - <Э»- А - Ш Ш ==

уфер обмена Ъ Шрифт г,

А2 т £ =$Е$2+($Р $2-$Е$2)* В 2

А В С С Е

1 2 г, /(*) а ь

4,04909 0,349697 90,96995 3 6

3 5,396756 0,965535 239,5433

4 5,516607 0,333369 201,9659

5 5,340334 0,730111 133,4034

6 5,377534 0,792511 137,343

7 5,060427 0,636309 160,6426

8 4,333553 0,461136 111,5005

9 4,977483 0,659163 152,2074

Ю 3,954307 0,313102 35,9071

1.1 5,209223 0,736403 172,0552

12 5,621636 0,373395 212,2001

Рисунок 6 - Вычисление определенного интеграла методом Монте-Карло

Далее вычислим интеграл с помощью функций:

- S=($F$2-$E$2) *(СУММ ^^ЩЮ) (для 10 точек),

- S=($F$2-$E$2) *(СУММ ^2:00^/100) (для 100 точек),

- S =($F$2-$E$2) *(СУММ (C2:C1001)/1000) (для 1000 точек) и т. д. Проведем серию испытаний:

1 испытание

S = 338,3453 (10 точек)

S = 413,2289 (100 точек)

S = 389,6296 (1000 точек)

S = 388,0329 (2000 точек)

S = 384,0666 (3000 точек)

S = 381,6829 (5000 точек)

S = 383,0627 (10000 точек)

2 испытание

S = 432,8604 (10 точек)

S = 391,2429 (100 точек)

S = 389,7195 (1000 точек)

S = 385,8467 (2000 точек)

S = 385,0947 (3000 точек)

S = 386,5317 (5000 точек)

S = 385,9293 (10000 точек)

3 испытание

S = 420,152 (10 точек)

S = 384,3587 (100 точек)

S = 388,2359 (1000 точек)

S = 386,7054 (2000 точек)

S = 387,6171 (3000 точек)

S = 386,668 (5000 точек)

S = 385,137 (10000 точек)

Можем сделать вывод, что чем больше точек рассматривается в формуле, тем более точное значение интеграла получается.

Вычислим среднее значение, полученных значений в 10000 точках:

383,06+385,93+385,14

S =-=384,71. Видим, что это достаточно близкое

ср

3

значение к точному.

Теперь оценим результаты для двойного интеграла:

5 6

|dxj(y + 3x + cos(x ■ y2 ))dx.

0 0

Произведём вычисления в программе Mathcad и получим: 317,806 (рисунок 5).

Л Файл Правка Вид Вставка Формат Инструменты Символьные операции

□ 'gsн m О m ю> = & n.

Normal v Arial v 10 V в I и s

Мой веб-узел v ¿>Go

Г J

J0 J

3 г6 ( f 2" 0

Математический a...

dvds= 317.so«

Î

TT lim lim lim Vf

n n -ja -+a+ *

Рисунок 5 - Вычисление двойного интеграла в Mathcad

Как и с определённым интегралом найдём двойной интеграл с помощью метода Монте-Карло. Запустим программу Excel и зададим границы области интегрирования ((0;5) по оси OX и (0;6) по оси OY). Зададим три множества:

х. = а + (Ъ - а) г, у. = с + (< - с) ^ и Г1 - случайное число в промежутке

от 0 до 1. Далее, мы вычисляем значение f (хуг) для ряда множеств хг и уг (рисунок 6).

Вставить

I Главная Вид % Вырезать

IZf Обрезать А а \лУ<2Ю - Контур -

гъ Изменить размер □ û » h. Заливка -

Выделить г*. t Повернуть" 0/% Кист«

Буфер обмена □ Щ {

Инструменты Фигуры

& ^ « Е1 3 [v! Объединить и помеак-Выравнивание

0,805281

2,068405

4,148276

3,611738

В

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

4

5

6

7

8

9

10 2,252822

2,010499

2,074255

0,989333

11 2,266894

12 0,519115

13 1,592699

14 3,133689

л Г 1 ->->-i ело

0,161056

0,413681

0,829655

0,722348

0,4021

0,414851

0,197867

0,450564

0,453379

0,103823

0,31854

0,626738

0,966337

2,482086

4,977932

4,334085

2,412599

2,489106

1,187199

2,703387

2,720272

0,622938

1,911239

3,760426

I г->слло

4,112519

9,671755

16,7849

15,46454

9,093502

9,671537

4,330673

8,734496

9,038009

3,160061

7,583018

14,10734

ч г er *лс

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

- S=($G$2-$F$2) *($1$2-$Н$2) *(СУММ (02^11)/10) (для 10 точек),

- S=($G$2-$F$2) *($I$2-$HS2) *(СУММ (D2:D101)/100) (для 100 точек),

- S=($G$2-$F$2) *($I$2-$HS2) *(СУММ (D2:D1001)/1000) (для 1000 точек) и т. д.

Проведем серию испытаний:

1 испытание

Б = 276,7658 (10 точек)

Б = 321,6587 (100 точек)

Б = 312,7707 (1000 точек)

Б = 315,3809 (2000 точек)

Б = 317,9306 (3000 точек)

Б = 316,752 (5000 точек)

Б = 318,9017 (10000 точек)

2 испытание

Б = 268,2128 (10 точек)

Б = 335,7809 (100 точек)

Б = 321,5939 (1000 точек)

Б = 320,8018 (2000 точек)

Б = 322,761 (3000 точек)

Б = 320,3424 (5000 точек)

Б = 320,9253 (10000 точек)

3 испытание

Б = 351,2693 (10 точек)

Б = 325,9011 (100 точек)

Б = 331,2436 (1000 точек)

Б = 326,9235 (2000 точек)

Б = 324,5032 (3000 точек)

Б = 320,9611 (5000 точек)

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

Вычислим среднее значение, полученных значений в 10000 точках:

318,90+320,93+321,08 ^ =-=320,02. Как и с определённым интегралом

3

видим, что это достаточно близкое значение к точному.

Выводы

Подводя итог, можно сделать вывод о том, что метод Монте-Карло, один из численных методов, необходимый в тех случаях, когда аналитическое вычисление невозможно, к примеру, кратного интеграла. Также, численные методы применяются тогда, когда первообразная функция настолько сложна, что легче и быстрее вычислить с помощью всё того же метода Монте-Карло.

Метод Монте-Карло обладает следующими преимуществами: применим в многомерных случаях; лёгкость применения при небольших ограничениях.

Также данный метод имеет и свои недостатки. А именно: зависимость метода от случайных значений, которые могут распределиться по области интегрирования неравномерно; большая требовательность к ресурсам вычислительной техники при очень большом количестве случайных значений; границы ошибки не определены точно, но включают некую случайность.

Библиографический список:

1. Соболь, И. М. Метод Монте-Карло / И. М. Соболь. - Москва: Наука, 1968. - 64 с. - Текст: непосредственный.

2. Данко, П. Е. Высшая математика в упражнениях и задачах. В 2 частях Часть 2 / П. Е. Данко, А. Г. Попов, Т. Я. Кожевникова. - 4-е изд. -Москва: Высшая школа, 1986. - 415 с. - Текст: непосредственный.

3. Севастьянов Б. А. Курс теории вероятностей и математической

статистики. - М.: Наука,1982 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.