Слайд 1
Ізоморфізм графів
Лекція 9
Теорія графів
Слайд 2Ізоморфізм графів
Ізоморфізм графів
З погляду змісту ізоморфізм структур означає тотожність
їх функціонування, що в деяких випадках надає можливість заміни однієї
структури іншою.
Для розпізнавання ізоморфізму графів G = (X, F) і H = (Y, P), що мають n вершин, у загальному випадку необхідно виконати n! попарних порівнянь. Для скорочення обсягу перебору розглянемо алгоритм розпізнавання ізоморфізму графів.
Нехай задано два графи G = (X, F) і H = (Y, P), які мають множини елементів (вершин) X = {xi}, iI та Y = {yj}, jI, де I = {1, 2, ..., n}. Кожному елементу xiX зіставимо пару чисел (si, pi), а елементу yjY – пару (vj, wj), де si і vj – напівстепені виходу, а pi і wj – напівстепені входу кожної вершини, відповідно.
Слайд 3Ізоморфізм графів
Лема 3.1 про ізоморфізм графів
Лема 3.1. Якщо графи G
= (X, F) і H = (Y, P) ізоморфні, то
існує підстановка tT, де T – симетрична група підстановок множини елементів, яка визначає бієктивне відображення множини X графа G = (X, Y) у множину Y графа H = (Y, P) таке, що (xiX)(yjY)[(si= vj)(pi = wj)].
Слайд 4Ізоморфізм графів
Із означення ізоморфізму випливає, що ізоморфні графи відрізняються один
від одного тільки впорядкованістю у позначеннях вершин. Але перенумеровання вершин
не змінює напівстепені виходу s і входу p кожної вершини. Тому для будь-якого xiX із парою (si, pi) можна взаємно однозначно визначити таке yjY із парою (vj, wj), що si = vj та pi = wj. Таким чином, знайдено підстановку tT, що переводить граф G = (X, F) у граф H = (Y, P), тобто (xiX)(yjY)[(si = vj)(pi = wj)]. Лему доведено.
Доведення леми 3.1
Слайд 5Ізоморфізм графів
Лема 3.2. Якщо існує підстановка tT, що переводить матрицю
суміжності A графа G=(X, F) у матрицю суміжності B графа
H = (Y, P), то графи G = (X, F) і H = (Y, P) ізоморфні. Доведення леми випливає із означення ізоморфізму графів.
Лема 3.2 про ізоморфізм графів
Слайд 6Ізоморфізм графів
Теорема 3.1 про ізоморфізм графів
Теорема 3.1. Для того, щоб
граф G = (X, F) був ізоморфним до графа H
= (Y, P), необхідно та достатньо виконання таких умов:
а) (xiX)(yjY)[(si = vj)(pi= wj)];
б) tT така, що граф G = (X, F) переводить у граф H = (Y, P).
Доведення. Необхідність випливає із леми 3.1, а достатність – із леми 3.2.
Слайд 7Ізоморфізм графів
Теорема 3.2
Теорема. Якщо задано графи G = (X,
F) і H = (Y, P), які мають n вершин
із попарно різними числами (s, p) і (v, w), то встановити їх ізоморфізм можна не більше, ніж за n(n+1)/2 порівнянь, причому підстановка tT така, що граф G = (X, Y) переводить у граф H = (Y, P) і визначається графом відповідності, який має n ребер.
Слайд 8Ізоморфізм графів
Алгоритм розпізнавання
ізоморфізму двох графів
G = (X, F) і H
= (Y, P)
Слайд 9Ізоморфізм графів
Алгоритм має такі кроки:
1. Підраховуємо кількість вершин кожного
графа. За їх рівності переходимо до п.2, за нерівності –
до п.6.
2. Виписуємо всі елементи обох графів у природній упорядкованості та визначаємо пари (s, p) і (v, w) для кожного елемента.
3. Для кожного елемента x графа G = (X, F) шукаємо такий елемент y графа H = (Y, P), для якого виконується умова а теореми 3.1. Знайдені елементи x та y з'єднуємо ребром – будуємо граф відповідності. Переходимо до п. 4, у протилежному випадку – до п. 6.
4. Виписуємо підстановку, що визначається графом відповідності, і перевіряємо виконання умови б теореми 3.1. При виконанні умови переходимо до п. 5, у протилежному випадку – до п. 6.
5. Графи ізоморфні. 6. Графи неізоморфні.
Слайд 10Ізоморфізм графів
Приклад 3.3. Нехай задано два графи G = (X,
F) і H = (Y, P) (слайд 11). Визначити, чи
ізоморфні вони.
1. Встановлюємо, що кількість вершин графів G = (X, F) і H = (Y, P) однакова.
2. Записуємо вершини графів G = (X, F) та H = (Y, P) із парами (s, p) і (v, w), що їх характеризують.
3. Будуємо граф відповідності (слайд 12).
4. Підстановка
t =
переводить матрицю суміжності графа G =(X, F) у матрицю суміжності графа H = (Y, P).
5. Графи G = (X, F) і H = (Y, P) ізоморфні.
Приклад застосування алгоритму
Слайд 11Ізоморфізм графів
Графи G = (X, F) і H = (Y,
Слайд 12Ізоморфізм графів
Граф відповідності
Слайд 13Ізоморфізм графів
Наявність вершин з однаковими
парами (s, p) і (v, w)
У випадку, коли графи G = (X, F) і H
= (Y, P) мають k (kn) вершин з однаковими парами (s, p) і (v, w) кожний, при використанні алгоритму одержимо k! підстановок замість однієї за попарно різних чисел (s, p) і (v, w). У даному разі слід перевірити виконання умови б теореми 3.1 для k! підстановок, що зменшує ефективність алгоритму.
Слайд 14Ізоморфізм графів
Метод зменшення кількості підстановок (1)
Для зменшення кількості підстановок
(при переборі) можна запропонувати такий метод. Після запису всіх елементів
xX і yY обох графів з віднесеними для них парами чисел (s, p) і (v, w) з'єднуємо ребрами ті елементи графів, які задовольняють умову а теореми 3.1 і не входять до означених вище k вершин. Одержуємо часткову підстановку. Для елементів з однаковими парами (s, p) і (v, w) обох графів записуємо у дужках множини X'X та Y'Y, зіставлені елементам x та y, що розглядаються, відношеннями F і P відповідних графів. Для елементів xX' виписуємо елементи yY, які визначаються одержаною частковою підстановкою. З'єднуємо ребрами ті елементи xX та yY із вказаних k елементів, для яких множина Y' є однаковою.
Слайд 15Ізоморфізм графів
Метод зменшення кількості підстановок (2)
Якщо серед указаних k
елементів графів G = (X, F) і H =(Y, P)
присутні l елементів (lk), в яких множина Y' однакова для всіх l елементів і неможливо провести ребра графа відповідності, то для кожного елемента x та y обох графів записуємо у дужках множини X''X та Y''Y, зіставлені елементам x та y відношеннями F–1 і P–1, що є оберненими до відношень F і P. Для елементів xX'' виписуємо елементи yY, що визначаються частковою підстановкою, і поєднуємо ребрами графа відповідності ті елементи xX та yY з l елементів, що мають одну й ту саму множину Y''. Процес продовжуємо до одержання однієї або кількох підстановок замість k!, і після перевірки умови б теореми 3.1 робимо висновки про ізоморфізм графів.
Слайд 16Ізоморфізм графів
Алгоритм розпізнавання
ізоморфізму двох
графів G = (X, F) і H =
(Y, P)
за наявності вершин
з однаковими парами
(s, p) і (v, w)
Слайд 17Ізоморфізм графів
Узагальнений алгоритм (1)
Можна сформулювати узагальнений алгоритм розпізнавання ізоморфізму
двох графів. Щоб не повторювати наведений вище алгоритм, запишемо в
ньому замість п.3 два нові пункти: 3 та 3 а.
Слайд 18Ізоморфізм графів
3. Якщо графи G = (X, F) і H
= (Y, P) мають вершини із різними парами (s, p)
і (v, w) кожний, то будуємо граф відповідності шляхом поєднання ребрами таких елементів x та y графів G = (X, F) і H = (Y, P), для яких виконується умова а теореми 3.1. У противному випадку переходимо до п. 6. Якщо графи мають k (kn) вершин з однаковими парами (s, p) і (v, w) кожний, то спочатку поєднуємо ребрами елементи обох графів, що задовольняють умові а теореми 3.1 і не входять в означені k вершин. Одержуємо часткову підстановку.
3 а. Використовуємо запропонований метод для елементів з однаковими парами (s, p) і (v, w) й одержуємо одну або кілька підстановок замість k! Переходимо до п. 4.
Узагальнений алгоритм (2)
Слайд 19Ізоморфізм графів
Узагальнений алгоритм (3)
Указаний спосіб можна узагальнити на випадок,
коли графи G=(X,F) і H = (Y, P) містять k1,
k2, ..., km елементів (k1 + k2 + ... + km
Слайд 20Ізоморфізм графів
Приклад 3.4. Задано два графи G = (X, F)
і H = (Y, P) (слайд 21). Чи ізоморфні вони?
Запишемо
елементи xX та yY обох графів із відповідними їм парами чисел (s, p) і (v, w) та визначимо часткову підстановку за рахунок проведення ребер 1 і 2 (слайд 22). Далі відповідно до викладеного методу послідовно проводимо ребра 3–7 з використанням відношень F, P і часткових підстановок.
Приклад визначення ізоморфізму графів
Слайд 21Ізоморфізм графів
Графи G = (X, F) і H = (Y,
P) прикладу 3.4
Слайд 22Ізоморфізм графів
Формування графа відповідності
Слайд 23Ізоморфізм графів
У результаті отримуємо підстановку
що задовольняє умові б теореми 3.1.
Графи
G = (X, F) і H = (Y, P) ізоморфні.
t =
Сформована підстановка