Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МатМод экология / Лекция №4

.pdf
Скачиваний:
88
Добавлен:
22.03.2016
Размер:
459.62 Кб
Скачать

Лекция №4

Имитационное моделирование.

При имитационном моделировании реализующий модель алгоритм воспроизводит процесс функционирования системы во времени.

Имитируются элементарные явления, составляющие процесс, с сохранением их логической структуры и последовательности протекания во времени.

Основным средством реализации имитационного моделирования служит ЭВМ, позволяющая осуществлять цифровое моделирование систем и сигналов. Большинство компьютерных моделей сегодня – имитационные.

В связи с этим определим словосочетание «компьютерное моделирование»,

которое все чаще используется в литературе. Будем полагать, что

компьютерное моделирование - это математическое моделирование с использованием средств вычислительной техники. Соответственно,

технология компьютерного моделирования предполагает выполнение следующих действий:

1)определение цели моделирования;

2)разработка концептуальной модели;

3)формализация модели;

4)программная реализация модели;

5)планирование модельных экспериментов;

6)реализация плана эксперимента;

7)анализ и интерпретация результатов моделирования.

Содержание первых двух этапов практически не зависит от математического метода, положенного в основу моделирования (и даже наоборот - их результат определяет выбор метода). А вот реализация остальных пяти этапов существенно различается для аналитического и имитационного моделирования.

При имитационном моделировании используемая ММ воспроизводит алгоритм («логику») функционирования исследуемой системы во времени при различных сочетаниях значений параметров системы и внешней среды.

Примером простейшей аналитической модели может служить уравнение прямолинейного равномерного движения. При исследовании такого процесса с помощью имитационной модели должно быть реализовано наблюдение за изменением пройденного пути с течением времени.

Имитационное моделирование также опосредованно рассматривается при изучении различных курсов:

1)Теория вероятности и теория случайных процессов -

Моделирование случайных величин и процессов.

2)Теория массового обслуживания, теория автоматов -

Моделирование систем массового обслуживания.

3)Моделирование интеллектуальных систем.

Моделирование случайных величин.

Во многих практических задачах имитационного моделирования требуется сформировать алгоритм функционирования системы со случайными факторами, т.е. стохастическую систему. Поэтому для создания такой модели требуется уметь в первую очередь моделировать случайные составляющие модели. Это могут быть случайные числа, случайные события,

либо случайные процессы.

Моделирование случайных чисел, распределенных по заданному закону распределения.

На практике используются три основных способа генерации случайных чисел:

1.аппаратный (физический);

2.табличный (файловый);

3.алгоритмический (программный).

Аппаратный способ. При этом способе генерации случайные числа вырабатываются специальной электронной приставкой — генератором

(датчиком) случайных чисел,— служащей в качестве одного из внешних устройств ЭВМ. В качестве физического эффекта-источника, лежащего в основе таких генераторов чисел, чаще всего используются шумы в электронных и полупроводниковых приборах, явления распада радиоактивных элементов и т. д. Рассмотрим принцип получения случайных чисел от приставки, основанный, например, на эффекте шума в полупроводниковых приборах.

Структурная схема аппаратного генератора случайных чисел приведена на рис. 4.1.

Рис. 4.1.

Где ИШ — источник шума; КС— ключевая схема; ФИ — формирователь импульсов; ПС — пересчетная схема, При усилении шумов на выходе ИШ

получается напряжение иш(t), которое является случайным процессом,

показанным на временной диаграмме рис. 4.1. Причем отрезок шумовой реализации их (t), сформированный на интервале времени (0, T) с помощью

КС, содержит случайное число выбросов. Сравнение напряжения иk (t) с

пороговым Un позволяет сформировать на выходе ФИ серию импульсов иф(t).

Тогда на выходе ПС может быть получена последовательность случайных чисел Xi(t).

Например, если провести масштабирование и принять длину интервала

(0, T) за единицу, то значения интервалов времени ti ti 1 ti , между соседними импульсами иф(t) будут случайными числами хi (0, 1). Возможны и другие схемные решения аппаратных генераторов случайных чисел.

Однако аппаратный способ получения случайных чисел не позволяет гарантировать качество последовательности во время моделирования системы, а также повторно получать при моделировании одинаковые последовательности чисел.

Табличный способ. Если предварительно полученные физическим способом случайные числа оформить в виде таблицы и поместить во внешнюю или оперативную память ЭВМ, предварительно сформировав из них соответствующий файл (массив чисел), то такой способ будет называться табличным. Однако этот способ получения случайных чисел при моделировании систем на ЭВМ обычно рационально использовать при сравнительно небольшом объеме таблицы и соответственно файла чисел,

