Теория систем и системный анализ. Стохастические системы

advertisement
Министерство образования и науки Российской Федерации
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
«Северный (Арктический) федеральный университет
имени М.В. Ломоносова
В.А. Воробьёв, Ю.В. Березовская
ТЕОРИЯ СИСТЕМ И СИСТЕМНЫЙ АНАЛИЗ.
СТОХАСТИЧЕСКИЕ СИСТЕМЫ
Рекомендовано Учебно-методическим
объединением
по образованию в области прикладной информатики в качестве
учебного пособия для студентов высших учебных заведений,
обучающихся по направлению 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. Система и системный анализ
1.2. Алгебраические модели систем
1.3. Динамические модели систем
Задачи к главе 1
10
18
25
31
Глава 2. Марковские системы
2.1. Марковские модели систем
2.2. Асинхронные марковские модели
2.3. Элементы теории массового обслуживания
Задачи к главе 2
32
39
49
60
Глава 3. Сложные системы
'
3.1. Сложные системы и синергетика
3.2. Сети Петри
:
3.3. Каузальная сеть (К-сеть)
3.4. Динамические модели популяций
3.5. Метод компьютерного моделирования популяций
3.6. Моделирование простых популяций
Задачи к главе 3
Библиографический список
63
65
91
92
105
115
143
146
ПРЕДИСЛОВИЕ
Пособие содержит краткий обзор основных идей общей тео­
рии систем: определение системы и ее основные свойства, проце­
дуры и задачи анализа и синтеза систем, конфигуратор системы,
ее общее алгебраическое описание. Основное внимание уделено
стохастическим системам, точнее, эргодическим динамическим
моделям: автономный вероятностный автомат, поток случайных
событий, система массового обслуживания, сложные линейные
и нелинейные системы, обладающие синергией, т.е. совместным,
согласованным функционированием многих элементов системы.
Последняя глава является оригинальной авторской разработкой.
Таким образом, пособие ориентирует читателя на прикладную те­
орию стохастических систем и современную синергетику.
От студента требуется некоторая математическая культура в
пределах обычного курса высшей математики. Дополнительные
понятия вводятся по мере надобности: понятия из алгебры и те­
ории алгебраических систем, автоматы, графы переходов, сети
Петри и каузальные сети (К-сети), введенные авторами для моде­
лирования синергии сложных систем из взаимодействующих эле­
ментов. К-сети являются основой для популяционного моделиро­
вания сложных систем.
Издание снабжено примерами, поясняющими основные идеи
и задачи теоретической части. В конце каждой главы есть сюжет­
ные задачи для самостоятельного решения и разбора на практиче­
ских и лабораторных работах. Как показывает опыт, наибольшие
затруднения при решении сюжетных задач у студентов вызывает
переход от словесной формулировки к математической. При этом
особенно трудно осваивается задание системы интенсивностей
переходов в единой системе единиц измерения времени для каж­
дого перехода. В сюжетных задачах эти интенсивности задаются
по-разному. Даны рекомендации о порядке решения практических
задач.
В теоретической части учебного пособия даны стандартные
методы составления уравнений для переходного и стационарного
режимов эргодических и синергетических систем. Пользуясь этой
методикой, студент может самостоятельно составлять дифферен­
циальные уравнения Колмогорова - Чепмена, уравнения динами­
ки средних для линейных систем и нелинейные уравнения для си­
стем типа хищник-жертва, боевое столкновение, конкуренция за
ресурсы и других. Практическая часть представлена примерами,
для рассмотрения которых используется программа «Популяция»,
и задачами для самостоятельного решения. Программа «Популя­
ция» предназначена для компьютерного моделирования сложных
линейных и нелинейных систем К-сетями. Она позволяет получать
динамические характеристики стохастических систем, не при­
бегая к составлению и решению дифференциальных уравнений.
Пособие включает библиографический список.
УСЛОВНЫЕ ОБОЗНАЧЕНИЯ
К= {Kj | i = \..п) - конфигуратрр;
А х В - декартово (прямое) произведение множества А на мно­
жество В;
А" - п-я декартова степень множества А;
/: А"—*. В- функция из множества А" в множество В;
А = <А, Ф> - алгебра с носителем А и сигнатурой, состоящей
из множества отношений Ф;
А = <А, Р> - модель с носителем А и сигнатурой, состоящей из
множества предикатов Р\
А = <А, Ф, Р> - алгебраическая система с носителем А и сиг­
натурой, состоящей из множества отношений Ф и множества пре­
дикатов Р;
S = <£ф, S , S , P(S$, £ ) > - алгебраическая модель системы в
общем виде;
5ф - функциональная модель системы S, в которой система
представляется «черным ящиком» с известными функциями от­
кликов на воздействия;
c
M
с
S - структурная модель системы S - «белый ящик»;
S - морфологическая модель, в которой показано, как элемен­
ты системы расположены в физическом пространстве;
c
M
Р(5ф, £ ), P(S , S ) - предикаты целостности, указывающие на
гомоморфизм между S§ и S или между S и S соответственно;
с
C
M
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),
мент t = 0;
{
2
z„(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 - матрица переходов дискретного автомата, где
Sij g(4j> i) ~ новое состояние автомата;
F: А х Q —> В - матрица выходов дискретного автомата, где
fij АЧ]> i)~ выход автомата;
С, - случайный фактор, переводящий автомат из состояния в со­
стояние;
if : Q —> Р - функция вероятностей переходов автономного ве­
роятностного автомата;
Р - множество вероятностей рц £ [0, 1] переходов (q —* qj) из
i-ro состояния ву'-е, i,j G {0, 1 , 2 , п } ;
=
=
a
a
2
t
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 ,
d } - вершины-переходы, изображаются симво­
лом | (черта);
Е C(Q х D)U(D х Q) - множество дуг;
2
m
*dj - множество входных позиций для перехода dj (множество
позиций, из которых есть дуги в переход dj);
dj* - множество выходных позиций перехода df,
Out - функция следования, которая каждой паре (d , qj) ставит в
соответствие число дуг кц, Out: DxQ —> К;
In - функция предшествования, которая каждой паре (q^, dj)
ставит в соответствие число дуг кц, In: QxD —> К;
{
M:N
Q- функция маркировки, где N- множество целых не­
отрицательных чисел;
М= (M(q\), M{qi),
M(q )) - маркировка сети Петри;
К - множество весовых коэффициентов дуг: кц, кр € AT и
kjj, kjj > 0, если связи между позицией и переходом нет, то соответ­
ствующий вес ку или kjj равен нулю.
G = < Q, D, In, Out, М, R> - двудольный граф, модель каузаль­
ной сети;
M = {Nj(t) I i=\, 2,..., n) - вектор маркировки, задающий число
автоматов, находящихся в момент времени t в каждом из состоя­
ний множества Q (M —> 0 ;
R = {pj{M (*dj)) \j =1,
т} - вектор-функция интенсивностей
переходов;
D = Out - In - .D-оператор или девиатор, оператор изменения
маркировки сети Петри (от Difference - разница, различие или
Derivative - производная, дериват);
AM - вектор-столбец длины п - изменение маркировки сети
при срабатывании любой допустимой последовательности перехо­
дов с характеристикой R;
n
t
t
t
• - матричное умножение.
Глава 1
ЭЛЕМЕНТЫ ОБЩЕЙ ТЕОРИИ СИСТЕМ
1.1. Система и с и с т е м н ы й анализ
Общепринятого строгого определения понятия система до сих
пор нет. Обычно оно обозначает совокупность элементов и связей
между ними, обладающую целостностью, т.е. свойствами, невы­
водимыми из простого суммирования свойств частей. При таком
широком понимании системность есть свойство наблюдаемого
мира. Мир - бесконечная иерархия систем.
Признаки системности:
1. Структурированность - наличие элементов, из которых со­
стоит система.
2. Взаимосвязанность составляющих систему частей.
3. Целенаправленность.
Последнее свойство характеризует системы, построенные
человеком. В любом случае человек строит системы, имея в
виду некоторую цель - решение какой-то проблемы. Посколь­
ку эта цель не может быть достигнута наличными средствами,
люди так соединяют уже имеющиеся элементы, что получен­
ная система позволяет достичь цели. Вот это новое свойство,
возникающее из соединения частей, называется
эмерджентность, сверхаддитивность
или интегративность.
Соедине­
ние частей (элементов), обладающее эмерджентностью, назы­
вается агрегированием,
или композицией
системы. Обратная
процедура - выделение самостоятельных подсистем, агрега­
тов - называется дезагрегированием,
или декомпозицией
си­
стемы.
Агрегаты, полученные при декомпозиции, сами должны быть
системами по отношению к своим частям и элементам. Иначе де­
композиция теряет смысл.
П р и м е р 1.1. А г р е г и р о в а н и е а в т о м а т о в . Пусть дан
автомат А, получающий на входе целое положительное число п, а
на выходе дающий число п+\ (рис. 1.1).
t_
п
'У =п+\
А
_£= 0,2,4,6,8,.
Функция автомата А
у=п+\
t= 1,2,3,...-дискретное
время
t—-
•
I
y
=
n
+
l
У =77+1
jv = 1,3,5,7,...
Рис. 1.1. Эмерджентность. Агрегирование автоматов и получение новых
свойств: а - исходный автомат с функцией^ = п + 1; б - циклическое
соединение двух автоматов, дающие систему, которая порождает
две последовательности четных и нечетных чисел; в - параллельное
соединение, увеличивающее надежность
п
Функция этого автомата^ =Л ) = п + 1.
Различные способы агрегирования таких автоматов А облада­
ют различными новыми свойствами. Так, например, соединение
этих автоматов в кольцевую структуру {рис. 1.16) позволяет полу­
чить генератор двух возрастающих последовательностей чисел,
причем одна состоит только из нечетных чисел, а вторая - только
из четных. Другой вариант соединения тех же автоматов - парал­
лельное (рис. 1.1 в) позволяет повысить надежность системы.
Задание. Придумайте еще один способ агрегирования.
Системный анализ. Агрегирование и декомпозиция являются
основными методами исследования систем, которые называются
системным анализом. Действительно, анализ, т.е. разделение си­
стемы на части разрушает ее целостность. Полное понимание си­
стемы как целого восстанавливается при ее синтезе. Итак, иссле­
дование систем есть единство анализа и синтеза - агрегирования
и дезагрегирования, композиции и декомпозиции.
Существует ли общая теория систем? Вопрос далеко не празд­
ный, поскольку процессы композиции и декомпозиции зависят от
природы системы, ее элементов и связей. Множество элементов
системы обычно называют предметной областью, или носителем.
В разных предметных областях связи между элементами и спосо­
бы системного анализа существенно различаются. В примере 1.1
мы рассмотрели агрегирование абстрактных автоматов. Связи
в этом случае - соединения (точнее, отождествления значений)
полюсов автоматов: входов и выходов. Предметная область - аб­
страктные автоматы с функцией у = п + 1. Рассмотрим другую,
более простую и реальную предметную область.
П р и м е р 1.2. А с с о р т и м е н т о б у в и . Пусть предметная об­
ласть - множество В ботинок разного размера, фасона и знака (ле­
вый, правый). Очевидно, что на множестве В можно задать следу­
ющие отношения:
1. Отношение а эквивалентности по размеру.
2. Отношение (3 эквивалентности по фасону.
3. Отношение у эквивалентности по знаку (левый - правый).
4. Отношение 8 комплементарное™ по знаку.
Пара {а, Ь) £В комплементарна, если а и Ъ противоположны по
знаку - один левый, другой правый.
Отношение - это подмножество из множества В пар элемен­
тов: а, р, у, 5 С В = {(a, Ъ)\а£В,Ь
£В).
Отношение эквивалентности а имеет следующие свойства^
2
2
2
г
-рефлексивность:
(а, а) € о;
- симметричность: (а, b) £ а «-» (Ь, а) £ а;
- транзитивность [(а, Ь) £ а] Л [(Ь, с) € а] —> {а, с) £ а.
Из теории множеств известно, что каждое отношение эквива­
лентности разбивает множество на непересекающиеся классы эк­
вивалентности. Множество этих классов обозначается В/а, где
В - носитель, или предметная область. В нашем случае имеется
три разбиения на классы эквивалентности: В/ , 5/р, В/ . Пересече­
ние классов эквивалентности - тоже классы эквивалентности для
пересечения отношений.
Так, разбиение В/ пр задается отношением е = аПр. Классы это­
го отношения содержат ботинки, одинаковые по размеру и фасону
одновременно.
Отношение комплементарности 8 не является эквивалентно­
стью. Его свойства почти противоположны:
а
у
а
- антирефлексивность: (а, а) $ 8;
- симметричность: (а, Ь) £ 8 <-> (Ь, а) £ 8;
- антитранзитивность: [(а, Ъ) £ 8 ] Л [ (Ь, с) £ 8] —> (а, с) 0 8.
2
Нетрудно видеть, что дополнение комплементарное™ 8 до В
есть отношение некомплементарности
по знаку, т.е. эквивалент­
ности у: у = В - 8 = {(a, b) | (а, Ь) £ 8}.
Отношение у - эквивалентность по знаку, разбивающая множе­
ство В на два класса Вл и Вп левых и правых. Очевидно:
2
д С 5л х Яп, где Вл П £ п = 0.
Теперь мы можем дезагрегировать бесполезную кучу ботинок
по различным отношениям и вновь агрегировать их, получая по­
лезные свойства агрегатов.
Отношение аПрПу дает нам классы эквивалентности - кучи бо­
тинок - одинакового размера, фасона и знака. Отношение аПрПб
задает множество пар ботинок одного размера и фасона, но разно­
го знака. Агрегируя такую пару, т.е. связывая ее или укладывая в
коробку, мы получили новое свойство - эту пару можно одеть на
ноги одного человека. Это уже обувь, и мы получили множество D
пар обуви.
На множестве D имеют смысл только отношения а' С D и
Р' С D , аналогичные уже введенным ранее одноименным отно­
шениям эквивалентности по размеру и фасону, а классы эквива­
лентности по отношению а П (3 образуют ассортимент обуви.
Взяв по одному представителю из каждого такого класса, мы
имеем возможность выставить их на витрину магазина для обо­
зрения. Новые агрегаты мы можем строить исходя из решаемых
задач. Так, если мы хотим одеть персонал фирмы в форменную
одежду, мы должны выбрать один из классов эквивалентности
по отношению р* (подходящий фасон) и такое количество пар из
каждого класса по а (размер), чтобы каждому сотруднику доста­
лась подходящая пара.
Рассмотренный пример показывает, что, несмотря на разноо­
бразие предметных областей, все-таки возможно единообразное
описание систем на языке алгебры.
Конфигуратор. Объекты любой предметной области вступают
в различные отношения друг с другом и с внешним миром. Таким
образом, полное описание системы должно состоять из множества
различных ее описаний, взятых в разных отношениях. Так, опи­
сание точки содержит три координаты. Множество несводящихся
друг к другу описаний системы называется конфигуратором.
2
2
Л
К=
J = 1..и},
где Kj - одно из описаний конфигуратора.
Так, например, вычислительная система может иметь такие
описания: М- математическое, Ф - функциональное, А - алгорит­
мическое, С - структурное, или схема системы, К - конструктор­
ское, Д - дизайнерское, или эргономическое, Э - эксплуатацион­
ное, Г-технологическое.
Все это множество описаний можно представить как множе­
ство К= {И Ф, А, С, К, Э, Т,.:.},
или в общем случае К= {Kj \ i= \ ..п}.
Количество описаний можно увеличить, имея в виду их раз­
личное назначение.
Ясно, что одно описание Kj не задает систему целиком. Более
того, само описание K не может быть единообразным и достаточ­
но точным. Чтобы достичь нужного уровня подробности и пони­
мания системы, любое описание Kj может быть подвергнуто де­
композиции и композиции. Декомпозиция позволяет разложить
Kj на элементы, которые сами являются системами более низкого
уровня и описываются уже на другом языке. Композиция делает
возможным соединить известные элементы нижнего уровня нуж­
ным образом и тем самым понять, какую систему мы проектируем.
Целостное описание системы будет получено, если все элемен­
ты Kj конфигуратора К дезагрегируются и агрегируются совмест­
но, так что элементы различных описаний одного уровня соот­
ветствуют друг другу. Таким образом, полное описание системы
представляет собой двумерный конфигуратор - матрицу
t
К=Щ\\,
где г - номер уровня,у - номер описания.
Все элементы строки Kj = {Кц, Кц,
K } образуют конфигу­
ратор г'-го уровня для элементов г'-го уровня. Если таких элементов
несколько, то можно ввести еще и третье измерение, соответству­
ющее разным элементам одного уровня.
Применим эту методику для построения конфигуратора вы­
числительной системы. Рассмотрим основные описания си­
стемы М, Ф, А, К с точки зрения разных специалистов и на че­
тырех уровнях: системном, функциональном, логическом и
физическом. К специалистам, для которых будут предназначены
эти описания относятня: архитектор системы, конструктор, си­
стемный аналитик, пользователь, системный программист, си­
стемотехник, схемотехник. Соответствующий конфигуратор по­
казан в таблице 1.1.
im
Таблица 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
ь
... х А = {(a a ,
п
х
2
h
2
...,а ),сц
п
еА а2еА2,
ъ
...,а„еА„}.
Если А\ = А = ... = А„ = А, то декартово произведение этих мно­
жеств называют и-й декартовой степенью множества А и обозна­
чают Л".
Любое подмножество прямого произведения п множеств А\, А ,
...,А„называется п-арным отношением на множествах А\, А ,...,
А.
В частности, любое подмножество прямого произведения двух
множеств А\, А называется бинарным отношением на множествах
А\ иА .
Функция п переменных - это (и+1)-арное отношение / н а множе­
стве А аргументов и В - значений функции. В языке теории мно­
жеств это записывается так:
2
2
2
2
2
п
/СЛ"хВ.
При этом любому упорядоченному набору из А" соответствует
единственный элемент из В.
Для обозначения функций в общем виде можно использовать
различные записи:
f:A"->B
или
у =/(х
х,
ь
х„), где*!, х , ...,х„
2
вА,у€В.
2
Компоненты упорядоченного набора (х х ,
х„) € А" называ­
ются аргументами ф у н к ц и и / а у Е В - значение функции.
В общем случае для функции / : А" —> В может существовать
несколько упорядоченных наборов длины п из А", значения функ­
ции для которых совпадают. Множество всех упорядоченных
наборов (х\, х ,
х ) Е А", для которыхДх х ,
х„) =уо, называ­
ют прообразом элемента у® ЕВ при функции f.
Множество всех у € В, таких, что найдется упорядоченный на­
бор (х\, х ,
х„) Е А", для которого Дх х ,
х„) = у, называют
областью значений ф у н к ц и и /
Функция / : А" —» В называется инъективной (инъекцией), если
каждый элемент из ее области значений имеет единственный про­
образ, т.е. тДа\, а ,
o„) =f[b\, b ,
b ) следует
ь
2
п
ь
2
ь
2
(a
h
а,
a )=(b
2
n
h
2
2
b,
2
2
2
n
bj.
Функция f: A" —> В называется сюръективной
(сюръекцией),
если ее область значений совпадает со всем множеством В.
Функция / : А" —• В называется биективной (биекцией), если
она является инъективной и сюръективной одновременно.
Таким образом, если функция f:A —>B
биективна, то каждо­
му упорядоченному набору множества А отвечает единственный
элемент множества В и наоборот. Тогда говорят, что множества А
и В находятся между собой во взаимно однозначном соответствии.
Операция (и-арная) на множестве А - это функция вида
у.А ^А.
Таким образом, и-арная операция <р каждому упорядоченному
набору (х\, х ,
х ) Е А" однозначно сопоставляет элементу Е А.
Для «-арной операции используется обозначение
n
п
п
п
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> - сигнатура модели, множе­
ство и-местных предикатов, задающих свойства алгебры <А, Ф>.
Например, все та же алгебра Z целых чисел является алгебраиче­
ской системой, где Р - аксиомы алгебры целых чисел: ассоциатив­
ность, коммутативность, дистрибутивность умножения относи­
тельно сложения, свойства 0 и 1.
Заметим, что алгебраические системы часто именуют так же
как носитель. Употребляя символ Z, имеют в виду всю алгебру Z,
употребляя N, имеют в виду натуральный ряд и всю арифметику.
Пусть теперь даны две системы А = <А, Ф> и 2? = <В, Ф>.
Гомоморфизм - это такая функция
h
g : <А, Ф> -> <В, Ф>,
что выполняется условие
(а а
ь
ъ
а
п
) € а,- € Ф
(gOi), g(a ),.... g{a )) G Д- G #
2
n
для всех отношений а, € Ф. Иными словами, g - функция, сохра­
няющая отношения.
Изоморфизм - это взаимно однозначный (биективный) гомо­
морфизм. В этом случае и 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)+
(ассоциативность);
l
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
(mod 2).
2
Функции выходов для трехразрядных шин:
a\ (t + т) = а\ + 1 (mod 8),
y
у
в2у(* + х) = а +\
(mod 8).
2у
Начальные значения входов а ф) = 1, а (0) = 0.
2. Построим теперь математическую модель этой системы.
Всем полюсам сопоставим целые числа, зависящие от дискретного
времени
Хх
2х
/ = 0,1,2,...
Физическое время т называется длительностью такта, а числа
0, 1, 2,... - номера тактов. В каждом такте входы а\ а восприни­
мают тактирующий импульс, но для наших целей нам достаточно
ввести переменные t\ и t . Итак, предметная область нашей модели
и
2
В = {t
h
t, х
2
ь
х у
ъ
ь
у } С N.
2
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 «белый ящик»; 5 - морфологическая модель, или конструкция
c
М
системы, в которой показано, как ее элементы расположены в фи­
зическом пространстве; Р(Бф, S ) и P(S 5 ) - предикаты целостно­
сти, указывающие на гомоморфизмы между S§, S и S . Предикат
целостности P(S$, S ) и две модели £ф и S должны обеспечить ре­
шение задач анализа и синтеза системы. Иначе они бесполезны и
неадекватны.
Для решения других задач проектирования необходимо стро­
ить другие модели. Так, для конструкторского проектирования
большой интегральной схемы (БИС) следует иметь морфологиче­
скую модель вида
c
a
М
c
c
M
c
K=<S ,S ,P(S ,S )>,
C
M
C
M
где S и P(S SM) имеют тот же смысл; S - модель конструктива множество мест на кремниевой пластине, предназначенных для
размещения элементов схемы, расстояний между этими местами и
топология связей между элементами.
c
0
M
1.3. Д и н а м и ч е с к и е модели систем
Динамическая модель общего вида. Мы видели, что в при­
мере 1.3 значения переменных функциональной модели зависят от
времени. Такая ситуация характерна для большинства систем. Со­
ответственно эти системы называются динамическими, а их функ­
циональные модели - динамическими моделями систем.
Динамическая модель может быть представлена семеркой объ­
ектов:
S
A
=
<X,Y,Z,F,G,T,Z >,
0
где X - множество (вектор) входных переменных, x G X - ком­
понента вектора X; Y - множество (вектор) выходных перемен­
ных, у,- е Y - компонента Y, Z - множество (вектор) внутренних
переменных - состояний, где z,- € Z ; F - вектор-функция выхода,
fj€ F - компонента вектор-функции выхода, где у <7) = fi[X{t), Z(t)];
G - вектор-функция переходов, g • € G - компонента векторфункции переходов, где z,{t)=g,[Z(0), Х(х)], т € [0, t] (Х(т) - траектория
входа за период времени т - последовательность значений, прини­
маемых вектором X на множестве моментов системного времени в
сегменте т G [0, t\); ZQ = {zi(0), z (0),
z„(0)} - начальное состоя­
ние системы в момент t = 0.
t
г
t
2
Если во все время функционирования Z = ZQ, ТО система «не
помнит» своей истории. Выход ее зависит только от входа в дан­
ный момент. Такую систему уместно назвать комбинационной. Ее
внутреннее состояние можно не рассматривать.
Другой важнейший элемент системы - модель системно­
го времени Т.. Она может представлять собой натуральный ряд
Т = О, 1, 2, ... или континуум Т С R- множеству действительных
чисел. В первом случае мы имеем модель дискретного времени, во
втором случае - модель непрерывного времени. В примере 1.1 дис­
кретно не только время, но и значения входных и выходных пере­
менных. Такие системы называются дискретными.
Наконец, следует различать замкнутые и открытые системы.
В замкнутой системе 'все элементы постоянно присутствуют, а
их общее количество не изменяется. Число состояний замкнутой
системы равно произведению чисел состояний всех ее элементов.
Например, и-разрядный двоичный регистр, хранящий число в па­
мяти компьютера, можно рассматривать как систему, состоящую
из п элементов, каждый из которых имеет два состояния 0 и 1.
Число состояний такой системы, как известно, равно 2". Замкну­
тую систему значительно легче исследовать в силу неизменности
ее мощности.
В открытой системе число элементов изменяется в процессе
ее функционирования. Они появляются в системе извне и ухо­
дят из нее во внешнюю среду. Такими свойствами обладают, на­
пример, популяции живых организмов, системы обслуживания
потока клиентов. При моделировании открытой системы прин­
ципиально невозможно перечислить все ее элементы, однако в
ней самой в каждый момент времени находится определенное их
число. Для моделирования внешней среды можно ввести специ­
альный внешний элемент, который используется как источник
входного потока новых элементов и поглотитель выходного по­
тока отработавших.
Дискретный конечный автомат. Дискретный автомат модель замкнутой системы с дискретными переменными и дис­
кретным временем. Широко распространена модель конечного
дискретного автомата, где время Т - О, 1, 2, 3, ... дискретно по
умолчанию и не рассматривается как таковое. Дискретный авто­
мат Мили можно задать шестеркой математических объектов:
Autom = <А, В, Q,f,g,
д >,
0
где
да,
bif)
qo -
А, В, Q - конечные алфавиты (наборы символов, букв) вхо­
выхода и внутренних состояний; / - функция выхода вида
= f{q(t), a(t)); g - функция переходов вида q{t+\) = g(q(t), a(t));
исходное состояние в момент времени 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
0
1
2
F
0
1
2 • 3.
1
1
2
3
0> F =
2
2
3
0
1
3
3
о'
1
2
3 .
А
Q
0
0
1
2
3
0
1
2
3
1
1
2
3
0
2
2
3
0
1
3
3
0
1
2
Нетрудно видеть, что в нашем случае выход совпадает с состо­
янием, т.е. матрица F является излишней.
Вообще, если выход зависит только от состояния автомата, то
такая модель называется автоматом Мура. Функции переходов и
выходов для автомата Мура имеют вид:
q(t+\)=g[q(t),
Kt)
a(f)l
=/[<?(/)].
Очевидно, что
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
Вход
1
3
0
2
1
2
3
Состояние
0
1
0
0
2
3
1
Выход Мили
1
0
0
2
3
1
0
Выход Мура
0
1
0
0
2
3
1
8
3
0
3
0
9
3
3
В примере 1.1 мы его не изобразили, но в функциональной мо­
дели описали как входную функцию:
t(t+x) = t(t) + \(mod2).
В асинхронных системах тактового генератора нет, и такты
отсчитываются по событиям на входе в систему. Таким образом,
длительность такта в асинхронных системах произвольна. Можно
считать асинхронный автомат моделью системы с дискретными
состояниями и непрерывным временем.
Линейные модели систем. В непрерывных случаях рассматри­
ваются линейные и нелинейные системы. Для линейных моделей
выполняется принцип суперпозиции:
[ x ( 0 =xi(t)+x (i)]
2
где
X!(0, JC (0 € JV; j ( 0 ,
2
-»• \y{i) = ( 0
л
+j> (OL
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. Если множество А является событием, то его дополнение
(до Q) - тоже событие.
Два события А и В, не имеющие (как два подмножества) общих
элементов, называются несовместными.
Аксиомы вероятностей:
1. Каждому событию А поставлено в соответствие неотрица­
тельное числор(А), называемое вероятностью события А.
2. Аксиома счетной аддитивности. Если события А], А , ... по­
парно несовместны, тор(А + А + ...) = р(А]) + р(А ) + ...
2'. Аксиома аддитивности - частный случай аксиомы счетной
аддитивности: р(А + В) =р(А) + р(В), если А и В несовместны.
3. р(П)=\.
Аксиомы 1-3. составляют основу всей теории вероятностей.
Все теоремы этой теории, включая самые сложные, выводятся из
них формально-логическим путем. В частности, важнейший ре­
зультат, который потребуется в дальнейшем, есть формула полной
вероятности. Пусть появление некого события А зависит от со­
путствующих событий В\, В ,
В
которые сами наступают
с вероятностями р(В,), *'€/. Условной вероятностью называется ве­
роятность р(А/В,) события А при условии наступления события В,.
Тогда полная вероятность события А есть величина
2
2
2
х
2
2
2
ь
p{A)^2Z (B )p{A/B ).
ie]P
l
1
Случайной величиной, связанной с данным опытом, называется
величина, которая при каждом его осуществлении принимает то
или иное числовое значение, заранее неизвестно, какое именно.
Любое правило, устанавливающее связь между возможными
значениями случайной величины и их вероятностями, называется
распределением вероятностей (или просто распределением)
слу­
чайной величины.
Табличка вида
х
х
*1
п
2
Р\
Р2
Рп
задает распределение случайной величины X. Здесь х\, x ...,х„,...
возможные значения величины X, а р \ , р , ...,р , ... - их вероятно­
сти. Понятно, что p > О и
2t
2
t
п
Последнее соотношение называют условием нормировки.
Рассмотренный способ задания распределения вероятностей
применим только в том случае, когда случайная величина может
принимать лишь конечное или счетное множество значений. Та­
кие случайные величины называются дискретными.
В некоторых задачах определение всех значений p вызывает
серьезные затруднения, поэтому зачастую на практике распреде­
ление вероятностей характеризуется каким-то набором чисел, ко­
торые называются параметрами. Важнейшим параметром явля­
ется математическое ожидание, или среднее значение случайной
величины.
Математическим
ожиданием, или средним значением дис­
кретной случайной величины X, заданной распределением вероят­
ностей
t
*1
х
х
Р\
Рг
Рп
п
2
называется сумма
М(Х) = хур +х -р
]
2
2
+ ••• + х„-р +
...
п
Таким образом, математическое ожидание дискретной случай­
ной величины X равно сумме произведений возможных значений
величины Х н а их вероятности.
Математическое ожидание есть некий центр, вокруг которого
группируются возможные значения случайной величины.
Дисперсией случайной величины X называется число, опреде­
ляемое формулой:
D{X) = M(X-M(X)f
=
2
-М{Х))
р,.
Таким образом, дисперсия есть математическое ожидание ква­
драта отклонения случайной величины 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
2
0,8
0,1
0,2
D
1
2
1
-ОД
0,8
0,1
-0,8
2
од
1
2
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}... и т.д. до Р
= {1 - 0,1(1); 0,(1)}~{0,89; 01}.
Итак, более 10% студентов оказались «хвостистами» и будут
рано или поздно отчислены.
Найдем финальные вероятности, не прибегая к итерациям. Вы­
пишем уравнения для вероятностей состояний:
фт
( 3 )
Р/ ~ X/
Рi
х
Pij >
I;
Л-= И»" =!••«)•
Решение этой системы и есть вектор Р финальных вероятно­
стей. В нашем примере:
0,8 Р - 0,1 Л = 0,
0,1 Л - 0,8 Р = 0,
2
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.
Случайные сгущения и разрежения событий в потоке еще не
означают, что он нестационарен. Нарушение стационарности
обычно имеет ясную физическую причину. Таковы, например, сгу­
щения потоков клиентов в «часы пик». Причина таких сгущений единое расписание работы всех горожан. В таких случаях модель
стационарного потока имеет смысл для определенного перио­
да времени. Так в рабочее время интенсивность потока клиентов
равна: Х^^ - до конца рабочего дня, Я. - пиковая интенсивность,
А. - вечером, Х
- ночью. При этом Х
< Ар < Х
<Х .
Многие потоки можно считать стационарными на ограниченных
участках времени. При грамотном анализе систем такие неодно­
родности могут и должны быть учтены.
3. Поток называется потоком без последействий, если для лю­
бых двух непересекающихся интервалов времени t\ и t число со­
бытий на интервале t не зависит от числа событий на интервале
t\. Иными словами, события в потоке независимы друг от друга.
Например, поток покупателей, идущих в гастроном, не имеет
последействия, а поток покупателей, отходящих от кассира, после­
действие имеет. Каждому из них нужно время для расчета с кас­
сиром, и в это время от кассира покупатель не отходит. Впрочем,
если средний интервал времени т между событиями много боль­
ше времени обслуживания у кассира, то последействием можно
пренебречь и считать обслуживание точечным событием.
n
пик
веч
ноч
ноч
аб
ъеч
2
2
тк
4. Поток событий называется ординарным, если события в нем
появляются поодиночке, а не группами. С математической точки
зрения это означает, что вероятность попадания двух событий в
бесконечно малый интервал времени dt является величиной более
высокого порядка малости, чем вероятность одного события. Так
очевидно, что при интенсивности X попасть в интервал dt собы­
тие может с вероятностью P\(dt) = Xdt, а два события могут по­
пасть туда же с вероятностью P2(dt) = X dt = o(Xdt) = o(dp). Вели­
чина o(x) называется величиной более высокого порядка малости
по сравнению с х. Такими величинами в математическом анализе
пренебрегают при интегрировании.
Простейший поток. Простейший поток событий обладает
сразу тремя свойствами. Он стационарен, ординарен и без после­
действия. Рассмотрим простейший поток на интервале [0; t + dt].
Вычислим вероятность P„(t + dt) того, что на этом интервале про­
изойдет п событий. Это возможно в двух случаях.
1. Все п событий произошли с вероятностью P (t) на интерва­
ле [0; t] и ни одного события не произошло на интервале [/; / + dt].
Поскольку на этом интервале длительности dt может произойти не
более одного события, вероятность отсутствия события равна
2
2
n
P (dt) = l-Xdt.
(2.3)
0
2. Предшествующие (п - 1) события с вероятностью P .\(t) про­
изошли на интервале [0; t], а одно п-е событие - на интервале
[/; / + dt] с вероятностью
n
P {dt) = Xdt.
x
Итак, имеем рекуррентное уравнение:
P {t+ dt) = P (t)[ln
n
Xdt] + P (t)Xdt.
(2.4)
nA
Отсюда:
[(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]
dPo(t)/dt = - XPo(f) - уравнение с разделяющимися переменными.
Разделим их:
dP(,(t)/PQ(t) = - Xdt - уравнение экспоненты.
Интегрируя левую и правую части на отрезке [0; t], имеем:
0
0
0
k.,dPo(tyPQ(t) =
-Xk.tdt
b
P {t) = e~ .
(2.5)
Q
Итак, вероятность Po(t) того, что в простейшем потоке событие
не произойдет на интервале [0, t] падает от 1 до 0, причем тем бы­
стрее, чем больше интенсивность потока.
Гораздо сложнее и интереснее дело обстоит с вероятностью
P {t). В теории вероятностей показано, что решением рекуррент­
ного уравнения (2.4) является распределение Пуассона:
n
п
и
Р„{{)^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.
—
dt
P(x<t)=p(t)=Xe~K
Это распределение называется показательным, или экспонен­
циальным и показано на рисунке 2.3.
Другие потоки событий. На практике встречаются потоки со­
бытий, отличающиеся от простейшего потока. Например, кассир
обслуживает покупателя некоторое случайное время т, распреде­
ленное по нормальному закону.
Поток событий называется рекуррентным, или потоком Паль­
ма, если он стационарен и ординарен, а интервалы между собы­
тиями т i2, хз, ... - независимые случайные величины с одина­
ковым распределением, причем любым. В частности, простейший
поток - это рекуррентный поток с показательным распределением
времени между событиями. Регулярный поток тоже рекуррент­
ный, но с вырожденным распределением для т. Это постоянная ве­
личина или очень «острое» нормальное распределение.
Другим способом получения потока является
просеивание
простейшего потока. Пусть простейший поток посетителей уч­
реждения сортируется диспетчером по к различным направле­
ниям, так что на каждое г'-е направление попадает посетитель
с номером j по правилу г = jimod к). В этом случае по г'-му на­
правлению будет направлен так называемый поток Эрланга к-го
порядка. Интервал между событиями в потоке Эрланга - сумма
интервалов из простейшего потока. В частности, простейший
поток событий - это поток Эрланга 1-го порядка. При к —• <х> по­
ток Эрланга превращается сначала в поток Пальма с нормаль­
ным распределением для t; а далее - в регулярный поток. Важно
следующее утверждение: системы, в которых все потоки простей­
шие, являются марковскими.
Уравнения Колмогорова - Чепмена для замкнутой системы.
Рассмотрим модель системы с дискретными состояниями и не­
прерывным временем. В этом случае каждому переходу {q —> qj)
соответствует интенсивность Ху потока событий, состоящих в ре­
ализации этого перехода. Наглядно такую систему можно изобра­
зить графом состояний марковского процесса:
ь
t
G=<Q,
U,a:A->
U>,
где: Q - множество состояний системы, \Q\ = п; U - множество
переходов (q,-^qj) € U, U С Q ; Л - множество интенсивностей
переходов А,,-,-, приписанных отображением а дугам (переходам)
графа G.
Отображение а можно задать матрицей Л размерами пхп. В ее
клетках расположены интенсивности Ху. Как и в модели с дис­
кретным временем, нас будет интересовать стохастический век­
тор P(t) = {P\(t), P (f),...,
Д Л ( 0 - вероятность нахождения
системы в состоянии q,в момент времени /, иначе говоря, - доля
времени, которую система проводит в этом состоянии.
Рассмотрим фрагмент графа G (рис. 2.4).
2
г
е
2
Рис. 2.4. Фрагмент размеченного графа переходов G
Запишем уравнение для вероятности одного из состояний, на­
пример, Рз(0 в момент времени /. Пусть P^(t+At) - вероятность
того, что система в момент (t+At) попадет в состояние q^. Это со­
бытие может произойти двумя путями:
1. В момент t система была и оставалась в состоянии #з, т.е. пе­
реходы (#з —• q{) и (#з —> #4) не состоялись.
2. В момент t система была в одном из состояний q\ q или q\,
а за время Af состоялся один из переходов: (q\ —> q$), (q —> <7з)
(Я4 -* ЯзУ
Заметим, что все эти возможности взаимоисключающие,
что
позволяет суммировать их вероятности.
Найдем вероятность первого варианта. Выходной поток из со­
стояния <7з есть смешение потоков переходов из q$ в q\ или q$.
Этот поток простейший, а его интенсивность равна сумме интен­
сивностей смешиваемых потоков:
2
и
2
РзвьЖ + АО = 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 hi + Л*43 - РъОчi + ^34)
(P (t +At) - P (t))/At = P X
3
3
:
U
2
или при At —* О
<#У<# = Pi Я. + Р Х
/3
2
2Ъ
+ ^4 ^43 - Рг (hi + Ы -
Полученное уравнение называется уравнением Колмогорова Чепмена для одного состояния (в данном случае q ).
Составляя уравнения Колмогорова - Чепмена для всех состоя­
ний системы, мы получим систему линейных дифференциальных
уравнений.
Кроме системы уравнений Колмогорова - Чепмена выполняет­
ся еще и условие нормировки
3
£,=1..„
Л(0=1-
Сформируем теперь общее правило для составления системы
уравнений Колмогорова - Чепмена.
Рассмотрим внимательнее матрицу Л. Если / Ф j , то в ее клетке
стоит Xjj - интенсивность перехода q —• qy Если же i =j, то в клет­
ке Хн должна стоять интенсивность потока выходов из состояния
<7„ причем с отрицательным знаком:
t
Хц — — '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 - агрегат неисправен, и диагностируется, что требует расхо­
дов 5 в единицу времени;
<7з - агрегат ремонтируется, что обходится в сумму S3 в едини­
цу времени.
2
2
Таким образом, математическое ожидание прибыли составляет
S =
P Si-P S -P S ,
l
2
2
3
3
где Pj - вероятность состояния q т.е. доля рабочего времени, ко­
торую агрегат проводит в состоянии q .
Предшествующий опыт эксплуатации показал, что агрегат
переходит из состояния в соответствии с графом переходов, пока­
занным на рисунке 2.5.
b
t
Л
1
2
3
1
2
3
-1
0
4
1
-5
1
0
5
-5
Рис. 2.5. Граф переходов и матрица интенсивностей
переходов ненадежного агрегата
Переход (q —> q ) происходит при ошибочной диагностике. За еди­
ницу времени можно взять и 1 сутки, и 1 месяц, и 1 год, главное,
чтобы все интенсивности измерялись в одинаковых единицах. При
каких же значениях S\, S и S агрегат приносит прибыль? Очевид­
но, таковым условием является 5 > 0 или P^S\ - (P2S2 + P3S3) ОНайдем Р\, Р н Р$ в стационарном режиме. Построим прежде
всего матрицу интенсивностей переходов Л и воспользуемся ма­
тричной формулировкой уравнений Колмогорова - Чепмена.
При составлении этих уравнений вручную можно пользоваться
следующим правилом. Производная Р\ равна разности суммарно­
го входного и суммарного выходного потоков. В стационарном ре­
жиме эта разность равна нулю, т.е. входной и выходной потоки в
каждом состоянии равны. Просматривая состояние за состоянием
на рисунке 2.5 имеем систему уравнений:
для q : Pi = АР \
для q . P + Р = 5Р ;
для qy. 5Р = 5Р .
Нормировка: Р + Р + Р = 1.
Нетрудно убедиться, что этот простой метод дает тот же ре­
зультат, что и умножение вектор-строки Р на матрицу Л. Решая
систему уравнений, получаем:
3
2
2
3
>
2
x
2
Ъ
l
ъ
2
3
2
г
2
3
Р = 2/3;Р = 1/6; Р = 1/6.
Пусть Si = 300; S = 200; S = 400.
S = 2/3 х (300) - 1/6 x (200 + 400) = 200 - 100 = 100.
Эксплуатация агрегата дает прибыль.
Эквивалентность марковских моделей систем. Мы рас­
смотрели два типа марковских моделей стохастических систем:
синхронную и асинхронную! В синхронной модели система рас­
сматривается как синхронный вероятностный автомат, поведение
которого представляет большое множество таких автоматов или,
что то же самое, поведение этого автомата на большом промежут­
ке времени. Процесс в обеих этих моделях имеет два представле­
ния, две проекции: история и тайминг. В синхронной модели на
первом месте стоит история системы - последовательность со­
стояний, изменяемых одновременно во всех элементах системы в
каждом такте. В асинхронной модели тактирования нет, и процесс
функционирования системы представляется ее таймингом - ор­
динарным потоком событий-переходов q —• qj из состояния q, в
состояние qj, происходящих в случайные моменты времени. Ка­
ково соотношение между этими моделями? Интуитивно ясно, что
если эти две модели адекватно описывают одну и ту же систему,
то и результаты моделирования должны совпадать, т.е. эти модели
эквивалентны. Это действительно так.
Рассмотрим матрицы D из раздела об автономном вероятност­
ном автомате и Л из раздела об уравнениях Колмогорова - Чепмена для замкнутой системы. Эти матрицы таковы, что вероятности
Pij переходу q —> qj в матрице D соответствует интенсивность Ху
потока переходов q —> qj в матрице Л. Более того, сумма элеменов
каждой строки в обеих матрицах по определению равна 0. (Напом­
ним, что D = Q -Е, а в матрице Q сумма элементов строки равна 1.)
Пусть Pjj(t) - вероятность перехода q —> qj за время t. В разделе о
простейшем потоке было показано, что вероятность одного этого
перехода за время т < t равна
1
2
3
2
3
t
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 ;
5) время пребывания заявки в системе - Г .
cm
сис
Наиболее просто анализ проводится для простейших потоков
заявок, т.к. при этом СМО является марковской системой.
Синтез СМО выступает задачей оптимизации некоторой более
крупной системы - надсистемы. Из этой объемлющей системы
берутся ограничения и оценки для проектируемой СМО:
1) характеристика входного потока;
2) максимально допустимое время пребывания заявки в системе;
3) дисциплина очереди;
4) цены на содержание СМО и обслуживание.
Часто при организации обслуживания клиентов возникает
конфликт интересов клиентов и владельцев СМО. С точки зрения
клиентов желательно минимизировать длину очереди и время об­
служивания. Это, однако, требует увеличения числа каналов об­
служивания или повышения их быстродействия.
С точки зрения владельцев СМО необходимо увеличивать за­
грузку оборудования (каналов обслуживания), уменьшать стои­
мость СМО и увеличивать прибыль. Если «пойти на поводу» у кли­
ентов, цена СМО и обслуживания будет расти до такого уровня,
что клиенты не смогут позволить себе платить за обслуживание.
Если удовлетворить желание владельцев СМО, клиенты переста­
нут пользоваться ей из-за чрезмерных потерь времени в очереди.
Если же клиент не имеет возможности проигнорировать систему
обслуживания, то такая монополия может вообще нарушить нор­
мальное функционирование надсистемы высшего уровня.
Таким образом, при синтезе СМО следует перейти к анализу
системы более высокого уровня и учесть иные атрибуты конфи­
гуратора надсистемы, скажем, стоимость, удобство, надежность и
другое.
Типичной задачей синтеза является совершенствование уже су­
ществующей СМО. Анализ ее позволяет выявить «узкие места» и
подготовить проект изменений, включающий следующее:
1) увеличение числа каналов;
2) повышение интенсивности обслуживания в канале;
3) изменение дисциплины в очереди и т.д.
Прежде, однако, чем внедрять эти «улучшения», следует прове­
сти анализ проектируемой СМО. Зачастую оказывается, что пред­
лагаемые «улучшения» снижают некоторые показатели ее каче­
ства вопреки ожиданиям реформаторов.
Формулы Литтла. Иногда для оценки СМО можно использо­
вать достаточно грубые модели, полагая все потоки простейшими.
Более того, некоторые важные результаты вообще не зависят от
характера потоков. Такой результат известен для связи обобщен­
ных параметров СМО:
1) интенсивности входного потока X;
2) среднего числа заявок в системе N ;
3) среднего времени пребывания заявки в системе Т .
Рассмотрим произвольную СМО с любыми потоками, числом
каналов, очередей и их дисциплинами. Единственное требование
к СМО - существование стационарного режима. В стационарном
режиме, что бы ни происходило в системе, интенсивности входно­
го и выходного потока заявок равны. Пусть это будет интенсив­
ность X.
На рисунке 2.7 показаны графики для числа X(t) заявок, вошед­
ших в систему, и для числа Y(f) заявок, покинувших ее.
CKC
тс
Рис. 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 и длиной основания
где - время пребы­
вания г-й заявки в системе. Отсюда:
Итак:
N
cm
=1/Г х
t = X./ХТ х X ) //.
t
Величина (Lt,)/(XT) - среднее время пребывания заявки в СМО Т , поскольку XT - число заявок, прошедших через систему за
время Г, a ^ f , - - общее время пребывания всех этих заявок в
сж
СМО. Итак, первая формула Литтла имеет вид:
Точно так же можно вывести связь между средней длиной оче­
реди N и средним временем ожидания в ней Т . Вторая формула
Литтла:
-~ X Т .
04
оч
оч
Формулы Литтла дают возможность связать важнейшие харак­
теристики СМО: JV , J V , Г
и Т , если известна интенсивность
X в стационарном режиме.
Схема гибели-размножения. Мы видели, что для большого
числа состояний система уравнений Колмогорова - Чепмена ста­
новится непомерно сложной для анализа. Есть, однако, случаи,
когда решение этой системы можно получить в аналитическом
виде. Такова схема гибели-размножения, граф состояний которой
представлен на рисунке 2.8.
CHC
04
С И С
О Ч
п -1
А,
Иг
My
М<
М „-i
Рис. 2.8. Процесс гибели-размножения
Wп
М„
Состояния в схеме гибели-размножения можно расположить на
прямой, где каждое соединено с соседями слева и справа. Такой
граф состояний характерен для процессов изменения численности
популяций. Пользуясь этим графом, запишем:
Из первых двух формул следует:
Р\ 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- ^обсл абсолютную пропускную способность, т.е. среднюю
долю обслуживаемых заявок от их общего числа - вероятность
обслуживания.
2- Р тк ~ вероятность отказа.
3. к - среднее число занятых каналов.
Р е ш е н и е . Состояния СМО будем нумеровать числом заявок,
находящихся в системе. Граф состояний СМО соответствует схеме
гибели-размножения {рис. 2.9).
1
_
0
с р
Я
Я
1ц
Я
я
км
(к+\)
М
Рис. 2.9. и-канальная СМО с отказами (задача Эрланга)
я.
Теперь стрелки, идущие слева направо, имеют одну и ту же ин­
тенсивность X, а для переходов справа налево интенсивность про­
порциональна числу занятых каналов кц.
Воспользуемся уже готовыми формулами для процесса гибелиразмноженния.
Имеем:
^к=0- k\fx
Члены этого ряда:
2
Х/ц, Х 1(2р?), ХУ(3\р?),...,
к
к
Х 1{к\Х )
это коэффициенты при PQ ДЛЯ Р\, Р ,
2
P I = XP /р,
Q
2
2
Р = \ Р Л?ц ),
2
0
-,РЬ
• • • . Рк =
/№*)
•• •
Интенсивности X и /х входят в формулы для Р только в виде от­
ношения. Такая ситуация так- часто встречается, что имеет смысл
ввести новую характеристику СМО - приведенную
интенсивность
потока заявок
р =Х/р.
В этих обозначениях:
К
-1
^0
=
Еk
Pk = PoP lk\
при п —>оо
Д = 1..И.
Эти формулы называются формулами Эрланга в честь основа­
теля теории массового обслуживания.
Итак, финальные вероятности известны. Найдем искомые вели­
чины.
Вероятность отказа Р
равна вероятности того, что все кана­
лы заняты:
о т к
п
п
р
Р
= Р = PQP 1п\ , а при и—>оо имеем Р
= р 1 (и! е ).
Вероятность обслуживания
Л>бс = 1- Лнк =1-РоР 1п\ -+(\-р"/(п\еР)).
Как и следовало ожидать, при п —» оо, Р ^ —* 1.
Абсолютная пропускная способность - это поток обслуженных
заявок - число обслуживании в единицу времени:
о т к
П
0ТК
п
0
С
А ,
= ХР
о6с
о6й
=
Ц1-Р р"М).
0
Очевидно, что при п —> оо, задержек в системе нет, и А ^
—»
X, т.е. интенсивность обслуживания равна интенсивности потока
заявок.
Среднее число занятых каналов - это число к = N
заявок,
находящихся в системе. Значит поток обслуживаемых заявок - это
0 сп
ср
^•ср Р ~ ^обс
CKC
-^обс-
Отсюда:
/с = ( ^ ) - ( 1 - Р Р "/«!)= Р (1 Приведенные здесь выражения для -Ро> содержащие е , приме­
нимы при большом числе каналов обслуживания п >10, что типич­
но для телефонии.
Одноканальная СМО с неограниченной очередью.
П о с т а н о в к а з а д а ч и . Эта задача - хорошая модель для си­
туации, когда клиент не может покинуть очередь при любой ее
длине: очередь к врачу, к телефону-автомату, билетной кассе и
т.д. Граф состояний такой СМО - та же схема гибели-размноже­
ния {рис. 2.10), где X - интенсивность потока заявок, р, - интенсив­
ность обслуживания.
ср
0
р
я
0
щ
я
W 1
и
-л
щ
р 1
и
я
4
Ч
и
• • •
М
И
Рис. 2.10. Одноканальная СМО с неограниченной очередью
Требуется найти:
N - среднее число заявок в системе;
N - средняя длина очереди;
Т
- среднее время пребывания заявки в системе;
Т - среднее время пребывания в очереди;
Р - вероятность занятости канала.
В этой модели финальные вероятности существуют только при
cm
04
СИС
ОЧ
зан
р = Х/р < 1 ,
т.е. когда заявки обслуживаются быстрее, чем они в среднем по­
являются. Уже при р = 1 очередь начнет бесконечно расти, если
поток заявок нерегулярен. Если же потоки регулярны, и каждая
заявка обслуживается к моменту прихода следующей заявки, то
очереди вообще не будет.
На практике «бесконечная очередь» нереальна. Вот почему
нужно осторожно использовать замену случайных величин их
средними значениями. Следует побеспокоиться, чтобы искомое
решение существовало.
Р е ш е н и е з а д а ч и . По схеме гибели-размножения имеем
1
=
Е?"
к=0
В прямых скобках стоит геометрическая прогрессия, сходяща­
яся к
при р < 1. "Теперь можно записать:
Л>=1-р
Ряд вероятностей PQ, Р\, Р ... - тоже геометрическая прогрес­
сия со знаменателем р. Как ни странно, PQ - максимальный член
этой прогрессии при любой нагрузке, лишь бы система справля­
лась с ней (X < р).
Вычислим N„
2
d
к=\
к=\
dpf^
dp U - p J
l-p+p
d_
dp U - p J
i-P
(l-p)
2
[i- y
P
{\- y
P
Итак: JV = p I (l-p).
По формуле Литтла, Г = N
IX = р/(1(\-р)).
Число заявок в очереди в среднем:
CHC
с и с
mc
•^оч = -^сис ~~ -^обсл'
г
где Л б - среднее число заявок, которые обслуживаются СМО в
единицу времени:
0
сл
^обсл=ОхР +1хЯ*>о=1-^о=Р<10
•
N
= {p/(\-p))-p
m
2
=
p i(\-p).
Теперь по формуле Литтла время пребывания заявки в очереди:
т =р /(Ю-р)).
2
0Ч
я-канальная СМО с неограниченной очередью. Задача чуть
сложнее одноканальноЙ СМО. Граф состояний системы показан
на рисунке 2.11. Финальные вероятности существуют при условии
р < п, иначе очередь растет до бесконечности.
X
Л
1
W
*Щ
2
•• •
- •• - — •
Щ
2]х
kfi
lk+l)
M
Рис. 2.11. и-канальная СМО с неограниченной очередью
Применяя все те же формулы схемы гибели-размножения,
имеем:
^0
=
Е-+
р п+1
Uk\
п\(п-р)
Р
Член
«!(« — р)
получается как в задаче об одноканальноЙ СМО.
I1 \—V Рп
Это сумма членов геометрической прогрессии —- ^
k=n+i
Теперь
Р\-Pop, Pi = '/ р Р , :..Р = POP /к\, ...,Р„ = Р
"М
Р = Р р " /(п-п\), . . ., P
= Pop '7(п -п\), . . .
Прочие параметры вычисляются как и ранее:
А : = Х/ц=р
х
к
1
2
2
к
0
к
н
п+}
оР
п+
0
г
n+r
ср
^ с и с = Лоч + Р
ОО
^
т
Р
R
+l
= Х > ^ = P"
г=1
= дг / 1 7
= N IX
г
1{п-п\{\-р/п) )
П р и м е р 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 мин.
Предлагаемый вариант - две независимые одноканальные
СМО, каждая из которых имеет следующие параметры X = 0,45,
р = 0,5, р = XIр = 0,9 < 1. Финальные вероятности существуют.
Средняя длина очереди iV = 8,1, Т = 18 мин.
Почему предлагаемый вариант оказался хуже существующего?
Дело в том, что в существующем варианте меньше простой
кассы в состоянии 0. Там кассир всегда занят, если есть пассажир.
В предлагаемом варианте этой возможности нет. Нет пассажиров
на А - кассир А сидит без дела. Нет пассажиров на В - тоже самое
для В. Вот почему стоя в очереди к прилавку магазина вы негоду­
ете - вы стоите, а за соседним прилавком продавец явно бездель­
ничает.
04
оч
04
оч
Задачи к главе 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), а граф переходов с заданной мар­
кировкой - это автоматная сеть. Такую сеть мы уже использова­
ли для анализа марковских систем и систем массового обслужива­
ния методом динамики средних.
Автоматная сеть позволяет наглядно показать полное состо­
яние однородного ансамбля автоматов, но недостаточна для изо­
бражения взаимодействий в сложной системе. Следующий шаг в
моделировании сложных систем сделан в сетях Петри.
Каноническая сеть Петри. Сеть Петри позволяет изобразить
не только полное состояние сложной системы, но и зависимости
переходов (q —> qj) от состояний других элементов, точнее от мар­
кировки этих «воздействующих» на переход элементов. С этой
целью необходимо ввести в сеть еще один класс вершин, соответ­
ствующих переходам. Переходу ставится в соответствие правило
исполнения.
Сеть Петри - ориентированный двудольный граф G(QUD, Е),
т.е. граф с двумя типами вершин Q и D, а множество дуг
Е Я (QxD)U(Dx.Q). Вершины из множества Q = {q\,q b---Arh назы­
ваются позициями и обозначаются символом О (кружок), вершины
из множества D= {d\, d , • •., d } называются переходами и обозна­
чаются символом I (черта). Дуги допустимы только между позици­
ями и переходами: (позиция —• переход) или (переход —» позиция).
Обозначим:
Е - множество дуг,
*dj - множество входных позиций для перехода dj (множество
позиций, из которых есть дуги в переход dj),
dj* - множество выходных позиций перехода dj.
В общем случае между позициями и переходами может быть
несколько дуг. Сеть Петри - это мультиграф. Чтобы отобразить
множественность дуг, каждой паре (q dj) и (dj, q^) ставится в со­
ответствие натуральное число - вес дуги ky или
Это соот­
ветствие задают функции предшествования In и следования Out.
Функции In и Out отражают связи между событиями и условиями
и изображаются матрицами инциденции. Строкам матриц инциденции соответствуют позиции, столбцам - переходы. Элементы
матриц In и Out равны весам дуг ку и fy. Функция In(dj) - векторстолбец, отображающий веса кц всех дуг, исходящих из позиций
qi £ *dj и идущих в переход dj. Функция Out (dj) - вектор-столбец,
отображающий веса kj^ всех дуг, исходящих из перехода dj и идуt
t
2
2
m
h
j
щих в позицию
€ df. По умолчанию величины ку и к^, т.е. веса
всех дуг, равны 1.
Переходы сети Петри соответствуют событиям, происходящим
в системе, позиции соответствуют условиям наступления этих со­
бытий.
На рисунке 3.1 изображена сеть Петри с пятью позициями, дву­
мя переходами и матрицами инциденции In и Out:
Позиции: Q ={q q , ?з> 94, Чь\Переходы: D = {d , d }.
Входные множества для переходов: *d = {q , q }, *d = {^3}.
Выходные множества для переходов: d * ={</з}, d * = {q$ q$).
Дуги из Q в D: Е = {(q , d ), (q , d ), (q , d )}.
Дуги из D в Q: E = {(d , q ), (d , q ), (d , q )}.
Веса дуг показаны и на графе рисунке 3.1а, и в матрицах инци­
денции In и Out (рис. 3.16).
h
2
x
2
x
x
x
х
x
x
2
x
z
2
x
3
2
4
2
5
d
d
1
0
42
2
0
Чз
0
44
45
Out
2
2
2
In
2
d,
d
41
0
0
42
0
0
1
Чз
1
0
0
0
44
0
1
0
0
45
0
3
x
2
Out =
2
6
Рис. 3.1. Сеть Петри: a - изображение с помощью графа,
б - матричное изображение
Маркировка сетей Петри. Определение сети Петри позволяет
описать статические свойства_моделируемой системы, взаимосвязь
событий и условий. Для описания динамики вводится функция
маркировки М: Q —¥ N, где N- множество целых неотрицательных
чисел. Маркировка любого подмножества ACQ
обозначает­
ся М(А) и называется частичной. В частности, маркировка входа
и выхода в переход dj обозначаются как M(*dj) и M(dj*\ соответ­
ственно,
i
Наглядно маркировка изображается точками внутри позиции,
как показано на рисунке 3.2. "Точки называются фишками, или
маркерами. Таким образом, с помощью функции М позиции сети
помечаются целыми неотрицательными числами. Сеть Петри с
маркировкой называется размеченной сетью Петри. В дальней­
шем маркировка сети Петри будет рассматриваться как вектор
М = <M( ), M(q ),
M(q„)> = <N N , ....
Функционирование сети Петри. Сеть Петри функционирует,
переходя от маркировки к маркировке. Последовательность мар­
кировок называется историей сети Петри. Начальная маркировка
обозначается MQ, а сеть Петри с начальной маркировкой М$ зада­
ется парой <С, MQ>. Смена маркировок происходит в результате
срабатывания (запуска) одного из переходов. Переход срабатыва­
ет только в том случае, если он разрешен (возбужден).
Переход dj разрешен, если для всякой входной позиции q, вы­
полняется условие M(ql) > ky, где ky - число дуг из позиции q в
переход dy У разрешенного перехода каждая дуга, входящая в пе­
реход, обеспечена фишками в соответствующей входной позиции.
Лишние фишки не влияют на запуск. Переход запускается удале­
нием фишек из его входных позиций и образованием новых фишек
в его выходных позициях. Запуск перехода меняет маркировку
сети Петри. В результате получается новая маркировка М кото­
рая определяется следующим образом.
Пусть срабатывает переход dy тогда для всякой входной верши­
ны q
qi
2
h
2
t
ъ
t
M {q )=M(qi)-k
x
L
iJt
для всякой выходной вершины q.;
М^)
= M(qi) + k
jh
где ky - число дуг между q и dy т.е. k(q dj), ky - число дуг между
dj и q т.е. Щ, qj).
J
{
h
h
Если вершина q является и входной, и выходной для перехода
dj и ку = kji, то ее маркировка, очевидно, не меняется. В этом слу­
чае говорят, что пара (<?,, dj) образует петлю.
На рисунке 3.2а изображена сеть Петри с начальной маркиров­
кой Л/о = (1, 1, 0, 0, 0). В этой маркировке разрешен переход d\. По­
сле его срабатывания получается маркировка М\ = (0, 0, 1, 0, 0)
{рис. 3.26), и переход d становится разрешенным. Срабатывание
перехода d ведет к маркировке М = (0, 0, 0, 1, 1) {рис. 3.2в).
t
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 , а правая новую частичную маркировку согласно правилам функциониро­
вания сети Петри.
Существуют различные предстваления одной и той же сети
Петри:
1. Двудольный граф (рис. 3.3а)
2. Матрицы инциденций (рис. 3.36)
3. Система подстановок сети Петри:
y
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)}
4. Компактная запись в виде подстановок произведений имен q
на ку, причем кц - I не пишется, а кц * 1 изображается либо как
коэффициент, либо как степень.
2
3
2
2
h
t
d\.q\-^q
1-+2
2
d :q ^q
2
{
или
3
df- 42, Чъ -* Яь 42
2
1_> 3
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 } приводит к
маркировке Мз = (1, 0, 1).
2
о
<?i
—
1
*
di
2
=
©
q
2
—
]
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 называется
безопасной.
Сеть, в которой все позиции безопасны, называется безопасной.
На рисунке 3.7 позиция q\ небезопасна, т.к. в ней накапливаются
фишки. Такие позиции называются ловушками.
Дедлоки и ловушки. Дедлоком (deadlock) в сети Петри называ­
ется такое множество позиций Q, что *Q С Q*, т.е. все входные
переходы для множества Q являются его выходными переходами,
в результате чего ни один из них не может быть возбужден, если в
Q нет меток.
t
Ловушкой {trap) в сети Петри называется такое множество по­
зиций Q, что Q* С *Q, т.е. все выходные переходы для множества
Q являются его входными, в результате чего количество меток в
ловушке не может уменьшаться.
Согласно этим определениям между дедлоками и ловушками
есть следующая связь: если направления дуг в сети Петри изме­
нить на противоположное, то дедлок {*Q С Q*) станет ловушкой
{Q* Q *Q), и наоборот. Такие две сети называются реверсивными.
Не всякий дедлок приводит к наличию мертвых переходов в
сети Петри. Обозначим M{Q) сужение маркировки М на множе­
ство Q С В, т.е. маркировку множества Q.
В маркированной сети <С, М > дедлок Q называется опусто­
шаемым, если множество достижимости R{C, MQ) содержит такую
маркировку М е R{C, MQ), что M{Q) = 0.
Л е м м а . В сети Петри со свободным выбором мертвыми явля­
ются только те переходы, которые принадлежат множеству Q* вы­
ходов из опустошаемого дедлока.
Т е о р е м а К о м м о н е р а . Сеть Петри со свободным выбором
жива тогда и только тогда, когда каждый ее дедлок содержит мар­
кированную ловушку.
С л е д с т в и е . Сеть Петри со свободным выбором не имеет жи­
вой маркировки тогда и только тогда, когда она имеет дедлок, не
содержащий ловушки.
Сохранение. Сеть Петри <С, М > = <В, D, In, Out, MQ> назы­
вается строго сохраняющей, если для всякой достижимой из MQ
маркировки М € Я{С, М )
0
0
0
м
£ / =1..и (йд
= Е 2 =1.. M (qdИ
Q
В такой сети число фишек остается постоянным. Отсюда сле­
дует, что число входов в каждый переход должно равняться чис­
лу выходов, иначе срабатывание перехода изменит число фишек в
сети.
Требование строгого сохранения очень жесткое. Его обобщени­
ем является свойство сохранения по отношению к вектору весов и>:
w = {w w ,
w„),
где Wj - вес фишки в позиции q : Все фишки, находящиеся в пози­
ции q имеют один и тот же вес w,.
Сеть Петри <С, М > называется сохраняющей по отноше­
нию к вектору w = (w\, w ,..., w ), w,- > 0, n = \Q\, если для всех
M € R{C, MQ) выполняется уравнение:
J
h
2
{
h
0
2
n
Покрываемость
и принцип монотонности.
Маркировка М\
покрывает маркировку М, если каждая позиция в маркировке М\
имеет фишек не меньше, чем в маркировке М. Обозначение этого
факта: М\ > М.
С понятием покрываемое™ связано важнейшее утверждение
о свойствах сетей Петри, известное как принцип монотонности:
если MQ < Л/j, ТО множество достижимости R(C, MQ) С R(C, М\)
и все тайминги, допустимые в <С, М >, допустимы также и в
0
<С,
М >.
Г
Этот принцип непосредственно следует из правил функциони­
рования сети Петри и имеет ряд интересных следствий.
1. Если сеть квазиживая при маркировке М, то она квазиживая
и при маркировке М\ > М.
2. Если сеть ограничена (безопасна) при маркировке М\, то она
ограничена (безопасна) при маркировке М < М\.
3. Для любого конечного тайминга R = {d\,..., d } сети Петри
существует такая начальная маркировка MQ, ЧТО последователь­
ность R допустима в маркированной сети <С, MQ>.
Анализ сетей Петри по достижимости. Дерево достижимости
представляет своими вершинами множество достижимых маркиро­
вок. Его корнем является начальная маркировка MQ, дуги из кото­
рой ведут в непосредственно достижимые маркировки и помечают­
ся соответствующими переходами. Маркировки, непосредственно
достижимые из MQ, образуют первый ярус дерева достижимости.
Второй ярус состоит из маркировок, непосредственно достижимых
из первого яруса и т.д. В результате такой процедуры сеть Петри с
конечным множеством достижимых маркировок может иметь бес­
конечное дерево достижимости. Для ограничения размеров дерева
в процессе его построения выделяется несколько типов маркировок.
1. Маркировки (вершины дерева), в которых нет разрешенных
переходов, называются терминальными {пассивными или тупико­
выми).
2. Маркировки, ранее встречавшиеся в дереве достижимости,
называются дублирующими. Для них нет смысла рассматривать не­
посредственно достижимые маркировки, т.к. они уже есть в дереве.
3. Маркировки, для которых не построены непосредственно до­
стижимые маркировки, называются граничными.
4. Каждая маркировка классифицируется как терминальная,
дублирующая, граничная или внутренняя.
a
5. Кроме того, вводится расширенная маркировка, где число
фишек в позиции может быть.неотрицательным целым числом со,
обладающим следующими свойствами:
для любого а = co«st, со + а = со;со-о = со, а < со, со < со.
Символ со обозначает бесконечное число маркировок, получа­
ющихся в результате повторения одной и той же последователь­
ности переходов и совпадающих между собой, за исключением
некоторых позиций, в которых фишки накапливаются. Например,
пусть в результате срабатывания некоторой последовательности
переходов получаются маркировки. (1,0,0), (1,1,0), (1,2,0), (1,3,0) и
т.д. Такие маркировки изображаются одной вершиной дерева, с
которой связывается расширенная маркировка (1, со, 0).
Алгоритм
построения
дерева достижимости.
Рассмотрим
только схему алгоритма. Полное описание этой процедуры доста­
точно сложно. Ее разработке и совершенствованию до сих пор по­
свящаются специальные исследования.
Начальная маркировка Мо - корень дерева достижимости,
определяется как граничная вершина.
Для всякой граничной вершины х выполняются следующие
шаги:
1. Если в дереве есть другая вершина у, не являющаяся гранич­
ной и с той же маркировкой М -М ,
то х- дублирующая.
2. Если для маркировки М нет разрешенных переходов, то х терминальная.
3. Для всякого перехода dp разрешенного в М , образовать но­
вую вершину дерева достижимости с маркировкой М . Маркиров­
ка M определяется следующим образом:
а) если M (q,) = со , то M (q,) = со, где q позиция сети;
б) если существует переход dp который при каждом новом сра­
батывании только увеличивает маркировку позиции q и который
можно запустить произвольное число раз, то M (qj) = со;
в) если вышеуказанные способы не подходят, то
х
у
х
х
г
z
x
z
t
b
z
M (q,) = M (q,) + к(р если q eOut(dj).
z
x
t
4. Дуга, направленная от x к z, помечается переходом dp Вер­
шина х переопределяется как внутренняя, вершина z становится
граничной.
5. Алгоритм прекращает работу, когда все вершины дерева тер­
минальные, дублирующие или внутренние.
Очевидно, что алгоритм заканчивается через конечное число
шагов.
Сеть Петри и ее дерево достижимости показаны на рисунках 3.7
я 3.8.
Использование
дерева достижимости.
Важные свойства се­
тей Петри можно обнаружить или проверить по дереву достижи­
мости.
1. О г р а н и ч е н н о с т ь и б е з о п а с н о с т ь . Сеть Петри ограни­
чена тогда и только тогда, когда символ со отсутствует в дереве
достижимости; наличие же его означает, что существует последо­
вательность срабатываний переходов, которую можно запустить
произвольное число раз и увеличить число фишек до бесконечно­
сти. Положение символа со показывает, какие позиции являются
неограниченными, т.е. ловушками.
Отсутствие символа со в дереве достижимости означает, что
сеть Петри имеет конечное число достижимых маркировок. Это
позволяет анализировать сеть перебором множества достижимых
маркировок. Например, чтобы убедиться, что позиция q безопас­
на, надо построить дерево достижимости и удостовериться, что в
любой достижимой маркировке в позиции q находится не более
одной фишки.
2. С о х р а н е н и е . Свойство сохранения проверяется с помощью
дерева достижимости. Если вектор весов w известен, то для каж­
дой достижимой маркировки можно вычислить взвешенную сум­
му S - Yl i =\..п i Щя!)- Если сумма S одна и та же во всех верши­
нах дерева достижимости, то сеть Петри является сохраняющей
по отношению к данному вектору весов. Если суммы не равны сеть несохраняющая.
В случае, когда вектор весов неизвестен, для его отыскания
также можно использовать дерево достижимости.
Чтобы сеть была сохраняющей, вес фишек в позициях, от­
меченных символом со, полагается равным нулю. Если сеть со­
храняющая, то существует взвешенная сумма S и вектор весов
w = (и>1, и>2,
w„), соответствующий условию сохранения. Для
каждой достижимой маркировки можно записать уравнение:
{
t
w
W\M\ + W2M2 + ...+ WfjM,, = S.
Для к вершин дерева достижимости получится к линейных
уравнений с и +1 неизвестными. Добавив к ним ограничения w > О,
можно определить ограничения для компонент вектора весов. Реt
шая полученную систему уравнений и неравенств, можно устано­
вить, существует ли вектор весов и>, и если он существует, то ука­
зать его конкретное значение. '
3. П о к р ы в а е м о с т ь . В задаче покрываемости для данной мар­
кировки М требуется найти маркировку М\ такую, что My > М.
Это можно сделать перебором вершин дерева достижимости. Лю­
бая вершина х с М > М и есть нужная покрывающая маркировка.
Если такой вершины не существует, то М не покрывается никакой
другой достижимой маркировкой. Путь от корня дерева к покры­
вающей маркировке задает тайминг, который приводит к покрыва­
ющей маркировке.
Если в покрывающей маркировке есть компонента со, то в пути
от корня дерева к покрывающей маркировке имеется цикл. Для
получения покрывающей маркировки без символа со надо повто­
рить этот цикл достаточное число раз.
х
Неполнота дерева достижимости.
Наличие символа и в де­
реве Д О С Т И Ж И М О С Т И означает потерю информации о сети. Конкрет­
ное количество фишек не учитывается. В связи с этим две разные
сети могут иметь одно и то же дерево достижимости, т.е. задача
распознавания сетей Петри по дереву достижимости в общем слу­
чае не решается. Такие же трудности возникают при анализе сети
Петри на живость.
Матричный анализ сети Петри. Существует подход к анали­
зу сетей Петри, основанный на их матричном представлении. При
матричном подходе задача достижимости решается в общем слу­
чае, но имеются свои трудности и ограничения.
Принцип коммутативности. Пусть дана конечная последова­
тельность R = dj dj....dk dj... d допустимых переходов - тайминг сети Петри. Обозначим через г,- число вхождений перехода d
в тайминг R. Вектор R - {rj, г ,
г }, где т - число переходов
сети Петри, называется характеристикой последовательности R.
Из правил функционирования сети Петри следует следующее ут­
верждение - принцип коммутативности. Если R и R - два ко­
нечных тайминга, допустимые из маркировки М и имеющие рав­
ные характеристики R\ = R , то оба они, начавшись в М, приведут
к одной и той же маркировке М\.Это утверждение легко понять, но не следует забывать, что не
всякая перестановка переходов в последовательности R приведет к
допустимой последовательности R . Более того, принцип коммута­
тивности не имеет места и для бесконечных последовательностей
J
r
f
2
т
x
2
2
x
2
переходов. Значение этого принципа в том, что всему множеству
таймингов, ведущих из M B M можно сопоставить один вектор R.
Фундаментальное уравнение сети Петри. Будем рассматри­
вать маркировку М сети Петри как вектор-столбец длины п = \Q\,
характеристику R тайминга R - как вектор-столбец длины т = \D\,
а матрицы In и Out размером (п^т) - как матрицы преобразований
маркировки сети. Из правил срабатывания и принципа коммута­
тивности следует, что если маркировка М\ - результат действия
тайминга R с характеристикой R на маркировку М, то
h
Mi = М + OufR
- In*R
= М + (Out - In)*R
=М + D*R,
где операции «+» и «-» покомпонентные операции над векторами
и матрицами, а умножение «•» - умножение матрицы на вектор по
правилам линейной алгебры (алгебры матриц и векторов). Матри­
ца D = Out - In является матрицей инциденций сети Петри или ее
D-оператором, а уравнение
M =M
X
+ 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.
Справедливо следующее утверждение о бесконечных таймин­
гах.
Теорема
повторяемости.
Маркированная
сеть
Петри
<С, MQ> д о п у с к а е т б е с к о н е ч н ы й т а й м и н г R°°, е с л и и т о л ь к о е с л и
с у щ е с т в у е т д о с т и ж и м а я и з MQ м а р к и р о в к а М и п о в т о р я ю щ а я с я
п о с л е д о в а т е л ь н о с т ь R*, н а ч и н а ю щ а я с я в М.
Т а й м и н г R°° м о ж е т б ы т ь законным и незаконным. В з а к о н н о м
т а й м и н г е н и о д и н переход не м о ж е т бесконечно находиться в воз­
бужденном состоянии, так как это противоречит правилам функ­
ц и о н и р о в а н и я сетей Петри. Если имеет место такое явление, то
т а й м и н г R°° незаконный, так к а к рано и л и поздно возбужденный
переход сработает и прервет его. Итак, незаконный т а й м и н г явля­
ется в с е г о н а всего л о г и ч е с к о й к о н с т р у к ц и е й , к о т о р а я не м о ж е т
быть физически реализована. Говорят, ч т о незаконные т а й м и н г и
нереальны, и х м о ж н о н е у ч и т ы в а т ь п р и а н а л и з е .
Анализ ограниченности сети Петри. С в о й с т в о о г р а н и ч е н н о ­
сти сети Петри м о ж н о осмыслить к а к отсутствие решений урав­
н е н и я D»R = ДМ, г д е н е к о т о р ы е к о м п о н е н т ы в е к т о р а AM б о л ь ш е
н у л я . С п р а в е д л и в а с л е д у ю щ а я теорема ограниченности.
С л е д у ю щ и е т р и у с л о в и я , э к в и в а л е н т н ы д л я с е т и П е т р и без
маркировки:
1. С е т ь П е т р и о г р а н и ч е н а п р и л ю б о й н а ч а л ь н о й м а р к и р о в к е .
2. Н е с у щ е с т в у е т ц е л о ч и с л е н н о г о в е к т о р а R = {R\, R ,
R },
R^O,
R > 0, т а к о г о , ч т о D*R > 0.
3. С у щ е с т в у е т т а к о й ц е л о ч и с е н н ы й в е к т о р / = {f\, f ,
/„}, г д е
п - ч и с л о п о з и ц и й , ч т о f»D < 0.
2
2
T
2
J
M
С л е д с т в и е . Сеть Петри неограниченна тогда и только тогда,
когда существует такой вектор R = {R R ,...,
R }, т - число пере­
ходов, R v± О, R,- > О, что D»R > 0.
Неполнота D-onepamopa. Матричный анализ обнаруживает
глубокую связь сетей Петри с линейной алгеброй. Далее мы уви­
дим, что эта связь простирается и на системы уравнений Колмо­
горова - Чепмена, и на системы уравнений динамики сложных
стохастических систем, подобных описанным в разделе о динами­
ческой модели общего вида.
Возникает вопрос, можно ли представить сеть Петри только
.©-оператором. Оказывается, нет, и вот по каким причинам.
Во-первых, матрица D несет информацию только о разностях
элементов матриц Out и In. Это значит, что информация о весах
дуг сети Петри утеряна, если сеть неординарна. В ординарной
сети Петри все веса по умолчанию равны 1, а матрица D состоит
из нулей и единиц с разными знаками. Это, однако, не всегда
позволяет восстановить по матрице D саму сеть Петри.
Если в сети Петри есть петли, то есть пары дуг вида
[(qj,d,),(dj, qj)] с равными весами ку и кр дуг, то информация об
этих петлях исчезает, т.к. соответствующие элементы матрицы
D равны 0.
Итак, О-оператор может полностью представлять только орди­
нарные сети Петри без петель, так называемые чистые Сети Пе­
три. Это не мешает, однако, полностью представить историю сети
Петри, т.е. последовательность ее маркировок, по заданному допу­
стимому таймингу или по его характеристике.
Ливлоки. Напомним, что допустимая последовательность пе­
реходов в сети Петри называется таймингом.
h
Задание таймингов
сети Петри.
2
m
Можно ли дать конечное
описание бесконечного тайминга или их множества? Интуитив­
но ясно, что такое описание возможно, поскольку сама сеть Петри
представлена конечным описанием. Дадим дополнительные опре­
деления.
Последовательность символов некоторого алфавита А называ­
ется словом в этом алфавите. Множество слов в алфавите А, до­
пустимых по какому-либо правилу, называется языком в алфави­
те А, а само это допускающее правило - грамматикой языка. Не
вдаваясь в подробности, можно указать на две категории правил:
порождающая грамматика, описывающая генератор слов языка,
и распознающая грамматика, или синтаксис - система правил,
позволяющая выделить слова данного языка из множества произ­
вольных последовательностей символов. В частносоти, дискрет­
ный автомат при функционировании генерирует последователь­
ность символов своих внутренних состояний и выходов. Слово,
распознаваемое
или допускаемое дискретным автоматом, - это
последовательность входных символов, переводящая автомат из
начального состояния в некоторое выделенное допускающее со­
стояние.
I
Слова в алфавитах входном А, выходном В и состояний Q, рас­
познаваемые или порождаемые конечным автоматом, называются
регулярными
событиями.
Множество регулярных событий, порождаемое или распоз­
наваемое конечным автоматом, называется языком
регулярных
событий, или автоматным языком.
Например, язык, порождаемый накапливающим сумматором
по модулю 4 (см. пример 1.4), содержит все возможные последо­
вательности цифр из множества {0,1,2,3}. Язык, распознаваемый
этим сумматором, зависит от начального и допускающего состо­
яний. Если в обоих случаях это символ 0, то язык, допускаемый
сумматором по модулю 4, - все последовательности цифр из мно­
жества {0,1,2,3}, сумма которых кратна 4.
Итак, конечный автомат может задать и порождающую
грамматику, и синтаксис автоматного языка. С.К. Клини пред­
ложил язык регулярных
выражений (ЯРВ), на котором можно
описать любое множество регулярных событий (и, следова­
тельно, соответствующий автомат). Суть построений Клини в
следующем.
Пусть дан конечный алфавит А (в наших примерах кириллица
выделяется курсивом) и следующие операции над словами в этом
алфавите. (Кавычки « и » не входят в ЯРВ и применяются, чтобы
выделить символы ЯРВ.)
1. Конкатенация «•» (обычно не изображается), обозначающая
стыковку слов, например, мы»ло образует слово мыло.
2. Альтернатива «/», позволяющая описывать различные вари­
анты подслов в регулярном выражении. Например, ба(за/ня/ба/л)
описывает множество слов [база, баня, баба, бал}.
3. Скобки «(» и «)», ограничивающие область действия опера­
ций, как обычно в алгебре, а для их экономии вводятся еще и при­
оритеты операций { * старше • старше / } . Всякой открывающей
скобке «(» должна соответствовать закрывающая скобка «)».
4. Итерация «*», позволяющая описывать множества повторений
произвольной длины. Например, выражение: {да/нет)* задает множе­
ство слов: {да, нет, дада, нетнет, данет, нетда, дадада, нетнетнет,
данетнет ... и т.д. до бесконечности}, но (да)*(нет)* дает множество
слов {да, данет, даданет, дададанетнет, даданетнет, нетнет,
нетнетнет ... }. Обратите внимание на случайное чередование да
и нет в первом случае и на появление всех да перед всеми нет во
втором случае. Это связано с разной областью действия операции *.
5. Пустое слово «Ъ>, играющее роль единицы в полугруппе
слов в алфавите А. Операции с пустым словом ничего не меняют,
например, слово ваХ*за ~ ваза. Здесь смысл символа «=» обыч­
ный, и в язык регулярных выражений он не входит.
В абстрактной теории автоматов показано, что этих символов
достаточно для написания регулярных выражений (Р-выражений),
задающих любое требуемое множество регулярных событий
(Р-событий) и, следовательно, любой конечный автомат. Все при­
меры, которые мы привели при описании языка регулярных выра­
жений, этими выражениями являются. Напротив, выражение а(*в
не является регулярным, поскольку скобка ( открывается сколько
угодно раз и ни разу не закрывается.
Вернемся к таймингам. Ясно, что сеть Петри описывает парал­
лельный процесс и язык регулярных выражений недостаточен
для описания всего многообразия таймингов, одновременно ре­
ализуемых в сети Петри. Однако каждый отдельный последова­
тельный тайминг является регулярным событием, и, следователь­
но, для описания множества последовательных таймингов можно
применять регулярные выражения.
Ливлоки первого и второго рода. Рассмотрим тайминги сети
Петри, показанной на рисунке 3.9.
Рис. 3.9. Сеть Петри с ливлоком 1-го рода {d\ d$
и с ловушкой q\
Используя язык регулярных выражений, можно описать мно­
жество таймингов вида:
d\ d d ... d d d\ d . • • = (d\(d )*d )*.
2
2
2
3
2
2
3
Эти тайминги содержат все допустимые переходы и называют­
ся справедливыми по отношению ко всем переходам d\, d и d рас­
сматриваемой сети Петри.
Кроме того, существует тайминг вида:
2
3
не содержащий переход d , т.е. несправедливый по отношению к
d . Сформулируем эти понятия точнее.
Пусть в сети Петри допустимы два бесконечных тайминга R\ и
R . Тайминг R называется справедливым, если:
2
2
2
2
(d eR )^(d eR ),
i
x
i
2
Тайминг R несправедлив к переходу dj, если
2
0
dj € Ri и dj
R.
2
Говорят, что переход dj страдает от несправедливости тай­
минга R .
Вообще, тайминг R справедлив, если каждый переход dj, входя­
щий в какой-либо другой тайминг R , входит также и в R.
При этом можно выделить два типа несправедливости.
1. Если тайминг R возбуждает переход dj, но, не дав ему време­
ни сработать, снимает это возбуждение бесконечное число раз, то
такая несправедливость называется ливлок (livelock) первого рода.
2. Если тайминг R таков, что страдающий переход d ни разу
не возбуждается, хотя в множестве достижимости R(C, MQ) есть
возбуждающие маркировки, например, в R , то такая несправедли­
вость называется ливлок второго рода.
Согласно этим определениям тайминг {d\d )* для сети Петри,
показанной на рисунке 3.9, является ливлоком первого рода.
Редукция ординарных сетей Петри. Ординарные сети Петри достаточно общий класс сетей. Они изображаются двудольным
графом, где вес каждой дуги равен 1. Именно эти сети Петри име­
ют особое значение при анализе параллельных процессов.
Для ординарных сетей разработаны эффективные редукци­
онные методы анализа на живость и безопасность. Преобразо­
вание редукции уменьшает число вершин сети, сохраняя при
2
x
2
2
(
x
3
этом свойства живости и безопасности. Рассмотрим некоторые
из них. При этом используем обычные обозначения, принятые
ранее.
d dj - переходы,
q , qj - позиции,
*dj - множество входных позиций перехода dj,
dj* - множество выходных позиций перехода dj,
*q - множество входных переходов позиции q,,
qi* - множество выходных переходов позиции q .
1. Если два перехода dj и dj имеют одни и те же входные и вы­
ходные позиции *dj = *dj, dj* - dj*, то один из переходов удаляется
{рис. 3.10).
h
t
{
t
Рис. 3.10. Удаление избыточного перехода
2. Переход dj, для которого входные и выходные позиции со­
впадают (*dj = *dj), можно удалить из сети, если имеется другой
переход dj, такой, что d С *dj, d* с d*j (рис. 3.11). Для таких пере­
ходов dj говорят, что он и его входная-выходная позиции входят
в петлю ((qjdi), (dj,q,)). Петлю вместе с переходом можно удалить,
оставив только позиции, если они имеют другие связи с перехода­
ми.
t
{
Рис. 3.11. Удаление перехода из петли
87
3. Если для позиции q выполнены три условия {рис. 3.12):
1) q не входит в петлю,
2) q - единственная либо входная, либо выходная позиция для
всех смежных переходов,
3) q имеет хотя бы один выходной переход с непустым множе­
ством выходов,
то позиция q и ее входные и выходные переходы удаляются из
сети, вместо них в сеть добавляются новые переходы, так что каж­
дой паре переходов d dj, для которой dj* = *dj = q соответствует
переход dy, причем *dy = *d dy* = dj* (рис. 3.12).
u
h
Рис. 3.12. Удаление позиции, единственной для всех
смежных переходов
4. Маркированная позиция, для которой множества входных и
выходных переходов совпадают, удаляется из сети (рис. 3.13).
Рис. 3.13. Удаление маркированной позиции из петли
5. Если две позиции q, и qj имеют одинаковые множества вход­
ных и выходных переходов, то одна из них удаляется (рис. 3.14).
Редукция сети Петри состоит в поочередном применении ука­
занных правил до тех пор, пока это возможно. Следует заметить,
что рассмотренный здесь набор правил не единственный. Он мо-
жет и расширяться, и сужаться, например, за счет обобщения пре­
образований редукции.
Рис. 3.14. Удаление одной из позиций, имеющих
общую окрестность
Характерной особенностью приведенного набора правил явля­
ется то обстоятельство, что при анализе сети для каждой верши­
ны просматривается окрестность радиуса не более двух. Соответ­
ственно, алгоритмы редукции имеют временную сложность 0(« ),
где п - число позиций и переходов. Напомним, что мощность мно­
жества достижимых маркировок имеет оценку 0(2" ).
Редукция нормализованных сетей Петри. Редукция ординар­
ных сетей Петри значительно снижает сложность анализа живости
и безопасности. Более того, существует очень важный для анализа
параллельных процессов класс нормализованных сетей Петри, для
которого преобразование редукции является достаточным.
Нормализованная
сеть Петри - это такая ординарная сеть
Петри, которая имеет единственную «головную» позицию 1 и
единственную «хвостовую» позицию N. Ее функционирование
начинается с маркировки <1,0,0,...,0,0> и если эта сеть живая и
безопасная, то она достигает маркировки <0,0,0,...,0,1>. После это­
го функционирование сети начинается вновь с начальной марки­
ровки. Общий вид такой сети Петри в начальном состоянии пока­
зан на рисунке 3.15.
2
/3
Рис. 3.15. Нормализованная сеть Петри
89
Т е о р е м а р е д у к ц и и . Редукция нормализованных живых i
безопасных ординарных сетей, для которых в начальной марки
ровке имеется только одна размеченная позиция 1, идет до полу
чения единственного перехода \—Л.
Строго это утверждение доказано только для а-сетей (рис. 3.16)
т.е. таких сетей, в которых конкуренция переходов за метки в позици
ях устроена по принципу все или ничего: (*d (~\*dj * 0) —»(*d =*d ).
f
f
;
Рис. 3.16. Редукция а-сети
П р и м е р 3.1. Редукция сети Петри. Редуцируем сеть Петри
изображенную на рисунке 3.17.
Рис. 3.17. Редукция нормализованной сети Петри
Последовательное применение преобразований 5, 1, 3, 3 не при­
водит к сети, содержащей единственный переход 1 —> 1. Отсюда
можно заключить, что исходная сеть не жива и небезопасна.
3.3. Каузальная сеть (К-сеть)
Определение каузальной сети. Каузальная сеть - это мар­
кированная сеть Петри, в которой для каждого перехода задана
интенсивность события-перехода, как функция от маркировки
входных позиций перехода. Вид этих функций зависит от пред­
метной области и задается отдельно в каждом конкретном слу­
чае. Потоки событий-переходов простейшие, т.е. стационарные
(интенсивности меняются медленно), ординарные и без после­
действия.
Каузальная сеть - это двудольный граф G = <Q, D, In, Out, М, R>,
где Q = {qj | i = 0, 1,
n) - множество позиций, соответствую­
щее множеству состояний, на которых определены все автоматы;
D = {dj\j=
1, 2,
т} - множество переходов автоматов из со­
стояния в состояние; In - функция предшествования, ставит в
соответствие каждой паре (qj, dp неотрицательное число к у > 0,
где kjj - вес дуги из позиции qj в переход dj, если соответствующей
дуги нет, kjj = 0; Out - функция следования, ставит в соответствие
каждой паре (dj, qj) неотрицательное число kjj > 0, где kjj - вес
дуги из перехода dj в позицию qj, если соответствующей дуги
нет, kjj = 0; M = {Nj | z'=l, 2,..., п) - вектор маркировки, задаю­
щий число автоматов, находящихся в момент времени / в каждом
из состояний множества Q; R = {pj(M (*dj)) | j =1,
т) - век­
тор-функция интенсивностей переходов, определяющая среднее
число срабатываний перехода dj в течение одного такта или число
таких срабатываний в единицу времени, зависящее от маркировки
множества *dj - входных позиций перехода.
Функция pj(M (*dj)) для перехода dj в простейшем случае яв­
ляется линейной. В этом случае, если *dj содержит несколько
позиций, то находится позиция q £ *dj с минимальной марки­
ровкой Nj - и тогда интенсивность перехода dj равна pjN ; ,
где pj - вероятность перехода dj одного элемента системы. В бо­
лее сложных случаях интенсивность перехода может задавать­
ся нелинейной функцией. Например, если для взаимодействия
двух атомов в растворе необходимо их столкновение, то вероятt
t
t
t
t
т т
t
m n
ность такого события пропорциональна произведению плотно­
стей этих атомов.
Позиция qo^Q называется внешней, имеет сколь угодно боль­
шое или единичное (если надо) значение маркера NQ, не меняет
его при переходах и может не изображаться на рисунке графа. Со­
стояния автоматов и позиции множества {q \ i = 1,
п) назовем
собственными. Граф G изображает причинно-следственные связи
между состояниями автоматов и интенсивности этих связей.
В отличие от канонической сети Петри множество весовых
коэффициентов дуг К-сети - это положительные действительные
числа, приписанные входным и выходным дугам 7-го перехода:
ку или kji, соответственно. Точно так же мы будем допускать дей­
ствительные числа в качестве маркеров Nj для позиций. Это позво­
лит маркировать сеть вероятностями состояний автоматов и изба­
виться от целых чисел. В таких случаях будем считать популяцию
счетным множеством.
Описание К-сети. Описание К-сети - это статическая часть маркировка MQ В начальный момент времени / = 0 - и динамиче­
ская часть - описание переходов. Каждый переход d,- описывается
тремя выражениями: 1) перечисление множества *dj с коэффици­
ентами кц, 2) перечисление множества dj* с коэффициентами Ау,-;
3) интенсивность pj(M (*dj)) перехода и 4) тип перехода. В общем
случае описание перехода - это выражение вида
t
t
*dj >dj*: pj(M (*dj)):
t
тип.
Внешнее состояние в описании не присутствует, так что
допустимы переходы с пустой левой или правой частью.
3.4. Д и н а м и ч е с к и е модели популяций
Как и сеть Петри, К-сеть может использоваться для модели­
рования сложных систем, состоящих из множества взаимодей­
ствующих элементов - популяций. Абстрагируясь от природы
популяции, будем называть ее элементы автоматами. Саму же
динамическую модель, построенную на основе К-сети, будем на­
зывать К-моделью. Этот последний термин - синоним термину
К-сеть, но подчеркивает динамический характер и модельную
функцию К-сети.
К-модель мобилизации. Проще всего пояснить основные идеи
популяционного моделирования на примере. Рассмотрим, наприJ
92
мер, замкнутую «популяцию», которую представим как популя­
цию автоматов-особей с двумя состояниями Ж (живая) и М (мерт­
вая). Вероятность гибели особи (перехода из Ж в М) в течение
одного такта равна р. Живая особь может поглотить одну мертвую
и разделиться на двух живых или, иначе говоря, оживить мертвую
особь. Вероятность этого события в течение одного такта равна
q. Временем на поглощение и деление можно пренебречь по срав­
нению со временем поиска добычи. В популяции определены два
перехода: гибель, независимая от состояния популяции, и восста­
новление, возможное только при наличии одной живой и одной
мертвой особи. С целью экономии обозначений будем иногда за­
писывать функцию времени X(t) в виде X или вообще не указы­
вать этот индекс без необходимости. В этих обозначениях началь­
ное состояние популяции: MQ = {Жд, MQ).
Предложенная К-модель имеет массу различных интерпрета­
ций. Это и модель заселения мест (М) экологической ниши живы­
ми (Ж) организмами, и модель замены отказавших узлов системы
(М) исправными узлами (Ж), это и модель спасения раненых на
поле боя живыми бойцами, это, наконец, модель мобилизации
призывников (М) теми, кто уже призван в армию (Ж), причем при­
зывники активно избегают призыва - «умирают». Последняя ин­
терпретация позволяет называть описанную популяцию моделью
мобилизации, как это принято в экономической литературе. Авто­
маты этой модели мы будем называть особями.
Зададим для начала модель мобилизации с линейными интен­
сивностями переходов. К-сеть для модели мобилизации показана
на рисунке 3.18.
t
Рис. 3.18. Каузальная сеть линейной модели мобилизации
Описание этой популяции, пригодное для ввода в компьютер:
Ж = Ж ,М=М ;
Ж > М:рЖ, линейно;
Ж, М> 2Ж: q-тЩЖ, М], линейно.
Здесь запятая « , » - разделитель между элементами множеств.
Знак « > » - разделитель между входами и выходами перехода.
Знак « : » - разделитель между переходом и его интенсивностью.
Знак « ; » - разделитель между целостными частями описания.
Выражения рЖ и <7Тшп{Ж, М) - интенсивности, т.е. среднее чис­
ло особей, погибших и восстановленных в течение одного такта
соответственно. Точка « . » завершает описание.
Интерпретация предложенного описания популяции зависит
от единицы времени. Если единица времени достаточно мала, то
р « 1 и q « 1 - вероятности переходов в течение такта, а рЖ и
q-mm{M, М) - среднее число автоматов, изменяющих состояние
за такт. Если единица времени велика, то р и q - интенсивности
переходов одного автомата, а величины рЖ или q-хт^Ж, М] это интенсивности допустимых переходов на всем множестве
автоматов, готовых к переходу. В первом случае мы имеем
синхронную модель популяции, во втором - асинхронную.
Классификация К-моделей. К-модели классифицируются по
нескольким критериям.
Во-первых, следует выделить линейные и нелинейные модели
взаимодействий. Эти модели, как было указано выше, отличаются
видом функций интенсивностей переходов Pj{M (*dj)),
Во-вторых, о сложности модели можно судить по числу состо­
яний и автоматов, участвующих в одном акте взаимодействия и в
переходе.
• В-третьих, К-модели различаются по составу моделируемой по­
пуляции.
Все эти различия решающим образом влияют на моделирова­
ние популяций и, следовательно, требуют более содержательного
описания.
Линейные и нелинейные взаимодействия. Линейные взаимо­
действия таковы, что интенсивности pj(M (*dj)) пропорциональны
минимальным маркерам N в M (*dj). Линейные модели адекват­
ны в тех случаях, когда интенсивность перехода является имма­
нентным свойством каждого отдельного автомата. Так, в нашей
гипотетической популяции способность восстанавливать мертвую
особь присуща только части особей, находящихся в состоянии Ж,
0
0
t
t
it
t
j
но если уж эта способность есть, то она реализуется, и эта реали­
зация единственна в данном такте.
Иной способ понимания свойства линейности К-модели - по­
ложить, что взаимодействия между автоматами являются даль­
не-действующими, т.е. взаимосвязи (отношение соседства) между
элементами системы можно представить полным графом. Рассмо­
трим, например, боевое столкновение двух воюющих сторон 1 и 2
в чистом поле, когда каждый «живой» боец видит каждого «жи­
вого» противника и может поразить его из дальнобойной винтов­
ки, т.е. перевести его в состояние «мертвый». Пусть N\u N ~ чис­
ленности «живых» с обеих воюющих сторон в данный момент
времени, радвероятности попадания в противника у стрелков
соответствующих сторон,
- численность «мертвых». Общая
численность мест, занятых всеми живыми и мертвыми солдатами,
равна N = N\ + N + N .
Линейная К-сеть такого столкновения показана на рисунке 3.19.
В ней два перехода d\,d и три позиции 1, 2, М.
2
2
M
2
р • min {N , N }
x
2
q • min {N,, 7V }
2
Рис. 3.19. Линейная К-сеть боевого столкновения
Маркировка М, этой К-сети задается тройкой {N\, N , N^}, а
интенсивности уничтожения противников (число врагов, убитых
каждой стороной в каждом такте времени) вычисляются по следу­
ющим формулам:
2
PyiMl*d ))
x
p (M{*d ))
2
= (N
Pl
u
N}
N) = g m i n ^ ,
N },
2
=p№,
2
N )=p-mm{N
b
2
2
2
где p\(N\, N ) - интенсивность перехода d\ из N в M, p {N\, N ) интенсивность перехода d m.N\ в M. Член min{./Vi, N } отражает
тот очевидный факт, что число одновременных выстрелов не мо­
жет превышать ни числа видимых противников, ни числа стреля­
ющих. Этот член может появиться в сети автоматически. Таким
образом, чтобы задать линейные переходы, достаточно указать
только их вероятности (в данном случае р и q).
Нелинейные популяции таковы, что pj(M (*dj)) зависит от степе­
ней и произведений маркировок N из M (*dj). Нелинейная модель
адекватна, если интенсивность перехода пропорциональна вероят­
ности возможных благоприятных сочетаний, причем все эти соче­
тания и соответствующие переходы могут быть реализованы в од­
ном такте с заданной вероятностью. Так, в рассмотренной модели
мобилизации следовало бы учесть вероятность «встречи» одной
живой и одной мертвой особи, точнее попадания мертвой особи
в поле зрения живой. Такая вероятность будет пропорциональна
произведению плотностей взаимодействующих автоматов. Тогда
интенсивность восстановления будет пропорциональна величине
Ж-M/N.
По аналогии с линейной популяцией можно представить нели­
нейный случай как близкодействующее взаимодействие автома­
тов. При этом взаимодействие происходит на некотором конечном
расстоянии. Это расстояние можно задать коэффициентом, имею­
щим смысл эффективного сечения или зоны, в которой только и
возможно взаимодействие. Будем называть эту зону областью дей­
ствия для действующего автомата и областью
восприимчивости
для автомата, подвергающегося воздействию. В случае взаимодей­
ствия двух автоматов область действия и область восприимчиво­
сти совпадают и могут называться областью
взаимодействия.
Так, в модели боевого столкновения следует полагать, что ору­
жие (например, меч или копье) не обладает бесконечной дальностью
поражения. Для обеих воюющих сторон дальность поражения, т.е.
область действия, может быть различной и задается коэффициента­
ми V\ 2 и V \. Теперь для того, чтобы задать интенсивность взаимо­
действия, мало задать вероятности р и q. Необходимо домножить их
на коэффициенты V\
^2,1
значение N\N /N, которое задает
интенсивность встречи двух близкодействующих бойцов.
2
2
2
t
it
t
2
и
>2
2
2
и
н
а
2
2
Величину N[N /N можно получить автоматически, а зна­
чения коэффициентов pV\ и qV ,\ следует задать «руками».
Ясно, что эти задаваемые величины теперь уже не обязаны быть
вероятностями, и могут превышать единицу. Более того, и ито­
говые интенсивности взаимодействий pVx^ N\N IN и qV ^N\N IN
могут превышать единицу, т.е. не быть вероятностями. Этот
случай соответствует порождению новых автоматов в системе.
Нелинейная К-сеть боевого столкновения показана на рисун­
ке 3.20.
2
2
2
2
pV N
h2
t
N IN
2
2
2
2
qV N,N IN
v
2
Рис. 3.20. Нелинейная К-сеть боевого столкновения
Простые популяции. Сложность популяции задается числом
взаимодействующих автоматов в каждом переходе. Полезно выде­
лить более простые случаи.
Простые популяции таковы, что взаимодействуют только пары
автоматов. Каждый переход инициируется одним или двумя со­
стояниями, а простой .©-оператор, состоящий из нулей и единиц,
может быть с разными знаками. В столбцах матрицы D находится
не более двух единиц, как в примере с «особями».
Простейшая популяция - это простая линейная популяция.
Автоматная популяция - это простейшая популяция, в кото­
рой все элементы являются автономными вероятностными авто-
матами. Этот случай относится к ранее развитому методу динами­
ки средних.
Динамика К-сети. Граф, который мы назвали К-сетью, - это
статическая модель популяции автоматов. Она задает только при­
чинно следственные связи между элементами системы автоматов.
Динамическая модель популяции - К-модель - определяется функ­
ционированием К-сети. Функционирование К-сети подобно не­
сущей сети Петри с учетом интенсивностей переходов, а именно:
переход dj срабатывает только тогда, когда маркировка его входа
такова, чтоM(*dj) >In(dj). В нашем примере: Ж > 1 и т т { Ж , М] > 1.
При срабатывании перехода маркировка на его входе умень­
шается, а на выходе увеличивается в соответствии с *dj и dj*.
В нашем примере переход Ж > М: рЖ уменьшает маркировку
Ж позиции Ж и увеличивает маркировку М позиции М на рЖ, а
переход Ж, М > 2Ж: д - т т { Ж , М] уменьшает Ж на дтшп{Ж, М},
уменьшает М н а д - т т { Ж , М) и увеличивает Ж на 2д-тт{Ж, М}.
Пусть N =^2 N - численность популяции в момент /, P = N /N i=\
доля автоматов, находящихся в момент t в состоянии
При
N —>даэто вероятность пребывания автомата в г-ом состоянии.
Вектор-функция Р, = {P | i = 4 ,
п} задает динамику популяции
в среднем или ее поведение.
Уравнения динамики средних для замкнутой популяции.
Пусть R = d\, d , d , d ,
d - допустимая последовательность
переходов К-сети. Рассмотрим только тот случай, когда сеть тако­
ва, что каждый из ее переходов неоднократно найдется в последо­
вательности R при достаточно длительном наблюдении. Вектор R
длины т, в котором j-я компонента - это число вхождений пере­
хода dj в последовательность R, называется характеристикой по­
следовательности R, или характеристикой динамики К-сети. Взяв
период наблюдения К-сети за единицу времени, мы отождествим
характеристику R и вектор-функцию R = {pj(M (*dj)) \j = 1,..., т}
интенсивностей переходов. Пусть теперь R - вектор-столбец дли­
ны т, характеризующий динамику (число переходов) К-сети за
единичное время. Тогда вектор-столбец RAt - характеристика ди­
намики за время At.
При описании К-моделей общего вида мы использовали обозна­
чение Nj для числа автоматов, находящихся в состоянии г. Чтобы
не загромождать запись уравнений буквой N, ее можно опускать, и
t
it
it
t
it
2
3
4
s
t
it
t
тогда имя i состояния будет обозначать и число автоматов в этом
состоянии, как это обычно принято в элементарной алгебре. С той
же целью экономии обозначений мы записываем функцию време­
ни X(f) в виде Xt.
Функции In и Out для К-сети задаются (гсх?77)-матрицами инциденций, где строкам соответствуют позиции сети (кроме внеш­
ней), а столбцам - переходы. Элементы этих матриц значения ку и
kjj, соответственно. Вектор-столбец i f задает интенсивности пере­
ходов, и его длина равна длине строки матриц In и Out. Наглядно
это демонстрирует рисунок 3.21.
In
d\ d
2
Out d,
d
D
2
d\
Ж
1
1
Ж
0
2
Ж -1
м
0
1
м
1
0
м
d
2
1
1 -1
R={pfW*dj))\j=\,2)
р-Ж
q-тЩЖ, M)
Рис. 3.21. Матричное описание К-сети для популяции автоматов-особей
Динамика К-сети (К-модель) задается матричным уравнением
К-сети, аналогичным фундаментальному уравнению сети Петри:
Д М = Out • RAt - In • RAt = (Out - In) »RAt = D* RAt,
где Out - In = D - оператор изменения маркировки сети, или
D-оператор (от Derivative - производная); AM - вектор-столбец
длины п - изменение маркировки сети при срабатывании любой
допустимой последовательности переходов с характеристикой
RAt; • - матричное умножение.
Устремим At к нулю и заменим его на дифференциал dt. Тогда
и Д М станет величиной более высокого порядка малости по отно­
шению к М: Д М = о(М), и ее тоже можно заменить на dM. Теперь
можно перейти к дифференциальному виду и записать дифферен­
циальное уравнение динамики средних для К-сети в векторном
виде:
dMldt = D*R.
Приравняв производную нулю, получим уравнение для стацио­
нарного режима:
D • R = 0.
Кроме этих уравнений для замкнутых популяций справедлива
нормировка
3
E,-=] J и = 1, или, что то же, 1,^ „N = N.
jt
Особенностью полученных линейных систем является тот
факт, что уравнения в них могут быть расщепляемыми.
В нашем примере с популяцией особей имеем систему
где каждое из уравнений расщепляется на два различных уравне­
ния, действующих в зависимости от соотношения значений Ж и
М. Поскольку популяция замкнута и N = Ж + М' = const, эти два
дифференциальных уравнения сводятся к одному
dWdt = g-min {Ж, N-Ж}-
рЖ,
которое расщепляется на два уравнения и интегрируется.
Если в К-сети найдется т переходов, меняющих интенсивности
как функция min{x, у}, то система из т уравнений даст 0 ( 2 ) ва­
риантов систем в соответствии с различными наборами значений
функций min{x, у}. При этом популяция может иметь несколько
различных стационарных состояний.
Анализ этой модели будет, проведен далее в разделе о модели­
ровании простых популяций в связи с анализом различных вари­
антов модели мобилизации.
Растворы и смеси. До сих пор мы задавали интенсивности пе­
реходов непосредственно или, как говорят, «руками». Попытаемся
автоматизировать подсчет интенсивностей переходов в К-моделях
популяций. Будем полагать, что моделируемые популяции сильно
перемешаны, т.е. за время моделирования каждый автомат может
оказаться в любом месте с одинаковой вероятностью независимо
от расстояния до него.
Что касается линейных взаимодействий, то формулы для ин­
тенсивностей переходов, представленные в разделах о К-модели
мобилизации и линейных взаимодействиях, в комментариях не
нуждаются и их вычисление всегда можно провести автоматиче­
ски. Нелинейные взаимодействия, однако, допускают различные
интерпретации и способы вычисления интенсивностей. Для про­
стоты рассмотрим только простые нелинейные популяции, по­
скольку результаты легко обобщаются на нелинейные популяции
общего вида. Выделим два типа популяций: раствор и смесь.
т
Популяция типа раствор представляет собой равномерное раз­
мещение взаимодействующих автоматов во множестве мощности
N мест, большинство из которых - места, не содержащие взаимо­
действующих автоматов. Примерами таких популяций в биологии
являются популяция белых медведей и птиц, которые не собира­
ются в одном месте для воспроизводства. Проблема таких попу­
ляций - низкая вероятность встречи, если ареал расселения велик
по сравнению с численностью популяции. Вероятность встречи
самца и самки может оказаться меньше, чем вероятность смерти
отдельной особи, и популяция вымирает из-за малой численности
в большом ареале расселения.
Популяция типа смесь собирается для взаимодействия в огра­
ниченной области, как, например, птичьи базары, пассажиры в
трамвае или покупатели в магазине. Так что вероятность взаимо­
действия данной пары не зависит от общего числа мест, а зависит
только от количества автоматов собравшихся вместе для взаимо­
действий.
Ясно, что в сложных популяциях различные взаимодействия
могут происходить по-разному: и линейно, и как в растворе, и как
в смеси. Поэтому тип популяции может быть (и чаще всего бы­
вает) смешанным, а характеристики (линейный, раствор и смесь)
относятся далее не ко всей популяции, а отдельно к каждому вза­
имодействию. Рассмотрим интенсивности переходов для различ­
ных типов взаимодействий. Для экономии слов будем употреблять
термины «раствор» и «смесь» достаточно вольно. Например, бу­
дем говорить о взаимодействиях или переходах в растворе или в
смеси.
Пусть тройка (i,j,k) обозначает переход автомата из состояния j
в состояние к под воздействием автомата, находящегося в состоя­
нии z, ap(ij,k) - вероятность такого перехода. При этом число авто­
матов в состоянии / не изменяется, если / ^ к. Будем полагать, что
каждый автомат занимает ровно одно место в пространстве, где
«живет» популяция. Общее число таких мест равно N. При этом
часть мест может быть пустой, т.е. популяция как бы «растворена»
во множестве мощности N. Пусть теперь /V,- - число автоматов в
состоянии г; N^ - интенсивность перехода (i,j,k), т.е. число авто­
матов, совершающих этот переход в каждом такте моделирования;
Vy - область взаимодействия для перехода (i,j,k) - число мест в
окрестности состояния г (или j), в которые должны попасть оба ав­
томата / и j , чтобы взаимодействие состоялось. Ясно, что области
взаимодействия состояний i и j одинаковы, т.е. Vy = Vj . Следует
также иметь в виду, что области Vy должны быть порядка одного
места: V : « 1, чтобы можно было пренебречь их пересечениями.
K(i,j,k)= p(i,j,k)Vjj - интенсивность перехода (ij,k) для одной
пары автоматов, попавших в область взаимодействия размера Vy в
состояниях i
Наша задача состоит в вычислении общей интенсивности
перехода Ny^ для различных типов взаимодействия. В рас­
творе плотность автоматов в состоянии j равна pj = Щ /N, об­
щий объем области взаимодействия равен Vy min{iV„ Nj}. Пусть
•Nj = min{Nj, Nj}. Тогда число взаимодействующих автоматов рав­
но % = Vy т В Д , Nj}x = У .Щ/М.
Отсюда следует, что для взаимодействия в растворе
Njj^pUkyVyNjNj/N
= K(iJ,k)-NjNj/N.
Точно те же рассуждения для взаимодействия в смеси приводят к
выводу, что значение N следует заменить на сумму (Л,- + NJ), посколь­
ку в этом случае оба взаимЪдействующих множества автоматов
«растворены друг в друге», а прочие автоматы роли не играют. Так,
для заражения гриппом больные и здоровые люди должны встре­
чаться в каком-нибудь тесном месте, например в офисе, чтобы обме­
няться вирусом, а прочие обстоятельства - размер города или всей
страны - роли не играют. Итак, для компактного взаимодействия
t
i}
P j
(/
7
Njjk-piiJ.kyVijNjNjW+Nj)
-KmkyNjNjW+Nj).
Другой способ получения этих же формул состоит в следующем.
Коль скоро pj = Nj/N - плотность состояния j в объеме N, то веро­
ятность встречи двух состояний i и у в области взаимодействия Vy
близкой к единице объема, равна N/Nj /N . Тогда во всем объеме N
состоится NjNj/N встреч, вероятность события-перехода в момент
встречи равнаp(i,j,k), а интенсивность перехода K(i,j,k) = p(i,j,kWij,
где Vy - коэффициент, учитывающий, что взаимодействие про­
исходит на некотором расстоянии между автоматами. Интенсив­
ность перехода K(i,i,k) может превышать 1, и обычно она является
эмпирическим коэффициентом. Очевидно, что величина K(iJ,k)
для одной пары автоматов - это параметр взаимодействия, кото­
рый следует задать «руками», а остальная часть формулы для ин­
тенсивности перехода может быть вычислена автоматически, если
указать тип перехода.
Инвариантность К-моделей. Поведение популяции мы опре­
делили как вектор-функцию P = {P \ i = 1,
п} вероятностей
2
t
it
состояний, зависящую от времени. Очевидно, что поведение лю­
бой популяции не зависит ни от единиц измерения времени, ни от
ее точной численности. Поэтому будем говорить, что две векторфункции P и Р\ инвариантны и задают одно и то же поведение,
если одна из них переходит в другую при смене масштаба време­
ни и/или численности. Такие преобразования масштабов назовем
масштабированием.
Соответственно, модели, порождающие ин­
вариантное поведение, эквивалентны. Рассмотрим условия, при
которых такая инвариантность возможна.
Обратим внимание, что матрица D имеет как положительные,
так и отрицательные элементы. Положительные элементы зада­
ют прирост (+ANJ) числа автоматов в состоянии j . Отрицательные
элементы матрицы D - убыль числа автоматов (-ANJ) в этом со­
стоянии. Мы предполагали ранее, что эти приращения меньше,
чем общее число автоматов: |ДЛ^| « Щ, для всех j = 1,
т, так
что этим самым обеспечивается достаточная точность вычисле­
ний. При этом графики функций в переходном режиме доста­
точно гладкие, т.е. не имеют точек излома и смены направления
роста Nj для всех j = 1,
т. Невнятный термин «достаточно»
станет понятен при анализе конкретных моделей популяций.
Пока предположим, что для данной К-модели существует макси­
мальный вектор R
= {pj (M (*djj)
\j=\,...,m]
интенсивно­
стей переходов, такой, что выполняется |АА^-| « T V , и обеспечива­
ется достаточная точность вычислений и гладкость графиков Nj
для всех j = 1,
т.
К-модели имеют следующие свойства, которые можно сформу­
лировать как теоремы.
Масштабируемость. Т е о р е м а м а с ш т а б и р у е м о с т и . К-мо­
дели масштабируемы. Это значит следующее:
1. Вектор-функцию R
интенсивностей переходов можно ум­
ножать на число 0 < г < 1 без изменения стационарного поведения
популяции.
2. Компоненты вектора MQ МОЖНО одновременно умножать на
произвольное действительное число s > 0 без изменения стацио­
нарного поведения популяции.
Нормировка. Т е о р е м а н о р м и р о в к и . Если в замкнутой К-мо­
дели сумма всех (кроме NQ) компонент вектора M равна 1, то
M = P — вектор вероятностей ее собственных состояний.
Эти утверждения справедливы в силу исходного предполо­
жения, что все потоки событий в системе простейшие, т.е. плотt
t
MAX
max
t
t
max
T
T
t
ность вероятности события и интенсивность потока событий
связывает соотношение dp. = Xdt. Другим, уже чисто математи­
ческим, основанием для утверждений об инвариантности и веро­
ятностях состояний является тот факт, что изменение масштаба
времени или численности популяции эквивалентно умножению
матриц In, Out, D, R и M на одно и то же число, что не меняет
характер решения соответствующих уравнений (кроме, разуме­
ется, масштабов).
Вектор-функция R = {pj(M (*dj)) \j =1,
т} интенсивно­
стей переходов может быть проинтерпретирована как вектор
вероятностей переходов, только если такт At и, соответственно,
компоненты вектора R достаточно малы. В этом случае модель
популяции допускает' компьютерное моделирование методом
At, где за величину приращения времени At берется один такт,
и каждое новое значение Nj вычисляется потактно. Это ничто
иное, как численное интегрирование дифференциальных урав­
нений динамики средних для популяции. Такая модель называ­
ется синхронной.
Масштабируемость имеет место только для стационарного со­
стояния К-модели. Дело в том, что если потактные изменения ANj
будут слишком велики, то возникнет эффект малой точности вы­
числений в переходном режиме. В результате процесс моделиро­
вания может «проскакивать» малые изменения Щ. Модель станет
слишком грубой, и это исказит график функции Nj нарушит его
гладкость.
Однако компоненты вектора R могут и превышать единицу, как
в уравнениях Колмогорова - Чепмена или в уравнениях динами­
ки средних с интенсивностями потоков событий. Соответственно
такие модели называются асинхронными, и могут превращаться в
синхронные модели умножением на подходящее число 0 < г < 1
согласно теореме об инвариантности. Асинхронная модель не мо­
жет быть непосредственно реализована методом At, однако она
имеет свои методологические преимущества. Преобразование из
синхронной модели в асинхронную и обратно допускает теорема
конвертируемости.
Конвертируемость. Т е о р е м а к о н в е р т и р у е м о с т и . Умно­
жением R на подходящее число г > 0 можно превращать синхрон­
ную, модель популяции в асинхронную, и наоборот.
Могут ли синхронные модели, реализуемые методом At, иметь
компоненты вектора R, превышающие 1? Как будет показано ни• j
104
t
t
t
h
же, такие модели могут возникать, например, для растущих попу­
ляций.
Соразмерность. Соразмерность - еще одно свойство векторфункции P = {P I / = 1,
п), которое следует из теоремы инва­
риантности. Напомним, что при определении
интенсивности
перехода (ij,k) использовались вероятности переходов p(ij,k), ко­
торые являются исходными характеристиками системы и задают­
ся «руками».
Т е о р е м а с о р а з м е р н о с т и . Вероятности p(ij,k) входят в вы­
ражения для P и N соразмерно, т.е. так, что если умножить все
эти вероятности на одно и то же действительное число г > 0, то
формулы для P и N (согласно свойству масштабируемости) не
изменятся, т.е. число г сократится.
Следствие
теоремы
соразмерности.
Если поведе­
ние Р, популяции зависит только от двух вероятностей p\(ij,k)
и p2(ij,k), то оно зависит только от их отношения v = p\(ij,k)/
2(iJ,k)- На это интересное свойство стохастических моделей мы
обратили внимание еще при изучении систем массового обслу­
живания.
t
it
it
it
it
it
P
3.5. Метод компьютерного моделирования популяций
Предметом настоящего раздела является метод моделирования
простой популяции автоматов, функционирующей в дискретном
времени Т= 1, 2, 3,
t, ... с помощью компьютерной программы
«Популяция». Вообще говоря, такие системы можно моделиро­
вать линейными или нелинейными системами дифференциальных
уравнений. Для решения этих уравнений можно использовать из­
вестные численные методы, писать программы или использовать
готовые системы прикладных программ. Проблема состоит в вы­
сокой трудоемкости этого пути. Между тем построение требуе­
мых уравнений и их численное решение - настолько стандартная
процедура, что можно ограничиться только заданием К-сети. Кро­
ме того, в дидактических целях программа должна быть простой,
легко управляемой и давать наглядные результаты в виде графи­
ков и массивов результатов моделирования.
Моделирование простых и автоматных популяций. Пусть
N- количество автоматов, п - число состояний, в которых может
находиться каждый из автоматов. При этом каждый конкрет-
ный автомат не обязательно имеет все п состояний. Популяция
может состоять из автоматов различных классов, отличающих­
ся набором состояний и поведением. В каждом г'-ом состоянии
пребывает Nj автоматов, так что N = N\ + N + ... + N (п - на­
туральное, Nj - неотрицательное действительное при / = 1,
п).
Использование действительных чисел вместо целых позволяет
не задавать очень большие числа Nj и избежать погрешности при
округлении. В конечном итоге нас все равно интересует только
динамика или поведение популяции. При этом можно использо­
вать статистические вероятности и другие статистические харак­
теристики.
В каждом такте, то,есть через заданный промежуток времени,
количество автоматов в j-м состоянии изменяется или остается
тем же. Это происходит следующим образом. Некоторое состоя­
ние i влияет на состояние j и переводит его в состояние к с ин­
тенсивностью K(i,j,k). Множество всех таких интенсивностей - это
трехмерный массив
2
n
Р = {K(i,j,k) | j = \..n,j = 1..и, к = 1-я}.
Это означает, что Nj автоматов, находящихся в состоянии /,
влияют на Nj автоматов, находящихся в состоянии j , и переводит
при взаимодействии в растворе при i =j:
M =K{i,j,k)
ijk
при нелинейном взаимодействии в смеси:
где7=1,
п, то есть одно i-e состояние может воздействовать на
множество 7-х. Соотношения (N,Nj)
N
(N,Nj)
NN
i
J
задают
2N
вероятность встречи автоматов в г-м и j-м состояниях в единичном
объеме.
Обратим внимание, что если никаких других состояний, кроме
i и j , в системе нет, то Nj + Nj = Л , и интенсивности переходов в
растворе и смеси совпадают. Кроме того, при условии / = / с теми
же состояниями может взаимодействовать только половина авто­
матов раствора, а область взаимодействия сократится вдвое, что
и отражено в формулах. В смеси это обстоятельство учитывается
автоматически, поскольку Л,- + Nj = 2Nj = IN.
При линейном взаимодействии условие i = j означает, что авто­
мат, находящийся в состоянии г, самостоятельно переходит в со­
стояние к независимо ни от каких других автоматов. Если все пе­
реходы в популяции линейные, и для всех переходов i = j , то имеет
место линейная автоматная популяция, которую мы исследовали с
помощью автономных вероятностных автоматов (см. марковские
модели систем в главе 2).
При нелинейном переходе условие / =j означает, что для взаимо­
действия необходима встреча двух автоматов в г'-м состоянии, один
из которых перейдет в к-е состояние с интенсивностью K(i,i,k).
Если при переходах автоматов из одних состояний в другие
общее число автоматов N неизменно, то популяция является зам­
кнутой. В замкнутой популяции можно получить статистические
вероятности состояний автоматов Pj = Nj /N.
Интерес представляют открытые популяции, где возможно
удаление автоматов и появление новых. Для записи этих действий
используется внешнее, или 0-состояние q$, обозначаемое симво­
лом «*». Будем считать, что автоматов, находящихся в 0-состоянии, всегда достаточно для реализации переходов, а численность
0-состояний не меняется.
Появление новых автоматов происходит под воздействием уже
существующих. Автоматы, находящиеся в состоянии i, добавля­
ют в состояние j новые автоматы с интенсивностью K(i*,j). Ко­
личество появившихся автоматов равно K(i,*,j)Nj при всех типах
взаимодействий. Отметим, что при порождении новых автоматов
интенсивность - это любое число, соответствующее числу «по7
7
томков». Например, пусть рыба мечет 5 тысяч икринок, состояние
с - самка, готовая метать икру, и - икринка, 0 - внешнее состоя­
ние. Тогда К(с*, и) = 5000.
".
Удаление автоматов, находящихся в состоянии j , происходит
под воздействием уже существующих автоматов, находящихся
в некотором z'-м состоянии. Удаление происходит с интенсивно­
стью К (zj,*), т.е. автоматы в z'-м состоянии «убивают» автоматы
в j-м состоянии с вероятностью p(i, j , *) в окрестности взаимо­
действия.
.
В общем случае может оказаться так, что число автоматов,
удаляемых из состояния г, будет больше, чем их находится в этом
состоянии. В этом случае удаляются только TV,- автоматов из чис­
ла находящихся в состоянии /, т.е. получается N = 0. Эта возмож­
ность учтена в формулах для числа удаляемых автоматов. Кро­
ме того, в программе моделирования популяций предусмотрен
сторож, не допускающий значения /V,- < 0. Обратим внимание,
что теорема инвариантности на случай получения N < 0 не
распространяется.
Итак, изменение количества N автоматов в такте / имеет вид:
t
t
it
N,{t +l) = N + AN , где Д/V,- =V - If + R
it
где:
it
t
-
u
-
n n
V. =
M
;=i k=]
- число автоматов, перешедших в z'-e состояние
jkj
1
в такте t;
п
п
I . = y^Jy^mm\N ,M \j
Hk
число автоматов, покинувших z'-e
состояние в такте t;
п
R. = ^2Nj-K[j,*,i)
- число автоматов, «родившихся» в г'-м
состоянии.
Здесь Мук вычисляются по формулам, приведенным выше.
Чтобы получить среднее количество автоматов в каждом состо­
янии на (г*+1)-м шаге, необходимо воспользоваться этими форму­
лами t раз.
108•J
Несмотря на ограниченность данного подхода, класс модели­
руемых популяций включает множество интересных систем, до­
пускающих множество интерпретаций в различных предметных
областях. Можно было бы попытаться найти общий метод аналити­
ческого решения подобных задач и в переходном, и в стационарном
режимах. Мы ограничились описанием аналитических методов по­
иска стационарных состояний сложных систем, если это возмож­
но. Причина такого ограничения в том, что пособие и программа
написаны не математиками и не для математиков, а инженерами
для инженеров и информатиков, а также и для любых специали­
стов, пытающихся применить точные методы в своей предметной
области. Имея программу «Популяция», достаточно описать по­
ведение отдельных элементов исследуемой системы в их связи с
другими элементами, и получается модель, которая легко моди­
фицируется и быстро дает наглядные результаты. При этом будет
представлено и поведение популяции в переходном режиме. Это
уже немало в тех предметных областях, где господствуют каче­
ственные рассуждения. Особенно это касается гуманитарных наук.
Интерфейс программы «Популяция». Итак, в нашем распоря­
жении имеется метод математического и компьютерного модели­
рования сложных систем, который уместно назвать популяционное
моделирование. Метод популяционного моделирования был реа­
лизован программой «Популяция» для линейных и нелинейных,
простых и автоматных популяций, таких, что все переходы в них
могут быть заданы фразами вида:
«Состояние / переводит состояние j в состояние к с интенсив­
ностью K(i,j, к). Тип».
Имея это в виду, будем далее записывать переходы К-модели
выражением вида
i:j>k;K;Q\\\2,
где, соответственно: /, j , к - имена состояний: действующего, ис­
ходного и результирующего, К - интенсивность перехода, а числа
О, 1 и 2 - альтернативные описания типа перехода: линейный, рас­
твор и смесь.
Интерфейс программы состоит из двух форм: исходная и резуль­
тирующая. Исходная форма предназначена для задания начально­
го состояния, количества тактов, момента начала моделирования и
таблицы переходов (их интенсивности, типа и задержек). Описание
исходной формы представлено на рисунке 3.22. Меню «Файл» по­
зволяет сохранять, открывать и редактировать введенные задания.
f4§ П о п у л я ц и я v2.5
Файл ?
Начальные д
• - внешнее
вид перехода
простой
сохраняющий
Количество СОСТОЯНИЙ
[Состояние
*Лсаг
It количество
валяющий
остаточный
ингибитор
Общее ко­
личество
состояний
[-Запуск
Количество шагов
Описание
начального
состояния
(название
состояния,
количество
автоматов)
лмнейньй
0
3
6
3
12'
раствор
1
1
1
10
13
смесь
2
5
8
11
!<
Таблица типов
перехода
Номер первого
такта
Описание
переходов
Кнопка отображе­
ния результата
Количество
тактов
времени
Рис. 3.22. Главная форма программы
Исходные данные о задаче записываются в текстовой файл при
нажатии кнопки «Сохранить как» меню «Файл». Формат записи
следующий.
1. Первая строка - количество состояний п.
2. Следующие 2п строк - имена состояний и их начальное ко­
личество.
3. Одна строка - к + 1, где к - количество строк в «Матрице пе­
реходов».
4. Следующие 1к строк - строки «Матрицы переходов» как
они описаны выше. Внешнее состояние задается знаком «*». При
этом числами в позиции «Тип перехода» следует задать только
нелинейные переходы. Линейность предполагается по умолча­
нию.
5. Множество состояний и начальное состояние системы зада­
ется в левой части исходной формы. Множество переходов - в пра­
вой. Над таблицей переходов имеются подсказки к заданию типов
состояний и переходов: «Тип перехода: 0 - линейный, 1 - раствор,
2 - смесь» и т.д. согласно таблице на главной форме.
Кнопка «Запуск» предназначена для начала вычислений. Окна
«Номер первого шага» и «Количество шагов» позволяют управлять
счетчиком тактов. Например, начинать моделирование историческо­
го процесса с некоторой даты в течение заданного числа лет. Кноп­
ка «Графически» вызывает результирующую форму (рис. 3.23).
Графики
численности
популяций
Панель
управления
результатами
-1
100
150
200
г
\
2S0
р
300
350
«ОС
S50
600
650
700
I' Д£
750
вЗО
Табличное потактовое отображение
количества автоматов
9.912
;9 740
; 9.413
10 ООО ~11 роо_
J16564 J17 424
J250K
1Э.9Л
0000 SSB8
9988 :9 999
J1D.092 jmW"'ji"o'aJ6~
И . IULBII—И
. Ш» .IU-HU 1ЦЛ1 HU6VTil 192
'Таого'
ID ООО ^59977 " 104.D64jl41.621 J72.6Z9_]TS7.52n 217005 ^231 90В j243055 251.204 257.007 261 DB3 J263624 1265.211 j266.025 :266.269 ;2ББ094 [265615 1264918
[S0Q0DD " 5 о а о к ! 5 Ю 5 з е Т е т : а г е " 5 1 4 . б 1 э "
'557755' [553673"
НО.С00 [444099 |4Ш.547 '!з56.839 -319.204 2e7.B56'262 410 ^4207B 22Б019 213407_*2ГО518 J19574S-11S3598 ; 184 692 jl 90730 :177484 '174 779 1172488 !l7O506
Г
!
Рис. 3.23. Представление результатов моделирования
Настройка результирующей формы позволяет задавать цвет
фона, крайние значения по осям графика, видимость графиков,
цвет, толщину и тип линий. Есть возможность увеличивать части
графика, для этого надо выделить увеличиваемую область левой
кнопкой мыши из левого верхнего угла в правый нижний угол QV).
Чтобы отменить увеличение, надо выделить левой кнопкой мыши
область в других направлениях ft, Щ. Результаты (графические
и численные) можно сохранять или вызывать кнопками сохране­
ния и вызова на панели управления результатами. Графики сохра­
няются в формате ACDSee 7.0 BMP Image. Численные результаты
сохраняются в текстовом формате.
Для лучшего понимания рекомендуется самостоятельно и с по­
мощью программы «Популяция» рассмотреть функции переходов
w&рисунках 3.24, 3.25, 3.26, 3.27.
Рис. 3.24. К-сеть линейного перехода а: * > b; 1; О
В результате в каждом такте Ъ прирастает на а, а а не изменя­
ется.
Рис. 3.25. К-сеть линейного перехода а: Ь> с; 0,5, 0
В результате а не изменяется, а все автоматы из состояния Ъ
перейдут в состояние с.
d
<
V
/
>
1
к
Рис. 3.26. К-сеть линейного перехода: а: Ъ > Ъ; К, 0
При К > 0 , Ь>0, о > 0 в сети ничего не изменится.
d
Рис. 3.27. К-сеть линейного перехода а: а>Ь; 0,5,0
Уравнения динамики средних: da /dt = - 0.5а; db /dt=0.5a.
В результате в каждом такте а будет уменьшаться в е ' раз, а Ъ со­
ответственно увеличиваться.
05
Дополнительные возможности К-моделирования. Ранее
рассмотрено использование только простых переходов, изобра­
женных на рисунке 3.28. Однако некоторые очевидные измене­
ния в программе «Популяция» значительно расширяют возмож­
ности моделирования. Добавленные виды переходов изображены
на рисунках 3.29, 3.30, 3.31, 3.32. Это сохраняющий, удаляющий,
остаточный и ингибиторный переходы. Итак, имеем.
1. Простой переход, описанный правилом: «Состояние Л перево­
дит состояние В в состояние С с интенсивностью К по типу 0, 1, 2».
2. Сохраняющий переход не изменяет число состояний в обеих
входных позициях, что позволяет моделировать, например, гипер­
болический рост с обострением. Его правило «Состояния А и В не
изменяются, но порождают новые состояния С с интенсивностью
К по типу 3, 4, 5».
3. Удаляющий переход извлекает маркеры из обеих входных
позиций, как это делается в стандартной сети Петри. Его правило
«Состояния А и В исчезают и порождают новые состояния С с ин­
тенсивностью К по типу 6, 7, 8».
4. Остаточный переход - модификация простого перехода, та­
кая, что изменяют свои состояния все те автоматы популяции,
которые не изменили его в аналогичном простом переходе. Его
правило «Состояние А переводит в состояние С те автоматы, кото­
рые находятся в состоянии В, но не перешли бы в состояние С при
простом переходе. Интенсивность К; типы 9, 10, 11».
5. Ингибиторный переход, дополнительный к простому:
«Если в области действия нет состояния А, то состояние В пе­
реходит в состояние С с интенсивностью К по типу 12, 13, 14».
Здесь состояние А играет роль не инициатора, а ингибитора, за­
прещающего переход.
Рис. 3.28. К-сеть простого перехода а: Ь> с: к: тип 0, 1, 2
Число состояний а сохраняется, b - убывает, с - увеличивается.
Рис. 3.29. К-сеть сохраняющего перехода а, b:>c:t. тип 3,4, 5
Число состояний а и Ъ сохраняются, с - увеличивается. Внеш­
нее состояние «*» не записывается в переход.
Рис. 3.31. К-сеть остаточного перехода а:Ь>е: к: тип 9, 10,11;
в комбинации с простым переходом а: Ъ > с: к: тип 0, 1, 2
Число состояний а сохраняется, все автоматы из Ъ переходят в
с и е.
d
к
Рис. 3.32. К-сеть перехода с ингибитором а:Ь>с: к. тип 12,13,14
Число состояний а сохраняется, Ъ - убывает, с - увеличивается.
Ингибитор изображен стрелкой с кружком на конце.
Все эти переходы могут работать линейно, в растворе и в сме­
си. Соответствующие указания для программы даются в столбце
матрицы переходов {рис. 3.22) «Тип перехода». Линейные пере­
ходы имеют номера 0, 3, 6, 9; переходы в растворе - 1, 4, 7, 10; в
смеси - 2, 5, 8, 11. Таким образом, имеется три типа и пять видов
переходов, отличающихся способом подсчета интенсивностей.
В результате получается следующая таблица возможных перехо­
дов в простых К-моделях (табл. 3.1).
Таблица 3.1
Виды и типы переходов программы «Популяция»
Вид перехода
Простой
Сохраняющий
Остаточный
Удаляющий
Ингибиторный
Линейный
0
3
6
9
12
Тип перехода
Раствор
1
4
7
10
13
Смесь
2
5
8
11
14
Кроме того, допустимы и временные запаздывания действую­
щих состояний К-модели. Например, число повзрослевших осо­
бей в популяции определяется не наличным числом рожденных,
а рожденными некоторое время назад, определяемое возрас­
том взрослой особи. Соответствующие задержки указываются в
столбцах Задержка 1 и Задержка 2 матрицы переходов.
Все эти возможности отражены в главной форме интерфейса
программы «Популяция» (рис. 3.22).
3.6. Моделирование п р о с т ы х популяций
Модели простых популяций имеют множество полезных интер­
претаций в различных предметных областях. Этот параграф по­
священ освоению К-сетей и К-моделей на самых простых популяционных задачах: модели роста и модели мобилизации. Изложение
сопровождается рисунками, полученными с помощью программы
«Популяция», на которых видна не только результирующая форма
программы с графиками, но и ее исходная форма с данными для
представленных графиков. Более сложные модели студент будет
строить, самостоятельно решая задачи, предлагаемые в конце кни­
ги.
Напомним для начала метод популяционного моделирования математического и компьютерного моделирования сложных си­
стем. Метод реализован для простых систем, где все переходы мо­
гут быть заданы фразами:
«Состояние i переводит состояние j в состояние к с интенсив­
ностью K(i,j, к); тип».
\
Имея это в виду, мы договорились записывать переходы К-мо­
дели выражением вида
/:у>*;*;0|1|2,
где, соответственно: i, j , к - имена состояний: действующего, ис­
ходного и результирующего, К - интенсивность перехода, а числа
О, 1 и 2 - альтернативные описания типа перехода: линейный,
раствор и смесь.
Разумеется, допустимы совпадения имен i = j , i = к, j = к,
i =j = к.
1. При нелинейном переходе (1|2) тройка (г: i > к) означает, что
автоматы из состояния i переходят в состояние к под воздействием
других автоматов, находящихся в том же состоянии i.
2. Интерпретация других случаев совпадений в тройке (i: i > к)
понятна из предыдущего и может быть освоена экспериментально.
3. Возможно рассмотрение открытых популяций, где при­
сутствуют появление и гибель автоматов. Для этих целей введе­
но внешнее состояние *. Рождение описывается вероятностью
р(г: * >j), смерть - вероятностью p(i: j > *).
4. При линейном переходе тройка (i: i > к) означает самостоя­
тельный переход автомата из состояния i в состояние к.
Далее мы рассмотрим некоторые простые модели.
Модели роста. Начинать изучение компьютерного'моделиро­
вания сложных систем следует с простых К-моделей. Таковыми
являются модели роста. Они содержат всего один переход и дают
возможность детально изучить и понять, как работает программа
«Популяция». Показаны анализ и моделирование модели роста в
ее различных вариантах: линейный, раствор, смесь. Это можно
рассматривать как пример и инструкцию к решению задач, дан­
ных в конце учебника.
Разнообразие моделей роста возникает, во-первых, из природы
самих предметных областей, а, во-вторых, из разнообразия типов
•<
переходов. Между тем эти модели, как уже отмечалось, могут со­
держать интенсивности, превышающие 1. Это создает трудности
для их анализа и синтеза.
Для начала введем основные параметры роста. Пусть a и
- число автоматов, находящихся в состоянии а в моменты
дискретного времени tat+l.
Показателем, или скоростью роста, назовем величину к, ко­
торая входит в определение процесса роста и не изменяется со
временем.
Для линейного роста a \ = а$ + kt.
Для экспонециального роста a,+i = а^к* или а,+\ = a§e .
Ресурсом роста назовем некоторое множество автоматов в со­
стоянии Ь, из которых создаются новые автоматы в состоянии а.
Обычно ресурс роста ограничен.
t
t+
kt
•
Линейный рост с неограниченным ресурсом.
Модель линей­
ного роста популяции с неограниченным ресурсом роста может
быть представлена линейным переходом а:* > Ъ; к, 0; где новые
автоматы в состоянии Ъ возникают из внешнего состояния «*»,
с постоянной скоростью ка, заданной числом родителей а и ин­
тенсивностью к, число родителей а не изменяется. Этот рост на­
блюдается при производстве каких-либо предметов (автоматов в
состоянии Ь) одним и тем же производителем (автоматом в состо­
янии а), причем ни число производителей, ни их производитель­
ность не изменяются, а материалы для производства берутся из
внешней среды в неограниченном количестве. К-сеть такого про­
изводства показана на рисунке 3.33.
d
Рис. 3.33. К-сеть линейного перехода а: * > Ъ; к; 0.
b = b + ка* t, а не изменяется
Q
Дифференциальное уравнение линейного роста имеет вид
dbldt = ка, откуда следует линейное решение b = b(, + kat, где
ка - скорость роста. На рисунке 3.34 представлены исходная и ре­
зультирующая формы программы «Популяция», соответствую-
щие линейному росту Ъ, при Ъ§ = 0, а = 2, к = 3. Здесь теоретиче­
ское и модельное поведение системы совпадают.
S3
^ П о п у л А в т "2.1
Файл ?
•Начальные денные—
Количество состояний
•Матрица перркодовгСостояние j переводит сост-е j e c ^ ^ ^ e Интенсивность Тип перекода
Состояние Количество автомагов
а
|2
Основные j Линии)
Цвет Фона ) • сМШ*
•Ось абсцисс—
Минимальное
значение
Максимальное
значение
F
3
"3
"3
рОсь ординат
Минимальное
значение
Максимальное
значение
гг-з
Q Сохранить картинку
J Сояранить данмые
^ ) Загрузить данные
|0
б
с
|1
0.000
J6.000
0.000
10.000
|2
3
2.000 :гооо
12.000 18.000
о.ооо
0.000
|<
|5
;гооэ |г.ооо
Т Ш ю О 130,000
jo.ooo
ioooo
в
17
2.000 12.000
36.000 И2.000
о_ооо_]о роо
:
8
2.000
48.000
0.000
|3
|10
12.000
2.000
'154.000 60.000
jo.ooo
0.000
Рис. 3.34. Линейный рост продукта (б) со скоростью 6
для а = 2, к = 3 на протяжении пяти тактов Т = 5 (фрагмент).
Уравнение роста: б = бо + 3at, при бо = 0, а = 2
Линейный рост с ограниченным ресурсом. В реальных систе­
мах, или биологических, или экономических, ресурсы роста огра­
ничены. Тогда новые элементы системы (с) делаются производите­
лями (а) из автоматов ресура (Ь) со скоростью к, что записывается
как линейный переход а: Ь> с; к, 0; а не изменяется, а все автома­
ты из состояния Ъ перейдут в состояние с со скоростью к.
К-сеть показана на рисунке 3.35.
J
118
-
о
Рис. 3.35. К-сеть перехода a: b>c;k,0
Уравнения линейного роста с с ограниченным ресурсом Ъ вы­
глядят так:
с - CQ + kt-mm{a,b\,
b = 6g -min{ktmm{a,b}, b}.
Функция min появляется из-за того, что рост ограничен, как
числом производителей, так и ресурсами, а расход ресурса не мо­
жет быть больше, чем его остаток.
Рассмотрим случай, когда а < Ь. Тогда уравнения динамики
имеют вид:
с = CQ + kat,
b = Z>o - min{kat, b}.
Это значит, что скорость прироста определяется числом произ­
водителей, и имеет место линейный рост со скоростью ка до тех
пор, пока условие OQ < Ъ не будет нарушено, после чего скорость
роста изменится и будет определяться уже ресурсом.
График такого роста за 7 тактов при а = 3, к = 4, bo = 29, CQ = О
показан на рисунке 3.36. Обратим внимание, что график убывания
ресурса надламывается на втором такте, что говорит о том, что с
этого момента рост ограничивается не числом производителей, а
оставшимся ресурсом.
Кроме того, стационарное состояние с = 36 превышает bo = 29,
т.е. то, что могло быть произведено. Это значит, что наша модель
требует дополнительного рассмотрения. Дело в том, что скорость
расхода ресурса меняется скачком именно в том месте, где нару­
шается условие а < Ь. Рассмотрим ограниченный рост при условии
а>Ь.
При условии а > b уравнения динамики роста выглядят так:
с = CQ + kbt,
b = bo - min{kbt, b).
Согласно этим уравнениям скорость роста определяется ресур­
сом, причем на каждую единицу ресурса производится к единиц
продукта. Показатель роста к изменил смысл, и если к >1, то такой
режим может существовать только 1 такт. Вот почему в последнем
такте роста нашей модели получается неточный и даже нелепый
результат для стационарного режима.
Чтобы избежать такой ошибки ресурс следует задавать в
количестве производимых предметов, и он должен быть крат­
ным скорости роста к. Осмысленный результат при а > Ь полу­
чается, если к < 1. Тогда в каждом такте продукта производит­
ся меньше наличного ресурса. График этого процесса дан на
рисунке 3.37.
ПопуяАвт vZ.i
Файл ?
[-Начальные д а н н о е
-
Кол«ество состояний
3
Состоя^Колигеетво автоматов |'
г-Матрмца периедое—
Состоим* | первмоит сост-е в состояние j И мтенсивность Типлерехода
4
a
.6
с
|
j
J
|
|
^Рсзупьт
Рис. 3.36. Линейный рост с ограниченным ресурсом b при а = 3,
скорости к = 4 и начальном состоянии Ь = 29, CQ = О
0
^ П о п у л Д е т vZ.l
Файл ?
(-Начальные данные
-
Количество состояний
Состояние Количество аетоматов|
Состояние переводит сост-е в состояние Интенсивность Тип перехода
а
б
с
0.5
flgРезультат
Основные Ливии |
S3.S
3
-Свойства
W Видимость
{ • dBlack
J
Si
Стияь!
точек!
d
'jo 5J|0
3
Сохранить картинг,*}
J Сохранить данные
j Загрузить данные
а
б
с
9
30.000
0.057
25943
10
|11
|12
30.000 30.000 30.000
0.014
0.007
28.972 J28.986 I2B.9S3
от
13
30.000
0.004
28.936
14
115
30.000 130.000
0.002 10.001
28.998 J28.939
16
30.000
о.ооо
29.000
17
30.000
0.000
29 000
r
18
30.000
0.000
iaooo
19
|20
30.000 130.000
оооо
(о.ооо
21000 123.000
Рис. 3.37. Линейный рост с ограниченным ресурсом Ъ
и умеренным его потреблением при а>Ь,к<\
Нелинейный рост с ограниченным ресурсом.
Линейный рост
с ограниченным ресурсом отражает ситуацию, когда ресурс роста
находится «под руками» и его не надо искать или добывать. Если
же это не так, и ресурс надо искать, то рост описывается нелиней­
ными переходами - раствор и смесь.
Рост в растворе происходит, когда продукт с находится в той
же куче, что и ресурс, и производитель. Такова, например, ситу­
ация, когда все эти объекты представляют собой множество жи­
вотных, типа пауков «черная вдова», из которых надо выбрать
подходящую пару (производитель-самка, ресурс-самец). В конце
брачных игр черная вдова пожирает самца, поскольку он явля­
ется одноразовым и больше не пригоден для воспроизводства.
Подходящей интерпретацией является и популяция лососей, где
родители погибают при нересте и превращаются в корм для по­
томства.
Рост в смеси происходит, когда продукт производства выводит­
ся за пределы популяции и не участвует в процессе производства.
Ограничимся этим случаем.
Рост в смеси задается нелинейным переходом a: b > с; к, 2.
К-сеть не отличается отслучая линейного роста с ограниченным
ресурсом. Единственное отличие - тип перехода. Ясно, что стацио­
нарный режим вырождается: Ь ± = О, с
= Ьц и с + Ъ = Ъ§, а = а^.
Дифференциальные'уравнения динамики средних получаются
из произведения D • R.
s
с
Они имеют вид £).R
=
ац
с т а ц
•11 kab
1 Уа + Ь)
db/dt = - kab/(a+b\
dc/dt = каЪ/(аЩ.
На рисунке 3.38 показаны кривые нелинейного роста при тех же
условиях, что и на рисунке 3.36: а=Ъ,к = 4, &о 29, CQ = 0, но теперь
процесс идет без надломов, астационарный режим соответствует
начальным условиям.
=
Экспоненциальный рост с гибелью родителей. Экспоненциаль­
ный рост возникает, когда новые автоматы сами становятся родите­
лями, а не приходят из внешнего мира. Этот рост экспоненциален и
описывается, например, следующим линейным переходом
a:a>a;k,0.
(3.1)
Здесь задано уничтожение всех а автоматов-родителей (состо­
яние а) и порождение ка новых автоматов в том же состоянии а
при каждой реализации перехода. Таким образом происходит уве­
личение числа родителей в к раз в каждом такте. При этом сами
родители погибают - делятся пополам {рис. 3.39), что характерно
для клеток и одноклеточных организмов.
Согласно формуле (3.1) соответствующее дифференциальное
уравнение имеет вид
da/dt = ка,
:
kt
а его решение - это уравнение экспоненциального роста а, = a -e .
j
122
0
Файл >
{Начальные данные
Количество состояний
Состояние Количество -автоматов
Состояние [переводят сост-е je состояние Интенсивность |Типперехода
6
•
\
а
i23
;с
-1
1
1
\2
j
!
Рис. 3.38. Нелинейный рост в смеси для перехода а: Ъ> с; к, 2.
Параметры: а$ = 3,к - 4 и начальное состояние Ь$ = 29, CQ = О
На первый взгляд это теоретическое решение не соответствует
кривой роста, полученной методом моделирования и показанной
на рисунке 3.39 при OQ = 1, /с = 2. Однако, воспользовавшись теоре­
мой масштабирования, мы можем домножить единицу времени на
величину 1п2/к, а за такую единицу времени величина а удвоится,
как это показано на рисунке 3.39.
Построим дискретную
динамическую кривую роста. В
данном случае показатель роста равен к. При срабатывании
перехода (3.1) происходит следующее преобразование величины а:
а, \ = а, - тт{а/, к a,} +ka .
+
t
При к < 1 имеем ka < a , откуда a +\ = a = OQ, И никакого роста
нет.
При к > 1 имеем a \ = ka .
Эта рекуррентность порождает ряд значений а:
t
t
t+
t
t
t
1
2
a
OQ = аок°, а\ = аок ' а = «о^ . i
2
=
1
а^к?,..., a = а^к ,...
t
При Л: = 2 получается удвоение числа а на каждом шаге про­
цесса, что наглядно демонстрирует рисунок 3.39.
viirmiT.rmr-ttMHMHMHHHHHHHMMMHHMHHHBiiiiTi
г—i-rra
Файл ?
г-Начапьные данные
Количество состояний
•Матрица переходов"
Состояние [переводит сост-е |в состояние Интенсивность
|Г
-
Состояние Количество автоматов I
ж 3
Основные | Линии |
Цвет Фона
'Ось абсцисс
Минимальное fg"*
значение I
Максимальное 15
значение I
Минимальное I
Максимальное Н а ­
значение '
0
1
-*1
•3
"3
Сохранить картинку
& Сохранить данные
J Загрузить данные
2.000
4.000
Рис. 3.39. Экспоненциальный (с основанием 2) рост популяции
в линейной К-модели (а: а, а; 2; 0) и с коэффициентом размножения к = 2.
Величина а удваивается на каждом шаге
Посмотрев на рисунок 3.40, мы можем убедиться, что при
к = 1,01 процесс роста происходит в хорошем соответствии с экспонентой по основанию е. В данном случае коэффициент масшта­
бирования практически равен 1п2.
г-ЦПопулАет v2.1
j Файл ?
-Начальные да!
Количество состояний
|з
Состояние переводит сост-е |в состояние [Интенсивность J Тип перехода
Рис. 5.40. Экспоненциальный (с основанием е) рост популяции
в линейной К-модели (а: а, а; 1.01; 0) с малым коэффициентом
размножения. Величина е достигается
на 100-м шаге
Экспоненциальный
рост с сохранением
родителей.
Теперь
можно рассмотреть и другие линейные модели экспоненциаль­
ного роста. Если родители не погибают, но пополняются детьми,
то подходит модель, заданная линейным переходом а: * > а; к, 0.
В данном случае при извлечении новых автоматов из внешнего
состояния «*» родители не гибнут. Так происходит рост числен­
ности популяций многоклеточных растений и животных. Процесс
экспоненциального роста с коэффициентом к описывается рекур­
рентностью at+l = at + к at = (1+ k)at, а она в свою очередь порож­
дает последовательность:
1
2
щ = й (1+ к)°, а = а (1+ к) ', а = о (1+ к) , ...,а,=
0
х
0
2
0
1
а (1+ к) , ...
0
При подходящем масштабировании эта последовательность
моделируется экспонентой с основанием е и показателем роста к
Таким образом, на рисунке 3.40 изображен еще и процесс роста
без гибели родителей, но только при к = 0,01.
Модели мобилизации. Рассматривая модели роста, мы не учи­
тывали процессов вымирания особей. Такие процессы тоже проте­
кают по тем же законам, что и рост, поэтому в моделях роста сле­
дует просто уменьшить скорость прироста к, взяв за ее величину
разность скоростей роста и умирания: к = & р
- вымирания- П р
Проста
^вымирания все будет как в моделях роста. При обратном со­
отношении ^ р
< вымирания Р
вымирающей популяции будет
играть ресурс.
Простота модели мобилизации позволяет найти почти все ее
стационарные режимы аналитически. Анализ модели показывает,
что даже в казалось бы тривиальном случае можно сделать совер­
шенно неочевидные выводы. Далее будет показано, что популяция
каннибалов, в которой убийство и смерть особи сопровождаются
поеданием ее трупа, тоже может жить и размножаться, даже если
вероятность убийства при встрече выше вероятности замены но­
вым членом популяции. Таким образом, внутривидовая конкурен­
ция не уничтожает популяцию, а, наоборот, может способствовать
отбору наиболее сильных особей. Это, впрочем, один из извест­
ных тезисов Чарльза Дарвина.
Несмотря на простоту модели мобилизации, приходится не­
мало потрудиться, чтобы рассмотреть ее в различных вариантах.
Оказалось, что и стационарное состояние не всегда можно найти,
минуя переходной режим, как показало исследование линейной
модели. Далее мы даже не пытаемся найти аналитическое решение
уравнений динамики системы в переходных режимах. Для столь
простой системы они, конечно, могут быть найдены. В большин­
стве же более сложных случаев поиск аналитических решений
затруднителен, и если такие решения можно найти, то возникает
проблема вычисления и представления соответствующего пере­
ходного поведения. Между тем во многих случаях вполне можно
ограничиться теми графиками, которые рисует компьютер на ос­
новании модели.
и
0 С Т а
>
о л ь
0 С т а
j
126
Уравнения динамики средних модели мобилизации были
получены нами для линейной популяции, при условии, что
AM - величина более высокого порядка малости по сравнению
с М: AM = о(М). Общий вид матричного уравнения динамики
средних:
dM/dt = D*R.
Приравняв производную нулю, получим уравнение для стацио­
нарного режима:
D • R = 0.
Кроме этих уравнений, для замкнутых популяций справедливо:
£ =1 . . Л =
г
1
или, что то же, ! , - = . . . Л = N.
Для разных типов переходов вектор R будет различным в соот­
ветствии с формулами из разделов об инвариантности К-моделей
и моделировании простых и автоматных популяций. Для облегче­
ния составления этих уравнений все случаи для комбинирования
переходов в модели мобилизации сведены в таблицу 3.2.
Таблица 3.2
Сводная таблица для получения уравнений динамики средних
в модели мобилизации
Вектор R=
£)-оператор
D
{Pj{M£*dj))\\
d
0 - линейный
2
Ж
-1
1
р-Ж
М
1
-1
дтт{Ж, М)
=1,2} интенсивностей
1 - раствор
г
р-Ж 1(Ж
+ М)
2 - смесь
р-Ж/2
д-Ж-М/(Ж + М)
Как следует из таблицы 3.2, в модели мобилизации может быть
6 комбинаций типов переходов. Кроме того, некоторые из полу­
ченных уравнений будут следовать из других благодаря норми­
ровке, а некоторые из независимых уравнений, те, в которых есть
функция min, расщепятся на 2 уравнения. Кроме того, используя
теорему соразмерности, мы выразим все результаты анализа мо­
дели мобилизации через параметр v = qlp. Такое представление не
зависит от конкретных значений q и р. Назовем его относительной
формой.
Линейная модель мобилизации. Начнем с линейной модели из
раздела об уравнениях динамики средних для замкнутой популя­
ции. Для стационарного режима имеем уравнение:
р-Ж =
^тт{Ж,Ы-Ж}.
Расщепляя его, получаем два возможных режима (1) и (2).
(1) При Ж > N - Ж имеем рЖ = q(N - Ж) и, следовательно,
Ж - N-q/(p+ q) или Р = q/(pf q), а М= Np/(p+ q), причем Ж > М,
что и следовало ожидать. В относительной форме
ж
Ж = ЛМ(т>+1),
,
M=N/(v+l).
(2) При N - Ж > Ж имеем рЖ = qЖ и соотношение q = р, как
некий рубеж между режимами (1) и (2).
В режиме (2) получить решение для стационарного режима
можно решив дифференциальное уравнение динамики средних
при N-Ж
Ж и устремив время в бесконечность:
3
аЖ/dt = q-Ж-р-Ж
= Ж{ц-р)
= Ж1{у - 1).
Разделяя переменные, имеем:
аж/ж = (v - \) dt,
откуда получаем классическое экспоненциальное решение:
1
Ж,=Жое^- Х
Очевидно, что при t —> оо и q < р популяция вымирает, а при
q > р численность Ж растет, и когда она достигает такого поло­
жения, что выполняется условие Ж > N - Ж, популяция стре­
мится к стационарному состоянию уже в режиме (1) и достигает
численности Ж = N-v/( v + 1). Достигает ли популяция этого ста­
ционарного состояния? Разумеется! Функция Жо e^ " ^' монотон­
но возрастает при q > р, и ничто не мешает числу Ж расти, пока
не будет достигнуто условие режима (1), который ограничивает
дальнейший рост Ж.
Наконец, на рубеже режимов (1) и (2), при q = р, т.е. v = 1,
поведение популяции зависит от начальных условий. При Жо > MQ
достигается устойчивое состояние Ж = М = 0,5N. В противном
случае, при Жо < MQ, сохраняется начальное состояние Ж = Жо,
М, = М .
J
128
v
1
(
0
На рисунках 3.41, 3.42, 3.43, 3.44 представлены результаты мо­
делирования простой популяции с линейными интенсивностями
переходов, описанной в разделе о К-модели мобилизации. Мо­
дель имеет начальное состояние Жо = 20, MQ = 80 и параметры:
р = 0.3; q = 0.9, когда популяция живет, и наоборот, Ж^ = 80, MQ = 20,
q = 0.3, р = 0.6, когда она вымирает. Число тактов моделирования
Т = 10, 100 в зависимости от типа модели. Впрочем эти параметры
меняются от модели к модели для наглядности. Все изменения па­
раметров описаны в легендах к рисункам.
Нетрудно убедиться, что в стационарном режиме модель под­
тверждает теоретические расчеты. Однако переходной режим на
рисунке 3.41 совсем не похож на экспоненту и представляет собой
ломаную кривую.
ПопупАвт v2.1
Файл ?
[-"Начальные данные"
Количество состояний
к
["Матрица переходов—
—
СОСТОЯЛИ! Количество автоматов
ж
20
м
ВО
Состояние] переводит соет-е в состояние Интенсивность (Тип перехода
0.3
j
0.9
,*§ Результат
'ОсновнывТ
Линми
|
3
|S2_M
("Свойства
f< Видимость
Цеет|И clBlack
jVj
Толщина |fl
yj
Стиль/, ~
Размер^
точек!
3[Q
"3
-si
Q Сохранить картинку
Ш8 Сохранить данные
U Загрузить данные
10
ж
м
8
11
ШШШ 32.000
80.000 68.000
0000
0.000
2
51.200
48.800
0.000
3
79.760
20.240
0.000
4
74.048
25352
0.000
5
75.190
24.810
0.000
Б
74.962
25.038
0.000
7
75.008
24 992
0.000
8
74.998
25.002
0000
9
75.000
25.000
0.000
10
75.000
25.000
0.000
11
75.000
25.000
0.000
Рис. 3.41. Линейная модель мобилизациир = 0.3, q = 0.9, Г =10
Дело в том, что при выбранном варианте параметров
р + q = 0.3 + 0.9 = 1.2 > 1. При заданных начальных значениях
Ж= 20, М= 80 приращения Д Ж и Д М в первых тактах настоль­
ко велики, что не удовлетворяют условию малости Д М Поэто­
му величины Ж и М «проскакивают» стационарные значения,
а их графики «ломаются», чтобы вернуться на стационарный
режим. Это значит, что дифференциальные уравнения непри­
менимы в переходном режиме такой системы, хотя стацио­
нарное состояние сохраняется. Иная картина представлена на
рисунке 3.42.
.
ш ПопуяАвт
vZ.l
. Файл ?
j~fi ачзяьные данные
Количество состояний
{-Матрица переходов
Состояния Количество автоматов I
-
Состояние переводит сост-е в состояние Интенсивность I Тип перехода
0,03
0.09
TlDl'x
^Результат
Основные Линии |
3
S3_V
рСеойства
•Р" рийимость|
Ц в е т р cfretfow
^1
Т олщина J2
СтильГ^
точек»
7J
—'
Q Сохранить картинку
5 Сохранить данные
О
Q§] Загрузить данные
iliiilii.liiiliiili.iliiilnilinlinlniliiilii
5 10 15 20 25 30 35 40 45 50 55 60 85 70 75
о
78.600
2
22.472
77.528
3
|4
23.820 ! 25.250
76.180 , 74.750
0.000
0.000
0.000
1
ж
м
МшМ21.200
80.000
в
0.000
10.000
85 90 95 100
8
9
10
11
28,370
71.630
30.073
31.877
35.817
69.927
68.123
33.730
66.210
64.183
37.966
62.034
40.
?9.
0.000
0.000
0.000
0,000
0.000
0.000
ОС
5
25.7,65
73.235
0,000
^
Рис. 3.42. Гладкое поведение линейной модели мобилизации
после демпфирования прир = 0.03, q = 0.09, Т= 100
|12
В математической модели сглаживание динамики популяции
получается одновременным уменьшением интенсивностей пере­
ходов, т.е. уменьшением шага вычислений и более медленным
приближением к стационарному состоянию. Согласно теореме
масштабирования, поведение системы в стационарном режиме от
этого не изменится, но переход в стационарный режим становит­
ся гладким. Результат такого демпфирования как раз и показан
на рисунке 3.42, где интенсивности переходов уменьшены на по­
рядок: р = 0.03, a q = 0.09, а число тактов моделирования, увели­
чено до 100.
На рисунке 3.43 показано стационарное состояние популяции
на рубеже между режимами выживания и вымирания.
fig Полу лАвт v2.I
Файл ?
Начальные а
Количество состояний
•Матрица переходов—
3
I
Состояния Количество автоматов
ж
20
м
80
Состояние | переводит coct-e j в состояние Интенсивность j Т ип перэхоаа"
ТГГаГх!
Основные | Линии |
•S1 ZH
-S2_M
S3_v
User Фонэ
гОсь абсцисс
Минимальное
значение
Максимальное
значение
На­
)
NQ
I
-Ц
рОсь ординат
Минимальное
значение I
Максимальное
значение
Сохранить картинку
0
Шд Сохранять данные
^ | Загрузить данные
1
к
м
в
шММ20.000
80.000
0.000
80.000
0.000
2
20.000
80.000
0.000
И
з
20.000 (20.000
80.000 ( 80.000
0.000 |0.000
5
20.000
80.000
0.000
6
20.000
80.000
0.000
Т
20.000
80.000
0 000
8
20.000
80,000
0.000
3
20.000
80.000
0.000
10
20.000
80.000
0.000
Рис. 3.43. Линейная мобилизация p = qn И < N , Т= 10
ж
M
11
20.000
80.000
О.ООО
Реальные системы могут иметь такие параметры р и q, что пе­
реходный режим не будет гладким, а будет чем-то вроде того, что
показано на рисунке 3.41. Такое явление в теории управления на­
зывается перерегулирование. Для ликвидации перерегулирования
в механических системах управления вводится демпфер - устрой­
ство, снижающее реакцию системы управления на входное воздей­
ствие. В электронных системах управления также вводится искус­
ственное ослабление реакции^ выхода на входной сигнал.
На рисунке 3.44 показано вымирание популяции или, если
угодно, крах мобилизации из-за массового бегства призывников.
ПопулАвт v2.1
Файл
?
Начальные данные
-
Количество состояний
Состояние Количество автоматов
ж
80
м
20
•Матрица переходов™
Состояние переводит сост-е в состояние Интенсивность | Тип перехода
I
0.09
|
Основные j fly
Цвет фона
•Ось абсцисс
Минимальное
значение
Максимальное hpQ
значение *
-—•.^• Jr^
ss
•Ось ординат
Минимальное
значение
Максимальное
значение Т02
I7H
gj
Q Сохранить картинку
Ш§ Сохранить данные
(jjt] Загрузить данные
ж
м
в
1°
I
1
W 73.400
120.000 26 600
0.000
10.000
2
67.592
32.408
0 000
3
62.481
37.519
0 000
4
57.983
42.017
0,000
5
54.025
45375
0 000
6
50.542
49458
0.000
7
47.477
52.523
0.000
8
44.629
55.371
0.000
9
41.951
58043
0.000
10
39.434
60.566
0.000
11
37068
62.932
0.000
12
34.,
654
0.0
Рис. 3.44. Линейная популяция вымирает при р > q, Т= 100
Нелинейные
модели мобилизации.
Рассмотрим теперь ту же
популяцию, живущую в растворе из множества мест (М) и мно-
жества особей (Ж). Пусть теперь оба перехода нелинейные типа
раствор. К-сеть для этого раствора представлена на рисунке 3.45.
Рис. 3.45. К-сеть раствора с нелинейными переходами
Здесь по-прежнему, р - вероятность гибели, q - вероятность
восстановления особей. В данном случае переход d\ означает не
естественную смерть, а внутривидовую конкуренцию особей.
Если две живые особи встречаются, то одна из них с вероятно­
стью р убьет другую и съест. Более того, вся экологическая ниша
нашей популяции занята, и никаких источников пищи, кроме био­
массы самих особей и той энергии, которую дает занимаемое ме­
сто, больше нет. При этом место может прокормить своего хозяи­
на, но для размножения необходимо убить и съесть своего собрата
по виду. Такой способ питания «с места» и убитыми особями сво­
его вида называется каннибализм, или адельфофагия. На первый
взгляд адельфофагия - биологический нонсенс. Так ли это?
Уравнения динамики средних для раствора имеют следующий
вид:
йЖ
dt
P
2N'
2
dM
dt
2
Ж
ЖМ
Ж
=
P
N-
2N
Так как популяция у нас замкнутая, и Ж + М= N, получается одно
уравнение для Ж.
Найдем стационарный режим при тех же начальных значениях
Ж = 20, М = 80 с параметрами р =. 0.03, q = 0.09.
Имеем:
1
Откуда
Ж
^ Ъ ^
2д + р
=
200-0,092 0,09 + 0,03
=
М = 14,286.
Результат моделирования иллюстрирует рисунок 3.46. Он отли­
чается от линейного варианта с теми же параметрами и начальны­
ми условиями другими стационарными значениями Ж и Ми зна­
чительно меньшей скоростью изменений, так что для достижения
стационарного режима потребовалось не 10 и не 100, а 200 тактов.
Все это неудивительно.
Рисунок же 3.47 демонстрирует качественно иное поведение
нелинейной популяции. При тех же начальных условиях линей­
ная модель приходит к полному вымиранию живых организмов,
а нелинейная - к стационарному состоянию, в котором живые и
мертвые организмы остаются в достаточном количестве в соотно­
шении Ж/М= 40/60.
Нелинейная популяция выживает при внутривидовой кон­
куренции, даже если интенсивность убийства намного больше,
чем интенсивность восстановления. Объяснение этого факта со­
стоит в том, что при низкой численности живых особей они редко
встречаются и перестают конкурировать. Найти и убить соперни­
ка в растворе, где соперников мало, настолько маловероятно, что
жертвы успевают размножаться. По этой же причине вытеснение
j
134
генов, ослабляющих особь-носителя в конкуренции, не может
быть завершено до конца. «Слабаки» всегда будут присутствовать
в популяции.
! ПопулЛот v2.1
Файл ?
• ' •
:•
'Начальные данные*
-
Количество состояний
|з
Состояни^Количестео аетоматоа [
г-Мзтрицв переходов—
Состояние j переводит сост-е |в состояние Интенсивность Тип перехода
аоз
Ж
\ж
;М
1
0,09
1
Основные | Линии j
User Фона
-Ось абсцисс
Минимальное |р
значение !
Максимальное Про"
Рис. 3.46. Мобилизация в растворер- 0.03, д = 0.09, Т = 200
Вообще, нелинейные системы ведут себя «мягче» линейных в
отношении исчезающих состояний. С другой стороны, их поведе­
ние гораздо сложнее и интереснее линейного случая. Так, в извест­
ной модели «хищник-жертва» возникают колебания численности
хищников и жертв, сдвинутые по фазе. Рост числа жертв ведет к ро­
сту числа хищников и снижению числа жертв, а вслед за тем и к ча­
стичному вымиранию хищников, что в свою очередь дает возмож­
ность размножения жертв и т.д. Модель «хищник-жертва» остается
студенту для самостоятельного исследования (см. задачи к главе 3).
§ПопулАвт v2.I
В
Файл ?
[-Начальные данные™
Количество состояний
гМатрицэ перекодов-
~3
СоСТОЯНШ Количество автоматов
Состояние переводит сост-е в состояние j Интенсивность Тип перехода
м
(0,09
1
ж
ж
ж
80
ж
м
20
ж
1
[0,03
Результат
Основные Линии |
Z.
|S2_M
рСвОЙСТВё!
|7 Видимость
Ц в е т Ц clBlack
:
»]
Толщина] 1
СтильГГГ
РазмерП
Q Сохранить картимку
\ Сохранить данные
Загрузить данные
О
ж
м
20 40 60 80 100 120 140 160 180 200 220 240 280 280 300 320 340
339
40.001
59.99Э
340
341
342
40.001
59.999
40.001
59.999
40.001
59.999
|343
40.001
59.999
344
345
346
40.001
40.001
59.999
40,001
58.399
53.999
347
40.001
59.999
348
349
40,000
60,000
40.000
60.000
|350
40.000
60.000
Рис. 3.47. Популяция каннибалов в растворе выживает, даже если
адельфофагия интенсивнее размножения: р = 0.09,
q =0.03, Т= 350
Мобилизация
со смешанными
переходами.
Устраним конку­
ренцию, заменив переход d\ на линейный. Пусть особи умирают
сами по себе с вероятностью р {рис. 3.48). Уравнения динамики
средних при N = Ж + М:
йЖ
dt
dM
=
dt
ЖМ
q—
N
^
рЖ
ЖМ
рЖ-
д
N
Рис. 3.48. К-сеть мобилизации со смешанными переходами
Решение этой системы дано в таблице 3.3. Пользуясь этой та­
блицей, студент может самостоятельно проверить себя.
Таблица 3.3
Стационарные режимы моделей мобилизации
Типы
dd
u
2
0,0
Условие
режима
Ж ^М
v> 1
0
0,0
Ж *М
0,0
Ж >М
v=l
0,0
0,1(2)
0
0
0
0
3
v> 1
Стационарное
состояние
Ж = 20
M = 80
Ж = 75
М=25
0
ж=о
Ж=0
M=N
v< 1
Жо+Мо =
100
М= 100
Ж=0.5И
M=0.5N
1
Ж = 80
М = 20
Ж=50
М=50
Ж = 20
М =80
Ж=20
М=80
Ж = 20
М = 80
Ж =66.66(6)
М= 33.33(3)
0
v= 1
Начальное
состояние
0
M = MQ
1
T
Ж=ЛГ(У-1)/У
M=N/v
0
0
W — W
Ж <М
0
Ж=Ы-У/(У+1)
M=N/(v+l)
v< 1
0
Формулы
для ЖиМ
0
о
3
0
0
Окончание табл. 3.3
Типы
dd
b
2
0,1(2)
0,1(2)
Формулы для ЖиМ
Условие
режима
Ж=0
v<l
0
M=0.5N
M=0.5N
0
v =1
0,1(2)
ж <м
0
1
1
M=N
0
0.225
Стационарное
состояние
Ж +М =
Ж=0
100
М = 100
0
Ж
0
= 80
Ж=50
М = 20
М=50
0
Ж
= 20
0
Ж=0
М = 80
М = 100
Ж
= 20
Ж=45
М = 80
М=55
0
K=2Nv
M=N(l-2v)
ж <м
4v<\
Начальное
состояние
0
Ж=0
0
v =1
0
1,0
v< 1
M=iV .
Ж > М
v=q/p
0
0
Ж=
, Vv + 2v - v
=N[
L J
r
1,0
4v>
1
3 '
M=
=jV
1,1(2)
v > 0
2,0
2v< 1
2,0
2v> 1
2,1(2)
v>
0
I + V-A/V
= 20
Ж =87.298
М = 80
М = 12.702
Ж
= 20
Ж= 85.714
М = 80
М = 14.286
Ж
0
0
2
+2v
Ж=2МУ(2У+1)
M=M(2v+l)
ж=о
M=N
3
0
v<0,5
Ж=2ТЧУ/(2У+1)
M=N/(2v+l)
Ж = #(2У-1)/2У
M=N/2v
0
3
ж +м =
Ж=0
100
М=100
Ж 0 = 20
МО = 80
Ж = 85.714
М = 14.286
Ж = 20
М = 80
Ж = 83.33(3)
М = 16.66(6)
0
0
0
0
Нестабильные модели мобилизации. Исследуя модели роста,
мы отмечали, что в них возможны значения интенсивности пере­
хода больше 1. На рисунках 3.49, 3.50 показано, как будет вести
себя модель мобилизации с такими интенсивностями.
На рисунке 3.49 показан нестабильный процесс мобилизации
при смешанных переходах и сумме интенсивностей переходов
более 1. Убийство соплеменников происходит нелинейно в рас­
творе с интенсивностью р = 2, а восстановление линейное с ин-
тенсивностью q = \. Процесс кажется похожим на колебания цен
на бирже.
Файл ?
•Начальные даннь
"Матрица переходов
- -Т"Т"
Состояни Количество автоматов
ж
20
м
80
:
•
1
Состояние переводит сост-е в состояние Интенсивность Тип перехода
''-
ж
|ж
м
2
ж
м
ж
1
1
I
1
39
40
41
42
ж
70.357
50.439
74.49S
44,500 J69.193 [52,116 | 72.839 46.945
м
29.643
49.501
25.502 J 55.500 130.802 J47.884 127.161
43
|44
|45
46
|4?
48
49
50
|Л.852
48.373
73.347
46.203
71.
53.055 |28.148
51.627
26.653
53.797
28J
51
Рис. 3.49. Популяция каннибалов при смешанных переходах.
Вымирание р = 2 раствор, восстановление q = 1 линейно,
p+q>l
На рисунке 3.50 показана мобилизация в растворе при р- 2,
q = 2. В этих условиях имеются два процесса изменения чис­
ленности. Популяция, во-первых, стабильно растет по экспо-
ненте. Во-вторых, ее численность колеблется около этой экс­
поненты.
Рисунок 3.51 демонстрирует живучесть нелинейной популя­
ции в растворе. Популяция в растворе может достичь равновесия
Ж = М и не вымрет при Жо > MQ яр > q.
Файл ?
Начальные данныеКоличестео состояний
1
•Матрица лерегайое
-
Состояние переводит сост-е в состояние Интенсивность Тип перехода
СОСТОЯНИ) Количество автоматов
ж
ж
м
2
1
ж
[80
ж
м
ж
2
1
м
20
Результат
Основные | Линии|
Цвет Фона |Г_] cWhite
J
г О с ь абсцисс
Минимальное [Ц
значение '
Максимальное Под"
•Ось о р д и н а т —
Минимальное
значение
Максимальное
Й713
значение
0
2|
Сохранить картинка
(^Сохранить данные
^ j l Загрузить данные
38
39
|40
|41
|42
43
44
45
46
47
|48
|49
|50
ж
958.259 762.696 1098.282:874.143 1258.765 1001.875 1442.639 1148.271 1653.510 1316.059 1895.125 150S.365 21
м
34G.038 704.027 396.602 ( 80R901 454.554 924.807. 520.975 1059.942 537.101 1214.824 684.351 1392.337|78
Рис. 3.50. Популяция каннибалов растет в растворе
прир = q = 2,p + q = 4> 1, Г= 100
13§Ш
дПопуяАет vZ.l
Файл ?
гНачальные данныеКоличество состояний
j-Мзтрица переходов—
"3-
Состояние переводит сост-е в состояние Интенсивность Тип перехода
СОСТОЯНИ! Количество автоматов
ж
80
м
20
ж
ж
м
0.4
1
ж
м
ж
0,2
1
Основные | Пинии)
-S1_ZH
-S2M
Цвет Фона Р
г О с ь абсцисс:
cWhite_
Минимальное JQ
значение I
Максимальное
значение I
3
_*i
-*4
.._, _ г*
г О с ь ординат-
1
Максимальное I
0
Сохранить картинку
Шй Сохранить данные
(Л) Загрузить данные
О 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 4S 48 SO
ж
м
38
39
40
41
50.003
49.33?
50.003
49.99?
50.002
50.002
49.998
49.998
42
50.001
49.999
43
44
45
46
50.001
49.999
50.001
49.999
50.001
49.989
50001
49,999
|47
50.000
50,000
48
50.000
50.000
49
50.000
50.000
50'
50
5о:
Рис. 3.51. Популяция каннибалов выживает в растворе,
где адельфофагия интенсивнее размножения: р = 0.4, q = 0.2
Итак: моделирование, как и поэзия, процесс творческий. Он
требует воображения, интереса к делу, знания предметной обла­
сти и опыта. В частности, очень трудным является вопрос о том,
что нужно обязательно взять в расчет, а чем можно пренебречь.
Единой рекомендации тут дать нельзя. Особенно это касается не­
линейных процессов, где малые изменения некоторых параметров
могут дать большие сдвиги в общем состоянии системы. Такие не­
устойчивые состояния часто оказываются точками бифуркаций, в
которых дальнейшая судьба системы зависит от флюктуации па­
раметров.
Математическое и компьютерное моделирование позволяет ис­
следовать столь сложные системы, что их поведение, на первый
взгляд, противоречит фундаментальному закону физики - вто­
рому началу термодинамики. Энтропия, т.е. беспорядок, в таких
системах не растет, а уменьшается. Система самоорганизуется за
счет получения энергии извне и рассеивания - диссипации - этой
энергии. Теория диссипативных систем является предметом инте­
реса новой науки - синергетики.
Одного из энтузиастов синергетики и сложных динамических
систем С П . Курдюмова очень интересовал мало исследованный
тип нелинейных процессов - процессы с обострением, в которых
некоторые величины устремляются в бесконечность за конечное
время. Примером может служить гиперболический рост числен­
ности N человечества, получающийся в эмпирической модели ро­
ста населения, известной с 60-х годов X X века. Дифференциаль­
ное уравнение этого роста было установлено С П . Капицей [8] и
имеет следующий вид:
dN
2
__N
dT~
С '
Решением этого уравнения является гипербола
9
где Т - дата, т.е. год от Р.Х., Т £ 2025 г. от Р.Х., С 9? 200-10 человеколет.
К 2025 году формула Капицы дает обострение - бесконечную
численность населения Земли. Очевидно, что такое обострение в
реальности невозможно. Действительно, нами было показано [7],
что по гиперболическому закону с обострением растет не населе­
ние Земли, а экологическая ниша человечества. Уже с 1970-х че­
ловечество не успевает заполнять свою нишу, а ее рост с обостре­
нием прекращается. Кроме того, начиная с 60-х годов X X века, в
демографический процесс вмешиваются новые факторы, которые
были несущественны до той поры. Таким фактором является по­
вышающийся уровень образования в большинстве стран мира.
Образование отвлекает женщин репродуктивного возраста от де­
торождения. Имеются и другие факторы снижения рождаемости,
которые пока не ясны. Например, перемена ценностей в потреби­
тельском обществе, контрацепция и другие.
0
Задачи к главе 3
Задачи этой главы предназначены для решения на компьютере
с помощью программы «Популяция». Тем не менее, полезно прой­
ти полный цикл решения:
1. Привести все интенсивности к вероятностям в такте единой
удобной длины.
2. Построить К-сеть, матрицы In, Out, D и записать дифферен­
циальные уравнения для К-модели.
3. Попробовать решить задачу аналитически хотя бы в стацио­
нарном режиме.
4. Ввести задачу в программу «Популяция» и исследовать, ме­
няя параметры и типы переходов.
1. Нелинейный рост с ограниченным ресурсом в растворе.
Исследовать рост с ограниченным ресурсом в растворе при усло­
виях: число производителей а = 3, скорость роста к = 4, начальный
ресурс Z»Q = 29, начальный продукт CQ = 0.
2. Популяция каннибалов. Рассмотрите задачу о мобилиза­
ции в популяции каннибалов в смешанном варианте, когда гибель
(несчастный случай) происходит в результате войны всех против
всех (нелинейно), а восстановление происходит всегда, когда есть
кого и кому восстанавливать. При каких соотношениях вероятно­
стей гибели и восстановления такая популяция выживет?
3. Война синих и зеленых. 100 синих и 100 зеленых долго во­
юют на уничтожение. Синий убивает зеленого при встрече с веро­
ятностью 0.5. Зеленый убивает синего с вероятностью 0.1, а с ве­
роятностью 0.3 уговаривает его перейти на сторону зеленых. Кто
победит? Сколько останется победителей?
Рассмотрите задачу в разных комбинациях нелинейности пере­
ходов. В каком случае победившая сторона выйдет из войны с ми­
нимальными потерями?
4. Раздача заданий. В параллельной системе один ведущий
процессор раздает задания остальным ведомым. Выдача зада­
ния возможна, как только ведущий и ведомый освободились от
своих задач: ведущий выдал очередное задание, а какой-либо
ведомый завершил свою работу и выдал запрос на очередное
задание. Ведущий имеет два состояния: «ожидание» запро­
са и «выдача» задания. Ведомый тоже имеет два состояния:
«счет» и «готово». В состоянии «готово» процессор мгновенно
выдает запрос на задание, что переводит ведущего в состоя-
ние «выдача». Число ведомых процессоров - 100, ведущий - 1,
интенсивности переходов ведущего «ожидание»—^«выдача» и
«выдача»—>«ожидание» - 100, интенсивность перехода ведомо­
го «счет»—>«готов» — 1, а «готов»—>«счет» - 100. Каково число
считающих процессоров?
5. Христиане и язычники. В широкую степь, где жили 100
язычников, приехал христианский проповедник и начал обращать
их в христианство. С тех пор между новообращенными христиа­
нами и язычниками началась тихая война. Язычник, встретивший
христианина, убивает его с интенсивностью 0,1 в год, христианин,
встретивший язычника, обращает его в христианство с той же ин­
тенсивностью 0,1 в год. Однако в большинстве случаев они мирно
расходятся. Между тем и христиане, и язычники размножаются с
одинаковой интенсивностью, 10 детей на 1000 человек в год. По­
смотрите историю христианизации за 1000 лет. Найдите ту интен­
сивность, с которой язычники должны убивать христиан, чтобы
не перебить все население и ^оставаться в большинстве в течение
10 000 лет. Возможно ли это?
Рассмотрите «тесный» вариант вражды, когда все друг друга ви­
дят и переходы происходят по линейному закону. Что должны сде­
лать язычники, чтобы и не проиграть, и не убить всех христиан?
6. Пьяницы, опохмеляющиеся «на троих». Для рытья боль­
шой канавы наняли 100 пьяниц. После работы пьяница напивется
с вероятностью 0.5, а утром, по дороге на работу он, с той же ве­
роятностью 0.5, решает опохмелиться. Однако для этого дела ему
нужны собутыльники, которых он находит среди таких же как он
страдальцев, роющих канаву. Если собрать компанию из трех со­
бутыльников не удается, пьяница вынужден работать, не опохме­
лившись. Сколько пьяниц роют канаву?
7. Хищники и жертвы. Модель Вольтерра. Рассматриваются
две популяции: хищники (X) и жертвы (Ж). Жертвы только раз­
множаются и погибают, если их найдет хищник. Хищники только
умирают и размножаются, если им удается поймать и съесть пой­
манную жертву. Задайте К-сеть и динамическую модель хищникжертва, впервые построенную Вольтерра. Исследуйте ее.
8. Хищники и жертвы в ограниченной экологической нише.
На острове, где осталось только 1000 свободных мест (М) для жи­
вотных, находятся хищники: 10 сытых (С), 10 голодных детены­
шей (Г) и 10 больных (Б). Кроме того, там же пасутся 50 траво­
ядных (Т) и 50 их детенышей - жертв (Ж), на которых хищники
охотятся. Всякое животное, умирая, освобождает место М, а, рож­
даясь, занимает его.
Хищники сами по себе проходят свой жизненный цикл:
С —• Г —• Б —• М, каждый шаг которого происходит с интенсивно­
стью 0,01 в день. Обратный ход Б—>Г—>С обеспечивается с вероят­
ностью 0,25, если на каждом таком шаге хищник найдет и съест
жертву Ж. Сытый хищник С, если находит место, то занимает его
и родит голодного детеныша Г с интенсивностью 0,01 раз в день.
Травоядные сами по себе проходят свой жизненный цикл. Тра­
воядное Т, если находит место М, занимает его и родит жертву Ж
с интенсивностью 0,5. Жертва Ж, если есть место М, становится
травоядным Т с интенсивностью 0,4. Травоядное Т умирает и ос­
вобождает место М с интенсивностью 0,002-0,005, а жертва осво­
бождает место с интенсивностью 0,01 раз в день.
1. Задайте эту систему в программе «Популяция».
2. Запустите программу на 20 000-100 000 дней и убедитесь,
что получились колебания численности животных. Сколько види­
мых частот этих колебаний?
3. Попробуйте чуть-чуть поменять интенсивность смерти тра­
воядных. В каком диапазоне этого параметра система не утрачи­
вает колебаний численности? Почему?
4. Поиграйте с программой, исследуя вариабельность ее ин­
тенсивностей и начального состояния. Например, поменяйте ко­
личество свободных мест М. Почему при увеличении количества
свободных мест более некоторого предела хищники вымирают?
Каков этот предел?
9. Системы массового обслуживания. Пользуясь программой
«Популяция», решите все задачи массового обслуживания, приве­
денные в главе 2.
8. Модели мобилизации. Используя таблицу 3.2, исследуй­
те все стационарные режимы моделей мобилизации и проверьте
таблицу 3.3.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
\. Антонов А.В. Системный анализ. М., 2004. 454 с.
2. Системный анализ в управлении: учеб. пособие / СВ. Анфилатов
[и др.]; под ред. А.А. Емельянова. М., 2005. 368 с.
3. Ачасова СМ., Бандман О.Л. Корректность параллельных вычисли­
тельных процессов. Новосибирск, 1990. 252 с.
4. Бухараев Р.Г. Основы теории вероятностных автоматов. М., 1985.
288 с.
5. Вентцелъ Е.С. Исследование операций: задачи, методы, методоло­
гия. М., 1980. 208 с.
6. Вентцелъ Е.С, Овчаров Л.А. Теория случайных процессов и ее ин­
женерные приложения: учеб. пособие для втузов. 2-е изд., стер. М., 2000.
383 с: ил.
7. Воробьёв В.А., Воробьёва ТВ. Экологическая пауза - системный
кризис человечества // Труды АНИГ «Прогноз». Вып. 1. Исследования в
области глобального катастрофизма. Новосибирск, 2006. С. 69-109.
8. Капица СЛ., Курдюмов СП., Малинецкий Г.Г. Синергетика и про­
гнозы будущего. 2-е изд. М., 2001. 288 с.
9. Перегудов Ф.И., Тарасенко Ф.П. Введение в системный анализ. М.
1989. 367 с.
10. Тараканов КВ., Овчаров Л.А., Тырышкин А.Н. Аналитические ме­
тоды исследования систем. М., 1974. 240 с.
11. Фаронов В.В. Delphi. Программирование на языке высокого уров­
ня: учебник для вузов. СПб., 2003. 640 с: ил.
12. Хакен Г. Синергетика. М., 1980. 405 с: ил.
Учебное издание
Воробьёв Владимир Анатольевич,
Березовская Юлия Владимировна
Теория систем и системный анализ.
Стохастические системы
Учебное пособие
Редактор А.В. Соболева
Художественный редактор Е.Н. Качанова
Оригинал-макет и дизайн обложки О.Е. Болдыревой
Подписано в печать 25.06.2012. Формат 60*84 Vi6.
Усл. печ. л. 8,6. Тираж 200 экз. Заказ № 25
Издательско-полиграфический центр имени В.Н. Булатова
ФГАОУ ВПО САФУ
163060 г. Архангельск, ул. Урицкого, д. 56
Download