- •Оглавление
- •Предисловие
- •1. Теоретико‑множественные основания дисциплины
- •1.1. Понятия и аксиомы теории множеств
- •1.2. Декартовы произведения, отношения и отношение эквивалентности
- •1.3. Понятия образа, прообраза, функции и отображения на конечном множестве. Аксиома выделения.
- •1.4. Аксиомы степени и бесконечности. Мощности и кардинальные числа множеств
- •1.5. Счетные и континуальные множества
- •1.6. Ординалы и трансфиниты. Аксиома выбора и континуум‑гипотеза
- •2. Основы математической логики
- •2.1. Высказывания и функции на высказываниях
- •2.2. Операции математической логики
- •2.3. Понятие формулы и свойства операций
- •2.4. Разложения булевых функций. Принцип двойственности. Совершенные нормальные формы.
- •2.5. Понятие полноты системы булевых функций
- •2.5. Исчисление предикатов
- •2.6. Введение в методы теории доказательств
- •1 Если X a,
- •0 Если X a.
- •1 Если X a,
- •0 Если X a.
- •3. Комбинаторика
- •3.1. Размещения
- •3.2. Размещения без повторений
- •3.3. Перестановки, подстановки и их свойства
- •3.4. Сочетания, структура соединений
- •3.5. Свойства биномиальных коэффициентов
- •Структура соединений
- •3.6. Понятие производящей функции
- •3.7. Соединения с повторениями
- •3.8. Разбиения множеств
- •3.9. Разбиения чисел
- •3.10. Композиции чисел
- •4. Основы теории графов
- •4.1. Основные понятия и определения
- •4.2. Графы и бинарные отношения
- •4.3. Понятие изоморфизма и изоморфизм плоских графов
- •4.4. Степени вершин графа
- •4.5. Представление графов матрицами
- •4.6. Представление графов списками инцидентности. Оценка пространственной сложности алгоритмов.
- •4.7. Маршруты, цепи, циклы и связность
- •4.7. Эйлеровы циклы и цепи
- •4.9. Гамильтоновы циклы. Оценка временной сложности алгоритмов
- •4.10. Деревья
- •4.11. Раскраска вершин и теорема Шеннона об информационной емкости графа
- •4.12. Раскраска ребер графа и теоремы о хроматическом классе
- •Ответы и решения
- •Список литературы
4.7. Эйлеровы циклы и цепи
Считают, что начало теории графов положила задача, предложенная Ейлером. В каких случая конечный граф можно определить циклом без дополнений? Если граф G представим таким циклом, то он называется эйлеровым графом.
Теорема 4.5 Конечный граф G является эйлеровым графом тогда и только тогда, когда он связан и все степени его вершин четны.
Доказательство. Условие связности, очевидно, необходимо. Условие четности степеней вершин также необходимо, поскольку цикл, выйдя по одному ребру, должен возвратиться по другому.
Докажем достаточность. Предположим, что необходимые условия выполнены. Начнем строить цепь из произвольной вершины a = v0 и будем продолжать ее, переходя от v0 к v1, от v1 к v2 и так далее, последовательно отмечая пройденные ребра. Очевидно, список вершин, начавшись на v0, должен на v0 и закончиться за конечное число шагов. В противном случае приходим к противоречию о связности графа либо, допуская связность, приходим к противоречию о четности степеней всех его вершин.
Если при построении цепи все ребра графа G оказались отмеченными, то эйлеров цикл построен и этот цикл является эйлеровым графом G. В противном случае на G будут не отмечены некоторые ребра. В силу связности графа G неотмеченные ребра составят связный подграф G. Все степени вершин, этого подграфа четны. Это обусловлено тем, что все вершины, как исходного графа, так и построенного цикла имеют четные степени. На графе G найдется хотя бы одно из неотмеченных ребер, которое инцидентно одной из вершин построенной цепи. Это обусловлено связностью графа G. Обозначим эту вершину b. Повторяя процесс построения цикла из вершины b на подграфе G снова возвращаемся в эту же вершину за конечное число шагов.
Обозначим: P(vi,vj) — некоторая цепь из vi в vj. Очевидно, объединяя цепи так, что P(a, b) P(b, b) P(b, a) мы имеем цикл P(a, a), который мощнее по множеству входящих в него ребер, чем P(a, a),
Если цикл P(a, a) G, то повторим процесс увеличения мощности цикла P(a, a), включив в него новые ребра, аналогично ранее выполненному процессу. Тогда за конечное число шагов k имеем Pk(a, a) = G, что и требовалось.
Ясно, что доказанная теорема определяет также и алгоритм построения эйлерового цикла на графе.
Эйлеровой цепью называется цепь, проходящая через каждое ребро графа в точности один раз.
Говорят, что множество цепей P1, P2,…, Pn покрывает граф G, если G = P1 P2 … Pn и P1 P2 … Pn = .
Теорема 4.6 Пусть G — связный граф с k вершинами нечетной степени. Тогда минимальное покрытие графа цепями имеет мощность k / 2.
Доказательство. В силу теоремы 4.4 число вершин нечетной степени четно. Следовательно, каждая из k вершин нечетной степени должна быть концом одной из покрывающих цепей графа. Отсюда с необходимостью следует, что число всех покрывающих цепей должно быть не менее, чем k / 2. Расширим граф G до эйлерова графа, добавив k / 2 ребер, соединяющих различные пары вершин нечетной степени. Тогда на графе определен единственный эйлеров цикл. Аннулируя ребра, вместе с каждым аннулированным ребром имеем и новую цепь. Тогда число k / 2 является также и достаточным числом цепей, покрывающих граф.
Для ориентированных графов можно получить аналогичный результат. В частности, имеет место
Теорема 4.7 Для того, чтобы на ориентированном графе G существовал контур, содержащий все дуги G, необходимо и достаточно, чтобы число всех входящих и выходящих дуг было одинаковым в каждой из вершин.
Такой контур называется эйлеровым контуром.