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

Алгоритмы и программные средства имитационного моделирования систем. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
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+2b3n
= 0, b
i+1
и будем считать их разрядами мантиссы
n+1bn+2b3n
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
 

.
,
).
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]