АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
УДК 512.8:681.55
Ю. О. Герман1, О. В. Герман1, А. А. Дунаев2
'Белорусский государственный технологический университет белорусский государственный университет информатики и радиоэлектроники
МЕТОД УСТАНОВЛЕНИЯ ИЗОМОРФИЗМА ГРАФОВ
В работе представлен оригинальный подход к проверке изоморфизма двух связных графов. Подход ориентирован на прикладные системы искусственного интеллекта и системы принятия решений, использующие технику распознавания на основе изоморфизма графов. Достоинство такого подхода состоит в том, что он «не чувствителен» к искажениям изображений, но «схватывает» топологию связей. Разработанный авторами подход базируется на использовании определенной инвариантной характеристики графа, представляющей матрицу кратчайших расстояний между парами вершин. Данная характеристика вычисляется через вводимые длины ребер, определяемые через степени вершин графа. Таким образом, длины ребер отражают характер связей между вершинами и для изоморфных графов остаются неизменными. Представлено обоснование установления изоморфизма на базе введенного критерия, а также метод отыскания соответствия вершин на основе матрицы кратчайших расстояний. Рассмотренная в статье задача может встретиться, например, при распознавании лиц в условиях наличия искажений на изображениях. Вершинами графа изображения являются некоторые характерные точки. Точки соединяются ребрами, если их яркость и цвет достаточно схожи. Очевидно, что при искажении изображений ребрам могут быть приписаны оценки степени сходства, отличные от «1». Представленный в статье подход может быть интересен для специалистов-прикладников, занимающихся проблемами распознавания и классификации.
Ключевые слова: граф, изоморфизм, кратчайшее расстояние, распознавание.
Yu. O. German1, O. V. German1, A. A. Dunaev2
'Belarusian State Technological University 2Belarusian State University of Informatics and Radioelectronics
AN ALGORITHM FOR ESTABLISHING GRAPH'S ISOMORFISM
An original approach to test two connected graphs isomorphism is given. The approach is oriented at applied artificial intelligence systems and decision making systems based on the recognition technique with graph isomorphism. An advantage of the suggested approach is based on its indifference to images distortions and a possibility to catch the topology of links. The suggested approach uses a definite invariant characteristic of a graph representing a modified the shortest-length paths matrix between the pairs of nodes. This characteristic is computed through the edges lengths defined with the help of the nodes degrees. The edges lengths reflect the graph topology and remain invariant for isomorphic graphs. A ground for isomorphism on the basis of the introduced invariant feature is given with a metod to find the correspondence between the graph nodes. The problem considered in the paper may be encountered in face recognition with some distortions. The graph nodes are associated with characteristic points on the face. The points are connected if they have similar brightness or/and color. If the face is distorted the similarity degrees different from «1» may be used instead. The entire approach may be interesting for those specializing in pattern recognition and classification.
Key words: graph, isomorphism, the shortest length path, recognition.
Введение. Задача изоморфизма графов имеет важное прикладное значение [1-3], особенно для задач распознавания. В связи с прикладной направленностью вычислительный аспект имеет важнейшее значение. Не так давно Л. Бабаи [4] анонсировал метод с квазиполиномиальной сложностью для задачи установления изомор-
физма графов. Он использовал подход Люкса [1] для формирования блоков группы перестановок, причем проблема сводилась к определению изоморфизма блочных структур двух групп перестановок. На момент написания этой статьи нам не известен результат независимой экспертизы работы Бабаи. Вместе с тем, имеет-
Ю. О. Герман, О. В. Герман, А. А. Аунаев
115
ся, по крайней мере, два пункта для критики подхода Л. Бабаи. Во-первых, его квазиполи-номиальность связана с субэкспоненциально-стью метода для графов большой размерности. Во-вторых, теоретико-групповая платформа для обоснования метода делает его труднопо-нимаемым даже для математиков, специализирующихся на теории групп. Заметим также, что алгоритм Бабаи не решает проблему изоморфизма при заданных и в общем случае не совпадающих весах ребер. Имеются указания предварительного характера о возможной ошибке в доказательстве этого автора.
Данная статья излагает иной подход для решения задачи изоморфизма в достаточно общем случае с позиций, делающих алгоритм доступным широкому кругу лиц. Эти обстоятельства существенны не только для оценки алгоритма, но и расширения сферы его использования, т. к. алгоритм ориентирован на взвешенные графы. Работа имеет некий аналог [5], который анонсирует полиномиальность изложенного там метода. Использованная здесь инвариантная характеристика существенно иная. Мы отмечаем переборный в общем характер описываемого здесь метода, но указываем, что на практике алгоритм ведет себя практически как эффективный.
Основная часть. Два графа G1(U1, W1), G2(U2, W2) с множествами вершин U (ребер Wi) изоморфны, если существует взаимно-однозначное отображение Н множества вершин одного графа на множество вершин другого, сохраняющее связи между вершинами, т. е. для любых двух вершин первого графа а, ß, соединенных ребром, вершины Н(а), H(ß) второго графа также соединены ребром, и наоборот.
Определение 1. Характеристика вершин графа называется инвариантной, если она не изменяется в каждом графе, изоморфном исходному.
Определение 2. Две вершины графа назовем различимыми, если хотя бы одна инвариантная характеристика графа у этих вершин различна.
Например, степень любой вершины не изменяется при изоморфном отображении данного графа.
Будем использовать минимальные расстояния между парами вершин графа. Ясно, что в изоморфном графе эти расстояния должны сохраняться. Поэтому сначала укажем, как определять минимальные расстояния. Пусть дан граф на рис. 1 (изначально числа ребрам не приписаны). Определим расстояние между парой вершин а, ß, соединенных ребром:
Paß = (deg(a) + deg(ß)) / 2, (1)
где deg(x) - степень вершины х. Используя, например, алгоритм Дейкстры, построим матрицу В кратчайших расстояний между парами вершин. Далее ссылаемся на такую матрицу как на В-матрицу.
Рис. 1. Вычисление длин ребер
Таблица 1 Матрица кратчайших расстояний
1 2 3 4 5 6 7
1 - 2 2 4,5 4,5 6,5 6,5
2 2 - 4 2,5 5,5 4,5 7,5
3 2 4 - 5,5 2,5 7,5 4,5
4 4,5 2,5 5,5 - 3 2 5
5 4,5 5,5 2,5 3 - 5 2
6 6,5 4,5 7,5 2 5 - 7
7 6,5 7,5 4,5 5 2 7 -
Поскольку минимальные расстояния в изоморфных графах сохраняются, то сразу устанавливаем следующие множества попарно неразличимых вершин (например, вершины {2, 3} неразличимы по минимальным расстояниям. Назовем такие вершины ^-неразличимыми):
{1}, {2, 3}, {4, 5}, {6, 7}. (2)
Определение 3. Назовем граф симметричным, если его можно представить как сумму двух или более изоморфных подграфов, содержащих хотя бы одну общую вершину и отличающихся хотя бы одной парой вершин.
Так, граф на рис. 1 является симметричным.
Изоморфными являются подграфы с вершинами {1, 2, 3, 4, 5, 7} и {1, 2, 3, 4, 5, 6}.
Лемма. Пусть даны два связных симметричных графа С1(и1, Ж1), G2(U2, Ж2). Тогда они изоморфны, если изоморфны образующие их подграфы.
Обратимся к разложению (2), полученному по табл. 1. Если бы множества ^-неразличимых вершин содержали ровно по одной вершине, то установить изоморфизм графов можно было бы простой проверкой. В общем случае нам потребуется сделать следующую проверку. Возьмем
116
Метод установления изоморфизма графов
какое-нибудь множество ^-неразличимых вершин минимальной мощности. Так, возьмем, например, множество р = {2, 3}. Построим два подграфа исходного графа на рис. 1. Берем первую вершину из р, например вершину 2. Удаляем из исходного графа все ребра, инцидентные вершинам из р, кроме вершины 2, исключая также ребра, связывающие только вершины из р. Если при этом вершина лишается всех ребер, то удалим и эту вершину. В итоге получим первый подграф (назовем его 2-подграф) (рис. 2).
Таблица 2
Матрица кратчайших расстояний 2-подграфа
Множество ^-неразличимых вершин в соответствии с табл. 2 состоит только из одноэлементных подмножеств.
Аналогичные построения можно провести для 3-графа и убедиться, что его множество ^-неразличимых вершин также представлено одноэлементными подмножествами. Устанавливаем соответствие вершин обоих подграфов и факт их изоморфизма. Таким образом, нами описана некоторая базовая процедура расщепления графа на подграфы по вершинам некоторого подмножества ^-неразличимых вершин. Эта процедура выполняется с целью выявления изоморфных подграфов (исходного) графа. Замечательно, что если удастся установить изоморфизм двух или более подграфов исходного графа, то можно оставить для последующего рассмотрения только один подграф. Если мы обнаружим два неизоморфных подграфа, то нужно проводить дальнейшие рассмотрения с каждым из них. Этим мы определили некото-
рую общую схему установления изоморфизма двух графов.
Пусть дан граф с матрицей кратчайших расстояний, представленной в табл. 3.
Таблица 3 Матрица кратчайших расстояний изоморфного графа
а Ъ с й в £
а - 5,5 4 4,5 2,5 7,5 2
Ъ 5,5 - 2,5 5 3 2 4,5
с 4 2,5 - 7,5 5,5 4,5 2
й 4,5 5 7,5 - 2 7 6,5
в 2,5 3 5,5 2 - 5 4,5
г 7,5 2 4,5 7 5 - 6,5
£ 2 4,5 2 6,5 4,5 6,5 -
Множества ^-неразличимых вершин и их соответствий в обоих графах таковы:
{1} ^ {£}, {2, 3} ^ {с, а}, {4, 5} ^ {в, Ъ}, {6, 7} ^ {£ й}. (3)
Теперь, пользуясь соответствием {2, 3}^{с, а}, можно расщепить второй граф на два подграфа по вершинам с и а. Как и для первого графа, получаем два изоморфных подграфа: с-подграф и а-подграф с одноэлементными множествами й-неразличимых вершин. Простой проверкой находим их соответствие 2-подграфу и 3-под-графу. Исходя из этих рассмотрений, сформулируем метод установления изоморфизма графов.
1. Расщеплять первый исходный граф для выявления изоморфных компонентов. Если таковые будут определены, то заменить рассмотрение всех этих изоморфных подграфов одним из них. Если будут определены неизоморфные компоненты, то рассматривать их по отдельности. Очевидно, расщепление выполняем до получения одноэлементных множеств й-неразли-чимых вершин.
2. Расщеплять второй исходный граф по подмножествам й-неразличимых вершин, сопоставленным аналогичным подмножествам первого исходного графа (требуемое сопоставление осуществляется на основании матриц кратчайших расстояний).
3. Установить соответствие итоговых одноэлементных подмножеств й-неразличимых вершин обоих графов.
На практике процедура расщепления завершается сравнительно быстро, хотя теоретически она имеет переборный характер.
Заключение. Вычислительная сложность метода напрямую определяется тем, сколько подграфов было порождено в результате операции расщепления исходного графа. В худшем случае эта величина оценивается сверху как 0(2;, т. е. метод сохраняет свойства перебор-
1 2 4 5 6 7
1 - 1,5 3,5 6 5,5 7,5
2 1,5 - 2 4,5 4 6
4 3,5 2 - 2,5 2 4
5 6 4,5 2,5 - 4,5 1,5
6 5,5 4 2 4,5 - 6
7 7,5 6 4 1,5 6 -
Ю. О. Герман, О. В. Герман, А. А. Дунаев
117
ного алгоритма. На практике, однако, процесс останавливается досрочно, когда матрицы кратчайших расстояний различаются хотя бы по одной строке, что является, скорее, типичной ситуацией. Проведенный эксперименталь-
ный цикл показал практическую эффективность метода «в среднем».
Если графы не изоморфны, то ситуации, когда матрицы минимальных расстояний оказываются идентичными, практически маловероятны.
Литература
1. Luks E. M. Isomorphism of graphs of bounded valence can be found in polynomial time // Journal of Computational Sciences. 1982. Vol. 1, no. 25. P. 42-65.
2. Babai L. Moderately exponential bound for graph isomorphism // Proceedings of the International FCT-Conference on foundations of computer theory. London, 1981, P. 34-50.
3. Babai L., Erdos P., Selkow M. Random graph isomorphism // SIAM Journal of Computing. 1980, Vol. 3, no. 9. P. 628-635.
4. Babai L. Graph isomorphism in quasipolinomial time // Univ. of Chicago. 2015. P. 84.
5. Dharwadker A., Tevet J-T. The graph isomorphism algorithm // Proc. of the Institute of Mathematics and Structure Semiotics. Tallinn, 2009. P. 37.
References
1. Luks E. M. Isomorphism of graphs of bounded valence can be found in polynomial time. Journal of Computational Sciences, 1982, vol. 1, no. 25, pp. 42-65.
2. Babai L. Moderately exponential bound for graph isomorphism. Proceedings of the International FCT-Conference on foundations of computer theory. London, 1981, pp. 34-50.
3. Babai L., Erdos P., Selkow M. Random graph isomorphism. SIAM Journal of Computing, 1980, vol. 3, no. 9, pp. 628-635.
4. Babai L. Graph isomorphism in quasipolinomial time. Univ. of Chicago, 2015, p. 84.
5. Dharwadker A., Tevet J-T. The graph isomorphism algorithm. Proc. of the Institute of Mathematics and Structure Semiotics. Tallinn, 2009, p. 37.
Информация об авторах
Герман Юлия Олеговна - старший преподаватель кафедры информационных систем и технологий. Белорусский государственный технологический университет (220006, г. Минск, ул. Свердлова, 13а, Республика Беларусь). E-mail: [email protected]
Герман Олег Витольдович - кандидат технических наук, доцент кафедры информационных систем и технологий. Белорусский государственный технологический университет (220006, г. Минск, ул. Свердлова, 13а, Республика Беларусь). E-mail: [email protected]
Дунаев Александр Александрович - аспирант. Белорусский государственный университет информатики и радиоэлектроники (220600, г. Минск, ул. П. Бровки, 6, Республика Беларусь).
Information about the authors
German Yulya Olegovna - senior lecturer, the Department of Information Systems and Technologies. Belarusian State Technological University (13a, Sverdlova str., 220006, Minsk, Republic of Belarus). E-mail: [email protected]
German Oleg Vitoldovicz - PhD (Engineering), Assistant Professor, the Department of Information Systems and Technologies. Belarusian State Technological University (13a, Sverdlova str., 220006, Minsk, Republic of Belarus). E-mail: [email protected]
Dunaev Alexander Alexandrovich - PhD student. Belarusian State University of Informatics and Radioelectronics (6, P. Brovki str., 220600, Minsk, Republic of Belarus).
Поступила 25.04.2017