Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Алгоритмы и программные средства имитационного моделирования систем. Учебное пособие
.pdf
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
