Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Алгоритмы и программные средства имитационного моделирования систем. Учебное пособие
.pdf
31
Вариант
Функция f(x)
Отрезок [a, b]
1
-(x - 5)2 + 8x + 20
[1; 16] 2 - x2 + 10,6x + 1,7
[4; 10] 3 -(0,5x)3 + 25x
[6; 10] 4 2,5cos(0,8x + 1)
[5; 8] 5 1,8sin(3x + 1)
[6; 7] 6 2,5sin(-2x + 12)
[1,5; 2,8]
7
5sin(2x) – x2 + 30
[-5; 4]
8
5cos(x + 4) – x2 + 25
[-5; 4]
Указание. Точное значение определенного интеграла I для оценки
погрешности вычислить с использованием пакета MathCAD.
Таблица 2.6
Задание 2.2. Выполнить статистическую обработку данных.
1. Разработать программу, которая формирует N = 100 случайных
значений x1, x2,…, xN, СВ , равномерно распределенной на участке
( a; b):
1) получить случайные числа z
i
деленные в интервале (0; 1), от встроенного датчика случайных чисел;
2) преобразовать эти числа по формулe
(
), равномерно распре-
пределения СВ .
длина интервала
причем значения x
и последнего интервалов соответственно.
номерно распределенной на участке (a; b), по формулам (2.6), (2.7) и
их оценки по (2.8), (2.9).
xi = a + (b – a) zi.
2. Для СВ x
i
(
) построить гистограмму и полигон рас-
Указание. Число интервалов определяется по формуле
k 1 + 1,4 lnN;
min
и x
= (x
должны располагаться в середине первого
max
max
- x
min
)/k,
3. Определить математическое ожидание и дисперсию СВ , рав-

32
4. Построить выравнивающую кривую распределения СВ (по
равномерному закону) и сравнить ее с гистограммой (полигоном).
5. Определить соответствие экспериментальных данных (гисто-
граммы) и выравнивающей кривой из задания 2.2 по критерию 2 Пирсона:
1) определить меру расхождения
ных от теоретического распределения;
2) по таблице из приложения 1 для числа степеней свободы k-2
найти уровень значимости и сделать вывод о соответствии СВ
равномерному закону распределения.
экспериментальных дан-

33
3. СТАТИСТИЧЕСКОЕ МОДЕЛИРОВАНИЕ СИСТЕМ
3.1. Метод статистических испытаний
Одно из применений метода – вероятностное моделирование на
ЭВМ. Метод статистических испытаний (метод Монте-Карло) основан
на использовании случайных чисел с заданным законом распределения.
Идея метода статистических испытаний состоит в том, что вместо
описания случайных явлений аналитическими зависимостями производится моделирование (розыгрыш) случайного явления с помощью
некоторой процедуры, которая дает случайный результат. На основе
розыгрыша случайной величины получают одну реализацию случайного явления. Повторяя процедуру розыгрыша многократно, накапливают статистические данные для обработки.
В целом статистическое моделирование сводится к построению
некоторого моделирующего алгоритма, имитирующего поведение некоторой системы с учетом случайных входных воздействий и воздействий внешней среды, а также к проведению численных экспериментов на ЭВМ с целью сбора статистических данных. Если количество
проводимых экспериментов достаточно велико, то результаты моделирования получают статистическую устойчивость и могут с достаточной точностью использоваться в качестве оценок исследуемых характеристик системы.
Пример. Пусть четыре стрелка одновременно стреляют по движущейся цели. Вероятность попадания в цель каждым стрелком равна
0,5. Цель считается пораженной, если в нее попали два или более
стрелков. Требуется найти вероятность поражения цели.
В соответствии с методом статистических испытаний решение
этой задачи может выглядеть следующим образом.
1. Разработаем процедуру одного испытания (розыгрыша). На-
пример, подбрасываем 4 одинаковые монеты одновременно.
2. Определим критерий успешного испытания. Для этого полага-
ем, что если монета падает лицевой стороной, то считаем, что
стрелок попал в цель.
3. Выполним большое число испытаний N и подсчитаем количе-
ство успешных n.
4. В соответствии с теоремой Бернулли вероятность поражения
цели равна n/N.
Теорема Бернулли: если проводится N независимых испытаний, в
каждом из которых некоторое событие появляется с вероятностью p0,
то относительная частота появления этого события n/N при N→∞ сходится по вероятности к p0.

34
Заметим, что метод Монте-Карло позволяет оценить не только
значения вероятностей, но и числовые характеристики случайных величин. Например, если в рассмотренных опытах фиксировать количество попаданий в мишень, то ее МО можно оценить, как
Таким образом, применение метода статистических испытаний
осуществляется в соответствии со следующей процедурой:
1) определить процедуру одного испытания (розыгрыша);
2) определить критерий успешного/неуспешного завершения ис-
пытания;
3) провести большое число испытаний с одновременным сбором
статистических данных;
4) обработать полученные данные статистическими методами.
Основной особенностью метода является необходимость проведения большого числа испытаний. Так, известно, что погрешность результата в данном методе изменяется пропорционально величине
-0,5
N
=
. Это означает, что для уменьшения погрешности в 10 раз
требуется увеличить число опытов в 100 раз.
В основе метода Монте-Карло лежат генераторы случайных чисел, которые необходимы для реализации процедур испытаний со случайным исходом.
3.2. Моделирование случайных воздействий
При практическом использовании вероятностного моделирования
действие различных случайных факторов описывается с помощью
трех математических объектов:
– случайные события;
– случайные величины;
– случайные функции.
Важно отметить, что алгоритмы моделирования этих объектов во
всех случаях в качестве исходных данных используют датчики случайных чисел с равномерным распределением на участке (0, 1).
3.2.1. Генерация случайных чисел в интервале (0, 1)
Известно три основных способа формирования таких чисел:
– аппаратный (физический);
– табличный;
– алгоритмический.
Аппаратный метод. Случайные числа формируются специаль-
ным электронным устройством, которое подключается к компьютеру
как внешнее устройство. В качестве физического эффекта, лежащего в

35
основе таких генераторов, используют шумы в электронных и полупроводниковых приборах.
Реализация такого способа не требует каких-либо вычислительных операций. Числа получают, считывая с внешнего устройства. Достоинства: числа действительно случайные. Недостатки: невозможно
воспроизвести последовательность чисел повторно; невозможно гарантировать качество последовательности.
Табличный метод. Предварительно полученные случайные чис-
ла сохраняются в виде некоторой таблицы (массива) и размещаются в
памяти ЭВМ. Такой способ рекомендуется использовать при сравнительно небольшом объеме таблицы, когда ее можно всю хранить в
оперативной памяти. Если же используется внешняя память, то скорость доступа заметно снижается.
Алгоритмический метод. Является наиболее распространенным
и основан на формировании последовательности случайных чисел в
ЭВМ с помощью специальных алгоритмов и программ. В них очередное случайное число вычисляется по мере необходимости. Формируемые таким образом числа на самом деле не случайные и не имеют равномерного распределения.
Идеальный генератор случайных чисел должен удовлетворять
следующим требованиям:
– формируемые числа должны появляться с равной вероятно-
стью;
– такие числа должны быть статистически независимыми;
– последовательности чисел должны быть воспроизводимыми
повторно;
– числа в этой последовательности не должны повторяться;
– затраты машинных ресурсов должны быть минимальными.
Для построения датчиков случайных чисел обычно используют
рекуррентные соотношения следующего вида:
zi = Ф(z
), i = 1, 2, …,
i-1
где z0 – начальное значение, которое задается.
Метод середины квадрата. Данный метод является одним из
наиболее ранних генераторов случайных чисел. Его идея заключается
в следующем.
Пусть имеется некоторое положительное дробное число
zi = 0,a1a2…a
мантиссы. Возведем это число в квадрат, в результате чего получим
удвоенное число разрядов мантиссы z
них разрядов b
следующего числа: z
меньше 1, которое содержит четное число разрядов
2n
2
= 0, b1b2…b4n. Выберем n сред-
i
и т.д.
n+1bn+2…b3n
= 0, b
i+1
и будем считать их разрядами мантиссы
n+1bn+2…b3n

