Математическое определение расстояния редактирования графа зависит от определения графов, для которых расстояние определяется. Например, оно зависит от того, размечены ли и как размечены вершины и рёбра графа, а также от того, является ли граф ориентированным.
В общем случае, если дан набор операций редактирования графа (известных также как элементарные операции над графами), расстояние редактирования графа между двумя графами и , записываемое как , можно определить как
,
где означает набор путей преобразования в (изоморфный графу) , а равна стоимости каждой операции редактирования .
Набор элементарных операций над графом обычно включает:
вставку вершины — в граф вставляется одна новая помеченная вершина.
удаление вершины — из графа удаляется одна (зачастую не связанная с другими) вершина.
подстановка вершины — изменение метки (или цвета) данной вершины.
вставка ребра — в граф вставляется новое цветное ребро между парой вершин.
удаление ребра — удаление одного ребра между парой вершин.
подстановка ребра — изменение метки (или цвета) данного ребра.
Кроме этого, но более редко, включаются такие операции, как разбиение ребра, при котором вставляется новая вершина в ребро (что приводит к образованию двух рёбер), и стягивание ребра, которое удаляет вершину степени два между рёбрами (одного цвета) с объединением двух рёбер в одно. Хотя такие сложные операции можно определить в терминах более простых преобразований, их использование позволяет лучше параметризовать функцию цены , когда оператор дешевле, чем сумма его составляющих.
Точные алгоритмы вычисления расстояния редактирования графа между парой графов обычно преобразуют проблему в задачу поиска минимального пути преобразований между двумя графами. Вычисление оптимального пути редактирования сводится к поиску пути или задаче о кратчайшем пути, часто реализуемой как алгоритм поиска A*.
Кроме точных алгоритмов, известно много эффективных аппроксимационных алгоритмов[12][13].
Несмотря на то, что вышеупомянутые алгоритмы работают на практике иногда хорошо, в общем случае задача вычисления расстояния редактирования графа является NP-полной[14] (доказательство этого доступно в разделе 2 на сайте Zeng et al.) и даже трудна для аппроксимации (формально, она APX-трудна[15]).
Xinbo Gao, Bing Xiao, Dacheng Tao, Xuelong Li. A survey of graph edit distance // Pattern Analysis and Applications. — 2010. — Т. 13. — С. 113–129. — doi:10.1007/s10044-008-0141-y.
Влади́мир И. Левенштейн. Двоичные коды с исправлением выпадений, вставок и замещений символов // Доклады Академий Наук СCCP. — 1965. — Т. 163, вып. 4. — С. 845–848.
Shasha D., Zhang K. Simple fast algorithms for the editing distance between trees and related problems // SIAM J. Comput.. — 1989. — Т. 18, № 6. — С. 1245–1262. — doi:10.1137/0218082.
Zhang K. A constrained edit distance between unordered labeled trees // Algorithmica. — 1996. — Т. 15, № 3. — С. 205–222. — doi:10.1007/BF01975866.
Michel Neuhaus, Horst Bunke. Bridging the Gap between Graph Edit Distance and Kernel Machines. — World Scientific, 2007. — Т. 68. — (Machine Perception and Artificial Intelligence). — ISBN 978-9812708175.
Kaspar Riesen. Structural Pattern Recognition with Graph Edit Distance: Approximation Algorithms and Applications. — Springer, 2016. — (Advances in Computer Vision and Pattern Recognition). — ISBN 978-3319272511.
Chih-Long Lin.Hardness of approximating graph transformation problem // Algorithms and Computation / Ding-Zhu Du, Xiang-Sun Zhang. — Springer Berlin Heidelberg, 1994. — Т. 834. — (Lecture Notes in Computer Science). — ISBN 9783540583257. — doi:10.1007/3-540-58325-4_168.
Пожалуйста, после исправления проблемы исключите её из списка параметров. После устранения всех недостатков этот шаблон может быть удалён любым участником.