И построения структуры АСОИУ

Пусть G – построенный информационно-логический граф, а G* - граф, называемый конденсацией графа G, который определяется следующим образом: каждая его вершина И построения структуры АСОИУ - student2.ru соответствует множеству вершин некоторой сильной компоненте И построения структуры АСОИУ - student2.ru графа G, то есть И построения структуры АСОИУ - student2.ru (разным сильным компонентам из графа G отвечают разные вершины в конденсации G*); дуга И построения структуры АСОИУ - student2.ru существует в конденсации G* тогда и только тогда, когда в графе G имеется такая дуга И построения структуры АСОИУ - student2.ru , что вершина И построения структуры АСОИУ - student2.ru принадлежит сильной компоненте И построения структуры АСОИУ - student2.ru , соответствующей вершине И построения структуры АСОИУ - student2.ru в конденсации G*, а вершина И построения структуры АСОИУ - student2.ru принадлежит сильной компоненте И построения структуры АСОИУ - student2.ru , соответствующей вершине И построения структуры АСОИУ - student2.ru в конденсации G*, то есть справедливы следующие соотношения: И построения структуры АСОИУ - student2.ru , а И построения структуры АСОИУ - student2.ru .

Сильными компонентами графа И построения структуры АСОИУ - student2.ru будем считать максимальные подграфы графа G, обладающие заданным свойством. Поскольку в данном случае в качестве такого свойства выступает сильная связность вершин графа G, его сильные компоненты будут представлять собой подмножества (порожденные подграфы) взаимно связных вершин.

Требуется найти его сильные компоненты и построить конденсацию графа G, то есть построить граф G*.

Эта процедура реализуется при использовании матриц достижимости RG и контрдостижимости QG графа G.

Матрица достижимости RG=||rjs|| определяется следующим образом:

И построения структуры АСОИУ - student2.ru 1, если вершина ℓs достижима из вершины ℓj (т.е. ℓj→ℓs)

rjs=

0, в противном случае.

Вершина ℓs считается достижимой из вершины ℓj, если существует путь от вершины ℓj к вершине ℓs.

Полагают, что все диагональные элементы матрицы RG равны 1, т.к. каждая вершина достижима из самой себя путем длиной 0. В качестве алгоритма построения матрицы достижимости RG можно предложить следующий:

Вход: Матрица AG смежности графа G, состоящая из строк A1, A2,…, Aj,…, Ak; Aj=(aj1,…, ajs,…, ajk)

Выход: Матрица достижимости RG, состоящая из строк R1, R2,..., Rj,…, Rk, где

Rj=(rj1,…, rjs,…, rjk)

Алгоритм запишем в виде, использующем так называемый псевдоалгол:

Начало

1. для j от 1 до k шаг 1 цикл А

2. сформировать множество S индексов s таких, что ajs=1;

3. Rj := Aj ; k:=0;

4. пока S≠0 цикл В

5. выбрать sєS;

6. Rj:=Rj И построения структуры АСОИУ - student2.ru As;

7. S:=S\{s};

8. K:=K И построения структуры АСОИУ - student2.ru {s};

9. Сформировать множество Ss индексов r таких, что asr=1;

10. S:=S И построения структуры АСОИУ - student2.ru (Ss\K);

11. конец цикла В;

12. возврат Rj;

13. конец цикла А;

Конец

Матрица контрдостижимости QG=║qjs║ определяется следующим образом:

И построения структуры АСОИУ - student2.ru 1, если из вершины ℓs графа G достижима вершина ℓj (т.е. ℓj←ℓs)

qjs=

0, в противном случае.

При этом qjs=1, если j=s. Очевидно, что матрица QG есть транспонированная матрица RG.

На следующем этапе алгоритма выполняется поэлементное умножение матриц RG и QG графа G, в результате чего получаем матрицу (RG И построения структуры АСОИУ - student2.ru QG).

При этом строка ℓj матрицы RG И построения структуры АСОИУ - student2.ru QG содержит единицы только в тех столбцах ℓs , для которых выполняется условие: вершины ℓj и ℓs взаимно достижимы. В других местах строки стоят нули. Таким образом, две вершины графа G находятся в одной и той же сильной компоненте тогда, когда соответствующие им строки (или столбцы) в матрице RG И построения структуры АСОИУ - student2.ru QG идентичны.

Следующий шаг алгоритма – преобразование матрицы (RG И построения структуры АСОИУ - student2.ru QG )путем транспонирования ее строк и столбцов в блочно-диагональную матрицу И построения структуры АСОИУ - student2.ru , каждая из диагональных подматриц (блоков) которой соответствует сильной компоненте графа G и содержит только единичные элементы, поскольку вершины, которым отвечают строки, имеющие единицу в столбце ℓs, образуют множество вершин сильной компоненты, содержащей вершину ℓs. Все остальные блоки данной матрицы имеют нули.

Графическое представление полученной диагональной матрицы представляет собой граф искомой структуры, рассматриваемой АСОИУ.

Для инфологического графа G , представленного на рис. 1, его конденсация, то есть граф G* , полученный путем применением рассмотренного алгоритма, представлен на рис. 2.

И построения структуры АСОИУ - student2.ru

Рис. 1. Пример инфологического графа АСОИУ

И построения структуры АСОИУ - student2.ru

Рис. 2. Граф G* как структура АСОИУ

Наши рекомендации