- •Замечание
- •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
- •Псевдокод
- •Класс сложности
Замечание
Методы перебора в худшем случае требуют факториального времени выполнения. Существуют специальные алгоритмы перебора, выполнение которых требует значительно меньшего времени, однако они в ряде случаев все равно будут выполнены за факториальное время.
1.3.2. Каноническая матрица смежности и изоморфность графов
Определение
Код матрицы смежности А задается следующим образом:
cd=
Aij
2K,
где K=n2-(i-1)n-j.
В коде матрицы смежности А элементы матрицы выбираются строка за строкой в их естесственном порядке,т.е.
А11А12…А1nA21…A2n…An1…Ann .
Пример
Для матриц смежности рис.1.4.2 коды равны:
cd(A1)=262 + 257 + 256 + 255 + 253 + 252 + 246 + 244 + 240 + 238 + 237 + 235 + 228 + 226 + 225 + 219 + 217 + 215 + 211 + 210 + 27 + 25 + 22 = 4 877 487 903 930 551 460
cd(A2)= 5 021 603 092 014 697 890
М
Пример
Для класса матриц рис.1.4.2 код канонической матрицы равен:
cd(canon(G)) = 507 522 663 119 374 560
Определение
Пусть G1(V,E) и G2(V,E) будут графами, а А1 и А2 – их матрицами смежности. Графы G1(V,E) и G2(V,E) будут изоморфны, если матрицы А1 и А2 сводятся к одной и той же канонической матрице.
Наиболее эффективные алгоритмы нахождения канонической матрицы смежности базируются на процедуре возврата для всех возможных перестановок имен множества вер-
шин графа.1
2Определения
.3.3. Инварианты
Пусть f- функция, относящая каждому графу G некоторый элемент f(G) из множества М произвольной природы.
Эта функция показывается инвариантом, если на изоморфных графах её значение совпадают, т.е. для любых G и G’ из изоморфизма графов G и G’ следует f(G)=f(G’).
Инвариант должен легко вычисляться по заданному графу (и по возможности иметь наглядный смысл) и обладать свойством полноты, т.е. определяя граф однозначно с точностью до изоморфизма.
Во многих случаях инварианты имеют всего два значения, 0 и 1 . Значение 1 показывает, что это свойство у графа имеется, а 0 – что это свойство отсутствует. К таким инвариантам относятся:
связность,
планарность,
является ли граф деревом,
является ли граф двудольным
и т.д.
Другую группу составляют инварианты, равные натуральным числам:
число вершин и рёбер;
степень вершин;
последовательность степеней вершин;
число компонент связности;
хроматическое число;
наличие пути заданной длины;
наличие гамильтонова цикла;
число связных компонент
и т.д.
К сожалению, нет универсального алгоритма определения изоморфизма для всех графов по одному инварианту.
Определения
Система инвариантов называется полной системой инвариантов, если из того, что для некоторых двух графов эти инварианты принимают одинаковые значения, следует, что данные графы изоморфны.
Системы инвариантов существуют, но их нахождение является сложнейшей задачей.
