
Раскраска в графах
Раскраска связана с решением задач оптимизации: Задан граф G. Нужно раскрасить вершины графа в разные цвета так, чтобы смежные вершины были окрашены в разные цвета, а при раскраске использовался минимум разных цветов. Минимальное количество цветов связано с понятием хроматического числа.
Определения:
1. Множество вершин графа называется внутренне устойчивым, если у любой пары вершин этого множества отсутствует соединительное ребро.
2. Множество вершин графа называется максимальным внутренне устойчивым, если при добавлении к нему одной вершины оно превращается во внутренне неустойчивое.
3. Множество вершин графа называется внутренне неустойчивым, если в нем найдется хотя бы одна пара вершин, связанная ребром.
Пример: Задан граф без петель. Выполним разбиение вершин графа на внутренне устойчивые взаимно непересекающиеся подмножества.
Вариантов
несколько:
1 |
2 |
3 |
А1 = {1, 4} |
А1 = {1, 5, 7} |
А1 = {3, 5, 7} |
А2 = {2, 5, 8} |
А2 = {2, 4, 8} |
А2 = {2, 4, 8} |
А3 = {3, 6} |
А3 = {3, 6} |
А3 = {1, 6} |
А4 = {7}
Тогда каждому множеству Ai в каждом варианте разбиений можно сопоставить свой цвет.
Варианты 2 и 3 требуют 3-х цветов, 1 – 4-х цветов для раскраски.
Граф называется K-хроматическим, если он допускает раскраску своих вершин в K цветов при условии, что смежные вершины окрашены в разные цвета.
Минимальное число
K
цветов, при котором граф ещё остается
K-хроматическим,
называется хроматическим
числом. Его
можно получить (как в примере) перебором
всех вариантов разбиения множества
вершин на множество взаимно непересекающихся
внутренне устойчивых подмножеств.
Выбирается вариант с минимальным числом
подмножеств. Это и есть хроматическое
число
.
Функция Гранди
Функция Гранди – это частный случай раскраски графа. Она не дает точного хроматического числа, но является оптимизатором раскраски.
Будем говорить,
что функция
является функцией Гранди, если в каждой
вершине xi
графа значение
представляет собой наименьшее целое
положительное число, которое не
принадлежит множеству чисел
в смежных с вершиной xi
вершинах xj.
Если необходимо покрасить вершину xj графа, смежную с вершинами xr, xn и xk, которые уже выкрашены, например, в цвета с номерами 0, 1 и 3, то вершина xj красится в цвет, номер которого минимален и не равен номерам цветов смежных вершин – значит в цвет 2.
Общий подход к раскраске графа с помощью функции Гранди сводится к следующему:
1. На графе выбирают произвольную вершину. Её окрашивают в цвет, номер которого минимален.
2. Выбирают вершину графа, смежную с окрашенной, и красят её в цвет, номер которого минимален и не равен номеру цвета окрашенной вершины.
3. Далее ищут, если это возможно, вершину, смежную с окрашенными, и красят её в цвет, номер которого минимален и не равен номерам цветов окрашенных вершин.
4. Логически продолжают п. 3, ищут вершину, смежную с 3-мя и т.д. пока это возможно.
5. Далее окрашивают оставшиеся вершины согласно п. 1, 2, 3, 4.
Числом внутренней
устойчивости графа
называется
максимальная мощность максимального
внутренне устойчивого множества вершин.
Из 3-х вариантов разбиения вершин графа 1, 2, 3 выпишем максимальное внутренне устойчивое подмножество:
2 вариант,
,
,
то есть
задает
максимальное число вершин графа, не
связанных друг с другом.
Задача. Необходимо разместить по ящикам следующие грузы:
1 – рыба в пакетах
2 – книги
3 – консервы в металлических банках
4 – мягкие игрушки
5 – техническая документация
6 – мука в бумажных пакетах
7 – ткань в рулонах
Выбрать минимальное число ящиков так, чтобы положенные в один ящик грузы не мешали друг другу.
Соединяем рёбрами те вершины, грузы которых нельзя помещать в один ящик.
N1 = {1, 3}, N2 = {2, 4, 5, 7}, N3 = {6}
Необходимо 3 ящика.