Определение компонент сильной связности орграфа

Подграф G ’ орграфа G (V, E) называется максимальным сильно связным, если не существует сильно связного подграфа G ”, строго содержащего G ’.

Максимальные сильно связные подграфы орграфа G называются его компонентами сильной связности.

Вершины компонент сильной связности образуют множество классов эквивалентности C, | C | = p так, что

Принадлежность вершины xi классу C xi определяется наличием маршрутов (xi, xj) и (xj, xi) для любой пары вершин.

Таким образом, компонента сильной связности – множество взаимно достижимых вершин орграфа.

Определим транзитивное замыканиев графе для вершины xi

,

где – множество вершин графа, достижимых из xi за один шаг,

– множество вершин графа, достижимых из xi за два шага и т. д.

– это не что иное, как объединение вершины xi со множеством ее потомков.

Определим обратное транзитивное замыкание в графе для вершины xi

,

где – множество вершин графа, из которых xi достижима за один шаг, – множество вершин графа, из которых xi достижима за два шага и т.д. – это не что иное, как объединение вершины xi со множеством ее предков.

Если в компонентах сильной связности графа G объединить маршруты (xi, xj) и (xj, xi), то образуются циклы, характерной особенностью которых является то, что в них каждая вершина для себя и потомок и предок.

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

,

где Cxi – класс эквивалентности.

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

Формальными признаками наличия таких вершин являются:

1) для источников – отсутствие 1 в столбце матрицы смежности,

2) для тупиковых вершин – отсутствие 1 в строке матрицы смежности,

3) для изолированных вершин – отсутствие 1 как в строке, так и в столбце матрицы смежности.

После исключения вершин источников и тупиковых вершин в графе снова могут образоваться вершины таких же типов, с ними следует поступить аналогично.

На основании вышеизложенного можно составить такой алгоритм определения компонент сильной связности орграфа.

Алгоритм определения компонент сильной связности орграфа:

1) Удалить из графа вершины источники, тупиковые и изолированные вершины, зафиксировав их как отдельные сильные компоненты.

2) Выбрать некоторую вершину xi.

3) Определить для xi .

4) Выполнить операцию пересечения и зафиксировать множество вершин, вошедших в .

5) Удалить из графа вершины, принадлежащие и инцидентные им дуги. Если получен подграф G ’, то перейти к п. 2. Если граф пуст, то перейти к п. 6.

6) Сформировать множество классов C.

Для определения получим степени строки xi матрицы смежности A, а для определения степени столбца xi. Максимальный показатель степени n –1, так как учитываются только кратчайшие маршруты. Затем объединим полученные строки (степени строки xi) со строкой, имеющей единственную 1 в позиции вершины xi, а полученные столбцы (степени столбца xi) объединим со столбцом, имеющим единственную 1 в позиции вершины xi.

определяется как множество вершин, имеющих 1 в полученной матрице строке. определяется как множество вершин, имеющих 1 в полученной матрице столбце.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: