În teoria grafurilor, un izomorfism de graf este o bijecție între seturi de vârfuri de grafuri , astfel încât oricare două vârfuri și graficul sunt adiacente dacă și numai dacă vârfurile și sunt adiacente în grafic . Aici, graficele sunt înțelese a fi nedirecționate și neavând greutăți de vârf și margini. Dacă conceptul de izomorfism este aplicat graficelor direcționate sau ponderate, se impun restricții suplimentare privind păstrarea orientării arcului și a valorilor de greutate. Dacă se stabilește izomorfismul graficelor, acestea se numesc izomorfe și se notează ca .
Uneori, o bijecție este scrisă ca o substituție de izomorfism . Unele probleme de procesare a graficelor necesită nu numai verificarea izomorfismului, ci și găsirea substituției acestuia.
Relația de izomorfism grafic este o relație de echivalență definită pentru grafice și permite ca clasa originală a tuturor graficelor să fie împărțită în clase de echivalență . Setul de grafice izomorfe unul față de celălalt se numește clasa de izomorfism grafic , numărul lor în funcție de succesiunea A000088 în OEIS (1, 1, 2, 4, 11, 34, 156, 1044, 12346, .. .) .
Dacă bijecția mapează graficul pe el însuși (graficele și coincid), se numește automorfism de grafic .
Există, de asemenea, probleme înrudite în teoria grafurilor, cum ar fi găsirea unui subgraf izomorf și găsirea unui subgraf izomorf comun maxim , care aparțin clasei de NP-complet . În ramurile conexe ale matematicii, există probleme similare, de exemplu, izomorfismul planurilor proiective și izomorfismul grupurilor finite , care sunt polinomial reductibile la problema izomorfismului de graf (posibilitatea reducției polinomiale inverse nu a fost dovedită în cazul general). ) [1] .
Cele două grafice prezentate în exemplu sunt izomorfe.
Grafic | Grafic | Izomorfismul dintre grafice și | Substituția izomorfismului |
---|---|---|---|
|
Grafice si sunt izomorfe daca prin permutarea randurilor si coloanelor matricei de adiacenta a graficului se poate obtine matricea de adiacenta a graficului . Cu toate acestea, enumerarea tuturor permutărilor posibile este caracterizată de complexitate computațională (cu condiția ca matricele de adiacență să fie comparate într-un timp independent de , ceea ce este de obicei incorect și în plus crește estimarea de mai sus), ceea ce limitează semnificativ aplicarea acestei abordări în practică. Există metode pentru enumerarea limitată a posibilelor perechi de vârfuri presupus izomorfe (analoage metodei ramificației și legate ), dar îmbunătățesc ușor asimptoticele de mai sus [2] .
Teorema izomorfismului grafului lui Whitney [3] [4] , formulată de Hassler Whitney în 1932 , afirmă că două grafuri conectate sunt izomorfe dacă și numai dacă grafurile lor liniare sunt izomorfe, cu excepția grafurilor (un graf complet de 3 vârfuri) și a unui bipartit complet. graph , care nu sunt izomorfe, dar ambele au un graf ca graf cu linii. Teorema lui Whitney poate fi generalizată la hipergrafe [5] .
Există un set de caracteristici numerice ale graficelor, numite invarianți , care coincid pentru graficele izomorfe (coincidența invarianților este o condiție necesară dar nu suficientă pentru izomorfism) [6] . Acestea includ numărul de vârfuri și numărul de arce/margini ale graficului G , vectorul de grade de vârfuri ordonate în ordine crescătoare sau descrescătoare, vectorul valorilor proprii ale matricei de adiacență a graficului (spectrul graficului) ordonat crescător sau ordinea descrescătoare, numărul cromatic etc. Faptul că invarianții coincid de obicei nu conține informații despre substituția izomorfismului.
Se spune că un invariant este complet dacă coincidența invarianților graficului este necesară și suficientă pentru a stabili un izomorfism. De exemplu, fiecare dintre valorile și (mini- și maxi-codul matricei de adiacență) este un invariant complet pentru un grafic cu un număr fix de vârfuri .
Invarianții diferiți au complexitate de calcul diferită. În prezent, un invariant grafic complet calculat în timp polinomial este necunoscut, dar nu s-a dovedit că nu există. Încercările de a-l găsi au fost făcute în mod repetat în anii 60 - 80 ai secolului XX , dar nu au avut succes.
Produsul modular al grafurilor , propus de V. G. Vizing , ne permite să reducem problema verificării izomorfismului la problema determinării densității unui graf care conține vârfuri. Dacă , , atunci graficul conține un subgraf izomorf cu graficul .
Deși problema izomorfismului de graf aparține clasei NP , nu se știe dacă este NP-complet sau aparține clasei P (presupunând P ≠ NP ). Mai mult, problema găsirii unui subgraf izomorf într-un graf este NP-complet . Cercetarea modernă are ca scop dezvoltarea algoritmilor rapizi pentru rezolvarea atât a problemei generale a izomorfismului graficelor arbitrare, cât și a graficelor de tip special.
În practică, necesitatea verificării izomorfismului graficelor apare la rezolvarea problemelor de chimioinformatică , chimie matematică (calculatoare) [7] , automatizarea proiectării circuitelor electronice (verificarea diferitelor reprezentări ale unui circuit electronic ) [2] , optimizarea programului (identificarea subexpresiilor comune).