
- •2 Принципы имитационного моделирования систем
- •2.1 Статистическое моделирование систем
- •2.1.1.Характеристика методов моделирования вероятностных объектов
- •2.1.2. Формирование базовой последовательности случайных чисел
- •2.1.3 Моделирование случайных событий
- •2.1.4 Моделирование случайных величин
- •2.2 Имитационное моделирование сложных систем
- •2.2.1 Характеристика имитационных моделей
- •2.2.2 Принципы изменения модельного времени
- •2.2.3 Этапы имитационного моделирования системы
- •2.2.4 Способы имитации поведения системы
2.1.3 Моделирование случайных событий
Для моделирования случайного события А, вероятность которого равна Рс, достаточно сформировать одно число r, равномерно распределенное на интервале (0,1). При попадании r в интервал (0,Рс) считают, что событие А наступило, в противном случае не наступило.
Пусть, например, вероятность отказа вычислительной системы составляет 0,3. Чтобы определить, возникнет ли отказ на очередном шаге моделирования, достаточно сгенерировать с помощью датчика одно случайное число r и сравнить его с вероятностью отказа (рис.2.4).
Рисунок 2.4 - Моделирование случайного события; отказ «произошел» (слева), отказ «не произошел» (справа)
Для
моделирования полной группы N
несовместных событий А={А1,
А2,…,
АN}
с вероятностями соответственно
также
достаточно одного значения r:
событие Аi
из группы А считается наступившим, если
выполняется условие:
Здесь
Предположим,
что в каждый момент времени может
происходить обращение только к одному
из трех модулей оперативной памяти
вычислительной системы. Вероятности
обращения к каждому из них
равны
соответственно 0.3, 0.5 и 0.2. Чтобы узнать,
из какого именно модуля будут считаны
данные, необходимо определить, в какой
интервал попадет полученное от датчика
случайное число r
(рис.2.5).
Если группа событий А не полна, то вводят фиктивное событие АN+1 с вероятностью pN+1 такой, что сумма вероятностей становится равной 1. После этого генерируют число r и проверяют указанное выше условие. При А=АN+1 считают, что ни одно событие из исходной группы А не наступило.
Для имитации зависимых событий А и В (В зависит от А) необходимо знать безусловную вероятность p(А) события А и условные вероятности p(В/А) и p(В/Ā). Сначала описанным выше способом имитируется появление события А, в зависимости от исхода выбирается одна из вероятностей p(В/А) или p(В/Ā), и по той же технологии определяется наступление события В.
Рис.2.5 Моделирование полной группы из трех несовместных событий – обращение первому модулю памяти (слева), обращение к третьему модулю памяти (справа)
2.1.4 Моделирование случайных величин
При моделировании случайных дискретных величин наиболее часто используют метод последовательных сравнений, или метод интерпретации.
Метод последовательных сравнений. Для моделирования случайной дискретной величины X, заданной законом распределения
необходимо:
разыграть случайное число r в интервале (0,1) по равномерному закону;
Число
r
последовательно сравнивать число r
со значением суммы
где
–
вероятность наименьшего значения
случайной величины X,
–
вероятность второго по величине значения.
При первом же выполнении следующего
условия проверка прекращается и случайная
дискретная величина X
считается принявшей значение
:
Процесс можно ускорить, применяя методы оптимизации перебора: дихотомии, ранжирования p и т.д. Величины pi рассчитывают по функциям распределения вероятности, соответствующим моделируемому закону.
Метод интерпретации. Метод основан на физической трактовке моделируемого закона распределения. Например, биномиальное распределение описывает число успехов в n независимых испытаниях с вероятностью успеха в каждом испытании p и вероятностью неудачи g=1-p.
При моделировании этого распределения с помощью метода интерпретации выбирают n независимых случайных чисел, равномерно распределенных на интервале (0,1), и подсчитывают количество тех из них, которые меньше p. Это число и является моделируемой случайной величиной.
При моделировании случайной непрерывной величины с заданным законом распределения используют метод преобразования закона распределения случайной величины [4] специальным расчетным соотношением, которое позволяет вычислять значение случайной величины по значению случайного числа, равномерно распределенного на интервале (0,1).
Для
того чтобы разыграть возможное значение
случайной непрерывной величины X,
зная ее функцию распределения
,
надо выбрать случайное число
,
приравнять его функции распределения
и решить относительно
полученное уравнение
.
Если
известна плотность вероятности
,
то уравнение, с помощью которого можно
определить значения
имеет вид
где a – конечное наименее возможное значение X.
Такие соотношения получены практически для всех наиболее распространенных видов распределений и приведены в справочной литературе. В качестве примера ниже даны расчетные соотношения для двух законов распределения – показательного и нормального:
,
.
Здесь λ – параметр показательного распределения, а m, σ – параметры нормального закона распределения.
Технологию моделирования случайных непрерывных величин поясним на примерах [3].
Из практики известно, что интервалы времени между отказами в технических системах распределены по экспоненциальному закону. Чтобы получить в модели величину промежутка времени между двумя соседними отказами, достаточно сгенерировать случайное число r и подставить его в указанное выше выражение для показательного закона распределения при известном параметре распределения λ.
Нормальный
закон имеет более широкий диапазон
применения, поскольку любая величина,
зависящая от большого числа случайных
факторов, может считаться распределенной
по нормальному закону. Например, при
стрельбе в центр мишени координаты
точек попадания можно считать
распределенными по нормальному закону
с параметрами m
и σ,
где m
– координаты точки прицеливания, а σ
характеризует отклонение от нее по
каждой из координат. Для определенности
предположим, что
,
а
,
то есть центр мишени имеет координаты
(0,0), а отклонение составляет 5см. Чтобы
смоделировать координаты очередной
точки попадания, следует получить от
датчика две последовательности из 12
случайных чисел для каждой из координат
в отдельности и подставить их вместе с
параметрами закона в выражение для
нормального закона распределения:
,
.
В одной и той же имитационной модели могут фигурировать несколько случайных факторов, одни из них могут быть представлены как случайные события, другие – как случайные величины или функции. Более того, если моделируется поведение достаточно сложной системы, то ее функционирование может быть связано с возникновением нескольких типов событий и учетом большого числа случайных величин, распределенных по различным законам. Если же моделирование всех случайных факторов основано на использовании одного датчика, генерирующего одну «общую» последовательность случайных чисел, то с математической точки зрения их нельзя считать независимыми. В связи с этим для моделирования каждого случайного фактора стараются использовать отдельный генератор, или, по крайней мере, обеспечивать создание новой последовательности случайных чисел. Во многих специализированных языках и пакетах моделирования такая возможность предусмотрена.