-
Notifications
You must be signed in to change notification settings - Fork 17
exam11 4
Метод Монте-Карло, способы его применения в имитационном моделировании и реализации с помощью объектно-ориентированного подхода.
Реферат к лекции 11 Математические методы в объектно-ориентированном проектировании
Выполнил: Мавлоназаров Хушнуд, ИДБ-18-08
Проверил: Салип Даниил, ИДБ-18-08
Метод имитационного моделирования — метод исследования, который основан на том, что анализируемая динамическая система заменяется имитатором (программный аналог исследуемой системы), и с ним проводятся эксперименты для получения информации об изучаемой системе. В процессе имитации функционирования ВС измеряются те выходные характеристики, которые интересуют исследователя. Идея метода имитационного моделирования ВС исходит из метода вычисления случайных величин, который называется методом статистических испытании или методом Монте-Карло.
Имитационное моделирование требует высокой квалификации исследователя и большого расхода машинного времени. Разработка программы моделирования достаточно трудоёмкий процесс, но в любом случае, когда программа разработана, необходимо затратить еще более значительные усилия, чтобы доказать корректность принятой модели, т. е. продемонстрировать, что модель в действительности адекватно представляет исследуемую реальную систему. Однако, если уж программа моделирования разработана, то ее дальнейшее многократное использование может оказаться весьма полезным и экономически выгодным.
Моделирование Монте-Карло, также известное как метод Монте-Карло или многократное имитационное моделирование вероятностей, представляет собой математический метод, с помощью которого можно оценить возможные результаты неопределенного события. Метод Монте-Карло был изобретен Джоном фон Нейманом и Станиславом Уламом во время Второй мировой войны с целью улучшения процесса принятия решений в условиях неопределенности. Название методу дал известный своими казино город Монако, поскольку в основе данного подхода к моделированию лежит принцип генерации случайных чисел, применяемый в рулетке.
В отличие от обычной модели прогнозирования, метод Монте-Карло предсказывает набор результатов на основе предполагаемого диапазона значений, а не набора фиксированных входных значений. Другими словами, моделирование методом Монте-Карло создает модель возможных результатов с использованием распределения вероятностей, например равномерного или нормального распределения, для любой переменной, которая содержит в себе элемент неопределенности. Затем выполняется повторное вычисление результатов с другими наборами случайных чисел в диапазоне от минимального до максимального значений. В типичном эксперименте Монте-Карло данная операция повторяется несколько тысяч раз для создания большого числа вероятных результатов.
Предположим, требуется вычислить определённый интеграл
Рассмотрим случайную величину u
, равномерно распределённую на отрезке интегрирования [a,b]
. Тогда f(u)
также будет случайной величиной, причём её математическое ожидание выражается как
где \varphi (x)
— плотность распределения случайной величины u
, равная на участке [a,b]
. Таким образом, искомый интеграл выражается как
но математическое ожидание случайной величины f(u)
можно легко оценить, смоделировав эту случайную величину и посчитав выборочное среднее.
Итак, бросаем N
точек, равномерно распределённых на [a,b]
, для каждой точки u_{i}
вычисляем f(u_{i})
. Затем вычисляем выборочное среднее: . В итоге получаем оценку интеграла:
Точность оценки зависит только от количества точек N
.
Этот метод имеет и геометрическую интерпретацию. Он очень похож на описанный выше детерминистический метод, с той разницей, что вместо равномерного разделения области интегрирования на маленькие интервалы и суммирования площадей получившихся «столбиков» мы забрасываем область интегрирования случайными точками, на каждой из которых строим такой же «столбик», определяя его ширину как , и суммируем их площади.
Независимо от используемого инструмента, метод Монте-Карло состоит из трех основных шагов:
- Создание прогнозной модели с определением зависимой переменной, в отношении которой осуществляется прогноз, и независимых переменных (также известных как входные данные, переменные риска или предиктивные переменные), лежащих в основе прогноза.
- Определение распределений вероятностей независимых переменных. Определение диапазона вероятных значений с помощью имеющихся статистических данных и/или субъективных знаний аналитика с последующим присвоением каждому такому значению весовых коэффициентов вероятности.
- Многократное выполнение моделирования для создания случайных значений независимых переменных. Моделирование выполняется до тех пор, пока не будет получена репрезентативная выборка практически бесконечного числа возможных комбинаций.
Имитационное моделирование по методу Монте-Карло позволяет построить математическую модель для проекта с неопределенными значениями параметров, и, зная вероятностные распределения параметров проекта, а также связь между изменениями параметров (корреляцию) получить распределение доходности проекта.
Блок-схема, представленная на рисунке отражает укрупненную схему работы с моделью.
В качестве примера будет рассмотрен метод моделирования освещенности методом Монте-Карло. В зависимости от конкретных вычислений, возможно использование различных специальных представлений. Так различные специальные представления удобны для работы с разными моделями света (RGB, спектральной). Специальное представление необходимо и для ускорения вычислений с использованием средств SIMD современных процессоров. Связь между различными представлениями сцены показана на рис.5. Все представления имеют вид древовидной иерархии паевых или целевых объектов.
Исходным представлением сцены является ее целевое представление. Каноническое представление сцены строится по исходному целевому представлению. Специальные представления строятся по каноническому представлению. Объекты целевого и специального представлений могут ссылаться на объекты канонического представления, но не наоборот и не между собой.
Модификации сцены выполняются при помощи целевых действий в объектах целевого представления. При этом целевой объект соответствующим образом модифицирует каноническое представление. Специальные представления, о которых каноническое представление формально ничего не знает, отслеживают модификации канонического представления и перестраиваются должным образом, используя аппарат уведомлений об изменениях. Все представления сцены построены на единых принципах с использованием достоинств объектно-ориентированного подхода. Все объекты представления сцены разделены на базовые категории (экземпляр предмета, геометрия, атрибуты поверхности, атрибуты среды, источник света, модель света, регистратор освещенности и т.д.). Для каждой категории реализован свой базовый класс. Расширение представления сцены осуществляется путем написания производных классов, реализующих новые практические потребности. Объекты представления сцены взаимодействуют с объектами других категорий через базовые интерфейсы. Таким образом, достигается возможность расширения представлений сцены с минимальными трудозатратами.
Для примера, на рис. 6 в упрощенном виде показано специальное представление сцены, используемое для моделирования освещенности с использованием методов лучевой оптики. В наших графических системах это представление используется для расчета карт освещенности методом Монте-Карло и построения реалистичных изображений методом обратной трассировки лучей.
❌ Не хватает более простых примеров или пояснений про методы объектов и гда/как именно используется метод Монте-Карло. В целом текст не лаконичен.
-
Объектно-ориентированный подход к реализации систем компьютерной графики // https://keldysh.ru/pages/cgraph/articles/dep20/publ2009/instruc.pdf
-
Моделирование методом Монте-Карло // https://www.ibm.com/ru-ru/cloud/learn/monte-carlo-simulation
-
Метод Монте-Карло // https://ru.wikipedia.org/wiki/Метод_Монте-Карло
-
Метод Монте-Карло // https://www.cfin.ru/finanalysis/monte_carlo2.shtml#:~:text=Имитационное%20моделирование%20по%20методу%20Монте,параметров%20(корреляцию)%20получить%20распределение%20доходности
-
Курс Моделирования информационных систем // https://edu.stankin.ru/course/view.php?id=415