Odległość edycji wykresu
W matematyce i informatyce odległość edycji wykresu ( GED ) jest miarą podobieństwa ( lub odmienności) między dwoma wykresami . Koncepcja odległości edycji wykresu została po raz pierwszy sformalizowana matematycznie przez Alberto Sanfeliu i King-Sun Fu w 1983 roku. Głównym zastosowaniem odległości edycji wykresu jest niedokładne dopasowanie wykresu, takie jak rozpoznawanie wzorców z tolerancją błędów w uczeniu maszynowym .
Odległość edycji wykresu między dwoma wykresami jest związana z odległością edycji łańcucha między łańcuchami . Przy interpretacji strun jako połączonych , skierowanych grafów acyklicznych o maksymalnym stopniu pierwszym, klasyczne definicje odległości edycji, takie jak odległość Levenshteina , odległość Hamminga i odległość Jaro – Winklera, można interpretować jako odległości edycji grafów między odpowiednio ograniczonymi grafami. Podobnie odległość edycji wykresu jest również uogólnieniem odległości edycji drzewa między ukorzenionymi drzewami .
Definicje i własności formalne
Matematyczna definicja odległości edycyjnej grafu zależy od definicji grafów, na których jest zdefiniowana, tj. czy i jak wierzchołki i krawędzie grafu są oznaczone oraz czy krawędzie są skierowane . Ogólnie rzecz biorąc, biorąc pod zestaw operacji edycji wykresów (znanych również jako podstawowe operacje na wykresach ), odległość edycji wykresu między dwoma wykresami i zapisana jako można zdefiniować
gdzie oznacza zbiór ścieżek edycji przekształcających w ( wykres izomorficzny z) i to koszt każdej operacji edycji wykresu .
Zestaw podstawowych operatorów edycji wykresów zazwyczaj obejmuje:
- wstawianie wierzchołków w celu wprowadzenia pojedynczego nowego wierzchołka z etykietą do grafu.
- usuwanie wierzchołków w celu usunięcia pojedynczego (często niepołączonego) wierzchołka z grafu.
- podstawienie wierzchołka w celu zmiany etykiety (lub koloru) danego wierzchołka.
- wstawianie krawędzi w celu wprowadzenia nowej kolorowej krawędzi między parą wierzchołków.
- usuwanie krawędzi , aby usunąć pojedynczą krawędź między parą wierzchołków.
- podstawienie krawędzi w celu zmiany etykiety (lub koloru) danej krawędzi.
Dodatkowe, ale mniej powszechne operatory obejmują operacje, takie jak dzielenie krawędzi , które wprowadza nowy wierzchołek do krawędzi (również tworząc nową krawędź), oraz skracanie krawędzi , które eliminuje wierzchołki drugiego stopnia między krawędziami (tego samego koloru). Chociaż takie złożone operatory edycji można zdefiniować w kategoriach bardziej elementarnych przekształceń, ich umożliwia dokładniejszą parametryzację funkcji kosztu, operator jest tańszy niż suma jego składników.
Głęboka analiza podstawowych operatorów edycji grafu jest przedstawiona w
Przedstawiono również metody automatycznego wyprowadzania tych elementarnych operatorów edycji grafu. Niektóre algorytmy uczą się tych kosztów online:
Aplikacje
Graph edit distance znajduje zastosowanie w rozpoznawaniu pisma ręcznego , rozpoznawaniu linii papilarnych i cheminformatyce .
Algorytmy i złożoność
Dokładne algorytmy obliczania odległości edycji wykresu między parą wykresów zazwyczaj przekształcają problem w znalezienie ścieżki edycji minimalnego kosztu między dwoma wykresami. Obliczenie optymalnej ścieżki edycji jest przedstawiane jako ścieżki lub problem najkrótszej ścieżki , często implementowany jako algorytm wyszukiwania A* .
Oprócz algorytmów dokładnych znanych jest również szereg wydajnych algorytmów aproksymacyjnych. Większość z nich ma sześcienny czas obliczeniowy
Ponadto istnieje algorytm, który dedukuje przybliżenie GED w czasie liniowym
Pomimo tego, że powyższe algorytmy czasami dobrze sprawdzają się w praktyce, generalnie problem obliczania odległości edycji wykresu jest NP-trudny (dowód dostępny online, patrz rozdział 2 Zeng et al. ), a nawet trudny do przybliżenia ( formalnie , jest APX -twardy).