Поиск изоморфных подграфов: различия между версиями

Материал из Алговики
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Нет описания правки
Строка 18: Строка 18:


<references />
<references />
[[Категория:Статьи в работе]]

Версия от 11:18, 29 июля 2015

Постановка задачи

Пусть заданы два графа [math]\displaystyle{ G }[/math] и [math]\displaystyle{ H }[/math]. Задача поиска изоморфных подграфов состоит в том, чтобы определить, существует ли у графа [math]\displaystyle{ G }[/math] подграф, изоморфный [math]\displaystyle{ H }[/math], и в случае положительного ответа – предъявить хотя бы один такой подграф.

Свойства задачи

Задача поиска изоморфных подграфов является NP-полной, поэтому не существует известных алгоритмов, решающих её за полиномиальное время.

Алгоритмы решения задачи

Алгоритм Ульмана[1][2] решает задачу поиска изоморфных подграфов за экспоненциальное время, при этом

  • для фиксированного графа [math]\displaystyle{ H }[/math] время полиномиальное;
  • для планарного графа [math]\displaystyle{ G }[/math] время работы линейное (при фиксированном графе [math]\displaystyle{ H }[/math]).

Алгоритм VF2[3] разработан специально для применения на больших графах.

Литература

  1. ↑ Ullmann, Julian R. “An Algorithm for Subgraph Isomorphism.” Journal of the ACM 23, no. 1 (January 1976): 31–42. doi:10.1145/321921.321925.
  2. ↑ Ullmann, Julian R. “Bit-Vector Algorithms for Binary Constraint Satisfaction and Subgraph Isomorphism.” Journal of Experimental Algorithmics 15 (March 2010): 1.1. doi:10.1145/1671970.1921702.
  3. ↑ Cordella, L P, P Foggia, C Sansone, and M Vento. “A (Sub)Graph Isomorphism Algorithm for Matching Large Graphs.” IEEE Transactions on Pattern Analysis and Machine Intelligence 26, no. 10 (October 2004): 1367–72. doi:10.1109/TPAMI.2004.75.