когда для хранения можно применять оперативную память. Хранение файла во внешней памяти при частном обращении в процессе статистического моделирования не рационально, так как вызывает увеличение затрат машинного времени при моделировании системы из-за необходимости обращения к внешнему накопителю. Возможны промежуточные способы организации файла, когда он переписывается в оперативную память периодически по частям. Это уменьшает время на обращение к внешней памяти, но сокращает объем оперативной памяти, который можно использовать для моделирования процесса функционирования системы.

Алгоритмический способ. Это наиболее популярный на сегодняшний день способ получения последовательностей случайных чисел. Он основан на формировании случайных чисел в ЭВМ с помощью специальных алгоритмов и реализующих их программ. Каждое случайное число вычисляется с помощью соответствующей программы по мере возникновения потребностей при моделировании системы на ЭВМ.

При использовании для моделирования ЭВМ в подавляющем большинстве применений генерация любых случайностей начинается с генерации случайных чисел с равномерным распределением в диапазоне

(0, 1) с помощью программы - датчика случайных чисел. Наиболее просто случайные числа в диапазоне (0, 1) получаются из рекуррентного соотношения:

yi=(A*yi-1+B) mod M

(4.1)

где A и B - константы; M - достаточно большое целое положительное число.

При соответствующем выборе констант и задания некоторого исходного значения y0 эта формула позволяет получить последовательность целых чисел, равномерно распределенных в интервале (0, M-1).

Последовательность имеет период повторения, равный M , поэтому точнее называть эти числа псевдослучайными. Наличие периода повторений может отрицательно сказываться при моделировании с числом реализаций,

превышающим значение периода повторений. Для увеличения периода повторения без изменения M часто применяют специальные приемы

―взбадривания‖ датчика, обычно это заключается в пересмотре yi-1.

Случайные числа zi, равномерно распределенные на интервале (0,1).

Получаются из чисел yi, распределенных на (0,М-1) при помощи масштабного преобразования:

zi=

yi

 

(4.2)

M 1

 

 

Все современные системы программирования имеют встроенные подпрограммы - датчики случайных чисел диапазона (0, 1). Так, в Excel

существует специальная функция СЛЧИС(), в семействе языков С - RANDOM, RAND() в php, и т.п. Поэтому при статистическом моделировании случайных чисел с любым законом распределения идет обращение к машинному датчику случайных чисел z.

Наиболее общим методом формирования величин с произвольным законом распределения на основе равномерного является метод обратной функции. Метод основан на следующей теореме (без доказательства):

Если случайная величина x имеет плотность распределения вероятности f(x), то случайная величина

x

 

z F (x) f (x)dx

(4.3)

 

 

будет распределена по равномерному закону на интервале (0,1)

независимо от вида распределения f(x).

Можно рассмотреть и обратную задачу: по известному значению zn

=F(x) найти соответствующее ему значение xn.

Отсюда вытекает способ генерирования случайной величины,

распределенной по заданному закону f(x):

1. Генерируется случайная величина zn, равномерно распределенная на интервале (0,1).

2. Решается интегральное уравнение относительно верхнего предела

xn:

x

zn n f (x)dx

(4.4)

 

 

Найденное значение xn и будет случайной величиной с плотностью

распределения вероятностей f(x).

 

Если случайная величина может быть только

положительной, т.е.

f(x)=0 при x<0, то нижний предел интегрирования (-∞) следует заменить на 0.

1.Равномерно распределенные величины. Для непрерывного равномерного распределения функция плотности вероятностей имеет вид

 

1

 

 

 

 

 

,

если a x b

(4.5)

b a

f (x)

 

 

0,

в

 

противном случае.

 

 

 

 

 

 

Здесь x случайная величина, определенная на интервале (а, b). Тогда формула для моделирования имеет вид:

x=(b-a) z+a

(4.6)

2.Экспоненциально (показательно) распределенные величины.

Положительная случайная величина x имеет показательное распределение с параметром >0, если ее плотность задана функцией:

0,

при

x 0

.

(4.7)

f x,

 

x 0

e x ,

при

 

 

 

 

 

 

 

Моделирующая формула:

x

1

ln( z)

(4.8)

 

 

 

 

Экспоненциальные величины используется в задачах массового обслуживания и в задачах, связанных с «временем жизни». Так, например,

распределены интервалы между обращениями граждан во многие организации.

3. Для распределения Релея

 

 

0, при x 0

 

 

 

x

 

x

2

 

, при x 0

(4.9)

f (x)

 

 

 

 

 

exp

 

 

 

 

 

 

2

2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

