Прямой алгоритм проверки изоморфизма графов

Бесплатный доступ

Предлагается алгоритм решения задачи проверки изоморфизма графов. Алгоритм является прямым, в том смысле, что он не является модификацией схемы рекурсии с возвратом, на основе которой построены наиболее эффективные алгоритмы решения задачи. Решение задачи находится за число итераций алгоритма, не превышающее число вершин в графах. Показывается, что алгоритм является полиномиальным по числу используемых элементарных машинных операций и по используемой памяти. Исследуется класс графов, на котором алгоритм дает решение задачи.

Похожие статьи в разделе Прикладные информационные (компьютерные) технологии. Методы основанные на применении компьютеров

Нейросетевой анализ раскрашенных графов
Нейросетевой анализ раскрашенных графов

Гермашев Илья Васильевич, Дербишер Евгения Вячеславовна, Дербишер Вячеслав Евгеньевич, Маркушевская Елена Александровна

An approach to determination of maximal cliques in undirected graphs
An approach to determination of maximal cliques in undirected graphs

S.V. Listrovoy, A.V. Sidorenko, E.S. Listrovaya

Короткий адрес: https://sciup.org/14058767

IDS: 14058767

Текст научной статьи Прямой алгоритм проверки изоморфизма графов

Задача изоморфизма графов (ИГ) принадлежит к задачам, относительно которых нет ясности: являются ли они полиномиально разрешимыми или нет [1], тогда, как известно, эта задача полиномиально разрешима для некоторых классов графов. В частности для планарных графов, графов с ограниченной степенью вершин, графов с ограниченной кратностью собственных значений из спектра матрицы смежности [2], [3], [4] и некоторых других классов графов построены эффективные алгоритмы решения этой задачи.

Поскольку эти алгоритмы используют специфические структурные характеристики графов, область их эффективного применения ограничена. Возникает необходимость в алгоритме, который находил бы решение задачи ИГ для как можно более широкого класса графов, оставаясь при этом полиномиальным как по времени, так и по памяти.

Алгоритм, представленный в [5], работает со спектральными характеристиками графов и является полиномиальным алгоритмом решения задачи ИГ с наиболее широким классом применения. Но этот класс не покрывает определяемых спектром графов, которые попадают в область эффективного применения предлагаемого алгоритма. Граф называется определяемым спектром (ОС-графом), если ему изоморфен любой граф с таким же спектром матрицы, представляющей граф. Спектр матрицы графа так же называют спектром графа.

Спектр графа не является его полным инвариантом. Так, почти все деревья и сильно-регулярные графы не являются определяемыми спектром. Вместе с тем, спектр содержит в себе разнообразную информацию о структуре графа [6] - такую как число ребер в графе, степенная последовательность графа, род графа и др., что может быть использовано при построении эвристик для решения задачи ИГ. Алгоритм спектрального расщепления [7], работает не напрямую со спектром графа, а со следующим, связанным со спектром, инвариантом:

удалением i -ой вершины; произведения берутся по всем значениям из спектров. Будем называть граф определяемым спектрами графа и подграфов (ОС2-графом), если ему изоморфен любой граф с таким же значением S .

Как показывает эксперимент, многие графы, которые не являются ОС-графами, например, деревья являются ОС2-графами. Тогда как всякий ОС-граф является ОС2-графом.

В задаче проверки изоморфизма графов даны два графа G A и G B с множествами вершин V ( G A ), V ( G B ) и ребер E ( G A ), E ( G B ). Мощности множеств вершин и ребер графов равны. Требуется определить, существует ли такое биективное отображение (изоморфизм) ф : V A ^ V B , что

(i, j) € E(GA) о (ф(i), Ф( j)) € E(Gb ), и представить его, если графы изоморфны.

При работе со спектром графа могут рассматриваться различные варианты матриц, представляющих граф. Все они являются некоторыми модификациями матрицы смежности графа A 0 . A - ( ay ), где

[ 1,( i , j ) E. , a j =L „ A [ 0, иначе,

B о = ( b j ) — матрица смежности графа G g .

Чем больше кратность собственных значений в спектрах графов, тем больше в графах симметрий, и тем более сложным является нахождение изоморфизма двух изоморфных графов с кратными собственными значениями. Предлагаемый алгоритм решения задачи проверки изоморфизма графов работает с видоизмененными матрицами смежности. В ходе его работы последовательными согласованными возмущениями диагональных элементов матрицы производится расщепление собственных значений графа, что позволяет решать задачу проверки ИГ для широкого класса графов за полиномиальное время в смысле количества используемых машинных операций.

Алгоритм является прямым, то есть решение производится без использования схемы рекурсии с возвратом, на которой основаны наиболее извест- ные алгоритмы решения задачи ИГ без каких-либо ограничений на структуру проверяемых на изоморфизм графов – алгоритмы Ullman, NAUTY и VF, экспоненциальные для общего случая задачи.

Алгоритм

Пусть A 0   – матрица смежности графа

G A = V, , E A) , D A 0 — диагональная матрица следующего вида:

d 1   0.

0 d 2

•     •\ •

_ 0   0

n где di = ^ a” + d = di + d , d - максимальная сте-j=1

пень вершин в графе GA , di – степень вершины i e V A . Матрица D B 0 строится аналогично в соответ -ствии с матрицей B 0 . Алгоритм работает с матрицами следующего вида:

A = A + D, , B = B + D„ .                  (1)

0 A 0,          0 B 0

Матрицы вида (1) – положительно определенные матрицы с диагональным преобладанием. Матрицами графов далее будем называть матрицы вида (1). В ходе работы алгоритма производится возмущение матриц графов при помощи следующих матриц:

"0 . 0 . 0"- 1 Ek = 0 . 1 0 - k _0 . 0 • 0_ - n На i -ой итерации будем производить следую- щие возмущения матриц графов:

A i : = A i - 1 + e E i ,B i : = B i - 1 + e Ej , где J выбирается так, что S ( G A ) = S ( GA ). Если G A и GB – ОС2-графы, и GA изоморфен GB , то проведение таких возмущений возможно, поскольку имеет место очевидная лемма.

Лемма 1. Пусть GA и GB – изоморфные ОС2-графы, P – матрица перестановки, соответствующая изоморфизму ф : V B ^ V A . Пусть AJ и BJ -матрицы, получаемые из A и B возмущениями их диагональных элементов в соответствии с последовательностями { J } j = и { kJ } j =1 , где ф ( kJ ) = J . Тогда

A = PBP - 1 О V j A = PBJP - 1 .

Обращение матриц производится путем решения систем линейных уравнений A x = eJ , B i x = eJ , где

{ e J } j = — стандартный базис в R" . Пусть xk = ( xk 1, . , xkn ) - k -й вектор-столбец матрицы ( A ) - 1 . Тогда если графы G A и G B изоморфны, и ф -

изоморфизм

GA на

GB , то

" x 11   .

x 1 ,

■    x 1 j

.

x« ••

x j

_ x j 1 .

x j,-

x

’      jj _

y ф(1)ф(1)     •

y ф(1)ф( i )

y ф(1)ф( j )

y ф( , )ф(1)

y ф( i )ф( , )

y ф( i ( j )

y ф( j (1)

y ф( j )ф( i )

y ф( j ( j )

Пусть j-1         / j

\ k/П*

k =1      / k =1

а R ( A ) = { Л . , . , л ,. } - это набор неповторяющихся значений Л i для матрицы A . Если | R ( A ) | = j , то есть если все диагональные элементы обратной матрицы к матрице A графа – разные, и GA и GB изоморфны, то, очевидно, изоморфизм может быть установлен без проведения возмущений по следующему правилу:

i = Ф( J)О л, = Лj.

Докажем следующую лемму.

Лемма 2. Пусть A' = A + е E‘ , A'x i = e i , Л , = xV . Тогда может быть выбрано такое е , что Л i ^ Л j для любого J * i .

Доказательство. Пусть Apq – алгебраическое дополнение элемента apq матрицы A .

A x» =----- ii det A

.

Поскольку элемент aii матрицы A – единственный изменяемый в ходе возмущения матрицы элемент, то A’i = Aii, тогда как для любого J * i получаем A'A = AJJ + еAi; JJ, где Aii A - определитель подматрицы матрицы A , получаемой удалением ее i -ой строки, i -го столбца, j -ой строки и j -го столбца. Изменение определителя при возмущении следующее: det A' = det A + eAu. Получаем, что при надлежащем выборе е для любого J * i л j = Ajj+sAjj• ii #----Ai— = л i.

j   det A + s A ii   det A + s A ii

Лемма доказана.

Учитывая леммы 1 и 2, можно утверждать, что не более чем за n последовательных согласованных возмущений матриц изоморфных ОС2-графов мы можем добиться того, что

|R(An0)|=|R(Bn0)|= n, где n0 - необходимое число возмущений, n0 < n .

Принципиальная схема алгоритма

Шаг 0. i : = 1, A 0 : = A , B 0 : = B .

Шаг 1. Если | R ( A i - 1 ) | = n , то перейти на шаг 3, иначе перейти на шаг 2.1.

i -я итерация алгоритма:

Шаг 2.0. Выбор s .

Шаг2.1. A i : = A i - 1 + s E i .

Шаг 2.2. Поиск j т. ч.

S ( G A i ) = S ( G B i - 1 +s E j ).

Шаг 2.3. Если j не найден, то, либо поданные на вход графы не изоморфны, либо – не являются ОС2-графами. Работу алгоритма завершить, иначе перейти на следующий шаг.

Шаг 2.4. i : = i + 1. Перейти на шаг 1.

Шаг 3. Установить изоморфизм по правилу

i = ф( j) о Лi = Лj.

Вычислительная эффективность алгоритмаЛокализация элементов множества R

Пусть R ( A ( j ) ) = { л ( j ),..., Л ^ ) } - набор R к j -ой итерации. Обозначим решение системы уравнений Ajx = e k , как x k j ) , и определим множества R i ( A ( j ) ) как

R i ( A j ) = { x j | x j = л j } , i = 1 P .

Рассмотрим множества Ri (Aj ) в процессе производимых в ходе работы алгоритма возмущений матрицы A . Будем говорить, что Ri (Aj-1) расщепляется на j -ой итерации алгоритма, если xj-1) e R(Aj-1) , | Ri(Aj-1)|> 1

для некоторого i , но xj) e Rk(Aj), и |R(Aj)|= 1.

