- 3 Покрывающие деревья (остовы)
- Алгоритм построения покрывающего дерева для произвольного невзвешенного графа g
- Алгоритм выделения минимального остовного дерева в неориентированном взвешенном графе g
- Лекция 12 Двудольные и планарные графы
- 1 Двудольные графы
- 3.5. Дерево. Остов
- Пример 3.7
- 3.5.3. Алгоритм построения системы независимых циклов графа
- Пример 3.12
- 3.6. Алгоритм кратчайшей раскраски графа
- Лекция 11
- Базовые понятия и утверждения
- 1. Определение и основные свойства деревьев.
3 Покрывающие деревья (остовы)
Цикломатическим числом неориентированного графа G называется величина γ(G) = т — п + k, где т — число ребер, п — число вершин, k — число связных компонент. Для дерева и леса γ (G) = 0, для других графов γ (G) > 0.
Остовом, или покрывающим деревом, связного графа G=(V, E) называется часть G, которая содержит все его вершины и является деревом. Хордой остова графа G называется ребро G, не принадлежащее остову.
Очевидно, что любой связный граф имеет хотя бы один остов, а любой несвязный граф остова не имеет.
В последующем алгоритме части исходного графа G, которые возникают в процессе построения покрывающего дерева, будем называть букетами.
Алгоритм построения покрывающего дерева для произвольного невзвешенного графа g
1. Выбрать любое ребро G, не являющееся петлей. Пометить его меткой α и объявить букетом это ребро вместе с его концевыми вершинами.
2. Выбрать любое непомеченное ребро G, не являющееся петлей:
а) если один из концов выбранного ребра принадлежит построенному ранее букету В, а другой конец свободен (не принадлежит ни одному букету), пометить выбранное ребро меткой α, включить его вместе со свободным концом в букет В и перейти к шагу 3;
б) если оба конца выбранного ребра свободны, пометить его меткой а, объявить это ребро вместе с его концевыми вершинами новым букетом и перейти к шагу 3;
в) если концы выбранного ребра принадлежат разным построенным ранее букетам В и С, пометить выбранное ребро меткой α, включить его и букет С в букет В и перейти к шагу 3;
г) если оба конца выбранного ребра принадлежат одному букету, пометить его меткой β и перейти к шагу 3;
д) если непомеченных ребер нет, закончить алгоритм.
3. Если все вершины графа G вошли в один букет, закончить алгоритм. Если нет, перейти к шагу 2.
Алгоритм выделения минимального остовного дерева в неориентированном взвешенном графе g
- Выберем в графе G ребро минимальной длины. Вместе с инцидентными ему двумя вершинами оно образует подграф G2 графа G. Положим i:=2.
- Если i=n(G), то задача решена и Gi – искомое минимальное остовное дерево графа G. Иначе переходим к шагу 3).
- Строим граф Gi+1. Для этого добавим к графу Gi новое ребро минимальной длины из оставшихся, которое инцидентно какой-либо вершине графа Gi и одновременно вершине, не содержащейся в Gi. Вместе с этим ребром включаем в Gi+1 и эту инцидентную ему вершину. Присваиваем i:=i+1 и переходим к шагу 2.
Лекция 12 Двудольные и планарные графы
1 Двудольные графы
Двудольным графом G=(X, Y, Е) называется неориентированный граф, вершины которого можно разбить на два класса X и Y так, что концы каждого ребра принадлежат разным классам. Двудольный граф называется полным, если каждая вершина одной доли соединена с каждой вершиной другой доли, полный двудольный граф принято обозначать символом
Источник
3.5. Дерево. Остов
т. е. число ребер в дереве на единицу меньше числа вершин.
Ниже на рис. 3.7 приведены примеры деревьев.
Пример 3.7
Остов — это подграф (частичный граф), который может быть построен из графа удалением некоторых ребер и который является деревом.
В общем случае для графа можно построить несколько остовов. Для приведенного ниже графа построен один из возможных вариантов остова.
Для несвязного графа рассматриваются отдельные его компоненты. Остов такого графа — совокупность его компонент.
3.5.1. Алгоритм построения произвольного остова. Рассмотрим словесное описание алгоритма:
1. Для каждой компоненты i графа выполняем пункты 2 и 3.
2. Строим частичный подграф, содержащий все ni вершин i-й компоненты и не содержащий ребер (0- граф).
3. Если в текущий частичный граф включены уже ni-1 ребер, то остов для компоненты i построен, иначе выбираем очередное ребро компоненты и пытаемся его включить в текущий граф.
Если в текущем графе это не приводит к образованию цикла, то включаем ребро, иначе — не включаем. Ребро считаем рассмотренным. Выполняем п. 3.
Так как цикл не образовался, то все рёбра с номерами 1, 2, 3, 4 включены в остов. Проверяем по (3.3): m=4, n=5 и 4=5-1.
3.5.2. Алгоритм построения минимального остова. Для взвешенного графа остов с наименьшей суммой весов для вошедших в него рёбер называется минимальным (кратчайшее связное дерево).
Если в сформулированном ранее алгоритме построения обычного остова рассматривать рёбра в порядке возрастания их весов, то будет построен минимальный остов.
3.5.3. Алгоритм построения системы независимых циклов графа
1. Строится произвольный остов графа. В исходном графе отмечаются рёбра, не включенные в остов.
2. Выбирается очередное отмеченное ребро и строится цикл, содержащий это ребро и рёбра остова. Рассмотренное ребро отмечается и, если есть ещё не отмеченные рёбра, то выполняется пункт 2, иначе — пункт 3.
3. По формуле Эйлера (3.2) производится проверка числа построенных циклов.
Пример 3.12
Рис 3.12
1)(X2,X4)(X4,X5)(X5,X1)(X1,X3);
2)(X3,X5)(X5,X1)(X1,X2)(X2,X3);
3)(X3,X4)(X4,X5)(X5,X1)(X1,X2)(X2,X3).
3.6. Алгоритм кратчайшей раскраски графа
Раскраска представляет собой маркирование вершин графа таким образом, чтобы у смежных вершин маркеры не совпадали. Вместо красок используются числа 0, 1, 2… Условие оптимальности раскрашивания — использование минимального числа красок . Это число называется хроматическим числом графа.
Граф, который можно представить на плоскости без пересечения его рёбер, называется плоским.
Теорема. Для плоских графов 4.
Отметим, что проблема раскраски — алгоритмически неразрешима.
Пример 3.13. Рассмотрим граф G (рис. 3.13). Убедившись в том, что он – плоский (ребро (x1, x5) может быть проведено вне контура (x1, x2, x3, x5)), произведём его раскраску. Имеем: =3 (краски 0, 1, 2).
В общем случае строим таблицу для определения максимальных внутренне-устойчивых подмножеств множества вершин графа, т. е. множеств несмежных вершин графа. Строки таблицы – внутренне-устoйчивые множества. Столбцы этой таблицы — номера вершин графа, а последний столбец — имя очередного максимального внутренне-устойчивого подмножества.
Несмежные вершины отмечены в таблице единицами. Далее решается задача построения одного кратчайшего покрытия (методом минимального столбца — максимальной строки). Вершины, принадлежащие каждому подмножеству, вошедшему в найденное кратчайшее покрытие, окрашивается одной краской. Если некоторая вершина принадлежит нескольким вошедшим в покрытие подмножествам, то она в одном остаётся, из остальных исключается. Для нашего примера получим три подмножества: Y1,Y2,Y3, определяющие три краски 0, 1, 2 соответственно.
как показано на рис. 3.13, если x1 покрасить краской 0, то все смежные с ней вершины x2, x3, x4, x5 нельзя покрасить 0. Вершины x2, x4 — смежные, для них необходимы две разные краски (1 и 2); аналогично для x3, x4. Однако вершины x2, x3 — не смежные, и их можно покрасить одной краской.
Таким образом, изображенная на рис. 3.13 раскраска — минимальна.
Источник
Лекция 11
Дерево. Лес (ациклический граф). Остовный подграф. Остов. Взвешенный граф. Минимальный остов. Кодирование деревьев.
Базовые понятия и утверждения
1. Определение и основные свойства деревьев.
Определение. Граф называется деревом, если он связный и в нем нет циклов.
Одноэлементный граф, т.е. граф, имеющий одну вершину и не имеющий ребер, также считается деревом.
Граф называется лесом (или ациклическим графом), если в нем нет циклов. Очевидно, что каждая компонента связности леса — дерево.
Пример 1. Граф
Пример 2. Представьте диаграммами все (с точностью до изоморфизма) деревья с пятью вершинами.
◄ Имеется три различных (с точностью изоморфизма) дерева с пятью вершинами (рис. 3.22 — 3.24). ►
Деревья обладают рядом характеристических свойств, по наличию или отсутствию каждого их которых в рассматриваемом графе можно определить, является граф деревом или нет. Перечислим эти свойства:
1) граф
2) граф
3) граф — дерево в том и только в том случае, когда он связный, и каждое его ребро является мостом;
4) граф
5) граф — дерево в том и только в том случае, когда в нем нет циклов и добавление к нему нового ребра приводит к образованию единственного простого цикла.
Также приведем одно из характеристических свойств леса: граф
2. Остовы графа. Подграф
Остовом обыкновенного графа называется его остовный подграф, являющийся деревом.
Пусть
Пусть теперь
.
Таким образом, чтобы получить остовный подграф, нужно, последовательно разрушая циклы графа, удалить из него число ребер, равное его цикломатическому числу.
Пример 3. Построим остов графа
Источник