- •Введение
- •1 Множества
- •1.1 Способы определения множеств
- •1.2 Операции над множествами
- •1.3 Диаграммы Эйлера-Венна
- •1.4 Основные законы и тождества алгебры множеств
- •1.5 Доказательства тождественности формул
- •1.6 Соответствия и их свойства
- •1.7 Функция, функционал, оператор
- •1.8 Отображения, преобразования и перестановки
- •1.9 Отношения
- •2.1 Вершины, ребра (дуги), графы
- •Подграфы и части графа
- •Гомоморфизм и изоморфизм графов. Пусть имеем граф g (V, e) (рис. 2.10). И пусть имеется отображение: : V V, при котором
- •2.2 Матричная форма представления графов
- •2.3 Операции над графами
- •Произведение графов
- •Композиция графов
- •Метрические характеристики графа
- •Есть ли в графе маршруты длины k? Для того, чтобы это определить составим матрицу смежности графа а. Далее необходимо возвести а в степень k, используя бинарные операции, ,:
- •2.5 Кратчайший маршрут во взвешенном связном графе
- •Волновой алгоритм
- •2.6 Обходы графа
- •2.7 Гамильтоновы и эйлеровы графы
- •2.8 Эйлеровы графы
- •Алгоритм построения эйлерова цикла
- •Алгоритм построения эйлеровой цепи
- •Модифицированный алгоритм построения эйлерова цикла
- •Покрытие графа непересекающимися по ребрам цепями
- •2.9 Внешне устойчивые множества вершин графа
- •Алгоритм определения внешне устойчивых множеств вершин
- •2.10 Раскраска вершин графа
- •Реберная раскраска графа
- •2.11 Связность графов
- •Определение компонент сильной связности орграфа
- •Алгоритм определения компонент сильной связности орграфа:
- •2.12 Определение компонент связности
- •2.13 Остов графа
- •2.14 Планарные графы
- •2.15 Двудольные графы
- •Минимальное покрытие двудольного графа.
- •Условие существования паросочетания.
- •Дискретная математика
- •Московский государственный университет приборостроения и информатики
- •107996, Москва, ул. Стромынка, 20
Подграфы и части графа
Пусть G (V, E) – исходный граф (рис. 2.9).
Р
исунок
2.9
G’(V’, E’) – часть графа – это могут быть все вершины, но дуги не все.
V’ V, E’ E (V’ V’).
Если у части графа V’ = V, то ее называют суграфом.
G”(V”, E”) – подграф – часть графа, в которой сохранены все ребра, связывающие вершины графа V” V, E” = Е (V” V”).
Гомоморфизм и изоморфизм графов. Пусть имеем граф g (V, e) (рис. 2.10). И пусть имеется отображение: : V V, при котором
a,b, a, b V (a), (b), (a), (b) V.
Такое отображение называется гомоморфизмом.
Р
исунок
2.10
Если отображение взаимно однозначно: : V V, то это изоморфизм.
Изоморфные графы эквивалентны с точность до обозначений вершин.
2.2 Матричная форма представления графов
Матрица
смежности – это квадратная матрица А
=
,
число строк и столбцов в которой равно
числу вершин графа n,
а элементы определяются по правилу
аij
=
где eij – ребро (дуга), соединяющее вершины i и j.
Матрица А задает граф с точностью до изоморфизма (по графическому представлению графа однозначно строится матрица, а по матрице – графическое представление графа).
Два графа эквивалентны, если равны их матрицы смежности.
Два графа эквивалентны, если их матрицы смежности можно сделать одинаковыми путем одновременной перестановки строк и столбцов в одной из них.
Вот пример матрицы смежности
A6
6
=
.
Для неорграфа матрица смежности симметрична относительно главной диагонали. Для орграфа матрица смежности не симметрична.
Для мультиграфа и псевдографа:
aij=
m(xi, xj) –число ребер между вершинами хi и хj.
Если на вершинах графа заданы веса, то вводится дополнительный массив W длины n, в котором элемент w(i) задает значение веса вершины графа.
Если на ребрах (дугах) заданы веса, то для их задания применяется матрица смежности, но значения элементов равны весам связей.
Для мультиграфа, псевдографа с весами на ребрах и дугах используется трехмерная матрица, где третья размерность используется для записи веса ребра, дуги, петли.
Матрица
инцидентности S
=
,
имеет n
строк и m
столбцов, где n
– число вершин в графе, m
– число ребер (дуг) в графе. Элементы
этой матрицы определяются по следующим
правилам.
Для неорграфа
sij
=
Вот пример матрицы инцидентности неорграфа.
S6
7
=
.
Для орграфа учитывается ориентация:
sij
=
Здесь каждый столбец содержит один элемент, равный +1, и один элемент, равный –1, либо константу.
Два графа эквивалентны, если равны их матрицы инцидентности.
Для псевдографа показанного на рис. 2.11, получим такую матрицу (номера строк и столбцов соответствуют индексам вершин, ребер и дуг):
S6
9
=
.
Матрица S задает граф с точностью до изоморфизма.
основное преимущество матрицы А перед матрицей S в том, что за один шаг алгоритма можно получить ответ на вопрос: есть ли ребро из вершины хi в хj?
Основной недостаток матрицы А – большой объем памяти независимо от числа ребер: n2.
Если заданы веса, то используются дополнительные векторы весов вершин и ребер (дуг).
Р
исунок
2.11
2.3 Операции над графами
Дополнение
графа
G(V,E)
до полного графа
Объединение графов G1 G2 = G(V1 V2, E1 E2) (рис. 2.12).
Р
исунок
2.12
Обратите внимание – ребра е6 и е10 – это разные связи вершин 2 и 4. В следующих двух операциях участвуют графы G1(V1,E1) и G2(V2,E2).
Пересечение графов G1
G2
= G(V1
V2,
E1
E2)
(рис. 2.13) при условии
Кольцевая
сумма графов G1
G2
=
G(V
=
V1
V2,
E
=
E1
E2
=
E1\E2
E2\E1)
(рис.
2.14).
Рисунок 2.13 Рисунок 2.14
С
оединение
графов G1
+ G2
= G(V=V1
V2,
E=E1
E2
)
(рис. 2.15).
Рисунок 2.15
