Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод. указ. к лаб.раб. по ДМ.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.07 Mб
Скачать
    1. Связность в графах

Орграф называется сильносвязанным, если для любых двух вершин Vi и Vj найдется путь из Vi в Vj, и наоборот путь из Vj в Vi . В противном случае граф называется несвязным.

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

V1

V2

V3

Рис.2

Компонентой сильной связности орграфа G называется его подграф G`, удовлетворяющий следующим условиям:

    1. подграф G` - сильносвязный;

    2. добавление к G` любой вершины Vi из графа G c дугами инцидентности V нарушает условие сильной связности подграфа G`.

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

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

Прямым транзитивным замыканием вершины Vi орграфа называется выражение

где - множество вершин графа, в которые ведут дуги из вершины Vi;

- множество вершин графа, в которые ведут дуги из множества вершин ;

- множество вершин графа, в которые ведут дуги из множества вершин , т.д.

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

Обратным транзитивным замыканием вершины Vi орграфа называется выражение

где - множество вершин графа, из которых идут дуги в вершину Vi и т.д.

Если для вершины Vi найдены и , то компонента сильной связности, включая вершину Vi ,может быть найдена так:

.

      1. Алгоритм нахождения компонент сильной связности (алгоритм Мальгранжа-Томеску)

  1. Граф задается матрицей смежности (рис.3).

V1

V2

VN

V1

V2

….

VN

Рис.3

  1. Матрица смежности дополняется столбцом и строкой , где Vi выбирается крайним слева среди столбцов. Переходят к алгоритму заполнения столбца.

  2. Если столбец заполнен, переходят к алгоритму заполнения строки .

Алгоритм заполнения строки аналогичен алгоритму заполнения столбца.

  1. Находят

  2. В матрице смежности вычеркиваются все строки и столбцы, соответствующие вершинам, входящим в найденную компоненту сильной связности . Алгоритм повторяется до тех пор, пока не будут вычеркнуты все строки и столбцы матрицы смежности.