Дискретка_Экзамен_Ответы / графы / 4 конденсация, Связность в орграфе. Компоненты сильной связности
.docx
4.12. Связность в орграфе. Компоненты сильной связности
Две вершины vi и vj орграфа G=(V,E) называются сильно связанными, если vi достижима из vj и vj достижима из vi, т.е. вершины vi и vj взаимодостижимы.
Две вершины vi и vj орграфа G=(V,E) называются односторонне связанными, если vi достижима из vj или vj достижима из vi.
Две вершины vi и vj орграфа G=(V,E) называются слабо связанными, если они связаны в графе G’, полученном из орграфа G’ путём отмены ориентации дуг.
Если все вершины в орграфе сильно (односторонне, слабо) связаны, то орграф называется сильно (односторонне, слабо) связанным. На рис.4.34 показаны диаграммы сильно, односторонне и слабо связанных орграфов.
а v1 v2 б v1 v2 в v1 v2
v3 v4 v3 v4 v3 v4
Рис.4.34. Диаграммы орграфов:
а – диаграмма сильно связного орграфа;
б – диаграмма односторонне связного орграфа;
в – диаграмма слабо связного орграфа
На множестве вершин орграфа можно определить отношение взаимодостижимости. Пара вершин {vi,vj} принадлежит отношению взаимодостижимости, если vi и vj взаимодостижимы. Отношение взаимодостижимости является отношением эквивалентности: оно рефлексивно, симметрично и транзитивно, поэтому оно разбивает множество вершин на классы эквивалентных вершин. Подграф, построенный на множестве вершин одного класса эквивалентности, представляет собой компоненту сильной связности орграфа.
Для нахождения отношения H взаимодостижимости используются отношения R достижимости и Q контрдостижимости. Пара вершин {vi,vj} принадлежит отношению R достижимости, если vj достижима из vi. Пара вершин {vi,vj} принадлежит отношению Q контрдостижимости, если vi достижима из vj. Отношения достижимости, контрдостижимости и взаимодостижимости будем задавать матрицами R, Q и H соответственно.
Рассмотрим два способа получения матрицы R достижимости.
Первый способ.
Получить матрицу R достижимости можно, используя поиск в орграфе. Для этого необходимо инициализировать матрицу R нулями, а затем последовательно формировать строки матрицы. При формировании i-ой строки, используя поиск в орграфе, находится множество V’ вершин, достижимых из вершины i. Если вершина j принадлежит множеству V’, то элементу сij присвоить значение 1.
Второй способ.
Вычислить матрицу R достижимости можно по формуле R=I+M+ , где
I – бинарная матрица, содержащая единицы только на главной диагонали;
М – матрица смежности орграфа;
M+ – транзитивное замыкание отношения, представленного матрицей смежности орграфа, которое можно вычислить, используя алгоритм 3.10 объединения степеней или алгоритм 3.11 Уоршалла.
Отношение Q контрдостижимости вычисляется по формуле Q:=R-1, а отношение H взаимодостижимости – по формуле H:=RQ.
По матрице H взаимодостижимости можно построить разбиение множества вершин орграфа на классы эквивалентности, используя алгоритм 3.13, тем самым найдём подмножества вершин, образующих компоненты сильной связности орграфа.
На рис.4.35 представлена диаграмма орграфа, на рис.4.36 – матрицы отношений достижимости, контрдостижимости и взаимодостижимости, а на рис.4.37 – компоненты сильной связности.
1 2 3 4 5
6 7 8 9 10 11
Рис.4.35. Диаграмма орграфа
а
б
в
Рис.4.36. Матрицы отношений:
а – достижимости;
б – контрдостижимости;
в – взаимодостижимости
1 2 3 4 5
6 7 8 9 10 11
Рис.4.37. Компоненты сильной связности
Множество V вершин орграфа (рис.4.35) разбивается отношением H взаимодостижимости на пять классов эквивалентности: V1={1,2,6}, V2={3,4,8,9}, V3={5}, V4={7} и V5={10,11}, следовательно орграф имеет пять компонент сильной связности.
Орграф G*=(V*,E*), в котором
V*={V1,V2,…,Vn}, где n – количество компонент сильной связности,
Vi – множество вершин i-ой компоненты сильной связности,
E*={(Vi,Vj) | vi Vi и vj Vj и (vi,vj) E},
называется конденсацией орграфа G=(V,E). Конденсация G* орграфа G получается “стягиванием” в одну вершину каждой компоненты сильной связности. Конденсация G* орграфа G (рис.4.35) показана на рис.4.38.
V1 V2 V3
V4 V5
Рис.4.38. Конденсация орграфа