Вы находитесь на странице: 1из 147

Министерство образования и науки Российской Федерации

Федеральное государственное автономное образовательное учреждение


высшего профессионального образования
«Северный (Арктический) федеральный университет
имени М.В. Ломоносова

В.А. Воробьёв, Ю.В. Березовская

ТЕОРИЯ СИСТЕМ И СИСТЕМНЫЙ АНАЛИЗ.


СТОХАСТИЧЕСКИЕ СИСТЕМЫ

Рекомендовано Учебно-методическим объединением


по образованию в области прикладной информатики в качестве
учебного пособия для студентов высших учебных заведений,
обучающихся по направлению 080800 «прикладная информатика
(по областям)» и другим экономическим специальностям

Архангельск
ИПЦ САФУ
2012
УДК [512.64+519.21](075.8)
ББК 22.143+22.171.5я73
В751

Рецензенты: доктор физико-математических наук, профессор кафедры


математики Архангельского государственного технического
университета В.Н. Попов; кандидат физико-математических
наук, старший преподаватель кафедры информационных тех­
нологий Поморского государственного университета имени
М.В. Ломоносова В.В. Березовский; доктор физико-матема­
тических наук, профессор, главный научный сотрудник РНЦ
имени Курчатова Л.И. Меньшиков

Воробьёв, В.А.
В751 Теория систем и системный анализ. Стохастические системы:
учебное пособие / В.А. Воробьёв, Ю.В. Березовская; Сев. (Арктич.)
федер. ун-т им. М.В. Ломоносова. - Архангельск: ИПЦ САФУ,
2012. - 147 с.
ISBN 978-5-261-00616-Я
Большая часть пособия посвящена рассмотрению стохастических
систем, точнее эргодических динамических моделей: автономный ве­
роятностный автомат, поток случайных событий, система массового
обслуживания, сложные линейные и нелинейные системы. Для ана­
лиза таких систем используются методы теории автоматов, теории ве­
роятностей, теории случайных процессов. Особенно выделяются мар­
ковские процессы, уравнения Колмогорова - Чепмена. Рассмотрены
элементы теории массового обслуживания и различные виды систем
массового обслуживания. Введены каузальные сети (К-сети) для моде­
лирования сложных систем из взаимодействующих элементов.
Для студентов прикладных математических и экономических
специальностей вузов.
УДК [512.64+519.21](075.8)
ББК 22.143+22.171.5я73

ISBN 978-5-261-00616-9 © Воробьёв В.А.,


Березовская Ю.В., 2012
© Северный (Арктический)
федеральный университет
им. М.В. Ломоносова, 2012
ОГЛАВЛЕНИЕ

Предисловие 4
Условные обозначения 6
Глава 1. Элементы общей теории систем
1.1. Система и системный анализ 10
1.2. Алгебраические модели систем 18
1.3. Динамические модели систем 25
Задачи к главе 1 31
Глава 2. Марковские системы
2.1. Марковские модели систем 32
2.2. Асинхронные марковские модели 39
2.3. Элементы теории массового обслуживания 49
Задачи к главе 2 60
Глава 3. Сложные системы '
3.1. Сложные системы и синергетика 63
3.2. Сети Петри : 65
3.3. Каузальная сеть (К-сеть) 91
3.4. Динамические модели популяций 92
3.5. Метод компьютерного моделирования популяций 105
3.6. Моделирование простых популяций 115
Задачи к главе 3 143
Библиографический список 146
ПРЕДИСЛОВИЕ

Пособие содержит краткий обзор основных идей общей тео­


рии систем: определение системы и ее основные свойства, проце­
дуры и задачи анализа и синтеза систем, конфигуратор системы,
ее общее алгебраическое описание. Основное внимание уделено
стохастическим системам, точнее, эргодическим динамическим
моделям: автономный вероятностный автомат, поток случайных
событий, система массового обслуживания, сложные линейные
и нелинейные системы, обладающие синергией, т.е. совместным,
согласованным функционированием многих элементов системы.
Последняя глава является оригинальной авторской разработкой.
Таким образом, пособие ориентирует читателя на прикладную те­
орию стохастических систем и современную синергетику.
От студента требуется некоторая математическая культура в
пределах обычного курса высшей математики. Дополнительные
понятия вводятся по мере надобности: понятия из алгебры и те­
ории алгебраических систем, автоматы, графы переходов, сети
Петри и каузальные сети (К-сети), введенные авторами для моде­
лирования синергии сложных систем из взаимодействующих эле­
ментов. К-сети являются основой для популяционного моделиро­
вания сложных систем.
Издание снабжено примерами, поясняющими основные идеи
и задачи теоретической части. В конце каждой главы есть сюжет­
ные задачи для самостоятельного решения и разбора на практиче­
ских и лабораторных работах. Как показывает опыт, наибольшие
затруднения при решении сюжетных задач у студентов вызывает
переход от словесной формулировки к математической. При этом
особенно трудно осваивается задание системы интенсивностей
переходов в единой системе единиц измерения времени для каж­
дого перехода. В сюжетных задачах эти интенсивности задаются
по-разному. Даны рекомендации о порядке решения практических
задач.
В теоретической части учебного пособия даны стандартные
методы составления уравнений для переходного и стационарного
режимов эргодических и синергетических систем. Пользуясь этой
методикой, студент может самостоятельно составлять дифферен­
циальные уравнения Колмогорова - Чепмена, уравнения динами­
ки средних для линейных систем и нелинейные уравнения для си­
стем типа хищник-жертва, боевое столкновение, конкуренция за
ресурсы и других. Практическая часть представлена примерами,
для рассмотрения которых используется программа «Популяция»,
и задачами для самостоятельного решения. Программа «Популя­
ция» предназначена для компьютерного моделирования сложных
линейных и нелинейных систем К-сетями. Она позволяет получать
динамические характеристики стохастических систем, не при­
бегая к составлению и решению дифференциальных уравнений.
Пособие включает библиографический список.
УСЛОВНЫЕ ОБОЗНАЧЕНИЯ

К= {Kj | i = \..п) - конфигуратрр;


А х В - декартово (прямое) произведение множества А на мно­
жество В;
А" - п-я декартова степень множества А;
/: А"—*. В- функция из множества А" в множество В;
А = <А, Ф> - алгебра с носителем А и сигнатурой, состоящей
из множества отношений Ф;
А = <А, Р> - модель с носителем А и сигнатурой, состоящей из
множества предикатов Р\
А = <А, Ф, Р> - алгебраическая система с носителем А и сиг­
натурой, состоящей из множества отношений Ф и множества пре­
дикатов Р;
S = <£ф, S , S , P(S$, £ ) > - алгебраическая модель системы в
c M с

общем виде;
5ф - функциональная модель системы S, в которой система
представляется «черным ящиком» с известными функциями от­
кликов на воздействия;
S - структурная модель системы S - «белый ящик»;
c

S - морфологическая модель, в которой показано, как элемен­


M

ты системы расположены в физическом пространстве;


Р(5ф, £ ), P(S , S ) - предикаты целостности, указывающие на
с C M

гомоморфизм между S§ и S или между S и S соответственно;


c c M

5 = <Х, Y, Z, F, G, Т, ZQ> - динамическая модель системы;


Д

X - множество (вектор) входных переменных, х, € X - компо­


нента вектора X;
Y - множество (вектор) выходных переменных, y € Y — компо­
t

нента У;
Z - множество (вектор) внутренних переменных - состояний,
где Zj е Z;
F - вектор-функция выхода,^- е F - компонента вектор-функ­
ции выхода, где y,{t) =fj[X(t), Z(f)];
G - вектор-функция переходов, g, G G - компонента вектор-
функции переходов, где z,{f) = g,-[Z(0), Х(т)], т е [0, t];
Х(т) - траектория входа за период времени г - последователь­
ность значений, принимаемых вектором X на множестве моментов
системного времени в сегменте г G [0, / ] ;
ZQ = {z (0), z (0),
{ 2 z„(0)} - начальное состояние системы в мо­
мент t = 0;
Autom = <А, В, Q, f g, qg> - дискретный автомат Мили;
А, В, Q - конечные алфавиты (наборы символов, букв) входа,
выхода и внутренних состояний;
/ - функция выхода вида b{t) =f[q(t), a(t));
g - функция переходов вида q(t+\) = g(q(t), a(t));
qa - исходное состояние в момент времени t = 0;
a(t), bit), q(t) - буквы из алфавитов А, В, Q, соответственно, в
момент t б Т;
G{Q, V, а : А —>V,ft: В —>V)- граф функционирования дискрет­
ного автомата;
Q - множество вершин, соответствующих состояниям автомата;
V - множество дуг, соответствующих переходам автомата со­
гласно функции переходов g;
а и р - отображения, помечающие дуги графа соответствующи­
ми символами входа и выхода;
G: А х Q —» Q - матрица переходов дискретного автомата, где
= a
Sij g(4j> i) ~ новое состояние автомата;
F: А х Q —> В - матрица выходов дискретного автомата, где
= a
fij АЧ]> i)~ выход автомата;
С, - случайный фактор, переводящий автомат из состояния в со­
стояние;
2
if : Q —> Р - функция вероятностей переходов автономного ве­
роятностного автомата;
Р - множество вероятностей рц £ [0, 1] переходов (q —* qj) из
t

i-ro состояния ву'-е, i,j G {0, 1 , 2 , п } ;


Q II Ptj II стохастическая матрица, задающая вероятности пе­
= _

реходов;
Р= {Р\^2, Р } ~ стохастический вектор, задающий распре­
п

деление вероятностей состояний;


Е - единичная диагональная матрица;
D - девиатор или D-оператор, т.е. матрица девиации (измене­
ния, отклонения) вектора Р за единичное время At = 1, D = Q - Е;
X - интенсивность потока событий, т.е. среднее число событий,
приходящихся на единицу времени;
г = УХ - средний интервал времени между событиями;
P„(t) - вероятность того, что в интервале времени [0, t] произой­
дет п событий;
G = <Q, U, а: Л —> U> — граф состояний марковского процесса,
моделирующий систему с дискретными состояниями и непрерыв­
ным временем;
Q - множество состояний системы, \Q\ = п;
2
U - множество переходов (q —> qj) Е U, U С Q ;
t

Л - множество интенсивностей переходов Ху, приписанных