Положим,

( j )           ( j )         ( j )

Aki = |xk,k, -xi I, где xk e Rk(A) xj e Ri(A >■ xj e Ri(Aj)- Будем рассматривать Aj как расстояние между множествами Rk(Aj) и Rl(Aj).

Числом обусловленности матрицы A называется следующая величина ц ( A ):

ц( A) = sup x #0,5#0

где ||-|| - евклидова норма вектора в Rn . Пусть X max -наибольшее собственное значение матрицы A , X mi- - наименьшее.

sup) | Ax||/||x|| х

^ ( A ) =     --- = -max- < ” .

sup| |A §/§    Xmin

^#0

X min # 0 , поскольку A - положительно определенная матрица.

Рассмотрим систему ( A + C ) y = f , полученную из системы Ax = f возмущением A при помощи матрицы C . Пусть

Н<6, где A=sxUP Tx*.

II A ll = ^max для положительно определенной матрицы A [8]. Имеет место следующая теорема [8].

Теорема 1. Если ( A ) 1, то

IIУ - xll < 6Ц(A)

|| x||       1 -6Ц ( A ).

Для числа обусловленности симметричной матрицы выполняется [8]:

Ц ( a ) S^ A , Х ( A ) где

n ( A ) = max i aH + ^ | a j | I , 1< <  n

