Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава 2.Ненаправленные графы, часть 1.doc
Скачиваний:
23
Добавлен:
13.02.2016
Размер:
1.35 Mб
Скачать

п

Определение

еребора

П

Замечание

усть G1 и G2будут графами, а А1и А2– их матрицами смежности. Графы G1 и G2будут изоморфными, если их матрицы смежности равны.

Задача определения равенства матриц смежности сложна, т.к. вид матрицы смежности графа зависит от процедуры именования вершин графа.

Пример

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.

  1. Если |V1| = |V2|, тоn= |V1|,

      1. иначе графы неизоморфны.

  2. Начальное условие: i= 1.

  3. Сравнивая таблицы инцидентности построчно, определить совпадают ли по длине запись для v1iи записи таблицы инцидентности графаG2. Если совпадают, то изъять эти записи их обеих таблиц инцидентности, иначе графы неизоморфны.

  4. Повторить шаг 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

М

Пример

ножество всех изоморфных друг другу графов образуюткласс. Среди всех матриц смежности этого класса графов одна из матриц смежности будет иметь наименьший по значению код. Эта матрица называетсяканонической(обозначаетсяcanon(G)).

Для класса матриц рис.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