отображением а дугам (переходам) графа G;
Л - матрица, задающая отображение а, в ее клетках расположе­
ны интенсивности Ху, i,j Е {О, 1, 2, п};
G(Q и Д Е) - ориентированный двудольный граф, модель сети
Петри;
Q = {q #2>---> Чп) ~ вершины-позиции, изображаются символом
h

О (кружок);
D = {d\, d ,
2 d } - вершины-переходы, изображаются симво­
m

лом | (черта);
Е C(Q х D)U(D х Q) - множество дуг;
*dj - множество входных позиций для перехода dj (множество
позиций, из которых есть дуги в переход dj);
dj* - множество выходных позиций перехода df,
Out - функция следования, которая каждой паре (d , qj) ставит в
{

соответствие число дуг кц, Out: DxQ —> К;


In - функция предшествования, которая каждой паре (q^, dj)
ставит в соответствие число дуг кц, In: QxD —> К;
M:N Q- функция маркировки, где N- множество целых не­
отрицательных чисел;
М= (M(q\), M{qi), nM(q )) - маркировка сети Петри;
К - множество весовых коэффициентов дуг: кц, кр € AT и
kjj, kjj > 0, если связи между позицией и переходом нет, то соответ­
ствующий вес ку или kjj равен нулю.
G = < Q, D, In, Out, М, R> - двудольный граф, модель каузаль­
ной сети;
M = {Nj(t) I i=\, 2,..., n) - вектор маркировки, задающий число
t

автоматов, находящихся в момент времени t в каждом из состоя­


ний множества Q (M —> 0 ;
t

R = {pj{M (*dj)) \j =1,


t т} - вектор-функция интенсивностей
переходов;
D = Out - In - .D-оператор или девиатор, оператор изменения
маркировки сети Петри (от Difference - разница, различие или
Derivative - производная, дериват);
AM - вектор-столбец длины п - изменение маркировки сети
при срабатывании любой допустимой последовательности перехо­
дов с характеристикой R;
• - матричное умножение.
Глава 1
ЭЛЕМЕНТЫ ОБЩЕЙ ТЕОРИИ СИСТЕМ

1.1. Система и с и с т е м н ы й анализ

Общепринятого строгого определения понятия система до сих


пор нет. Обычно оно обозначает совокупность элементов и связей
между ними, обладающую целостностью, т.е. свойствами, невы­
водимыми из простого суммирования свойств частей. При таком
широком понимании системность есть свойство наблюдаемого
мира. Мир - бесконечная иерархия систем.
Признаки системности:
1. Структурированность - наличие элементов, из которых со­
стоит система.
2. Взаимосвязанность составляющих систему частей.
3. Целенаправленность.
Последнее свойство характеризует системы, построенные
человеком. В любом случае человек строит системы, имея в
виду некоторую цель - решение какой-то проблемы. Посколь­
ку эта цель не может быть достигнута наличными средствами,
люди так соединяют уже имеющиеся элементы, что получен­
ная система позволяет достичь цели. Вот это новое свойство,
возникающее из соединения частей, называется эмерджент-
ность, сверхаддитивность или интегративность. Соедине­
ние частей (элементов), обладающее эмерджентностью, назы­
вается агрегированием, или композицией системы. Обратная
процедура - выделение самостоятельных подсистем, агрега­
тов - называется дезагрегированием, или декомпозицией си­
стемы.
Агрегаты, полученные при декомпозиции, сами должны быть
системами по отношению к своим частям и элементам. Иначе де­
композиция теряет смысл.
П р и м е р 1.1. А г р е г и р о в а н и е а в т о м а т о в . Пусть дан
автомат А, получающий на входе целое положительное число п, а
на выходе дающий число п+\ (рис. 1.1).

t_ Функция автомата А
'У =п+\
п у=п+\
t= 1,2,3,...-дискретное
время
_£= 0,2,4,6,8,. = n + l
А t—- • I y

jv = 1,3,5,7,... У =77+1

Рис. 1.1. Эмерджентность. Агрегирование автоматов и получение новых


свойств: а - исходный автомат с функцией^ = п + 1; б - циклическое
соединение двух автоматов, дающие систему, которая порождает
две последовательности четных и нечетных чисел; в - параллельное
соединение, увеличивающее надежность
п
Функция этого автомата^ =Л ) = п + 1.
Различные способы агрегирования таких автоматов А облада­
ют различными новыми свойствами. Так, например, соединение
этих автоматов в кольцевую структуру {рис. 1.16) позволяет полу­
чить генератор двух возрастающих последовательностей чисел,
причем одна состоит только из нечетных чисел, а вторая - только
из четных. Другой вариант соединения тех же автоматов - парал­
лельное (рис. 1.1 в) позволяет повысить надежность системы.
Задание. Придумайте еще один способ агрегирования.
Системный анализ. Агрегирование и декомпозиция являются
основными методами исследования систем, которые называются
системным анализом. Действительно, анализ, т.е. разделение си­
стемы на части разрушает ее целостность. Полное понимание си­
стемы как целого восстанавливается при ее синтезе. Итак, иссле­
дование систем есть единство анализа и синтеза - агрегирования
и дезагрегирования, композиции и декомпозиции.
Существует ли общая теория систем? Вопрос далеко не празд­
ный, поскольку процессы композиции и декомпозиции зависят от
природы системы, ее элементов и связей. Множество элементов
системы обычно называют предметной областью, или носителем.
В разных предметных областях связи между элементами и спосо­
бы системного анализа существенно различаются. В примере 1.1
мы рассмотрели агрегирование абстрактных автоматов. Связи
в этом случае - соединения (точнее, отождествления значений)
полюсов автоматов: входов и выходов. Предметная область - аб­
страктные автоматы с функцией у = п + 1. Рассмотрим другую,
более простую и реальную предметную область.
П р и м е р 1.2. А с с о р т и м е н т о б у в и . Пусть предметная об­
ласть - множество В ботинок разного размера, фасона и знака (ле­
вый, правый). Очевидно, что на множестве В можно задать следу­
ющие отношения:
1. Отношение а эквивалентности по размеру.
2. Отношение (3 эквивалентности по фасону.
3. Отношение у эквивалентности по знаку (левый - правый).
4. Отношение 8 комплементарное™ по знаку.
2
Пара {а, Ь) £В комплементарна, если а и Ъ противоположны по
знаку - один левый, другой правый.
2
Отношение - это подмножество из множества В пар элемен­
2
тов: а, р, у, 5 С В = {(a, Ъ)\а£В,Ь £В).
Отношение эквивалентности а имеет следующие свойства^
г
-рефлексивность: (а, а) € о; -
- симметричность: (а, b) £ а «-» (Ь, а) £ а;
- транзитивность [(а, Ь) £ а] Л [(Ь, с) € а] —> {а, с) £ а.
Из теории множеств известно, что каждое отношение эквива­
лентности разбивает множество на непересекающиеся классы эк­
вивалентности. Множество этих классов обозначается В/а, где
В - носитель, или предметная область. В нашем случае имеется
три разбиения на классы эквивалентности: В/ , 5/р, В/ . Пересече­
а у

ние классов эквивалентности - тоже классы эквивалентности для


пересечения отношений.
Так, разбиение В/ пр задается отношением е = аПр. Классы это­
а

го отношения содержат ботинки, одинаковые по размеру и фасону


одновременно.
Отношение комплементарности 8 не является эквивалентно­
стью. Его свойства почти противоположны:
- антирефлексивность: (а, а) $ 8;
- симметричность: (а, Ь) £ 8 <-> (Ь, а) £ 8;
- антитранзитивность: [(а, Ъ) £ 8 ] Л [ (Ь, с) £ 8] —> (а, с) 0 8.
2
Нетрудно видеть, что дополнение комплементарное™ 8 до В
есть отношение некомплементарности по знаку, т.е. эквивалент­
2
ности у: у = В - 8 = {(a, b) | (а, Ь) £ 8}.
Отношение у - эквивалентность по знаку, разбивающая множе­
ство В на два класса Вл и Вп левых и правых. Очевидно:
д С 5л х Яп, где Вл П £ п = 0.
Теперь мы можем дезагрегировать бесполезную кучу ботинок
по различным отношениям и вновь агрегировать их, получая по­
лезные свойства агрегатов.
Отношение аПрПу дает нам классы эквивалентности - кучи бо­
тинок - одинакового размера, фасона и знака. Отношение аПрПб
задает множество пар ботинок одного размера и фасона, но разно­
го знака. Агрегируя такую пару, т.е. связывая ее или укладывая в
коробку, мы получили новое свойство - эту пару можно одеть на
ноги одного человека. Это уже обувь, и мы получили множество D
пар обуви.
2
На множестве D имеют смысл только отношения а' С D и
2
Р' С D , аналогичные уже введенным ранее одноименным отно­
шениям эквивалентности по размеру и фасону, а классы эквива­
Л
лентности по отношению а П (3 образуют ассортимент обуви.
Взяв по одному представителю из каждого такого класса, мы
имеем возможность выставить их на витрину магазина для обо­
зрения. Новые агрегаты мы можем строить исходя из решаемых
задач. Так, если мы хотим одеть персонал фирмы в форменную
одежду, мы должны выбрать один из классов эквивалентности
по отношению р* (подходящий фасон) и такое количество пар из
каждого класса по а (размер), чтобы каждому сотруднику доста­
лась подходящая пара.
Рассмотренный пример показывает, что, несмотря на разноо­
бразие предметных областей, все-таки возможно единообразное
описание систем на языке алгебры.
Конфигуратор. Объекты любой предметной области вступают
в различные отношения друг с другом и с внешним миром. Таким
образом, полное описание системы должно состоять из множества
различных ее описаний, взятых в разных отношениях. Так, опи­
сание точки содержит три координаты. Множество несводящихся
друг к другу описаний системы называется конфигуратором.
К= J = 1..и},
где Kj - одно из описаний конфигуратора.
Так, например, вычислительная система может иметь такие
описания: М- математическое, Ф - функциональное, А - алгорит­
мическое, С - структурное, или схема системы, К - конструктор­
ское, Д - дизайнерское, или эргономическое, Э - эксплуатацион­
ное, Г-технологическое.
Все это множество описаний можно представить как множе­
ство К= {И Ф, А, С, К, Э, Т,.:.},
или в общем случае К= {Kj \ i= \ ..п}.
Количество описаний можно увеличить, имея в виду их раз­
личное назначение.
Ясно, что одно описание Kj не задает систему целиком. Более
того, само описание K не может быть единообразным и достаточ­
t

но точным. Чтобы достичь нужного уровня подробности и пони­


мания системы, любое описание Kj может быть подвергнуто де­
композиции и композиции. Декомпозиция позволяет разложить
Kj на элементы, которые сами являются системами более низкого
уровня и описываются уже на другом языке. Композиция делает
возможным соединить известные элементы нижнего уровня нуж­
ным образом и тем самым понять, какую систему мы проектируем.
Целостное описание системы будет получено, если все элемен­
ты Kj конфигуратора К дезагрегируются и агрегируются совмест­
но, так что элементы различных описаний одного уровня соот­
ветствуют друг другу. Таким образом, полное описание системы
представляет собой двумерный конфигуратор - матрицу
К=Щ\\,
где г - номер уровня,у - номер описания.
Все элементы строки Kj = {Кц, Кц, K } образуют конфигу­
im

ратор г'-го уровня для элементов г'-го уровня. Если таких элементов
несколько, то можно ввести еще и третье измерение, соответству­
ющее разным элементам одного уровня.
Применим эту методику для построения конфигуратора вы­
числительной системы. Рассмотрим основные описания си­
стемы М, Ф, А, К с точки зрения разных специалистов и на че­
тырех уровнях: системном, функциональном, логическом и
физическом. К специалистам, для которых будут предназначены
эти описания относятня: архитектор системы, конструктор, си­
стемный аналитик, пользователь, системный программист, си­
стемотехник, схемотехник. Соответствующий конфигуратор по­
казан в таблице 1.1.
Таблица 1.1
Конфигуратор вычислительной системы (часть) типам описания
Архитектор Конструктор
Системный Пользователь Системный
аналитик программист Системотехник Схемотехнк
Уровень
Математи­ Функциональ­ Алгоритми­ Схема Схема
ческое ное Программное электри­
ческое структурная ческая
Виртуальная Система
Системы машина параллельных Система
алгоритмов Структура
массового пользователя, процессов, вычисли­ Блок-схема
Системный функциони­ электри­
обслуживания, функции структура тельной
потоки, очереди операционной операционной рования ческая
устройств системы
системы системы
Абстрактная Проблемно-
ориентирован­ Система Алгоритмы Схема Схема
Функциональ­ машина: МТ, функциони­ функцио­ электри­
ный МП, РАМ, РАСП ные языки, команд, язык
рования нальная ческая
и т.д. редакторы ассемблера
и т.д. устройства устройства устройства
Абстрактный Сигналы Микро­ Микро­ Схемы
Логический конечный и функции команды, операции, Схема
логическая электри­
автомат терминала микрокод автоматы ческие
Математическая
модель времени: Физические Электри­
Физический дискретное, параметры Временные характеристики Операцион­ ческие
непрерывное сигналов системы. Синхронизация ный базис устройства
время и реакций и приборы
Примечание: МТ - машина Тьюринга, МП - машина Поста, РАМ - равнодоступная адресная машина.
РАСП - равно-доступная адресная машина с хранимой программой.
Мы видим, что полное описание вычислительной системы
требует привлечения разнообразных дисциплин и специалистов.
Задача усложнится, если мы попробуем описать связи между раз­
личными описаниями, например, с целью автоматизации про­
ектирования и оптимизации программных решений. Здесь нам
потребуется почти вся современная прикладная математика, за­
нимающаяся проблематикой исследования операций и оптимиза­
цией.
Задачи анализа и синтеза БИС. В этом пособии мы рассмо­
трим только отношения между функционально-алгоритмиче­
скими описаниями, схемами и конструкторскими описаниями.
Оказывается, между ними существует возможность формального
перехода на функциональном и логическом уровнях {рис. 1.2).

Верхний (функциональный) уровень

Алгоритм Схема , Схема Конструкция


функциони­ функцио­ электричес­ процессора
рования нальная кая функцио­ (параметры
нальная СБИС)
к

Схема
Автомат Схема электриче­ БИС,
логическая ская 4 СБИС
логическая

Рис. 1.2. Связи между описаниями процессора


вычислительной машины на разных уровнях подробности

Движение на рисунке 1.2 сверху вниз - это аналитическая де­


композиция, снизу вверх - синтетическое агрегирование. Дви­
жение слева направо - это задача синтеза структурной модели
системы по функциональной модели, справа налево - это зада­
ча анализа системы, т.е. получение функциональной модели по
структурной.
Задачи анализа и синтеза являются центральными при разра­
ботке информационно-вычислительной техники. Их решение тре­
бует применения супер ЭВМ.
Задача синтеза ставится так. Дано алгоритмическое описание
устройства, абстрактный автоматный базис (логический базис) и эле­
ментный базис. Требуется получить схемы от функционально-логи­
ческой до БИС или СБИС. Задача имеет множество решений, и труд­
ность состоит в выборе наиболее приемлемого по многим критериям.
Задача анализа заключается в получении функциональной мо­
дели имеющейся конструкции. При переходе от схемы логической
к автомату эта проблема решается довольно просто. Если же мы
хотим построить функциональную модель СБИС, для которой нет
никакой документации, то задача почти безнадежна.
На рисунке 1.3 показаны этапы анализа некоторого, например,
кодирующего устройства с целью получения доступа к его функ­
циональному описанию, т.е. к принципу кодирования. При этом
можно последовательно строить все упомянутые модели устрой­
ства: черный, серый и белый ящики, - после чего решается задача
получения функции F(x). Можно пропустить этапы серого и бело­
го ящиков и исследовать черный ящик, подавая сигналы на вход и
записывая решение на выходе. Такая задача легко решается для ав­
томатов с небольшим числом внутренних состояний. Если устрой­
ство - процессор с памятью и программой, то проблема осложня­
ется огромным перебором.

'F(X)
Схема Схема
логическая логическая

Рис. 1.3. Последовательность решения задачи анализа: а - исходный


предмет неизвестного назначения, б - черный ящик (известны только
вход и выход), в - серый ящик (известен логический базис и некоторые
связи), г - белый ящик (известна вся логическая структура),
д - «раскрытая» система (известна и структура, и функции)

Ясно, что фирмы-изготовители не заинтересованы в облегче­


нии задачи анализа для конкурентов, поэтому даже получение
черного ящика осложняется секретностью. Черный ящик также
приходится делать серым или даже белым, «сдирая» слой за сло­
ем в кристалле БИС и получая технологическую структуру. Пере­
ход от этой структуры к электрическим и логическим схемам -
отдельная проблема, если известна технология. Современная
W-технология размещает технологический рисунок СБИС на ре­
бристой поверхности (W), что лишает конкурентов возможности
«сдирать» схему с готового изделия.

1.2. А л г е б р а и ч е с к и е модели систем

Для формального описания системы нам потребуются некото­


рые дополнительные понятия: операция, функция, предикат, гомо­
морфизм, изоморфизм, алгебра, модель, алгебраическая система.
Пусть АиВ - произвольные множества.
Декартовым (прямым) произведением множеств А и В называ­
ется множество всех упорядоченных пар (а, Ь), где a G А, Ъ € В.
Обозначение: А * В (или А ® В).
Упорядоченная пара определяется не только своими элемента­
ми, но и порядком, в котором они записаны, т.е. пары (1,2) и (2, 1) -
это разные пары.
Можно обобщить определение декартового произведения на п
множеств. Декартовым (прямым) произведением множеств А\, А2,
...,А„ называется множество всех упорядоченных наборов длины п
х х
(щ, а ,..., а ), где a, е А i = 1,..., п. Обозначение: К\ х А
2 п ь ... А„. 2

Таким образом,
А хЛ
х 2
х
... х А = {(a a ,
п h 2 ...,а ),сц
п еА а2еА2,
ъ ...,а„еА„}.
Если А\ = А = ... = А„ = А, то декартово произведение этих мно­
2

жеств называют и-й декартовой степенью множества А и обозна­


чают Л".
Любое подмножество прямого произведения п множеств А\, А , 2

...,А„называется п-арным отношением на множествах А\, А ,..., А. 2 п

В частности, любое подмножество прямого произведения двух


множеств А\, А называется бинарным отношением на множествах
2

А\ иА . 2

Функция п переменных - это (и+1)-арное отношение / н а множе­


стве А аргументов и В - значений функции. В языке теории мно­
жеств это записывается так:
/СЛ"хВ.
При этом любому упорядоченному набору из А" соответствует
единственный элемент из В.
Для обозначения функций в общем виде можно использовать
различные записи:
f:A"->B
или
у =/(х ь х, 2 х„), где*!, х , ...,х„
2 вА,у€В.
Компоненты упорядоченного набора (х х , х„) € А" называ­ ь 2

ются аргументами ф у н к ц и и / а у Е В - значение функции.


В общем случае для функции / : А" —> В может существовать
несколько упорядоченных наборов длины п из А", значения функ­
ции для которых совпадают. Множество всех упорядоченных
наборов (х\, х , х ) Е А", для которыхДх х ,
2 п х„) =уо, называ­ ь 2

ют прообразом элемента у® ЕВ при функции f.


Множество всех у € В, таких, что найдется упорядоченный на­
бор (х\, х , 2 х„) Е А", для которого Дх х , х„) = у, называют ь 2

областью значений ф у н к ц и и /
Функция / : А" —» В называется инъективной (инъекцией), если
каждый элемент из ее области значений имеет единственный про­
образ, т.е. тДа\, а , o„) =f[b\, b ,
2 b ) следует 2 n

(a h а,
2 a )=(b
n h b,
2 bj.
Функция f: A" —> В называется сюръективной (сюръекцией),
если ее область значений совпадает со всем множеством В.
Функция / : А" —• В называется биективной (биекцией), если
она является инъективной и сюръективной одновременно.
n
Таким образом, если функция f:A —>B биективна, то каждо­
п
му упорядоченному набору множества А отвечает единственный
п
элемент множества В и наоборот. Тогда говорят, что множества А
и В находятся между собой во взаимно однозначном соответствии.
Операция (и-арная) на множестве А - это функция вида
п
у.А ^А.
Таким образом, и-арная операция <р каждому упорядоченному
набору (х\, х , х ) Е А" однозначно сопоставляет элементу Е А.
2 п

Для «-арной операции используется обозначение


у•= tpiXb х ъ ...,х ). п
Обычно, если п = 2,, пишут x\ip xj.
Для общности вводят понятие нульарной операции п = О, такой
операцией на множестве А является произвольный фиксирован­
ный элемент из этого множества. Нульарные операции позволя­
ют фиксировать элементы множества А, обладающие некоторыми
специальными свойствами.. Примером выполнения такой опера­
ции является, например, фиксирование нуля в множестве целых
чисел с операцией сложения.
При п = 1 операция называется унарной. В качестве примера
можно предложить операцию получения противоположного эле­
мента на множестве целых чисел (-а). В данном случае «-» явля­
ется унарной операцией.
При п = 2 операция называется бинарной. Такие операции
наиболее важные и наиболее исследованные в алгебре. Примера­
ми могут служить сложение и умножение чисел, матриц и т.д.
Предикат (и-арный) Р - это функция вида
Р:А"^ {0, 1}.
Значения предиката интерпретируются как истина (1) и ложь
(0), то есть при необходимости их можно рассматривать как буле­
вы переменные.
Алгебра - это множество с операциями
А = <А, <p ip , - , </>„>•
h 2

Например, Z = <Z, 0, 1, +, х > - известная из школьного курса


математики алгебра на множестве Z целых чисел. Здесь констан­
ты 0 и 1 можно интерпретировать как нульарные (0-местные) опе­
рации, а + и х - как бинарные (2-местные).
Множество А - носитель алгебры, а набор символов операций
>
<<£>!, </?2, •••> </'n ~ сигнатура алгебры. В общем случае алгеброй
можно назвать множество или несколько множеств с отношениями
А = <А, Ф> ншА = <А, В, Ф> и т.д.,
где Ф = <tpi, <р2, • ••> Р ~ множество отношений на А.
1
п
>

Модель - это множество (или их набор) с предикатами


А = <А,В,Р Р ...,Р >.
ь ъ т

Алгебраическая система - это объединение алгебры и модели:


А = <А, В, Ф, Р>.
Набор предикатов <P Р^---, Pm> - сигнатура модели, множе­
h

ство и-местных предикатов, задающих свойства алгебры <А, Ф>.


Например, все та же алгебра Z целых чисел является алгебраиче­
ской системой, где Р - аксиомы алгебры целых чисел: ассоциатив­
ность, коммутативность, дистрибутивность умножения относи­
тельно сложения, свойства 0 и 1.
Заметим, что алгебраические системы часто именуют так же
как носитель. Употребляя символ Z, имеют в виду всю алгебру Z,
употребляя N, имеют в виду натуральный ряд и всю арифметику.
Пусть теперь даны две системы А = <А, Ф> и 2? = <В, Ф>.
Гомоморфизм - это такая функция
g : <А, Ф> -> <В, Ф>,
что выполняется условие
(а а
ь ъ а п ) € а,- € Ф (gOi), g(a ),.... g{a )) G Д- G #
2 n

для всех отношений а, € Ф. Иными словами, g - функция, сохра­


няющая отношения.
Изоморфизм - это взаимно однозначный (биективный) гомо­
l
морфизм. В этом случае и g, и обратная функция g~ , обе являются
гомоморфизмами.
Пусть X - некоторое множество - пространство-носитель.
Топологией в X называется любая система Г его подмножеств
G СХ, удовлетворяющая двум требованиям:
1. Само множество X и пустое множество 0 принадлежат Т.
2. Объединение любого (конечного или бесконечного) и пересе­
чение любого конечного числа множеств из Т принадлежат Т.
Множество Хс заданной в нем топологией Т, т.е. пара (X, Т), на­
зывается топологическим пространством.
Множества, принадлежащие системе Т, называются открыты­
ми.
Окрестностью точки х G X называется всякое открытое мно­
жество G С X, содержащее точку х.
Непустое множество X называется линейным пространством,
если оно удовлетворяет следующим условиям:
1. Для любых двух элементов х, у 6 X однозначно определен
элемент z е X, называемый их суммой и обозначаемый х + у, при­
чем должны выполняться следующие условия:
1) х+у=у+х (коммутативность);
2) x + (y + z) = (x+y)+ (ассоциативность);
z
3) существует такой элемент О £ X, что х + 0 = х для всех х £ X
(существование нуля);
4) для каждого х £ X существует такой элемент -х £ X, что
х + (-х) = О (существование противоположного элемента).
2. Для любого числа а и любого элемента х £ допределен эле­
мент cor £ X(произведение элементах на число а), причем должны
выполняться следующие условия:
1) афх) = ( а р > ;
2) 1-х = х;
3) (а + Р)х = а х + Рх;
4) а(х + у) = ах + ау.
Пусть X и Y - два линейных топологических пространства. Ли­
нейным оператором, действующим из Хв Y, называется функция
А: X —• Y или у = Ах,
где х £ Хну £ Y, удовлетворяющая условию
=
А(ах\ + Рх )
2 OLAXI + p\4xj.
Совокупность Z) всех тех х € X, для которых функция А опреде­
лена, называется областью определения оператора А
Оператор А является непрерывным в точке XQ £ D, если для лю­
бой окрестности V точки уо -AXQ существует такая окрестность U
точки XQ, что Ах £ V, как только х £ U Г) D.
Оператор А называется непрерывным, если он непрерывен в
каждой точке XQ £ D.
Алгебраическое моделирование систем. Пусть теперь систе­
ма А = <А, Ф> - реальная эмпирическая система. А - множество
ее реальных элементов - предметная область. Ф - множество от­
ношений, функций и операций в предметной области А. С другой
стороны, система В = <В, Ф> имеет своей предметной областью
некоторое множество В идеальных объектов: имен, чисел, кодов,
фигур и т.д., а Ф - отношения, функции и операции на В, допусти­
мые для этих математических объектов.
Если имеется гомоморфизм g : <А, Ф> —> <В, Ф>, то говорят,
что система В моделирует (является моделью) А, а система А ре­
ализует модель В. Полное соответствие модели и реализации до­
стигается, если g- изоморфизм.-
Замечание. Вместо термина реализация можно употреблять
термин интерпретация, как это делается в математической ло­
гике, но он безразличен к природе системы <А, Ф>. Допустима, в
частности, интерпретация одной математической системы другой
математической системой. Термин реализация подчеркивает мате­
риальность системы.
П р и м е р 1.3. М о д е л и р о в а н и е с и с т е м ы а в т о м а т о в .
Вернемся к системе двух автоматов из примера 1.1, соединённых
циклически. Выполним следующие действия:
1. Построим структурную модель системы. Два автомата мож­
но представить множеством их входов и выходов:
а
А
= W а
\» а
\у 2ь °2x> а у}. 2

Соединение полюсов задается отношением их отождествления:


{{о\ь ац), (а , а ), (а Хх 2у 1у а^)},
где каждая пара полюсов - соединения.
Структурная модель соединения автоматов готова. Отношение
соединения рефлексивно, симметрично и транзитивно, т.е. это эк­
вивалентность, но в нашей записи эти подробности опущены, чтоб
не загромождать описание.
Задание. Самостоятельно найдите, какие тут классы.
В тех же обозначениях полюсов можно записать и функции
этой системы. Функции входов зависят от времени и задержки т:
a + =
\t(t т) a\t + 1 (mod 2),

a2t(t rx) = a t+l


J
2 (mod 2).
Функции выходов для трехразрядных шин:
a\ (t + т) = а\ + 1 (mod 8),
y у

в2у(* + х) = а +\ 2у (mod 8).


Начальные значения входов а ф) = 1, а (0) = 0. Хх 2х

