Ізоморфізм графів
Ти – не раб! Закритий освітній курс для дітей еліти: "Справжнє облаштування світу".http://noslave.org
Теоретично графівізоморфізмом графівНеможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. (Виконуваний файл texvc не знайдено; Див. math/README — довідку з налаштування.): H=\left \langle V_H, E_H \right \rangle називається бієкція між множинами вершин графів Неможливо розібрати вираз (Виконуваний файл texvc не знайдено; math/README — довідку з налаштування.): f \colon\ V_G \rightarrow V_H така, що будь-які дві вершини Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. math/README — довідку з налаштування.): u і Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. math/README — довідку з налаштування.): v графа Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. math/README — довідку з налаштування.): G суміжні тоді і тільки тоді , коли вершини Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. math/README — довідку з налаштування.): f(u) і Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. math/README — довідку з налаштування.): f(v) суміжні у графі Неможливо розібрати вираз ( Виконуваний файл texvc не знайдений, див. Тут графи розуміються неорієнтованими і не мають ваг вершин та ребер. У разі, якщо поняття ізоморфізму застосовується до орієнтованих або зважених граф, накладаються додаткові обмеження на збереження орієнтації дуг і значень ваг. Якщо ізоморфізм графів встановлений, вони називаються ізоморфними та позначаються як Неможливо розібративираз (Виконуваний файл texvc не знайдено; Див. math/README — довідку з налаштування.): G\simeq H .
Іноді біекція Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. README — довідка з налаштування.): \begin a_1 & a_2 & \dots & a_n \f(a_1) & f(a_2) & \dots & f(a_n) \end. Деякі завдання обробки графів вимагають як перевірки ізоморфізму, а й з'ясування його підстановки.
Відношення ізоморфізму графів є відношенням еквівалентності, визначене для графів, і дозволяє зробити розбиття вихідного класу всіх графів на класи еквівалентності. Безліч графів, ізоморфних один одному, називається класом ізоморфізму графів (англ.), їх число залежно від Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. являє собою послідовність A000088 OEIS (1, 1, 2, 4, 11, 34, 156, 1044, 12346, . ).
У разі, якщо біекція Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. math/README — довідку з налаштування.): f відображає граф сам на себе (графи Неможливо розібрати вираз — довідку по налаштуванню.): G і Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. math/README — довідку з налаштування.): G .
Існують також суміжні завдання теорії графів, такі як пошук ізоморфного підграфа (англ.) та пошукмаксимальної загальної ізоморфної підграфи (англ.), що належать до класу NP-повних. У суміжних розділах математики існують схожі проблеми, наприклад, ізоморфізму проективних площин та ізоморфізму кінцевих груп, які поліноміально зводяться до проблеми ізоморфізму графів (можливість зворотної поліноміальної зведеності в загальному випадку не доведена) [1] .
Зміст
Два графи, наведені у прикладі, є ізоморфними.
| Неможливо розібрати вираз (файл texvc, що виконується, не знайдений; Див. math/README — довідку з налаштування.): f(a)=1 |
Неможливо розібрати вираз (Виконуваний файл texvc не знайдено; Див. .): f(c)=8 Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. не знайдено: Див.Див. math/README — довідку з налаштування.): f(h)=2 Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. math/README — довідку з налаштування.): f(i)=4 Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. math/README — довідку з налаштування.): f(j)=7
Ізоморфізм графів загального вигляду
Графи Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. , якщо шляхом перестановки рядків і стовпців матриці суміжності графа Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. math/README — довідку про налаштування.): H . Однак перебір всіх можливих перестановок характеризується обчислювальною складністю Неможливо розібрати вираз (Виконуваний файл texvc не знайдено; Див. Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. math/README — довідку з налаштування.): N , що зазвичай несправедливо і додатково збільшує наведену оцінку), що суттєво обмежує застосування такого підходу на практиці. Існують методи обмеженого перебору можливих пар імовірно-ізоморфних вершин(аналог методу гілок і кордонів), проте вони трохи покращують наведену вище асимптотику [2] .
Теорема Вітні
Теорема Уітні про ізоморфізм графів [3] [4] , сформульована Хасслером Уітні в 1932 році, говорить, що два зв'язкові графи ізоморфні, тоді і тільки тоді, коли їх реберні графи ізоморфні, за винятком графів Неможливо розібрати вираз ; Див. не є ізоморфними, однак обидва мають граф Неможливо розібрати вираз (виконуваний файл texvc не знайдений; Див. math/README — довідку з налаштування.): K_3 як реберний граф. Теорема Вітні може бути узагальнена для гіперграфів [5] .
Інваріанти
Існує набір числових характеристик графів, які називаютьінваріантами, які збігаються в ізоморфних графів (збіг інваріантів є необхідною, але не достатньою умовою наявності ізоморфізму) [6] . До них відносяться число вершин Неможливо розібрати вираз (Виконуваний файл texvc не знайдено; Див. README — довідку з налаштування.): m(G) графаG, упорядкований за зростанням або спаданням вектора ступенів вершин Неможливо розібрати вираз (виконуваний файл texvc не знайдений; Див. math/README — довідку з налаштування.) : s(G)=(\rho(v_1), \rho(v_2), \dots, \rho(v_n)) , упорядкований за зростанням або зменшенням вектор власних чисел матриці суміжності графа (спектр графа), хроматичне число Неможливо розібрати вираз(Файл texvc, що виконується, не знайдено; Див. math/README — довідку з налаштування.): \chi(G) та ін. Факт збігу інваріантів зазвичай не несе інформації про підстановку ізоморфізму.
Інваріант називаєтьсяповним, якщо збіги інваріантів графів необхідне достатньо для встановлення ізоморфізму. Наприклад, кожне із значень Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. math/README — довідку з налаштування.): \mu_(G) і Неможливо розібрати вираз по настройці.): \mu_(G) (міні- та максі-код матриці суміжності) є повним інваріантом для графа з фіксованим числом вершин Неможливо розібрати вираз (виконуваний файл texvc не знайдений; Див. math/README - довідку з налаштування.) : n.
Різні інваріанти мають різну трудомісткість обчислення. В даний час повний інваріант графа, який обчислюється за поліноміальний час, невідомий, проте не доведено, що він не існує. Спроби його відшукування неодноразово робилися в 60-х — 80-х роках XX століття, проте не мали успіху.
Модульний твір Візінга
Модульний добуток графів Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. звести завдання перевірки ізоморфізму до завдання визначення щільності графа Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. math/README — довідка з налаштування.): n(G) \cdot n(H) вершин. Якщо Ви не можете розібрати вираз (виконуваний файл texvc не знайдено; Див. math/README — довідку поналаштування.): \varphi(Y) = n(G) , Неможливо розібрати вираз (виконуваний файл texvc не знайдений; Див. Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. math/README — довідку з налаштування.): H містить підграф, ізоморфний графу Неможливо розібрати вираз (виконуваний файл texvc не знайдено; Див. math/README — довідку про налаштування.): G.
Ізоморфізм графів спеціального виду
Обчислювальна складність
Хоча завдання розпізнавання ізоморфізму графів належить класу NP, невідомо чи є вона NP-повною чи належить класу P (за умови, що P ≠ NP). При цьому завдання пошуку ізоморфної підграфи (англ.) у графі є NP-повною. Сучасні дослідження спрямовані на розробку швидких алгоритмів вирішення як загального завдання ізоморфізму довільних графів, так і графів спеціального виду.
Застосування
Насправді необхідність перевірки ізоморфізму графів виникає під час вирішення завдань хемоинформатики, математичної (комп'ютерної) хімії [7] , автоматизації проектування електронних схем (верифікація різних уявлень електронної схеми) [2] , оптимізації програм (виділення загальних виразів).