Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая_ДМ.docx
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
420.18 Кб
Скачать

Задание 7.

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

Определение. Пусть граф G некоторый ориентированный граф. Компонентами сильной связности графа G называются все его сильно связные подграфы, не являющиеся собственными подграфами никакого другого сильно связного подграфа графа G.

Определение. Пусть дан граф G. Матрицей сильной связности называется матрица D(G)[n x n], где n – мощность множества вершин, с элементами dij, которые определяются следующим условием:

dij =

Алгоритм выделения компонент сильной связности базируется на двух утверждениях:

Утверждение 1. Пусть H1, H2,…, Hp есть компоненты сильной связности ориентированного графа G. Тогда после удаления из графа G всех вершин графа H1 вместе с инцидентными им дугами, получится граф, компонентами сильной связности которого будут графы H2,…, Hn.

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

Алгоритм выделения компонент

сильной связности ориентированного графа.

Шаг 1. Полагаем p=1, D1(G) = D(G).

Шаг 2. Включаем во множество вершин очередной ( р -й) компоненты сильной связности Hp графа G вершины, соответствующие единицам первой строки матрицы Dр(G). В качестве матрицы смежности графа HpA(Hp) берем подматрицу матрицы A(G) , элементы которой находятся на пересечении строк и столбцов, соответствующих вершинам из .

Шаг 3. Вычеркиваем из Dр(G) строки и столбцы, соответствующие вершинам . Если в результате не остаётся ни одной строки (и соответственно ни одного столбца), то р - количество компонент H1, H2,…, Hp сильной связности графа G, соответственно A(H1), A(H2),…, A(Hp) – их матрицы смежности. В противном случае обозначим оставшуюся после вычеркивания из Dр(G) соответствующих строк и столбцов матрицу через Dр+1 (G),положим р=р+1 (увеличим значение индекса р на единицу) и перейдем к шагу 2.

Решение:

Выпишем ранее сформированную матрицу смежности ориентированного графа G.

A(G) =

1

2

3

4

5

6

7

8

9

100

1

0

1

0

0

0

0

0

0

0

0

2

0

0

0

0

0

1

0

0

1

0

3

1

0

0

1

0

0

0

1

0

0

4

0

1

0

0

0

0

0

0

0

1

5

0

0

1

0

1

0

1

0

0

0

6

0

0

0

1

0

0

0

0

0

0

7

0

0

0

0

1

0

0

1

0

0

8

1

0

1

0

0

0

1

0

1

0

9

0

1

0

0

1

0

0

0

0

0

10

0

0

0

0

0

1

0

1

0

1



Построим матрицу сильной связности графа G.

D(G) =

1

2

3

4

5

6

7

8

9

100

1

1

1

1

1

1

1

1

1

1

1

2

1

1

1

1

1

1

1

1

1

1

3

1

1

1

1

1

1

1

1

1

1

4

1

1

1

1

1

1

1

1

1

1

5

1

1

1

1

1

1

1

1

1

1

6

1

1

1

1

1

1

1

1

1

1

7

1

1

1

1

1

1

1

1

1

1

8

1

1

1

1

1

1

1

1

1

1

9

1

1

1

1

1

1

1

1

1

1

10

1

1

1

1

1

1

1

1

1

1



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

H1