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

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

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
41
f1(x)
x
1
1
f2(x)
x
1
1
2
f3(x)
x
1
0.75
2 3
f6(x)
x
3
2
1
f1(x)
f2(x)
f3(x)
f6(x)
x x x
x
3.4.3. Формирование случайных величин с нормальным законом распределения
В качестве примера специализированного метода рассмотрим ме­тод формирования случайных чисел с нормальным законом распреде­ления. Он основан на использовании центральной предельной теоремы теории вероятностей. Согласно этой теореме, при сложении достаточ­но большого числа независимых случайных величин с одинаковыми законами распределения получается случайная величина с нормаль­ным распределением.
. Действие этой теоремы распространяется и на сумму величин с разными законами распределения.
На практике для получения нормального распределения доста­точно сложить 6 экземпляров случайного числа, равномерно распреде­ленного на участке от 0 до 1.
Пример. Пусть 1, 2, …, 6 – независимые случайные величины, каждая из которых распределена по закону f1(x) (рис. 3.2, а). Тогда сумма случайных величин 1+2 будет СВ, распределенной по закону Симпсона или равнобедренного треугольника (рис. 3.2, б). Далее сум­ма случайных величин 1+2+3 будет СВ, распределенной по парабо­лическому закону (рис. 3.2, в). Продолжая дальше, в результате полу­чаем СВ
Y = 1 + 2 +…+ 6,
которая будет иметь итоговое распределение близкое к нормальному, как это показано на рис. 3.2, г.
а б в г
Рис. 3.2
Чтобы получить заданные значения математического ожидания
 и среднеквадратического отклонения
, необходимо использовать
следующую формулу:
  
󰇛  󰇜 
42
T
i
T
1
t
1
t
2
t
i
t
i+1
t
T T
t t t t
t
3.5. Моделирование случайных процессов
Одним из вариантов случайного процесса является поток собы­тий. Моменты наступления событий в потоке образуют случайный процесс. Наиболее просто выполняется моделирование потоков с ог­раниченным последействием, к которым, в частности, относятся и простейшие потоки.
Рис. 3.3
Если представить поток как последовательность некоторых собы­тий во времени, которые происходят в моменты времени ti, i = 1, 2, …, то интервалы Ti = t
- ti, i = 1, 2, , между соседними событиями в
i+1
потоке с ограниченным последействием будут являться независимыми значениями непрерывной случайной величины. В частности, для про­стейшего потока Ti – значение случайной величины с показательным распределением.
Моделирование таких потоков сводится к получению последова­тельности значений случайной величины с заданным законом распре­деления.
Например, чтобы выполнить моделирование простейшего потока, достаточно задать момент появления начального события t0, а момент наступления каждого последующего события будет рассчитываться следующим образом:
t1 = t0 + T0; t2 = t1 + T1;
. . .
t
= ti + Ti,
i+1
где T0, T1, …, Ti – значения непрерывной случайной величины с задан­ным законом распределения.
Задания
Задание 3.1. Формирование случайной величины по равномерно-
му закону распределения.
1. Разработать программу, которая формирует n значений
x1, x2, …, xn СВ , равномерно распределенной на участке (0; 1). Ис­пользовать линейный конгруэнтный метод, где для формул (3.1) и (3.2)
43
Возможное значение
x1
x2 … xk
Вероятность появления
p1
p2 … pk
Число
опытов N
Частоты
появления значений
x1
x2 … xk
100
500
1000
5000
10000
параметры a, c, m выбрать в соответствии с рекомендациями, приве­денными в п. 3.2.1.
2. Определить для каждого случая отрезок апериодичности и сде-
лать выводы о применимости такого метода.
Задание 3.2. Моделирование дискретной случайной величины
1. Разработать подпрограмму датчика случайных чисел, которая
при каждом обращении обеспечивает формирование одного случайно­го числа с законом распределения, заданным табл. 3.2.
Таблица 3.2
Значение k ≥2 и соответствующие величины xi, pi (i = 1,2,…, k) должны задаваться в качестве исходных данных. При этом должно выполняться условие
p1 + p2 + … + pk = 1.
2. Разработать программу исследования датчика случайных чи-
сел, которая выполняет серию из N обращений к датчику и подсчиты­вает частоты появления соответствующих значений xi (i = 1,2,…, k)
= ni /N,
где ni – количество появлений случайной величины xi в N опытах.
3. Исследовать разработанный датчик случайных чисел и запол-
нить табл. 3.3.
Таблица 3.3
44
Для генерации случайных чисел использовать следующий алго­ритм:
1) разбить единичный интервал (0; 1) на k участков (l
ной pi (i = 1, 2,…, k), где границы этих участков:
l0 = 0; l1 = p1; l2 = p1 + p2; … l
= p1 + p2 +…+ p
k-1
lk = p1 + p2 +…+ pk = 1;
k-1
;
2) получить случайное число z, равномерно распределенное в ин-
тервале (0; 1), от встроенного датчика случайных чисел;
3) если l0 z l1, то возвратить число x1,
если l
4) повторять пп. 2, 3 необходимое число раз (N опытов).
< z li, то возвратить число xi (i = 2, 3, …, k);
i-1
Задание 3.3. Формирование случайных чисел с нормальным за­коном распределения суммированием n независимых случайных вели­чин, равномерно распределенных на участке (0;1).
1. Разработать программу, которая формирует 90 случайных чи­сел x1, x2,…, x90. Каждое число xi определяется как сумма n независи­мых случайных величин, равномерно распределенных на участке
(0; 1).
 Величина n может принимать значения 5, 6, 7, …, 10.
2. Выполнить статистическую обработку полученных данных.
2.1. Построить гистограмму и полигон.
2.2. Определить оценки математического ожидания и дисперсии.
2.3. Построить выравнивающую кривую распределения (по нор­мальному закону), сравнить ее с гистограммой (полигоном).
3. Определить соответствие экспериментальных данных (гисто­граммы) и выравнивающей кривой по критерию 2 Пирсона.
. Пункты 2 и 3 выполняются по методике, приведенной
в задании 2.2.
Задание 3.4. Формирование случайных чисел с нормальным за-
коном распределения для заданных значений математического ожида­ния mx и среднеквадратического отклонения
.
x
1. Разработать программу формирования случайных чисел x1, x2,…, x90 с требуемым законом распределения.
Использовать следующий алгоритм:
1) сложить 6 экземпляров случайных чисел с равномерным рас­пределением на участке (0;1) и получить y = z1 + z2 +…+ z6;
2) получить искомую случайную величину по формуле
; li) c дли-
i-1
45
)1ln(1zx
x = 2(y 3)
3) повторять шаги 1 и 2 необходимое число раз.
2. Выполнить статистическую обработку полученных данных.
3. Определить соответствие экспериментальных данных (гисто­граммы) и выравнивающей кривой по критерию 2 Пирсона.
Задание 3.5. Моделирование непрерывной случайной величины
методом обратных функций.
1. Разработать подпрограмму датчика случайных чисел, которая при каждом обращении обеспечивает формирование одного случайно­го числа с показательным законом распределения (плотность вероят­ности f(x) = e
-x
, функция распределения F(x) = 1 - e
метр распределения).
Для генерации случайных чисел использовать следующий алго-
ритм:
1) получить случайное число z, равномерно распределенное в ин­тервале (0; 1), от встроенного датчика случайных чисел;
2) преобразовать число z в случайное число
с показательным законом распределения;
3) повторять пп. 1, 2 необходимое число раз.
2. Выполнить генерацию 90 случайных чисел с показательным законом распределения для заданного параметра .
3. Выполнить статистическую обработку полученных данных.
4. Определить соответствие экспериментальных данных показа-
тельному закону распределения по критерию 2 Пирсона.
+ mx;
x
-x
, где  - пара-
46
4. МОДЕЛИРОВАНИЕ СИСТЕМ МАССОВОГО ОБСЛУЖИВАНИЯ
В основе таких моделей лежит раздел теории вероятностей, назы­ваемый теорией массового обслуживания. Предметом изучения этой теории являются массовые случайные явления и их закономерности. Основным понятием теории массового обслуживания является система массового обслуживания (СМО), которая представляет собой абст­рактное описание некоторой прикладной системы, предназначенной для многократного решения однотипных задач (или выполнения одно­типных действий). Функционирование таких систем разного вида объ­единяется термином «процесс обслуживания».
Примерами могут служить: выполнение заданий в вычислитель­ной системе; обработка деталей в заводских цехах; сборка изделий на конвейере; обслуживание клиентов и покупателей.
4.1. Классификация систем массового обслуживания
В СМО различают два типа объектов:
статические объекты;
динамические объекты.
Статические объекты называются обслуживающими устройства­ми. Они предназначены для моделирования процессов обслуживания. Динамические объекты называются заявками или требованиями на обслуживание. При моделировании процессов функционирования различных систем динамические объекты перемещаются в простран­стве статических объектов, в результате чего изменяется состояние исследуемой системы.
Обслуживающие устройства делятся на два класса.
1. Одноканальные устройства (обслуживающие приборы). Модель
обслуживающего прибора представляется как черный ящик с одной
характеристикой , которая задает время обслуживания заявки в при­боре. Графически он представляется следующим образом (рис. 4.1). Величина может быть детерминированной или случайной со своим законом распределения. Обратная величина   называется ин­тенсивностью обслуживания.
Рис. 4.1
47
. . .
Заявка может поступить в прибор на обслуживание только в том
случае, если прибор свободен, т.е. не занят обслуживанием другой за­явки.
2. Многоканальные устройства (МКУ). Здесь обслуживающее
устройство содержит несколько каналов обслуживания, работающих параллельно. При этом заявка поступает на обслуживание, если есть свободный канал. Основными характеристиками МКУ являются:
k - число каналов обслуживания;
 =  = Графически МКУ представляется в виде, показанном на рис. 4.2.
Принципиальным отличием многоканального устройства от при­бора является то, что на обслуживании одновременно может находить­ся несколько заявок. При поступлении заявки на вход многоканально­го устройства она с равной вероятностью входит на обслуживание в любой свободный канал, если такой имеется. В отдельных случаях заявка может занимать сразу несколько свободных каналов, если их достаточно.
Функционирование отдельных СМО представляется как процесс прохождения заявок через обслуживающее устройство. При поступле­нии заявки на вход занятого устройства возможно два варианта про­должения процесса.
1. Заявка удаляется из системы без обслуживания. Такие СМО на-
зывают СМО с отказами. Чтобы формально представить СМО с отка­зами, достаточно задать источник заявок и точку выхода заявок из сис­темы, как это показано на рис. 4.3.
– время обслуживания в канале.
Рис. 4.2
48
. . .


Рис. 4.3
Здесь – это величина, которая характеризует входной поток заявок и называется его :
где T – интервал времени между соседними заявками в потоке (детер­минированная или случайная величина с заданным законом распреде­ления);
' – интенсивность выходного потока. Для СМО с отказами '  . Аналогично можно определить и многоканальную СМО с отказами (рис. 4.4).
2. Заявки образуют очередь на входе обслуживающего устройства.
Такие СМО называют СМО с ожиданием. Очередь графически изо­бражается следующим образом (рис. 4.5).
В зависимости от объема допустимой очереди различают:
СМО с неограниченной очередью; СМО с очередью ограниченной длины.
  
Рис.4.4
Рис. 4.5
49



. . .
. . .
Произвольные структуры из обслуживающих приборов и много-
канальных устройств называют сетями СМО. Различают два вида се­тей: открытые (разомкнутые) сети и замкнутые сети.
Для открытой сети всегда существуют внешние источники заявок
и точки выхода заявок из системы. Например, модель двухступенчато­го конвейера показана на рис. 4.6. В общем случае в открытых сетях СМО точек входа и выхода заявок может быть сколько угодно много.
Для замкнутой сети не существует внешних источников заявок. В
ней всегда находится одно и то же количество заявок. Примером про­стейшей замкнутой сети является известная в теории массового об­служивания система с отказами и восстановлениями (рис. 4.7). В этой системе постоянно находится n заявок, которые появляются при отказе устройств, расположенных слева. Если устройство вышло из строя (произошел отказ), то от него поступает заявка на ремонт к бригаде из m ремонтников. Эта заявка ставится в очередь. Отремонтированное устройство восстанавливает работоспособность, что показано обрат­ной связью.
Рис. 4.6
Рис. 4.7
Эта же сеть применяется при моделировании вычислительной
системы, работающей в режиме запрос-ответ. Пользователь (один из n) не может послать новый запрос к системе до тех пор, пока не получит ответ на предшествующий запрос, который может быть обработан од­ним из m компьютеров. В таком режиме работают, например, автома­тизированные системы продажи билетов.
50

Пример. Представить в виде сети СМО систему следующего ви-
да. Банк данных распределенной информационной системы организо­ван на базе двух компьютеров, соединенных с терминалами потреби­телей дуплексным каналом связи. Поступающий запрос обрабатывает­ся на первом компьютере, и 1/3 информации обнаруживается на месте. В противном случае необходима посылка запроса во второй компью-
тер. Запросы в систему поступают через 10 3 с, передача запроса по каналу связи занимает 4 с, первичная обработка в 1-м компьютере од­ного запроса занимает 3 с, формирование ответа требует
12 4 с, а пересылка ответа - 5 2 с. Первичная обработка запроса во втором компьютере занимает 5 с, формирование ответа - 25 5 с, а пересылка ответа по каналу связи - 5 3 с.
Для представления системы в виде сети СМО будем использовать
следующие объекты. Дуплексный канал связи будем моделировать как два одноканальных обслуживающих устройства (прибора) CH_IN и
CH_OUT, которые моделируют два направления передачи данных:
- запрос от потребителей в банк данных (CH_IN) по каналу 1;
- ответ из банка данных потребителям (CH_OUT) по каналу 2.
Компьютеры также представим как обслуживающие приборы:
- первый компьютер CMP1;
- второй компьютер CMP2.
Входные и выходные буферы первого и второго компьютеров опишем в виде очередей с именами BUF1_IN, BUF1_OUT и BUF2_IN, BUF2_OUT соответственно.
Схема модели банка данных, представленная в виде разомкнутой
сети СМО, изображена на рис. 4.8, где P1 – источник заявок на обслу­живание, моделирующих запросы от потребителей, P2 – точка выхода обслуженных заявок из сети СМО (получение ответов потребителями).
Рис. 4.8
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]