- •1. Множества и бинарные отношения
- •Множества
- •Определения и примеры
- •1.1.1 Множество
- •Операции над множествами
- •Элементы комбинаторики
- •Бинарные отношения
- •Определения и примеры
- •2.1.2 Отображения
- •Операции над отношениями
- •Выполнение операций над отношениями
- •Свойства отношений
- •Эквивалентность и толерантность
- •2.4.1 Эквивалентность
- •2.4.3 Толерантность
- •2.4.6 Задача о наименьшем покрытии (ЗНП)
- •Алгоритм решения ЗНР
- •Отношения порядка
- •Строгий порядок
- •Свойства строгого порядка
- •Некоторые свойства дерева
- •Анализ отношений порядка
- •2.5.8 Решетки
- •2.5.10 Решетка
- •2.5.11 Булева решетка
- •Нормированные булевы решетки
- •Модели нормированной булевой решетки
- •Булевы функции (БФ)
- •Определения и примеры
- •Равенство булевых функций
- •3.3.1 СДНФ
- •3.3.3 СКНФ
- •3.3.5 Представление формул в СДНФ и СКНФ
- •Минимизация булевых функций
- •3.4.1 Импликанта
- •Полные системы булевых функций
- •2. Математическая логика
- •Логика высказываний
- •Основные понятия
- •4.1.7 Логическое следствие
- •4.1.8 Теоремы о логическом следствии
- •Логика предикатов
- •5.0.13 Связанные и свободные переменные
- •Предваренная нормальная форма
- •Стандартная нормальная форма
- •Подстановки и унификация
- •Метод резолюций для логики первого порядка
- •Исчисление высказываний
- •3. Графы
- •Определения и примеры
- •Определения графа
- •Части графа
- •Изоморфизм графов
- •Задание графов с помощью матриц
- •Матрица инциденций
- •Матрица соседства вершин
- •Матрица смежности
- •Типы графов
- •Обыкновенные графы
- •Графы Бержа
- •Помеченные и взвешенные графы
- •Другие способы задания графа
- •Связность графов
- •Маршруты, цепи, циклы
- •Число маршрутов
- •Компоненты связности
- •Нахождение компонент и бикомпонент
- •Кратчайшие цепи
- •Алгоритм Форда
- •Алгоритм Дейкстры
- •Обходы графа
- •Поиск в глубину на графе
- •Поиск в ширину на графе
- •Эйлеровы цепи и циклы
- •Эйлеровы пути
- •Гамильтоновы цепи и циклы
- •Цикломатика графов
- •Цикломатическое число
- •Деревья
- •Свойства дерева
- •Каркасы
- •Алгоритм нахождения каркаса графа.
- •Кратчайший каркас графа.
- •Алгоритм Прима.
- •Теорема о хорде каркаса.
- •Число каркасов графа.
- •Разрезы
- •Пространства суграфов
- •Пространство циклов
- •Пространство разрезов.
- •Потоки в сетях
- •Задача о максимальном потоке
- •Постановка задачи
- •Экстремальные части графа
- •Основные понятия
- •Покрытия
- •Задача о наименьшем покрытии
- •Паросочетания
- •Раскраска вершин графа
- •Хроматическое число
- •Оценки хроматического числа
- •Точные алгоритмы раскраски вершин
287
Глава 11
Раскраска вершин графа
11.1 Хроматическое число
Определение. Граф называется k-хроматическим, если его вершины могут быть раскрашены с помощью k цветов так, чтобы смежные вершины не были окрашены в один цвет.
Другими словами, граф является k-хроматическим, если существует такое разбиение множества его вершин на k неперескающихся классов
X1; X2; : : : ; Xk; X = Sk Xi; Xi \ Xj = Â; i =6 j,
i=1
что вершины в каждом классе попарно несмежны, то есть ребра в G соединяют вершины только из разных классов. Такое разбиение называется раскраской вершин графа. В таком представлении раскраска есть не что иное как покрытие графа G некоторой системой пустых подграфов.
З а м е ч а н и е. Для раскраски несущественны ориентация ребер, кратность ребер, а существенно лишь отношение смежности. Поэтому для графа общего вида можно перейти к его скелету.
I
Вставить примеры
Наименьшее число цветов, в которое могут быть окрашены вершины графа G называется хроматическим числом и обозначается
°(G).
Некоторые свойства хроматического числа
288 |
Глава 11. Раскраска вершин графа |
|
|
1.Если G1; G2; : : : ; G· – компоненты связности графа G, то
°(G) = maxf°(G1); : : : ; °(G·)g
2.Если G = (X; U) – произвольный обыкновенный граф, а G+ –
надграф, полученный добавлением к G вершины x0, смежной со всеми вершинами графа G, то
°(G+) = °(G) + 1.
11.2 Оценки хроматического числа
1. Очевидно,
1 · °(G) · n(G)
Эта оценка точная, так как нижняя граница достигается для пустого, а верхняя для полного графа.
2.Нижняя оценка
'(G) · °(G)
также является точной, так как достигается для полных графов. Верхнюю же оценку в терминах плотности указать в общем случае нельзя, так как при любой плотности ¸ 2 можно построить граф со сколь угодно большим хроматическим числом.
Оценки через степени вершин графа
Обозначим через ¾(G) = max s(xi) наибольшую степень вер-
xi2X
шины в G и назовем ее степенью графа.
3. Оценка Брукса
°(G) · ¾(G) + 1
является точной, так как для полного графа выполняется равенство.
Известны также следующие оценки. Упорядочим степени вершин графа в неубывающем порядке
s(1) ¸ s(2) ¸ : : : ¸ s(n)
11.3. |
Точные алгоритмы раскраски вершин |
289 |
|||||||||
|
|
|
|
|
|
|
|
|
|||
4. |
Верхняя оценка |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|||
|
max min |
f |
s(i) + 1; i |
g |
|
(оценка Powell, Walsh) |
|
|
|||
|
°(G) · 1 |
· |
n |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
5. |
Нижняя оценка. Пусть aj |
определена рекурсивно |
|
|
|||||||
|
|
|
iP |
|
|
P |
|
|
|
||
|
|
j¡1 |
|
|
|
j |
|
|
|
|
|
|
aj = n ¡ s( =1 ai + 1), где |
|
i |
|
ai = 0, если j < i. |
|
|
Пусть k – некоторое целое, для которого kP¡1 < n; тогда k ·
j=1
°(G) (оценка Bondy).
Использование оценок для раскраски вершин Нижние оценки хроматического числа используются в тех алгоритмах раскраски вершин, которые начинают раскраску с минимально возможного числа цветов (с нижней оценки) и постепенно добавляют их.
Верхние – если алгоритм использует перекрашивание в меньшее число цветов, начиная с заведомо большего чем °(G).
11.3 Точные алгоритмы раскраски вершин
Так как при любой допустимой раскраске вершин графа G множество вершин, окрашиваемых в один цвет должно быть пустым подграфом, то всякую раскраску можно интерпретировать как разбиение множества вершин графа на пустые подграфы. Далее, если пустые подграфы расширить до максимальных, то раскраску можно интерпретировать как покрытие вершин графа максимальными пустыми подграфами. В этом случае некоторые вершины могут войти более чем в один максимальный пустой подграф. Это означает существование различных раскрасок (вершину из разных Xi; Xj можно окрасить в любой из цветов i; j).
Алгоритм раскраски вершин графа тогда сводится к следующему. Каким-либо методом находятся все максимальные пустые подграфы (например, как дополнение к вершинно-реберному покрытию), а затем