Вероятностные модели Метод Монте-Карло
DESCRIPTION
Вероятностные модели Метод Монте-Карло. Вероятностные модели. Вероятностные модели базируются на использовании серий испытаний со случайными параметрами. Точность зависит от количества испытаний. Где находится Монте-Карло?. - PowerPoint PPT PresentationTRANSCRIPT
ВЕРОЯТНОСТНЫЕ МОДЕЛИ
МЕТОД МОНТЕ-КАРЛО
Вероятностные модели
• Вероятностные модели базируются на использовании серий испытаний со случайными параметрами.
• Точность зависит от количества испытаний.
Где находится Монте-Карло?
Предположите, какое отношение город Монте- Карло имеет к вероятностным моделям?
Само название «Монте-Карло» происходит от города Монте-Карло в княжестве Монако, знаменитого своим игорным домом. Дело в том, что одним из простейших механических приборов для получения случайных величин является рулетка…
Цель:
• Построить модель, приближенно вычисляющую площадь геометрической фигуры
ПримерНам нужно вычислить площадь плоской фигуры S. Это может быть совсем произвольная фигура с криволинейной границей, заданная графически или аналитически.
N=40 точек
Из них
N1 =12 внутри фигуры S
N1/N=12/40= 0,30.
В то время как истинная площадь S=0,35.
Y
X1
1
SN1
N
Две особенности Метода Монте-Карло:
Пример из жизни
• Пример:Детская площадка располагается во дворе квадратной формы
• Выпал снег и снежинки равномерным слоем покрыли поверхность двора и площадки
ОПИСАТЕЛЬНАЯ МОДЕЛЬ
• Если собрать снег с площадки отдельно, а потом весь снег во дворе и взвесить его, то полученное отношение приблизительно равно отношению площади площадки и двора
Будем строить модель вычисления площади круга, вписанного в квадрат. Какой первый этап?
ОПИСАТЕЛЬНАЯ МОДЕЛЬ МЕТОДА МОНТЕ-КАРЛО:
-поместим геометрическую фигуру полностью внутрь квадрата;
- будем случайным образом «бросать» точки в этот квадрат, то есть с помощью генератора случайных чисел задавать точкам координаты внутри квадрата;
- будем считать, что отношение числа точек, попавших внутрь фигуры, к общему числу точек в квадрате приблизительно равно отношению площади фигуры к площади квадрата, причём это отношение тем точнее, чем больше количество точек.
• Какой второй этап?
Формализуем задачу
Круг вписан в квадрат со стороной 2R
Площадь квадрата вычисляется по формуле:
Sкв=4R2
R
X
-R
R
Y
X
-R
ФОРМАЛЬНАЯ МОДЕЛЬ:
Sкр=Sкв*M/N
М – количество точек попавших внутрь круга(красные);
N – количество точек, которые случайно генерируются внутри квадрата(сумма красных и синих).
rd
кр
S
S
N
M
Круг вписан в квадрат со стороной 2R, площадь которого вычисляется по формуле:
Sкв=4R2
Случайный выбор координат точек, которые попадают внутрь квадрата (N точек), должен производиться так, чтобы координаты точек x и y удовлетворяли условиям:
-R<=x<=R и -R<=y<=RКоординаты точек, попавших внутрь круга (М), удовлетворяют условию:
x2 + y2 <= R2
Тогда площадь круга можно вычислить по формуле:
S=4R2* M / N
• Проблема 1
Как сгенерировать случайные числа внутри квадрата?
Как осуществить отбор точек попавших внутрь круга?
Компьютерная модель
• Проблема 2
x:=Random*4-2;x:=Random*4-2;y:=Random*4-2;y:=Random*4-2;
If (x*x+y*y<4) then k:=k+1;If (x*x+y*y<4) then k:=k+1;
Random функция real возвращает случайное вещественное в диапазоне [0..1)
Program Monte_Karlo;Var S,x,y: real; i,M,N: longint;beginWriteln(‘Введите количество точек N:'); Readln(N);Randomize;M:=0;For i:=1 to N dobeginx:=Random*4-2;y:=Random*4-2;If (x*x+y*y<4) then M:=M+1; end;S:=16*M/N;Writeln('S=',S:2:5);end.
Работа программы при различных N различна. N=1000000N=10000000N=100000000
Почему с возрастанием количества случайных точек возрастает точность вычисления площади фигуры?
Можно ли с помощью метода Монте-Карло определить площадь
треугольника, вершины которого имеют координаты (-1,0); (0, 1) и (1,0)?
Площадь произвольной фигуры?
Меньше ошибка, она обратно пропорциональна корню квадратному из числа измерений.
Задание:
Определить методом Монте-Карло площадь
треугольника, вершины которого имеют
координаты (-1,0); (0, 1) и (1,0).
-1 10
1
x
y
Замечание:1.Функция генерации случайных чисел работает так: если дать команду f= rnd(), то в переменную f будут попадать числа из интервала [0, 1].2.Условие попадания точек внутрь треугольника :
dblY>=0 и ABS(dblX) + ABS(dblY)<=1
Задание на дом:
§ 1.4.1
Написать программу: Определить методом Монте-
Карло площадь треугольника, вершины которого имеют
координаты (-1,0); (0, 1) и (1,0).
Работа программы:
Пример 1.Введите N: 1000000S=6.68218 Пример 2.Введите N: 10000000S=6.67204 Пример 3.Введите N: 100000000S=6.66691