Слайд 2Пример использования
метода Монте-Карло при составлении информационной модели
F – плоская фигура с
![Пример использования метода Монте-Карло при составлении информационной модели F – плоская фигура](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1026619/slide-1.jpg)
произвольной границей
S – площадь фигуры F (S - ?)
Будем считать, что F полностью расположена внутри единичного квадрата
Выберем в квадрате N случайных точек
N1 – количество точек, попавших в фигуру F
S=lim (N1/N)
N→∞
Слайд 3Особенности метода Монте-Карло
1). Простая структура вычислительного алгоритма
составляется алгоритм для выполнения
![Особенности метода Монте-Карло 1). Простая структура вычислительного алгоритма составляется алгоритм для выполнения](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1026619/slide-2.jpg)
одного случайного действия и повторяется N раз, причем каждый опыт не зависит от остальных
2). Ошибки пропорциональны √(D/N)
D – некоторая постоянная
N – число испытаий
Слайд 4Задачи, которые решаются методом Монте-Карло
Во-первых
метод позволяет моделировать любой процесс, на
![Задачи, которые решаются методом Монте-Карло Во-первых метод позволяет моделировать любой процесс, на](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1026619/slide-3.jpg)
протекание которого влияют случайные факторы
Во-вторых
Для многих математических задач, не связанных с какими-либо случайностями можно искусственно придумать вероятностную модель, решающую эти задачи
Метод нахождения площади будет справедлив, если СЛУЧАЙНЫЕ точки бкдкт располагаться РАВНОМЕРНО по всему квадрату
Слайд 5(1 этап) Постановка задачи
Задача: Дана геометрическая фигура неправильной формы. Вычислите ее площадь.
![(1 этап) Постановка задачи Задача: Дана геометрическая фигура неправильной формы. Вычислите ее](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1026619/slide-4.jpg)
Фигура задана своей границей. Результатом решения является площадь S этой фигуры.
Слайд 6(2 этап) Анализ объекта моделирования и построение информационной модели
! Рассмотрим
![(2 этап) Анализ объекта моделирования и построение информационной модели ! Рассмотрим в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1026619/slide-5.jpg)
в качестве примера математическую модель нахождеия площади круга радиуса r. Действовать будем по принципу первого примера. !
Слайд 7(2 этап) Анализ объекта моделирования и построение информационной модели
Шаг 1.
![(2 этап) Анализ объекта моделирования и построение информационной модели Шаг 1. Примем](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1026619/slide-6.jpg)
Примем a=r, где а – половина длины стороны квадрата, тогда S1 (площадь квадрата) вычисляется по формуле
S1=2*a*2*a
Слайд 8(2 этап) Анализ объекта моделирования и построение информационной модели
Шаг 2.
![(2 этап) Анализ объекта моделирования и построение информационной модели Шаг 2. Случайным](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1026619/slide-7.jpg)
Случайным образом выбираем точку, принадлежащую квад-рату (задаем ее координаты, т.е х и у)
Точка принадлежит квадрату, если
-a<=x<=a and –a<=y<=a
Or
-r<=x<=r and –r<=y<=r
Слайд 9(2 этап) Анализ объекта моделирования и построение информационной модели
Шаг 3.
![(2 этап) Анализ объекта моделирования и построение информационной модели Шаг 3. Точка](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1026619/slide-8.jpg)
Точка принадлежит кругу, если справедливо неравен-ство:
x^2+y^2<=r^2
Or
x^2+y^2<=a^2
Слайд 10(3-4 этапы) Алгоритмизация решения задачи и создание компьютерной модели
Исполнитель Basic – система
Шаг
![(3-4 этапы) Алгоритмизация решения задачи и создание компьютерной модели Исполнитель Basic –](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1026619/slide-9.jpg)
1. Ввод данных:
Число точек n
Радиус круга r
……………………………………………………………………….
PRINT”Введите число бросаемых точек”
INPUT n PRINT”Введите радиус круга”
INPUT r
………………………………………………………………………
Слайд 11(3-4 этапы) Алгоритмизация решения задачи и создание компьютерной модели
Шаг 2. Запрограммируем создание
![(3-4 этапы) Алгоритмизация решения задачи и создание компьютерной модели Шаг 2. Запрограммируем](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1026619/slide-10.jpg)
последовательности случайных чисел и выбор числа из этой последовательности.
…………………………………………………………………………………
Randomize timer ‘создание последовательности
‘ случайных чисел
Let x = (a-(-a))*rnd+(-a)
‘выбор следующего случ. числа из диапазона от –а до а ‘и присваи-вание его значения переменной х
Let y = (a-(-a))*rnd+(-a)
‘выбор следующего случ. числа из диапазона от –а до а ‘и присваи-вание его значения переменной х
…………………………………………………………………………………
Т.е. точка (х;у) принадлежит квадрату со стороной 2а
Слайд 12(3-4 этапы) Алгоритмизация решения задачи и создание компьютерной модели
Шаг 3. Совокупность
![(3-4 этапы) Алгоритмизация решения задачи и создание компьютерной модели Шаг 3. Совокупность](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1026619/slide-11.jpg)
команд, определяющих, принадлежит ли точка М(х;у) фигуре, площадь которой ужо найти, оформим в виде подпрграммы-функции Belong%
FUNCTION Belong%(x AS DOUBLE,
y ASDOYBLE,a AS DOUBLE)
LET Belong%=0
IF x*x+y*y<=a*a THEN
Belong%=1
END IF
END FUNCTION
Слайд 13(3-4 этапы) Алгоритмизация решения задачи и создание компьютерной модели
Шаг 4. Формирование
![(3-4 этапы) Алгоритмизация решения задачи и создание компьютерной модели Шаг 4. Формирование](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1026619/slide-12.jpg)
случайным образом координат х и у, а так же вызов функции Belong% происходит в основной программе в цикле по i on 1 до n(количество точек). Если функция принимает значение 1 то переменная-счетчик m (в начале программы обнулен) увеличивается на 1
……………………………………………………………………………………..
FOR i= 1 to n
LET x=2*a*rnd-a
LET y=2*a*rnd-a
IF Belong%((x),(y),(a))=1 then
LET m=m+1
END IF
NEXT i
……………………………………………………………………………………………….
Слайд 14(3-4 этапы) Алгоритмизация решения задачи и создание компьютерной модели
Шаг 5. Подсчет
![(3-4 этапы) Алгоритмизация решения задачи и создание компьютерной модели Шаг 5. Подсчет](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1026619/slide-13.jpg)
результата, т.е S = (m/n)*S1. Как видно из формулы, для получения S необходимо знать чему равна S1 (площадь квадрата со стороной а=r). Как упоминалось выше, S1=a*2*a*2. Далее – вывод результатов.
……………………………………………………………
LET S1=2*a*2*a
LET S=(m/n)*S1
PRINT “n=“;n;”S=“;S
……………………………………………………………
Слайд 15(3-4 этапы) Алгоритмизация решения задачи и создание компьютерной модели
Комментарии:
I В
![(3-4 этапы) Алгоритмизация решения задачи и создание компьютерной модели Комментарии: I В](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1026619/slide-14.jpg)
данной задаче так же возможно провести подсчет времени, втечение которого выполнились все действия программы. Это осуществляется ледующим образом:
1) После запуска RANDOMIZE TIMER перемнной time1 присваивается значение timer
2) После окончания работы цикла по I от 1 до n перемнной time2 присваивается значение timer
3) Находится разница: Время счета time2-time1
II Программу можно дополнить имитацией бросания точек в квадрат
Слайд 16(6-7 этапы) Вычислительный эксперимент. Анализ результатов эксперимента
Для проведения эксперимента возьмем радиус
![(6-7 этапы) Вычислительный эксперимент. Анализ результатов эксперимента Для проведения эксперимента возьмем радиус](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1026619/slide-15.jpg)
круга r=1. В этом случае площадь круга равна числу пи
Результаты эксперимента: