- •Часть 1
- •Часть 1
- •Введение
- •1. Основные понятия теории графов
- •Задачи теории графов
- •1.2. Основные определения
- •1.3. Степени вершин графа
- •1.4. Изоморфизм графов
- •2. Представление графов в эвм и операции над ними
- •2.1. Матричные способы задания графов
- •2.2. Список ребер (луг) и структура смежности графа
- •2.3. Части графов
- •2.4. Основные операции над графами
- •3. Маршруты в графах
- •3.1. Понятие маршрута
- •Маршруты в неориентированных графах
- •Маршруты в ориентированных графах
- •3.2. Связность в графах.
- •В примере 3 граф имеет две сильно связных компоненты.
- •3.3. Связность и матрица смежности графа
- •3.4. Матрица взаимодостижимости
- •4. Деревья
- •4.1. Свободные деревья
- •4.2. Ориентированные, упорядоченные и бинарные деревья
- •Эквивалентное определение ориентированного дерева
- •5. Эйлеровы и гамильтоновы графы.
- •5.1. Эйлеровы графы.
- •5. 2. Алгоритм построения эйлерова цикла в эйлеровом графе
- •5.3. Гамильтоновы графы
- •5.4. Оценки числа эйлеровых и гамильтоновых графов
- •6. Фундаментальные циклы и разрезы
- •6.1. Фундаментальные циклы
- •6.2. Разрезы
- •7. Связь теории графов с бинарными отношениями и векторными пространствами
- •7.1. Отношения на множествах и графы
- •7.2. Векторные пространства, связанные с графами
- •8. Планарность и раскраска графов
- •8.1. Планарные графы
- •8.2. Раскраска графов
- •8.3. Алгоритм последовательной раскраски
- •9. Покрытия и независимость
- •9.1. Покрывающие множества вершин и ребер
- •9.2. Независимые множества вершин и ребер
- •9.3. Доминирующие множества
- •10. Кратчайшие маршруты в графах
- •10.1. Расстояния в графах
- •10.2. Алгоритм Форда-Беллмана
- •11. Задача коммивояжера
- •11.1. Постановка задачи
- •11.2. Обходы вершин графа по глубине и ширине
- •11.3. Решение задачи коммивояжера
- •12. Потоки в сетях
- •12.1. Основные определения
- •12.2. Теорема Форда и Фалкерсона
- •12.3. Алгоритм построения максимального потока
- •13. Сетевое планирование и управление
- •13.1. Элементы сетевого графика
- •13.2. Временные параметры сетевого графика
- •13.3. Распределение ограниченных ресурсов
- •14. Анализ технических систем (на примере электрической цепи)
- •14.1 Закон Кирхгофа
- •14.2. Основные уравнения
- •15. Сигнальные графы
- •15.1. Общие представления о сигнальных графах
- •15.2. Преобразования сигнальных графов
- •15.3. Формула Мэзона
- •16. Переключательные сети (схемы)
- •17. Математические машины и цепи маркова
- •Библиографический список
- •Оглавление
- •Часть 1
- •394026 Воронеж, Московский просп., 14
5.3. Гамильтоновы графы
Название «uамильтонов граф» произошло от задачи «кругосветное путешествие», придуманной Гамильтоном в 19 веке. Нужно обойти все вершины графа, изображенного на рисунке,
по одному разу и вернуться в исходную точку.
Р ис. 20
Гамильтоновой цепью неорграфа называется цепь, проходящая через его вершину один и только один раз.
Гамильтоновым циклом норграфа называется цикл, проходящий через каждую вершину один и только один раз, за исключением начальной вершины, совпадающей с конечной.
Граф, содержащий гамильтонов цикл называется гамильтоновым.
Гамильтоновым контуром называется контур орграфа, который проходит через все его вершины, причем только по одному разу.
Эйлеровы и гамильтоновы циклы сходны по способу задания. Эйлеровы содержат все ребра по одному разу, а гамильтоновы – все вершины так же по одному разу. Несмотря на это внешнее сходство, задачи отыскания соответствующих циклов резко отличаются. Так для решения вопроса о существовании эйлерова цикла, достаточно выяснить четность всех вершин графа. Эффективного критерия существования гамильтонова цикла пока ещё не найдено. Известны лишь несколько теорем, дающих достаточные условия существования гамильтоновых циклов.
Теорема 1. В полном, конечном графе (любая пара вершин которого соединена хотя бы в одном направлении) всегда существует гамильтонов цикл.
Теорема 2. Если для любой пары несмежных вершин vi и vj графа G с n вершинами справедливо неравенство d(vi)+d(vj)n , то граф обладает гамильтоновым циклом.
Теорема 3. Граф G с n вершинами имеет гамильтонов цикл, если для любой вершины vi выполняется неравенство d(мi)n\2,где n – число вершин в графе.
5.4. Оценки числа эйлеровых и гамильтоновых графов
Теорема. В любом графе число вершин нечетной степени всегда четно.
Доказательство: По теореме Эйлера , Это значит, что сумма степеней всех вершин графа есть четное число. Сумма степеней вершин чётной степени также чётна следовательно будет чётна сумма степеней вершин нечётной степени. Это значит, что их число четное.
Пусть G(n) есть множество всех возможных графов с n вершинами, E(n) – множество эйлеровых графов с n вершинами. Можно показать, что , т.е. эйлеровых графов почти нет. С другой стороны почти все графы – гамильтоновы, так как. , где H(p) – множество гамильтоновых графов с n вершинами.
Задача отыскания гамильтонова цикла является практически востребованной, однако для нее неизвестны, а скорее всего не существует эффективные алгоритмы решения.
6. Фундаментальные циклы и разрезы
6.1. Фундаментальные циклы
Пусть G=(V, E) – неорграф , имеющий n вершин и m ребер и c – компонент связности. Пусть Т – остов графа G. Остов имеет n-c ребер, обозначенных как . Эти ребра называются ветвями остова Т. Оставшиеся m-n+с ребер , не входящие в остов Т, называются хордами остова Т. Если к лесу Т добавить произвольную хорду vi, то в полученном графе образуется ровно один простой цикл, обозначенный Ci. Этот цикл состоит из некоторых ветвей остова Т и хорды vi. В этом случае цикл Ci называется фундаментальным циклом графа G относительно хорды vi остова Т.
Множество всех фундаментальных циклов, относительно хорд остова Т, называется фундаментальным множеством циклов графа G, относительно остова Т. Мощность фундаментального множества циклов не зависит от выбора остова Т и равна цикломатическому числу ν(G)=m-n+c.
Обозначим через (1, 2, …, m) последовательность (v1, v2, …, vm-n+c, u1, u2, …, un-c) всех ребер графа G. Тогда фундаментальному циклу Ci соответствует вектор , координаты которого определяются по правилу:
Таким образом, фундаментальное множество циклов задается с помощью матрицы фундаментальных циклов, строки которой являются векторами :
.
Так как, каждый фундаментальный цикл Ci содержит ровно одну хорду vi, то матрица С имеет следующий вид:
.
Таким образом, , где С1 – единичная матрица, порядка v(G).
Пример. Найти матрицу фундаментальных циклов графа G, изображенного на рисунке
Р ис. 21
Цикломатическое число графа - v(G)=m-n+c=8-6+1=3.
Следовательно, для получения остова, необходимо удалить из графа три ребра. Пусть этими ребрами будут 1, 2, 3 (удаляем так, чтобы в остове не было циклов). Ребрами, входящими в остов, присваиваются номера 4, 5, 6, 7, 8. Они на рисунке изображены жирными линиями. В результате фундаментальный цикл С1, соответствующий хорде 1, состоит из ребер 1, 4 и 6. Цикл С2 – из рёбер 2, 6, 7; цикл :С3 – из рёбер 3, 6, 7, 8. В результате этого, матрица фундаментальных циклов будет иметь вид: