Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3 - Графы / Лекция 21 Связность и фундаментальные циклы и разрезы.doc
Скачиваний:
138
Добавлен:
09.04.2015
Размер:
353.28 Кб
Скачать

22.2.4 Вопросы для контроля к п. 22.2.1

  1. Поясните понятия сильная связность, слабая связность, просто связность?

  2. Чем отличается компонента связности от компоненты сильной связности?

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

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

  5. Почему алгоритм определения компонент сильной связности орграфа можно применить для нахождения компонент связности неорграфа?

  6. Как можно определить компоненты связности орграфа?

22.3 Остов графа

Остов – минимальное множество ребер, которые связывают все вершины связного графа.

Остов это дерево.

Часть G' графаG называется остовом (каркасом, скелетом), еслиV’ =Vи все они связаны без циклов. Остов обычно обозначают буквойT.

Для орграфов остов – часть G, которая является остовом в неорграфе, полученном изGудалением ориентации дуг.

Остов получается из графа разрушением циклов. Число удаляемых при этом ребер: (G) =mn+ 1 – называется цикломатическим числом или цикломатическим рангом графа (или просто рангом графа).

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

(G) = mn + ρ,

где ρ– количество компонент связности графа.

Количеств ребер в остове графа

*(G) =n–ρ

называется коциклическим рангом.

(У связного графа *(G) =n– 1.)

Для дерева цикломатическое число равно 0.

22.3.1 Нахождение остова минимальной длины

Имеется связный граф G(V,E).

  1. Строим начальный остов Ti, который состоит из всех вершин и одного ребра с минимальным весом.

  2. Имеем Ti, среди всех ребер находим ребро с минимальным весом такое, которое смежно с одним из ребер изTi и которое не образует циклов. Добавляем его кTi.

  3. Повторяем п. 2, пока находятся нужные ребра.

22.3.2 Фундаментальные циклы

Фундаментальным циклом графа G(V,E) с остовным деревомT(V,E') называется простой цикл, получаемый в результате добавления кTодного из реберG, не принадлежащегоE'. Количество фундаментальных циклов графаG= (V,E) при любом остовном деревеTравно цикломатическому числу (G).

Пусть G(V,E) связный неорграф сnвершинами иmребрами,T– остов графа, имеющийn– 1 ребро, которые называются ветвямиT(ведь остов – это дерево) и обозначаютсяbj.

Не входящие в остов (G) =mn+ 1 ребер называются хордами и обозначаютсяhi.

Если к дереву Tдобавить произвольную хордуhi, то образуется точно один циклCi. Этот цикл состоит из хордыhiи некоторых ветвей остова, образующих простую цепь и соединяющих вершины хордыhi.

Цикл Ciназывается фундаментальным циклом графаGотносительно хордыhiостоваT(в общем случае остовов в графе может быть много). Таким образом, фундаментальный цикл содержит точно одну хорду остова графа.

Множество всех фундаментальных циклов {C1,C2, …,Ci, …,Cmn+1} относительно хорд остоваTназывается фундаментальным множеством циклов графаG. Мощность этого множества равна цикломатическому числу (G) =mn+1 или рангу графаG.

фундаментальное множество циклов графа можно задать с помощью матрицы, строки которой имеют вид

h1, h2, …, hmn+1, b1, b2, …, bn1,

где hi,bj– хорды и ветви соответственно.

В каждом цикле имеется одна хорда hiи некоторое множество ветвей остоваT. Этой хордеhiи ветвям, входящим в циклCi, присвоим значение 1, остальным ребрам графа присвоим значение 0. Повторяя процедуру для всех хорд, получим матрицу строк из 0 и 1.

Пример.для графаGи его остоваT, показанных на рис. 22.3, матрица фундаментальных циклов будет такой

,

где 1, 2, 3 – хорды, 4, 5, 6, 7, 8 – ветви остоваT,E– единичная матрица порядка (G) =mn+ 1,B– матрица остоваT.

Рисунок 22.3