V       j # i7

x(A) = min I aii-£ | aij | I. 1< I < n

V      j # i7

На j -ой итерации akk = d + dk + s k , где s k - значение возмущения k -го диагонального элемента A , и s k = 0 если k j . Пусть i - номер строки, на которой достигается n ( A ), i 2 - номер строки, на которой достигается х ( A ). Имеем

n

n ( A ) = a,, + £,■ + У| a, , | = d + е, + d, +

IV /         Zj Zj         Zj      ^1    Zj j I                Zj         Zj j=’

+d, = d + £ + d + d = 3d + £, , zj                                 zj                                                                     zj

Имеем

X ц ( Aj -1 ) = m- 4, x„ min

X ( A ) = a 44 + £ 4 У 1 a 2 j | = j =’

= d + £, + d, - d, = d + £, . 12           Z2           Z2

Следовательно,

) 3 d + £, ц( A) ■•■■'’ ’ =

X ( A ) d + s^

Если £. = jn p , e^ = ’/ n p2 , где p , , p 2 e N , то

,    , 3 d + £ il 3 d + V n p

ц(A) <------L =-----

  • d + £.      d + j/ n p 2

3dnp + ’ < np2-4dn = 4 dnp2 +’            dnp2’

Таким образом, в нашем случае утверждение теоремы ’ принимает следующий вид:

Если 9 < ’4, то где Xm„„ - максимальное собственное значение max

A j -’ , X min — минимальное. По теореме Гершгорина

  • [9] X max d . Учитывая, что X min I A j -’ll , получаем

I Aj -’|| >X m„ >X max/4 d /4.

Таким образом, из (3) следует

I x :j)- x    d^ -I

Так как все собственные значения A j не меньше ’, и || ek 11 = ’ для любого к , то || x Z(j -) 1| <  ’. Из (3) следует, что для любого Z

x ( j

dnp

y-1

.( j -j)

i

„ ( j ) xii

следовательно, для любого Z

II у - x < 9 4 4 91 * И "

„ ( j ) xii

_ Y ( j -j) xii

dnp

Для гарантированного выделения x jj j) из

RZ ( A j - ) на j -ой итерации возмущения должны быть достаточно малы, поскольку необходимо, чтобы после возмущения x j был достаточно удален от всех остальных значений x (j ) в смысле введенного расстояния А .

Из (2) следует, что

Неравенство (4) дает оценку локализации векторов из множеств RZ .( Aj ) в процессе работы алгоритма.

I x U) - x(j -’) I|<

I ‘       ‘ H ’ - 4 9 ( £ j )

II x j -I-

Поскольку

_H_j I A j -'ll    II Aj -j     II A j -T

мы можем положить

£ j

9 ( £ j ) = j -

Полагая £ j

, получаем

xj ) - xj - j)

4 n p _____ll x ( j -»|| =

11 - 4/ np^‘    H

4 n p ___ll x =

'll - 4/ np H Z H

=     4

= | | Aj||np - 4

Ajnp

Расщепление множеств Ri

Производимые возмущения должны быть достаточны для расщепления множеств RZ . Алгоритм является вычислительно эффективным только в том случае, если для любого j и любых к и l , не равных друг другу, A ^j ) будет отличным от нуля машинным числом. Покажем, что необходимая точность решения систем линейных уравнений может быть обеспечена при помощи машинных чисел с длиной мантиссы, не превышающей n .

Пусть x j - ) , x j - ) e R Z .( A j -’ ) для некоторого i , то есть перед j -ой итерацией в этом множестве имеется по меньшей мере два элемента, препятствующих установлению взаимнооднозначного соответствия между вершинами графов.

Теорема 2. Если x( j) = x j j) и 0 < £ j ’, то

- (j) _ x (j) I >_____________’_____________ jj 1 3 nd 2(3 d I £j+ ’)

.

Доказательство. Пусть A = Aj - , A ' = Aj, x. = x < j -j) , x = x < j ) , x j = x jj -j) , x j = x jj ) . Если x 'j- = Px' j , то x ' j = x j .

x' = A jj x' = A*

j1 det A* ’" det A* "

После возмущения det A' = det A + s jAjj, Ajj = Ajj, так как ajj – единственный изменяемый элемент A на итерации алгоритма. Поскольку

Aj = A,, +s A, ^, и A. = Ajj, так как xi = xjj, получаем

| x j - x j | =

A j j

A i.

det A

det A'

Ajj - An +sjAii,j =    sjAii,jj det A'     det A'      det A + sjAjj '

Aii , jj – определитель подматрицы A , получаемой удалением из нее i -х строки и столбца и j -х строки и столбца. A – симметричная положительно определенная матрица с диагональным преобладанием, для которой выполняются условия Адамара:

Hk H akk | -Z1 aki 1 = dk > °, i =1, n, l * k

где d + s k, если 1 < k < j, d, если 1 < k < j.

Следовательно,

черта сверху означает невключение в произведение.

С другой стороны, по теореме Гершгорина максимальное собственное значение X max матрицы A можно оценить так:

x   < 3d + maxs. < 3d +1, max

1< k < j если sk < 1 для любого k . Поэтому

n det A = ПХk

k=1

n-1

Ajj = №kn  (3d +1)n-1.                (8)

k=1

Пусть X’ - максимальное собственное значе-max ние подматрицы, получаемой из A удалением строк и столбцов с номерами i и j. Xmax

x - x ' l=       j..jj_____

" jj det A + sjAjj

>

>

s dn-2

>

(3 d +1) n + sj (3 d +1) n-1

sjdn-2

(3 d)n+1+ sj (3 d) n’

то есть

x(j) - x (Ij) >.

1 jj 13 nd 2(3 d / sj +1)

Теорема доказана.

Пусть решение систем линейных уравнений Ajx = ek и Bj x = ek (j, k = 1, n) осуществляется методом Гаусса-Зейделя. Метод Гаусса-Зейделя позволяет оценить необходимую длину мантиссы используемых машинных чисел. В действительности не принципиально, каким методом мы решаем системы уравнений, необходимо только, чтобы решение находилось с нужной точностью за приемлемое время.

Имеет место [10] следующая теорема.

Теорема 3.Пусть

ZI aj l< YI a.il, Y < 1, j * i для каждого i = 1, n . Тогда

IIx - x$ll

Если A = Aj, то y1/2 . Следовательно, на s -ой итерации метода Гаусса-Зейделя

| xii-xts | <|xi-xts||< 2- 8°,

I xjj- x ^|<| xj- -xsll < 21Г 8°, где 8° - ошибка начального приближения. Если sj = Vnp на j -ой итерации, то, учитывая (9), полу- чаем

I x (j) - x (j) I >____________1____________

jj             3 nd2(3 dnp +1)

Значит, если

10                1

—г 8 < ——2-------,

2s-1       3 nd 2(3 dnp +1)

.

то разница x j - x*7) может быть зафиксирована машинными числами с длиной мантиссы, не превышающей n . Оценим количество итераций метода

Гаусса-Зейделя s , необходимых для фиксирования этого значения.

Формула (10) эквивалентна

3nd2(3dnp +1)80 2s-1.                           (11)

Логарифмируя (11), получаем n log2 3 + log2 d2(3dnp +1) + log2 80 < s -1, то есть число необходимых итераций метода Гаусса-

Зейделя может быть оценено как s > n log2 3 + p log2 n + 3 log2 d + log2 80 + 3 . (12)

Пусть p0 определяет значение возмущения ej = 1)np . Пусть x(j-1)- значение, выделяемое из Ri(Aj-1) на j -ой итерации. Выберем p так, что

20 А

. р <    , dn p n то есть

Р >logn "77 + 1, d А

Общая вычислительная сложность алгоритма