2. Построим теперь математическую модель этой системы.


Всем полюсам сопоставим целые числа, зависящие от дискретного
времени
/ = 0,1,2,...
Физическое время т называется длительностью такта, а числа
0, 1, 2,... - номера тактов. В каждом такте входы а\ а восприни­ и 2(

мают тактирующий импульс, но для наших целей нам достаточно


ввести переменные t\ и t . Итак, предметная область нашей модели
2

В = {t h t, х
2 ь х у ъ ь у } С N.
2
Соединения отображаются равенствами:

Эти отношения, очевидно, тоже эквивалентности. Функции вхо­


дов и выходов:
h{t+\) = t (t+\) = t + 1,
2

yi(t+\) = x t f ) + 1, y (t+\) = x (/) + 1,


2 2

*i(0) = 1, * (0) = 0.
2

Наконец, чтобы указать на соответствие модели и реализации,


нам необходимо доказать теорему целостности:
3g,{g:<A,'Ф>-*<В, Ф>},
для чего следует указать отображение g. Оно очевидно по постро­
ению.
Подведем итоги нашего опыта моделирования.
На самом деле мы построили три модели одной и той же вооб­
ражаемой системы. Одна на рисунке 1.1, две других - ее описания
на разных языках: схемном и функциональном. Такая ситуация
типична при проектировании систем и отображается в конфигура­
торе. Разные типы описаний удобны для разных типов задач.
Наши модели содержат статическую и динамическую части -
подмодели. Статическая часть - структура системы - наиболее на­
глядно изображена на рисунке 1.1. Динамическая часть наиболее
адекватно представлена в языке математики.
Все три модели не отображают проектируемое устройство с
точки зрения конструктора и технолога. Как они устроены? Как
проходят соединения в пространстве конструктива? Какие физи­
ческие характеристики имеют сигналы в системе?
Таким образом, модели имеют специализацию. Наша модель
предназначена для решения задач анализа и синтеза системы, но
не для конструирования или изготовления.
Алгебраические модели систем в общем виде. В общем виде
алгебраическую модель системы можно представить кортежем
=
S <5ф, S , S , Р(5ф, S ), P(S , S ) >,
c M c C M

где £ф - функциональная модель системы S, в которой систе­


ма представляется «черным ящиком» с известными функциями
откликов на воздействия; S - структурная модель системы S -
c

«белый ящик»; 5 - морфологическая модель, или конструкция


М
системы, в которой показано, как ее элементы расположены в фи­
зическом пространстве; Р(Бф, S ) и P(S 5 ) - предикаты целостно­
c a М

сти, указывающие на гомоморфизмы между S§, S и S . Предикат c M

целостности P(S$, S ) и две модели £ф и S должны обеспечить ре­


c c

шение задач анализа и синтеза системы. Иначе они бесполезны и


неадекватны.
Для решения других задач проектирования необходимо стро­
ить другие модели. Так, для конструкторского проектирования
большой интегральной схемы (БИС) следует иметь морфологиче­
скую модель вида
K=<S ,S ,P(S ,S )>,
C M C M

где S и P(S SM) имеют тот же смысл; S - модель конструктива -


c 0 M

множество мест на кремниевой пластине, предназначенных для


размещения элементов схемы, расстояний между этими местами и
топология связей между элементами.

1.3. Д и н а м и ч е с к и е модели систем

Динамическая модель общего вида. Мы видели, что в при­


мере 1.3 значения переменных функциональной модели зависят от
времени. Такая ситуация характерна для большинства систем. Со­
ответственно эти системы называются динамическими, а их функ­
циональные модели - динамическими моделями систем.
Динамическая модель может быть представлена семеркой объ­
ектов:
SA = <X,Y,Z,F,G,T,Z >, 0

где X - множество (вектор) входных переменных, x G X - ком­ t

понента вектора X; Y - множество (вектор) выходных перемен­


ных, у,- е Y - компонента Y, Z - множество (вектор) внутренних
переменных - состояний, где z,- € Z ; F - вектор-функция выхода,
fj€ F - компонента вектор-функции выхода, где у <7) = fi[X{t), Z(t)]; г

G - вектор-функция переходов, g • € G - компонента векторфунк-


t

ции переходов, где z,{t)=g,[Z(0), Х(х)], т € [0, t] (Х(т) - траектория


входа за период времени т - последовательность значений, прини­
маемых вектором X на множестве моментов системного времени в
сегменте т G [0, t\); ZQ = {zi(0), z (0), z„(0)} - начальное состоя­
2

ние системы в момент t = 0.


Если во все время функционирования Z = ZQ, ТО система «не
помнит» своей истории. Выход ее зависит только от входа в дан­
ный момент. Такую систему уместно назвать комбинационной. Ее
внутреннее состояние можно не рассматривать.
Другой важнейший элемент системы - модель системно­
го времени Т.. Она может представлять собой натуральный ряд
Т = О, 1, 2, ... или континуум Т С R- множеству действительных
чисел. В первом случае мы имеем модель дискретного времени, во
втором случае - модель непрерывного времени. В примере 1.1 дис­
кретно не только время, но и значения входных и выходных пере­
менных. Такие системы называются дискретными.
Наконец, следует различать замкнутые и открытые системы.
В замкнутой системе 'все элементы постоянно присутствуют, а
их общее количество не изменяется. Число состояний замкнутой
системы равно произведению чисел состояний всех ее элементов.
Например, и-разрядный двоичный регистр, хранящий число в па­
мяти компьютера, можно рассматривать как систему, состоящую
из п элементов, каждый из которых имеет два состояния 0 и 1.
Число состояний такой системы, как известно, равно 2". Замкну­
тую систему значительно легче исследовать в силу неизменности
ее мощности.
В открытой системе число элементов изменяется в процессе
ее функционирования. Они появляются в системе извне и ухо­
дят из нее во внешнюю среду. Такими свойствами обладают, на­
пример, популяции живых организмов, системы обслуживания
потока клиентов. При моделировании открытой системы прин­
ципиально невозможно перечислить все ее элементы, однако в
ней самой в каждый момент времени находится определенное их
число. Для моделирования внешней среды можно ввести специ­
альный внешний элемент, который используется как источник
входного потока новых элементов и поглотитель выходного по­
тока отработавших.
Дискретный конечный автомат. Дискретный автомат -
модель замкнутой системы с дискретными переменными и дис­
кретным временем. Широко распространена модель конечного
дискретного автомата, где время Т - О, 1, 2, 3, ... дискретно по
умолчанию и не рассматривается как таковое. Дискретный авто­
мат Мили можно задать шестеркой математических объектов:
Autom = <А, В, Q,f,g, д >,
0
где А, В, Q - конечные алфавиты (наборы символов, букв) вхо­
да, выхода и внутренних состояний; / - функция выхода вида
bif) = f{q(t), a(t)); g - функция переходов вида q{t+\) = g(q(t), a(t));
qo - исходное состояние в момент времени t = 0.
Здесь a(t), b(f), q(t) - буквы из алфавитов А, В, Q, соответствен­
но, в момент t £ Т.
Обратим внимание на конечность всех алфавитов дискретного
автомата. Эта модель используется, следовательно, для исследо­
вания конечных систем. В теории вычислений показано, что ко­
нечный автомат не может реализовать многие вычислительные
процессы, заданные алгоритмами. Если допустить бесконечный
алфавит состояний, то получится система, способная реализовать
любой вычислительный процесс. Такова, например, абстрактная
машина Тьюринга, имеющая бесконечную ленту памяти.
Наглядно дискретный автомат можно представить графом
функционирования:
G(Q, V, а : A ->V, /} : В ^V),
где Q - ножество вершин, соответствующих состояниям автомата;
V - множество дуг, соответствующих переходам автомата соглас­
но функции g; а и Р помечают дуги соответствующими символа­
ми входа и выхода.
Более подходящим представлением для анализа автомата явля­
ется матричное представление, состоящее из двух матриц:
1. Матрица переходов G: А х Q —» Q.
2. Матрица выходов F: А * Q —* В.
Строки матриц GviF соответствуют входному алфавиту, столб­
цы - алфавиту состояний. На пересечении строк и столбцов в ма­
трице G будут находиться символы из алфавита состояний, а в ма­
трице F- символы алфавита выходов.
В позиции Gjj записано новое состояние:

