Раскраска графа
Задачи раскраски вершин или ребер графа занимают важное место в теории графов. К построению раскрасок сводится целый ряд практических задач. Характерной особенностью этих задач является существование объектов, которые по каким-либо причинам не могут быть объединены в одну группу.
Пусть G – некоторый граф, k – натуральное число. Произвольная функция вида f: V → {1,2,…,k} называется вершинной k-раскраской или просто k-раскраской графа G.
Раскраска называется правильной, если f(v)≠f(u) для любых смежных вершин v и u. Граф, для которого существует правильная k-раскраска, называется k-раскрашиваемым.
Минимальное число k, при котором граф G является k-раскрашиваемым, называется хроматическим числом этого графа и обозначается χ (G). Если χ (G)=k, то граф называется k-хроматическим. Правильная k-раскраска графа при k =χ (G) называется минимальной.
Алгоритм раскрашивания графов
Выберем в графе G некоторое максимальное независимое множество вершин U. Покрасим все вершины данного множества в один цвет.
Выберем максимальное независимое множество вершин U1 в графе G1, который получается из графа G удалением множества вершин U и всех инцидентных им ребер. Покрасим вершины множества U1 в очередной цвет.
Шаг 2 повторять до тех пор, пока в графе G не будут раскрашены все вершины.
Реберной k-раскраской графа G называется функция φ, ставящая в соответствие каждому его ребру x число φ(x) из множества {1,2,…,k}. Реберная окраска называется правильной, если смежные ребра имеют разные цвета. Граф, допускающий правильную реберную k-раскраску, называется реберно k-раскрашиваемым. Минимальное число k, при котором граф G является реберно k-раскрашиваемым, называется хроматическим классом (хроматическим индексом или реберным хроматическим числом) графа G и обозначается через χ ‘(G). Если χ ‘(G)=k, то граф называется реберно k-хроматическим.
Поскольку ребра любого графа G смежны тогда, когда смежны соответствующие вершины реберного графа L(G) (правило построения реберного графа смотри ниже), то χ ‘(G) можно определить как хроматическое число графа L(G), т.е. χ ‘(G)=χ (L(G)).
Найти хроматическое число заданного графа, используя алгоритм с возвратом для нахождения независимых множеств, указать, какие вершины в какой цвет окрашиваются.
Найти хроматический класс заданного графа, используя алгоритм с возвратом для нахождения независимых множеств, указать, какие ребра в какой цвет окрашиваются.
Найти хроматическое число заданного графа, используя алгоритм Магу для нахождения независимых множеств, указать, какие вершины в какой цвет окрашиваются.
Найти хроматический класс заданного графа, используя алгоритм Магу для нахождения независимых множеств, указать, какие ребра в какой цвет окрашиваются.
Паросочетания
Не менее важным, чем понятие вершинной независимости, является понятие реберной независимости.
Произвольное подмножество попарно несмежных ребер графа называется паросочетанием ( или независимым множеством ребер).
В качестве иллюстрации рассмотрим граф, изображенный на рис.2. В нем паросочетаниями являются, например, х1,х3,х5,х7, х1, х2, х2,х6.
х1 х2 х3 х4 х5 х6 х7
Рис. 2.
Паросочетание графа G называется максимальным, если оно не содержится в паросочетании с большим числом ребер, и наибольшим, если число ребер в нем наибольшее среди всех паросочетаний графа G.
Число ребер в наибольшем паросочетании графа G называется числом паросочетания и обозначается 1(G).
Независимые множества ребер графа G находятся во взаимно однозначном соответствии с независимыми множествами вершин реберного графа L(G)=(V1,X1), который для графа G=(V,X) определяется следующими двумя условиями:
V1 = X,
вершины х1 и х2 смежны в L(G) тогда и только тогда, когда ребра х1 и х2 смежны в G.
На рис. 3 изображены два графа – G и L(G). Вершины графа G – темные кружки, вершины графа L(G) – светлые кружки. Ребра графа G – тонкие линии, ребра графа L(G) – жирные линии.
Рис. 3
Найти все максимальные паросочетания в заданном графе, используя алгоритм с возвратом для нахождения независимых множеств.
Найти все максимальные паросочетания в заданном графе, используя алгоритм Магу для нахождения независимых множеств.
Найти наибольшее паросочетание в заданном графе, используя алгоритм с возвратом для нахождения независимых множеств.
Найти наибольшее паросочетание в заданном графе, используя алгоритм Магу для нахождения независимых множеств.
- Раздел 2.Независимые множества вершин и родственные задачи
- Независимые множества
- Метод Магу для нахождения максимальных внутренне устойчивых подмножеств орграфа
- Метод Магу для нахождения семейства минимальных внешне устойчивых подмножеств орграфа
- Найти все минимальные опоры в заданном орграфе, используя алгоритм с возвратом для нахождения независимых множеств.
- Найти наименьшую опору в заданном орграфе, используя алгоритм с возвратом для нахождения независимых множеств.
- Найти все максимальные клики в заданном орграфе, используя алгоритм нахождения независимых множеств.
- Найти наибольшую клику в заданном орграфе, используя алгоритм нахождения независимых множеств.
- Раскраска графа