Тема 9. Циклы и мосты, цикломатическое число. Фундаментальная система циклов графа.
Пути, цепи, циклы на графе.
Путем длины 𝑘 на графе 𝐺 из вершины 𝑣0 в вершину 𝑣k называется такая последовательность
𝑣0 𝑒1𝑣1...𝑣k-1𝑒k𝑣k
вершин и ребер графа, в которой 𝑒i = 𝑣i-1𝑣i (1 ≤ 𝑖 ≤ 𝑘).
Путь из 𝑣0 в 𝑣k обозначают pv0vk и говорят, что он соединяет вершину 𝑣0 с вершиной 𝑣k. Вершины 𝑣0 и 𝑣k называют соответственно началом и концом пути.
Кроме того, каждую вершину считают путем длины нуль.
Если 𝑣0 = 𝑣k, то путь называется замкнутым.
Заметим, что в обыкновенном графе путь полностью определяется последовательностью 𝑣0, 𝑣1, ... , 𝑣k своих вершин.
В произвольном пути любое ребро и любая вершина могут повторяться. Накладывая ограничения на число повторений вершин и ребер, приходим к следующим частным видам путей.
Цепь - это путь без повторяющихся ребер. Цепь, соединяющую вершину 𝑣0 с вершиной 𝑣k, обозначают 𝑧v0vk .
Цепь называется простой, если в ней нет повторяющихся вершин, за исключением, быть может, совпадающих концевых.
Замкнутая цепь ненулевой длины называется циклом.
Замкнутая простая цепь называется простым циклом.
Лемма (о простой цепи). Если на графе существует путь из 𝑎 в 𝑏, то существует и простая цепь, соединяющая вершины 𝑎 и 𝑏.
Отношение достижимости (связности), компоненты связности графа.
На множестве вершин графа 𝐺 введем бинарное отношение - отношение достижимости (связности) (~), образованное всеми теми парами вершин (𝑎, 𝑏), для которых на графе есть путь из 𝑎 в 𝑏. Таким образом, запись 𝑎 ∼ 𝑏 будет означать, что на графе 𝐺 есть путь из 𝑎 в 𝑏.
Поскольку мы договорились считать каждую вершину графа 𝑎 путем длины 0 из 𝑎 в 𝑎, то для любой вершины 𝑎 можно утверждать, что 𝑎 ∼ 𝑎. Это означает, что отношение достижимости рефлексивно.
Очевидно, что если на графе 𝐺 есть путь из вершины 𝑎 в вершину 𝑏, то есть и путь из 𝑏 в 𝑎, т.е. если 𝑎 ∼ 𝑏, то и 𝑏 ∼ 𝑎. Значит, отношение достижимости симметрично.
Несложно показать, что отношение достижимости является также и транзитивным, т.е. если 𝑎 ∼ 𝑏 и 𝑏 ∼ 𝑐, то и 𝑎 ∼ 𝑐. Иными словами, из существования на графе 𝐺 путей из 𝑎 в 𝑏 и из 𝑏 в 𝑐 следует существование пути из 𝑎 в 𝑐. Это действительно так, поскольку из пути из 𝑎 в 𝑏: 𝑎 𝑒1𝑣1… 𝑣k-1𝑒k 𝑏 и пути из 𝑏 в 𝑐: 𝑏 𝑒’1𝑣’1… 𝑣’k-1𝑒’k 𝑐 можно «склеить» путь из 𝑎 в 𝑐:
𝑎 𝑒1𝑣1… 𝑣k-1𝑒k 𝑏 𝑒’1𝑣’1… 𝑣’k-1𝑒’k 𝑐.
Таким образом, отношение достижимости рефлексивно, симметрично и транзитивно, и, значит, является отношением эквивалентности.
Пусть 𝑎 - произвольная вершина графа 𝐺 = (𝑉, 𝐸). Обозначим через [𝑎]~ класс эквивалентности вершины 𝑎 по отношению достижимости, т.е. [𝑎]~ = {𝑏 ∈ 𝑉|𝑎~𝑏}.
валентности по отношению достижимости обладают рядом свойств, присущих классам эквивалентности любого бинарного отношения, а именно:
1) класс эквивалентности любой вершины по отношению достижимости - непустое множество;
2) классы эквивалентности любых двух вершин по отношению достижимости либо не пересекаются, либо совпадают;
3) объединение классов эквивалентности всех вершин графа по отношению достижимости совпадает с самим множеством вершин графа.
Вследствие перечисленных свойств отношение достижимости, заданное на множестве 𝑉 вершин графа 𝐺, порождает разбиение множества 𝑉 на классы эквивалентности по этому отношению.
Опр. Подграф 𝐺a, порождаемый классом эквивалентности [𝑎]~ вершины 𝑎 по отношению достижимости, называют компонентой связности вершины 𝑎.
Другими словами, компонента связности вершины 𝑎 представляет собой подграф графа 𝐺 с множеством вершин [𝑎]~ и множеством ребер, элементами которого являются все те ребра графа 𝐺, концы которых лежат в [𝑎]~.
Компоненты связности графа обладают следующими свойствами:
1) каждая компонента связности - непустой подграф;
2) компоненты связности любых двух вершин либо не пересекаются, либо совпадают;
3) объединение компонент связности всех вершин графа совпадает с самим графом. Вследствие перечисленных свойств совокупность всех различных компонент связности графа образует его дизъюнктное разбиение.
Опр. Число различных компонент связности графа 𝐺 называется числом связности и обозначается 𝑘(𝐺).
Если 𝑘(𝐺) = 1, то граф называется связным. Иными словами, граф связный, если любая пара его вершин соединена путем.
Мосты графа, связь между мостами и циклами.
Ребро 𝑒 графа 𝐺 называется мостом, если 𝑘(𝐺) < 𝑘(𝐺 − 𝑒).
Напомним, что 𝐺 − 𝑒 - это граф, получающийся из графа 𝐺 удалением ребра e.
Если же удалить из графа 𝐺 ребро 𝑒2 = 𝑣2𝑣4 , то получится граф, у которого, так же как у графа 𝐺, одна компонента связности.
Перечислим свойства мостов:
1. Если ребро 𝑒 - мост графа 𝑮, то 𝑘(𝐺 − 𝑒) = 𝑘(𝐺) + 1, т.е. при удалении моста число связности графа увеличивается ровно на единицу (теорема о мостах).
2. Ребро графа является мостом тогда и только тогда, когда оно не содержится ни в одном цикле (теорема о мостах и циклах).
Цикломатическое число графа.
Число 𝑣(𝐺) = |𝐸| − |𝑉| + 𝑘(𝐺) называется цикломатическим числом графа 𝐺 = (𝑉, 𝐸).
Цикломатическое число обладает следующими свойствами:
1) цикломатическое число любого графа неотрицательно, т.е. 𝑣(𝐺) ≥ 0 (теорема о знаке цикломатического числа);
2) цикломатическое число любого графа равно сумме цикломатических чисел его компонент связности, т.е. если 𝐺1, 𝐺2, …, 𝐺k - все компоненты связности графа 𝐺, то 𝑣(𝐺) = ∑ki=1 𝑣(𝐺i).
Линейное пространство циклов.
Пусть 𝐺 - произвольный граф. На множестве циклов графа 𝐺 введем бинарное отношение, которое назовем отношением равенства и определим следующим условием: будем считать, что два цикла равны, если множества их ребер совпадают.
Это бинарное отношение, будучи отношением эквивалентности, разбивает множество циклов данного графа на классы эквивалентности. Далее в этом параграфе, говоря о циклах графа, будем иметь в виду, если не оговорено противное, классы эквивалентности, а не отдельных их представителей. Эти классы эквивалентности назовем абстрактными циклами. Любой абстрактный цикл 𝐶 задается множеством своих ребер.
Обобщенным циклом будем называть абстрактный цикл или объединение непересекающихся абстрактных циклов. В число обобщенных циклов включим также цикл без ребер; назовем его пустым циклом и обозначим символом ∅.
На множестве всех обобщенных циклов графа 𝐺 введем две операции:
а) операцию ⊕ сложения по модулю 2: суммой обобщенных циклов 𝐶1 и 𝐶2 назовем обобщенный цикл 𝐶1 ⊕ 𝐶2 с множеством ребер
{𝑒|((𝑒 ∈ 𝐸1) ∧ (𝑒 ∉ 𝐸2)) ∨ ((𝑒 ∉ 𝐸1) ∧ (𝑒 ∈ 𝐸2))}
(здесь 𝐸1 и 𝐸2 - множества ребер обобщенных циклов 𝐶1 и 𝐶2 соответственно);
б) операцию умножения на 0 и 1: 0 ⋅ 𝐶 = ∅; 1 ⋅ 𝐶 = 𝐶.
Множество всех обобщенных циклов графа 𝐺 с операциями сложения по модулю 2 и умножения на 0 и 1 образуют линейное пространство (убедиться в выполнении восьми аксиом линейного пространства несложно).
Операция ⊕ естественным образом распространяется на любое конечное число обобщенных циклов.
Линейной комбинацией обобщенных циклов 𝐶1, 𝐶2, ..., 𝐶n назовем выражение 𝛼1 ⋅ 𝐶1 ⊕ 𝛼2 ⋅ 𝐶2 ⊕...⊕ 𝛼n ⋅ 𝐶n, где 𝛼i ∈ {0,1}.
Говорят, что система обобщенных циклов 𝐶1, 𝐶2, ..., 𝐶n зависима, если найдется набор чисел 𝛼1, 𝛼2, ... , 𝛼n, не все из которых равны 0, такой, что 𝛼1 ⋅ 𝐶1 ⊕ 𝛼2 ⋅ 𝐶2 ⊕...⊕ 𝛼n ⋅ 𝐶n = ∅. В противном случае систему обобщенных циклов 𝐶1, 𝐶2, ..., 𝐶n называют независимой. Система обобщенных циклов 𝐶1, 𝐶2, . . . , 𝐶k графа 𝐺 образует базис линейного пространства циклов, если она удовлетворяет двум условиям:
1) 𝐶1, 𝐶2, . . . , 𝐶k линейно независима;
2) любой обобщенный цикл 𝐶 графа 𝐺 может быть представлен в виде линейной комбинации обобщенных циклов 𝐶1, 𝐶2, . . . , 𝐶k .
Базис линейного пространства циклов называют фундаментальной системой циклов.
Алгоритм построения фундаментальной системы циклов.
1-й шаг. Находим в графе 𝐺 какой-либо обобщенный цикл 𝐶1 и удаляем из него ребро 𝑒ଵ («разрываем» цикл). Получаем граф 𝐺ଵ.
𝑘 -й шаг. В графе 𝐺k-1, построенном на (𝑘 − 1)-м шаге, находим какой-либо обобщенный цикл 𝐶k и удаляем из него произвольное ребро 𝑒k. Получаем граф 𝐺k.
Если в графе 𝐺k циклов нет, то 𝐶1, 𝐶2, . . . , 𝐶k - искомая фундаментальная система циклов. Если в графе 𝐺k обобщенные циклы остались, то повторяем 𝑘 -й шаг.
