Инвариант графа
Инвариа́нт гра́фа в теории графов — некоторое обычно числовое значение или упорядоченный набор значений (хеш-функция)[источник не указан 1023 дня], характеризующее структуру графа [math]\displaystyle{ G=\langle A, V \rangle }[/math] и не зависящее от способа обозначения вершин или графического изображения графа. Играет важную роль при проверке изоморфизма графов, а также в задачах компьютерной химии.
Примеры инвариантов
К инвариантам графа относятся:
- Диаметр графа [math]\displaystyle{ \mathrm{diam}(G) }[/math] — длина кратчайшего пути (расстояние) между парой наиболее удаленных вершин.
- Инвариант Колен де Вердьера.
- Индекс Винера — величина [math]\displaystyle{ w=\sum_{\forall i, j} d(v_i, v_j) }[/math], где [math]\displaystyle{ d(v_i, v_j) }[/math] — минимальное расстояние между вершинами [math]\displaystyle{ v_i }[/math] и [math]\displaystyle{ v_j }[/math].
- Индекс Рандича — величина [math]\displaystyle{ r=\sum_{(v_i, v_j) \in V} \frac{1}{\sqrt{d(v_i) d(v_j)}} }[/math].
- Индекс Хосойи — число паросочетаний ребер графа плюс единица.
- Мини- [math]\displaystyle{ \mu_{min}(G) }[/math] и макси-код [math]\displaystyle{ \mu_{max}(G) }[/math] матрицы смежности, получаемые путём выписывания двоичных значений матрицы смежности в строчку с последующим переводом полученного двоичного числа в десятичную форму. Мини-коду соответствует такой порядок следования строк и столбцов, при котором полученное значение является минимально возможным; макси-коду — соответственно максимальным.
- Минимальное число вершин, которое необходимо удалить для получения несвязного графа.
- Минимальное число ребер, которое необходимо удалить для получения несвязного графа.
- Минимальное число вершин, необходимое для покрытия ребер.
- Минимальное число ребер, необходимое для покрытия вершин.
- Неплотность графа [math]\displaystyle{ \epsilon (G) }[/math] — число вершин максимального по включению безреберного подграфа (наибольшее количество попарно несмежных вершин). Несложно заметить, что [math]\displaystyle{ \varphi(G) = \epsilon(\overline{G}) }[/math] и [math]\displaystyle{ \epsilon(G) = \varphi(\overline{G}) }[/math].
- Обхват графа — число ребер в составе минимального цикла.
- Определитель матрицы смежности.
- Плотность графа [math]\displaystyle{ \varphi(G) }[/math] — число вершин максимальной по включению клики.
- Упорядоченный по возрастанию или убыванию вектор степеней вершин [math]\displaystyle{ s(G)=(d(v_1), d(v_2), \dots, d(v_n)) }[/math] — при использовании переборных алгоритмов определения изоморфизма графов в качестве предположительно-изоморфных пар вершин выбираются вершины с совпадающими степенями, что способствует снижению трудоемкость перебора. Использование данного инварианта для k-однородных графов не приводит к снижению вычислительной сложность перебора, так как степени всех вершин подобного графа совпадают: [math]\displaystyle{ s(G)=(k, k, \dots, k) }[/math].
- Упорядоченный по возрастанию или убыванию вектор собственных чисел матрицы смежности графа (спектр графа). Сама по себе матрица смежности не является инвариантом, так как при смене нумерации вершин она претерпевает перестановку строк и столбцов.
- Число вершин [math]\displaystyle{ n(G)=|A| }[/math] и число дуг/ребер [math]\displaystyle{ m(G)=|V| }[/math].
- Число компонент связности графа [math]\displaystyle{ \kappa(G) }[/math].
- Число Хадвигера [math]\displaystyle{ \eta(G) }[/math].
- Характеристический многочлен матрицы смежности.
- Хроматическое число [math]\displaystyle{ \chi(G) }[/math].
В качестве инварианта можно рассматривать не одно из приведенных выше чисел, а их кортеж (супериндекс) вида [math]\displaystyle{ (p_0, p_1, p_2, \dots) }[/math], которому, в свою очередь, может быть сопоставлен многочлен вида
- [math]\displaystyle{ P(x) = \sum_{i \ge 0} p_i x^i = p_0 + p_1 x + p_2 x^2 + \dots, }[/math]
суммирование ведется до последнего отличного от нуля значения [math]\displaystyle{ p_i }[/math]. Подобным образом можно ввести ещё несколько инвариантов графа:
- [math]\displaystyle{ D(G)=\sum_{i=0}^n d_i(G) x^i = d_0(G) + d_1(G) x + d_2(G) x^2 + \dots + d_n(G) x^n }[/math], где [math]\displaystyle{ d_i(G) }[/math] — число вершин степени i;
- [math]\displaystyle{ E(G)=\sum_{i=0}^{\epsilon(G)} e_i(G) x^i = e_0(G) + e_1(G) x + e_2(G) x^2 + \dots + e_{\epsilon}(G) x^{\epsilon} }[/math], где [math]\displaystyle{ e_i(G) }[/math] — число безреберных i-вершинных подграфов;
- [math]\displaystyle{ F(G)=\sum_{i=0}^{\varphi(G)} f_i(G) x^i = f_0(G) + f_1(G) x + f_2(G) x^2 + \dots + f_{\varphi}(G) x^{\varphi} }[/math], где [math]\displaystyle{ f_i(G) }[/math] — число полных i-вершинных подграфов (i-клик);
- [math]\displaystyle{ H(G)=\sum_{i=1}^{\eta(G)} h_i(G) x^i = h_1(G) x + h_2(G) x^2 + \dots + h_{\eta}(G) x^{\eta} }[/math], где [math]\displaystyle{ h_i(G) }[/math] — число различных стягиваний связного графа [math]\displaystyle{ G }[/math] на i-клику;
- [math]\displaystyle{ K(G)=\sum_{i = 1}^n k_i(G) x^i = k_1(G) x + k_2(G) x^2 + \dots + k_n(G) x^n }[/math], где [math]\displaystyle{ k_i(G) }[/math] — число компонент связности из i вершин;
- [math]\displaystyle{ Y(G)=\sum_{i = \chi(G)}^n y_i(G) x^i = y_{\chi}(G) x^{\chi} + y_{\chi+1}(G) x^{\chi+1} + \dots + y_n(G) x^n }[/math], где [math]\displaystyle{ y_i(G) }[/math] — число i-раскрасок графа (правильных раскрасок с использованием ровно i цветов).
Системы инвариантов графа, зависящие от двух и более параметров, можно записать в виде многочленов от нескольких формальных переменных [math]\displaystyle{ x, y, z, \dots }[/math] Например:
- [math]\displaystyle{ A(G)=\sum_{i,j \ge 0} \alpha_{ij}(G) x^i y^j }[/math], где [math]\displaystyle{ \alpha_{ij}(G) }[/math] — число подграфов графа [math]\displaystyle{ G }[/math], которые имеют [math]\displaystyle{ i }[/math] вершин и [math]\displaystyle{ j }[/math] ребер;
- [math]\displaystyle{ B(G) = \sum_{i,k \ge 0} \beta_{ik}(G) x^i z^k }[/math], где [math]\displaystyle{ \beta_{ik}(G) }[/math] — количество i-вершинных подграфов, для которых число иголок (ребер, соединяющих вершины подграфа с остальными вершинами графа) равно [math]\displaystyle{ k }[/math];
- [math]\displaystyle{ S(G) = \sum_{i,j,k \ge 0} s_{ijk}(G) x^i y^j z^k }[/math], где [math]\displaystyle{ s_{ijk}(G) }[/math] — количество i-вершинных подграфов, имеющих [math]\displaystyle{ j }[/math] ребер и [math]\displaystyle{ k }[/math] иголок (обобщение инвариантов [math]\displaystyle{ A(G) }[/math] и [math]\displaystyle{ B(G) }[/math]);
- Полином Татта.
Совпадение инвариантов является необходимым, но не достаточным условием наличия изоморфизма[1]
Полный инвариант
Инвариант называется полным, если совпадения инвариантов графов необходимо и достаточно для установления изоморфизма. Например, каждое из значений [math]\displaystyle{ \mu_{min}(G) }[/math] и [math]\displaystyle{ \mu_{max}(G) }[/math] является полным инвариантом для графа с фиксированным числом вершин [math]\displaystyle{ n }[/math].
Трудоемкость вычисления
Инварианты различаются по трудоемкости вычисления. Инварианты [math]\displaystyle{ n(G) }[/math], [math]\displaystyle{ m(G) }[/math], [math]\displaystyle{ s(G) }[/math] и [math]\displaystyle{ \kappa(G) }[/math] вычисляются тривиально, в то время как вычисление инвариантов [math]\displaystyle{ \varphi(G) }[/math], [math]\displaystyle{ \epsilon(G) }[/math], [math]\displaystyle{ \chi(G) }[/math], [math]\displaystyle{ \eta(G) }[/math], [math]\displaystyle{ \mu_{min}(G) }[/math], [math]\displaystyle{ \mu_{max}(G) }[/math] и зависящих от них может быть достаточно вычислительно сложным. Существуют вероятностные алгоритмы определения значений приведенных «трудновычисляемых» инвариантов, однако применение подобных алгоритмов допускается не всегда.
В настоящее время полный инвариант графа, вычислимый за полиномиальное время, неизвестен, однако не доказано, что он не существует. Попытки его отыскания неоднократно предпринимались в 60-х — 80-х годах XX века, однако не увенчались успехом.
Применение в компьютерной химии
Многие инварианты (топологические индексы) используются в компьютерной химии для решения широкого круга общих и специальных задач[2]. К этим задачам относятся: поиск веществ с заранее заданными свойствами (поиск зависимостей типа «структура-свойство», «структура-фармакологическая активность»), первичная фильтрация структурной информации для бесповторной генерации молекулярных графов заданного типа и ряд других. Часто при этом наряду с топологическими индексами (зависящими только от структуры молекулы) используется информация и о химическом составе соединения[3].
См. также
Примечания
- ↑ Зыков А. А. [www.bookshunt.ru/b5868_osnovi_teorii_grafov Основы теории графов]. — М.: Наука, 1986. — 384 с. — ISBN 978-5-9502-0057-1.
- ↑ Химические приложения топологии и теории графов = Chemical Applications of Topology and Graph Theory / Под ред. Р. Кинга. — М.: Мир, 1987. — 560 с. Архивировано 28 ноября 2012 года.
- ↑ М. И. Трофимов, Е. А. Смоленский, Известия Академии наук. Серия химическая, 2005, 2166—2176.
В статье не хватает ссылок на источники (см. также рекомендации по поиску). |