
- •3.2. Построение концептуальных моделей систем и их формализация
- •3.3. Алгоритмизация моделей систем и их машинная
- •2.7. Верификация и проверка достоверности схемы программы.
- •3.4. Получение и интерпретация результатов
- •2.3. Дискретно-детерминированные модели
- •2.2. Непрерывно-детерминированные модели
- •2.5. Непрерывно-стохастические модели
- •2.4. Дискретно-стохасгичеосие модели
- •2.6. Сетевые модели (n-схемы)
- •8.2. Моделирование процессов
- •2.2.4. Стандартные числовые атрибуты
2.6. Сетевые модели (n-схемы)
В практике моделирования объектов часто приходится решать задачи, связанные с формализованным описанием и анализом причинно-следственных связей в сложных системах, где одновременно параллельно протекает несколько процессов. Самым распространенным в настоящее время формализмом, описывающим структуру и взаимодействие параллельных систем и процессов, являются сети Петри (англ. Petri Nets), предложенные К. Петри [28, 30].
Основные соотношения. Теория сетей Петри развивается в нескольких направлениях: разработка математических основ, структурная теория сетей, различные приложения (параллельное программирование, дискретные динамические системы и т. д.).
Формально сеть Петри (N-схема) задается четверкой вида
где В — конечное множество символов, называемых позициями, В ≠Ø; D — конечное множество символов, называемых переходами, D≠Ø, В ∩D ≠Ø ; I—входная функция (прямая функция инцидентности), I: ВхD→-{0, 1}; О — выходная функция (обратная функция инцидентности), О : D х В→ {0,1}. Таким образом, входная функция отображает переход dj в множество входных позиций bi € I(dj), а выходная функция О отображает переход dj в множество выходных позиций bi € D(dj). Для каждого перехода
di€ D можно определить множество входных позиций перехода I(dj) и выходных позиций перехода О(dj) как
Аналогично, для каждого перехода bi€В вводятся определения множества входных переходов позиции I(bi) и множества выходных переходов позиции I(bi):
Графически N-схема изображается в виде двудольного ориентированного мультиграфа, представляющего собой совокупность позиций и переходовние N-схемы (рис. 2.8). Как видно из этого рисунка ,граф N-схемы имеет два типа узлов :позиции и переходы, изображаемые 0 и 1 соответственно. Ориентировочные дуги соединяют позиции и переходы, причем каждая дуга направлена от элемента одного множества (позиции или перехода) к элементу другого множества (переходу или позиции). Граф N-схемы является мультиграфом, так как он допускает существование кратных дуг от одной вершины к другой.
Пример 2.7. Представим формально N-схему, показанную в виде графа на рис. 2.7:
Возможные приложения. Приведенное представление N-схемы может использоваться только для отражения статики моделируемой системы (взаимосвязи событий и условий), но не позволяет отразить в модели динамику функционирования моделируемой системы. Для представления динамических свойств объекта вводится функция маркировки (разметки) М: В→{О, 1, 2, ...}. Маркировка М есть присвоение неких абстрактных объектов, называемых метками (фишками), позициям N-схемы, причем количество меток, соответствующее каждой позиции, может меняться. При графическом задании N-схемы разметка отображается помещением внутри вершин-позиций соответствующего числа точек (когда количество точек велико, ставят цифры).
Маркированная (размеченная) N-схема может быть описана в виде пятерки NM = ‹B, D, I, О, М› и является совокупностью сети Петри и маркировки М [28, 30].
Функционирование N-схемы отражается путем перехода от разметки к разметке. Начальная разметка обозначается как Мо : В→ {0, 1, 2, ...}. Смена разметок происходит в результате срабатывания
одного из переходов dj εD сети. Необходимым условием срабатывания перехода dj является btel(dj) {M(bi)^l}, где M{bt} — разметка позиции Ьг. Переход dh для которого выполняется указанное условие, определяется как находящийся в состоянии готовности к срабатыванию или как возбужденный переход.
Срабатывание перехода dj изменяет разметку сети М(b) = =(M(b1), M(b2), ..., M(bn))2 на разметку М'(b) по следующему правилу:
т. е. переход dj изымает по одной метке из каждой своей входной позиции и добавляет по одной метке в каждую из выходных позиций. Для изображения смены разметки М на М' применяют обозначение М |dj_М'.
Пример 2.8. Рассмотрим размеченную N-схему с начальной разметкой Мо={1, 0, 0, 0, 1, 0, 1}, которая приведена на рис. 2.9, а. При такой начальной разметке N-схемы единственным готовым к срабатыванию является переход d2, срабатывание
которого ведет к смене разметки Мо |-2 М1, где M1 = {0, 1, 1, 0, 1, 0, 1} (рис. 2.9, б). При разметке М1 возможно срабатывание переходов d1, d3 и d5. В зависимости от того, какой переход сработал первым, получается одна из трех возможных новых маркировок (рис. 2.9, в, г. д). Функционирование N-схемы продолжается до тех пор, пока существует хотя бы один возможный переход.
Таким образом, N-схема выполняется путем запусков переходов под управлением количества меток и их распределения в сети. Переход запускается удалением меток из его входных позиций и образованием новых меток, помещаемых в выходные позиции. Переход может запускаться только тогда, когда он разрешен. Переход называется разрешенным, если каждая из его входных позиций имеет число меток, по крайней мере равное числу дуг из позиции в переход.
Пример 2.9. Для некоторой заданной размеченной N-схемы (ряс. 2.8) с начальной маркировкой Мо = {1, 2, О, 0, 1} (рис. 2.10, а) разрешенным является только переход d1, а остальные переходы d2, d3 и d4 — запрещенные. В результате выполнения этого перехода получим новую размеченную N-схему (рис. 2.10, б). Теперь разрешены переходы d2 и d%; в результате их запуска получим новую размеченную N-схему. Переходы d2 и d3 находятся в конфликте, так как запущен, может быть только один из них. Например, при запуске d3 получим сеть, показанную на рис. 210, в. Теперь разрешен только переход d4. и получим новую размеченную сеть (рис. 2.10, г). Теперь разрешено два перехода: d2 и d3 (в конфликте). Запустим переход d2 (рис. 2.10, д). Теперь ни один переход не может быть запущен и выполнение сети прекращается.
Важной особенностью "моделей процесса функционирования систем с использованием типовых N-схем является простота построения иерархических конструкций модели. С одной стороны, каждая N-схема может рассматриваться как макропереход или макропозиция модели более высокого уровня. С другой стороны, переход, или позиция N-схемы, может детализироваться в форме отдельной подсети для более углубленного исследования процессов в моделируемой системе. Отсюда вытекает возможность эффективного использования N-схем для моделирования параллельных и конкурирующих процессов в различных системах.
Типовые N-схемы на основе обычных размеченных сетей Петри пригодны для описания в моделируемой системе S событий произвольной длительности. В этом случае модель, построенная с использованием таких N-схем, отражает только порядок наступления событий в исследуемой системе S. Для отражения временных параметров процесса функционирования моделируемой системы S на базе N-схем используется расширение аппарата сетей Петри: временные сети, ii-сети, сети Мерлина и т. д. [19]. Детально вопросы, связанные с имитационным моделированием с использованием N-схем, будут рассмотрены далее.
77777777777777777777777777777777777777777777777777777777777777777777777777777777777
Конгруэнтные процедуры генерации. Широкое применение при моделировании систем на ЭВМ получили конгруэнтные процедуры генерации псевдослучайных последовательностей, представляющие собой арифметические операции, в основе которых лежит фундаментальное понятие конгруэнтности. Два целых числа а и β конгруэнтны (сравнимы) по модулю т, где т — целое число, тогда и только тогда, когда существует такое целое число к, что a— β =km, т. е. если разность а— β делится на т и если числа α и β дают одинаковые остатки от деления на абсолютную величину числа т. Например, 1984=4 (mod 10), 5008 = 8 (mod 103) и т. д.
Конгруэнтные процедуры являются чисто детерминированными, так как описываются в виде рекуррентного соотношения, когда функция (4.9) имеет вид
Если заданы начальное значение Х0, множитель λ и аддитивная константа μ, то (4.11) однозначно определяет последовательность целых чисел {Xi}, составленную из остатков от деления на М членов последовательности {λiX0 + μ(λi - 1)/(λ - 1)}. Таким образом, для любого i ≥ 1 справедливо неравенство Xi < M. По целым числам последовательности {Xi} можно построить последовательность {хi} = {Xi/M} рациональных чисел из единичного интервала (0, 1).
Конгруэнтная процедура получения последовательностей псевдослучайных квазиравномерно распределенных чисел может быть реализована мультипликативным либо смешанным методом.
88888888888888888888888888888888888888888888888888888888888888888888888888888888888
Мультипликативный метод. Задает последовательность неотрицательных целых чисел {Xi}, не превосходящих М, по формуле
т. е. это частный случай соотношения (4.10) при μ= 0.
В силу детерминированности метода получаются воспроизводимые последовательности. Требуемый объем машинной памяти при этом минимален, а с вычислительной точки зрения необходим последовательный подсчет произведения двух целых чисел, т. е. выполнение операции, которая быстро реализуется современными ЭВМ.
Для машинной реализации наиболее удобна версия М = рg, где р - число цифр в системе счисления, принятой в ЭВМ (р = 2 для двоичной и р = 10 для десятичной машины); g - число битов в машинном слове. Тогда вычисление остатка от деления на М сводится к выделению g младших разрядов делимого, а преобразование целого числа Хi в рациональную дробь из интервала хi ∈ (0, 1) осуществляется подстановкой слева от Xi, двоичной или десятичной запятой.
Алгоритм построения последовательности для двоичной машины М = 2g сводится к выполнению таких операций [31, 36, 46]:
1. Выбрать в качестве Х0 произвольное нечетное число.
2. Вычислить коэффициент λ = 8t ± 3, где t - любое целое положительное число.
3. Найти произведение λХ0, содержащее не более 2g значащих разрядов.
4. Взять g младших разрядов в качестве первого члена последовательности X1, а остальные отбросить.
5. Определить дробь х1 = Х1/2g из интервала (0, 1).
6. Присвоить Х0 = Х1.
7. Вернуться к п. 3.
Пример 4.4. Необходимо получить числа последовательности для случая g = 4, используя приведенный алгоритм мультипликативного метода. Для этого выполняем следующие действия: 1. Выбираем Х010 = 7 (в десятичной системе счисления) или Х0 = 0111 (в двоичной системе счисления). 2. Найдем t = 1, тогда λ10 = 11 или 5; пусть λ10 = 5, λ = 0101. 3. Рассчитываем произведение λХ0, берем g младших разрядов, вычисляем Х1 и присваиваем Х0 = Х1, т. е. выполняем п. 3 - 7 алгоритма:
99999999999999999999999999999999999999999999999999999999999999999999999999999999999
Смешанный метод. Позволяет вычислить последовательность неотрицательных целых чисел {Хi}, не превосходящих М, по формуле
т. е. в отличие от мультипликативного метода μ ≠ 0 вычислительной точки зрения смешанный метод генерации сложнее мультипликативного на одну операцию сложения, но при этом возможность выбора дополнительного параметра позволяет уменьшить возможную корреляцию получаемых чисел.
Качество конкретной версии такого генератора можно оценить только с помощью соответствующего машинного эксперимента.
В настоящее время почти все пакеты прикладных программ универсальных ЭВМ для вычисления последовательностей равномерно распределенных случайных чисел основаны на конгруэнтной процедуре [17, 38, 40].
10101010101010101010101010101010101010101010101010101010101010101010101010101010101
Проверка равномерности последовательностей псевдослучайных квазиравномерно распределенных чисел {хi} может быть выполнена по гистограмме с использованием косвенных признаков [4, 26]. Суть проверки по гистограмме сводится к следующему. Выдвигается гипотеза о равномерности распределения чисел в интервале (0, 1). Затем интервал (0, 1) разбивается на m равных частей, тогда при генерации последовательности {хi} каждое из чисел х с вероятностью pj = 1/m, j = 1, т, попадает в один из подынтервалов. Всего в каждый j-й подынтервал попадает Nj чисел последовательности {хi}, i = 1, N, причем N =
Nj. Относительная частота попадания случайных чисел последовательности {хi} в каждый из подынтервалов будет равна Nj/N. Вид соответствующей гистограммы для примера показан на рис. 4.11, а, где пунктирная линия соответствует теоретическому значению pj, а сплошная - экспериментальному Nj/N. Очевидно, что если числа хi - принадлежат псевдослучайной квазиравномерно распределенной последовательности, то при достаточно больших N экспериментальная гистограмма (ломаная линия на рис. 4.11, а) приблизится к теоретической прямой 1/т.
Оценка степени приближения, т. е. равномерности последовательности {хi}, может быть проведена с использованием критериев согласия. На практике обычно принимается т = 20 ÷ 50, N = (102 ÷ 103)m.
Суть проверки равномерности по косвенным признакам сводится к следующему. Генерируемая последовательность чисел {хi} разбивается на две последовательности:
Затем проводится следующий эксперимент. Если выполняется условие
то фиксируется наступление некоторого события и в счетчик событий добавляется единица. После N/2 опытов, когда генерировано N число, в счетчике будет некоторое число k ≤ N/2.
Геометрически условие (4.13) означает, что точка (х2i - 1, х2i) = 1, N, находится внутри четверги круга радиусом r = 1, что иллюстрируется рис. 4.11, б. В общем случае точка (х2i - 1, х2i) всегда попадает внутрь единичного квадрата. Тогда теоретически вероятность попадания этой точки в четверть круга
Если числа последовательности {хi} равномерны, то в силу закона больших чисел теории вероятностей при больших N относительная частота 2k/N → π/4.
11111111111111111111111111111111111111111111111111111111111111111111111111111111111
Проверка стохастичности последовательностей псевдослучайных чисел {хi} наиболее часто проводится методами комбинаций и серий [7, 11, 25]. Сущность метода комбинаций сводится к определению закона распределения длин участков между единицами (нулями) или закона распределения (появления) числа единиц (нулей) в n-разрядном двоичном числе Xi. На практике длину последовательности N берут достаточно большой и проверяют все п разрядов или только l старших разрядов числа Xi.
Теоретически закон появления j единиц в l разрядах двоичного числа Xi описывается исходя из независимости отдельных разрядов биномиальным законом распределения:
где P (j, l) - вероятность появления j единиц в l разрядах числа Хi; p(1) = p(0) = 0,5 - вероятность появления единицы (нуля) в любом разряде числа Хi; Cjl = l!/[j!/(l - j)!].
Тогда при фиксированной длине выборки N теоретически ожидаемое число появления случайных чисел Хi с j единицами в проверяемых l разрядах будет равно nj = NCjl pl (1).
После нахождения теоретических и экспериментальных вероятностей P (j, l) или чисел nj при различных значениях l ≤ n гипотеза о стохастичности проверяется с использованием критериев согласия [7, 11, 18, 21].
При анализе стохастичности последовательности чисел {хi} методом серий последовательность разбивается на элементы первого и второго рода (а и b), т. е.
где 0 < р < .
Серией называется любой отрезок последовательности, состоящий из идущих друг за другом элементов одного и того же рода, причем число элементов в отрезке (а или b) называется длиной серии.
После разбиения последовательности {хi} на серии первого и второго рода будем иметь, например, последовательность вида
...aabbbbaaabaaaabbbab... .
Так как случайные числа а и b в данной последовательности независимы и принадлежат последовательности {хi}, равномерно распределенной на интервале (0, 1), то теоретическая вероятность появления серии длиной j в последовательности длиной l в N опытах (под опытом здесь понимается генерация числа хi и проверка условия хi < p) определится формулой Бернулли:
В случае экспериментальной проверки оцениваются частоты появления серий длиной j. В результате получаются теоретическая и экспериментальная зависимости P(j, l), сходимость которых проверяется по известным критериям согласия, причем проверку целесообразно проводить при различных значениях р, 0 < р < 1 и l.
12121212121212121212121212121211212121212121212121212121212121212121212121212121212
Проверка независимости элементов последовательности псевдослучайных квазиравномерно распределенных чисел проводится на основе вычисления корреляционного момента [4].
Случайные величины ξ и η называются независимыми, если закон распределения каждой из них не зависит от того, какое значение приняла другая. Таким образом, независимость элементов последовательности {хi} может быть проверена путем введения в рассмотрение последовательности {yj} = {xi+τ}, где τ - величина сдвига последовательностей.
В общем случае корреляционный момент дискретных случайных величин ξ и τ с возможными значениями хi и yj определяется по формуле
где pij - вероятность того, что (ξ, η) примет значение (хi, yj).
Корреляционный момент характеризует рассеивание случайных величин ξ и η и их зависимость. Если случайные числа независимы, то Kξη = 0. Коэффициент корреляции
где σх—σy— средние квадратические отклонения величин ξ и η.
При проведении оценок коэффициента корреляции на ЭВМ удобно для вычисления использовать следующее выражение
При любом τ ≠ 0 для достаточно больших N с доверительной вероятностью β справедливо соотношение
Если найденное эмпирическое значение Р ζητ (τ) находится в указанных пределах, то с вероятностью β можно утверждать, что полученная последовательность чисел {х,) удовлетворяет гипотезе корреляционной независимости.
13131313131313131313131313131313131313131313131313131313131313131313131313131313131
Неравенство Чебышева. Для неотрицательной функции g (ζ) случайной величины ζ и любого К> 0 выполняется неравенство
Теорема Бернулли. Если проводится N независимых испытаний, в каждом из которых некоторое событие А осуществляется с вероятностью р, то относительная частота появления события m/'N при N→oo сходится по вероятности к р, т. е. при любом ε >0
где т — число положительных исходов испытания.
Теорема Пуассона. Если проводится N независимых испытаний н вероятность осуществления события А в i-м испытании равна pi,-, то относительная частота появления события m/N при N-→ оо сходится по вероятности к среднему из вероятностей pi т. е. при любом ε >0
Теорема Чебышева. Если в N независимых испытаниях наблюдаются значения xlt .... хк случайной величины ζ, то при N-→co среднее арифметическое значений случайной величины сходится по вероятности к ее математическому ожиданию а, т. е. при любом ε>0
Обобщенная теорема Чебышева. Еслиζ1, ..., ζn— независимые случайные величины с математическими ожиданиями а1г ..., aN и дисперсиями. σ1., σn, ограниченными сверху одним и тем же числом, то при N→00 среднее арифметическое значений случайной величины сходится по вероятности к среднему арифметическому их математических ожиданий:
Теорема Маркова. Выражение (4.6) справедливо и для зависимых случайных величин ζ1,..., ζn если только
Совокупность теорем, устанавливающих устойчивость средних показателей, принято называть законом больших чисел.
14141414141414141414141414141414141414141414141414141414141414141414141414141414141