Моделирующая формула:

 

 

 

 

 

 

 

 

x=-2 ln(z)

 

 

 

(4.10)

Распределение Релея возникает, например, в радиотехнике для описания амплитудных флуктуаций радиосигнала или при излучении абсолютно чѐрного тела по частотам.

4.Чаще других в природе встречается нормальное распределение случайных величин:

Плотность вероятностей случайной величины x, распределенной по

нормальному закону (закону Гаусса), описывается выражением:

 

 

1

 

 

 

(x )2

 

 

f (x)

 

 

 

 

exp

 

 

 

(4.10)

 

 

 

 

2 2

 

 

2

 

 

 

 

 

 

 

здесь:

μM(x) - математическое ожидание (среднее значение) величины x;

σ – среднеквадратическое отклонение величины x;

σ2 D(x) - дисперсия величины x.

Рис. 4.2. Плотность нормального закона

Однако функция f(x) для нормального закона не интегрируема. Поэтому для формирования случайных величин, распределенных по нормальному закону, рассмотренный выше метод обратной функции не может быть применен.

Формирование случайных величин, распределенных по нормальному закону, можно выполнить на основании центральной предельной теоремы теории вероятностей (без доказательства): Распределение вероятностей величины x, равной сумме n независимых случайных величин zi

n 1

x1 zi (4.11)

i 0

с произвольным законом распределения и мало различающимися дисперсиями (т.е. дающими примерно одинаковый вклад в общую сумму)

при n → ∞ асимптотически стремится к нормальному закону.

Если величины zi распределены равномерно на интервале [0…1], то:

- математическое ожидание случайной величины x равно

M(x)=n/2;

- дисперсия равна D(x)=n/12.

На практике уже при n>=8 распределение формируемой таким образом случайной величины x достаточно близко к нормальному.

Таким образом, для формирования случайной нормально распределенной случайной величины с нулевым мат. ожиданием и единичной дисперсией выполняется нормирование:

 

 

1

 

 

n

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

12

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

x0

 

 

 

 

 

 

 

 

 

 

 

 

(zi

0.5)

(4.12)

 

 

 

 

 

 

 

 

 

n

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12

 

 

 

 

 

 

 

 

 

 

Для ускорения вычислений рекомендуется выбирать n кратным 12 (12, 28, 108). Затем, для получения нормальной величины с произвольным мат.

ожиданием µ и дисперсией применяется формула:

x x0

(4.13)

Моделирование случайного события.

В реальных системах ее дальнейшее поведение часто зависит от того,

произошло или нет некоторое внешнее случайное событие. Например,

моделируется полет баллистической ракеты с самонаведением. Если цель попала в объектив аппарата наведения, ракета меняет курс в соответствии с заданной программой. В противном случае продолжает движение без изменений траектории. Для имитационного моделирования процесса, таким образом, необходимо смоделировать факт наступления случайного события с заданной вероятностью.

Моделирование случайных событий обычно заключается в формировании определенного дискретного значения на основе одной или нескольких случайных величин с соответствующими законами

распределения. Случайные события могут быть одиночными или образовывать группы, они могут быть зависимыми или независимыми.

Моделирование одиночного события А, наступающего с вероятностью p ,определяется как событие, состоящее в том, что выбранное значение случайной величины β (β [0, 1]) с заданным законом распределения, удовлетворяет неравенству β < p . В дальнейшем принимают А = 1, если β < p и А = 0 в противном случае.

Моделирование полной группы несовместных событий Am, m=1,

s

2,...s, наступающих с вероятностями P(Am) = pm, где pm 1, определяется

m 1

как событие, состоящее в том, что выбранное значение βi случайной величины β [0, 1] удовлетворяет неравенству lm-1 < βi lm , где величины

m

lm pi , m=1,2,..s, представляют собой границы интервалов, определяемых

i 1

как

m

m 1

pm pi

pi

i 1

i 1

Процедура моделирования случайного события состоит в моделировании значений βi и сравнении их с величинами lm . Исходом испытания является событие Am , соответствующее номеру m-го интервала, в

которое попало число β.

Моделирование сложных независимых событий.

Иногда в системах изменение ее состояния происходит, когда происходит (или не происходит) несколько событий одновременно,

например: если тепловизор системы самонаведения обнаружил цель и при этом радары не зафиксировали присутствия самолетов противника,

производится точное наведение и выстрел по цели; если тепловизор обнаружил цель, но при этом приближаются самолеты противника,

производится выстрел без точной настройки и разворот; если цель не обнаружена, и самолетов противника нет, следует продолжить поиск цели; и,

Соседние файлы в папке МатМод экология