Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 700219.doc
Скачиваний:
33
Добавлен:
01.05.2022
Размер:
1.36 Mб
Скачать

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. В результате этого, матрица фундаментальных циклов будет иметь вид: