![](/user_photo/2706_HbeT2.jpg)
- •Содержание
- •Введение
- •Часть 1. Элементы теории множеств и отношений § 1. Понятие множества. Операции над множествами
- •Примеры
- •Операции над множествами
- •Основные тождества алгебры множеств
- •Упражнения
- •§ 2. Декартово произведение двух или нескольких множеств. Понятие отношения. Бинарные отношения
- •Упражнения
- •§ 3. Специальные бинарные отношения. Отношения эквивалентности
- •Упражнения
- •§ 4. Отношения порядка
- •Упражнения
- •§ 5. Функциональные отношения (отображения). Виды отображений
- •Виды отображений:
- •Упражнения
- •Часть 2. Теория графов
- •§ 1. Основные понятия теории графов
- •Способы задания графов. Матричное задание графов.
- •Свойства матриц смежности и инцидентности
- •Упражнения
- •§ Б 2. Булевы матрицы
- •Дизъюнкция (конъюкция)
- •§ 3. Связность графа. Компоненты связности. Матрица связности
- •Выделение компонент связности
- •Алгоритм выделения компонент сильной связности
- •Упражнения
- •§ 4. Полные графы. Двудольные графы. Однородные и реберные графы
- •Упражнения
- •§ 5. Поиск путей (маршрутов) с минимальным числом дуг (ребер)
- •Упражнения
- •§ 6. Расстояние в графах
- •Упражнения
- •§ 7. Нагруженные графы. Расстояния в нагруженном графе
- •Нахождение минимального пути в нагруженном орграфе
- •Алгоритм Форда-Беллмана нахождения минимального пути в нагруженном орграфе из v1 в vi1 (i1≠1)
- •Упражнения
- •§ 8. Эйлеровы цепи и циклы в графах. Эйлеровы графы. Гамильтоновы цепи и циклы в графах. Гамильтоновы графы
- •Упражнения
- •§ 9. Деревья. Остов графа. Цикловой базис графа
- •Алгоритм нахождения кратчайшего остова в нагруженном графе
- •Упражнения
- •§ 10. Раскраска графов. Планарные графы Раскраска вершин графа
- •Одноцветные классы образуют независимые множества вершин.
- •Существуют и приближенные алгоритмы раскрашивания:
- •Упражнения
- •Варианты контрольных работ Часть 1. Элементы теории множеств и отношений Вариант № 1.
- •Вариант № 2.
- •Вариант № 3.
- •Вариант № 4.
- •Вариант № 5.
- •Вариант № 6.
- •Часть 2. Теория графов Вариант № 1.
- •Вариант № 2.
- •Вариант № 3.
- •Вариант № 4.
- •Вариант № 5.
- •Вариант № 6.
- •Ответы Часть 1
- •Часть 2
- •Тест по теории множеств и отношений
- •Тест по теории графов
- •Библиографический список
- •Любовь Васильевна Архипова Елена Сергеевна Дернович
- •Дискретная математика
Упражнения
7.1. Дан граф
7
а)
5
7
б) 8
4
2 3
1 3 4
9 5
2 6 6
1
Составить матрицу длин ребер. Найти взвешенные эксцентриситет, диаметр, радиус и центр графа.
7.2. Определить минимальный путь из v1 в v7 в нагруженном орграфе с заданной матрицей длин дуг.
а)
б)
7.3. Определить путь из v1 в v7 минимальной длины в нагруженном орграфе (см. № 7.2) среди всех путей из v1 в v7 , содержащих не более к дуг, где а) к=2 б) к=3 в) к=4
§ 8. Эйлеровы цепи и циклы в графах. Эйлеровы графы. Гамильтоновы цепи и циклы в графах. Гамильтоновы графы
Определение: Эйлерова цепь в графе – это цепь, содержащая все ребра графа, причем через каждое ребро проходим ровно один раз.
Определение: Эйлеров цикл в графе – цикл, содержащий все ребра графа, причем через каждое ребро проходим ровно один раз.
Определение: Граф, обладающий эйлеровым циклом, называется эйлеровым графом.
Необходимое условие существования эйлерова цикла и эйлеровой цепи – связность графа.
Теорема (необходимое и достаточное условия существования эйлерова цикла): Связный неориентированный псевдограф тогда и только тогда является эйлеровым (т. е. обладает эйлеровым циклом), когда степень каждой его вершины есть четное число.
Теорема (необходимое и достаточное условия существования эйлеровой цепи): Связный неориентированный псевдограф обладает эйлеровой цепью тогда и только тогда, когда он имеет ровно две вершины нечетной степени.
Замечание: Если в графе G эйлерова цепь существует, то она цепь соединяет вершины нечетной степени.
Рассмотрим задачу построения алгоритма выделения эйлеровой цепи или эйлерова цикла в псевдографе.
Утверждение
1: Пусть G = (V, X) – связный псевдограф.
1,…,
l
циклы в графе G (l >1) и X(
1)
…
X(
l)
= X
X(i)
∩ X(
j)
= Ø при i ≠ j. Тогда для цикла
1
найдется цикл
i(i
≠ 1), такой, что V(
1)
∩ V(
i)
Ø.
Утверждение 2: Если G=(V,X) – связный псевдограф, не содержащий висячих вершин, то в графе G существует хотя бы один цикл.
Алгоритм выделения эйлерова цикла в связном мультиграфе (алгоритм Флери):
Пусть
G = (V, X), X
Ø и степени всех вершин четные.
Шаг
1: Выделим из графа G цикл
1.
(Такой цикл существует по утверждению
2).Пусть l = 1, G’ = G.
Шаг
2: Удаляем из графа G’ ребра, принадлежащие
множеству X(l).
Полученный псевдограф обозначаем снова
через G’ (в G’ все вершины имеют четные
степени). Если в G’ отсутствуют ребра,
то переходим к шагу 4. В противном случае
выделяем из G’ цикл и переходим к шагу
3.
Шаг 3: Присваиваем l:= l + 1 и переходим к шагу 2.
Шаг
4: По построению
1,…,
l
– циклы, удовлетворяющие условию
утверждения 1. Если l = 1, то
1
– искомый эйлеров цикл, и на этом
работа алгоритма заканчивается. В
противном случае находим цикл
i:
V(
1)∩
V(
i)
≠ Ø (2 ≤ i ≤l ). Переходим к шагу 5.
Шаг 5: Присваиваем l: = l – 1
1:=
1+
i,
j:=
j+1,
j = i,…,l и переходим к шагу 4.
Рассмотрим задачу о выделении эйлеровой цепи.
Пусть дан связный псевдограф G = (V, X), X ≠ Ø , имеющий ровно две вершины v и w нечетной степени. Добавим в G ребро (v,w), получим псевдограф G’ с четными степенями вершин. Выделим из G’ эйлеров цикл (по алгоритму) и удалим из него ребро (v,w). В результате получим эйлерову цепь, соединяющую v,w.
Определение: Гамильтонов цикл (цепь) – цикл (цепь), проходящий (проходящая) через каждую вершину графа в точности по одному разу.
Гамильтонов цикл (цепь) всегда является простым (простой). Он (она) может не содержать всех ребер графа.
Определение: Граф, обладающий гамильтоновым циклом, называется гамильтоновым графом.
С понятием гамильтоновых циклов тесно связана так называемая задача коммивояжера: в нагруженном графе G определить гамильтонов цикл минимальной длины (иными словами, коммерсант должен совершить поездку по городам и вернуться обратно, побывав в каждом городе ровно один раз, и при этом стоимость такой поездки должна быть минимальной).
Математическая постановка задачи выглядит так: требуется найти гамильтонов цикл минимального веса.
На первый взгляд, понятие «гамильтонов цикл» сходно с понятием эйлерова цикла.
Пример:
– существуют гамильтонов и эйлеров циклы
–
не существует
эйлерова цикла, существует гамильтонов
цикл.
– существует эйлеров цикл, но не существует гамильтонова цикла.
– не существует эйлерова цикла и не существует гамильтонова цикла.
Данные примеры показывают независимость понятий гамильтонова и эйлерова циклов.
Несмотря
на схожесть задач о нахождении этих
циклов, решение о нахождении гамильтонова
цикла значительно сложнее. Известны
следующие достаточные условия
существования гамильтоновых циклов в
связном неорграфе G без петель, имеющем
n3
вершин:
полнота графа (если граф полный, то он гамильтонов);
если
для любых двух различных несмежных
вершин vi, vj (ij)
графа G выполняется условие δ(vi)
+ δ(vj)
n, то существует гамильтонов цикл;
если
для любой вершины v графа G выполнено
условие δ(v)n/2,
то существует гамильтонов цикл.
Необходимое условие существования гамильтонова цикла – связность графа и отсутствие точек сочленения.