- •Замечание
- •2 Определения .1.2 Определение графа с помощью множеств
- •Определения
- •2.1.3. Степени вершин графа
- •Определения
- •Матрица инциденций
- •Матрица смежности
- •Определение
- •Теорема Havel - Hakimi
- •Замечания
- •2.1.5. Матричный способ задания графов
- •Определения
- •Определения
- •Определения
- •2.2. Операции над графами
- •2.2.1. Простейшие операции
- •Определения
- •2.2.2. Бинарные операции над раздельными графами
- •Определения
- •Определения
- •Замечание
- •2.2.3. Унарные операции над графами
- •Определения
- •Определения
- •Определения
- •Определения
- •Определение
- •Замечание
- •Определения
- •Определения
- •2.5. Прогулки, тропы, пути и циклы
- •Определения
- •2.6. Связность
- •Определения
- •2.6.1. Реберная связность
- •Определения
- •Определения
- •Определения
- •Определения
- •2 Определения .8. Обход графа
- •2 Определения .8.1..Обход в глубину (dsf)
- •Псевдокод
- •Класс сложности
- •2.8.2. Обход в ширину (bfs)
- •Определения
- •Атрибуты dfs
- •Псевдокод
- •Класс сложности
2Определения
.3.5. Граф шина
Шина - граф G, имеющий n вершин и (n-1) ребер, при этом n-2 вершины имеют степень 2, а две вершины – степень 1.
Пример
Рис.2.3.6. Граф шина
2.3.6. Граф цикл
Определения
Г
Пример
Рис.2.3.7. Пример графов
цикл (кольцо)
1.3.7. Граф колесо
Определения
Граф колесо порядка n (обозначается Wn) имеет одну вершину степени n-1, а остальные вершины имеют степени 3. (Вершина степени n-1 часто называется хабом (hub)).
Пример
Данные графы интересны тем, что число циклов в графе Wn равно n2-3n+3. Например, для W4 число циклов равно 13.
Пример
2.4. Изоморфизм графов
Определения
Два графа могут быть одинаковыми во всем, кроме имен вершин (например, G1=(V,E), G2=(U,E), |V|=|U|). В этом случае говорят об изоморфизме графов.
Формально, графы G и H являются изоморфными, если существует соответствие один к одному вида
f: V(G) V(H) такое, что
{ Vj,Vk }E(G) f{Vj}f{Vk}E(H)
Функция f называется изоморфизмом.
Пример
1
2
1
3
5
3
4
4
2
5
6
6
Рис.2.4.1. Два изоморфных
графа
Класс сложности
Неизвестен алгоритм нахождения изоморфизма графов общего вида в полиномиальное время, но не доказано, что проблема является NP-полной. Некоторые авторы выделяют отдельный класс сложности изоморфизма графов.
Алгоритмы полиномиального времени
Существуют алгоритмы нахождения изоморфизма в полиномиальное время для частных случаев графов (планарных графов, графов с ограниченными степенями вершин и некоторых других).
Классификация алгоритмов
Алгоритмы распознавания изоморфизма графов:
прямые переборные алгоритмы;
алгоритмы направленного перебора;
непереборные алгоритмы.
Перебор убыстряется с использованием:
инвариантов;
системы инвариантов.
2.3.1. Изоморфизм графов и прямые методы
пОпределение
еребора
П
Замечание
Задача определения равенства матриц смежности сложна, т.к. вид матрицы смежности графа зависит от процедуры именования вершин графа.
Пример
1 2 3 4 5 6 7 8
Рис.2.4.2. Два изоморфных
графа и их матрицы смежности
Метод перебора
Прямым методом определения равенства матриц А1 и А2 является перестановка строк и столбцов матриц и их сравнение между собой. Для этого потребуется в общем случае n! операций, где n=|V| (для примера рис.1.4.2 потребуется 8!=40 320 операций).
Определение
Пусть имеется два графа G1 и G2, а Т1 и Т2 – таблицами инцидентности этих графов. Графы G1 и G2 будут изоморфны, если Т1 совпадает с Т2.
Алгоритм перебора
Пусть имеется два графа G1=(V1,E1) и G2=(V2,E2) со своей разметкой вершин. Каждый граф задается таблицей инцидентности.
Обозначим через v1i i-ую вершину графа G1.
Если |V1| = |V2|, то n = |V1|,
иначе графы неизоморфны.
Начальное условие: i = 1.
Сравнивая таблицы инцидентности построчно, определить совпадают ли по длине запись для v1i и записи таблицы инцидентности графа G2. Если совпадают, то изъять эти записи их обеих таблиц инцидентности, иначе графы неизоморфны.
Повторить шаг 3 для v1i, i=2,3,…,n.
После успешного выполнения алгоритма обе таблицы инцидентности будут пустыми.
Пример
