Distanța de editare a graficului

Distanța de editare a graficului este coeficientul de similitudine (sau disimilare) dintre două grafice . Conceptul de distanță de editare a graficului a fost formulat pentru prima dată matematic de Alberto Sanfeliu și King-San Fu în 1983 [1] . Aplicația principală a distanței de editare a graficului este potrivirea inexactă a graficului , cum ar fi recunoașterea robustă a modelelor în învățarea automată [2] .

Distanța de editare a graficului dintre două grafice este legată de distanța de editare dintre rânduri . Atunci când interpretăm chiuvetele ca grafice aciclice direcționate conectate cu un grad maxim de doi, definițiile clasice ale distanței de editare, cum ar fi distanța Levenshtein [3] , distanța Hamming [4] și distanța Jaro-Winkler , pot fi interpretate ca distanțe de editare a graficului între grafice adecvate. În mod similar, distanța de editare a graficului este o generalizare a distanței de editare a arborelui dintre arborii înrădăcinați [5] [6] [7] [8] .

Definiții și proprietăți formale

Definiția matematică a distanței de editare a graficului depinde de definiția graficelor pentru care este definită distanța. De exemplu, depinde dacă și cum sunt etichetate vârfurile și muchiile graficului și, de asemenea, dacă graficul este direcționat . În general, având în vedere un set de operații de editare a graficelor (cunoscute și ca operații elementare de grafic ), distanța de editare a graficului dintre două grafice și , scrisă ca , poate fi definită ca

,

unde înseamnă setul de căi de transformare către ( izomorf la grafic) și este egal cu costul fiecărei operațiuni de editare .

Setul de operații elementare grafice include de obicei:

inserarea nodurilor — un nou vârf etichetat este inserat în grafic. eliminarea vârfurilor — un vârf (adesea fără legătură) este eliminat din grafic. înlocuirea unui vârf - schimbarea etichetei (sau a culorii) unui vârf dat. inserarea muchiei — o nouă muchie colorată este inserată în grafic între o pereche de vârfuri. edge removal — îndepărtarea unei muchii între o pereche de vârfuri. înlocuire margine - schimbați eticheta (sau culoarea) unei margini date.

În plus, dar mai rar, operațiuni precum împărțirea unei muchii , care inserează un nou vârf într-o muchie (rezultând două muchii) și micșorarea unei muchii , care elimină un vârf de gradul doi între muchii (de aceeași culoare) în timp ce îmbinarea celor două margini, sunt incluse într-una. Deși astfel de operații complexe pot fi definite în termeni de transformări mai simple, utilizarea lor permite o mai bună parametrizare a funcției de cost atunci când operatorul este mai ieftin decât suma părților sale.

Aplicații

Distanța de editare a graficelor are aplicații în recunoașterea scrisului de mână [9] , recunoașterea amprentei [10] și chimioinformatică [11] .

Algoritmi și complexitate

Algoritmii exacti pentru calcularea distanței de editare a graficului dintre o pereche de grafice transformă de obicei problema într-o problemă de găsire a căii minime de transformare între două grafice. Calcularea căii optime de editare se reduce la identificarea căii sau la problema căii celei mai scurte , adesea implementată ca algoritm de căutare A* .

Pe lângă algoritmii exacti, sunt cunoscuți mulți algoritmi de aproximare eficienți [12] [13] .

Deși algoritmii de mai sus funcționează uneori bine în practică, în general, problema calculării distanței de editare a unui grafic este NP-complet [14] (o dovadă a acestui lucru este disponibilă în secțiunea 2 de pe site-ul lui Zeng și colab. ) și chiar greu de aproximat (formal, este APX -hard [15] ).

Note

  1. Sanfeliu, Fu, 1983 , p. 353–363.
  2. Gao, Xiao, Tao, Li, 2010 , p. 113-129.
  3. Levenshtein, 1965 , p. 845–848.
  4. Hamming, 1950 , p. 147–160.
  5. Shasha și Zhang 1989 , p. 1245–1262.
  6. Zhang, 1996 , p. 205–222.
  7. Bille, 2005 , p. 22–34.
  8. Demaine, Mozes, Rossman, Weimann, 2010 , p. A2.
  9. Fischer, Suen, Frinken, Riesen, Bunke, 2013 , p. 194–203.
  10. Neuhaus, Bunke, 2005 , p. 191–200.
  11. Birchall, Gillet, Harper, Pickett, 2006 , p. 557–586.
  12. Neuhaus, Bunke, 2007 .
  13. Riesen, 2016 .
  14. Garey, Johnson, 1979 .
  15. Lin, 1994 , p. 74–82.

Literatură