- •2.Структурний аналіз складних систем управління
- •Система
- •2.1. Функціональна, організаційна та технічна структура
- •2.2. Формалізація опису структури системи на основі графових моделей
- •Алгоритм упорядкування графів
- •2.3. Структурний аналіз об’єкта
- •2.4. Моделювання технічної структури ссу
- •2.5. Декомпозиція технічної структури cкладних систем управління
- •Контрольні питання
Алгоритм упорядкування графів
1. В підмножину нульового рівняN0 включаються всі вершини і, для яких G-1(i)=0 (пуста множина). Проводиться послідовна нумерація вершин: 1,2 …l.
2. В підмножину першого рівня N1 включаються всі вершини і, для яких G-1(i) N0. Проводиться послідовна нумерація вершин: l+1, l+2, …l+r.
3. В підмножину другого рівня N2 включаються всі вершини і, для яких G-1(i) (N0 U N1). Проводиться послідовна нумерація вершин: l+r, l+r+1…, l+r+p.
4. В підмножину третього рівня N3 включаються всі вершини і, у яких G-1(i) (N0 U N1 U N2) , після чого також проводиться послідовна нумерація вершин.
Процес повторюється до тих пір, поки не будуть пронумеровані всі вершини графа. Тоді в матриці суміжності вершин графа аij=0 при і>1.
Н
2
1 3
7
9
10 4
6
8
5
Рис.2.5. а) невпорядкований граф
РІВНІ
3(2))
3(9) 9(3)
4(8) 6(7)
4
2(10) 7(6)
5(5)
Рис. 2.5., б) Впорядкований граф
(в дужках - номери вершин)
Числові функції на графі.Числову функцію задають як на вершинах, так і на дугах (ребрах) графа.
Числова функція на вершинах графа вважається заданою, якщо кожній вершині (і-й) аі графа G(V), ai V, ставиться у відповідність деяке число ei=e(ai) з деякої множини L.
Числова функція на дугах (ребрах) для орієнтованого (неорієнтованого) графа вважається заданою, якщо кожній дузі (аі аj) або ребру ставиться у відповідність число q=q(аі аj) з множини Q. В деяких випадках числова функція на графі задається комбінованим способом: на вершинах і на дугах.
Значення функції на шляху S через вершини a1, a2,…ai, … (aiS)
при заданні числової функції на вершинах графа визначається або у відповідності з адитивною формою:
(2-9)
або з мультиплікативною:
(2-10)
Аналогічно визначаються значення функції на шляху через вер-шини a1, a2,…ai, … при заданні числової функції на дугах (ребрах) графа:
(2-11)
(2-12)
Наведені залежності є основою знаходження шляхів, які відповідають певним вимогам – максимальних (мінімальних). Так, визначення максимального шляху на графі без контурів реалізується на основі функціонального рівняння динамічного програмування:
– максимальне значення функції на шляхах S з деякої початкової вершини а1 у вершину аj (аналогічно );
G-1(aj) – множина лівих інциденцій для вершини аj;
q(aiaj) – значення функції на дузі (аіаj).
Передбачається, що всі вершини в графі впорядковані.
Визначення максимальних і мінімальних шляхів викорсто-вується:
- в задачі сіткового та календарного планування для визначення критичних шляхів;
- в транспортних задачах;
- в задачах контролю і діагностики.
Виділення комплексів графах. Один з перших алгоритмів заснований на операціях з матрицею зв’язності з метою виділення на графі системи, шляхів різної довжини та побудови матриці комплексів.
Використання матриці шляхів на графі. Матриця є квадратною, кількість стовпців відповідає кількості елементів в складі ТК. Якщо на графі є шлях будь-якої довжини з вершини і у вершину j, то на пересіченні і-го рядка та j-го стовпця ставиться одиниця, в протилежному випадку – 0.
2
3 4 1 5 6 7 8
9
Рис.2.6. Структура системи
Таблиця 2.1.
Матриця шляхів графа – P:
І |
J | ||||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
2 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
3 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
4 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
5 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
6 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
7 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
8 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
9 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
На основі матриці P будується допоміжна матриця S
(2-13)
Таблиця 2.2
Допоміжна матриця S
I |
J | ||||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
3 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
4 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
5 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
6 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
7 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
8 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
9 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
На основі матриці S визначаються комплекси, які входять в склад графа ТК. Якщо в і-му рядку є лише один ненульовий елемент Sii (на головній діагоналі), то елемент ТК з номером і можна розрахувати окремо від решти елементів (це – 1,6).
Рядки матриці S, які мають крім елемента Sii інші ненульові елементи – комплекси. Ненульові елементи показують вершини графа, які входять в комплекс.
В прикладі в склад ТК входять два комплекси:
комплекс 1: - 2, 3, 4, 5, 9
комплекс 2: - 7, 8.
Наведений алгоритм потребує багато ручної праці.
Ще один алгоритм. Розглядаються будь-які три вершини графа ТК – i, j, m. Якщо існує шлях (будь якої довжини!) з вершини і в вершину j і з j в і, то ці вершини належать одному комплексу k. Для приєднання вершини m до комплекса необхідно проаналізувати: чи є шлях з будь-якої вершини комплекса (наприклад, і), у вершину m та зворотній шлях з вершини m в будь-яку вершину комплекса k (наприклад,і). Якщо ці два шляхи існують, то вершина m належить комплексу k.
Для наведеного вище прикладу виділяються комплекси:
k1 (вироджений): - елемент 1
k2: 2, 3, 4, 5, 9
k3 (вироджений): елемент 6
k4 : 7,8