Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория и практика построения и применения сетей и графов. Учебное пособие
.pdf
1.4. Раскрашивание графов
61
H является графом (не мультиграфом) с δ(H) ≥ 3. Но тогда теорема 22 подразумевает, что H имеет K4-подразделение.
Графы, которые последовательно параллельны, имеют естественную связь с 2-деревьями.
Теорема 24. Граф G не содержит K4-разбиения тогда и только тогда,
когда G содержится в 2-дереве.
Доказательство необходимости. Из теоремы 21 непосредственно вытекает доказательство утверждения, что граф G не содержит K4-разбиения,
если граф G содержится в 2-дереве.
Доказательство достаточности. Предположим, что G не содержит
K4-подразделения и, наоборот, не содержится в 2-дереве. Мы можем предположить, что G – это минимальный контрпример. Таким образом, G является 2-связным. Теперь G не является 3-связным, так как каждый 3-связный
граф содержит K4-подразделение. Таким образом, k(G) = 2, поэтому G
имеет набор разрезов S = {u, v}. Мы можем добавить uv, если его ещё нет,
поскольку каждый S-лепесток содержит (u − v)-путь. Тогда каждый лепесток из G + uv содержится в 2-дереве, поэтому идентификация их по uv
приводит к получению графа, который содержится в 2-дереве.
Это означает, что любой последовательно-параллельный граф
(не мультиграф) имеет размер не более 2n − 3, а 2-деревья являются экстремальными графами, т.е. имеют размер равный 2n − 3.
Определение. Ширина дерева tw(G) графа G – это минимальное значение k, такое, что G является подграфом некоторого k-дерева. Частичное
k-дерево – это граф с шириной дерева не более k. Таким образом, все последовательно-параллельные графы имеют ширину дерева 2 (кроме путей).
Леса – это в точности графы с шириной дерева 1. Обратите внимание, что
D(G) ≤ tw (G). Ширина дерева является важным параметром в информатике, поскольку многие проблемы, которые неразрешимы для графов в целом, решаемы для графов с ограниченной шириной дерева.
1.4. Раскрашивание графов
Пример. Шесть студентов-математиков будут посещать семь различных математических дисциплин, обозначаемых буквами A, B, … G.
Расписание занятий студентов приведено ниже. Мы моделируем эту

1. Теоретические основы построения графов
62
ситуацию с помощью графа. Каждая вершина представляет собой дисциплину. Установим связь между двумя дисциплинами, когда их изучает
один студент. Таким образом, на граф накладываются, например, рёбра
AD, AG и DG, так как студент Алексей желает изучать три дисциплины –
A, D и G (табл. 1.4).
Таблица 1.4
Таблица расписания занятий
Студенты
Дисциплины
Алексей
A, D, G
Борис
B, E
Кирилл
A, C, G
Денис
C, E
Елена
E, F
Фёдор
B, D, F
Таким образом, мы построим граф, известный как веретено Мозера9
(рис. 1.36).
Рис. 1.36. Граф, иллюстрирующий расписание занятий студентов (слева)
и его раскраска (справа)
Естественный вопрос заключается в том, как составить расписание за-
нятий? Если вершина находится в какой-то одной строке, то её соседи
должны находиться в разных слотах. Вершины A, D и G должны находиться
в трёх разных слотах; обозначим их 1, 2 и 3. Если мы попытаемся запланиро-
вать остальные дисциплины в трёх слотах, то обнаружим, что дисциплина C
9
О сложности распознавания некоторых классов геометрических графов /
Режим доступа: https://www.pdmi.ras.ru/pdmi/system/files/dissertations/thesis2.pdf,
(дата обращения 21.07.2023).

1.4. Раскрашивание графов
63
должна быть в слоте 2. А вершины B и F должны использовать слоты 1 и 3.
Однако мы обнаруживаем, что невозможно запланировать вершину E в слотах 1, 2 или 3, поэтому необходим четвёртый слот.
Мы обозначим каждый слот своим цветом, а процесс, который мы
только что завершили, называют раскрашиванием. Минимальное количество цветов, которое можно использовать на графе, это его хроматическое число.
Рассмотрим ещё примеры разных ситуаций, которые можно анализировать, используя идеи раскрашивания графа.
Пример. В большом аквариуме есть несколько отдельных ёмкостей
с тропическими рыбками. Некоторые виды рыб будут нападать на другие
виды, если они находятся в одном пространстве. «Конфликты» описаны в
табл. 1.5, где крестик указывает на то, что вид рыбки, записанной в строке,
будет атаковать вид рыбки, записанной в столбце.
Таблица 1.5
«Конфликты» между видами рыб
Виды рыб
A B C D E F G A
B X X
C X X X D X X X E X X F G X X
Граф на рис. 1.37 моделирует данную ситуацию. Его можно раскрасить тремя цветами. Есть три вида рыбок, которые конфликтуют друг с другом (например, A, B и E), поэтому три резервуара или три слота – это минимально допустимое количество.
Пример. Телевизионные станции не могут вещать на одном и том же
канале, если они находятся на некотором расстоянии D друг от друга. Мы
можем смоделировать эту ситуацию с помощью графа, где вершины представляют телевизионные станции, а ребра соединяют станции в пределах
D миль. Чтобы свести к минимуму количество используемых каналов, мы
хотим свести к минимуму количество цветов, используемых при раскраске
этого графика.

1. Теоретические основы построения графов
64
Рис. 1.37. Граф, моделирующий поведение рыб и его раскраска
В табл. 1.6 указаны расстояния между семью городами. Предполагае-
мое ограничения на расстояние между городами – 100 км. Граф на рис. 1.38
моделирует эту ситуацию. Его можно раскрасить четырьмя цветами.
Таблица 1.6
Расстояние между городами
Города
A B C D E F G A
57
141
82
130
51
171 B 100
48
109
94
160 C
59
47
141
94 D 61
90
114 E
113
55 F 139 G
Рис. 1.38. Граф, моделирующий расположение городов

1.4. Раскрашивание графов
65
Эти примеры иллюстрируют тот факт, что техника раскраски графов
имеет множество полезных применений в разных областях.
Определение. Раскраска вершин графа присваивает по одному цвету
каждой вершине. Правильная раскраска вершин требует, чтобы соседние
вершины были окрашены по-разному.
Хотя используемые для раскрашивания графа цвета могут быть реальными (красный, зеленый, синий, …), обычно используют натуральные
числа 1, 2, …, k для обозначения разных цветов.
Определение. K-раскраска графа – это правильная раскраска вершин, использующая цвета 1, …, k (не обязательно все из них). Граф является k-раскрашиваемым, если он имеет k-раскраску.
Хроматическое число χ(G) – это минимальное количество цветов,
используемых в любой k-раскраске графа G. Граф с χ(G) = k называется
k-хроматическим. Минимальная раскраска графа – это раскраска с использованием χ(G) цветов. Класс определённого цвета – это все вершины с одинаковым цветом в некоторой раскрашенном графе.
K-раскраску G можно рассматривать как функцию f: V (G) → [k].
Однако использование функциональной нотации лишь изредка полезно
при обсуждении раскраски графа.
Чтобы определить хроматическое число графа, полезно иметь границы, которые легче вычислить. Совершенно очевидно, что 1 ≤ χ (G) ≤ n.
Экстремальным графом для нижней границы является пустой граф,
поскольку только граф без рёбер может быть раскрашен одним цветом.
Экстремальным графом для верхней границы является Kn, поскольку
только граф со всеми возможными рёбрами требует разного цвета для каждой вершины. Чтобы точно определить хроматическое число, нам понадобятся более точные оценки. Полезно следующее наблюдение.
Утверждение 12. Если
GH
, то χ (H) ≤ χ (G).
Доказательство. Раскраска G цветами χ (G) может быть ограничена
значением H.
Определение. Количество клик ω(G) графа G равно размеру наибольшей клики этого графа.
Следовательно, получаем ещё ограничение, что для любого графа G,
χ (G) ≥ ω (G).

1. Теоретические основы построения графов
66
Определение. Число независимости α(G) графа G равно размеру
наибольшего независимого множества G.
Число независимости и номер клики являются взаимодополняю-
щими параметрами, поскольку
(G) α = )G( ω
, и наоборот. Это означает, что
начало (α) графа пусто, а конец (ω) завершён. Для небольших графов число
независимости и номер клики могут быть определены путём проверки. Для
более крупных графов требуется систематическое обоснование или исчерпывающий поиск. Любой цветовой класс в правильной раскраске вершин
является независимым множеством. K-раскраска разбивает множество вершин на k цветовых классов. Хроматическое число – это наименьшее число
независимых множеств, на которые может быть разбит V(G).
Утверждение 13. Для любого графа G выполняется
α(G)
n
χ(G)
.
Доказательство. Пусть k = χ (G), значит, G имеет цветовые классы
V1, …, Vk для некоторой k-раскраски. Тогда
α(G)*k|V|n
k
1i
i
=
=
. Таким
образом, получаем оценку
α(G)
n
χ(G)
.
В итоге мы имеем две нижние оценки хроматического числа графа.
Пример. Найдите ω, α и χ для графа типа веретено Мозера на
рис. 1.38. Веретено Мозера имеет ω(G) = 3, причём {A, D, G} является одним из четырёх треугольников. Он имеет α(G) = 2, причём {C, D} – одно из
многих независимых множеств размера 2. Согласно определению и следствию из него, χ (G) ≥ 3, а утверждение 12 даёт оценку χ (G) ≥ 7 / 2 = 3,5.
Поскольку хроматическое число должно быть целым числом, χ (G) ≥ 4. На
рис. 1.39 показана 4-цветная раскраска, таким образом, χ (G) = 4.
Рис. 1.39. Пример раскраски графа

1.4. Раскрашивание графов
67
Пример. Граф на рисунке 1.38 имеет ω (G) = 3 и α (G) = 3, причём три
вершины степени 2 являются уникальным максимальным независимым множеством. Это подразумевает нижние границы χ (G) ≥ 3 и χ (G) ≥ 6 / 3 = 2 для
хроматического числа. На рисунке показана трёхцветная раскраска. Стоит
обратить внимание, что максимальный независимый набор не может быть
цветовым классом ни в одной из 3-х раскрасок этого графа.
Пример. Деревья двудольные, поэтому их можно раскрашивать в два
цвета (рис. 1.40). Чётные циклы имеют χ (C2k) = 2. Нечётные циклы имеют
χ (C
2k+1
) = 3.
Рис. 1.40. Примеры раскрасок дерева, чётного и нечётного циклов
Алгоритм (экономная раскраска). Учитывая некоторый порядок вер-
шин, раскрасьте каждую вершину наименьшим цветом, который ещё не
был использован в соседней вершине.
Пример. Раскрасьте вершины приведённого на рис. 1.41 графа слева
в порядке A–F. Полученная 3-цветная раскраска находится в центре. Однако в раскраске справа используются только два цвета.
Рис. 1.41. Пример раскраски графа
Экономная раскраска должна приводить к правильной раскраске,
но, как и во многих экономных алгоритмах, не гарантируется получение
оптимального решения. Насколько хороша раскраска, зависит от используемого порядка вершин. Некоторый порядок вершин должен обеспечивать минимальную раскраску, но проверка всех n! упорядочение вершин

1. Теоретические основы построения графов
68
непрактично. Нам нужен порядок вершин, который, вероятно, даст хорошую раскраску, а именно последовательность построения.
Теорема 25 (Граница вырождения). Для любого графа G, χ (G) ≤ 1 +
+ D (G).
Доказательство. Экономно раскрасьте последовательность построе-
ния G. Каждая вершина имеет не более D(G) соседей, когда она окрашена,
поэтому требуется не более 1 + D(G) цветов.
Пример. Последовательность удалений на графике слева внизу – это
вершины от A до I в алфавитном порядке (рис. 1.42).
Рис. 1.42. Пример построения трёхцветной раскраски графа
Экономная раскраска с использованием соответствующей последо-
вательности построения приводит к 3-цветной раскраске справа внизу. Это
минимальная раскраска, на одну лучше, чем 4-цветная, гарантируемая границей вырождения. Обратите внимание, что для начала последовательности построения с помощью HGI требуются четыре цвета.
Поскольку D(G) ≤ ∆(G), непосредственным следствием границы вырождения является χ(G) ≤ 1 + ∆(G). Граница максимальной степени бывает
известна, но не всегда. Для нетривиальных деревьев граница вырождения
даёт два – правильное значение, в то время как ограничение максимальной
степени может быть сколь угодно большим. Одна вершина большой степени будет определять границу максимальной степени, в то время как
только ядро из множества вершин большой степени определяет границу
вырождения. Тем не менее оценка вырождения все ещё не даёт хороших
результатов для некоторых графов, например для таких, как K
r,r
.
Граница вырождения наблюдалась много раз в различных формах.
Числом окраски была названа величина 1 + D(G). К сожалению, граница
вырождения подразумевает проверку 2n индуцированных подграфов G и

1.4. Раскрашивание графов
69
поиск границы хроматического числа такого, что выполняется χ(G) ≤ 1 +
max
H⊆G
δ(H). Фактически необходимо проверить только один подграф (мак-
симальное ядро), что может быть сделано за O(m) времени.
Уже было выяснено, что среди связных графов граница вырождения
равна границе максимальной степени только для регулярных графов. Следующая теорема показывает, какие регулярные графы равны границе максимальной степени.
Терема 26. Учитывая r ≥ 3, если G является r-регулярным 2-связным
неполным графом, то G имеет вершину v с двумя несмежными соседями x
и y такими, что G − (x − y) связный граф (рис. 1.43).
Рис. 1.43. Иллюстрация теоремы 26
Доказательство. Если G 3-связно, пусть v – любая вершина, и пусть
x и y – два несмежных соседа v, которые должны существовать, поскольку
G неполно. Если k (G) = 2, пусть {u, v} – любой 2-вершинный разрез G.
Тогда k(G − v) = 1, таким образом, у G − v есть по крайней мере два конечных блока, и у вершины v есть соседи во всех из них. Пусть x, y – два таких
соседа. Они должны быть несмежными, и G−x−y соединены, поскольку
блоки не имеют срезанных вершин и r ≥ 3.
Теорема 27 (теорема Брукса). Если G связный, то χ(G) = 1 + ∆(G) тогда
и только тогда, когда граф G является полным или нечётным циклом10.
Доказательство достаточности. Равенство, безусловно, справедливо
для клик и нечетных циклов. Пусть граф G удовлетворяет гипотезам. Тогда,
согласно утверждению 13, у графа G D(G) = ∆(G), если граф G является
регулярным. G является r-регулярным. Результат, безусловно, справедлив
10
Графы. Раскраски вершин графов / Режим доступа: https://mk.cs.msu.ru/
images/3/3c/Dvm-selezn-l5.pdf (дата обращения 25.07.2023).

1. Теоретические основы построения графов
70
для r ≤ 2, поэтому мы можем предположить, что справедливо и для r ≥ 3.
Если G содержит вершину, которая является точкой сочленения, то тогда
каждый блок может быть раскрашен менее чем в r + 1 цвет, чтобы согласовать эту вершину; поэтому мы можем предположить, что G является 2-связным, в противном случае, граф G не является кликой.
Согласно теореме 26, мы можем установить последовательность
удаления для G, начинающуюся с некоторой вершины v и заканчивающуюся её несмежными соседями x и y так, чтобы все вершины, кроме v, при
удалении имели не более r − 1 соседей. Изменение этого параметра приводит к последовательности построения, а алгоритм жадной раскраски назначает x и y один и тот же цвет, поэтому G требуется не более r цветов.
Таким образом, экстремальные графы для χ(G) ≤ 1 + ∆(G), т.е. графы,
для которых выполняется равенство, являются полными графами и нечётными циклами. Что касается границы вырождения, то экстремальные
графы их содержат, а также деревья, веера, максимальные k-вырожденные
графы, нерегулярные графы и многое другое.
Существует другой подход к раскрашиванию графов, который также
бывает полезен.
Алгоритм раскрашивания графа. Найдите максимальное независимое множество S графа и раскрасьте его одним цветом. Для G − S повторяйте этот шаг до тех пор, пока все вершины не будут окрашены.
Этот подход может быть неоптимальным, так как некоторые графы
не имеют минимальной раскраски. Найти максимальное независимое множество в целом непросто, так как большинство графов имеют несколько
максимальных независимых наборов, и то, какой из них выбран, может изменить количество используемых цветов. Тем не менее этот алгоритм может давать приемлемые результаты. Далее следует одна оценка, основанная на этом подходе.
Теорема 28. Для любого графа χ(G) ≤ 1/2*(ω(G) + n + 1 – α(G)).
Доказательство. Мы используем индукцию по n. Обратите внимание, что результат верен для пустых графов, которые имеют χ = n, ω = 1 и
α = n. Таким образом, это справедливо для n = 1. Предположим, что результат
справедлив для графов с числом вершин менее n, и пусть G – непустой граф
с n > 1. Пусть S − максимальное независимое множество G и H = G – S.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
