Метод Монте

Download Report

Transcript Метод Монте

Метод Монте-Карло
Метод приближенного нахождения площадей
фигур
А.Г. Гейн, и др. Информатика. Учебник для 8-9 классов.
Москва, «Просвещение», 1997
1
Для решения математических задач
также строят математические модели…
Задача. Вычислить площадь фигуры.
Для простейших фигур: прямоугольник,
многоугольник, круг и т.п. все просто – в
известные формулы надо подставить
исходные данные.
Но как быть, если фигура имеет сложную
форму?
3
Задача. Дана фигура сложной формы.
Вычислить ее площадь.
Возможные модели для решения задачи:
• С помощью палетки (на фигуру накладывается
клетчатая прозрачная бумага (палетка) и
подсчитывается количество квадратиков, попавших в
фигуру. Предполагается, что чем меньше клетки, тем
точнее будет результат независимо от того, каким
образом наложить палетку на фигуру;
• «физическая» модель: скопировать фигуру на картон,
аккуратно вырезать его, взвесить и поделить на вес
единичного квадрата из этого же картона;
• с помощью интегралов.
Однако эти модели не для расчетов на ЭВМ.
4
Математическая модель метода Монте-Карло
Поместим данную фигуру в квадрат. Будем наугад
(случайным образом) бросать точки в этот
квадрат. Естественно предположить, что чем
больше площадь фигуры, тем чаще в нее будут
попадать точки.
Представим себе квадратный дворик и в нем
детскую площадку. Ясно, что во время снегопада
количество снежинок, попавших на детскую
площадку, пропорционально ее площади.
Т.о., можно сделать допущение: при большом числе
точек, наугад выбранных внутри квадрата, доля
точек, содержащихся в данной фигуре,
приближенно равна отношению площади этой
5
фигуры к площади квадрата.
Исходные данные:
F – данная фигура.
a – сторона квадрата,
содержащего фигуру
F.
N – количество точек,
которые мы будем
случайным образом
выбирать внутри
квадрата
Результат:
S – площадь фигуры F.
М – число точек,
которые содержатся в
фигуре F.
Связи между исходными данными и результатами:
•
S ≈ a2M/N
S ≈ M
a2
N
• математические соотношения позволяющие определить
попала ли точка в фигуру F;
6
Проверим данную модель для приближенного
нахождения площади круга радиуса R.
Формула площади круга: S = πR2. Однако, эта
формула дана нам без доказательства.
Проверим ее с помощью ЭВМ.
Пусть R = 1; а = 2.
y
1
-1
Выбрать точку – значит задать ее
координаты: числа x и y.
1
x
-1
Точка принадлежит квадрату, если
-1 ≤ x ≤ 1 и -1 ≤ y ≤ 1.
Теорема Пифагора “подсказывает”:
если x2 + y2 ≤1, то точка попадет в
круг F, иначе она вне круга.
Это и есть математическое соотношение, позволяющее для
7
каждой точки определить, лежит ли она в F.
Ввести N – количество точек
N
-
M=0
- i будет последовательно принимать
значения 1, 2, 3, …, N
i = 1, N
X = Random
Y = Random
да
X2+Y2≤1
Количество точек в круге М = 0
нет
Стандартная функция Random
вырабатывает случайные числа в
интервале [0,1)
Если точка попадет в круг –
Алгоритм
значение М увеличим на 1
M:=M+1
S = 4M / i
i, ‘ ‘,S
-
Присвоим S примерное значение
площади.
Для каждого i печатаем очередное S
Проследить, как изменяется
S с увеличением количества 8
генерируемых точек i.
Составить алгоритм нахождения площадей
следующих фигур методом Монте-Карло
y
y = x2
y
y = x3
САМОСТОЯТЕЛЬНАЯ РАБОТА
-2
-1
1
1
1
2
x
x
2
1
-1
3
11
Решение задач
1. Ученик пишет квадратные уравнения
x2 + px + q = 0, выбирая коэффициенты p
и q случайным образом из отрезка [-1; 1].
С какой частотой он будет писать
уравнения, имеющие действительные
корни?
2. Учитель хочет проверить знание
учащимися таблицы умножения, задавая
сомножители случайным образом.
Напишите программу, которая поможет
учителю.
12
Решение задач
3. Завод, стоящий на берегу реки,
сбрасывает в нее ежедневно случайным
образом от 0 до 30 кг вредных веществ. За
каждый килограмм сверх 15 завод обязан
заплатить штраф 100 тыс. руб. Прибыль
завода от реализации продукции 700 тыс.
руб. в день. Как часто в течение пятилетки
штраф превзойдет прибыль? Рентабелен
ли такой завод?
13