Компонента сильной связности
Ориентированный граф (орграф) называется сильно связным (англ. strongly connected), если любые две его вершины s и t сильно связны, то есть если существует ориентированный путь из в и одновременно ориентированный путь из в
Компонентами сильной связности орграфа называются его максимальные по включению сильно связные подграфы. Областью сильной связности называется множество вершин компонентов сильной связности.
Определения
правитьОрграф, не принадлежащий к классу сильно связных графов, содержит некоторый набор сильно связных компонент, и некоторый набор ориентированных рёбер, идущих от одной компоненты к другой.
Любая вершина орграфа сильно связна сама с собой.
Алгоритмы
правитьПростейший алгоритм решения задачи о поиске сильно связных компонент в орграфе работает следующим образом:
- При помощи транзитивного замыкания проверяем, достижима ли из и из для всех пар и
- Затем определяем такой неориентированный граф, в котором для каждой такой пары содержится ребро.
- Поиск компонент связности такого неориентированного графа даёт компоненты сильной связности орграфа.
Очевидно основное время работы данного алгоритма занимает транзитивное замыкание.
Также существует три алгоритма, решающих данную задачу за линейное время, то есть в V раз быстрее, чем приведённый выше алгоритм. Это алгоритмы Косарайю, поиска компонент сильной связности с двумя стеками и Тарьяна.
Пример
правитьНа рисунке изображён орграф, для которого показаны все три компоненты сильной связности (закрашенные области, обведённые пунктиром).
См. также
правитьЛитература
править- Роберт Седжвик. Алгоритмы на графах = Graph algorithms. — 3-е изд. — Россия, Санкт-Петербург: «ДиаСофтЮП», 2002. — С. 496. — ISBN 5-93772-054-7.
Это заготовка статьи по математике. Помогите Википедии, дополнив её. |