- •Иркутский государственный технический университет
- •1. Определения графов
- •7.4.5. Массив дуг
- •8.4.2. Трансверсаль
- •8.5.4. Алгоритм нахождения максимального потока
- •8.6.3. Выделение компонент сильной связности
- •8.7.1. Длина дуг
- •8.7.2. Алгоритм Флойда
- •8.7.3. Алгоритм Дейкстры
- •Глава 9 Деревья
- •9.1. Свободные деревья
- •9.1.1. Определения
- •9.1 .2. Основные свойства деревьев
- •9.2. Ориентированные, упорядоченные и бинарные деревья
- •9.2.1. Ориентированные деревья
- •9.2.2. Эквивалентное определение ордерева
- •9.2.3. Упорядоченные деревья
- •9.2.4. Бинарные деревья
- •9.3. Представление деревьев в эвм
- •9.3.1. Представление свободных, ориентированных и упорядоченных деревьев
- •9.3.2. Представление бинарных деревьев
- •9.3.3. Обходы бинарных деревьев
- •9.3.4. Алгоритм симметричного обхода бинарного дерева
- •9.4. Деревья сортировки
- •9.4.1. Ассоциативная память
- •9.4.2. Способы реализации ассоциативной памяти
- •9.4.3. Алгоритм бинарного (двоичного) поиска
- •9.4.4. Алгоритм поиска в дереве сортировки
- •9.4.5. Алгоритм вставки в дерево сортировки
- •9.4.6. Алгоритм удаления из дерева сортировки
- •9.4.7. Вспомогательные алгоритмы для дерева сортировки
- •9.4.8. Сравнение представлений ассоциативной памяти
- •9.4.9. Выровненные деревья
- •9.4.10. Сбалансированные деревья
- •9.5. Кратчайший остов
- •9.5.1. Определения
- •9.5.2. Схема алгоритма построения кратчайшего остова
- •9.5.3. Алгоритм Краскала
- •Глава 10 Циклы
- •10.1. Фундаментальные циклы и разрезы
- •10.1.1. Циклы и коциклы
- •10.1.2. Независимые множества циклов и коциклов
- •10.1.3. Циклический и коциклический ранг
- •10.2. Эйлеровы циклы
- •10.2.1. Эйлеровы графы
- •10.2.2. Алгоритм построения эйлерова цикла в эйлеровом графе
- •10.2.3. Оценка числа эйлеровых графов
- •10.3. Гамильтоновы циклы
- •10.3.1. Гамильтоновы графы
- •10.3.2. Задача коммивояжера
- •Глава 11 Независимость и покрытия
- •11.1. Независимые и покрывающие множества
- •11.1.1. Покрывающие множества вершин и ребер
- •11.1.2. Независимые множества вершин и ребер
- •11.1.3. Связь чисел независимости и покрытий
- •11.2. Построение независимых множеств вершин
- •11.2.1. Постановка задачи отыскания наибольшего независимого множества вершин
- •11.2.2. Поиск с возвратами
- •11.2.3. Улучшенный перебор
- •11.2.4. Алгоритм построения максимальных независимых множеств вершин
- •11.3. Доминирующие множества
- •11.3.1. Определения
- •11.3.2. Доминирование и независимость
- •11.3.3. Задача о наименьшем покрытии
- •11.3.4. Эквивалентные формулировки знп
- •11.3.5. Связь знп с другими задачами
- •Глава 12 Раскраска графов
- •12.1. Хроматическое число
- •Ух, . . . ,Vn одноцветные классы,доказательство
- •12.2. Планарность
- •12.2.2. Эйлерова характеристика
- •12.2.3. Теорема о пяти красках
- •12.3. Алгоритмы раскрашивания
- •12.3.1. Точный алгоритм раскрашивания
- •12.3.2. Приближенный алгоритм последовательного раскрашивания
- •12.3.3. Улучшенный алгоритм последовательного раскрашивания
Ух, . . . ,Vn одноцветные классы,доказательство
1=1
1. Пусть x(G) =
следовательно,
j ^ р/п.
г=1
Но VJ — независимые множества в G, следовательно, Vi — клики в G. Значит,
X ^ maxpi ^ р/п.
г=1
Имеем
> п • р/п = р.
2. Известно, что среднее геометрическое не превосходит среднего арифметического:
а + Ь
аи.
Следовательно, х + X
3. Докажем индукцией по р, что х + X ^ Р + 1- База: р = 1 =?> х = 1 & X = 1. Пусть х + X ^ Р Для всех графов с р - 1 вершинами. Рассмотрим граф G с р вершинами и вершину v £ V. Тогда, очевидно,
X(G) < X(G - v) + 1 & x(G) < x(G - и) + 1. Если x(G) < x(G - v) + 1 V x(G) < x(G~ - v) + 1, то
X + X = X(G) + x(G) <X(G-v) + l + x(G-v) + l^p+2. Следовательно, х + Х^Р + 1- Пусть теперь
X(G) - X(G ~ v) + 1 & X(G) = x(G - u) + 1.
Положим d : = d(w) в графе G, тогда d = p-d-l — степень v в графе G. Имеем d ^ x(G - v). Действительно, x(G) = x(G - г)) + 1 и, если бы d < x(G - г>), то вершину v можно было бы раскрасить в любой из свободных x(G - v) - d цветов и получить x(G - v) -раскраску графа G.
Аналогично, d = р - d- l^ x(G - v). Таким образом,
12.2. Планарность
Обсуждение планарности в этом разделе позволяет решить вторую историческую задачу из перечисленных в подразделе 7.1.1, а также подготавливает результаты, необходимые для доказательства теоремы о пяти красках.
12.2.1. Укладка графов
Граф укладывается на некоторой поверхности, если его можно нарисовать на этой поверхности так, чтобы ребра графа при этом не пересекались. Граф называется планарным, если его можно уложить на плоскости. Плоский граф — это граф, уже уложенный на плоскости.
Область, ограниченная ребрами в плоском графе, и не содержащая внутри себя вершин и ребер, называется гранью. Число граней плоского графа G обозначается r(G).
ЗАМЕЧАНИЕ -
Внешняя часть плоскости также образует грань.
Пример
На рис. 12.1 показаны диаграммы планарного графа и его укладки на плоскости. Этот граф имеет 4 грани.
Рис. 12.1. Пленарный граф и его укладка
12.2.2. Эйлерова характеристика
Для графов, уложенных на некоторой поверхности, справедливо определенное соотношение между числом вершин, ребер и граней. Это соотношение называется эйлеровой характеристикой поверхности.
Теорема (формула Эйлера) В связном планарном графе справедливо следующее:
P - q + r = 2
доказательство
Индукция по q. База: q = 0 => р = 1&г = 1. Пусть теорема верна для всех графов с q ребрами: р - q + г = 2. Добавим еще одно ребро. Если добавляемое ребро соединяет существующие вершины, то q' = q + 1, р' = р, г' = г + 1 и p'-q' + r'=p-q-l + r + l=p — q + r = 2. Если добавляемое ребро соединяет существующую вершину с новой, то р' = р + 1, q' = q + 1, г' = г и р' - q' + г' = =p+l-q-l+r=p-q+r=2 П
СЛЕДСТВИЕ Если G — связный планарный граф (р > 3), то q ^ Зр — 6.
доказательство
Каждая грань ограничена по крайней мере тремя ребрами, каждое ребро ограничивает не более двух граней, отсюда 3r ^ 2q. Имеем
2=p-q
q ^ Зр - 6.
у =>• Зр - 3g + 2О 6 :
СЛЕДСТВИЕ К5 и К3,з непланарны.
доказательство
Рассмотрим К5. Имеем р = 5, q = 10. Если К5 планарен, то по предыдущему следствию q = р(р - 1)/2 = 10 ^ Зр -0 = 3-5-6 = 9 — противоречие.
Рассмотрим К3,з- Имеем р = 6, q = 9. В этом графе нет треугольников, значит, если этот граф планарен, то в его плоской укладке каждая грань ограничена не менее чем четырьмя ребрами и, следовательно, 4r ^ 2q или 2r ^ q. По формуле Эйлера С - 9 + г = 2, откуда г = 5. Имеем 2r = 2-5 = 10<g = 9- противоречие.
ЗАМЕЧАНИЕ
Граф планарен тогда и только тогда, когда он не содержит в качестве подграфов ни Ks, ни Кз,з- Доказательство достаточности этого утверждения выходит за рамки данного курса.
СЛЕДСТВИЕ В любом планарном графе существует вершина, степень которой не больше 5.
доказательство
От противного. Пусть Mv б V d(v) ^ 6. Тогда
6р ^ d(v) = 2q ==> Зр < q,
ОТСТУПЛЕНИЕ
Эйлер вывел свою формулу, исследуя многогранники. Действительно, развертка многогранника — это плоский граф, и обратно, связному плоскому графу соответствует многогранник. Таким образом, теория графов имеет связи с самыми разными, на первый взгляд далекими, областями знания.