gij = g(4j, ад-


В позиции Fy записывается выход автомата:

П р и м е р 1.4. Н а к а п л и в а ю щ и й с у м м а т о р по м о д у л ю 4.
Накапливающий сумматор складывает входное число с тем,
что было накоплено во время предыдущего функционирования.
Результирующую сумму по mod 4 сумматор выдает на выходе и
запоминает в своем состоянии. В этом случае все три алфавита
совпадают:
А =В = Q = {0, 1, 2, 3}.
Матрицы переходов и выходов показаны в таблице 1.2.
Таблица 1.2
Матрицы переходов и выходов сумматора по mod 4
G Q 0 1 2 3 . F Q 0 1 2 3
0 0 1 2 • 3. 0 0 1 2 3
А 1 1 2 3 0> F = 1 1 2 3 0
А
2 2 3 0 1 2 2 3 0 1
3 3 о' 1 2 3 3 0 1 2

Нетрудно видеть, что в нашем случае выход совпадает с состо­


янием, т.е. матрица F является излишней.
Вообще, если выход зависит только от состояния автомата, то
такая модель называется автоматом Мура. Функции переходов и
выходов для автомата Мура имеют вид:
q(t+\)=g[q(t), a(f)l

Kt) =/[<?(/)].
Очевидно, что
b(t)=f\g[q(t- 1), a(t-l)}} =f*[q{t- l),a(t- 1)],
где f* - суперпозиция ф у н к ц и й / и g.
Мы видим, что выход автомата Мура сдвинут на один такт, т.е.
отстает от выхода автомата Мили на 1 такт, поэтому автомат Мура
иногда называется сдвинутым.
Граф функционирования нашего сумматора показан на рисун­
ке 1.4.
В таблице 1.3 представлено функционирование нашего авто­
мата из начального состояния 0 при входной последовательности
1,3, 0, 2, 4, 2, 3, 3, ...
В моделях Мили и Мура не конкретизировано, каким образом
происходит отсчет времени. Поспособу отсчета времени дискрет­
ные системы делятся на два класса: синхронные и асинхронные.
В синхронных системах есть специальные часы - тактовый гене­
ратор, который выдает последовательность тактовых импульсов
стационарной частоты.
Рис. 1.4. Граф функционирования сумматора по mod 4
Таблица 1.3
Функционирование сумматора по mod 4
Такт
Значение
1 2 3 4 5 6 7 8 9
Вход 1 3 0 2 1 2 3 3
Состояние 0 1 0 0 2 3 1 0 3
Выход Мили 1 0 0 2 3 1 0 3
Выход Мура 0 1 0 0 2 3 1 0 3
В примере 1.1 мы его не изобразили, но в функциональной мо­
дели описали как входную функцию:
t(t+x) = t(t) + \(mod2).
В асинхронных системах тактового генератора нет, и такты
отсчитываются по событиям на входе в систему. Таким образом,
длительность такта в асинхронных системах произвольна. Можно
считать асинхронный автомат моделью системы с дискретными
состояниями и непрерывным временем.
Линейные модели систем. В непрерывных случаях рассматри­
ваются линейные и нелинейные системы. Для линейных моделей
выполняется принцип суперпозиции:
[ x ( 0 =xi(t)+x (i)]
2 -»• \y{i) = ( 0 л +j> (OL
2

где X!(0, JC (0 € JV; j ( 0 ,


2 ,J (0 € К
2

Для этого необходимо, чтобы множества значений X, Y и Z


представляли собой линейные пространства, а вектор-функции
F и G были бы линейными операторами. Если эти пространства
имеют топологическую структуру, то на них можно строго опре­
делить основные понятия математического анализа (непрерыв­
ность, сходимость и другие) и задавать метрику - меру близости
между элементами. Если, наконец, линейные операторы F и G не­
прерывны в этой топологии, то такие системы называются гладки­
ми. Для них переходное отображение G является решением систе­
мы дифференциальных уравнений вида
dZj/dt = g,(X, Z, t).

Большинство уравнений математической физики (механики и


электродинамики) являютсямоделями гладких линейных систем.
Далее мы покажем, как строить гладкие линейные модели и нели­
нейные модели для системного анализа в экономике, биологии и
социологии. Прежде же следует рассмотреть один из методологи­
ческих принципов математического моделирования.
Математические модели систем и их реализация. Реаль­
ные системы подчиняются следующему принципу причинности.
Отклик системы на внешнее воздействие не может начаться
раньше этого воздействия.
Это условие часто не выполняется для математических моделей
систем. При этом такие модели не обязательно «плохие» и беспо­
лезные. В связи с этим одна из проблем теории систем - выясне­
ние условий физической реализуемости теоретических моделей,
то есть конкретных ограничений, которые должны быть наложе­
ны на модель или на реализацию для соблюдения принципа при­
чинности.
Вообще, поскольку математические модели абстрагируются от
многих свойств реальных систем, физическая реализация систем, то
есть задачи синтеза и конструирования сильно усложняются. Про­
стые математические модели функционирования приходится ус­
ложнять, а в задачу синтеза вводить дополнительные ограничения,
чтобы добиться достаточной адекватности модели и реализации.
Например, в качестве математической модели логических схем
долгое время использовались булевы функции. Переключение зна-
чения булевой функции с 0 на 1 и обратно считалось мгновенным
и в модели не отражалось. С ростом же быстродействия оказалось,
что временем переключения пренебрегать нельзя, и пришлось
ввести в модель третье состояние. Так родилась трехзначная ло­
гика, учитывающая время переключения логического элемента.
Ее, однако, в дальнейшем не хватило, поскольку с переходом на
интегральные схемы обнаружилось, что их переключатели могут
иметь еще и состояние резистора (сопротивления). Для адекватно­
го описания поведения таких микроэлементов потребовалась се­
мизначная логика.

Задачи к главе 1

1. Постройте автоматную модель устройства, умножающего на


2 по модулю 4. Будет ли связен граф этого автомата? То же выпол­
ните и по модулю 5.
2. Попробуйте построить систему отношений для фирменной
одежды.
3. Постройте конфигураторы для вашего дома, факультета,
вуза.
Глава 2
МАРКОВСКИЕ СИСТЕМЫ

2.1. М а р к о в с к и е модели систем

Необходимые понятия теории вероятностей. Для понимания


последующего материала главы нужно вспомнить элементы тео­
рии вероятностей. Некоторое событие называется случайным по
отношению к данному опыту^ если при осуществлении этого опы­
та оно может наступить, а может и не наступить.
Пусть А - случайное событие по отношению к некоторому
опыту. Пусть данный опыт произведен N раз и при этом событие
А наступило в N случаях, соотношение
A

назовем частотой наступления события А в рассматриваемой се­


рии опытов.
Частота большинства случайных событий обладает свойством
устойчивости, т.е. при увеличении числа опытов она стабилизиру­
ется, приближаясь к некоторой постоянной величине.
Вероятность случайного события - это связанное с данным
событием постоянное число, к которому стремится частота насту­
пления этого события в длинных сериях опытов.
Предложенное ранее определение вероятности обычно называ­
ют «статистическим определением» или «частотным определени­
ем», такое определение интуитивно понятно, но строгую теорию
на его основе не построить. Поэтому рассмотрим аксиоматиче­
ский подход, предложенный А.Н. Колмогоровым, более типичный
для математических дисциплин.
Пусть задано некоторое множество Q - множество элементар­
ных событий. Пусть S - совокупность событий, где S определяет­
ся как непустая совокупность подмножеств множества Q.
Аксиомы событий (требования к совокупности S):
1. Если множества А\, А , ... (в конечном или счетном числе)
2

суть события, то их объединение А\ + А + ... тоже является со­


2

бытием.
2. Если множество А является событием, то его дополнение
(до Q) - тоже событие.
Два события А и В, не имеющие (как два подмножества) общих
элементов, называются несовместными.
Аксиомы вероятностей:
1. Каждому событию А поставлено в соответствие неотрица­
тельное числор(А), называемое вероятностью события А.
2. Аксиома счетной аддитивности. Если события А], А , ... по­ 2

парно несовместны, тор(А + А + ...) = р(А]) + р(А ) + ...


х 2 2

2'. Аксиома аддитивности - частный случай аксиомы счетной


аддитивности: р(А + В) =р(А) + р(В), если А и В несовместны.
3. р(П)=\.
Аксиомы 1-3. составляют основу всей теории вероятностей.
Все теоремы этой теории, включая самые сложные, выводятся из
них формально-логическим путем. В частности, важнейший ре­
зультат, который потребуется в дальнейшем, есть формула полной
вероятности. Пусть появление некого события А зависит от со­
путствующих событий В\, В , В2 которые сами наступают
ь

с вероятностями р(В,), *'€/. Условной вероятностью называется ве­


роятность р(А/В,) события А при условии наступления события В,.
Тогда полная вероятность события А есть величина

p{A)^2Z (B )p{A/B ).
ie]P l 1

Случайной величиной, связанной с данным опытом, называется


величина, которая при каждом его осуществлении принимает то
или иное числовое значение, заранее неизвестно, какое именно.
Любое правило, устанавливающее связь между возможными
значениями случайной величины и их вероятностями, называется
распределением вероятностей (или просто распределением) слу­
чайной величины.
Табличка вида
*1 х 2
х п

Р\ Р2 Рп
задает распределение случайной величины X. Здесь х\, x ...,х„,... - 2t

возможные значения величины X, а р \ , р , ...,р , ... - их вероятно­


2 п

сти. Понятно, что p > О и


t
Последнее соотношение называют условием нормировки.
Рассмотренный способ задания распределения вероятностей
применим только в том случае, когда случайная величина может
принимать лишь конечное или счетное множество значений. Та­
кие случайные величины называются дискретными.
В некоторых задачах определение всех значений p вызывает t

серьезные затруднения, поэтому зачастую на практике распреде­


ление вероятностей характеризуется каким-то набором чисел, ко­
торые называются параметрами. Важнейшим параметром явля­
ется математическое ожидание, или среднее значение случайной
величины.
Математическим ожиданием, или средним значением дис­
кретной случайной величины X, заданной распределением вероят­
ностей
*1 х2
хп

Р\ Рг Рп

называется сумма
М(Х) = хур +х -р
] 2 2 + ••• + х„-р +п ...
Таким образом, математическое ожидание дискретной случай­
ной величины X равно сумме произведений возможных значений
величины Х н а их вероятности.
Математическое ожидание есть некий центр, вокруг которого
группируются возможные значения случайной величины.
Дисперсией случайной величины X называется число, опреде­
ляемое формулой:
2
D{X) = M(X-M(X)f = -М{Х)) р,.

Таким образом, дисперсия есть математическое ожидание ква­


драта отклонения случайной величины X от ее математического
ожидания. Дисперсия характеризует величину возможного раз­
броса значений случайной величины вокруг их центра.
При изучении самых разнообразных систем и явлений действи­
тельности встречаются процессы, точно предсказать течение ко­
торых заранее невозможно. Например, нет никакой возможности
заранее предсказать численный состав колонии бактерий, а также
расположение каждой бактерии внутри колонии. Такие процессы
называются случайными.
Математическая модель случайных процессов реального мира -
это функция от времени /, значения которой - случайные вели­
чины. Договоримся такую функцию от времени также называть
случайным процессом.
Случайный процесс является математической моделью для опи­
сания случайных явлений, развивающихся во времени. При этом
предполагается, что состояние процесса в текущий момент време­
ни есть некоторая случайная величина.
Понятие о марковских процессах. Вернемся к модели дина­
мической системы из примера 1.3. Во многих случаях исследова­
тель системы не может точно задать вектор-функции выхода и со­
стояния F и G, т.е. детерминировать их. Это значит, что наряду с
известными вектор-переменными X, Y, Z в системе действует не­
определенный фактор С,. В благоприятных случаях (а их большин­
ство) его можно представить случайной величиной или вероят­
ностью. Такие факторы, процессы, системы и задачи называются
стохастическими. Наиболее просто исследовать стохастические
системы, обладающие свойством марковости.
Случайный процесс называется марковским, если для любого
момента времени to вероятностные характеристики процесса при
t > t§ зависят только от его состояния Q(t<j). Они не зависят от того,
каким образом было достигнуто состояние Q(to) при t < t(,. Иными
словами, марковский процесс «не помнит» своей предыстории. Он
«помнит» только текущее состояние.
Автономный вероятностный автомат. Не трудно видеть, что
этим свойством, по определению, обладает дискретный автомат.
Пусть мы не можем (или не хотим, или не имеет смысла) задать
случайный фактор ^, переводящий автомат из состояния в состо­
яние. Зато мы можем путем наблюдений узнать множество Р ве­
роятностей ру переходов (q —> qj) из г'-го состояния в j'-e и задать
f

функцию
2
<p:Q ^P
где ру € [0, 1] - вероятности переходов, Q - множество состояний
системы.
Функцию tp легко задать матрицей Q = || рц ||, где рц - вероят­
ность перехода из z'-ro состояния в j-e: {q —» qj), i, j e {0, 1,2, ..., n).
t

= П И
Tjj = l ..n Pij 1 Р любом г = const.

35
Полученная модель стохастической
системы есть автономный вероятност­ Q Ч\ Чг Чз
ный автомат. В отличие от ранее рас­ Ч\ Рп Р\2 Рп
смотренных автоматов автономный ав­
томат не имеет входа, но зато переходит Р21 Р22 Р23
из состояния в состояние без внешнего
воздействия. Такими свойствами облада­ Рп Р32 Рзз
ют многие реальные системы.
Матрица Q называется стохасти­
ческой. Имея ее, мы не можем указать конкретное состояние, в
которое система попадет в следующем такте. Зато мы можем по­
пытаться вычислить вероятность P пребывания стохастического
t

автомата в г-м состоянии, то есть долю времени, которую автомат


пребывает в состоянии за достаточно длительный срок.
Состояние стохастической системы недетерминирова-
но, но можно задать распределение вероятностей состояний
Р = {Р\, Р ,
2 Р„). Это распределение - стохастический вектор
Р, по определению, удовлетворяет условию нормировки:
Б = 1..»Л=1- (2Л)
Вектор Р - вектор-строка вероятностей состояний. Договорим­
ся верхним индексом указывать момент к времени (номер такта),
к которому относится данное распределение вероятностей состоя­
ний Р&\ Исходя из формулы полной вероятности можно убедить­
ся, что в (&+1)-ом такте вероятности P в стохастическом векторе
t

Р получаются умножением вектора на матрицу по правилам алге­


бры матриц, • - матричное умножение:
i<*+i) = j > ( * ) 0 .
# (2.2)
Очевидно, что все Р^> при к = О, 1, 2, ... тоже будут стохасти­
ческими векторами, отображающими распределение вероятностей
Pj при различных к.
В иной форме динамику стохастического автомата можно опи­
сать, если вычислить приращение вероятности в течение одного
такта.
АР = р(Ь V
+
- J*Q = • (Q - Е) = • D,
где Е - единичная диагональная матрица, D - оператор девиации
(изменения, отклонения) вектора Р за единичное время At = 1.
Если теперь взять за длину такта бесконечно малый интервал
At —> 0, то можно перейти к дифференциальному уравнению
dPldt = P*D.
Эргодичность и стационарность. Система называется эрго-
дической, если из любого состояния она может быть переведена
в любое другое за конечное число шагов. Иными словами, граф
переходов эргодической системы сильно связный.
Эргодические системы имеют ряд полезных свойств. В теории
вероятностей показано, что в эргодических системах при k —> оо
все Pf® стремятся к финальным вероятностям: lim Pf® = P ф . t ин

Соответственно, —* фин-
Ясно, что по достижении финальной вероятности Р ф система ИН

достигнет стационарного режима, т.е. вектор Р стабилизируется,


и его производная станет равна нулю. Уравнение для стационарно­
го режима в векторной форме выглядит совсем просто:
^ ф и н » ^ = 0.
После раскрытия произведения получается система из п одно­
родных линейных уравнений, дополняемая уравнением нормиров­
ки (2.1), что и обеспечивает решение.
Возвращаясь к эргодичности, заметим, что в стационарном
состоянии процессы в эргодических системах обратимы, т.е. не
зависят от знака времени. Если снять обратимый процесс на ки­
ноленту, а потом ее просматривать, то мы не сможем отличить,
в какую сторону прокручивается кино - по ходу событий или в
обратном направлении. Важнейшую роль эргодичность играет в
классической термодинамике и статистической физике.
П р и м е р 2.1. З а д а ч а о х в о с т и с т а х . Пусть успехи студен­
та в учебе описываются вероятностным автоматом с двумя состо­
яниями: 1 - все экзамены сданы, 2 - у студента есть «хвост». За
такт возьмем 1 семестр. Р(0) = {0,5; 0,5}, стохастическая матрица
Q, девиатор D и граф переходов показаны на рисунке 2.1.

Q 1 2
1 0,9 0,1 од
2 0,8 0,2 1 2
D 1 2
1 -ОД 0,1 0,8
2 0,8 -0,8
Рис. 2.1. Модель успеваемости студента
37
Выполняя преобразование (2.2) по правилам алгебры матриц
^ / = 1|=1.. (ЛХ Pij),
И

получим следующую последовательность:


Р(0) = {0,5; 0,5} - сначала мы ничего не знаем об успеваемости;
= {0,45 + 0,40; 0,05 + 0,10} = {0,85; 0,15};
Р(2) = {0,765 + 0,12; 0,085 + 0,03} = {0,885; 0,115};
Р = {0,8885; 0,1115}... и т.д. до Р
( 3 ) фт = {1 - 0,1(1); 0,(1)}~{0,89; 01}.
Итак, более 10% студентов оказались «хвостистами» и будут
рано или поздно отчислены.
Найдем финальные вероятности, не прибегая к итерациям. Вы­
пишем уравнения для вероятностей состояний:
х
Р/ ~ X/ Рi Pij >
I; Л-= И»" =!••«)•
Решение этой системы и есть вектор Р финальных вероятно­
стей. В нашем примере:
0,8 Р - 0,1 Л = 0,
2

0,1 Л - 0,8 Р = 0,
2

Р\ +?2 =1.
Л =0,8(8),
^2 = 0,1(1).
Метод динамики средних. Здесь мы исследовали всего один
элемент системы, а вывод делаем относительно всего множества
элементов. В теории вероятностей доказывается, что такой пере­
нос свойств элемента на весь ансамбль допустим для эргодических
систем.
Вернемся к графу переходов вероятностного автомата, или мар­
ковского процесса. Мы приписывали вес, равный вероятности или
интенсивности перехода, каждой дуге графа и этого было доста­
точно для написания дифференциальных уравнений динамики
вероятностей Р,- состояний системы. Запишем в каждую вершину
q среднее число элементов TV, = PfN, находящихся в нем. Условие
t

нормировки для замкнутой системы теперь примет вид


L - N ( i = \ . . n ) ,
и наши уравнения будут описывать динамику средних значений
величин Nj. Такой яеренос результатов с одного элемента на весь
ансамбль называется методом динамики средних, поскольку он
основан на том факте, что отдельный элемент системы ведет себя
как все прочие элементы и как сама система в среднем. Метод тем
точнее, чем больше ансамбль.
Одним из первых метод динамики средних применил Гиббс
при построении статистической механики, подтвердившей все
результаты классической феноменологической термодинамики
статистическими методами. Поэтому стационарные состояния
больших ансамблей, полученные этим методом, называют еще и
гиббсовскими состояниями. В последнее время для стационарных
состояний динамических систем утвердился термин аттрактор -
состояние, притягивающее к себе процесс.

2.2. А с и н х р о н н ы е марковские модели

Потоки событий. Рассмотрим теперь дискретные марковские


процессы с непрерывным временем, когда моменты возможных
переходов неопределенны и случайны. В этом случае мы уже не
можем задать какой-то фиксированный такт, во время которого
случается переход. Переходы нашего вероятностного автомата
происходят в случайные моменты времени. Такие модели систем
условились называть асинхронными.
Последовательность одинаковых событий, следующих одно за
другим в случайные моменты времени, называется потоком со­
бытий. Потоки событий - это и есть те случайные факторы С,, ко­
торые делают поведение системы стохастическим. В отличие же
от теории вероятностей здесь термин событие не означает исход
какого-то опыта. Событие - мгновенное изменение состояния
системы - не имеет вероятности. Вероятностями обладают про­
межутки времени между событиями, факт появления события на
каком-то интервале времени и т.п.
Таким образом, событие не имеет длительности. Точнее, дли­
тельность реального события настолько мала, что в математиче­
ской модели потока событий ею можно пренебрегать.
Поток событий можно представить точками на оси времени
(рис. 2.2).

I I I l-'-ll I II I
Рис. 2.2. Случайный поток событий

39
Поток событий характеризуется двумя величинами:
1. Интенсивность X - среднее число событий, приходящихся
на единицу времени. Интенсивность может быть как постоянной:
X, = const, так и функцией от времени: X = X(t). Величина г = УХ на­
зывается средним интервалом времени между событиями.
Вероятность P„(f) того, что в интервале времени [0, t] произой­
дет п событий. Таким образо'м, число п событий в интервале вре­
мени t есть случайная величина п = n(t). В общем случае P„(t) за­
висит от времени.
Классификация потоков событий.
1. Поток называется регулярным, если интервалы времени т
между событиями равны друг другу т = const. На практике такие
потоки редко встречаются, и для них существуют специальные
методы анализа.
2. Поток называется стационарным, если его характеристики не
зависят от времени: X = const. Фактическое число события n(t) - слу­
чайная величина, но для фиксированных п и t вероятность P (t) = const.
n

Случайные сгущения и разрежения событий в потоке еще не


означают, что он нестационарен. Нарушение стационарности
обычно имеет ясную физическую причину. Таковы, например, сгу­
щения потоков клиентов в «часы пик». Причина таких сгущений -
единое расписание работы всех горожан. В таких случаях модель
стационарного потока имеет смысл для определенного перио­
да времени. Так в рабочее время интенсивность потока клиентов
равна: Х^^ - до конца рабочего дня, Я. - пиковая интенсивность,
пик

А. - вечером, Х
веч ноч - ночью. При этом Х ноч< Ар < Х
аб <Х .
ъеч тк

Многие потоки можно считать стационарными на ограниченных


участках времени. При грамотном анализе систем такие неодно­
родности могут и должны быть учтены.
3. Поток называется потоком без последействий, если для лю­
бых двух непересекающихся интервалов времени t\ и t число со­
2

бытий на интервале t не зависит от числа событий на интервале


2

t\. Иными словами, события в потоке независимы друг от друга.


Например, поток покупателей, идущих в гастроном, не имеет
последействия, а поток покупателей, отходящих от кассира, после­
действие имеет. Каждому из них нужно время для расчета с кас­
сиром, и в это время от кассира покупатель не отходит. Впрочем,
если средний интервал времени т между событиями много боль­
ше времени обслуживания у кассира, то последействием можно
пренебречь и считать обслуживание точечным событием.
4. Поток событий называется ординарным, если события в нем
появляются поодиночке, а не группами. С математической точки
зрения это означает, что вероятность попадания двух событий в
бесконечно малый интервал времени dt является величиной более
высокого порядка малости, чем вероятность одного события. Так
очевидно, что при интенсивности X попасть в интервал dt собы­
тие может с вероятностью P\(dt) = Xdt, а два события могут по­
пасть туда же с вероятностью P2(dt) = X dt = o(Xdt) = o(dp). Вели­
2 2

чина o(x) называется величиной более высокого порядка малости


по сравнению с х. Такими величинами в математическом анализе
пренебрегают при интегрировании.
Простейший поток. Простейший поток событий обладает
сразу тремя свойствами. Он стационарен, ординарен и без после­
действия. Рассмотрим простейший поток на интервале [0; t + dt].
Вычислим вероятность P„(t + dt) того, что на этом интервале про­
изойдет п событий. Это возможно в двух случаях.
1. Все п событий произошли с вероятностью P (t) на интерва­ n

ле [0; t] и ни одного события не произошло на интервале [/; / + dt].


Поскольку на этом интервале длительности dt может произойти не
более одного события, вероятность отсутствия события равна
P (dt) = l-Xdt.
0 (2.3)
2. Предшествующие (п - 1) события с вероятностью P .\(t) про­ n

изошли на интервале [0; t], а одно п-е событие - на интервале


[/; / + dt] с вероятностью
P {dt) = Xdt.
x

Итак, имеем рекуррентное уравнение:


P {t+ dt) = P (t)[l-
n n Xdt] + P (t)Xdt.
nA (2.4)
Отсюда:
[(P (t + dt) - P„{t)]'dt = dP„(t)/dt = X[P (t)
n nA - P (t)]-
n

Для n = 0, используя (2.3), имеем следующие выкладки:


Л>(0)=1
P (t + dt) = P (t)Po(dt) = P (t)[l - hit]
0 0 0

dPo(t)/dt = - XPo(f) - уравнение с разделяющимися переменными.


Разделим их:
dP(,(t)/PQ(t) = - Xdt - уравнение экспоненты.
Интегрируя левую и правую части на отрезке [0; t], имеем:
k.,dPo(tyPQ(t) = -Xk.tdt

b
P {t) = e~ .
Q (2.5)
Итак, вероятность Po(t) того, что в простейшем потоке событие
не произойдет на интервале [0, t] падает от 1 до 0, причем тем бы­
стрее, чем больше интенсивность потока.
Гораздо сложнее и интереснее дело обстоит с вероятностью
P {t). В теории вероятностей показано, что решением рекуррент­
n

ного уравнения (2.4) является распределение Пуассона:


п и
Р„{{)^0а) е~ 1п\

Простейший поток событий и распределение Пуассона играют


ту же роль, что случайные отклонения показаний прибора и рас­
пределение Гаусса в теории ошибок. Статистика ошибок получа­
ется как сумма случайных отклонений произвольного характера.
Простейший поток - перемешивание большого числа различных
потоков событий.
Обратим внимание на распределение времени т между событи­
ями простейшего потока {рис. 2.3). Запишем формулу для вероят­
ности Р{х < t) того, что промежуток времени х между событиями
простейшего потока будет меньше или равен t: (х < t). Событие
(х < /) - отрицание события (х > t), а последнее состоит в отсут­
ствии событий простейшего потока в течение времени t. Вероят­
н а м
ность его Ро(0 известна из (2.5). Отсюда

Л т < / ) = 1-Л)(/)=1-е-Ч

0,6 [—zrz r^rzn. i : ' : 1 г i


0,5
0,4
0,3
0,2
0,1
0
0 1 2 3 4 5 6 7 8 9 10
Рис. 2.3. Показательное (экспоненциальное) распределение
времени между событиями в простейшем потоке
Дифференцируя Р(х < t) по t, получим плотность распределе­
ния времени V.

— P(x<t)=p(t)=Xe~K
dt
Это распределение называется показательным, или экспонен­
циальным и показано на рисунке 2.3.
Другие потоки событий. На практике встречаются потоки со­
бытий, отличающиеся от простейшего потока. Например, кассир
обслуживает покупателя некоторое случайное время т, распреде­
ленное по нормальному закону.
Поток событий называется рекуррентным, или потоком Паль­
ма, если он стационарен и ординарен, а интервалы между собы­
тиями т i2, хз, ... - независимые случайные величины с одина­
ь

ковым распределением, причем любым. В частности, простейший


поток - это рекуррентный поток с показательным распределением
времени между событиями. Регулярный поток тоже рекуррент­
ный, но с вырожденным распределением для т. Это постоянная ве­
личина или очень «острое» нормальное распределение.
Другим способом получения потока является просеивание
простейшего потока. Пусть простейший поток посетителей уч­
реждения сортируется диспетчером по к различным направле­
ниям, так что на каждое г'-е направление попадает посетитель
с номером j по правилу г = jimod к). В этом случае по г'-му на­
правлению будет направлен так называемый поток Эрланга к-го
порядка. Интервал между событиями в потоке Эрланга - сумма
интервалов из простейшего потока. В частности, простейший
поток событий - это поток Эрланга 1-го порядка. При к —• <х> по­
ток Эрланга превращается сначала в поток Пальма с нормаль­
ным распределением для t; а далее - в регулярный поток. Важно
следующее утверждение: системы, в которых все потоки простей­
шие, являются марковскими.
Уравнения Колмогорова - Чепмена для замкнутой системы.
Рассмотрим модель системы с дискретными состояниями и не­
прерывным временем. В этом случае каждому переходу {q —> qj)
t

соответствует интенсивность Ху потока событий, состоящих в ре­


ализации этого перехода. Наглядно такую систему можно изобра­
зить графом состояний марковского процесса:
G=<Q, U,a:A-> U>,
где: Q - множество состояний системы, \Q\ = п; U - множество
2
переходов (q,-^qj) € U, U С Q ; Л - множество интенсивностей
переходов А,,-,-, приписанных отображением а дугам (переходам)
графа G.
Отображение а можно задать матрицей Л размерами пхп. В ее
клетках расположены интенсивности Ху. Как и в модели с дис­
кретным временем, нас будет интересовать стохастический век­
г е
тор P(t) = {P\(t), P (f),...,
2 Д Л ( 0 - вероятность нахождения
системы в состоянии q,в момент времени /, иначе говоря, - доля
времени, которую система проводит в этом состоянии.
Рассмотрим фрагмент графа G (рис. 2.4).

Рис. 2.4. Фрагмент размеченного графа переходов G

Запишем уравнение для вероятности одного из состояний, на­


пример, Рз(0 в момент времени /. Пусть P^(t+At) - вероятность
того, что система в момент (t+At) попадет в состояние q^. Это со­
бытие может произойти двумя путями:
1. В момент t система была и оставалась в состоянии #з, т.е. пе­
реходы (#з —• q{) и (#з —> #4) не состоялись.
2. В момент t система была в одном из состояний q\ q или q\,2

и л и
а за время Af состоялся один из переходов: (q\ —> q$), (q —> <7з)
2

(Я4 -* ЯзУ
Заметим, что все эти возможности взаимоисключающие, что
позволяет суммировать их вероятности.
Найдем вероятность первого варианта. Выходной поток из со­
стояния <7з есть смешение потоков переходов из q$ в q\ или q$.
Этот поток простейший, а его интенсивность равна сумме интен­
сивностей смешиваемых потоков:
РзвьЖ + АО = P (t)[\-
3 (hi + hd А']-
Аналогичное рассуждение справедливо и для входного потока
в состояние q . Итак, по второму варианту развития процесса:
3

P (t+At)
3ex = [ Л Х. + Р Х + Р Х ] Д/. 13 2 23 4 43

Искомая вероятность P (t+Af) есть сумма этих вероятностей,


3

т.к. такие варианты альтернативны:


Р (/ +Д/) = P (t+At)
3 3ehix + P (t+At)
3ex

P (t +At) = P (t) + [P X + P X + P X - P (Я. + X )]A/.


3 3 x x3 2 23 4 43 3 31 34

Отсюда:
(P (t +At) - P (t))/At = P X
3 3 : U + P hi + Л*43 - РъОчi + ^34)
2

или при At —* О
<#У<# = Pi Я. + Р Х /3 2 2Ъ + ^4 ^43 - Рг (hi + Ы -
Полученное уравнение называется уравнением Колмогорова -
Чепмена для одного состояния (в данном случае q ). 3

Составляя уравнения Колмогорова - Чепмена для всех состоя­


ний системы, мы получим систему линейных дифференциальных
уравнений.
Кроме системы уравнений Колмогорова - Чепмена выполняет­
ся еще и условие нормировки
£,=1..„ Л(0=1-
Сформируем теперь общее правило для составления системы
уравнений Колмогорова - Чепмена.
Рассмотрим внимательнее матрицу Л. Если / Ф j , то в ее клетке
стоит Xjj - интенсивность перехода q —• qy Если же i =j, то в клет­ t

ке Хн должна стоять интенсивность потока выходов из состояния


<7„ причем с отрицательным знаком:
Хц — — 'Lj^j Xjj.
Тогда .

£/=i..n hj~ 0.
Это значит, что никуда из множества состояний Q система не
выходит.
Пусть теперь Р - вектор-строка вероятностей состояний,
Р' = dPIdt - вектор-строка производных от вероятностей состоя-
ний. Тогда по правилам алгебры матриц система уравнений Кол­
могорова - Чепмена имеет вид:
Р'=Р Л.

Итак,1, ..^)=1-
= 1

Для ее решения необходимо задать начальное условие, т.е.


значение вектора Р в момент t = 0. Обычно это вектор вида
Р = <1, 0, 0, 0>, где д -начальное
г состояние, Р](0) = 1.
Интересно, что будет происходить с вероятностями состояний
Pj(t) при t —у оо. В теории случайных процессов доказывается, что
если число п состояний системы конечно, и из любого г-го состо­
яния можно попасть в'любое j-Q за конечное число шагов, то ве­
роятности Pj = lim Pj(t) при t —> оо существуют и называются фи­
нальными вероятностями состояний.
Ранее мы назвали такие системы эргодическими. Финальную
вероятность Р, можно трактовать как долю времени пребывания
системы в /-м состоянии. С другой стороны, эргодические систе­
мы таковы, что вместо одной системы, наблюдаемой в течение
долгого времени при t —>• со, мы можем наблюдать N —» со идентич­
ных систем одновременно. Тогда финальная вероятность оказыва­
ется долей систем, находящихся в г-м состоянии.
Поскольку финальные вероятности постоянны, то говорят, что
система достигла стационарного состояния. При этом все произ­
водные Р) = 0, и система уравнений Колмогорова - Чепмена стано­
вится системой линейных однородных уравнений с одним услови­
ем нормировки:
Р Л = 0.

Такая система легко решается методом исключения неизвест­


ных. При этом можно не рассматривать одно из однородных урав­
нений.
П р и м е р 2.2. Н е н а д е ж н ы й а г р е г а т . Пусть некий агрегат
имеет 3 состояния:
^ ] - агрегат исправен и дает прибыль S\ в единицу времени;
q - агрегат неисправен, и диагностируется, что требует расхо­
2

дов 5 в единицу времени;


2

<7з - агрегат ремонтируется, что обходится в сумму S3 в едини­


цу времени.
Таким образом, математическое ожидание прибыли составляет
S = P Si-P S -P S ,
l 2 2 3 3

где Pj - вероятность состояния q т.е. доля рабочего времени, ко­


b

торую агрегат проводит в состоянии q . t

Предшествующий опыт эксплуатации показал, что агрегат


переходит из состояния в соответствии с графом переходов, пока­
занным на рисунке 2.5.

Л 1 2 3
1 -1 1 0
2 0 -5 5
3 4 1 -5

Рис. 2.5. Граф переходов и матрица интенсивностей


переходов ненадежного агрегата

Переход (q —> q ) происходит при ошибочной диагностике. За еди­


3 2

ницу времени можно взять и 1 сутки, и 1 месяц, и 1 год, главное,


чтобы все интенсивности измерялись в одинаковых единицах. При
каких же значениях S\, S и S агрегат приносит прибыль? Очевид­
2 3

но, таковым условием является 5 > 0 или P^S\ - (P2S2 + P3S3) О- >

Найдем Р\, Р н Р$ в стационарном режиме. Построим прежде


2

всего матрицу интенсивностей переходов Л и воспользуемся ма­


тричной формулировкой уравнений Колмогорова - Чепмена.
При составлении этих уравнений вручную можно пользоваться
следующим правилом. Производная Р\ равна разности суммарно­
го входного и суммарного выходного потоков. В стационарном ре­
жиме эта разность равна нулю, т.е. входной и выходной потоки в
каждом состоянии равны. Просматривая состояние за состоянием
на рисунке 2.5 имеем систему уравнений:
для q : Pi = АР \
x Ъ

для q . P + Р = 5Р ;
2 l ъ 2

для qy. 5Р = 5Р .
3 2

Нормировка: Р + Р + Р = 1. г 2 3

Нетрудно убедиться, что этот простой метод дает тот же ре­


зультат, что и умножение вектор-строки Р на матрицу Л. Решая
систему уравнений, получаем:
Р = 2/3;Р = 1/6; Р = 1/6.
1 2 3

Пусть Si = 300; S = 200; S = 400.


2 3

S = 2/3 х (300) - 1/6 x (200 + 400) = 200 - 100 = 100.


Эксплуатация агрегата дает прибыль.
Эквивалентность марковских моделей систем. Мы рас­
смотрели два типа марковских моделей стохастических систем:
синхронную и асинхронную! В синхронной модели система рас­
сматривается как синхронный вероятностный автомат, поведение
которого представляет большое множество таких автоматов или,
что то же самое, поведение этого автомата на большом промежут­
ке времени. Процесс в обеих этих моделях имеет два представле­
ния, две проекции: история и тайминг. В синхронной модели на
первом месте стоит история системы - последовательность со­
стояний, изменяемых одновременно во всех элементах системы в
каждом такте. В асинхронной модели тактирования нет, и процесс
функционирования системы представляется ее таймингом - ор­
динарным потоком событий-переходов q —• qj из состояния q, в
t

состояние qj, происходящих в случайные моменты времени. Ка­


ково соотношение между этими моделями? Интуитивно ясно, что
если эти две модели адекватно описывают одну и ту же систему,
то и результаты моделирования должны совпадать, т.е. эти модели
эквивалентны. Это действительно так.
Рассмотрим матрицы D из раздела об автономном вероятност­
ном автомате и Л из раздела об уравнениях Колмогорова - Чепме-
на для замкнутой системы. Эти матрицы таковы, что вероятности
Pij переходу q —> qj в матрице D соответствует интенсивность Ху
t

потока переходов q —> qj в матрице Л. Более того, сумма элеменов


t

каждой строки в обеих матрицах по определению равна 0. (Напом­


ним, что D = Q -Е, а в матрице Q сумма элементов строки равна 1.)
Пусть Pjj(t) - вероятность перехода q —> qj за время t. В разделе о
t

простейшем потоке было показано, что вероятность одного этого


перехода за время т < t равна

а плотность распределения для Pyit) - это вероятность рц перехода


q —> qj в данный момент времени (т.е. за время одного такта т < dt)
t

Pij = Pjj(dt) = Р (dt) = Xdt.


х

Здесь мы взяли dt за длительность такта. Итак, доказан следую­


щий принцип эквивалентности: синхронные и асинхронные мар-
ковские модели эквивалентны и D = кЛ. Подбирая коэффициент
к, можно сделать D матрицей вероятностей, а Л - матрицей интен-
сивностей. Изменяя длительность такта dt, можно переводить ма­
трицы D и Л друг в друга.

2.3. Элементы теории массового о б с л у ж и в а н и я

Системы массового обслуживания. Система массового об­


служивания (СМО) - любая система (техническая, социальная,
биологическая), в которой можно выделить случайный поток за­
явок и каналы обслуживания этих заявок. Общая схема СМО по­
казана на рисунке 2.6.

2 --•

О ОО О О О с х х х ю :
ОООО О О
Поток очередь Выходной
заявок поток
•- * m

Рис. 2.6. Схема многоканальной и многофазной СМО с очередью

Примеры СМО: телефонные станции, кассы, магазины, ремонт­


ные мастерские, ракеты, летящие в цель, и другое.
Поскольку время обслуживания заявок случайно, то все пото­
ки в системе случайные и чаще всего простейшие или близкие к
ним. Во всяком случае, их можно моделировать простейшими по­
токами, что облегчает решение задач анализа СМО. Простейшая
математическая модель СМО - марковская дискретная система с
непрерывным временем.
Классификация систем массового обслуживания. Классифи­
кация СМО опирается на варианты, получаемые из общей схемы,
представленной на рисунке 2.6.
Итак, системы массового обслуживания бывают следующих
видов:
1. СМО с очередью, если в ней есть очереди.
2. СМО с отказами, если в ней очереди нет и заявка, пришед­
шая в момент, когда все каналы заняты, получает отказ и выбыва­
ет из системы.
СМО с очередью настолько часто встречаются, что теория
СМО еще называется теорией очередей. Дальнейшее подразделе­
ние СМО с очередями проводится по способу обслуживания оче­
реди - дисциплине обслуживания и по ограничениям, наложен­
ным на очередь:
1. Если ограничена длина очереди, то лишние заявки получают
отказ, как в СМО с отказами.
2. Если ограничено время ожидания в очереди, то это СМО с
нетерпеливыми заявками. Дисциплина обслуживания может быть
простая: первый пришел - первый вышел FIFO, обратная: по­
следний пришел - первый вышел'LIFO, с приоритетами, когда за­
явки продвигаются в очереди согласно приоритетам. Приоритеты
бывают, в свою очередь, абсолютными и относительными. Заявка
с абсолютным приоритетом прерывает обслуживание заявки с бо­
лее низким приоритетом и занимает канал обслуживания («кру­
той» клиент выгоняет из парикмахерского кресла клиента обык­
новенного). Заявка с относительным приоритетом занимает место
в очереди согласно приоритету и ждет свободного канала.
По числу каналов СМО делятся на одноканальные и многока­
нальные.
По числу этапов обслуживания: однофазные и многофазные.
Так, в примере с ненадежным-агрегатом неисправный агрегат про­
ходил два этапа обслуживания - диагностику и ремонт.
Наконец выделяют СМО закрытые и открытые. В открытой
СМО существует выходной поток обслуженных заявок, а входные
потоки не зависят от состояния СМО. В замкнутой СМО заявки
порождаются в системе и остаются в ней, порождая новые пото­
ки заявок. Так, наш пример с ненадежным агрегатом можно рас­
сматривать как замкнутую СМО. Исправный агрегат порождает
заявки на диагностику, диагностика порождает заявку на ремонт,
ремонт - на диагностику или рабочее состояние.
Задачи теории массового обслуживания. Как и для всех
систем, для СМО могут ставиться задачи анализа и синтеза.
Анализ СМО состоит в вычислении ее характеристик, напри­
мер, таких:
1) вероятности состояний (вектор Р);
2) длина очереди или очередей;
3) вероятность отказа в обслуживании заявки;
4) число заявок, находящихся в СМО - N ;
cm

5) время пребывания заявки в системе - Г .


сис
Наиболее просто анализ проводится для простейших потоков
заявок, т.к. при этом СМО является марковской системой.
Синтез СМО выступает задачей оптимизации некоторой более
крупной системы - надсистемы. Из этой объемлющей системы
берутся ограничения и оценки для проектируемой СМО:
1) характеристика входного потока;
2) максимально допустимое время пребывания заявки в системе;
3) дисциплина очереди;
4) цены на содержание СМО и обслуживание.
Часто при организации обслуживания клиентов возникает
конфликт интересов клиентов и владельцев СМО. С точки зрения
клиентов желательно минимизировать длину очереди и время об­
служивания. Это, однако, требует увеличения числа каналов об­
служивания или повышения их быстродействия.
С точки зрения владельцев СМО необходимо увеличивать за­
грузку оборудования (каналов обслуживания), уменьшать стои­
мость СМО и увеличивать прибыль. Если «пойти на поводу» у кли­
ентов, цена СМО и обслуживания будет расти до такого уровня,
что клиенты не смогут позволить себе платить за обслуживание.
Если удовлетворить желание владельцев СМО, клиенты переста­
нут пользоваться ей из-за чрезмерных потерь времени в очереди.
Если же клиент не имеет возможности проигнорировать систему
обслуживания, то такая монополия может вообще нарушить нор­
мальное функционирование надсистемы высшего уровня.
Таким образом, при синтезе СМО следует перейти к анализу
системы более высокого уровня и учесть иные атрибуты конфи­
гуратора надсистемы, скажем, стоимость, удобство, надежность и
другое.
Типичной задачей синтеза является совершенствование уже су­
ществующей СМО. Анализ ее позволяет выявить «узкие места» и
подготовить проект изменений, включающий следующее:
1) увеличение числа каналов;
2) повышение интенсивности обслуживания в канале;
3) изменение дисциплины в очереди и т.д.
Прежде, однако, чем внедрять эти «улучшения», следует прове­
сти анализ проектируемой СМО. Зачастую оказывается, что пред­
лагаемые «улучшения» снижают некоторые показатели ее каче­
ства вопреки ожиданиям реформаторов.
Формулы Литтла. Иногда для оценки СМО можно использо­
вать достаточно грубые модели, полагая все потоки простейшими.
Более того, некоторые важные результаты вообще не зависят от
характера потоков. Такой результат известен для связи обобщен­
ных параметров СМО:
1) интенсивности входного потока X;
2) среднего числа заявок в системе N ; CKC

3) среднего времени пребывания заявки в системе Т . тс

Рассмотрим произвольную СМО с любыми потоками, числом


каналов, очередей и их дисциплинами. Единственное требование
к СМО - существование стационарного режима. В стационарном
режиме, что бы ни происходило в системе, интенсивности входно­
го и выходного потока заявок равны. Пусть это будет интенсив­
ность X.
На рисунке 2.7 показаны графики для числа X(t) заявок, вошед­
ших в систему, и для числа Y(f) заявок, покинувших ее.

Рис. 2.7. Графики числа заявок, вошедших в систему


и покинувших ее

Функции X(t) и Y(t) ступенчатые, и каждая ступенька имеет вы­


соту, равную 1. Для любого момента времени / их разность есть
число JV(/) заявок, находящихся в СМО:
N(t) = X(i) - Y(t).
Среднее число заявок, находящихся в системе за большой
период времени Т:
j
r
NCK = \/T f N(t)dt.

Интеграл f N(t)dt - это площадь заштрихованной области


Jo
на рисунке. Легко заметить, что эта фигура состоит из прямоу­
гольников высотой 1 и длиной основания где - время пребы­
вания г-й заявки в системе. Отсюда:

Итак:
Ncm =1/Г х t = X./ХТ х X ) //.
t

Величина (Lt,)/(XT) - среднее время пребывания заявки в СМО -


Т , поскольку XT - число заявок, прошедших через систему за
сж

время Г, a ^ f , - - общее время пребывания всех этих заявок в

СМО. Итак, первая формула Литтла имеет вид:

Точно так же можно вывести связь между средней длиной оче­


реди N и средним временем ожидания в ней Т . Вторая формула
04 оч

Литтла:
-~ X Т . оч

Формулы Литтла дают возможность связать важнейшие харак­


теристики СМО: JV , J V , Г
CHC и Т , если известна интенсивность
04 С И С О Ч

X в стационарном режиме.
Схема гибели-размножения. Мы видели, что для большого
числа состояний система уравнений Колмогорова - Чепмена ста­
новится непомерно сложной для анализа. Есть, однако, случаи,
когда решение этой системы можно получить в аналитическом
виде. Такова схема гибели-размножения, граф состояний которой
представлен на рисунке 2.8.

п -1 Wп
А, Иг My М< М „-i М„
Рис. 2.8. Процесс гибели-размножения
Состояния в схеме гибели-размножения можно расположить на
прямой, где каждое соединено с соседями слева и справа. Такой
граф состояний характерен для процессов изменения численности
популяций. Пользуясь этим графом, запишем:

Из первых двух формул следует:

Р\ h = Pi Иг

P 'kj=P j+iHi+i
i

=
Рп-\ Рп Мп-
Кроме того, как всегда, имеет место условие нормировки:
P +Pi+P +...+P =l.
0 2 n

Теперь можно исключать поочередно все вероятности и выра­


зить их через Р&

Р = Po^oVOu^)
2 - -

/1-1 -

Из условия нормировки имеем:


+ + / u +
Л)= i/(i+V/"i+>4)V(Mi№) --- ^o'----^-i (/ i'----M/t) ---
+ X -...-X„. /(fJ, ...
0 l V •/!„)).
j
54
i=0
^0 =

Полученные формулы для схемы гибели-размножения, как и


сама схема, применимы к широкому классу задач массового об­
служивания. Модифицируются только способы задания интенсив-
ностей \ и щ.
Задача Эрланга: и-канальная СМО с отказами. Задача Эр-
ланга возникла на заре развития телефонии в начале X X века. Она
была решена датским математиком Эрлангом и стала одной из
первых классических задач массового обслуживания. С этой за­
дачи, собственно, и начинается бурное развитие теории массового
обслуживания, а Эрланг считается ее создателем.
П о с т а н о в к а з а д а ч и . Имеется п каналов обслуживания (ли­
ний связи), на которые поступает поток заявок с интенсивно­
стью \ . Каждый канал обслуживает заявки с интенсивностью
1
ц = (Усбсл)" - Здесь интенсивность /л подсчитывается при непре­
рывной работе канала, а время его простоя отбрасывается. Этим
приемом мы уже пользовались при составлении уравнений Кол­
могорова - Чепмена. Если свободных каналов нет, то заявка по­
лучает отказ и выбывает из системы. Рассматривается СМО с от­
казами.
Требуется найти:
_
1- ^обсл абсолютную пропускную способность, т.е. среднюю
долю обслуживаемых заявок от их общего числа - вероятность
обслуживания.
2- Р тк ~ вероятность отказа.
0

