- •Моделирование систем Литература
- •Введение. Математическое моделирование
- •Современное состояние проблемы моделирования систем
- •Использование моделирования при исследовании и проектировании сложных систем
- •Определение коэффициентов уравнения регрессии.
- •Метод дробного факторного эксперимента.
- •Оптимизация объекта (системы) на базе его (ее) математической модели.
- •Методы оптимизации:
- •Геометрическое подобие объектов.
- •Феноменологические модели (фм)
- •Основные положения теории подобия.
- •Аналитические методы моделирования
- •Имитационные методы моделирования
- •Проблемы применения имитационного моделирования
- •4. Статистическое моделирование
- •Значения обратных функций для получения дискретного распределения
- •5. Инструментальные средства моделирования
- •Основные функции моделирующей системы:
- •Событийный подход
- •Общие понятия сетей Петри
- •2. Анализ сетей Петри
4. Статистическое моделирование
Метод статистического моделирования на ЭВМ - основной метод получения результатов с помощью имитационных моделей стохастических систем, использующий в качестве теоретической базы предельные теоремы теории вероятностей.
Основа - метод статистических испытаний Монте-Карло, который базируется на использовании случайных чисел, то есть возможных значений некоторой случайной величины с заданным распределением вероятностей. Статистическое моделирование представляет собой метод получения с помощью ЭВМ статистических данных о процессах, происходящих в моделируемой системе.
Сущность метода: построение для процесса функционирования исследуемой системы S некоторого моделирующего алгоритма, имитирующего поведение и взаимодействие элементов системы с учетом случайных входных воздействий и воздействий внешней среды и реализации этого алгоритма с использованием программно-технических средств ЭВМ.
2 области применения: 1) изучение стохастических систем; 2) решение детерминированных задач.
Результат статистического моделирования - серия частных значений искомых величин или функций, их статистическая обработка. Если количество реализаций N , результаты устойчивы и достаточно точны.
Теоретическая основа метода статистического моделирования является пре дельнее теоремы теории вероятностей. Их значение - гарантируют высокое качество статистических оценок при числе испытаний N . Часто приемлемые результаты могут быть получены при достаточно небольших N.
Неравенство Чебышева. Для неотрицательной случайной величины X и любого K>0 выполняется неравенство:
P(X>=K)=<M(X)/K
Теорема Бернулли. Если проводится N независимых испытаний, в каждом из которых некоторое событие А осуществляется с вероятностью p, то относительная частота появления события m/N при N сходится по вероятности к p, т.е. при любом >0
,
где m
- число положительных исходов испытания.
Теорема Пуассона.
,
где pi
-
вероятность осуществления события А в
i-м
испытании.
Обобщенная теорема Чебышева.
,
Xi
- i-ая
случайная величина
Теорема Маркова. Обобщенная теорема Чебышева справедлива и для зависимых случайных величин, если
Центральная
предельная теорема. Если X1
,
X2,...,
Xn
- независимые
одинаково распределенные случайные
величины, имеющие математическое
ожидание M(Xi)=a
и дисперсию 2,
то при N
закон распределения суммы
неограниченно приближается к нормальному:
Приведем примеры применения методов статистического моделирования.
Пример
1. Входное воздействие -
,
воздействие внешней среды -
-
случайные величины с известными функциями
распределения.
Необходимо
определить математическое ожидание
величины y:
Схема алгоритма (ген. - генерация):
Пример 2. Необходимо найти площадь фигуры:
Пример 3. Проводится s=10 независимых выстрелов по мишени, причем вероятность попадания при одном выстреле задана и равна p. Требуется оценить вероятность того, что число попаданий в мишень будет четным.
Аналитическое решение этой задачи:
Схема алгоритма (статистическое моделирование):
Генерация последовательности случайных чисел
Существует три способа генерации случайных чисел:
Аппаратный - в основе лежит какой-либо физический эффект (например, шумы в электронных устройствах, случайные числа вырабатываются с помощью специального датчика. Этот способ не гарантирует качество последовательности случайных чисел непосредственно во время моделирования. С помощью этого способа нельзя получать одинаковые последовательности. Используется редко.
Табличные - случайные числа оформлены в виде таблицы в оперативной памяти или на внешнем носителе. При этом способе запас чисел ограничен, вычислительные ресурсы используются неэффективно. Используется редко.
Программный (алгоритмический) - случайные числа формируются с помощью специальных программ. Каждое случайное число вычисляется с помощью соответствующей программы по мере возникновения потребностей при моделировании системы на ЭВМ. Этот способ наиболее распространен.
Программная имитация случайных воздействий сводится к генерированию некоторых стандартных (базовых) процессов и к их последующему функциональному преобразованию. Чаще всего в качестве базовой последовательности используют независимые случайные величины, равномерно распределенные на интервале (0,1).
Непрерывная случайная величина имеет равномерное распределение в интервале (a,b), если ее функции плотности и распределения соответственно примут вид
Для получения случайных чисел на ЭВМ используются алгоритмы, поэтому такие последовтельности, являющиеся по сути детерминированными, называются псевдослучайными. ЭВМ оперирует n-разрядными числами, поэтому поэтому на ЭВМ вместо непрерывной совокупности равномерных случайных чисел интервала (0,1) используют дискретную последовательность 2n случайных чисел того же интервала - закон распределения такой дискретной последовательности называется квазиравномерны распределением.
Требования к идеальному генератору случайных чисел:
Последовательность должна состоять из квазиравномернло распределенных чисел.
Числа должны быть независимыми.
Последовательности случайных чисел должны быть воспроизводимыми.
Последовательности должны иметь неповторяющиеся числа.
Последовательности должны получаться с минимальными затратами вычислительных ресурсов.
Наибольшее применение в практике моделирования на ЭВМ для генерации последовательностей псевдослучайных числе находят алгоритмы вида:
xi+1=Ф(xi),
представляющие собой реккурентные соотношения первого порядка.
Пример. x0 = 0,2152 , (x0)2=0,04631104 , x1 = 0,6311 , (x1)2=0,39828721, x2=0,8287 и т.д.
Недостаток подобных методов - наличие коррелляции между числами последовательности, а иногда случайность вообще отсутствует, например:
x0 = 0,4500 , (x0)2=0,20250000, x1 = 0,2500 , (x1)2=0,06250000, x2=0,2500 и т.д.
Широкое применение получили конгруэнтные процедуры генерации псевдослучайных последовательностей.
Два целых числа и конгруэнтны (сравнимы) по модулю m, где m - целое число, тогда и только тогда, когда существует такое целое число k, что -=km.
19844 (mod 10), 50088 (mod 103).
Большинство конгруэнтных процедур генерации случайных чисел основаны на следующей формуле:
где
- неотрицательные целые числа.
По целым числам последовательности {Xi} можно построить последовательность {xi}={Xi/M} рациональных чисел из единичного интервала (0,1).
Применяемые генераторы случайных чисел перед моделированием должны пройти тщательное предварительное тестирование на равномерность, стохастичность и независимость получаемых последовательностей случайных чисел.
Методы улучшения качества последовательностей случайных чисел:
Использование рекуррентных формул порядка r:
Но применение этого способа приводит к увеличению затрат вычислительных ресурсов на получение чисел.
Метод возмущений:
Моделирование случайных воздействий на системы
1. Необходимо реализовать случайное событие А, наступающее с заданной вероятностью p. Определим А как событие, состоящее в том, что выбранное значение xi равномерно распределенной на интервале (0,1) случайной величины удовлетворяет неравенству:
xi =<p.
Тогда
вероятность события А будет
Противоположное событие состоит в том,
что xi
>p,
его вероятность равна 1-р.
2. Рассмотрим группу событий. Пусть А1, А2 ,..., Аs - полная группа событий, наступающих с вероятностями p1, p2 ,..., ps соответственно. Определим событие Аm как событие, состоящее в том, что выбранное значение xi случайной величины удовлетворяет неравенству
,
где
Процедура моделирования испытаний в этом случае состоит в последовательном сравнении случайных чисел xi со значениями lr. Если условие выполняется, исходом испытания оказывается событие Аm .
3.
Рассмотрим независимые события А и В с
вероятностями наступления рА
и рВ.
Возможными исходами совместных испытаний
в этом случае будут события АВ,
с вероятностями рАрВ,
(1-рА)рВ,
рА(1-рВ),
(1-рА)(1-рВ).
Для моделирования совместных испытаний
можно использовать два варианта
процедуры:
Последовательное выполнение процедуры, рассмотренной в п.1.
Определение одного из исходов АВ, по жребию с соответствующими вероятностями, т.е. процедура, рассмотренная в п.2.
Первый вариант потребует двух чисел xi и двух сравнений. При втором варианте можно обойтись одним числом xi , но сравнений может потребоваться больше. С точки зрения удобства построения моделирующего алгоритма и экономии количества операций и памяти ЭВМ более предпочтителен первый вариант.
4. События А и В являются зависимыми и наступают с вероятностями pА и pВ . Обозначим через pА(В) условную вероятность наступления события В при условии, что событие А произошло. Алгоритм модели подобного случая может быть следующим:
Моделирование дискретных случайных величин
Дискретная случайная величина Y принимает значения y1<= y2<=… <= yj<=… с вероятностями p1, p2, …, pj,… составляющими дифференциальное распределение вероятностей
Y |
y1 |
y2 |
… |
yj |
… |
P |
p1 |
p2 |
… |
pj |
… |
При этом интегральная функция распределения
Длля получения дискретных случайных величин можно воспользоваться методом обратных функций: если X – равномерно распределенная на интервале (0,1) случайная величина, то искомую случайную величину получают при выполнении следующих действий:
Если x1< p1 , то Y= y1 , иначе,
Если x1< p1 + p2, то Y= y2 , иначе,
…………………………………..
Если
x1<
, то Y=
ym
, иначе,
……………………………………
Дискретное распределение (общий случай). Предположим, что известны частоты а, выбора из N объектов на определенном интервале времени, i=1,..., N. Пример таких частот для N=7 представлен в табл. 1.3. Первая строка таблицы - это номер объекта, а вторая - частота его выбора. Требуется разработать программную функцию, которая должна возвращать значение номера объекта в соответствии
Таблица 1