36
Представленный метод имеет ряд существенных недостатков, которые ограничивают его применение.
1. Наличие статистической зависимости между членами форми-
руемой последовательности чисел.
2. Возможность быстрого вырождения последовательности чи-
сел. Если некоторое число zi будет равно 0,0000, то и все последующие также будут равны 0,0000.
3. Возможность быстрого зацикливания. Например, если
zi = 0,2500, то z
k = 1, 2, … .
Линейный конгруэнтный метод. В основе этого метода лежит
понятие конгруэнтности целых чисел. Два целых числа называют конгруэнтными (сравнимыми) по модулю m, если выполняются два условия:
1) разность этих чисел делится на m без остатка;
2) каждое из этих чисел дает одинаковый остаток от деления на
целое число m.
В основе линейного конгруэнтного метода лежит детерминированная процедура генерации чисел на основе следующего соотношения:
где Zi – целые числа;
m – большое целое положительное число (модуль);
a – множитель, такой, что 0 < a < m;
c – приращение, 0 ≤ c < m. Здесь a и c – целые числа.
Если задать начальное значение Z0 в интервале [0, m), то представленная формула будет порождать последовательность целых чисел
Zi из диапазона от 0 до m-1, которые появляются с примерно равной
вероятностью. Для формирования случайных чисел из диапазона от 0
до 1 значения Zi делят на модуль:
= 0,2500, если zi = 0,2600, то z
i+k
Z
= (aZi + c) mod m, (3.1)
i+1
= 0,7600, где
i+k
zi = Zi / m.
Поскольку приращение может быть равно 0, то линейный конгруэнтный метод может быть также реализован с помощью следующей
процедуры:
Z
= aZi mod m. (3.2)
i+1
Процедура, соответствующая формуле (3.1), называется смешанной, а для формулы (3.2) – мультипликативной.

37
Формулы (3.1), (3.2) порождают периодические последовательности чисел. Это связано с ограниченной разрядностью данных, обрабатываемых в ЭВМ.
Например, если m = 10, Z0 = a = c = 7, то по формуле (3.1) получим:
7, 6, 9, 0, 7, 6, 9, 0, 7, … .
В общем случае при генерации чисел конгруэнтным методом всегда найдется некоторое число ZL, которое совпадет с ранее сформированным числом Zl (l < L). Тогда все последующие числа также будут
совпадать с ранее сформированными:
Z
= Z
l + k
.
L+k
Наименьшее значение L, удовлетворяющее таким условиям, называется длиной отрезка апериодичности. Величину p = L – l называют длиной периода. Значения L и p являются основными характеристиками датчиков случайных чисел, построенных на основе конгруэнтного метода. Доказано [10], что существует много комбинаций чисел m и a, при которых длина отрезка апериодичности
L = p = m-1. Поэтому модуль m стремятся выбрать максимальным из
возможных.
Использование смешанной процедуры позволяет еще более увеличить значение L за счет появления участка [z0, zl].
В настоящее время все известные датчики случайных чисел, входящие в библиотеки стандартных подпрограмм, основаны на линейном конгруэнтном методе. Для стандартной длины вещественных чисел указанные характеристики p и L находятся в пределах 3...5 млн
чисел.
3.3. Моделирование случайных событий
Для моделирования некоторого события A, наступающего с вероятностью 0, производится обращение к стандартному датчику случайных чисел.
Если z ≤ 0, то считают, что наступило событие . Если z > 0, то
противоположное событие
. Такой подход к моделированию событий
удобно иллюстрировать геометрически. Для этого рассматривается
участок числовой оси от 0 до 1. На нем откладывается величина 0 и
выполняется обращение к стандартному датчику случайных чисел
zi (0, 1). Если zi (0, 0], то наступило событие , если zi (0, 1), то
противоположное событие
.
Аналогичный подход применяется при моделировании полной
группы несовместных событий. Это группа событий, такая что в результате случайного опыта обязательно наступает одно из этих собы-

38
i
j
ji
pl
1
x1
x2
x3
x4
1
2
3
4
тий. Пусть события A1, A2, …, Ak составляют полную группу несовместных событий, наступающих с вероятностями 1, 2, …, k соответственно, где 1+ 2 + … + k = 1. Поскольку сумма вероятностей этих событий равна единице, то для моделирования можно использовать точно такой же подход, как и в предыдущем случае. Рассматривается участок единичной длины, который делится на k интервалов длиной
, 2, …, k c границами l0, l1, …, lk, где
1
; l0=0; lk =1.
Затем выполняется обращение к стандартному датчику случайных чисел zi (0, 1). Если zi (l
3.3.1. Моделирование дискретной случайной величины
Пусть необходимо выполнить моделирование дискретной величины X, закон распределения которой представлен в табл. 3.1
Задача заменяется эквивалентной задачей. Переходим к полной
группе несовместных событий:
A1 = {X = x1}; A2 = {X = x2}; …, Ak = {X=xk}.
Процесс моделирования осуществляется аналогично полной
группе несовместных событий с одним изменением: результатом работы моделирующей процедуры является не факт наступления некоторого события, а значение случайной величины, соответствующее этому
событию.
, li], то наступило событие Ai.
i-1
Таблица 3.1
3.4. Моделирование непрерывной случайной величины
Рассмотрим наиболее известные методы моделирования непрерывных случайных величин.
3.4.1. Метод обратных функций
Пусть требуется разработать алгоритм формирования последовательности случайных чисел, которые являются значениями случайной
величины X, имеющей заданный закон распределения.
Закон распределения может быть задан функцией распределения
=F(x) или плотностью распределения f(x).

39
).1ln(1zx
Если аргумент изменяется от –∞ до +∞, то значение 0<y<1. Доказано, что если случайная величина X имеет плотность распределения
то величина y = F(x) является равномерно распределенной на участке
от 0 до 1. Это позволяет предложить следующий подход к решению
задачи.
Получаем значение y с помощью датчика случайных чисел c равномерным распределением от нуля до единицы, т.е. z = F(x). Отсюда
получаем . Это означает, что для моделирования случайной
величины x необходимо просто пересчитать последовательность значений zi, полученных от стандартного датчика, в последовательность
значений .
Метод обратных функций является универсальным, точным методом. Однако его применение ограничено двумя факторами:
1) для моделируемой случайной величины необходимо иметь
аналитическое выражение функции распределения;
2) часто такой интеграл можно получить в аналитическом виде,
который является слишком громоздким и требует больших
временных затрат на формирование случайных чисел.
Пример. Для моделирования СВ с показательным законом распределения, где плотность вероятности f(x) = e
ления F(x) = 1 - e
-x
и - параметр распределения, полагаем, что
z = F(x), где z (0, 1) – случайное число с равномерным распределением, полученное от стандартного датчика. Тогда z = 1 - e
-x
e
= 1 - z. Отсюда имеем ln(e
окончательно получаем
-x
, функция распреде-
-x
-x
) = ln(1- z) и далее: -x = ln(1- z). Тогда
или
3.4.2. Метод исключения (метод отбора)
На практике кроме точных методов, подобных методу обратных
функций, также широко применяют приближенные методы формирования случайных величин.
Методы можно разделить на 2 группы:
- универсальные, которые могут использоваться для любых зако-
нов распределения;
- специализированные (не универсальные), ориентированные на
какой-либо конкретный закон распределения.

40
f(x)
x
a
b
x
f
max
Метод отбора относится к группе универсальных методов. Для
его применения требуется аналитическое описание плотности распределения f(x). Изобразим идею данного метода в следующем виде (рис.
3.1).
Рис. 3.1
Будем формировать случайные точки, попадающие в прямоугольник со сторонами (a, b) и (0, f
Для этого определим их координаты как
где z1 и z2 – значения, получаемые со стандартного датчика.
Предположим, что все формируемые случайные точки попадают
под кривую распределения. Учитывая сказанное, можно считать, что
абсциссы точек, попадающих под кривую, представляют собой приближенные значения случайной величины с заданным законом распределения. Отсюда можно предложить следующий алгоритм моделирования:
1. Сформировать точку со случайными координатами (
2. Проверить, попадает ли эта точка под кривую распределения,
т.е.
. Если да, то принять за СВ xi =
3. Если условие не выполняется, то не рассматривать сформиро-
ванную точку и перейти к п.1.
4. Повторять пункты 1-3 необходимое число раз.
), как это показано на рис. 3.1.
max
.
,
).
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