На каждой итерации алгоритма мы проводим вычисление наборов R для обоих графов, для чего мы обращаем матрицы графов. Для обращения матриц необходимо решить 2n систем линейных уравнений. Пусть O(NX ) – число элементарных машинных операций, которые необходимо совершить для решения систем линейных уравнений с заданной точностью. Тогда сложность процедуры обращения матриц составит 2nO(NX).

Проверка равенства значений из R(A) и R(B) (проверка равенства значений S(A) и S(B)) для пары матриц A и B осуществима за O(n) элементарных машинных операций. Следовательно, общая сложность одной итерации алгоритма составляет

2 nO (NX) + O (n). (13)

Оценим O(NX ) для метода Гаусса-Зейделя. На j -ой итерации алгоритма, находя ej, мы вычисляем p такое, что 20/dnp <Аj]n , где Аj = min А^), то есть где А = min АЧ).

k i l kl

Из (4) следует, что для любого i

Р = log n + 1. d А j

хУ-1)

-

х»'| /0-  '

dn p n

Получаем

< lx(j) - x(j) <

3 nd 2(3 d / ej +1) 1jj 1 n

После чего, в соответствии с (12), выполняется s итераций метода Гаусса-Зейделя. Пусть NXj – сложность нахождения решений систем линейных уравнений на j -ой итерации алгоритма проверки изоморфизма графов. Тогда, с учетом (13),

после j -ой итерации. Это означает, что на j -ой итерации мы можем выбрать такое возмущение, которое давало бы выделение xj-1)из содержащего его множества Ri (Aj-1) (если его мощность не равна 1), фиксируемое при помощи машинных чисел с длиной мантиссы равной n при сохранении локализации значений xi, i = 1, n . То есть могут быть заданы интервалы, в пределах которых будут происходить расщепления множеств Ri . Возмущения могут проведены таким образом, что после выделения xjj из некоторого Ri (Aj-1), xj не попадает на следующей итерации в другое такое множество с мощностью отличной от 1.

В результате, если для решения систем линейных уравнений производится число итераций метода Гаусса-Зейделя, определяемое (12), то при n0n мы получаем | R(An0) |= n , и расщепление элементов из R фиксируется машинными числами с длиной мантиссы, не превышающей n .

jTi            2x                               1

NJX = O(n ) ( n log23 + logn — +1 log2n +

А, J

+3 log2 d + log2 8 + 3), поскольку одна итерация метода Гаусса-Зейделя требует O(n2) элементарных машинных операций. Точные решения систем линейных уравнений принадлежат отрезку [0,1]n e Rn, следовательно, мы можем положить 80 = O(Vn). С учетом (13) общая вычислительная сложность алгоритма может быть оценена как

f Г 2 .          1

O n х max nn + log„—log2n + log2n

1< jn                  а -

1< jn

= O (n4).

л

Заключение

В класс ОС2-графов, для которых алгоритм решает задачу проверки изоморфизма графов, как и в класс ОС-графов, не попадают известные серии сильно-регулярных графов и некоторые другие, традиционно сложные для решения задачи ИГ графы.

Но, как показывает вычислительный эксперимент, в класс ОС2-графов попадают не только ОС-графы, но и многие графы, таковыми не являющиеся. Так, в библиотеке тестовых задач [11], использовавшейся для сравнения алгоритмов решения задачи ИГ на основе рекурсии с возвратом, не найдено примеров неправильного решения задачи ИГ представляемым алгоритмом для деревьев, случайных, планарных графов, регулярных n -мерных сеток (n4) и некоторых других. Установлено также, что алгоритм решает и те задачи ИГ из этой библиотеки, на которых время работы алгоритмов Ullman и NAUTY становится экспоненциальным.

Несмотря на то, что в обосновании алгоритма длина мантиссы предполагается равной n , при проведении вычислительных экспериментов достаточным было использование числового типа extended, реализованного в языках Object Pascal и С++, позволяющего работать с машинными числами в диапазоне от 3,6×10-4951 до 1,1×104932.