№ 1/2015
Вестник Таганрогского института управления и экономики
соинлльно-
ЭВОНОМНЧЕСННЕ ЯВЛЕНИЯ
И ПРОЦЕССЫ
В СОВРЕМЕННОМ ОБЩЕСТВЕ Н МЕТОЛОЛОГНЯ Н% ПССЛЕЛОВЛНПЯ
В.П. Карелин
ЗАДАЧА РАСПОЗНАВАНИЯ ИЗОМОРФИЗМА ГРАФОВ. ПРИКЛАДНОЕ ЗНАЧЕНИЕ И ПОДХОДЫ К РЕШЕНИЮ
Предложен комбинированный метод распознавания изоморфизма сильнорегулярных графов, который сочетает достоинства непереборных методов с возможностями переборных. Вначале выполняется разбиение множеств вершин обоих графов на соотнесенные подмножества (классы эквивалентности). При этом в качестве разделяющих признаков используются локальные инвариан-
ты графа. При невозможности дальнейшего разбиения соотнесённых подмножеств выполняется поиск изоморфного соответствия между вершинами из этих подмножеств. Для этого предложен подход, основанный на отыскании такой упорядоченности вершин сравниваемых графов, которая максимизирует двоичный код их матриц смежности.
Изоморфизм графов, матрица смежности, инварианты графа, соотнесенные подмножества, двоичный код матрицы, изоморфное отображение, изоморфная подстановка, сопутствующая задача, упорядоченность вершин.
Два графа называются изоморфными, если они отличаются лишь обозначением своих вершин. Задача распознавания изоморфизма, или эквивалентности графов, является центральной комбинаторной задачей теории графов. Она состоит в следующем: для заданных графов G и H требуется определить, существует ли взаимно однозначное отображение мещду множествами вершин графов, сохраняющее отношение смежности вершин.
Разработке и исследованию методов и алгоритмов распознавания изоморфизма графов посвящено много работ, носящих как теоретический, так и прикладной характер [1-4].
Задача распознавания изоморфизма графов (РИГ) является основной процедурой или подзадачей для еще более сложной и важной в прикладном отношении задачи распознавания изоморфного вложения графов, которая является ХР-полной. Она состоит в распознавании: содержит ли граф G часть, изоморфную графу H.
Алгоритмы распознавания изоморфизма и изоморфного вложения графов необходимы при решении многих прикладных задач, например, таких, как [1; 4; 5]:
- разработка информационно-поисковых систем и систем логического вывода на основе сравнения с образцом;
- организация логического вывода на семантической сети;
- синтаксическое и структурное распознавание образов;
- автоматический анализ содержания документов;
- распознавание сходства когнитивных карт и установление адекватности разрабатываемых моделей сложных систем;
- оптимизация вычислений в сети процессоров;
- идентификация структуры дискретных систем, в частности, логических сетей и булевых функций;
- исследование топологии сетей ЭВМ и многопроцессорных систем;
- исследование молекулярных структур химических соединений.
Приведенные примеры далеко не исчерпывают всех практических применений алгоритмов распознавания изоморфизма и изоморфного вложения графов, однако уже и они показывают разнообразие сфер применения.
Дадим формальное определение изоморфизма неориентированных графов.
Пусть даны два неориентированных графа G=(X, F) и H=(Y, Р), где X и Y - множества вершин |^=|Y| =n, a F: X ^ X и Р: Y Y - отображения множеств вершин в себя.
102
№ 1/2015
Вестник Таганрогского института управления и экономики
Через Fx и Py, где FxcX, PycY, обозначим множества вершин, смежных, соответственно, с xeX и
yeY.
Графы G и H называются изоморфными, если существует взаимно однозначное отображение, переводящее G в H, т.е. для любой такой пары x е X и yeY, что при <рх = у, имеет место <р(Fx) = Py .
Изоморфное отображение графа G на граф H задается подстановкой
= |xi x2 ...x, ...x„ I
V l^(xi) (pix2) ...<p(x,) (p(x„)J ,
называемой изоморфной. При распознавании изоморфизма графов G=(X, F) и H=(Y, P) необходимо ответить на вопрос, изоморфны графы или нет, и в случае изоморфизма указать изоморфную подстановку.
Теоретически алгоритм проверки пары графов на изоморфизм существует. Будем переставлять строки и соответствующие столбцы одной из матриц смежности, например для графа H, до тех пор пока она не превратится в другую или остановимся после n! перестановок, если графы не изоморфны. Однако этот алгоритм имеет один существенный недостаток: он практически неприменим. Даже если графы имеют по 16 вершин, компьютеру, который выполняет каждую очередную перестановку и проверку на равенство матриц за доли микросекунды, может понадобиться несколько лет непрерывной работы [1].
Задача РИГ может быть сведена к задаче линейного целочисленного программирования, однако время её решения в общем случае зависит экспоненциально от числа переменных [2]. Поэтому представляется важным рассмотреть иные возможные подходы к решению задачи РИГ.
Как правило, почти для любой алгоритмической задачи теории графов удаётся построить полиномиальный алгоритм или доказать её принадлежность к классу ХР-полных задач. Задача РИГ - одна из немногих классических задач теории графов, для которых не удалось осуществить ни то, ни другое. Лишь для некоторых специальных классов графов удалось построить полиномиальные алгоритмы [1-4]. Эго обстоятельство поддерживает оптимизм исследователей при поиске полиномиальных алгоритмов РИГ и оправдывает существование двух подходов к разработке алгоритмов решения задач РИГ.
Первый подход связан с построением непереборных алгоритмов, рекурсивно улучшающих свою эффективность в смысле полноты или чувствительности используемых характеристик графа, инвариантных относительно изоморфизма графов и называемых инвариантами. Поскольку инвариант графа не меняет своих значений на изоморфных графах, то равенство инвариантов является необходимым условием изоморфизма графов.
Примерами инвариантов графа G могут являться число вершин n(G), число ребер m(G), вектор локальных степеней вершин s(G), число циклов заданной длины в графе ит.п. К числу наиболее важных инвариантов графа относятся: плотность ^>(G) - число вершин наибольшего полного подграфа в G; неплотность s(G) - наибольшее число попарно несмежных
вершин графа G, хроматическое число y(G) графа G, число компонент \y(G) графа, число Хадвигера 77(G) - количество вершин наибольшего полного графа, на который можно стянуть G. Наряду с приведенными в качестве инварианта графа можно рассматривать не одно число, а систему чисел. Например, в качестве инварианта можно выбрать вектор значений (p(G),s(G),y(G),Y(G),ri(G)). Все перечисленные, а также многие другие инварианты не гарантируют изоморфизма графов, т.е. не являются полными. Полным инвариантом графа G является такая функция f(G), для которой равенство f(G) = f(H) выполняется тогда и только тогда, когда графы G и H изоморфны.
Примерами полного инварианта графа являются максимальный и минимальный двоичные коды матриц смежности этого графа. Для получения двоичного кода по матрице смежности графа пронумеруем ее элементы подряд слева направо и сверху вниз. Тогда эта матрица может рассматриваться как поразрядное двоичное число для графа G с п вершинами. Двоичные коды всех п! матриц смежности, изоморфных данной, вообще говоря, различны. Наименьший из них называется минимальным кодом графа G, а наибольший - максимальным кодом. По-любому из этих кодов и количеству вершин графа можно восстановить одну из его матриц смежности, а значит, и сам граф с точностью до изоморфизма. Однако процесс вычисления минимального или максимального двоичного кода матрицы смежности для заданного п - вершинного графа столь же труден, как и лобовой перебор п! соответствий вершин двух графов, поскольку надо выбрать наименьший (или наибольший) из двоичных кодов всех п! матриц смежности данного графа. Тем не менее знание инвариантов позволяет создавать достаточно эффективные алгоритмы.
Усилия многих исследователей были направлены на поиск такого инварианта графа, который бы, с одной стороны, легко вычислялся по заданному графу, а с другой - обладал свойством полноты. Исследованию полноты инвариантов графа и разработке новых систем инвариантов для решения задач РИГ посвящен ряд работ [1; 4; 5].
Классификация непереборных методов РИГ основана на разнообразии классов инвариантов, используемых в алгоритмах. Различают три класса инвариантов: локальные, квазиглобальные, глобальные [1; 3; 5]. Примером локального инварианта является кортеж степеней вершин графа s(G). Примером квазиглобального инварианта является кортеж степеней пар вершин. Канонический вид матрицы смежности графа, при котором двоичный код матрицы является минимальным или максимальным, является примером глобального инварианта.
Наибольшей глубины рассмотрения и исследования достигли методы, основанные на применении локальных инвариантов, которые широко распространены. Эти инварианты используются при построении алгоритмов РИГ для различных графовых моделей, встречающихся на практике. Методы, основанные на использовании квазиглобальных и глобальных инвариантов, имеют теоретическую
103
№ 1/2015
Вестник Таганрогского института управления и экономики
направленность и ориентированы на исследование сильнорегулярных графов. Все методы канонизации графов, основанные на различном представлении матриц графов, относятся к методам, использующим глобальные инварианты. Одним из методов построения различных локальных и квазиглобальных инвариантов графа является метод ярусного разбиения графа на правильные части (подграфы, суграфы, части графа) [1].
К сожалению, на сегодняшний день ситуация с отысканием полной системы инвариантов такова, что всякий инвариант графа или не является полным, или требует для своего вычисления практически неэффективной процедуры, связанной с необходимостью выполнения перебора вплоть до полного (порядка n!). Эго заставило исследователей обратить большее внимание на так называемые переборные алгоритмы РИГ.
Второй подход к разработке алгоритмов решения задач РИГ как раз и отличается от первого тем, что обязательно включает процедуру перебора на одном из этапов поиска изоморфной подстановки. Примерами алгоритмов РИГ, использующих процедуры направленного перебора, являются предложенные авторами в работах [1-7].
Большинство известных переборных алгоритмов РИГ основано на разбиении множеств вершин каждого из графов на подмножества, которые в случае изоморфизма графов также должны соответствовать друг другу. Наиболее простым и естественным критерием для построения разбиения в неориентированных графах является локальная степень вершин. В ряде случаев это разбиение может дать повершинное соответствие, которое затем следует проверить в качестве подстановки.
Однако этот локальный инвариант не работает вообще для графов с регулярной структурой и поэтому для разбиения вершин используют другие квазилокальные инварианты: матрицу кратчайших расстояний между вершинами графа, числа клик заданного размера, содержащих вершину х, число циклов заданной длины, содержащих вершину х, и т.п. [4].
Кащдый из этих инвариантов может применяться для разбиения независимо, но не более одного раза. Итоговое разбиение будет просто пересечением разбиений, полученных по каждому инварианту. Дальнейшее подразбиение реализуется в виде итерационной процедуры, при которой последующее разбиение выполняется по предыдущему с использованием связей вершин с подмножествами. Процедура выполнения подразбиений подробно рассмотрена в работах [1; 7].
Поскольку разбиение множеств вершин не всегда удается довести до одновершинных множеств, переборный алгоритм РИГ должен обеспечивать возможность ветвления с целью как установления, так и изменения соответствия между вершинами из соответствующих подмножеств.
В большинстве переборных алгоритмов используется следующая организация перебора [6; 7]. Пусть имеем два соответствующих разбиения вершин графов. При их получении последовательно к раз применялось ветвление, т.е. произвольный выбор пар
соответствующих вершин, причем оказалось, что подстановку изоморфизма достроить не удается, т.к. либо число подмножеств в разбиениях множеств вершин каждого из графов оказалось разным, либо число вершин в соответствующих подмножествах не равно. Тогда в последнем ветвлении попытаемся выбрать другую вершину второго графа в качестве соответствующей той же вершине первого. Если это невозможно, так как все вершины из соответствующего подмножества уже выбирались, то попытаемся выполнить ту же операцию в предпоследнем ветвлении, возвращаясь к существовавшим в тот момент разбиениям, и так далее до тех пор, пока не получим подстановку изоморфизма или не исчерпаем все возможности перевыбора вершин.
Для сокращения перебора при решении задачи РИГ наиболее эффективным является использование комбинированного подхода, сочетающего достоинства непереборных методов с возможностями переборных алгоритмов. С этой целью предлагается выполнить предварительное разбиение множеств вершин X и Y, соответственно, графов G = (X, F) и H = (Y, P) на соотнесенные классы эквивалентности. При этом в целях уменьшения трудоемкости процедуры разбиения в качестве разделяющих признаков или параметров можно использовать в первую очередь легко вычисляемые локальные инварианты графа.
Наиболее подходящими инвариантами, позволяющими для большого числа графов получать если не одноэлементные подмножества в разбиениях на классы эквивалентности, то достаточно небольшие, что существенно сокращает трудоемкость дальнейшего перебора, являются следующие [1-3]:
1) вектор локальных степеней вершин графа;
2) вектор локальных степеней вершин подграфа на множестве соседства Fx вершины х, т.е. подграфа окружения 0(х) вершины х еХ, а также вектор степеней вершин подграфа на множестве X \ (Fx U х);
3) количество вершин, входящих в совокупность окруженийвсехвершин Xj eFх,.;
4) вектор числа связей вершины х еХ с вершинами каждого из подмножеств разбиения или с вершинами лишь одного из подмножеств;
5) вектор К(х)={г1,г2,...г1} расстояний вершины х еХ, в котором i-я компонента вектора есть множество вершин, удаленных на расстояние i от исходной;
6) мощность подмножества вершин из X, смежных с подмножеством таких вершин из Fx=O(x), которые имеют одинаковую локальную степень в подграфе окружения 0(х) вершины х.
Более сложные инварианты, обобщающие некоторые из перечисленных, приведены в работах [1; 5].
Поскольку проблема полноты того или иного набора инвариантов остается открытой, при решении задач РИГ необходимо, отталкиваясь от полученных разбиений множеств вершин X и Y графов G и H, находить далее подразбиения, приводящие к одноэлементным классам эквивалентности, между которыми установлено соответствие, задающее изоморфную (переводящую) подстановку. Для получения подразбиений можно итеративно применять приведенный выше четвертый локальный инвариант.
104
№ 1/2015
Вестник Таганрогского института управления и экономики
Одним из достоинств использования инвариантов является способность к быстрому обнаружению неизоморфности сравниваемых графов. В этом случае либо разбиения множеств вершин для графов будут различными, либо набор признаков, присущих одному графу, будет отличен от аналогичного набора признаков для другого графа.
Трудоемкость вычисления каждого из приведенных выше инвариантов оценивается в зависимости от числа n вершин графов следующим образом. Для первого инварианта - 0(n2), для инвариантов второго, третьего, четвертого и шестого - 0(n3), для пятого - 0(n4).
После нахождения инварианта для кащдой из вершин графа все множество вершин разбиваем на классы эквивалентности, куда входят вершины с одинаковыми значениями инварианта. Аналогичная процедура выполняется для обоих исследуемых графов. Дальнейшее подразбиение множеств вершин графов можно получить в ряде случаев, используя композицию различных инвариантов, а также итерационный инвариант четвертого типа.
В основу переборного подхода при решении задачи РИГ в работах [6; 7] положена процедура пошагового построения соответствий пар вершин и проверки достаточного условия, обеспечивающего на данном шаге правильность соответствия.
С точки зрения использования алгоритма РИГ в качестве модели принятия решений в различных приложениях, наибольший интерес представляют именно алгоритмы направленного перебора.
Рассмотрим метод распознавания изоморфизма неориентированных графов, предложенный авторами в [2; 3] и основанный на достижении сопутствующей подцели. Основная идея данного метода состоит в привлечении для достижения основной цели -распознавания изоморфизма двух графов, некоторых дополнительных приемов и процедур, направленных на решение вспомогательной задачи, но одновременно помогающих и при решении основной. При этом стремление к достижению некоторой косвенной или сопутствующей подцели является как бы путеводной нитью, направляющей поиск в нужном направлении, а именно к достижению главной цели. Для задачи РИГ и построения переводящей подстановки, определяющей изоморфное отображение <p:X ^Y, такими вспомогательными задачами могут быть построение линейного размещения вершин графа по критерию минимума суммарной длины связей при фиксированной начальной вершине, или построение, также при фиксированной начальной вершине, такого размещения остальных, которое соответствует матрице смежности с максимальным двоичным кодом. Очевидно, что для изоморфных графов и величина минимума суммарной длины связей, и минимальный двоичный код одинаковы.
При поиске для графов G и H изоморфного отображения предлагается упорядочивать вершины графов в соответствии с некоторым правилом или системой правил, направленных на получение размещения, максимизирующего двоичный код графа и минимизирующего одновременно суммарную длину связей. Эти правила, нацеленные на решение вспо-
могательной задачи, одновременно направляют поиск и на достижение основной цели: построение изоморфного отображения <р: X ^ Y .
В основу предложенного подхода положена следующая теорема.
Теорема. Если графы G=(X, F) и H=(Y, P) изоморфны, то процедура построения таких размещений вершин xeX и yeY, которые приводят к получению
максимального двоичного кода p(G) = р(H) этих графов, одновременно определяет и изоморфное отображение р: X ^ Y, задающее подстановку
изоморфизма.
Справедливость теоремы следует из единственности максимального двоичного кода для изоморфных графов, который, являясь полным инвариантом графа с фиксированным числом вершин и заданной их нумерацией, однозначно определяет граф.
Естественно, что применять для отыскания изоморфного отображения ^: X ^ Y некоторый алгоритм, гарантирующий получение максимального двоичного кода, неэффективно. Поэтому предлагается менее трудоемкая процедура построения упорядоченности вершин графов G и H: при фиксированных начальных вершинах xieX и yjeY. Очевидно, что в этом случае из-за ограничения, состоящего в выборе начальной вершины в размещении (она жестко фиксирована), упорядоченность вершин, построенная даже точным алгоритмом, максимизирующим двоичный код матрицы смежности графа, не гарантирует получения именно максимального двоичного кода данного графа. Более того, этот алгоритм построит упорядоченности лишь в том случае, когда изоморфны фиксированные начальные вершины Xi и у, т.е. выполняется cpxi = y j
При отыскании изоморфного отображения ^: X ^ Y можно использовать для достижения сопутствующей подцели также и приближенные процедуры, реализующие обоснованные эвристики. Эго все равно ведет к достижению главной цели, хотя и с большим перебором вариантов. Во всех случаях важно на каждом шаге доопределения упорядоченностей выбором тех или иных вершин xeX и yeY, проверять непротиворечивость построенного на данный момент частичного отображения щ .
Для максимизации двоичного кода матриц смежности графов предлагается воспользоваться правилами 1 - 3, приведенными автором в работе [8], или алгоритмом из [9].
Однако нас интересует не отыскание полного инварианта - максимального двоичного кода графов G и Н, а привлечение некоторых процедур или правил, используемых при решении этой вспомогательной задачи, для организации более целенаправленного построения изоморфного отображения G на Н или же получения вывода об отсутствии такого отображения. Поэтому при отыскании отображения ср изоморфизма графов G и Н можно использовать не все три правила, а например, лишь одно только правило 1, либо правило 1 и правило 2, но последнее в усеченном виде, без построения мультиграфа пере-
105
№ 1/2015
Вестник Таганрогского института управления и экономики
сечений подмножеств окружений вершин. Эго хотя и приведет в ряде случаев к увеличению перебора при установлении соответствий между вершинами xeX и yeY, но снизит трудоемкость на каждом из шагов алгоритма РИГ.
Направление движения при отыскании изоморфного отображения графов не произвольным образом, а именно по пути решения сопутствующей задачи -максимизации двоичного кода матрицы (или минимизации суммарной длины связей), жестко направляет поиск к построению матриц смежности с одинаковой характеристикой: максимальным двоичным кодом. Но тем самым автоматически мы стремимся к построению одинаковых матриц смежности, если графы изоморфны и, следовательно, к нахождению отображения изоморфизма или же после конечного числа возвратов и ветвлений убедимся, что графы не изоморфны.
Основываясь на совместном использовании лучших достижений как переборных, так и непереборных методов решения задач РИГ, а также применяя рассмотренные выше правила упорядочения вершин графов и проверки устанавливаемых на каждом шаге соответствий между вершинами, можно повысить эффективность существующих алгоритмов РИГ. Однако следует отметить, что непосредственное использование в одном алгоритме рассмотренных выше подходов хотя и дает возможность успешно решать задачи РИГ для наиболее трудных классов графов, таких как однородные (^-регулярные) и сильнорегулярные графы (однородные графы, в которых любая пара смежных вершин имеет одинаковое число к\, общих соседей, а любая пара несмежных вершин - к2 соседей) [1], но одновременно делает алгоритм весьма громоздким и усложненным с точки зрения использования его для широкого класса графов, возникающих в практических приложениях. Поэтому представляет интерес создание алгоритма РИГ высокоэффективного по вычислительной сложности применительно к большинству практически значимых видов графов, который использовал бы предложенные выше идеи, но в несколько упрощенном виде.
Приведём неформальное описание такого алгоритма. Он включает следующие процедуры: получение начального разбиения множеств вершин сравниваемых графов на соотнесенные подмножества, пошаговое построение упорядоченностей вершин на основе достижения сопутствующей подцели, проверку правильности получаемого на каждом шаге соответствия путем сравнения меток соответствующих вершин [2; 4].
Предложенный метод, направленный на решение как основной, так и сопутствующей задачи позволяет быстрее находить изоморфные соответствия как между подмножествами вершин, так и между отдельными вершинами xeX и yXY, и одновременно быстрее обнаруживать несоответствие или ошибочность ранее установленного соответствия, чем в известных алгоритмах из [1; 5]. Последнее обусловлено
тем эвристическим предположением, что несоответствие быстрее обнаружится при одновременном отыскании решения двух задач - основной и сопутствующей, чем только одной. Следует отметить, что рассмотренный метод хотя и позволяет независимо от обозначений вершин упорядочивать их в последовательностях, приводящих для изоморфных графов к одинаковым матрицам смежности и тем самым определяющим отображение изоморфизма, однако не исключает перебора вариантов, т.е. возвратов и ветвлений. Поэтому с целью дополнительного сокращения перебора (особенно за счет установления правильного соответствия между начальными вершинами в размещениях), в алгоритме предлагается выполнить предварительное разбиение множеств X и Y на классы эквивалентности относительно одного или нескольких локальных инвариантов. А так как именно выбор начальных вершин в размещениях, или, что то же самое, установление начального соответствия q>x = у существенным образом влияет на количество ветвлений, то для проверки правильности именно начального соответствия можно использовать весь арсенал известных способов установления изоморфного соответствия (равенство всех инвариант).
ЛИТЕРАТУРА
1. Алгоритмы и программы решения задач на графах и сетях/ М.И. Нечепуренко и др. Новосибирск: Наука, 1990.
2. Карелин В.П. Теория и средства поддержки принятия решений в организационно-технологических системах: дис.... д-ра техн. наук. Таганрог: ТРТУ, 1995.
3. Мелихов А.Н., Карелин В.П. Методы распознавания изоморфизма и изоморфного вложения чётких и нечётких графов: учебное пособие. Таганрог: Изд-во ТРТУ, 1995.
4. Берштейн Л.С., Карелин В.П., Целых А.Н. Модели и методы принятия решений в интегрированных интеллектуальных системах. Ростов/Д: Изд-во РТУ, 1999.
5. ПинчукВ.П. Табличные инварианты на графах и их применение // Кибернетика и системный анализ. Институт кибернетики НАН Украины. 2001. № 4.
6. Карелин В.П., Миронов Б.Н. Алгоритм определения изоморфизма однородных неориентированных графов // Известия АН СССР. Техн. кибернетика. 1975. №2.
7. Курейчик В.М., Королев А.Г. Об одном методе распознавания изоморфизма графов // Кибернетика. 1977. №2.
8. Карелин В.П. Модели и методы теории графов в системах поддержки принятия решений // Вестник ТИУиЭ. 2014. № 2 (18).
9. Карелин В.П., Кодачигов В.И., Браташенко Н.В. К проблеме распознавания эквивалентности структур: сб. материалов Международной науч.-техн. конф. «Искусственный интеллект - 2002». Симферополь, 2002.
106