Математические структуры и моделирование 2003, вып. 12, с. 28-57
УДК 574.2
КЛАСС ГРАФОВ, ЗАДАЧА ПРОВЕРКИ ИЗОМОРФИЗМА ДЛЯ КОТОРЫХ РАЗРЕШИМА ЗА ПОЛИНОМИАЛЬНОЕ ВРЕМЯ АЛГОРИТМОМ СПЕКТРАЛЬНОГО РАСЩЕПЛЕНИЯ
А.В. Пролубников, Р.Т. Файзуллин
We propose an algorithm for solving the graph isomorphism problem. The problem is not known to be NP-complete or to be solvable in polinimial time for every pair of input graphs fl, p. 194]. Main heuristic used by the algorithm is inverse matrices of graphs’ adjacency matrices which modified to positive defined matrices. These modified adjacency matrices can be viewed as adjacency matrices of graphs with weighted loops. The two initial input graphs are isomorphic if and only if the two obtained graphs with weighted loops are isomorphic. The graphs’ automorphism groups are consequently simplified and finally become trivial during iterations of the algorithm by perturbations of graphs (perturbations of their modified adjacency matrices). So we can solve the isomorphism problem both for perturbed graphs with weighted loops and so for the initial input graphs. Some results relating to computational efficiency are considered. It is shown that our algorithm can solve the isomorphism problem for the class of graphs for which the problem is solvable at polinimial time by the most universal algorithm designed for the graph isomorphism problem (2, p. 310-324].
Введение
Задача проверки изоморфизма графов принадлежит к задачам, относительно которых нет ясности: являются ли они полиномиально разрешимыми или нет [1, е. 194]. В то же время известно, что задача проверки изоморфизма графа является полиномиально разрешимой для некоторых классов графов. В частности, для планарных графов, регулярных графов е ограниченной степенью вершин, графов е ограниченной кратностью собственных значений их матриц смежности и некоторых других построены эффективные алгоритмы для решения этой задачи [2, е. 310-324], [3, е. 172-184], [4, е. 42-49].
Предлагаемый нами алгоритм является эвристическим алгоритмом для проверки изоморфизма невзвешенных неориентированных графов. Алгоритм рабо© 2003 А.В. Пролубников, Р.Т. Файзуллин
E-mail: faizullin@univer.omsk.su, prolubnikov@math.omsu.omskreg.ru Омский государственный университет
Математические структуры и моделирование. 2003. Вып. 12.
29
тает е модифицированными до положительно определенных матрицами смежности графов и основан на решении связанных е ними систем линейных уравнений, задающих обратные матрицы. Алгоритм не является комбинаторным в том смысле, что при решении задачи проверки изоморфизма графов в ходе работы алгоритма не происходит перебора вариантов в соответствии с некоторым деревом поиска, как это делается в модификациях процедуры backtracking, предназначенных для решения данной задачи [5, с, 110-119], [6, с, 31-42], [7, с, 433-445], Построение изоморфизма происходит без неконтролируемого ветвления на всех итерациях алгоритма: на каждой итерации проверяется не более и возможных вариантов для установления соответствия между вершинами, В случае если графы изоморфны, то устанавливаемое соответствие - изоморфизм. Изоморфны графы или нет устанавливается в худшем случае за п полных итераций алгоритма, где п - число вершин в графе, В случае изоморфности графов предъявляется один из возможных изоморфизмов.
Задача проверки изоморфизма невзвешенных неориентированных графов формулируется следующим образом.
Постановка задачи JY8 1. Даны два невзвешенных неориентированных графа G і {Г і. Еа) и (-'и(\ и. Ев), где I Ув ~ множества вершин графов, ЕА, Ев - множества ребер графов, \VA\ = \VB\, \ЕА\ = \ЕВ\.
Графы GA(\'A, Еа) и GB(\B, Ев) изоморфны (GA(\‘A, ЕА) = GB(\B, Ев)) тогда и только тогда, когда существует такое биективное отображение <д : УА —>• Ув, что (i,j) Є Еа 4Ф- (<д(і), <д(Д) Є Ев. Требуется найти такое <д, или доказать, что его не существует.
Очевидно, графы GА и графы GB с одинаковым количеством вершин изоморфны тогда и только тогда, когда их вершины можно занумеровать так, что соответствующие матрицы смежности будут равны. Отношение изоморфизма является отношением эквивалентности, разбивающим множества всех графов на классы эквивалентности, которые можно рассматривать как абстрактные графы. Таким образом, изоморфные графы представляют собой один и тот же абстрактный граф.
Абстрактный граф однозначно определяется своей матрицей смежности, но обратное утверждение, вообще говоря, не имеет места, так как упорядочение (нумерация) вершин графа произвольное: каждому графу соответствует класс матриц смежности; две матрицы А и В принадлежат одному классу тогда и только тогда, когда существует матрица перестановки Р такая, что А = РВР-1. (Учитывая, что матрицей обратной к матрице перестановки Р является матрица Рт, это условие равносильно А = РВРТ.) А это значит, что матрица А может быть получена из матрицы В при помощи некоторой перестановки строк матрицы вместе с точно такой же перестановкой ее столбцов. Соединение перестановки строк в квадратной матрице с такой же перестановкой ее столбцов будем в дальнейшем называть перестановкой рядов матрицы.
Биективному отображению <д : УА -У Ув однозначно соответствует перестановка /Г. действующая на множестве вершин графа GА. Если /Г представлена матрицей перестановки (также обозначаемой Рір), то Р является изоморфизмом
зо
А.В. Пролубников, Р.Т. Файзуллши. Класс графов...
тогда и только тогда, когда А = В ВІ’ 1. где А - матрица смежности графа Ga, В - матрица смежности графа Gb-
Пусть Aq - матрица смежности невзвешенного неориентированного графа GAi ТО сеть Aq = (о?-), где
В0 - матрица смежности графа Gb-
Любому биективному отображению <д : V\ —>• Vb может быть однозначно поставлена в соответствие некоторая матрица перестановки Рр = (/ц; ). задаваемая следующим образом.
Умножение некоторой матрицы слева на матрицу Рр задает перестановку ее строк, при которой j-я строка переходит в г-ю. Обратной матрицей к матрице Рр будет матрица Рр1 - матрица, получаемая из матрицы Р транспонированием, то есть матрица со следующими элементами /У:
Умножение некоторой матрицы справа на матрицу Рр1 задает перестановку ее столбцов, при которой j-й столбец переходит в г-й.
Значит, следующая постановка задачи проверки изоморфизма невзвешенных неориентированных графов эквивалентна постановке задачи №1,
Постановка задачи Ка2. Даны два невзвешенных неориентированных графа G і{І і. Еа) и Gb(Vb, Ев). \Va\ = \Ув\, \Еа\ = \Ев\■ Аь В0 - матрицы смежности графов Ga, Gb ■
Требуется найти матрицу перестановки Р такую, что А0 = РВ0Р-1, или показать, что ее не существует, В постановке задачи выше матрица Р - матрица перестановки Рр соответствующая изоморфизму <д : Уд —>• I )•. биекции, существование или отсутствие которой равносильно изоморфности или, соответственно, неизоморфности графов Ga и Gв- Везде ниже, если будет рассматриваться некоторый один изоморфизм <р, то индекс <д матрицы Рр будет опускаться.
Таким образом, между биективными отображениями <д : Va —>• I); и матрицами перестановки Р размерности n х п может быть установлено взаимнооднозначное соответствие. При этом если Gа — Gb, то
1, если (г, j) Є Еа, О, иначе.
PH
1, если і = (p(j), О, иначе.
1, если j = Ц}{%), О, иначе.
<д : \ і -4- \ і; - изоморфизм -ФФ- А0 = РрВ0Рр 1.
То есть
Математические структуры и моделирование. 2003. Вып. 12.
31
/ a°n
\ а0
\ ^J71
Если ц) - изоморфизм, то (г, j) Є ЕА УУ (<д(г), <p(j) Є Ев). Значит, о°- = 1 УУ Ь%Ыз) = 1 (матрицы Aq и РВ0Р-1 поэлементно равны). Обратно, если Л, = РВ0Р_1, то адддр = 1 уу = 1. То есть А0 = (Ьф)ду), и (г, j) Є ЕА уу
ІФ), 4>ti)) е Ев-
Биективное отображение и соответствующая ему перестановка Р действующие на множестве вершин графа GA, называются автоморфизмом графа GA, если они сохраняют смежность его вершин. Если Р представлена матрицей перестановки (также обозначаемой Р), то Р является автоморфизмом тогда и только тогда, когда А = РВР-1, где А - матрица смежности графа GA. Автоморфизмы графа GA образуют группу Г = Г(С?а), называемую группой автоморфизмов графа GA, в терминах которой выражаются симметрии этого графа относительно перестановок вершин.
Группа Г автоморфизмов графа GA реализуется множеством всех матриц перестановок Р, которые коммутируют с матрицей смежности А графа GА.
1. Алгоритм спектрального расщепления проверки изоморфизма графов
Видоизменяются матрицы до положительно определенных следующим образом. Пусть А0 - матрица смежности графа GA(VA, ЕА). В соответствии с матрицей ,1о строим диагональную матрицу DAo:
Р єТ уу АР = РА.
/ < о ... О \
V 0 о ... с 7
со следующими элементами на диагонали;
п
о°- + d, = di + d,
где d, - максимальная степень вершин в графе GA, a di - степень вершины і. Аналогично по матрице В0 строится матрица DBo.
32
А.В. Пролубников, Р.Т. Файзуллши. Класс графов...
Матрицы, с которыми работает алгоритм, имеют следующий вид:
А = А0 + DAq, В = Bq + Db0. (1)
Рассмотрим еще одну постановку задачи проверки изоморфизма невзвешенных неориентированных графов.
Постановка задачи 3. Даны два невзвешенных неориентированных графа Ga(Va, Еа) и );■ Ев). \VA\ = \VB\, \ЕА\ = \ЕВ\. А, В - матрицы вида (1) для графов G А, Gb.
Требуется найти матрицу перестановки Р такую, что А = РВР-1, или показать, что ее не существует.
Докажем, что постановка №3 задачи проверки невзвешенных неориентированных графов эквивалентна постановке задачи №2, и, следовательно, постановке №1 также.
Лемма 1. Если GA = GB, mo существует матрица перестановки Р, такая что А = РВР-1.
Доказательство. GA = GB, значит существуют такая биекция <д : VA —ї VB и соответствующая ей матрица перестановки Р = Pv, задающие изоморфизм графов. Если <д - изоморфизм, то <д сохраняет степень вершин. То есть если <p(i) = j, то df = df, где df - степень вершины і в графе GA, a df - степень вершины j в графе GB. Следовательно, сумма элементов г-ой строки матрицы
П П
А0 равна a,ij = df, а сумма элементов j-ой строки матрицы В0 равна =
3=1 І=1
df. и если df = df^ = df, то и df = df-. так как максимальная степень вершин d в изоморфных графах GA и GB одна и та же.
Перестановка рядов матрицы В влечет перестановку диагональных элементов В из соответствующих рядов и эквивалентна той же перестановке рядов диагональной матрицы DBo, с диагональными элементами матрицы В. А так как V і Є \ V j Є \ Ц. из ip(i) = j следует, что df = df^ip^ = df-. то тогда, если Р - соответствующая изоморфизму <д перестановка, I) ц = PDBoP-1. Следовательно, РВР 1 = Р(В0 + l)ntl)P 1 = РВпР 1 + РП,-иР 1 = А0 + I) |и = А, то есть А = РВР-1. ■
Лемма 2. Если GA ^ GB, то не существует матрицы перестановки Р такой, что А = РВР-1.
Доказательство. В силу постановки задачи Ж0- 2, если GA ^ GB , то не существует такой матрицы перестановки /". что А0 = Р'ВцР' Допустим, что при этом существует некоторая матрица перестановки Р, такая что А = РВР По построению А = А0 + DAq, В = В0 + DBo, и
А = А0 + DAo = РВР-1 = Р(В0 + DBo)P-1 = РВ0Р-1 + PDBoP-\
то есть
А» + DAo = РВпР 1 + (2)
Математические структуры и моделирование. 2003. Вып. 12.
33
Перестановка рядов матрицы В влечет перестановку диагональных элементов В из соответствующих рядов и эквивалентна перестановке рядов диагональной матрицы /)/-,. диагональные элементы которой - диагональные элементы матрицы В. При этом диагональные элементы матрицы В переходят в диагональные элементы матрицы А, так как А = РВР-1. То есть I) |u = PDb0P_1, и из (2) следует По = PBqP-1. Но по условию утверждения леммы такой перестановки не существует. Из полученного противоречия следует, что допущение о существовании матрицы перестановки Р такой, что А = РВР 1 неверно, ■
Таким образом эквивалентность постановки задачи №3 постановкам №1 и №2 задачи проверки изоморфизма невзвешенных неориентированных графов доказана. Постановку задачи №3 можно рассматривать как сведение задачи проверки изоморфизма неориентированных графов Ga и Gв к задаче проверки изоморфизма неориентированных мультиграфов G\ и G'B с матрицами смежности (1), то есть их каждая вершина имеет петлю с определенным весом. Все остальные ребра построенного мультиграфа, кроме указанных петель, совпадающие с соответствующими ребрами графов Ga и Gb - не взвешенные и не кратные.
Рассмотрим следующие системы линейных уравнений:
Ах = ej, By = ek, (3)
где ej = (0,,,,, 0,1, 0,,,,, 0) - j-й орт в пространстве Rn, а матрицы А и В - матрицы, построенные по матрицам смежности графов Ga и Gb так, как показано выше. Матрицы А и В - симметрические положительно определенные матрицы. Каждая система линейных уравнений из (3) имеет решение, и решение единственно, так как матрицы А и В - матрицы с диагональным преобладанием и их определители не равны нулю. Обозначим как .г;- решения систем уравнений Ах = i j. как /д. - решения систем уравнений By = ek.
Решая системы уравнений (3), в качестве решений мы получаем столбцы обратных матриц к матрицам А и В, так как для і-ой компоненты вектора х j справедливо
Ау
гу . . J
3%~ \А\’
где A;j - алгебраическое дополнение элемента г/(;- матрицы А.
А = РВР 1 тогда и только тогда, когда A-1 = РВ Ч’
А = РВР-1 уу АР = РВ уу Р = А-1РВ уу РВ-1 = А~1Р УУРВ-1Р-1 = А-1.
Пусть (р - изоморфизм графов Ga и Gb, Р - матрица перестановки, соответствующая <р, то есть матрица, задающая перестановку, определяемую подстановкой
( 1 ■ ■ ■ і ■■■ «у
V ¥>(!) ■ ■ ■ 4>ti) ■ ■ ■ V{n) ) ’
34
А.В. Пролубников, Р.Т. Файзуллши. Класс графов...
Xj - решение системы уравнений Ах = еу, yj - решение системы уравнений By = Cj. Так как Xj - j-й столбец матрицы A~l, a yj - j-й столбец матрицы В-1, то
/ Хц . . Xij . ■ Xin \ ( Уір{1)ір{Г) ■ ■ ■ Ур{і)р{з) ■ ■ Ур{Г)р{п) N'
Xjl ■ ■ хзз ■ Xjn = УАз)А і) ■ ■ ■ УАз)Аз) • ■ У‘Р(з)‘р(п)
\ Х„,1 ■ Xnj Хпп ) V Уір(п)ір(і) ■ Ур(п)р(з) ■ Ур(п)р(п) /
(4)
Значит, при изменении в системах линейных уравнений (3) к от 1 до п при фиксированном j, вектор Xj будет совпадать е некоторым вектором у% с точностью до перестановки компонент в том случае, если элементы j-ой строки и j-о столбца матрицы А совпадают с точностью до перестановки компонент с элементами к-ой строки и к-о столбца матрицы В.
Ситуация, когда перестановка, задающая искомый изоморфизм <р, может быть однозначно получена покомпонентным сравнением некоторых векторов Xj и 2/^, соответствует ситуации, когда графы изоморфны и их группы автоморфизмов тривиальны, и перестановка, задающая изоморфизм, может быть получена покомпонентным сравнением столбцов,Для этого необходимо:
1, Найти решение хj системы линейных уравнений Ах = i j для некоторого произвольного j = L/C
2, Решив п систем линейных уравнений By = е&, к = 1 ,п, найти kj : ЗР -матрица перестановки: Pxj = Ук■, j = 1,п.
3, Покомпонентно сравнить полученные решения систем Xj и ykj и определить перестановку Р, задающую изоморфизм графов бф и GB.
Однако, если группа автоморфизмов графа Ga не тривиальна, то необходимо из множества перестановок, которые могут быть получены покомпонентным сравнением некоторых двух векторов Xj и у к, выделить одну, задающую изоморфизм.
Кроме того, возможна ситуация, когда помимо перестановок, задающих изоморфизм, векторы-решения могут получаться друг из друга и с помощью перестановок, изоморфизма графов не задающих, что иллюстрируется ниже на примере работы алгоритма.
Если перестановку, задающую изоморфизм, нельзя однозначно установить покомпонентным сравнением векторов Xj и у*., отличающихся друг от друга только перестановкой компонент, то тогда существуют и векторы Х[, I фу, отличающихся от Xj только перестановкой компонент.
Лемма 3. Пусть матрицы А и В, такие что существует Р - матрица перестановки: А = РВР-1. Матрица перестановки Р-не единственная такая матрица тогда и только тогда, когда некоторые из столбцов матрицы А-1 отличаются друг от друга только перестановкой компонент.
Математические структуры и моделирование. 2003. Вып. 12.
35
Доказательство. В самом деле, если Р и Р' такие, что А = РВР 1 и А = Р'В Р' И соответствующие ИМ биекции у II у'. IO
А = РВР-1 УУ А-1 = РВ^р-1,
А = Р'ВР'-1 УУ А-1 = Р'В~1Р'~1, а значит, учитывая (4), получаем:
/ Хц . .. Хд . ■ ХП1 \ ( УДТ)ДТ) ■ ■ УДіДіз) ■ ■ УДТ)Дп) N'
Хд . ■ хзз ■ Xnj = Ут(з)А і) ■ ■ Ут(з)Аз) • ■ У‘Р(з)‘Р(п)
V Мп ■ Xjn %nn ) V УДп)Ді) ■ УДп)ДУ) ■ УДп)Дп) /
(5)
и
/ Xu . . Хд . ■ хы \ ( УД{Т)Д{Т) ■ ■ УдіУДіз) ■ ■ УД{Т)Д{п) ^
Хд . ■ хзз ■ Xjn = Ур'(з)р'О) • ■ УрЧЛрЧз) ■ ■ УрЧЛрЧА
\ Х„1 . Xnj %nn ) \ УД{п)Д{Т) ■ УрЧАрЧі) • УД(п)Д(п) /
(6)
Р' Ф Р УУ у ф у’, следовательно, 3j : y(j) ф y'(j). п значит из равенства
(5) следует, что столбец Xj равен столбцу Уду) с точностью до перестановки компонент, а из равенства (6), что Xj равен и некоторому другому (<y(j) ф <y'(j)) столбцу УДД) с точностью до перестановки компонент.
При перестановке рядов В~1, задаваемой Р. столбец Удд) переходит в столбец с номером к, к Ф j, то есть удд) = ад. Получаем:
а) Xj с точностью до перестановки компонент равен столбцу удуу
б) уду) с точностью до перестановки компонент равен столбцу Уд(уу
в) Уд {у) с точностью до перестановки компонент равен столбцу ад.
Значит, столбец Xj с точностью до перестановки компонент равен столбцу ад. Обратно, если в матрице А-1 нет столбцов, отличающихся друг от друга только перестановкой компонент, то если (5) выполняется при некотором у, которому соответствует матрица перестановки Р, то (6) не может быть выполнено при у' ф уда значит и не существует Р' ф Р : А = Р'ВР' ■
Замечание 1. Очевидно, что если в условии леммы 3 в качестве матрицы В положить матрицу А, то отсутствие столбцов, равных с точностью до перестановки компонент, влечет тривиальность группы автоморфизмов Г (ОД,
36
А.В. Пролубников, Р.Т. Файзуллши. Класс графов...
Введем следующие обозначения: R(A) = {ад}"=1, R(B) = {Ук}1=і■ Множество R(A) (R(B)) будем называть простым, если Vj VP $1 : Xj = Pxi
(У к УР$і : ijk = Руі), где Р - матрица перестановки.
Отметим, что в силу (1) равенство Xj = Pxi влечет равенство Xjj = хц.
На каждой итерации алгоритм работает не с исходными матрицами А и В (1), но с матрицами уже возмущенными в ходе предыдущих итераций. Будем производить возмущения матриц, поставленных в соответствие графам (1), при помощи матриц /•,'■' с единственным ненулевым элементом - элементом на диагонали в j-ой строке, равным единице:
(0 . . 0 . . 0\ - 1
Ej = 0 . . 1 . . 0 - j
U . . 0 . . oj — п
Положим А0 = А, В0 = В. Находя соответствие j-oii вершины графа G а некоторой вершине графа Gb, мы рассматриваем одну возмущенную матрицу А' н // — j — 1 матриц Іф. получаемых возмущением матрицы В' ':
Aj = Aj-1 + єЕК, В{ = Bj-1 + єЕК
То есть на каждой j-ой итерации в системы линейных уравнений (3) вместо А подставляем матрицу А1, а вместо матрицы В - поочередно п — j + 1 матриц BJk, полагая, что соответствие между вершинами от 1-ой до (j — 1)-ой графа Gа и вершинами ji,..., графа Gb уже установлено.
Увеличивая на £j j-й диагональный элемент матрицы А7"-1, использовавшейся на предыдущей итерации, и получая матрицу . У. мы поочередно возмущаем все диагональные элементы матрицы В^~1, отвечающие в графе Gb вершинам, которые пока не поставлены в соответствие вершинам графа Ga- Выделяя таким образом среди них одну, которая будет поставлена в соответствие вершине j, формируем матрицу /У,
Пусть j УУ kj - обозначает устанавливаемое в ходе работы алгоритма соответствие, Принципиальная схема алгоритма спектрального расщепления проверки изоморфизма графов следующая.
Алгоритм спектрального расщепления проверки изоморфизма графов.
Схема 1
Шаг 0. А0 := А, В0 := В; j := 1.
Шаг 1,1, Если j < п, то перейти на шаг 1,1, иначе перейти на шаг 6,
Шаг 1,2, Выбор €j.
Шаг 1.3. А і := А > 1 + : ф?.
Шаг 2, Решение системы линейных уравнений А' х = щ. хj - полученное решение, к := 1.
Математические структуры и моделирование. 2003. Вып. 12.
37
Шаг 3,1, Если к < п, то перейти на шаг 3,2, иначе - перейти на Шаг 4,
Шаг 3,2, В3к := IIі 1 + SjEk.
Шаг 3,3, Решение системы линейных уравнений BJky = щ. ук - полученное решение.
Шаг 3,4, к := к + 1, Перейти на шаг 3,1,
Шаг 4, Сравнение норм векторов Xj и ук, где к такие, что Vi < j $i : і УУ к. Если У к \\xj\\ Ф ||у*||, то графы Ga и Gb неизоморфны. Работу алгоритма завершить.
Если ЗА; 3/' : Xj = Рук, п V/ 3/ : х-и = уы, и Xjj = Укк- то kj := к.
Шаг 5, IP := IP 1 + £jEkE j := j + 1, Перейти на шаг 1,1,
Шаг 6, Работу алгоритма завершить. Полученное соответствие j УУ kj -найденный изоморфизм графов Ga и Gb-
В ходе работы алгоритма последовательно возмущаем матрицы, представляющие графы Ga и Gb - матрицы графов с петлями G\ и G'B, до тех пор пока группы автоморфизмов графов G'A и G'B не станут тривиальными. После того, как группы автоморфизмов графов G\ и G'B становятся тривиальны, возможно однозначное установление изоморфизма графов.
Рассмотрим последовательности матриц, с которыми работает алгоритм:
М’}"=1 и {ВДЩ
Лемма 4. Р матрица перестановки та,кая, что А = РВР-1, тогда и только тогда, когда па каждой j-ой итерации алгоритма выполняется, равенство
А> = ІЧРР
если, kj = <p(j), где ц> - биекция, соответствующая Р.
Доказательство. Пусть <д - соответствующая Р биекция. Тогда
Щ = <p(j) уу Ej = РЕ1 Г
а так как А = РВР 1, то
,Р = Г IP Г 1 ^ IP = РЕ1 Г 1 и ,Р 1 = Е IP Ч’ (8)
Значит, при j = 1 выполнение равенства . У = ЕВ1!’ 1 следует из равенства А = ЕВЕ Из (8) же следует, что оно имеет место и для j = 2,п. ш
По лемме 4 (І | = (Iц тогда и только тогда, когда ЗР : Vj = 1,п
Аі = РВІР-1, при выборе kj = ip(j) на каждой j-ой итерации, и, в частности, . 1" = Е В" Е То есть если Ga — Gb, то в ходе работы алгоритма при возмущении исходных матриц А0 и В°, поставленных в соответствие графам Ga и Gb, на каждой j-ой итерации сохраняется следующее ключевое соотношение: если Ai = АР1 + SjEi, то
Аз = р]3:гр 1 ^ Вз = Вз-1 + £jEAD.
38
А.В. Пролубников, Р.Т. Файзуллши. Класс графов...
Элементы обратной матрицы изменяются непрерывно относительно изменения элементов матрицы. После возмущения матрицы А прибавлением к ней матрицы £jEi и возмущения матрицы В прибавлением к ней матрицы :1-.'1':
— A ASjAjj, \В'\ — \В\ + £jBkk,
Урф j ■. А'рр = Арр + EjAppjj, (9)
Уд Ф к ■. Bqq = Bqq + єjBqqyk, (10)
где Appjj, Bqqyk - обозначают миноры второго порядка, получаемые из миноров АрР, Bqq последующим удалением из них рядов с номерами j и к соответственно. Все указанные миноры - определители положительно определенных подматриц матриц .1 п В. ю есть они строго положительны. Следовательно, за п итераций алгоритма при надлежащем подборе £j мы можем получить матрицы . 1" и Вп такие, что . 1" = PBnP-1, и множества R(An) и R(Bn) - простые. Тогда матрица Р, с учетом леммы 4, может быть получена однозначно проверкой на равенство с точностью до перестановки компонент векторов из множеств R(An) и R(Bn). И так как для Р в ходе работы алгоритма выполняется . У = РВ-'Р то за п итераций алгоритма может быть установлено соответствие j УУ kj, являющееся биекцией, задающей изоморфизм графов Ga и Gb-
При этом для проверки на каждой у-ой итерации сохранения возможности получения матрицы из матрицы (А7')-1 при помощи некоторой переста-
новки ее рядов достаточно проверить равенство с точностью до перестановки компонент векторов Xj И ук при некотором к. Это следует из леммы 5,
Лемма 5. Пусть для всех значений j и к определены матрицы А' и В':
А' = А + e0Ej, В' = В + є0Е\ є0 > О,
Xj, Ук - решения систем, линейных уравнений А'х = еу, В'у = е*,, такие что
Xj — Руk H -Уjj — Укк-
Тогда Vj Зє0 > 0 :
А-1 = РВ-1Р-1 •Ф4
З.к : Xj = Рук и Xjj = Укк, и V/ ф j Зк/ : ху = Рук> и хуу = ук>к>. Доказательство.
Необходимость, Пусть и yf - решения систем линейных уравнений
Ах = ец і = 1, п,
By = Є/, I = і. II.
с невозмущенными матрицами .1 и В. ./•'/ = Pyf.
Математические структуры и моделирование. 2003. Вып. 12.
39
хд
Ац
А ■
\А\
Уі
В и Вп^
IbT
При производимых нами возмущениях
Ajt — Ajt-, Bfcj — Bfct, t — 1 , Щ
Следовательно, если .г" = = Ру1 ТО И Xj = В У1,- поскольку
Хп \А\ (м. Ajn ) - ^ х°,
3 И'1 V ИІ ’ \А\. ) \А'\ я
\в\ (вы Вкп N \В\ 0
Ук ~ \В'\ ІІ*Г \в\ ) \В'\Ук'
Из (9) и (10) следует, что мы можем подобрать такое значение є® > 0, что
Vp Ф j : Арр ф Ajj = Ajj,
и
Щфі: В'тфВ'кк = Въъ.,
при ТОМ, ЧТО Ajj = В/, к- Для ЭТОГО £q должно быть таким, что
W / Ajj Арр ( В 1,1, Bqq
чр є0 ф -------— I vq є0 ф — ------—
Арр,33 V Bqq,kk
(App,jj > 0, Bqq._ кк > 0), После возмущения матриц А и В для любого заданного j при выбранном є о такое к, что Xj = Ру к и Xjj = Укк, будет единственным. Выполнение условия V)' Ф j Зк' : Xj> = Рук> и Xj>j> = ук>к> следует из
равенства A= ВВ Ч’
Достаточность, Имеем:
А' = А + є0Еф В' = В + є0Ек, є0 > 0;
Xj : A’xj = ej, yk : B'yk = ek] и
У к — BXj, Xjj — Укк-, и V) Зк : Xj = Рук И Xjj = Укк-
Тогда А'Рук = ej. Так как ук = (В1) 'щ. то Л'В(В') С/, = щ. Из <•; = /V/, следует Л'В(В') 1 f /, = /V/,. то есть [А'В {В/} 1 — Р)ек = 0 для любого є0 > 0, При вводимых нами возмущениях матриц А и В изменения элементов матриц и элементов обратной матриц имеют непрерывную зависимость от е0 - (9), (10). Поскольку Vso > 0 V) = 1, п :
((И + є0ЕфР(В + :„/-;Д 1 - Р)ек = 0,
40
А.В. Пролубников, Р.Т. Файзуллши. Класс графов...
и
ЛГИ ' - Р = lim ((А + e0Ej)P(A + -„/-;л) 1 - Р),
єо^о
то и линейный оператор ЛРН 1 — /' будет занулять любой базисный вектор <•/,. в Д”, так как j - произвольное, и поскольку из равномерной сходимости линейных операторов в Rn следует их точечная сходимость. Значит, ЛРН 1 —Р- нулевой оператор. То есть
А = РВР-1.
2. Трудоемкость принципиальной схемы алгоритма спектрального расщепления проверки изоморфизма графов
Одна итерация алгоритма спектрального расщепления состоит из следующих этапов:
1 этап.
Решение системы линейных уравнений Л'.г = ер
2 этап.
1, Решение в худшем случае п систем линейных уравнений И [у = е&, к = 1, п.
2, Сравнение компонент полученных решений: вектора Xj и (в худшем случае) П векторов {yk}l=l.
Трудоемкость процедуры решения систем линейных уравнений с заданной точностью зависит от метода, применяемого при решении систем линейных уравнений. Пусть О (Ns) - количество элементарных машинных операций, которые необходимо совершить для решения систем линейных алгебраических уравнений с заданной точностью.
Процедура сравнения полученных решений может потребовать максимум O(nlogn) элементарных операций.
Таким образом, общая трудоемкость одной итерации алгоритма составляет
О (Ns) + n(0(Ns) + 0(n\ogn)) = 0(n(Ns + logn)).
Поэтому общая трудоемкость алгоритма по всем итерациям составляет
п ■ 0(n(Ns + logn)) = 0(n2(Ns + log n)). (11)
В худшем случае для установления взаимнооднозначного соответствия между вершинами поданных на вход алгоритма графов (представляющих их матриц) необходимо совершить п итераций.
Ниже приводится схема алгоритма, трудоемкость которой может быть значительно ниже схемы приведенной выше, В случае, если графы изоморфны, ситуация, когда матрица Р может быть получена однозначно проверкой на равенство с точностью до перестановки компонент векторов из множеств R(An°) и R(Bn°), может возникнуть и ранее n-ой итерации. То есть множества R(An°)
Математические структуры и моделирование. 2003. Вып. 12.
41
и R(Bn°) могут оказаться простыми к некоторой итерации щ, когда щ < п. Добавление шагов 6,1 - 6,4, в приведенной ниже схеме алгоритма позволяет во многих случаях существенно снизить число итераций алгоритма. Так, при установлении изоморфизма регулярных графов со степенью вершин равной 4, представляющих собой решетку на торе, множества R(An°) и R(Bn°) становились простыми при по не превышающем Дп,
Отметим также, что задача установления изоморфизма регулярных графов представляет собой одну из тяжелейших задач при проверке изоморфизма графов для наиболее эффективных алгоритмов. Так, в частности, трудоемкость алгоритма NAUTY [8, с, 45-87], считающегося одним из наиболее эффективных алгоритмов решения задачи проверки изоморфизма графов, становится экспоненциальной уже при работе с регулярными графами, со степенью вершин равной 4 [9, с, 1172-1177],
Алгоритм спектрального расщепления проверки изоморфизма графов.
Схема 2
Шаг 0. А0 := А, В0 := В; j := 1.
Шаг 1,1, Если j < п, то перейти на шаг 1,1, иначе перейти на шаг 7,
Шаг 1,2, Выбор €j.
Шаг 1.3. Л> := ,Р 1 + :;/А.
Шаг 2, Решение системы линейных уравнений Л'.г = ер Xj - полученное решение, k := 1,
Шаг 3,1, Если к < п, то перейти на шаг 3,2, иначе - графы неизоморфны. Работу алгоритма завершить.
Шаг 3,2, ВІ := IIі 1 + £jEk.
Шаг 3,3, Решение системы линейных уравнений BJky = щ. ук - полученное решение.
Шаг 3,4, к := к + 1, Перейти на шаг 3,1,
Шаг 4, Сравнение норм векторов Xj и у/~, где к такие, что Vi < j $i : і УУ к (то есть если вершине к графа Gb не поставлена в соответствие никакая вершина графа
Если У к \\xj\\ Ф ||у*||, то графы Ga и Gb неизоморфны. Работу алгоритма завершить.
Если Зк \\xj\\ = \\ук\\, и Vi 31 : Ху = уы, и тр- = укк, то % := к.
Шаг 5, В' := В' 1 + EjEkB j := j + 1, Перейти на шаг 6,1,
Шаг 6,1, Решение систем линейных уравнений Л'х = ер, где р такое, что $s : р УУ s, 1 < s < п. хр - полученные решения, (То есть рассматриваются вершины р графа Ga , которым не поставлены в соответствие никакие вершины графа GB.)
Шаг 6,2, Если Ур\Ур2 ||тР1|| Ф ||тР2||, то перейти на шаг 6,3, иначе перейти на шаг 1,1,
Шаг 6,3, Решение систем линейных уравнений В'у = <где q такое, что $t : t УУ q,l < t < n. yq - полученные решения.
Шаг 6,4, Сравнение норм полученных векторов-решений. Если />( и qi такие, что
42
А.В. Пролубников, Р.Т. Файзуллши. Класс графов...
ЭР : .г,, = Pyq. и хРіРі = ут., то фг) := ц,.
Шаг 7, Работу алгоритма завершить. Полученное соответствие j УУ kj - найденный изоморфизм графов Ga и Gв-
3. Пример, иллюстрирующий работу алгоритма спектрального расщепления проверки изоморфизма графов.
Рассмотрим пример, иллюстрирующий работу алгоритма. Пусть даны графы Gа и Gb (рис, 1), Модифицированные матрицы смежности вида (1) этих графов:
/ 00 і 1 1 1 0 \ ( 00 0 1 1 1 1 \
і 7 1 0 0 1 0 8 1 1 1 1
і 1 7 0 0 1 D і 1 7 1 0 0
і 0 0 7 1 1 7 & — і 1 1 7 0 0
і 0 0 1 7 1 і 1 0 0 7 1
V 0 1 1 1 1 8 ) \ і 1 0 0 1 7 )
Пусть длина мантиссы машинных чисел на протяжении всей работы алгоритма равна п (п = 6), Такой длины мантиссы будет достаточно для эффективной работы алгоритма.
/ 8 1 1 1 1 0 \ -і
1 7 1 0 0 1
Тогда (П°) 1 = 1 1 1 0 7 0 0 7 0 1 1 1 =
1 0 0 1 7 1
V 0 1 1 1 1 8 )
/ 0,134 —0, 018 —0, 018 —0, 018 —0, 018 0,008929 \
—0, 018 0,15 —0, 016 0, 004464 0, 004464 —0, 018
—0, 018 —0, 016 0,15 0, 004464 0, 004464 —0, 018
—0, 018 0, 004464 0, 004464 0,15 —0, 016 —0, 018
—0, 018 0, 004464 0, 004464 —0, 016 0,15 —0, 018
V 0,008929 —0, 018 —0, 018 —0, 018 —0, 018 0,134 /
и
Математические структуры и моделирование. 2003. Вып. 12.
43
m
/801 1 1 1 \ -і
0 8 1 1 1 1
1 1 7 1 0 0
1 1 1 7 0 0
1 1 0 0 7 1
V 1 1 0 0 1 7 у
/ 0,134 0,008929 —0, 018 —0,018 —0,018 —0,018
0,008929 0,134 —0, 018 —0,018 —0,018 —0,018
—0, 018 —0, 018 0,15 ^0, 016 0,004464 0,004464
—0, 018 —0, 018 ^0, 016 0,15 0,004464 0,004464
—0, 018 —0, 018 0,004464 0,004464 0,15 ^0, 016
V —0, 018 —0, 018 0,004464 0,004464 —0,018 0,15
Возможными решениями в данном случае являются матрицы перестановки, соответствующие следующим подстановкам:
1 2 СО 4 5 6
1 3 4 5 6 2
1 2 3 4 5 6
1 4 3 6 5 2
1 2 3 4 5 6
1 6 5 3 4 2
1 2 3 4 5 6
to 3 4 6 5 1
1 2 3 4 5 6
to 5 6 3 4 1
1 2 СО 4 5 6
1 3 4 6 5 2
1 2 3 4 5 6
1 5 6 3 4 2
1 2 3 4 5 6
1 6 5 4 3 2
1 2 3 4 5 6
to 4 3 5 6 1
1 2 3 4 5 6
to 5 6 4 3 1
1 2 3 4 5 6
2 6 5 4 3 1
1 2 CO 4 5 6
1 4 3 5 6 2
1 2 3 4 5 6
1 5 6 4 3 2
1 2 3 4 5 6
to 3 4 5 6 1
1 2 3 4 5 6
to 4 3 6 5 1
1 2 3 4 5 6
to 6 5 3 4 1
Также укажем перестановку
Р'
1 2 3 4 5 6 1 5 6 3 4 2
44
А.В. Пролубников, Р.Т. Файзуллши. Класс графов...
как задающую перестановку компонент первого вектор-столбца матрицы В-1, дающую первый вектор-столбец матрицы А_1, однако не задающую изоморфизма графов G,4 и Gb.
До 5-ой итерации схема 1 и схема 2 алгоритма для данной задачи будут вести себя одинаково, А именно, при вводимых нами на каждой итерации возмущениях матриц множества 1\(Л'} и 1\{В1) не будут простыми при j = 1,4, и выполнение шагов 6,1 - 6,4 не будут приводить схему 2 к отходу от последовательных возмущений матриц . У и В'.
Итерация 1. Пусть на итерации 1 є і = 0,1, тогда
/ 8 +Єї 1 1 1 1 0 \ -1
(А1)
и при к
(В1)
1 7 10 0 1
-1 _ і 1 7 0 0 1
і 0 0 7 1 1
і 0 0 1 7 1
V о 1 1 1 1 8 /
/ 0,132 —0, 018 —0, 018 —0, 018 —0, 018 0,008811 \
^0 ,018 0,15 —0, 016 0, 004433 0, 004433 —0, 018
^0 ,018 ^0, 016 0,15 0, 004433 0, 004433 —0,018
^0 ,018 0,004433 0, 004433 0,15 ^0, 016 —0,018
—0, 018 0, 004433 0, 004433 —0, 016 0,15 —0, 018
\ 0,008811 —0, 018 —0,018 —0,018 —0,018 0,134 /
1 = 1, получаем
1 8 + Єї 0 1 1 1 1 \ і
0 8 1 1 1 1
-і _ 1 1 7 1 0 0
1 1 1 7 0 0
1 1 0 0 7 1
V і 1 0 0 1 7 J
/ 0,132 0,008811 —0, 018 —0, 018 —0, 018 —0, 018 \
0,008811 0,15 —0, 018 —0, 018 —0, 018 —0,018
—0, 018 —0, 018 0,15 ^0, 016 0, 004433 0,004433
^0 ,018 —0, 018 ^0, 016 0,15 0, 004433 0,004433
^0 ,018 —0, 018 0, 004433 0, 004433 0,15 —0, 016
ос т—Н О сГ —0,018 0, 004433 0, 004433 ^0, 016 0,15 /
5
То есть соответствие j О к j ._}=[. 6, которое строится в ходе работы алгоритма, на итерации 1 имеет следующий вид:
1 2 3 4 5 6 1....................
точками обозначены соответствия, которые еще будут установлены на последующих итерациях.
Математические структуры и моделирование. 2003. Вып. 12.
45
Итерация 2
Положив є2 = 0, 2
(Л2)
(В2)
/ 8 — : і 1 1 1 1 0 \ -і
1 7 + Є2 10 0 1
1 _ 1 1 7 0 0 1
1 0 0 7 11
1 0 0 17 1
V 0 1 1118/
/ 0,134 —0, 017 —0, 018 -0, 018 —0,018 0,00875 \
—0, 017 0,146 ^0,016 0,004303 0,004303 —0, 017
—0, 018 ^0, 016 0,15 0,004447 0,004447 —0, 018
—0, 018 0, 004303 0,004447 0,15 ^0, 016 —0, 018
—0, 018 0, 004303 0,004447 ^0, 016 0,15 —0, 018
V 0,00875 —0, 017 —0, 018 -0, 018 —0,018 0,134 )
/ 8 + Єї 0 1 1 1 1 \ -і
0 8 1 1 1 1
і _ 1 1 7 + є2 1 0 0
1 1 1 7 0 0
1 1 0 0 7 1
V 1 1 0 0 1 7 )
/ 0,132 0,00875 —0, 017 —0, 018 —0, 018 ос т—Н О сГ \
0,00875 0,134 —0, 017 —0, 018 —0, 018 —0, 018
о т—Н О сГ т—Н О сГ 0,146 ^0, 016 0,004303 0, 004303
ос т—Н О сГ ос т—Н О сГ —0, 016 0,15 0,004447 0, 004447
ос т—Н О сГ ос т—Н О сГ 0, 004303 0, 004447 0,15 —0, 016
V ос т—Н О сГ ос т—Н О сГ 0, 004303 0, 004447 —0, 016 0,15 )
j іД kj, j = 1,6 на итерации 2 имеет вид:
1 2 3 4 5 6 13....
Итерация 3 І-. = 0. 3
46
А.В. Пролубников, Р.Т. Файзуллши. Класс графов...
(л3)
(В3)
( 8 + Є! 1 1 1 1 0 \ -і
1 7+ є2 1 0 0 1
-1 1 1 7 + Єз 0 0 1
1 0 0 7 1 1
1 0 0 1 7 1
V 0 1 1 1 1 8 J
/ 0,132 —0,017 —0,017 —0,018 —0,018 0,008659 \
^0 ,017 0,146 —0,015 0,004324 0,004324 —0,017
^0 ,017 —0,015 0,144 0,004255 0,004255 —0,017
^0 ,018 0,004324 0, 004255 0,15 —0, 016 —0,018
—0,018 0,004324 0, 004255 —0, 016 0,15 —0,018
V 0,008659 —0,017 —0,017 —0,018 —0,018 0,134 /
/ 8 + Єї 0 1 1 1 1 \ -і
0 8 1 1 1 1
-1 1 1 7 + є2 1 0 0
1 1 1 7 + є3 0 0
1 1 0 0 7 1
V 1 1 0 0 1 7 )
/ 0,132 0,008659 —0,017 —0,017 —0,018 —0,018 \
0,008659 0,134 —0,017 —0,017 —0,018 —0,018
—0,017 —0,017 0,146 —0,015 0,004324 0, 004324
^0 ,017 —0,017 —0,015 0,144 0, 004255 0, 004255
^0 ,018 —0,018 0,004324 0, 004255 0,15 —0, 016
V —0,018 —0,018 0,004324 0, 004255 —0, 016 0,15 /
5
j УУ kj, j = 1, 6 на итерации 3:
1 2 3 4 5 6 13 4. . .
Итерация 4
є4 = 0, 4
/ (о + ос і 1 1 1 °\
1 7 + є2 1 0 0 1
1 1 7 + £з 0 0 1
1 0 0 7 + Є4 1 1
1 0 0 1 7 1
V 0 1 1 1 1 8/
/ 0,132 —0, 017 —0, 017 —0, 017 —0, 018 0,008929 \
—0, 017 0,146 —0, 015 0,004079 0,004351 —0, 017
—0, 017 —0, 015 0,144 0,004014 0, 004282 —0, 017
—0, 017 0, 004079 0,004014 0,142 —0,015 —0,017
—0, 018 0,004351 0, 004282 —0, 015 0,15 —0, 018
V 0,008541 —0, 017 —0,017 —0,017 —0,018 0,134 /
Математические структуры и моделирование. 2003. Вып. 12.
47
( 8 + щ 0 1 1 1 1 \
0 8 1 1 1 1
1 1 7+ є2 1 0 0
1 1 1 7 + £з 0 0
1 1 0 0 7 + Є4 1
V і 1 0 0 1 7/
/ 0,132 0,008541 —0, 017 —0, 017 —0, 017 ОС т—Н О сГ \
0,008541 0,134 —0, 017 —0, 017 —0, 017 —0, 018
—0,017 —0,017 0,146 —0, 015 0,004079 0,004351
—0,017 —0,017 —0, 015 0,144 0,004014 0, 004282
—0,017 —0,017 0, 004079 0,004014 0,142 —0, 015
V —0,018 —0,018 0,004351 0, 004282 —0, 015 0,15 )
j уд kj, j = 1, 6 на итерации 4:
/ 1 2 3 4 5 6 \
\ 1 3 4 5 . . ) '
К пятой итерации и схемы 1 и схемы 2 алгоритма мы получаем простые множества /і’(. 11) и />’( /11). а значит дальнейших возмущений матриц А4 и /11 можно не производить, и на шагах 6,1 - 6,4 схемы 2 алгоритма будет установлено то же соответствие по веем оставшимся j (j = 5,6), что и на итерациях 5 и 6 схемы 1 алгоритма, В результате, получаем следующее соответствие вершин -изоморфизм:
j УД kj, j = 1,6:
/ 1 2 3 4 5 6 \
\ 1 3 4 5 6 2 /'
4. Вычислительная эффективность алгоритма спектрального расщепления
Локализация групп решений
Введем следующие обозначения,
Ri(A) = .. ,xik : Vp, q : 1 < р, q < к ЗР : xip = Pxiq, xipip = xiqiq}.,
где индекс і присваивается этим множествам в соответствии с их упорядочением по невозрастанию норм векторов в них входящих. При этом R(A) = URi(A), где объединение берется по всем таким группам векторов-столбцов обратной матрицы, в каждой из которых только те векторы, которые могут быть получены друг из друга при помощи некоторой перестановке их компонент. Пусть количество таких групп ///. Тогда
R(A) = {jR,(A).
г=1
48
А.В. Пролубников, Р.Т. Файзуллши. Класс графов...
и
і Ф j =>■ R, [^1 Иj = 0,
Очевидно, что множество R(A) является простым тогда и только тогда, когда Vi \Ri(A)\ = 1, и, соответственно, m = п. Рассмотрим эти множества в процессе возмущения матрицы А.
Если на j-oii итерации алгоритма после возмущения матрицы .• Р 1 будет происходить расщепление некоторого множества Rj(A^~l), выделением из него хотя бы одного вектора-столбца Xj, то есть \Ri(A^l)\ > \Ri(Al) \ + 1, и при этом будет выполняться также \Ri(A^l)\ > \Ri(Al) \ и для І ф і., то за щ\ возмущений диагональных элементов матриц А ъ В (щ < п) мы придем к тому, что множества R(A) и R(B) будут простыми множествами R(An°) и R(Bn°), и, согласно леммам 3, 4, 5, будет возможно однозначное установления соответствия между вершинами графов Ga в Gв, являющегося изоморфизмом.
Пусть
= llkfcill - \\xh III; xkt e ЩАф, xh є Ri(A7), и
AJ= min ДЕ.
1 <i,j<m J
Если нормы векторов Xj отличны, то они принадлежат разным группам Ri(A), поэтому расщепление этих множеств на приведенном примере работы алгоритма спектрального расщепления может быть проиллюстрировано следующим образом.(Везде ниже верхние индексы у Д опущены.) Так перед итерацией 1 алгоритма:
Ri(A°) = {xi, х6}, R2(A°) = {х2, х3, х4, х5},
Д12 = о, 144,
Д = 0,144 .
После 1-ой итерации:
Ri(Al) = {xi}, R2(Al) = {х2, х3, х4, х5}, R‘i(Al) = {х6},
Д12 = о, 144, Д13 = 0, 002, Д23 = 0,142,
Д = 0,002 .
После 2-ой итерации:
Ra(A2) = {х4}, R2(A2) = {х2}, R3(A2) = {ад},
R4(A2) = {х4, ад}, R5(A2) = {х6},
Д12 = 0, 016, Д і;; = 0, 0649, Д14 = 0, 016, Ді5 = 0, 002, Д23 = О, 0649, Д24 = 0, Д25 = 0, 014,
Математические структуры и моделирование. 2003. Вып. 12.
49
Л34 = 0,0809, Д35 = 0,0669,
Д45 = 0,014,
Д = 0.002 .
Отметим, ЧТО ХОТЯ Д24 = о, НО .Г 2 Ф I ’х I V/'. 11 .!■■> Ф Рх 5 V/'. После Д-еіі итерации:
Ri(A3) = {ад}, R2(A3) = {т2}, РфА2) = {т3},
КфА2) = {х4, х5}, КфА2) = {т6},
Д12 = 0,012, Діз = 0,016, Д14 = 0,016, Ді5 = 0,002,
Д23 = о, 004, Д24 = о, 004, Д25 = 0, 01, д34 = 0, Д35 = 0,014,
Д45 = 0,014,
Д = 0,002.
Д31 = 0, но хЛ ф Рх4 V/'. и із ф IV/'.
После 4-ой итерации:
Ri(А3) = {ті}, R2(A3) = {т2}, RS(A2) = {т3}, R,(A2) = {т4}, Rb(A4) = {т5}, R6(A2) = {т6}.
0,012, Діз — т—Н О сГ Ді4 — 1 0,008, Д15 —1 0,016, д
Д23 = 0,002, Д24 - = 0,004, Д25 = = 0,004, Д26 = = 0
Д34 = 0,002, Д35 = 0,006, Дзб = 0,008,
д45 = 0,008, ^46 = 0,006,
^56 = 0.014,
Д = 0 1,002 .
Числом обусловленности квадратной матрицы называется величина
Пусть Атах - максимальное собственное значение из Sp(A), Amjn - минимальное собственное значение из Sp(A). При Amjn Ф 0
р(А)
sup ||Чт||/||т
хУО
inf IUCII/IICI
fAo
Атах
^min
< 00.
При решении системы линейных уравнений Ах = / в связи с погрешностями вычислений мы в действительности решаем систему уравнений А(х + ^) = f + g,
50
А.В. Пролубников, Р.Т. Файзуллши. Класс графов...
где £ - возмущение решения, возникающее от возмущения д правой части, так что At = д. Из (9) следует
|{|||</4Др|| = ДД|у||. (10)
Содержательно величина ц,{А) характеризует относительную погрешность решения ||Є||/||т|| через относительную погрешность правой части ||/||/||ц||, ц,(А) - это наименьшая константа, для которой справедливо (10),
Рассмотрим систему (А + С)у = / + д, полученную из системы Ах = / возмущением д правой части и возмущением С матрицы А. Пусть
\С\
Ш
<в,
1/1
< ф.
Имеет место [10, с, 39] следующая теорема:
Теорема 1. Если вр(А) < 1, то
\\х\\
<{Є + ф)
р(А)
1 - вр(А)'
Для числа обусловленности симметрической матрицы справедлива следующая оценка [10, с, 59]:
Х(А)’
где
г]{А) = тах(оц + V' |аф),
l<i<n '
Іфі
Х(А)
mill (а„ - У |ау|).
1<г<п '
зфі
При заданной нами структуре матрицы: <■//,/, = d — Д. где dk - степень к-ож вершины графа, a d - максимальная степень вершин графа: d = max dj. Пусть
l<j<n
ii - номер строки, на которой достигается г](А), а г2 - номер строки на которой достигается минимум \ (. 1). Суммирование модулей элементов і-ой строки для матриц, с которыми работает алгоритм, дает степень г-ой вершины. Значит
И, следовательно,
— &І1І1 | | — d -f- dit + dy -
і=і
Х(А) Oj2j2 n ~ °І2j = d H- d^
3=1
и(А) < Г]{А) -l { ’-X(A) ry. | CO ^-1 a- co
3d,
Математические структуры и моделирование. 2003. Вып. 12.
51
Таким образом, для решений систем линейных уравнений, получаемых в ходе итераций алгоритма, приведенная выше теорема е учетом того, что возмущения правых частей решаемых систем линейных уравнений не происходит (ф = 0), приобретает следующий вид.
Теорема 1. Если в < 1/3, то
Или же
х\
\х\
< в
1 - 39
\х\
< в
1 - 39
\х\
(11)
При реализации алгоритма необходимо, чтобы возмущения были достаточно малы, и выделяемые из одной группы Rj(A) векторы гарантированно не попадали в другие группы. Это возможно, если группы Rj(A) и Щ(В) решений систем (2) достаточно удалены друг от друга в смысле удаленности друг от друга норм решений, входящих в группы.
Пусть X,. X/. соответственно решения систем уравнений У 1X = Єі и A7'-1 a; = 6k и Xi, Xk Є Ri{A^1) для некоторого I, а т', х'к решения систем уравнений А'х = е* и А'.г = щ. Аі, . 1- векторы, компоненты которых являются соответственно элементами г-ой и j-ой строки матрицы А7"-1, П', А'- -векторы, компоненты которых являются соответственно элементами г-ой и j-ой строки матрицы А,
По теореме 1
\Х;
WII < в(єі)
1 - 39 {єj
\Х;
где
| С\\ \\£jEJ\
I All MAI
|А|
< e(€j
В [11, с. 382] показано, что
< дг
то есть
\Х;
killl < d(€j)
1 - 3e(£j) 3d
Учитывая малость 0(:j). это значит, что при достаточно малом возмущении матриц А происходит и малое возмущение векторов х,. і = 1. и. что не нарушает локализованности групп векторов Ri(A). То есть если, например, Л-7-1 составляло бы 1/п, а Д^1 при возмущениях матриц А изменялись бы не более чем на 1/п2, то после j-ой итерации не произошло бы попадания вектора Xj, выделяемого на j-ой итерации алгоритма из некоторой группы i?j, в какую-либо другую группу, И таким образом, не более чем за п итераций алгоритма все
52
А.В. Пролубников, Р.Т. Файзуллши. Класс графов...
группы Ri, состоящие более чем из одного вектора, могли бы быть расщеплены и при этом никакой выделяемый вектор гарантированно не попал бы из одной группы в другую, с числом векторов ней отличным от единицы,
5. Расщепление групп решений систем линейных уравнений
Следствием ограниченности памяти машины является то обстоятельство, что в ней не могут быть представлены числа, мантиссы которых содержат бесконечную последовательность 7-х ненулевых цифр в своем 7-м представлении. Под каждое число с плавающей точкой отводится место (ячейка) в памяти ЭВМ, достаточное для размещения к 7-х цифр мантиссы, В той же ячейке памяти размещается знак числа г, порядок p7(z). Это позволяет хранить в памяти машины числа, порядки которых удовлетворяют условию р < p7(z) < р+, где р~ < 0 и р+ > 0 некоторые числа не зависящие от г.
То есть машинные числа - это вещественные числа вида
Z = ± 1Р(- + Ч + --- + Ч)’
где р < р < р' ■ 1 < zi < 7 — 1, 0 < Zj < 7 — 1 (2 < j < к). Число нуль также является машинным числом (р7(0) = 0, т7(0) = 0),
При численной реализации алгоритма необходимо, чтобы возмущения, выбираемые на итерациях алгоритма, были достаточно велики для выделения векторов из групп. Необходимо, чтобы соответствующие компоненты векторов, равные до возмущения, были отделимы после возмущения как машинные числа. Иными словами, необходимо, чтобы точности нахождения векторов-решений систем линейных уравнений (3) и их представления машинными числами было достаточно для численной реализации расщепления групп /ц (. 1).
Покажем, что на каждой j-ой итерации может быть выбрано возмущение £j = тфЛ-7), не приводящее к попаданию выделяемого из некоторой группы вектора Xj в другую группу, и при этом длина мантиссы к обрабатываемых машинных чисел, обеспечивающая необходимую точность, может быть задана на старте алгоритма, оставаясь неизменной на протяжении всей его работы. Пусть і. j: х,. х j є І б (. 1) • то есть в группе / б (. 1) имеется как минимум два элемента, препятствующие установлению взаимно однозначного соответствия алгоритмом спектрального расщепления на j-oii итерации. Для решений систем линейных уравнений (3), если ЗР : Х{ = Pxj, то
Если же после j-ой итерации
%ii Ф
то это означает выделение из группы /б (. 1) вектора хj. и уменьшения на единицу \Ri(A)\, а если Vi \Ri(A)\ = 1, то возможно установление взаимно однозначного соответствия между вершинами графов бф и 6Д,
Математические структуры и моделирование. 2003. Вып. 12.
53
Предложение 1. Если до j-ой итерации, алгоритма ЗР - матрица перестановки: Xj = Рхі, Xjj = хц, и возмущение на j-ой итерации алгоритма €j > 0, то
^ > 3»d2(3d/^ + l)'
Доказательство.
Пусть, если не оговаривается дополнительно, обозначения со штрихом - векторы, матрицы и множества, в которые переходят соответствующие нештрихованные векторы и множества после проведения j-ой итерации, они же без штрихов - векторы, матрицы и множества, имеющиеся перед j-ой итерацией, А = А>-\ А! = АЁ
Д _ 33 Д _
зз \А'[' и \А'[
После возмущения:
\А'\ = \А\ + SjAjj.
А’ — А ■■
33 ~ 33’
так как возмущается единственный элемент матрицы А - диагональный элемент
a,jj.
Ац = Ац +
То есть
AJJ *33 Ац "f• SjAujj _ £jAu,jj
\A'\ И'І \A'\ \A\+ SjAjj
(12)
Ajj.ji - определитель подматрицы, получаемой удалением из матрицы А і-о и j-o рядов, А - симметрическая положительно определенная матрица со строгим диагональным преобладанием, то есть для нее выполняются условия Адамара:
Нк = \акк\ - ^ 1°и| = 4 > 0, г = 1, гг,
1фк
ГДЄ
^ _ | d + єк, если 1 < к < j, к \ d, если j < к < п.
Следовательно [12, с, 382],
А„.и > Нг... Щ ... Щ ... Нп = d[ ... dj ... Ц ... el!n > eln-2. (13)
С другой стороны, по теореме Гершгорина [12, с, 390] для Атах - максимального собственного значения матрицы А справедлива оценка:
Атах А 3d — max єк О 3d — 1,
i<fc<j
54
А.В. Пролубников, Р.Т. Файзуллши. Класс графов...
если Ук Єк < 1. То есть
ИІ = П Afc < ^max < (3d + 1)", (14)
fe = l
п—1
А» П ') ' ЛЩХ < (3d + I)"-1, (15)
к=1
н Л'тах - максимальное собственное значение подматрицы, получаемой удалением из матрицы А і-о и j-о рядов, не превышает Атах [12, с, 350], Следовательно, учитывая, (13), (14), (15), из (12) получаем:
яг
л
X:
- А _ III - - III -
bjn-n,jj ___________CjU,____________ _________bjU,________
\A\+£jAjj (3d+l)n + £j(3d+l)n-1 (3d)n+l A £j{3d)n'
то есть
xjj~xii I >
1
3nd2(3d/£j + 1)
tie)
Замечание 2. Поскольку оценки (14) и (15) получены простым мажорированием произведения собственных значением матрицы А степенью максимального собственного значения матрицы Атах, то оценка (16) расщепления множества /ц (. 1) справедлива вне зависимости от кратности собственных значений матриц (1) и их возмущенных матриц, и, соответственно, от кратности собственных значений матриц смежности графов. То есть класс графов, для которых задача проверки изоморфизма графов разрешима за полиномиальное время алгоритмом, представленным в [2], является таковым и для алгоритма спектрального расщепления.
Пусть решение систем линейных уравнений (3) осуществляется методом Гауееа-Зейделя, Помимо того, что для решаемых систем уравнений с заданными матрицами для этого метода присутствует геометрическая сходимость приближенных решений к решениям точным, применение этого метода позволяет оценить приближение по значащим разрядам мантиссы на каждой итерации. Справедлива [13, с, 363-369] следующая теорема:
Теорема 2. Пусть при всех і
У ^ 10>ij | А: Й | Щі |,
Hi
и, < 1. Тогда
II ~(s) || и ~(s—1) ||
11 ^ || ^ 11 і ^ ||>
где Хі - точное решение системы, линейных уравнений А^х приближение на s-ой итерации метода Гауееа-Зейделя.
х
(s)
его
Математические структуры и моделирование. 2003. Вып. 12.
55
Рис. 2. Расщепление множества Д,
Для матриц вида (1) // < 1/2. Следовательно, на s-ой итерации метода Гаусса-Зейделя:
X;.
X:
< На:,-
Ха
<Ф°-
\х
JJ
ХЦ\ А
IX п
1
удII <
jjll s ’
где Sq - погрешность начального приближения. Если возмущение на j-ой итерации £j = 1 /пр, то (16) принимает вид
\х
JJ
Ха.
>
3nd2(3dnp + 1)'
(17)
Следовательно, если
1 1
1 хо _______________ ПЯІ
2s-1 “ 3nd2(3dnP +1)’ 1 ’
то расщепление хц и Xjj будет вычислительно эффективным при заданной до запуска алгоритма длине мантиссы, которая может быть ограничена п.
Найдем количество итераций s, осуществление которых необходимо для вычислительно эффективного расщепления. (18) эквивалентно
3nd2(3dnp+ 1)5° < 2s-1
(19)
Логарифмируя (19), получаем:
n log2 3 + 2 log2 d(3dnp + 1) + log2 <S° < s — 1,
то есть число необходимых итераций может быть оценено снизу как
s >n log2 3 + р log2 п + 4 log2 d + log2 6° + 3. (20)
р > 0 - целое ЧИСЛО, определяющее возмущение £j = 1 /пр. р вычисляется с целью предотвращения попадания выделяемого из группы /ц элемента х j в другую ближайшую к ней группу /ц . |. находящуюся от /ц на расстоянии Д^+1: р определяется из неравенства
1 < A++i
пр п ’
то есть
, 1
Р > !°gn д---Ь 1.
^-Чг+1
56
А.В. Пролубников, Р.Т. Файзуллши. Класс графов...
Если на j-ofi итерации ej = 1 /пр, А3 - возмущенная матрица А на j-oii итерации, то
\Хл
\х
<
Ъ\\А>\
\Аз
3£j и , |
J_______ ry
її 1 Z
- Згг,- гІ
3 Ill'll
З - l/np \АЦ\ - 3 • 1/nP
\АП
\х
ЗєАг1
\А>\\п? - З
\х„•
\Ха
\Ха
<
<
3||а;'|
ЗІІт'І
А>\\п? (d + dj)n?'
з|И||
\\АЦ\п?:
'хЛ<ЛХ
[11, е, 139], и е учетом утверждения 1 получаем: 1 , ,
3nd2(3dnP + 1) < 'Xii
xAI < |||t'|
J ^ d(d + dj)np
To есть интервал, в котором происходит расщепление, может быть задан так, чтобы гарантированно не происходило попадания выделенного из одной группы /ц(. 1) вектора в другую группу R'i+l(A), имеющуюся на следующей итерации (Рис, 1),
Рассмотрим случай, когда графы Ga, Gb ~ полные графы. Тогда имеется одна группа решений, то есть m = 1, и |i?x| = п. Так как число векторов в одной группе Ri равно п, то:
1, Выбрав Єї = 1/п на первой итерации, на которой происходит расщепление этой группы, мы получим выделение первого вектора из этой группы:
не менее чем на l/(3”d2(3dn + 1)) и не более чем \/Ї0f{d{d + dj)n), необходимое число итераций - s = n log2 3 + log2 n + 4 log2 d + log2 5° + 3,
2, Выбрав є2 = 1/n2 на второй итерации, на которой происходит расщепление группы, мы получим выделение второго вектора из этой группы:
не менее чем на l/(3”d2(3dn2 + 1)) и не более чем на \/10/(d(d + dj)n2), необходимое число итераций - s = n log2 3 + 2 log2 n + 4 log2 d + log2 5° + 3, Так, далее продолжая выделять векторы из этой группы, для п-о вектора получаем (n-я итерация): при выборе є2 = 1/п”, происходит выделение п-о вектора не менее чем на l/(3”d2(3dn” + 1)) и не более чем на \/lO/(d(d + dj)nn), необходимое число итераций - s = n log2 3 + n log2 п + 4 log2 d + log2 5° + З, То есть, задав длину мантиссы равной п и совершая на каждой итерации s = n log2 3+n log2 n+4 log2 d+log2 S°+3 итераций метода Гауееа-Зейделя при решении систем линейных уравнений на каждой итерации алгоритма, мы получим расщепление всех групп Ri при эффективной численной реализации алгоритма. Отметим, что числовой тип extended, реализованный в языках Object Pascal и C++, позволяет работать с числами в диапазоне от 3, 6 х ю-4951 до 1,1 х 104932,
Поскольку ни в одном из доказательств лемм и утверждений не использовалось равенство ненулевых положительных элементов матрицы смежности
Математические структуры и моделирование. 2003. Вып. 12.
57
единице, то алгоритм может быть использован для проверки изоморфизма взвешенных графов е произвольными неотрицательными весами, К этой ситуации легко может быть сведен и общий случай проверки изоморфизма взвешенных неориентированных графов. Существует также модификация алгоритма для проверки изоморфизма ориентированных графов. Проведенные численные эксперименты подтверждают вычислительную эффективность алгоритма.
Литература
1. Гэри \!.. Джонсон Д. Вычислительные машины и труднорешаемые задачи. М.: Мир, 1982.
2. Babai, L., Grigoryev, D.Y., Mount, D.M. Isomorphism of graphs with bounded eigenvalue Multiplicity // Proceedings 14th ACM Symposium on Theory of Computing. 1982.
3. Hopcroft J., Wong J. A linear time algorithm for isomorphism, of planar graphs // Proceedings of the Sixth Annual ACM Symposium on Theory of Computing. 1974.
4. Luks E.M. Isomorphism of graphs of bounded valence can be tested in polynomial time // Proc. 21st IEEE FOCS Svmp. 1980.
5. Jiang X., Bunke H. Including Geometry in Graph Representations: a Quadratic Time Isomorphism Algorithm and Its Applications // Advances in Structural and Syntactic Pattern Recognition (Perner P., Wang P., Rosenfeld A., eds). Springer Verlag. Lecture Notes in Computer Science. 1996. V. 1121.
6. Ullmann J.R. An Algorithm for Subgraph Isomorphism // Journal of the Association for Computing Machinery. 1976. V. 23.
7. Schmidt D.C., Druffel L.E. A Fast Backtracking Algorithm to Test Directed Graphs for Isomorphism Using Distance Matrices // Journal of the Association for Computing Machinery. 1976. V. 23.
8. McKay B.D. Practical Graph Isomorphism j j Congressus Numerantium. 1981. V. 30.
9. Cordelia L.P., Foggia P., Sansone C., Vento M. Evaluating Perfomance of the VF Graph Matching Algorithm // Proc. of the 10th International Conference on Image Analysis and Processing, IEEE Computer Society Press. 1999.
10. C.K. Годунов и др. Гарантированная т,очност,ъ решения систем линейных уравнений в евклидовых пространствах. Новосибирск: Наука, 1988.
11. Пролубников А.В., Файзуллин Р.Т. О вычислительной эффективности алгоритма спектрального расщепления проверки изоморфизма графов // Сборник «Компьютерная оптика». Под ред. В.Н. Сойфера. Издательство Самарского государственного университета. 2003. №24.
12. Гантмахер Ф.Р. Теория матриц. М.: Наука, 1976.
13. Бахвалов Н.С. Численные методы. М.: Наука, 1975. Т. 1.