3. к - среднее число занятых каналов.


с р

Р е ш е н и е . Состояния СМО будем нумеровать числом заявок,


находящихся в системе. Граф состояний СМО соответствует схеме
гибели-размножения {рис. 2.9).

Я Я Я я я.

1ц км (к+\)М

Рис. 2.9. и-канальная СМО с отказами (задача Эрланга)


Теперь стрелки, идущие слева направо, имеют одну и ту же ин­
тенсивность X, а для переходов справа налево интенсивность про­
порциональна числу занятых каналов кц.
Воспользуемся уже готовыми формулами для процесса гибели-
размноженния.
Имеем:

^к=0- k\fx
Члены этого ряда:
2 к к
Х/ц, Х 1(2р?), ХУ(3\р?),..., Х 1{к\Х )
это коэффициенты при PQ ДЛЯ Р\, Р , 2 -,РЬ
2 2
P I = XP /р, Q Р = \ Р Л?ц ),
2 0 • • • . Рк = /№*) •• •
Интенсивности X и /х входят в формулы для Р только в виде от­ К

ношения. Такая ситуация так- часто встречается, что имеет смысл


ввести новую характеристику СМО - приведенную интенсивность
потока заявок
р =Х/р.
В этих обозначениях:
-1

^0 = Е- при п —>оо

k
Pk = PoP lk\ Д = 1..И.
Эти формулы называются формулами Эрланга в честь основа­
теля теории массового обслуживания.
Итак, финальные вероятности известны. Найдем искомые вели­
чины.
Вероятность отказа Р равна вероятности того, что все кана­
о т к

лы заняты:
п п р
Р = Р = PQP 1п\ , а при и—>оо имеем Р
о т к П = р 1 (и! е ). 0ТК

Вероятность обслуживания
п
Л>бс = 1- Лнк =1-РоР 1п\ -+(\-р"/(п\еР)).
Как и следовало ожидать, при п —» оо, Р ^ —* 1. 0 С

Абсолютная пропускная способность - это поток обслуженных


заявок - число обслуживании в единицу времени:
А ,
о6с = ХРо6й = Ц1-Р р"М).
0

Очевидно, что при п —> оо, задержек в системе нет, и А ^ —» 0 сп

X, т.е. интенсивность обслуживания равна интенсивности потока


заявок.
Среднее число занятых каналов - это число к = N заявок,
ср CKC

находящихся в системе. Значит поток обслуживаемых заявок - это

^•ср Р ~ ^обс -^обс-


Отсюда:
/с = ( ^ ) - ( 1 - Р Р "/«!)= Р (1 -
ср 0

р
Приведенные здесь выражения для -Ро> содержащие е , приме­
нимы при большом числе каналов обслуживания п >10, что типич­
но для телефонии.
Одноканальная СМО с неограниченной очередью.
П о с т а н о в к а з а д а ч и . Эта задача - хорошая модель для си­
туации, когда клиент не может покинуть очередь при любой ее
длине: очередь к врачу, к телефону-автомату, билетной кассе и
т.д. Граф состояний такой СМО - та же схема гибели-размноже­
ния {рис. 2.10), где X - интенсивность потока заявок, р, - интенсив­
ность обслуживания.

я я я
0 W 1 р 1 4 • • •
щ щ

Ч
и и и М И
Рис. 2.10. Одноканальная СМО с неограниченной очередью
Требуется найти:
N - среднее число заявок в системе;
cm

N - средняя длина очереди;


04

ТСИС- среднее время пребывания заявки в системе;


Т - среднее время пребывания в очереди;
ОЧ

Р - вероятность занятости канала.


зан

В этой модели финальные вероятности существуют только при


р = Х/р < 1 ,
т.е. когда заявки обслуживаются быстрее, чем они в среднем по­
являются. Уже при р = 1 очередь начнет бесконечно расти, если
поток заявок нерегулярен. Если же потоки регулярны, и каждая
заявка обслуживается к моменту прихода следующей заявки, то
очереди вообще не будет.
На практике «бесконечная очередь» нереальна. Вот почему
нужно осторожно использовать замену случайных величин их
средними значениями. Следует побеспокоиться, чтобы искомое
решение существовало.
Р е ш е н и е з а д а ч и . По схеме гибели-размножения имеем

1 = Е?"
к=0
В прямых скобках стоит геометрическая прогрессия, сходяща­
яся к при р < 1. "Теперь можно записать:
Л>=1-р

Ряд вероятностей PQ, Р\, Р ... - тоже геометрическая прогрес­


2

сия со знаменателем р. Как ни странно, PQ - максимальный член


этой прогрессии при любой нагрузке, лишь бы система справля­
лась с ней (X < р).
Вычислим N„

к=\ к=\

dpf^ dp U - p J

d_ l-p+p
dp U - p J i-P (l-p) 2
[i- y
P {\- y
P

Итак: JV = p I (l-p). CHC

По формуле Литтла, Г = N IX = р/(1(\-р)).


с и с mc

Число заявок в очереди в среднем:

•^оч = -^сис ~~ -^обсл'


г
где Л б - среднее число заявок, которые обслуживаются СМО в
0 сл

единицу времени:

^обсл=ОхР +1хЯ*>о=1-^о=Р<1-
0 •
2
N m = {p/(\-p))-p = p i(\-p).
Теперь по формуле Литтла время пребывания заявки в очереди:
т =р /(Ю-р)).

2

я-канальная СМО с неограниченной очередью. Задача чуть


сложнее одноканальноЙ СМО. Граф состояний системы показан
на рисунке 2.11. Финальные вероятности существуют при условии
р < п, иначе очередь растет до бесконечности.

Л X
1 *Щ
W
2 - •• - — •
Щ
•• •
2]х kfi lk+l) M

Рис. 2.11. и-канальная СМО с неограниченной очередью

Применяя все те же формулы схемы гибели-размножения,


имеем:

р п+1
^0 = Е-+
Uk\ п\(п-р)
Р
Член получается как в задаче об одноканальноЙ СМО.
«!(« — р)
I1 \—V Рп
х к

Это сумма членов геометрической прогрессии —- ^


1
k=n+i
Теперь
2 к
Р\-Pop, Pi = '/ р Р , :..Р = POP /к\, ...,Р„ = Р
2 0 "М к оР

н п+ г
Р = Р р " /(п-п\), . . ., P
п+} 0 = Pop '7(п -п\), . . . n+r

Прочие параметры вычисляются как и ранее:


А : = Х/ц=р
ср

^ с и с = Лоч + Р
ОО
Р R +l г
^ = Х > ^ = P" 1{п-п\{\-р/п) )
г=1
т = дг / 1 7 = N IX
П р и м е р 2.3. Р е о р г а н и з а ц и я С М О . В своей известной
книге «Исследование операций» Елена Сергеевна Вентцель при-
вела пример с неквалифицированной реорганизацией работы же­
лезнодорожной кассы. Пример настолько удачный в методическом
отношении, что воспроизводится здесь без изменений.
На железнодорожном вокзале есть две кассы для продажи би­
летов. В обеих кассах билеты продают в двух направлениях А и
В. Интенсивность запросов Х^ = Хд = 0,45 пассажиров в минуту.
Таким образом, интенсивность общего потока заявок X = 0,9. Ин­
тенсивность обслуживания одной кассой 0,5 пасс/мин. У касс ска­
пливается очередь, причем первый „в очереди подходит к любой
свободной кассе. Поступило предложение специализировать кас­
сы по направлениям А и В. Разумно ли это?
Существующий вариант, двухканальная СМО, X = 0,9, р = 0,5,
р = XIц = 1,8 < п = 2. Финальные вероятности существуют.
По формуле для PQ при п = 2 имеет PQ = 0,0525.
N = 7,68; Г = 8,54 мин.
04 оч

Предлагаемый вариант - две независимые одноканальные


СМО, каждая из которых имеет следующие параметры X = 0,45,
р = 0,5, р = XIр = 0,9 < 1. Финальные вероятности существуют.
Средняя длина очереди iV = 8,1, Т = 18 мин.
04 оч

Почему предлагаемый вариант оказался хуже существующего?


Дело в том, что в существующем варианте меньше простой
кассы в состоянии 0. Там кассир всегда занят, если есть пассажир.
В предлагаемом варианте этой возможности нет. Нет пассажиров
на А - кассир А сидит без дела. Нет пассажиров на В - тоже самое
для В. Вот почему стоя в очереди к прилавку магазина вы негоду­
ете - вы стоите, а за соседним прилавком продавец явно бездель­
ничает.

Задачи к главе 2

Задачи к главе 2 предназначены для решения на практических


занятиях. Они легко решаются аналитически и вручную для ста­
ционарного режима. Для более глубокого освоения теории жела­
тельно решить их для переходного режима. Впрочем, это можно
отложить до освоения главы 3 и работы в компьютерном классе.
Тогда можно будет исследовать и переходной, и стационарный ре­
жим с помощью программы «Популяция».
Как показывает опыт, наибольшие затруднения при решении
сюжетных задач у студентов вызывает переход от словесной фор-
мулировки задачи к математической модели. При этом особенно
трудно осваивается задание системы интенсивностей переходов в
единой системе единиц измерения времени для каждого перехода.
В сюжетной задаче эти интенсивности задаются по-разному. Реко­
мендуется следующий порядок действий.
. 1. Нарисовать граф переходов. Для этого необходимо сначала
выписать все необходимые состояния системы, а затем соединить
их дугами.
2. Выбрать длительность такта и все интенсивности переходов
(или их вероятности), относящиеся к этому такту. Лучше делать
это с интенсивностями. Дуги графа переходов подписываются по­
лученными числами.
3. Если в задаче есть интенсивности и вероятности, следует пе­
ресчитать все в интенсивностях.
4. Если некоторые интенсивности получились больше 1, то сле­
дует уменьшить длительность такта и, соответственно, все ин­
тенсивности (вероятности) разделить на такую величину (обычно
степень десяти), чтобы все числа стали меньше 1, а сумма вероят­
ностей выходов из любого состояния была не больше 1.
5. Составить стохастическую матрицу переходов Q или матри­
цу интенсивностей Л.
Используя граф переходов или матрицы Q и Л записать систе­
му линейных уравнений и уравнение нормировки для вероятно­
стей состояний. В случае с интенсивностями это будут уравнения
Колмогорова - Чепмена.
6. Решить систему.
При использовании программы «Популяция» решение системы
получается автоматически и в переходном режиме (см. главу 3).
Задачи даны в порядке увеличения сложности.
1. Задача о пьяницах. Для рытья канавы наняли 100 пьяниц.
После работы пьяница напивается с вероятностью 0,5. На следую­
щий день по пути на работу напившийся вчера пьяница опохмеля­
ется и с вероятностью 0,5 снова напивается и не доходит до рабо­
чего места. Сколько пьяниц действительно копают канаву?
2. Задача о враче. Рабочий день врача 8 часов, т.е. 480 ми­
нут. На осмотр больного уходит в среднем 15 минут. После ос­
мотра врач занимается документацией или отдыхает в среднем
2 минуты. Около пяти раз в день врач отвлекается в среднем на
10 минут. Осмотр больного не прерывается. Сколько больных
врач может осмотреть за один рабочий день при таком режиме
работы?
3. Задача о кассирах. Кассовый аппарат требует осмотра или
заправки ленты в среднем 5 минут каждые 2 часа. Кассир отвле­
кается от работы в среднем на 10,минут и в среднем через 1 час.
На обслуживание клиента тратится в среднем 2 минуты. Рабочий
день - 12 часов. Все потоки простейшие. Сколько клиентов может
рассчитать кассир за рабочий день?
4. Задача о ремонте автобуса. Автобус требует профилактиче­
ского осмотра в среднем 3 раза в год. Осмотр длится около 1 дня.
После этого автобус готов к эксплуатации с вероятностью 0,9, а в
остальных случаях его задерживают в мастерской для ремонта в
среднем на 5 дней. Осмотр и ремонт обходится в 10 ООО рублей в
день. Прибыль от эксплуатации 1000 рублей в день. Выгодно ли
эксплуатировать такие автобусы, если число дней в году 365?
5. Задача о КЭШе. Если процессор не ищет данные в памяти,
то он считает, а вероятность достояния счета - это КПД компью­
тера. Процессор в 10 раз быстрее основной памяти. Для ускорения
доступа к данным в компьютере предлагается ввести небольшую
скрытую память - КЭШ (тайник). Доступ в КЭШ в 10 раз быстрее,
чем в основную память. Вероятность найти нужные данные в
КЭШ равна 0,9. Если же их там нет, КЭШ обращается в основную
память и пополняется, а данные одновременно попадают в процес­
сор. Решите:
1. Каков КПД компьютера без КЭШ?
2. Как изменится КПД при введении КЭШ?
6. Задача о санэпидемстанции. Повар общественной столовой
должен сдавать анализы на опасные заразные болезни в среднем 4
раза в год. Санэпидемстанция делает анализы с интенсивностью
500 анализов в год. Очередь на анализ без ограничения длины и
без отказов. С вероятностью 0,9 анализы отрицательные и повара
допускаются к работе. В противном случае анализы повторяют­
ся и с вероятностью 0,8 получают подтверждение. Повара с под­
твержденным диагнозом лечатся в среднем 1,2 месяца, после чего
снова сдают анализы. В городе 121 повар. Ответьте на вопросы:
1. Сколько поваров допущены к работе?
2. Сколько больных?
3. Справляется ли санэпидемстанция с потоком анализов?
Глава 3
СЛОЖНЫЕ СИСТЕМЫ

3.1. С л о ж н ы е системы и синергетика

Определение сложной системы и синергетики. До сих пор


рассматривались большие, но относительно простые системы, в
которых все элементы действуют независимо, сами по себе. Зави­
симость между элементами в таких системах, если она есть, со­
стоит в том, что элементы конкурируют за общие ресурсы. Так,
например, все абоненты СМО используют общие каналы обслу­
живания, стоят в общей очереди и т.д. Такие системы можно на­
зывать большими ансамблями.
Сложными системами в дальнейшем будут называться систе­
мы, в которых элементы взаимодействуют так, что поведение од­
них элементов зависит от состояний других, а поведение системы
является результатом их совместной деятельности. Такие сложные
системы изучает новая современная наука - синергетика. Харак­
терные особенности синергетики и систем, подлежащих ее иссле­
дованию:
1. Нелинейность моделей, часто приводящая к процессам с обо­
стрениями. При обострении некоторые параметры системы могут
терпеть разрывы и устремляться в бесконечность. Ясно, что реаль­
ные процессы не могут быть такими, т.е. обострение - это продукт
математического приближения, которое имеет ограниченную об­
ласть применения. Там, где адекватность модели утрачивается,
возникает обострение. Это значит, что в точке обострения стано­
вятся неадекватными наши содержательные представления о си­
стеме, и в силу вступают какие-то новые факторы.
2. Самоорганизация сложной системы. Рождение порядка из
хаоса является самым поразительным явлением, обнаруженным
синергетикой. Система, в которой поведение отдельных элементов
случайно и кажется хаотичным, устремляется к некоторому высо­
коорганизованному и динамическому аттрактору. Это и состав­
ляет сущность самоорганизации.
3. Аттрактор как организованное состояние сложной систе­
мы часто не может существовать без внешней энергетической
подпитки. Система как бы впитывает извне структурированную
материю, извлекает из нее энергию и упорядоченность, после
чего возвращает ее вовне, повышая энтропию внешней среды. На
этом основании такие системы называются диссипативными, т.е.
рассеивающими свободную энергию среды. Такими свойствами
в природе обладает живое вещество. Сложные системы оказыва­
ются близки к живым системам и по большей части ими и явля­
ются.
Как и ранее, мы будем моделировать элементы сложной систе­
мы вероятностными автоматами. Ниже будет описан метод мате­
матического и компьютерного моделирования поведения сложных
систем - популяционное моделирование.
Популяция автоматов. Популяция автоматов - это система
взаимодействующих вероятностных автоматов. Поскольку авто­
маты различны, их подмножества образуют подсистемы с разны­
ми функциями. Взаимодействие состоит в том, что смена состо­
яний отдельного автомата обусловлена состояниями некоторых
других автоматов; а именно: состояния «воздействующих» авто­
матов влияют на «изменяемые» автоматы и переводят их в новые
состояния, причем способ передачи воздействий и связи между
автоматами не рассматриваются (не интересуют исследователя).
Автомат может, как обычно, менять состояние сам, а может зави­
сеть от любого числа автоматов, находящихся в подходящих воз­
действующих состояниях.
Популяции автоматов пригодны для моделирования сложных
массовых объектов: биологических, экономических, социальных
и технических систем, параллельных программ [3] и т.д. С этой
целью автоматы, как и ранее, должны иметь стохастические ха­
рактеристики: интенсивности потоков событий-переходов или ве­
роятности переходов в каждом такте. Поскольку число состояний
популяции чрезвычайно велико, вычисления проводятся не для
всех состояний популяции, а для минимального набора различ­
ных состояний автоматов, но считается, что в каждом состоянии
находится некоторое подмножество автоматов. Мощность это­
го подмножества - среднее число автоматов в данном состоянии.
Таким образом, случайный процесс на одном наборе состояний
представляет динамику популяции «в среднем» [5; 6; 9; 10].
Трудность состоит в том, что в описанном ранее методе дина­
мики средних все элементы системы независимы друг от друга.
Между тем, основное свойство, которое влияет на поведение попу­
ляции - взаимодействия между автоматами. Следует как-то учесть
эти взаимодействия в методе динамики средних. Эта проблема
успешно решалась для случайных полей [9] - стохастического ва­
рианта так называемых клеточных автоматов [3]. В этом случае
взаимодействия происходят между соседними автоматами, распо­
ложенными в узлах квадратной или кубической решетки, а сами
автоматы обычно имеют два состояния. Для двоичных случайных
полей получены условия марковости. Увеличение числа состояний
элементарного автомата приводит к утрате марковских свойств в
большинстве практически интересных случаев [7].
Отсутствие метрики в популяции позволяет исследовать такие
случайные системы, используя достижения теории параллельных
процессов [3]. Эта теория была развита в связи с разработкой опе­
рационных систем (ОС) для вычислительных машин и алгоритмов
логического управления технологическими процессами. Слож­
ность таких задач состоит в том, что в системе (вычислительной
или технологической) параллельно функционирует множество
взаимодействующих процессов. Это приводит к тому, что множе­
ство состояний такой сложной системы невозможно перебрать за
приемлемое время даже на самых современных или будущих су­
перкомпьютерах. Соответственно такие параллельные процессы
вообще невозможно отладить привычным способом повторных
прогонов. Для анализа параллельных процессов был разработан
математический аппарат сетей Петри.

3.2. Сети Петри

Автоматная сеть. Вернемся к графу переходов вероятностного


автомата, или марковского процесса. В методе динамики средних
мы рассматривали такой граф только для одного элемента систе­
мы. Мы приписывали вес, равный вероятности или интенсивно­
сти перехода каждой дуге графа, и этого было достаточно для
написания дифференциальных уравнений динамики системы. За­
пишем в каждую вершину q число элементов N , находящихся в
t t
нем. Вектор, приписывающий число каждой вершине, называется
маркировкой M = {Nj(t) | i=\..ri), а граф переходов с заданной мар­
t

кировкой - это автоматная сеть. Такую сеть мы уже использова­


ли для анализа марковских систем и систем массового обслужива­
ния методом динамики средних.
Автоматная сеть позволяет наглядно показать полное состо­
яние однородного ансамбля автоматов, но недостаточна для изо­
бражения взаимодействий в сложной системе. Следующий шаг в
моделировании сложных систем сделан в сетях Петри.
Каноническая сеть Петри. Сеть Петри позволяет изобразить
не только полное состояние сложной системы, но и зависимости
переходов (q —> qj) от состояний других элементов, точнее от мар­
t

кировки этих «воздействующих» на переход элементов. С этой


целью необходимо ввести в сеть еще один класс вершин, соответ­
ствующих переходам. Переходу ставится в соответствие правило
исполнения.
Сеть Петри - ориентированный двудольный граф G(QUD, Е),
т.е. граф с двумя типами вершин Q и D, а множество дуг
Е Я (QxD)U(Dx.Q). Вершины из множества Q = {q\,q b---Arh назы­
2

ваются позициями и обозначаются символом О (кружок), вершины


из множества D= {d\, d , • •., d } называются переходами и обозна­
2 m

чаются символом I (черта). Дуги допустимы только между позици­


ями и переходами: (позиция —• переход) или (переход —» позиция).
Обозначим:
Е - множество дуг,
*dj - множество входных позиций для перехода dj (множество
позиций, из которых есть дуги в переход dj),
dj* - множество выходных позиций перехода dj.
В общем случае между позициями и переходами может быть
несколько дуг. Сеть Петри - это мультиграф. Чтобы отобразить
множественность дуг, каждой паре (q dj) и (dj, q^) ставится в со­
h

ответствие натуральное число - вес дуги ky или Это соот­


ветствие задают функции предшествования In и следования Out.
Функции In и Out отражают связи между событиями и условиями
и изображаются матрицами инциденции. Строкам матриц инци-
денции соответствуют позиции, столбцам - переходы. Элементы
матриц In и Out равны весам дуг ку и fy. Функция In(dj) - вектор-
столбец, отображающий веса кц всех дуг, исходящих из позиций
qi £ *dj и идущих в переход dj. Функция Out (dj) - вектор-столбец,
отображающий веса kj^ всех дуг, исходящих из перехода dj и иду-
j
щих в позицию € df. По умолчанию величины ку и к^, т.е. веса
всех дуг, равны 1.
Переходы сети Петри соответствуют событиям, происходящим
в системе, позиции соответствуют условиям наступления этих со­
бытий.
На рисунке 3.1 изображена сеть Петри с пятью позициями, дву­
мя переходами и матрицами инциденции In и Out:
Позиции: Q ={q q , ?з> 94, Чь\-
h 2

Переходы: D = {d , d }.x 2

Входные множества для переходов: *d = {q , q }, *d = {^3}. x x 2 2

Выходные множества для переходов: d * ={</з}, d * = {q$ q$). x 2

Дуги из Q в D: Е = {(q , d ), (q , d ), (q , d )}.


х x x 2 x z 2

Дуги из D в Q: E = {(d , q ), (d , q ), (d , q )}.


2 x 3 2 4 2 5

Веса дуг показаны и на графе рисунке 3.1а, и в матрицах инци­


денции In и Out (рис. 3.16).

In dx
d 2 Out d, d 2

1 0 41 0 0

42 2 0 42 0 0
Out =
Чз 0 1 Чз 1 0

44 0 0 44 0 1

45 0 0 45 0 3
6
Рис. 3.1. Сеть Петри: a - изображение с помощью графа,
б - матричное изображение
Маркировка сетей Петри. Определение сети Петри позволяет
описать статические свойства_моделируемой системы, взаимосвязь
событий и условий. Для описания динамики вводится функция
маркировки М: Q —¥ N, где N- множество целых неотрицательных
чисел. Маркировка любого подмножества ACQ обозначает­
ся М(А) и называется частичной. В частности, маркировка входа
и выхода в переход dj обозначаются как M(*dj) и M(dj*\ соответ­
ственно, i
Наглядно маркировка изображается точками внутри позиции,
как показано на рисунке 3.2. "Точки называются фишками, или
маркерами. Таким образом, с помощью функции М позиции сети
помечаются целыми неотрицательными числами. Сеть Петри с
маркировкой называется размеченной сетью Петри. В дальней­
шем маркировка сети Петри будет рассматриваться как вектор
М = <M( ), M(q ),
qi 2 M(q„)> = <N N , ....
h 2

Функционирование сети Петри. Сеть Петри функционирует,


переходя от маркировки к маркировке. Последовательность мар­
кировок называется историей сети Петри. Начальная маркировка
обозначается MQ, а сеть Петри с начальной маркировкой М$ зада­
ется парой <С, MQ>. Смена маркировок происходит в результате
срабатывания (запуска) одного из переходов. Переход срабатыва­
ет только в том случае, если он разрешен (возбужден).
Переход dj разрешен, если для всякой входной позиции q, вы­
полняется условие M(ql) > ky, где ky - число дуг из позиции q в t

переход dy У разрешенного перехода каждая дуга, входящая в пе­


реход, обеспечена фишками в соответствующей входной позиции.
Лишние фишки не влияют на запуск. Переход запускается удале­
нием фишек из его входных позиций и образованием новых фишек
в его выходных позициях. Запуск перехода меняет маркировку
сети Петри. В результате получается новая маркировка М кото­ ъ

рая определяется следующим образом.


Пусть срабатывает переход dy тогда для всякой входной верши­
ны qt

M {q )=M(qi)-k
x L iJt

для всякой выходной вершины q.;


М^) = M(qi) + k jh

где ky - число дуг между q и dy т.е. k(q dj), ky - число дуг между
{ h

dj и q т.е. Щ, qj).
h

J
Если вершина q является и входной, и выходной для перехода
t

dj и ку = kji, то ее маркировка, очевидно, не меняется. В этом слу­


чае говорят, что пара (<?,, dj) образует петлю.
На рисунке 3.2а изображена сеть Петри с начальной маркиров­
кой Л/о = (1, 1, 0, 0, 0). В этой маркировке разрешен переход d\. По­
сле его срабатывания получается маркировка М\ = (0, 0, 1, 0, 0)
{рис. 3.26), и переход d становится разрешенным. Срабатывание
2

перехода d ведет к маркировке М = (0, 0, 0, 1, 1) {рис. 3.2в).


2 2

Рис. 3.2. Функционирование маркированной сети Петри:


а - начальное состояние, б - результат срабатывания
перехода dj, в - срабатывание &2
Смена маркировки М на М\ обозначается М [dj > М\.
Размеченные сети Петри позволяют описать события произ-
аольной длительности, при этом отображается только порядок
следования событий. Выполнение сети начинается при ее началь­
ной маркировке MQ И проходит через последовательность марки­
ровок, т.е. имеет историю. Историй может быть множество в зави­
симости от порядка срабатываний переходов. Таким образом, сеть
Петри с начальной маркировкой определяет структуру причинно-
следственных связей в дискретной системе и всевозможные вари­
анты развития параллельных процессов в ней. Для правильного
понимания динамики сети Петри важны следующие три предпо­
ложения о ее функционировании.
1. Разрешенный переход не может находиться в этом состо­
янии бесконечно долго, он обязательно сработает через какое-то
конечное время. В обычных сетях Петри это время предполагает­
ся случайной величиной. Данное предположение вытекает как из
физической природы моделируемых систем, так и из соображений
«экономии мышления». Зачем вводить переход, который никогда
не срабатывает?
2. Переход срабатывает мгновенно, что отражает дискретность
поведения моделируемой системы с дискретными событиями.
3. В каждый данный момент может сработать только один пере­
ход. Иными словами, поток событий и способ исполнения в сети
Петри ординарны. Это предположение адекватно только в том слу­
чае, когда исполнитель переходов в системе всего один. Например,
это процессор для операционной системы. Ординарность потока
событий упрощает моделирование процессов в системах и соот­
ветствующих сетях Петри. Данное предположение позволяет изо­
бражать динамику сети Петри в виде графа исполнения G(M,V),
где М- множество маркировок, V- множество дуг, изображающих
переходы от маркировки к маркировке (см. об этом в разделе об
анализе сетей Петри по достижимости). В общем случае ординар­
ность может и не соответствовать природе моделируемой системы.
Заметим, наконец, что сеть Петри может функционировать как
в дискретном, так и в непрерывном времени. Наиболее сильное и
сомнительное условие, принятое в обоих случаях - ординарность
потока событий в сети Петри, когда разрешенные переходы сраба­
тывают по одному.
Представления сети Петри. Ранее были использованы два
способа представления сетей Петри: двудольный граф и матрицы
инциденции. Правила функционирования сети Петри позволяют
ввести подстановочное представление сети Петри, задающее при­
чинно-следственную структуру параллельного процесса в слож­
ной системе и, главное, удобное для ввода в компьютер.
j
Каждому переходу dj в сети Петри ставится в соответствие под­
становка следующего вида:
df. М{Ц)>1пЦ) -> M(*dj)-In(dj), M(dj*) + Out (dj)J = 1 , 2 , . . . , m,
где левая часть задает условие срабатывания перехода d , а правая - y

новую частичную маркировку согласно правилам функциониро­


вания сети Петри.
Существуют различные предстваления одной и той же сети
Петри:
1. Двудольный граф (рис. 3.3а)
2. Матрицы инциденций (рис. 3.36)
3. Система подстановок сети Петри:
df tei,M> 1)} - {(0Ь#1-1),(92.#2+1)}
di. ШЩ> 1)} - {(ЯъЪ-ЩдьЪ+т
df- {(42, N > 1), to, tf > 1} -> {(q , N +l), (q JV,+2)}
2 3 2 2 h

4. Компактная запись в виде подстановок произведений имен q t

на ку, причем кц - I не пишется, а кц * 1 изображается либо как


коэффициент, либо как степень.

d\.q\-^q 2 1-+2
d :q ^q
2 { 3 или 1_> 3
df- 42, Чъ -* Яь 42 2 2
2, 3 -> I , 2

Рис. 3.3. Способы задания сети Петри: а - двудольный граф,


б - матрицы инциденций
Особенно просто выглядит подстановочное представление для
ординарных сетей, у которых все ку = 1. Тогда маркировки M(*dj),
M(dj*) изменяются только на 1,-и подстановка имеет вид:
df. М{Ц) > 1 -> M(*dj) - 1, M(dj*) +1,
где единичный вектор 1 вычитается из всех входных маркеров
и прибавляется ко всем выходным маркерам перехода dj. В силу
тривиальности условия срабатывания и вычисления новой марки­
ровки, подстановка d для ординарной сети Петри допускает более
t

компактный вид: '' .


d{. In (d,) -* Out(d,).
Применение аппарата сетей Петри. Сети Петри применяются
для моделирования систем, в которых можно выделить дискрет­
ное множество событий, их условия выполнения и окончания.
Они допускают произвольную интерпретацию элементов модели,
что обеспечило их широкое применение. С помощью сетей Петри
разрабатывают аппаратное и программное обеспечение ЭВМ, мо­
делируют физические, социальные, биологические системы. Сети
Петри используются при разработке систем управления. Суще­
ствует подход, когда весь процесс проектирования ведется в тер­
минах сетей Петри, а затем производится анализ полученной сети
и доказательство корректности проектируемой системы.
Классификация сетей Петри. Задачи анализа сетей Петри
имеют большую размерность и требуют больших затрат времени.
На практике используются подклассы сетей Петри, которые полу­
чаются наложением ограничений на структуру сети. Наибольший
интерес представляют следующие подклассы.
Автоматные сети. В автоматных сетях {рис. 3.4) переход
имеет точно одну входную и одну выходную позицию.

О- I*

Рис. 3.4. Автоматная сеть Петри и ее изображение без переходов

Автоматные сети можно изображать без переходов. Если в сети


имеется только одна фишка, то сеть является графом переходов авто­
мата. Именно с этого типа сетей мы начали параграф о сетях Петри.
Маркированные графы. В маркированных графах каждая по­
зиция имеет точно один входной и один выходной переход, поэто­
му его можно изображать без позиций, расставляя метки на дугах
(рис. 3.5).

Рис. 3.5. Маркированный граф и его изображение


без позиций

Сети свободного выбора. В таких сетях любая дуга, выходя­


щая из позиции, является либо единственным выходом из нее,
либо единственным входом в переход. Это означает, что запреще­
ны конфигурации, показанные на рисунке 3.6а. Пример правиль­
ной сети свободного выбора представлен на рисунке 3.66.

б
Рис. 3.6. Сеть свободного выбора: а - недопустимый фрагмент,
б - правильный фрагмент

Сети свободного выбора используются для описания синхро­


низации конкурирующих вычислительных устройств и других
конфликтных ситуаций. В них допускаются управляемые кон­
фликты. Конфликт между переходами возникает в случае, когда
одна позиция является входом для нескольких переходов. В сетях
свободного выбора позиция, общая для нескольких переходов, яв­
ляется единственной входной позицией этих переходов и, следо­
вательно, если в этой позиции имеется фишка, то разрешены все
конфликтующие переходы. Это позволяет свободно выбрать запу­
скаемый переход.
Ординарные сети. Сеть ординарна, если между любыми дву­
мя вершинами сети имеется не более одной дуги.
Другие классы сетей Петри. Кроме указанных классов суще­
ствуют всевозможные расширения сетей Петри, которые получа­
ются введением в сеть дополнительных компонент. Например, в
приоритетных сетях вводятся функции приоритетности, опреде­
ляющие последовательность-срабатывания для непересекающих­
ся подмножеств переходов. В сетях Мерлина задаются множества
максимальных и минимальных временных задержек. Это предо­
ставляет дополнительные возможности для моделирования слож­
ных систем. Для моделирования параллельных граф-схем алго­
ритмов и их исследования на корректность можно ограничиться
сетями свободного выбора.
Свойства сетей Петри.
Достижимость. В заданной сети Петри с начальной марки­
ровкой MQ требуется решить вопрос о том, достижима ли некото­
рая маркировка М из MQ. В приложении к моделированию систем
эта проблема интерпретируется как возможность достижения не­
которого состояния системы.
Маркировка М\ непосредственно достижима из маркиров­
ки MQ, если существует переход, срабатывание которого ведет из
маркировки MQ К маркировке М\. Маркировка М достижима из
MQ, если существует последовательность переходов R = {d\,..., d^},
срабатывания которых позволяют из MQ получить М.
Допустимую последовательность срабатываний переходов будем
для краткости называть тайминг. Будем говорить также о таймин­
гах, допустимых для данной маркировки сети Петри, т.к. не всякая
маркировка может допускать эту последовательность переходов.
Множество всех маркировок, достижимых из MQ, называется
множеством достижимости R (С, MQ) (R ОТ англ. radical - расту­
щий от корня, полный, фундаментальный).
Для сети, изображенной на рисунке 3.7, с начальной маркиров­
кой MQ = (О, 1, 0) непосредственно достижимыми являются марки­
ровки М\ = (0, 0, 1 ) и М = (1, 1, 0). Тайминг R = {d\, d } приводит к
2 2

маркировке Мз = (1, 0, 1).

о — 1 * = © — ] — о
<?i di q2 di Ъ
Рис. 3.7. Пример сети Петри, иллюстрирующий достижимость
Дерево достижимости для сети Петри показано на рисунке 3.8.
010

ооЮ 001

t
©01
Рис. 3.8. Дерево достижимости
Живость. Переход dj называется квазиживым при заданной
маркировке М, если он может сработать хотя бы один раз. Переход
dj называется живым при заданной маркировке MQ, если для лю­
бой достижимой из MQ маркировки MsR(C, MQ) существует тай­
минг R, содержащий данный переход. Если переход не может
сработать при любой достижимой маркировке MeR(C, MQ), ТО ОН
называется мертвым.
Живость перехода - это принципиальная возможность его сра­
батывания при начальной маркировке MQ.
Сеть Петри живая, если все ее переходы живые.
Безопасность. Позиция д, называется ^-ограниченной, если
для любой достижимой маркировки MsR(C, MQ) число фишек
в ней не превышает заданного числа к. Сеть ^-ограничена, если
все ее позиции ^-ограничены. При к = 1 позиция g называется
t

безопасной.
Сеть, в которой все позиции безопасны, называется безопасной.
На рисунке 3.7 позиция q\ небезопасна, т.к. в ней накапливаются
фишки. Такие позиции называются ловушками.
Дедлоки и ловушки. Дедлоком (deadlock) в сети Петри называ­
ется такое множество позиций Q, что *Q С Q*, т.е. все входные
переходы для множества Q являются его выходными переходами,
в результате чего ни один из них не может быть возбужден, если в
Q нет меток.
Ловушкой {trap) в сети Петри называется такое множество по­
зиций Q, что Q* С *Q, т.е. все выходные переходы для множества
Q являются его входными, в результате чего количество меток в
ловушке не может уменьшаться.
Согласно этим определениям между дедлоками и ловушками
есть следующая связь: если направления дуг в сети Петри изме­
нить на противоположное, то дедлок {*Q С Q*) станет ловушкой
{Q* Q *Q), и наоборот. Такие две сети называются реверсивными.
Не всякий дедлок приводит к наличию мертвых переходов в
сети Петри. Обозначим M{Q) сужение маркировки М на множе­
ство Q С В, т.е. маркировку множества Q.
В маркированной сети <С, М > дедлок Q называется опусто­
0

шаемым, если множество достижимости R{C, MQ) содержит такую


маркировку М е R{C, MQ), что M{Q) = 0.
Л е м м а . В сети Петри со свободным выбором мертвыми явля­
ются только те переходы, которые принадлежат множеству Q* вы­
ходов из опустошаемого дедлока.
Т е о р е м а К о м м о н е р а . Сеть Петри со свободным выбором
жива тогда и только тогда, когда каждый ее дедлок содержит мар­
кированную ловушку.
С л е д с т в и е . Сеть Петри со свободным выбором не имеет жи­
вой маркировки тогда и только тогда, когда она имеет дедлок, не
содержащий ловушки.
Сохранение. Сеть Петри <С, М > = <В, D, In, Out, MQ> назы­
0

вается строго сохраняющей, если для всякой достижимой из MQ


маркировки М € Я{С, М ) 0

м
£ / =1..и (йд = Е 2 =1.. M (qd-
И Q

В такой сети число фишек остается постоянным. Отсюда сле­


дует, что число входов в каждый переход должно равняться чис­
лу выходов, иначе срабатывание перехода изменит число фишек в
сети.
Требование строгого сохранения очень жесткое. Его обобщени­
ем является свойство сохранения по отношению к вектору весов и>:
w = {w w , hw„), 2

где Wj - вес фишки в позиции q : Все фишки, находящиеся в пози­


{

ции q имеют один и тот же вес w,.


h

Сеть Петри <С, М > называется сохраняющей по отноше­


0

нию к вектору w = (w\, w ,..., w ), w,- > 0, n = \Q\, если для всех
2 n

M € R{C, MQ) выполняется уравнение:


J
Покрываемость и принцип монотонности. Маркировка М\
покрывает маркировку М, если каждая позиция в маркировке М\
имеет фишек не меньше, чем в маркировке М. Обозначение этого
факта: М\ > М.
С понятием покрываемое™ связано важнейшее утверждение
о свойствах сетей Петри, известное как принцип монотонности:
если MQ < Л/j, ТО множество достижимости R(C, MQ) С R(C, М\)
и все тайминги, допустимые в <С, М >, допустимы также и в
0

<С, М >.
Г

Этот принцип непосредственно следует из правил функциони­


рования сети Петри и имеет ряд интересных следствий.
1. Если сеть квазиживая при маркировке М, то она квазиживая
и при маркировке М\ > М.
2. Если сеть ограничена (безопасна) при маркировке М\, то она
ограничена (безопасна) при маркировке М < М\.
3. Для любого конечного тайминга R = {d\,..., d } сети Петри
a

существует такая начальная маркировка MQ, ЧТО последователь­


ность R допустима в маркированной сети <С, MQ>.
Анализ сетей Петри по достижимости. Дерево достижимости
представляет своими вершинами множество достижимых маркиро­
вок. Его корнем является начальная маркировка MQ, дуги из кото­
рой ведут в непосредственно достижимые маркировки и помечают­
ся соответствующими переходами. Маркировки, непосредственно
достижимые из MQ, образуют первый ярус дерева достижимости.
Второй ярус состоит из маркировок, непосредственно достижимых
из первого яруса и т.д. В результате такой процедуры сеть Петри с
конечным множеством достижимых маркировок может иметь бес­
конечное дерево достижимости. Для ограничения размеров дерева
в процессе его построения выделяется несколько типов маркировок.
1. Маркировки (вершины дерева), в которых нет разрешенных
переходов, называются терминальными {пассивными или тупико­
выми).
2. Маркировки, ранее встречавшиеся в дереве достижимости,
называются дублирующими. Для них нет смысла рассматривать не­
посредственно достижимые маркировки, т.к. они уже есть в дереве.
3. Маркировки, для которых не построены непосредственно до­
стижимые маркировки, называются граничными.
4. Каждая маркировка классифицируется как терминальная,
дублирующая, граничная или внутренняя.
5. Кроме того, вводится расширенная маркировка, где число
фишек в позиции может быть.неотрицательным целым числом со,
обладающим следующими свойствами:
для любого а = co«st, со + а = со;со-о = со, а < со, со < со.
Символ со обозначает бесконечное число маркировок, получа­
ющихся в результате повторения одной и той же последователь­
ности переходов и совпадающих между собой, за исключением
некоторых позиций, в которых фишки накапливаются. Например,
пусть в результате срабатывания некоторой последовательности
переходов получаются маркировки. (1,0,0), (1,1,0), (1,2,0), (1,3,0) и
т.д. Такие маркировки изображаются одной вершиной дерева, с
которой связывается расширенная маркировка (1, со, 0).
Алгоритм построения дерева достижимости. Рассмотрим
только схему алгоритма. Полное описание этой процедуры доста­
точно сложно. Ее разработке и совершенствованию до сих пор по­
свящаются специальные исследования.
Начальная маркировка Мо - корень дерева достижимости,
определяется как граничная вершина.
Для всякой граничной вершины х выполняются следующие
шаги:
1. Если в дереве есть другая вершина у, не являющаяся гранич­
ной и с той же маркировкой М -М , хто х- дублирующая.
у

2. Если для маркировки М нет разрешенных переходов, то х -


х

терминальная.
3. Для всякого перехода dp разрешенного в М , образовать но­
х

вую вершину дерева достижимости с маркировкой М . Маркиров­ г

ка M определяется следующим образом:


z

а) если M (q,) = со , то M (q,) = со, где q позиция сети;


x z t

б) если существует переход dp который при каждом новом сра­


батывании только увеличивает маркировку позиции q и который b

можно запустить произвольное число раз, то M (qj) = со;


z

в) если вышеуказанные способы не подходят, то

M (q,) = M (q,) + к(р если q eOut(dj).


z x t

4. Дуга, направленная от x к z, помечается переходом dp Вер­


шина х переопределяется как внутренняя, вершина z становится
граничной.
5. Алгоритм прекращает работу, когда все вершины дерева тер­
минальные, дублирующие или внутренние.
Очевидно, что алгоритм заканчивается через конечное число
шагов.
Сеть Петри и ее дерево достижимости показаны на рисунках 3.7
я 3.8.
Использование дерева достижимости. Важные свойства се­
тей Петри можно обнаружить или проверить по дереву достижи­
мости.
1. О г р а н и ч е н н о с т ь и б е з о п а с н о с т ь . Сеть Петри ограни­
чена тогда и только тогда, когда символ со отсутствует в дереве
достижимости; наличие же его означает, что существует последо­
вательность срабатываний переходов, которую можно запустить
произвольное число раз и увеличить число фишек до бесконечно­
сти. Положение символа со показывает, какие позиции являются
неограниченными, т.е. ловушками.
Отсутствие символа со в дереве достижимости означает, что
сеть Петри имеет конечное число достижимых маркировок. Это
позволяет анализировать сеть перебором множества достижимых
маркировок. Например, чтобы убедиться, что позиция q безопас­ {

на, надо построить дерево достижимости и удостовериться, что в


любой достижимой маркировке в позиции q находится не более
t

одной фишки.
2. С о х р а н е н и е . Свойство сохранения проверяется с помощью
дерева достижимости. Если вектор весов w известен, то для каж­
дой достижимой маркировки можно вычислить взвешенную сум­
му S - Yl i =\..п i Щя!)- Если сумма S одна и та же во всех верши­
w

нах дерева достижимости, то сеть Петри является сохраняющей


по отношению к данному вектору весов. Если суммы не равны -
сеть несохраняющая.
В случае, когда вектор весов неизвестен, для его отыскания
также можно использовать дерево достижимости.
Чтобы сеть была сохраняющей, вес фишек в позициях, от­
меченных символом со, полагается равным нулю. Если сеть со­
храняющая, то существует взвешенная сумма S и вектор весов
w = (и>1, и>2, w„), соответствующий условию сохранения. Для
каждой достижимой маркировки можно записать уравнение:
W\M\ + W2M2 + ...+ WfjM,, = S.

Для к вершин дерева достижимости получится к линейных


уравнений с и +1 неизвестными. Добавив к ним ограничения w > О, t

можно определить ограничения для компонент вектора весов. Ре-


шая полученную систему уравнений и неравенств, можно устано­
вить, существует ли вектор весов и>, и если он существует, то ука­
зать его конкретное значение. '
3. П о к р ы в а е м о с т ь . В задаче покрываемости для данной мар­
кировки М требуется найти маркировку М\ такую, что My > М.
Это можно сделать перебором вершин дерева достижимости. Лю­
бая вершина х с М > М и есть нужная покрывающая маркировка.
х

Если такой вершины не существует, то М не покрывается никакой


другой достижимой маркировкой. Путь от корня дерева к покры­
вающей маркировке задает тайминг, который приводит к покрыва­
ющей маркировке.
Если в покрывающей маркировке есть компонента со, то в пути
от корня дерева к покрывающей маркировке имеется цикл. Для
получения покрывающей маркировки без символа со надо повто­
рить этот цикл достаточное число раз.
Неполнота дерева достижимости. Наличие символа и в де­
реве Д О С Т И Ж И М О С Т И означает потерю информации о сети. Конкрет­
ное количество фишек не учитывается. В связи с этим две разные
сети могут иметь одно и то же дерево достижимости, т.е. задача
распознавания сетей Петри по дереву достижимости в общем слу­
чае не решается. Такие же трудности возникают при анализе сети
Петри на живость.
Матричный анализ сети Петри. Существует подход к анали­
зу сетей Петри, основанный на их матричном представлении. При
матричном подходе задача достижимости решается в общем слу­
чае, но имеются свои трудности и ограничения.
Принцип коммутативности. Пусть дана конечная последова­
тельность R = dj dj....dk dj... d допустимых переходов - тайминг -
r

сети Петри. Обозначим через г,- число вхождений перехода d f

в тайминг R. Вектор R - {rj, г , 2 г }, где т - число переходов


т

сети Петри, называется характеристикой последовательности R.


Из правил функционирования сети Петри следует следующее ут­
верждение - принцип коммутативности. Если R и R - два ко­ x 2

нечных тайминга, допустимые из маркировки М и имеющие рав­


ные характеристики R\ = R , то оба они, начавшись в М, приведут
2

к одной и той же маркировке М\.-


Это утверждение легко понять, но не следует забывать, что не
всякая перестановка переходов в последовательности R приведет к
x

допустимой последовательности R . Более того, принцип коммута­


2

тивности не имеет места и для бесконечных последовательностей


J
переходов. Значение этого принципа в том, что всему множеству
таймингов, ведущих из M B M можно сопоставить один вектор R.
h

Фундаментальное уравнение сети Петри. Будем рассматри­


вать маркировку М сети Петри как вектор-столбец длины п = \Q\,
характеристику R тайминга R - как вектор-столбец длины т = \D\,
а матрицы In и Out размером (п^т) - как матрицы преобразований
маркировки сети. Из правил срабатывания и принципа коммута­
тивности следует, что если маркировка М\ - результат действия
тайминга R с характеристикой R на маркировку М, то
Mi = М + OufR - In*R = М + (Out - In)*R =М + D*R,
где операции «+» и «-» покомпонентные операции над векторами
и матрицами, а умножение «•» - умножение матрицы на вектор по
правилам линейной алгебры (алгебры матриц и векторов). Матри­
ца D = Out - In является матрицей инциденций сети Петри или ее
D-оператором, а уравнение
M =MX + D»R
называется фундаментальным уравнением сети Петри. Его значе­
ние в том, что оно позволяет исследовать соотношение между ста­
тической характеристикой сети (ее .D-оператором) и изменением
маркировки, причем независимо от начальной маркировки MQ, а
именно:
АЛ/ = М, - М D»R.

Принцип повторяемости. При AM = 0 (здесь 0 - нулевой


вектор) имеет место стационарный режим функционирования сети
Петри (и, следовательно, моделируемой системы). В этом режиме
сеть возвращается -в начальное состояние после исполнения
некоторой последовательности R переходов. Характеристика этого
тайминга R является решением однородной системы уравнений:
D*R = 0.
Вообще, справедливо следующее утверждение - принцип по­
вторяемости. Если тайминг R переводит маркировку М в М\
и M i > М, то из М начинается повторяющая допустимая после­
довательность R*, образованная бесконечным повторением R,
R* = RRRR ...
Для упомянутой последовательности R справедливо D»R > 0.
Причем если R - решение уравнения D»R = 0, то согласно прин-
ц и п у м о н о т о н н о с т и н а й д е т с я м а р к и р о в к а MQ, п р и к о т о р о й э т а
последовательность д о п у с т и м а . Е с л и все к о м п о н е н т ы вектора R
больше н у л я , то соответствующая последовательность R называ­
е т с я полной повторяющейся, а п р и D»R = О с е т ь П е т р и н а з ы в а е т с я
стационарно повторяющейся, т . к . ,М\ = М.
Р е ш е н и я с и с т е м ы D»R - 0 н а з ы в а ю т с я инвариантами. В с о о т ­
ветствии со свойствами решений однородных уравнений линейная
к о м б и н а ц и я инвариантов тоже инвариант. П о э т о м у выделяется так
н а з ы в а е м о е минимальное порождающее семейство инвариантов
G = {R\, R ,..., R-k) - т а к о е н а и м е н ь ш е е п о м о щ н о с т и м н о ж е с т в о
2

инвариантов, ч т о л ю б о й д р у г о й инвариант выражается в виде

R = I,-=i л Щ х Д„
г д е а , - ц е л о е н е о т р и ц а т е л ь н о е ч и с л о , п р и ч е м нод(о1, а ,..., а^) = 1.
2

Справедливо следующее утверждение о бесконечных таймин­


гах.
Теорема повторяемости. Маркированная сеть Петри
<С, MQ> д о п у с к а е т б е с к о н е ч н ы й т а й м и н г R°°, е с л и и т о л ь к о е с л и
с у щ е с т в у е т д о с т и ж и м а я и з MQ м а р к и р о в к а М и п о в т о р я ю щ а я с я
п о с л е д о в а т е л ь н о с т ь R*, н а ч и н а ю щ а я с я в М.
Т а й м и н г R°° м о ж е т б ы т ь законным и незаконным. В з а к о н н о м
т а й м и н г е н и о д и н переход не м о ж е т бесконечно находиться в воз­
бужденном состоянии, так как это противоречит правилам функ­
ц и о н и р о в а н и я сетей Петри. Если имеет место такое явление, то
т а й м и н г R°° незаконный, так к а к рано и л и поздно возбужденный
переход сработает и прервет его. Итак, незаконный т а й м и н г явля­
ется в с е г о н а всего л о г и ч е с к о й к о н с т р у к ц и е й , к о т о р а я не м о ж е т
быть физически реализована. Говорят, ч т о незаконные т а й м и н г и
нереальны, и х м о ж н о н е у ч и т ы в а т ь п р и а н а л и з е .
Анализ ограниченности сети Петри. С в о й с т в о о г р а н и ч е н н о ­
сти сети Петри м о ж н о осмыслить к а к отсутствие решений урав­
н е н и я D»R = ДМ, г д е н е к о т о р ы е к о м п о н е н т ы в е к т о р а AM б о л ь ш е
н у л я . С п р а в е д л и в а с л е д у ю щ а я теорема ограниченности.
С л е д у ю щ и е т р и у с л о в и я , э к в и в а л е н т н ы д л я с е т и П е т р и без
маркировки:
1. С е т ь П е т р и о г р а н и ч е н а п р и л ю б о й н а ч а л ь н о й м а р к и р о в к е .
2. Н е с у щ е с т в у е т ц е л о ч и с л е н н о г о в е к т о р а R = {R\, R , 2 R },
M

R^O, R > 0, т а к о г о , ч т о D*R > 0.


T

3. С у щ е с т в у е т т а к о й ц е л о ч и с е н н ы й в е к т о р / = {f\, f ,
2 /„}, г д е
п - ч и с л о п о з и ц и й , ч т о f»D < 0.
J
С л е д с т в и е . Сеть Петри неограниченна тогда и только тогда,
когда существует такой вектор R = {R R ,...,
h 2 R }, т - число пере­
m

ходов, R v± О, R,- > О, что D»R > 0.


Неполнота D-onepamopa. Матричный анализ обнаруживает
глубокую связь сетей Петри с линейной алгеброй. Далее мы уви­
дим, что эта связь простирается и на системы уравнений Колмо­
горова - Чепмена, и на системы уравнений динамики сложных
стохастических систем, подобных описанным в разделе о динами­
ческой модели общего вида.
Возникает вопрос, можно ли представить сеть Петри только
.©-оператором. Оказывается, нет, и вот по каким причинам.
Во-первых, матрица D несет информацию только о разностях
элементов матриц Out и In. Это значит, что информация о весах
дуг сети Петри утеряна, если сеть неординарна. В ординарной
сети Петри все веса по умолчанию равны 1, а матрица D состоит
из нулей и единиц с разными знаками. Это, однако, не всегда
позволяет восстановить по матрице D саму сеть Петри.
Если в сети Петри есть петли, то есть пары дуг вида
[(qj,d,),(dj, qj)] с равными весами ку и кр дуг, то информация об
этих петлях исчезает, т.к. соответствующие элементы матрицы
D равны 0.
Итак, О-оператор может полностью представлять только орди­
нарные сети Петри без петель, так называемые чистые Сети Пе­
три. Это не мешает, однако, полностью представить историю сети
Петри, т.е. последовательность ее маркировок, по заданному допу­
стимому таймингу или по его характеристике.
Ливлоки. Напомним, что допустимая последовательность пе­
реходов в сети Петри называется таймингом.
Задание таймингов сети Петри. Можно ли дать конечное
описание бесконечного тайминга или их множества? Интуитив­
но ясно, что такое описание возможно, поскольку сама сеть Петри
представлена конечным описанием. Дадим дополнительные опре­
деления.
Последовательность символов некоторого алфавита А называ­
ется словом в этом алфавите. Множество слов в алфавите А, до­
пустимых по какому-либо правилу, называется языком в алфави­
те А, а само это допускающее правило - грамматикой языка. Не
вдаваясь в подробности, можно указать на две категории правил:
порождающая грамматика, описывающая генератор слов языка,
и распознающая грамматика, или синтаксис - система правил,
позволяющая выделить слова данного языка из множества произ­
вольных последовательностей символов. В частносоти, дискрет­
ный автомат при функционировании генерирует последователь­
ность символов своих внутренних состояний и выходов. Слово,
распознаваемое или допускаемое дискретным автоматом, - это
последовательность входных символов, переводящая автомат из
начального состояния в некоторое выделенное допускающее со­
стояние. I
Слова в алфавитах входном А, выходном В и состояний Q, рас­
познаваемые или порождаемые конечным автоматом, называются
регулярными событиями.
Множество регулярных событий, порождаемое или распоз­
наваемое конечным автоматом, называется языком регулярных
событий, или автоматным языком.
Например, язык, порождаемый накапливающим сумматором
по модулю 4 (см. пример 1.4), содержит все возможные последо­
вательности цифр из множества {0,1,2,3}. Язык, распознаваемый
этим сумматором, зависит от начального и допускающего состо­
яний. Если в обоих случаях это символ 0, то язык, допускаемый
сумматором по модулю 4, - все последовательности цифр из мно­
жества {0,1,2,3}, сумма которых кратна 4.
Итак, конечный автомат может задать и порождающую
грамматику, и синтаксис автоматного языка. С.К. Клини пред­
ложил язык регулярных выражений (ЯРВ), на котором можно
описать любое множество регулярных событий (и, следова­
тельно, соответствующий автомат). Суть построений Клини в
следующем.
Пусть дан конечный алфавит А (в наших примерах кириллица
выделяется курсивом) и следующие операции над словами в этом
алфавите. (Кавычки « и » не входят в ЯРВ и применяются, чтобы
выделить символы ЯРВ.)
1. Конкатенация «•» (обычно не изображается), обозначающая
стыковку слов, например, мы»ло образует слово мыло.
2. Альтернатива «/», позволяющая описывать различные вари­
анты подслов в регулярном выражении. Например, ба(за/ня/ба/л)
описывает множество слов [база, баня, баба, бал}.
3. Скобки «(» и «)», ограничивающие область действия опера­
ций, как обычно в алгебре, а для их экономии вводятся еще и при­
оритеты операций { * старше • старше / } . Всякой открывающей
скобке «(» должна соответствовать закрывающая скобка «)».
4. Итерация «*», позволяющая описывать множества повторений
произвольной длины. Например, выражение: {да/нет)* задает множе­
ство слов: {да, нет, дада, нетнет, данет, нетда, дадада, нетнетнет