Наука и Образование
МГТУ им. Н.Э. Баумана
Наука и Образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2016. № 04. С. 106-123.
1Э5М 1994-040В
Б01: 10.7463/0416.0835978
Представлена в редакцию: Исправлена:
© МГТУ им. Н.Э. Баумана
17.03.2016 31.03.2016
УДК 004.02 + 519.1
Полная характеристика структуры неориентированного графа
Иванова Г. С.1*, Овчинников В. А.
аыл'апога @ атаД.сот :МГТУ им. Н.Э. Баумана, Москва, Россия
1
Предметом исследования является распознавание изоморфизма неориентированных графов как модели задачи установления идентичности структур сложных систем. Цель работы - получение за полиномиальное время структурной характеристики графа, которая могла бы быть использована для решения указанной задачи. Обоснована возможность сведения задачи установления изоморфизма неориентированных графов к задаче определения изоморфизма их расщепления на деревья всех кратчайших, в смысле числа ребер, цепей из каждой вершины в остальные. В качестве интегральной характеристики графа предлагается множество кодов корней деревьев кратчайших цепей. Показано, что вычислительная сложность получения кодов корней деревьев не хуже 0(п3}. Разработана программа получения указанных кодов. Выполнены экспериментальные исследования, которые подтвердили теоретические положения.
Ключевые слова: идентичность структур, изоморфизм графов, деревья кратчайших цепей, коды вершин деревьев
Введение
Проблема получения полной характеристики графа связана в основном с задачей определения идентичности структур сложных систем. Эта задача часто возникает в различных предметных областях. Структуры систем идентичны, если входы и выходы их подсистем соединены одинаково, а типы подсистем совпадают. При формализованном установлении идентичности сложных систем их структуры представляют различного вида графами: ультраграфами Ни (X, V), гиперграфами Н(Х, V), ориентированными 0^(Х, V) и неориентированными G~(X, V) графами, где X- множество вершин, V - множество ребер [1]. Если граф является адекватной моделью системы в смысле полноты и правильности отображения информации, полностью характеризующей систему, задача установления идентичности систем сводится к определению изоморфизма их моделей.
Алгоритмы определения изоморфизма графов используются при решении таких прикладных задач, как распознавание образов, формализованный контроль соответствия между исходной электрической схемой и ее топологической реализацией при проектировании больших интегральных схем и др.
Широко известны алгоритмы распознавания изоморфизма графов, основанные на использовании локальных характеристик вершин и реализующие метод поиска в глубину с возвращением [2-6]. В последние годы появились эвристические алгоритмы, использующие комбинации локальных инвариантов [7-9]. Все эти алгоритмы не накладывают ограничений на структуру графа и имеют невысокую емкостную сложность. Однако, чем больше кратность характеристик вершин графов, тем больше число вариантов возможных подстановок вершин при распознавании изоморфизма таких графов. В связи с этим вычислительная сложность этих алгоритмов может меняться от полиномиальной до экспоненциальной в зависимости от числа вершин с одинаковыми характеристиками.
Известно, что задача изоморфизма полиномиально разрешима для некоторых классов графов [10-12]. В частности для планарных графов, графов с ограниченной степенью вершин, графов с ограниченной кратностью собственных значений из спектра матрицы смежности построены эффективные алгоритмы решения этой задачи. Поскольку эти алгоритмы используют специфические структурные характеристики графов, область их эффективного применения ограничена указанными классами графов.
В работах [13, 14] предлагается алгоритм распознавания изоморфизма ОС2-графов полиномиальный как по времени, так и по памяти. Этот алгоритм работает со спектральными характеристиками графов и имеет вычислительную сложность не хуже 0(n4). Алгоритм использует инвариант, представляющий собой кортеж произведений собственных значений модифицированной матрицы смежности графа и собственных значений матриц подграфов, полученных из исходного удалением /-ой вершины. Алгоритм относится к классу алгоритмов ограниченного применения.
В работах [ 15-20] предложен метод интеграции структурных различий - вычисления для каждой вершины графа уникальной структурной характеристики. Интегральный описатель структуры графа в виде вектора кодовых чисел вершин используется в качестве его полного инварианта. Разработаны полиномиальные алгоритмы распознавания изоморфизма неориентированных графов и гиперграфов. Указанные работы внесли существенный вклад в развитие методов инвариантного представления графов и анализа их структур. В работе [19] приведена предельная оценка суммарного объема вычислений при определении полного инварианта неориентированного графа с n вершинами и m ребрами в
2 и w виде L(G) < x(n, m) n , где x(n, m) - объем вычислений, затрачиваемый для выполнения
одного шага интеграции. Если один шаг интеграции без учета упорядочивания вектора кодовых чисел требует n2 операций, то асимптотическая оценка вычислительной сложности алгоритма вычисления полного инварианта неориентированного графа равна O(n4).
В работе [21] предложен метод определения изоморфизма графов с квазиполиномиальной оценкой вычислительной сложности, где степень n является функцией log n.
Цель настоящей работы - предложить и обосновать такую характеристику графа, которая определяла бы его структуру с точностью до изоморфизма, и разработать алгоритм ее получения, имеющий вычислительную сложность меньше O(n4).
В предлагаемой работе рассматриваются неориентированные G~(X, и) графы, не имеющие весов вершин и ребер, определяемых характеристиками или свойствами отображаемых компонентов системы - подсистем и их связей. Так как в таком графе каждое ребро инцидентно только двум вершинам, его достаточно задавать множеством вершин X и множеством их образов относительно предиката смежности ^(Х, X), т. е. в форме
G~(х, ад.
1. Обоснование полной структурной характеристики неориентированного графа
Обоснованием полной характеристики структуры неориентированного графа являются изложенная ниже теорема о возможности сведения задачи установления изоморфизма неориентированных графов к задаче определения изоморфизма их расщепления на деревья всех кратчайших, в смысле числа ребер, цепей из каждой вершины в остальные и способ кодирования структуры дерева [22].
Начнем с предположения, что полной характеристикой графа, определяющей его структуру с точностью до изоморфизма, является совокупность кратчайших, в смысле числа ребер, цепей из каждой вершины во все остальные. Таким образом, индивидуальной характеристикой каждой вершины графа будет дерево таких кратчайших цепей с корнем в этой вершине. Отсюда следует, что деревья двух сопоставленных друг другу вершин изоморфных графов должны иметь одинаковую структуру, не зависящую от порядка записи вершин в их образах относительно предиката смежности ^(Х, X). Нетрудно убедиться в том, что предположение ошибочно, рассмотрев рис. 1. Деревья №1 и №2 получены процедурой БГ8 просмотра графа в ширину [23] при указанных порядках записи вершин в образе Е\Х\ (напомним, что при построении деревьев кратчайших цепей этой процедурой вершины в дереве не повторяются). Порядок записи вершин в образах остальных вершин графа одинаковый. Деревья №3 и №4 - это деревья всех простых цепей из той же вершины при тех же данных, их структура совпадает.
Теорема. Задача распознавания изоморфизма двух неориентированных графов эквивалентна задаче установления изоморфизма деревьев всех кратчайших, в смысле числа ребер, цепей из каждой вершины в остальные.
Неформальное доказательство. Графы считаются изоморфными в том случае, если они имеют одинаковую структуру. Предположим, что для графа G~(X, и) найдется граф 0~(У, V), отличающийся от него структурой и имеющий такое же количество вершин и ребер. Граф G~(Y, V) можно получить из графа G~(X, и) только изменением отношения инцидентности вершин и ребер, что приведет и к изменению отношения смежности вершин.
С~(Х, и)
а
№1
—1
—1
-«2
Р1х1 = (х2, -3, х6}.
Р1—1= {-6, -3, -2}.
№3
Рис. 1. Неориентированный граф и деревья: №1 и №2 - кратчайших цепей из вершины х1 во все остальные;
№3 и №4 - всех кратчайших цепей из вершины х1 во все остальные
Если при этом будет получен граф с другой структурой, то изменится последовательность вершин хотя бы в одной цепи и, следовательно, структура хотя бы одного дерева, т.е. в множестве деревьев кратчайших цепей графов 0~(Х, и) и 0~(У, V) будут существовать неизоморфные деревья.
На рис. 2 показаны графы 0~(Х, и), 0~(У, V), 0(2, Ж) и их деревья всевозможных кратчайших цепей из каждой вершины до всех остальных. Граф 0(У, V) был получен из графа 0~(Х, и) такой перестановкой ребра, которая не изменила структуры, и, следовательно, должен быть изоморфен ему. Перестановка ребра при получении графа 0(2, Ж) изменила структуру, следовательно, графы 0~(Х, и) и 0 (2, Ж) должны быть неизоморфны.
Нетрудно видеть, что графы 0~(Х, и) и 0~(У, V) - изоморфны и для каждого дерева кратчайших цепей графа 0~(Х, и) существует имеющее такую же структуру дерево кратчайших цепей графа 0(У, V). В то же время деревья кратчайших цепей не изоморфного им графа 0 (2, Ж) имеют другую структуру.
Формальное доказательство. Обозначим цепь, соединяющую вершины хг, и х/, как СИг,1 (Хг, п], хк, иг,. Хр,...х(, и/, х/) или СИ1,/(Х1,/, ]), гдеХ,/ = (хг-, хк, ..., х/} и и,/ = [П], иг,..., и/}. Определяя все кратчайшие цепи, связывающие каждую вершину графа 0 (Х, и) со всеми
остальными, мы получаем его представление в виде множества A={Ai{Ch((хi, xl), и/)), х е X\ хг}}.
О~(X, Ц *1
а (7, V) У1
Х2 У3
У2 ^3
а
б
Х20 Х2
У О У1
Рис. 2. Граф О (X, и), изоморфный О (У, V) и не изоморфный О (2, Ж) графы, полученные из него перестановкой ребер, и их деревья всех кратчайших цепей
в
Для совокупности цепей Аг(СЛ((хг, х/), (и], и/)), х/ е Х \ хг} любой вершины хг по определению должны выполняться следующие условия:
и г= 1 и i = х и и I!и г^1 ии 1 = и п = | x i . (1)
Дерево всех кратчайших цепей из некоторой вершины во все остальные является объединением указанных цепей. Следовательно, для множества этих деревьев также справедливо условие (1).
В общем случае графы 0 (Х, и) и 0(У, V) будут изоморфными, если существует взаимно однозначное соответствие Х о У, и о V, такое, что если вершины хг, х] е Х соответствуют вершинам ук, у/ е У, то для всех ребер, соединяющих вершины хг, х7-, существуют ребра, соединяющие вершины ук, у/ [2]:
( Уис = (х^,ху)е и)( 3 иг = (ук,у{)е V)(х^ = у к & х} = у) . (2)
Поскольку множество деревьев всех кратчайших цепей сохраняет отношения инцидентности вершин и ребер, следовательно, и смежности вершин графа, для графов 0 (Х, и) и 0(У, V) с учетом справедливости (1) условие (2) будет выполняться. Таким образом, изоморфизм множества всех кратчайших цепей вершин графов до всех остальных определяет изоморфизм этих графов. Теорема доказана.
На рис. 3 показан граф и деревья всех кратчайших цепей из каждой вершины во все остальные. Как видно из рисунка деревья имеют различную структуру. Для таких графов установление изоморфизма их деревьев позволяет получить подстановку вершин. Структура деревьев №1 и №3 графа, показанного на рис. 2, совпадает. В этом случае установление изоморфизма деревьев двух графов означает изоморфизм последних, в то время как равенство локальных степеней вершин двух неориентированных графов не является достаточным условием их изоморфизма. Однако для определения подстановки вершин необходимо проверить к! вариантов возможного соответствия, где к - количество деревьев, имеющих одинаковую структуру.
Оценим вычислительную сложность построения деревьев из каждой вершины графа во все остальные. Так как кратчайших цепей из одной вершины в другую может быть несколько, необходимо определить диапазон изменения пт числа вершин дерева. Минимальное число вершин дерева кратчайших цепей, равное п = | Х|, будет, если граф 0 (Х, и) полный или является циклом с нечетным числом вершин. Число тт ребер дерева и максимальное число пт вершин дерева меньше числа ребер графа т (напомним, что у полного графа т = п (п - 1) / 2). Отсюда вычислительная сложность построения всех
2 3
деревьев лежит в диапазоне от 0(п ) до 0(п ).
О^
2. Кодирование структуры деревьев
Кодирование дерева использует идею приписывания вершинам дерева кодов, изложенную в [22]. Код корня описывает структуру дерева и является его полным инвариантом - деревья изоморфны тогда и только тогда, когда коды их корней совпадают.
Коды корней строятся, начиная с листьев дерева. Каждому листу дерева присваивается код, состоящий из открывающей и закрывающей скобок «()». Коды остальных вершин представляют собой заключенную в круглые скобки последовательность отсортированных в лексикографическом порядке кодов корней поддеревьев данной вершины. Например, вершины дерева №1 рис. 2 будут закодированы так, как показано на рис. 4.
Х2©Охз(3( И6^ )'( )) xs(5( ) X4©( ) x5®( )
Рис. 4. Пример кодирования вершин дерева
В вершинах дерева указаны их номера в порядке получения, справа от вершин указаны их коды.
На основании доказанной выше теоремы и положений работы [22] в качестве интегральной характеристики графа предлагается множество кодов корней деревьев всех кратчайших цепей из каждой вершины в остальные.
3. Алгоритм определения кодов корней деревьев кратчайших цепей
Определение кодов корней деревьев кратчайших цепей выполняется в два этапа: сначала строится дерево, а потом получается код его корня. Построение деревьев осуществляется по стратегии декомпозиции в ширину. При получении кодов вершин выполняется обход дерева по методу в глубину с возвращением.
Как указано выше граф G задан множествами вершин X = |хг / i = 1, nj и образов относительно предиката смежности FX = \Flxi / i = 1, n j. При этом для каждой вершины Xj
дерева фиксируется соответствующий ей номер вершины графа numj, количество ksonj ее сыновей и массив Sj номеров сыновей в дереве. Эта информация однозначно описывает дерево кратчайших цепей и используется на втором этапе при получении кода корня дерева.
Множество Sj сыновей вершины Xj для q-го уровня дерева определяется как множество смежных ей вершин F1Xj без вершин, которые уже были найдены на предыдущих q-1 уровнях дерева поиска кратчайших путей X q-1:
.
На этапе построения кода корня дерева каждой вершине Xj сопоставляется ее код codej, который потом участвует в построении кодов родительских вершин до корневой вершины включительно.
Таким образом, каждой вершине Xj сопоставляется кортеж вида:
< numj, ksonj, Sj, codej>.
Результат работы алгоритма - вектор Code кодов корней деревьев кратчайших цепей размером n. Схема алгоритма показана на рис. 5.
Начало
Ух, □ Х
2.1
ХР:=[х,]
2.2
ХВ:=[1]
2.3
О /I
п,:=1
2.5.1
Хиг: =□ , Хигг:=□ 2.5.2 '
хг □ ХВ
2.5.2.1 —1-
Бх: =р! (хг. пит)\ХР
2.5.2. 2-1-
Тгее [хг] Моп:=0
2.5.2.3
Ух^ □ Бх
2.5.2.3.1 —1-
п,:=п,+ 1
2.5.2.3.2 —I-
Тгее [хг] ^оп: = Тгее [х]^оп+1 -2.5.2.3.3 —I-
Тгее [хг] .S[Tгee[х1].kson]: =Ш
2.5.2.3.4 1-
Тгее[п,].пит: =х^
Нет
2.5.2.3.7 Хигг: =Хигг. Ш
2.5.3 -
ХР:=ХКШг
2.5.4
ХВ:=Хигг
_2.6_ :
Тгее[1].^е:=СОВЕ(1)
3
Конец
Рис. 5. Схема алгоритма получения кодов корней деревьев кратчайших цепей
2
Условные обозначения, используемые в описании алгоритма: XI• - множество вершин графа а , к которым уже найдены кратчайшие пути; ХВ - множество вершин графа С1, из которых будут строиться ветви на очередном шаге декомпозиции в ширину;
ХЦг - множество вершин графа Сп, найденных на рассматриваемом уровне; иг - номер текущего уровня дерева декомпозиции в ширину; 8х - множество сыновей вершины;
СОБЕ(х^) - функция, рекурсивно вычисляющая коды вершин дерева по алгоритму, предложенному в [22].В ходе работы алгоритма выполняется лексикографическая сортировка кодов вершин деревьев, обеспечивающая независимость кодов от порядка нумерации вершин деревьев. Согласно [22] вычислительная сложность получения кода - кортежа корня дерева не превышает О(пт), т. е. О(п ). Таким образом, вычислительная сложность построения деревьев кратчайших цепей и получения кодов их корней для всех вершин
о
графа не превышает О(п ).
Для выполнения экспериментальных исследований приведенный выше алгоритм был реализован в среде Turbo Delphi.
Очевидно, что число вершин дерева кратчайших цепей и, соответственно, временная сложность алгоритма зависят от плотности исходного графа D, которая определяется отношением числа ребер графа m к числу ребер полного графа. Для получения оценки временной сложности алгоритма «в худшем» потребовалось определить значение плотности графа, при котором количество вершин деревьев, а, следовательно и время их построения максимально. На рис. 6 показана экспериментально полученная зависимость числа вершин дерева кратчайших цепей в функции от плотности графа для числа его вершин n = 600. Несложно видеть, что максимальное число вершин деревьев достигается при плотности графа .
4. Экспериментальные исследования
60000
50000
40000
н
3 30000
20000
10000
0
0
20
40
60
80
100
D, %
Рис.6. Зависимость числа вершин дерева кратчайших цепей от плотности исходного графа
Анализ полученной зависимости числа вершин дерева всех кратчайших цепей от числа вершин графа при его плотности Б = 65 % показал (рис. 7), что она с большой точностью аппроксимируется квадратичной функцией - , что согласуется с теоретической оценкой раздела 1.
300000
250000
200000
150000
100000
50000
Экспериментально п(п-1)/6 п(п-1)/2 п(п-1)/8 пЛ(3/2)
200
400
600 800 п, шт.
1000
1200 1400
Рис. 7. Зависимость числа вершин дерева кратчайших цепей от числа вершин исходного графа при его
плотности Б=60%
На рис. 8 показана зависимость времени выполнения программы, реализующей предлагаемый алгоритм, в функции от плотности графа для шести значений числа вершин. Несложно видеть, что максимальное время требуется для построения деревьев при плотности графа Б »60 %, причем данная оценка не зависит от числа вершин графа.
50 45 40 35 30 Ч 25 20 15 10 5 0
п=100 п=200 п=300 п=400 п=500 п=600
20
40 60
Р, %
80
100
0
0
0
Рис. 8. Зависимость времени выполнения программы, реализующей предлагаемый алгоритм, в функции от
плотности графа
Зависимость временной сложности алгоритма от числа вершин исходного графа при его плотности D = 30% (в часто встречающемся) и 60% (в худшем случае) показана на рис. 9.
50 Я Ш ^^^^^^
0 100 200 300 400 500 600 700
n, шт.
Рис. 9. Зависимость временной сложности алгоритма от числа вершин исходного графа при его плотности D
равной 30% и 60%
Вид зависимости временной сложности от числа вершин исходного графа для алгоритма получения деревьев и определения кодов их корней согласуется с теоретическими оценками, полученными в разделах 1 и 3.
Заключение
В статье предложена и обоснована полная характеристика структуры неориентированного графа в виде совокупности кодов корней деревьев всех кратчайших цепей его вершин. Показано, что вычислительная сложность построения деревьев кратчайших цепей и получения кодов их корней для всех вершин графа не превышает O(n ). Указанная характеристика позволяет определить изоморфизм графов и получить подстановку их вершин, если в разложении графов нет деревьев с одинаковой структурой. В том случае, когда в имеются к деревьев с одинаковой структурой, устанавливается изоморфизм графов и определяется частичная подстановка их вершин. Для получения полной подстановки необходимо исследовать к! вариантов подстановок. Применение предложенного в статье подхода к ориентированным, гипер- и ультраграфам является предметом дальнейших исследований.
Список литературы
1. Овчинников В.А. Графы в задачах анализа и синтеза структур сложных систем. М.: Изд-во МГТУ им. Н.Э. Баумана, 2014. 423 с.
2. Овчинников В.А. Алгоритмизация комбинаторно-оптимизационных задач при проектировании ЭВМ и систем: учеб. для вузов. М.: Изд-во МГТУ им. Н.Э. Баумана, 2001. 288 с.
D=30% D=60%
3. Овчинников В.А. Вычислительная сложность алгоритмических моделей задач идентификации и покрытия схем ЭВМ // Вестник МГТУ им. Н.Э. Баумана. Сер. Приборостроение. 1992. № 2. С. 31-42.
4. Ullmann J.R. An Algorithm for Subgraph Isomorphism // Journal of the Association for Computing Machinery (JACM). 1976. Vol. 23, no. 1. P. 31-42. DOI: 10.1145/321921.321925
5. Cordella L.P., Foggia P., Sansone C., Vento M. A (sub)graph isomorphism algorithm for matching large graphs // IEEE Transactions on Pattern Analysis and Machine Intelligence. 2004. Vol. 26, no. 10. P. 1367-1372. DOI: 10.1109/TPAMI.2004.75
6. Cordella L.P., Foggia P., Sansone C., Vento M. An Improved Algorithm for Matching Large Graphs // Proc. of the 3rd IAPR-TC15 Workshop on Graph-based Representations in Pattern Recognition, Cuen, 2001. P. 149-159.
7. Dehmer M., Grabner M., Mowshowitz A., Emmert-Streib F. An efficient heuristic approach to detecting graph isomorphism based on combinations of highly discriminating invariants // Advances in Computational Mathematics. 2013. Vol. 39, no. 2. P. 311-325. DOI: 10.1007/s10444-012-9281-0
8. McKay B.D., Piperno A. Practical graph isomorphism, II // Journal of Symbolic Computation. 2014. Vol. 60. P. 94-112. DOI: 10.1016/j.jsc.2013.09.003
9. Попов А.Ю. Реализация алгоритмов обхода графов в вычислительной системе с многими потоками команд и одним потоком данных // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2015. № 10. С. 453-472. DOI: 10.7463/1015.0820736
10. Luks E.M. Isomorphism of graphs of bounded valence can be tested in polynomial time // Proc. of the 21st IEEE FOCS Symp. 1980. P. 42-49.
11. Hoffmann C.M. Group-Theoretic Algorithms and Graph Isomorphism // Lecture Notes in Computer Science. 1982. Chap. V. P. 127-138.
12. Babai L., Grigoryev D.Yu., Mount D.M. Isomorphism of graphs with bounded eigenvalue multiplicity // Proceedings of the 14th annual ACM symposium on Theory of computing (STOC '82). 1982. P. 310-324. DOI: 10.1145/800070.802206
13. Faizullin R.T., Prolubnikov A.V. An Algorithm of the Spectral Splitting for the Double Permutation Cipher // Pattern Recognition and Image Analysis. 2002. Vol. 12, no. 4. P. 365375. Режим доступа:
http://www.omgtu.ru/general information/faculties/radio engineering department/departme nt_of_quot_integrated_protection_of_information_quot/files/theses/publications/Prolubniko vFaizullinPattern.pdf (дата обращения 01.03.2016).
14. Пролубников А.В. Прямой алгоритм проверки изоморфизма графов // Компьютерная оптика. 2007. Т. 31, № 3. С. 86-92.
15. Погребной В.К. Алгоритм решения задачи определения изоморфизма гиперграфов // Известия Томского политехнического университета. 2010. Т. 317, № 5. С. 16-21. Ре-
жим доступа: http://www.lib.tpu.ru/fulltext/v/Bulletin TPU/2010/v317/i5/03.pdf (дата обращения 01.03.2016).
16. Погребной В.К. Метод интеграции структурных различий в графовых моделях и его применение для описания структур // Известия Томского политехнического университета. 2011. Т. 318, № 5. С. 10-16. Режим доступа:
http://www.lib.tpu.ru/fulltext/v/Bulletin TPU/2011/v318/i5/02.pdf (дата обращения 01.03.2016).
17. Погребной В.К. Решение задачи определения изоморфизма графов, представленных атрибутными матрицами // Известия Томского политехнического университета. 2012. Т. 321, № 5. С. 52-56. Режим доступа:
http://www.lib.tpu.ru/fulltext/v/Bulletin TPU/2012/v321/i5/11.pdf (дата обращения 01.03.2016).
18. Погребной В.К., Погребной А.В. Полиномиальный алгоритм вычисления полного инварианта графа на основе интегрального описателя структуры // Известия Томского политехнического университета. 2013. Т. 323, № 5. С. 152-159. Режим доступа: http://www.lib.tpu.ru/fulltext/v/Bulletin TPU/2013/v323/i5/25.pdf (дата обращения 01.03.2016).
19. Погребной А.В. Полный инвариант графа и алгоритм его вычисления // Известия Томского политехнического университета. Информационные технологии. 2014. Т. 325, № 5. С. 110-122. Режим доступа:
http://www.lib.tpu.ru/fulltext/v/Bulletin TPU/2014/v325/i5/14.pdf (дата обращения 01.03.2016).
20. Погребной В.К., Погребной А.В. Исследование полиномиальности метода вычисления интегрального описателя структуры графа // Известия Томского политехнического университета. 2013. Т. 323, № 5. С. 146-151. Режим доступа: http://www.lib.tpu.ru/fulltext/v/Bulletin TPU/2013/v323/i5/24.pdf (дата обращения 01.03.2016).
21. Babai L. Graph Isomorphism in Quasipolynomial Time // ArXiv.org: website. Режим доступа: http://arxiv.org/abs/1512.03547 (дата обращения 15.02.2016).
22. Ахо A.B., Хопкрофт Д.Э., Ульман Д.Д. Построение и анализ вычислительных алгоритмов: пер. с англ. М.: Мир, 1979. 536 с.
23. Кормен Т., Лейзерсон Ч., Риверст Р. Алгоритмы: построение и анализ: пер. с англ. М.: МЦНМО, 2000. 960 с.
Science ¿Education
of the Bauman MSTU
El
tft
tronic journa
iSSH 1994-0408
/
Science and Education of the Bauman MSTU, 2016, no. 04, pp. 106-123.
DOI: 10.7463/0416.0835978
Received: 17.03.2016
Revised: 31.03.2016
© Bauman Moscow State Technical Unversity
Completely Described Undirected Graph Structure
G.S. Ivanova1'", V.A. Ovchinnikov1 Vvanovaiggmail-com
:Bauman Moscow State Technical University, Moscow, Russia
Keywords: identity structures, graph isomorphism, tree of the shortest paths, codes vertixs of trees
The objects of research are undirected graphs. The paper considers a problem of their isomorphism. A literature analysis of its solution, has shown that there is no way to define a complete graph invariant in the form of unique structural characteristics of each its vertex, which has a computational complexity of definition better than O (n4).
The work objective is to provide the characteristics of the graph structure, which could be used to solve the problem of their isomorphism for a time better than O (n4). As such characteristics, the paper proposes to use the set of codes of tree roots of all the shortest - in terms of the number of edges - paths from each vertex to the others, uniquely defining the structure of each tree. It proves the theorem that it is possible to reduce the problem of isomorphism of the undirected graphs to the isomorphism problem of their splitting into the trees of all the shortest - in terms of the number of edges - paths of each vertex to the others. An algorithm to construct the shortest paths from each vertex to all others and to compute codes of their vertices has been developed. As the latter, are used Aho-codes, which find application in recognising the isomorphism of trees. The computational complexity to obtain structural characteristics of vertices has been estimated to be about O (n ).
The pilot studies involved the full-scale experiment using the developed complex programmes to generate raw data, i.e. analytic representation of the graph with the number of vertices equal to 1200, and a programme to provide codes of the tree roots. To have an estimate of -"the worst" in terms of time - complexity of expansion algorithm of graphs into trees of the shortest paths and define the codes of their roots has been an experimentally studied how the number of tree vertices depends on the graph density. For the worst case was obtained a dependence of the number of tree vertices on the number of graph vertices, approximated by the quadratic function, which is consistent with the theoretical estimates. The experimental results of studies, in general, prove those of theoretical estimates.
References
1. Ovchinnikov V.A. Grafy v zadachakh analiza i sinteza struktur slozhnykh sistem [Graphs in problems of analysis and synthesis of structures of difficult systems]. Moscow, Bauman MSTU Publ., 2014. 423 p. (in Russian).
2. Ovchinnikov V.A. Algoritmizatsiya kombinatorno-optimizatsionnykh zadach pri proektirovanii EVM i system [Algorithmization of combinatorial and optimization problems in the design of computers and systems]. Moscow, Bauman MSTU Publ., 2001. 288 p. (in Russian).
3. Ovchinnikov V.A. Computational complexity of algorithmic models of problems of identification and coverage schemes of the computer. Vestnik MGTU im. N.E. Baumana. Ser. Priborostroenie = Herald of the Bauman Moscow State Technical University. Ser. Instrument Engineering, 1992, no. 2, pp. 31-42. (in Russian).
4. Ullmann J.R. An Algorithm for Subgraph Isomorphism. Journal of the Association for Computing Machinery (JACM), 1976, vol. 23, no. 1, pp. 31-42. DOI: 10.1145/321921.321925
5. Cordella L.P., Foggia P., Sansone C., Vento M. A (sub)graph isomorphism algorithm for matching large graphs. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2004, vol. 26, no. 10, pp. 1367-1372. DOI: 10.1109/TPAMI.2004.75
6. Cordella L.P., Foggia P., Sansone C., Vento M. An Improved Algorithm for Matching Large Graphs. Proc. of the 3rd IAPR-TC15 Workshop on Graph-based Representations in Pattern Recognition, Cuen, 2001, pp. 149-159.
7. Dehmer M., Grabner M., Mowshowitz A., Emmert-Streib F. An efficient heuristic approach to detecting graph isomorphism based on combinations of highly discriminating invariants. Advances in Computational Mathematics, 2013, vol. 39, no. 2, pp. 311-325. DOI: 10.1007/s10444-012-9281-0
8. McKay B.D., Piperno A. Practical graph isomorphism, II. Journal of Symbolic Computation, 2014, vol. 60, pp. 94-112. DOI: 10.1016/j.jsc.2013.09.003
9. Popov A.Yu. The implementation of graph traversal algorithms on the multiple instruction and single data stream computer system. Nauka i obrazovanie MGTU im. N.E. Baumana = Science and Education of the Bauman MSTU, 2015, no. 10, pp. 453-472. DOI: 10.7463/1015.0820736 (in Russian).
10. Luks E.M. Isomorphism of graphs of bounded valence can be tested in polynomial time. Proc. of the 21st IEEE FOCS Symp. 1980, pp. 42-49.
11. Hoffmann C.M. Group-Theoretic Algorithms and Graph Isomorphism. Lecture Notes in Computer Science, 1982, chap. 5, pp. 127-138.
12. Babai L., Grigoryev D.Yu., Mount D.M. Isomorphism of graphs with bounded eigenvalue multiplicity. Proceedings of the 14th annual ACM symposium on Theory of computing (STOC '82). 1982, pp. 310-324. DOI: 10.1145/800070.802206
13. Faizullin R.T., Prolubnikov A.V. An Algorithm of the Spectral Splitting for the Double Permutation Cipher. Pattern Recognition and Image Analysis, 2002, vol. 12, no. 4, pp. 365375. Available at:
http://www.omgtu.ru/general information/faculties/radio engineering department/departme nt_of_quot_integrated_protection_of_information_quot/files/theses/publications/Prolubniko vFaizullinPattern.pdf , accessed 01.03.2016.
14. Prolubnikov A.V. Direct algorithm for testing isomorphism of graphs. Komp'yuternaya optika = Computer Optics, 2007, vol. 31, no. 3, pp. 86-92. (in Russian).
15. Pogrebnoi V.K. Algorithm for solving problem of determining isomorphism of hypergraphs. Izvestiya Tomskogo politekhnicheskogo universiteta = Bulletin of the Tomsk Polytechnic University, 2010, vol. 317, no. 5, pp. 16-21. Available at:
http://www.lib.tpu.ru/fulltext/v/Bulletin TPU/2010/v317/i5/03.pdf , accessed 01.03.2016. (in Russian).
16. Pogrebnoi V.K. Method of integration of structural differences in graph models and its application for describing structures. Izvestiya Tomskogo politekhnicheskogo universiteta = Bulletin of the Tomsk Polytechnic University, 2011, vol. 318, no. 5, pp. 10-16. Available at: http://www.lib.tpu.ru/fulltext/v/Bulletin TPU/2011/v318/i5/02.pdf , accessed 01.03.2016. (in Russian).
17. Pogrebnoi V.K. Solving the problem of determining graph isomorphism represented by the attributive matrices. Izvestiya Tomskogo politekhnicheskogo universiteta = Bulletin of the Tomsk Polytechnic University, 2012, vol. 321, no. 5, pp. 52-56. Available at: http://www.lib.tpu.ru/fulltext/v/Bulletin TPU/2012/v321/i5/11.pdf , accessed 01.03.2016. (in Russian).
18. Pogrebnoi V.K., Pogrebnoi A.V. Polynomial algorithm of computing complete graph invariant on the basis of integral structure descriptor. Izvestiya Tomskogo politekhnicheskogo universiteta = Bulletin of the Tomsk Polytechnic University, 2013, vol. 323, no. 5, pp. 152159. Available at: http://www.lib.tpu.ru/fulltext/v/Bulletin TPU/2013/v323/i5/25.pdf , accessed 01.03.2016. (in Russian).
19. Pogrebnoi A.V. Complete graph invariant and algorithm of its computation. Izvestiya Tomskogo politekhnicheskogo universiteta. Informatsionnye tekhnologii = Bulletin of the Tomsk Polytechnic University. Information technology, 2014, vol. 325, no. 5, pp. 110-122. Available at: http://www.lib.tpu.ru/fulltext/v/Bulletin TPU/2014/v325/i5/14.pdf , accessed 01.03.2016. (in Russian).
20. Pogrebnoi V.K., Pogrebnoi A.V. Polynomiality of method for computing graph structure integral descriptor. Izvestiya Tomskogo politekhnicheskogo universiteta = Bulletin of the Tomsk Polytechnic University, 2013, vol. 323, no. 5, pp. 146-151. Available at: http://www.lib.tpu.ru/fulltext/v/Bulletin TPU/2013/v323/i5/24.pdf , accessed 01.03.2016. (in Russian).
21. Babai L. Graph Isomorphism in Quasipolynomial Time. ArXiv.org: website. Available at: http://arxiv.org/abs/1512.03547 , accessed 15.02.2016.
22. Aho A.V., Hopcroft J.E., Ullman J.D. The design and analysis of computer algorithms. Ad-dison-Wesley, 1976. (Russ. ed.: Aho A.V., Hopcroft J.E., Ullman J.D. Postroenie i analiz vychislitel'nykh algoritmov. Moscow, Mir Publ., 1979. 536 p.).
23. Cormen T.H., Leiserson C.E., Rivest R.L. Introduction to Algorithms. MIT Press, 1990. (Russ. ed.: Cormen T.H., Leiserson C.E., Rivest R.L. Algoritmy: postroenie i analiz. Moscow, MTsNMO Publ., 2000. 960 p.).