- •Глава 2.
- •Замечание
- •2 Определения.1.2 Определение графа с помощью множеств
- •Определения
- •2.1.5. Матричный способ задания графов
- •Определения
- •Матрица инциденций
- •Матрица смежности
- •Матрица Лапласа (Кирхгоффа)
- •Определение
- •2.2.2. Бинарные операции над раздельными графами
- •Определения
- •Определения
- •Замечание
- •2.2.3. Унарные операции над графами
- •2.3. Некоторые виды графов
- •Определения
- •Определения
- •Определения
- •Определение
- •Замечание
- •Определения
- •Определения
- •2.5. Прогулки, тропы, пути и циклы
- •Определения
- •Теорема
- •Теорема
- •Точный алгоритм нахождения
- •Определения
- •Определения
- •Определения
- •Определения
- •Псевдокод
- •Класс сложности
- •2.8.2. Обход в ширину (bfs)
- •Класс сложности
п
Определение
еребора
П
Замечание
Задача определения равенства матриц смежности сложна, т.к. вид матрицы смежности графа зависит от процедуры именования вершин графа.
Пример
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) со своей разметкой вершин. Каждый граф задается таблицей инцидентности.
Обозначим через v1ii-ую вершину графаG1.
Если |V1| = |V2|, тоn= |V1|,
иначе графы неизоморфны.
Начальное условие: i= 1.
Сравнивая таблицы инцидентности построчно, определить совпадают ли по длине запись для v1iи записи таблицы инцидентности графаG2. Если совпадают, то изъять эти записи их обеих таблиц инцидентности, иначе графы неизоморфны.
Повторить шаг 3 для v1i,i=2,3,…,n.
После успешного выполнения алгоритма обе таблицы инцидентности будут пустыми.
Пример
Замечание
Методы перебора в худшем случае требуют факториального времени выполнения. Существуют специальные алгоритмы перебора, выполнение которых требует значительно меньшего времени, однако они в ряде случаев все равно будут выполнены за факториальное время.
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