Задача поиска изоморфного подграфа

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

Задача поиска изоморфного подграфа — это вычислительная задача, в которой входом являются два графа G и H и нужно определить, не содержит ли G подграф, изоморфный графу H. Задача поиска изоморфного подграфа является обобщением как задачи о максимальной клике, так и задачи о проверке, не содержит ли граф гамильтонов цикл, а потому является NP-полной[1]. Однако задачи поиска изоморфного подграфа с некоторыми видами подграфов могут быть решены за полиномиальное время[2][3].

Иногда также используется название сопоставление подграфа для той же задачи. Это название делает упор на поиске таких подграфов, а не просто на разрешимости.

Задача разрешимости и вычислительная сложность

Для доказательства, что задача поиска изоморфного подграфа NP-полна, её нужно сформулировать как задачу разрешимости. Входом задачи разрешимости служит пара графов G и H. Ответ задачи положителен, если H изоморфен некоторому подграфу графа G, и отрицателен в ином случае.

Формальное задание:

Пусть [math]\displaystyle{ G=(V,E) }[/math], [math]\displaystyle{ H=(V^\prime,E^\prime) }[/math] — два графа. Существует ли подграф [math]\displaystyle{ G_0=(V_0,E_0): V_0\subseteq V, E_0\subseteq E\cap(V_0\times V_0) }[/math], такой, что [math]\displaystyle{ G_0\cong H }[/math]? Т.е. существует ли отображение [math]\displaystyle{ f\colon V_0\rightarrow V^\prime }[/math], такое, что [math]\displaystyle{ (v_1,v_2)\in E_0\Leftrightarrow (f(v_1),f(v_2))\in E^\prime }[/math]?

Доказательство NP-полноты задачи поиска изоморфного подграфа просто и основывается на сведении к этой задаче задачи о клике, NP-полной задачи разрешимости, в которой входом служит один граф G и число k, а вопрос состоит в следующем: содержит ли граф G полный подграф с k вершинами. Для сведения этой задачи к задаче поиска изоморфного подграфа, просто возьмём в качестве графа H полный граф Kk. Тогда ответ для задачи поиска изоморфного подграфа с входными графами G и H равен ответу для задачи о клике для графа G и числа k. Поскольку задача о клике NP-полна, такая полиномиальная сводимость показывает, что задача поиска изоморфного подграфа также NP-полна[4].

Альтернативное сведение от задачи о гамильтоновом цикле отображает граф G, который проверяется на гамильтоновость, на пару графов G и H, где H — цикл, имеющий то же число вершин, что и G. Поскольку задача о гамильтоновом цикле является NP-полной даже для планарных графов, это показывает, что задача поиска изоморфного подграфа остаётся NP-полной даже для планарного случая[5].

Задача поиска изоморфного подграфа является обобщением задачи об изоморфизме графов[англ.], которая спрашивает, изоморфен ли граф G графу H — ответ для задачи об изоморфизме графов «да» тогда и только тогда, когда графы G и H имеют одно и то же число вершин и рёбер и задача поиска изоморфного подграфа для графов G и H даёт «да». Однако статус задачи изоморфизма графов с точки зрения теории сложности остаётся открытым.

Грёгер[6] показал, что если выполнена гипотеза Аандераа — Карпа — Розенберга о сложности запроса[англ.] монотонных свойств графа, то любая задача поиска изоморфного подграфа имеет сложность запроса Ω(n3/2). То есть решение задачи поиска изоморфного подграфа требует проверки существования или отсутствия во входе Ω(n3/2) различных рёбер графа[7].

Алгоритмы

Ульман[8] описал рекурсивную процедуру с возвратом для решения задачи поиска изоморфного подграфа. Хотя время работы этого алгоритма, в общем случае, экспоненционально, он работает за полиномиальное время для любого фиксированного H (то есть время работы ограничено полиномом, зависящим от выбора H). Если G является планарным графом (или, более обще, графом с ограниченным расширением[англ.]), а H фиксирован, время решения задачи поиска изоморфного подграфа может быть сокращено до линейного времени[2][3].

Ульман[9] существенно обновил алгоритм из статьи 1976-го года.

Приложения

Задача поиска изоморфного подграфа была применена в области хемоинформатики для поиска похожести химических соединений по их структурным формулам. Часто в этой области используется термин подструктурный поиск[8]. Структура запроса часто определяется графически с использованием структурного редактора. Основанные на SMILES базы данных обычно определяют запросы с использованием SMARTS[англ.], расширения SMILES.

Тесно связанные задачи подсчёта числа изоморфных копий графа H в большем графе G используются для обнаружения шаблона в базах данных[10], в биоинформатике взаимодеийствия протеин-протеин[11] и в методах экспоненциальных случайных графов для математического моделирования социальных сетей[12].

Ольрих, Эбелинг, Гитинг и Сатер[13] описали приложение задачи поиска изоморфного подграфа в cистеме автоматизированного проектирования электронных схем. Задача сопоставления подграфа является также подшагом при преобразовании графа (требующего наибольшего времени выполнения), а потому предоставляется инструментальными средствами преобразования графа.

Задача также вызывает интерес в области искусственного интеллекта, где она считается частью группы задач сопоставления с образцом в графах. Также рассматривается в этой области расширение задачи поиска изоморфного графа, известное как анализ графа[англ.][14].

Примечания

  1. В оригинальной статье Кука (Cook 1971), содержащей доказательство теоремы Кука — Левина, уже было показано, что задача поиска изоморфного подграфа NP-полна, путём сведения из задачи 3-SAT с использованием клик
  2. 2,0 2,1 Eppstein, 1999, с. 1–27.
  3. 3,0 3,1 Nešetřil, Ossona de Mendez, 2012, с. 400–401.
  4. Wegener, 2005, с. 81.
  5. de la Higuera, Janodet, Samuel, Damiand, Solnon, 2013, с. 76–99.
  6. Gröger, 1992, с. 119–127.
  7. Здесь Ω — Омега большое.
  8. 8,0 8,1 Ullmann, 1976, с. 31–42.
  9. Ullmann, 2010.
  10. Kuramochi, Karypis, 2001, с. 313.
  11. Pržulj, Corneil, Jurisica, 2006, с. 974–980.
  12. Snijders, Pattison, Robins, Handcock, 2006, с. 99–153.
  13. Ohlrich, Ebeling, Ginting, Sather, 1993, с. 31–37.
  14. http://www.aaai.org/Papers/Symposia/Fall/2006/FS-06-02/FS06-02-007.pdf Архивная копия от 29 августа 2017 на Wayback Machine; expanded version at https://e-reports-ext.llnl.gov/pdf/332302.pdf Архивная копия от 31 января 2017 на Wayback Machine

Литература