УДК 519.854.64 Вестник СПбГУ. Сер. 10, 2007, вып. 1
И. С. Виташевская, И. В. Олсмской, Г. М. Хитрое
О НЕКОТОРЫХ ИНВАРИАНТАХ КВАДРАТНЫХ (0,1)-МАТРИЦ*>
1. Введение. Статья посвящена вычислению некоторых инвариантов квадратных (0,1)-матриц, совпадающих с инвариантами графов, вполне заслуживающими репутацию «трудно вычислимых» [1, с. 32].
Обозначим через OIn - множество квадратных (0,1)-матриц размерности п; Пп множество матриц перестановок размерности п; Мп - множество квадратных (0,1)-матриц размерности п с нулевыми диагональными элементами; Nn - множество квадратных (0,1)-матриц размерности п с единицами на диагонали.
Очевидно, что П„, Мп, Nn являются подмножествами множества OIn; Е (Еп) -единичная матрица соответствующей размерности (размерности п); /„ - множество индексов из п элементов; индекс п при 1п будем опускать и писать просто I, если ясно, о каком п идет речь; е - вектор из единиц соответствующей размерности; е = (1,..., 1) (штрих здесь и да.лее означает транспонирование).
Определение 1. Будем говорить, что матрица А € Ol перестановочно подобна (Р-подобна) матрице В € Ol, если существует матрица Р € П такая, что PAP = В. Очевидно, что если А Р-подобна матрице В, то В Р-подобна матрице А, поэтому будем говорить, что матрицы А и В Р-подобны. Очевидно, что Р-подобие, как частный случай подобия, является отношением эквивалентности.
Определение2. Будем называть матрицу Кр £ Мр кликой размерности р, если все ее внедиагональные элементы равны единице.
ОпределениеЗ. Будем называть матрицу Up 6 Np полной размерности р, если все ее элементы равны единице. Очевидно, что Uv = Кр + Ер.
Определен ие4. Будем говорить, что матрица А является к-дополнением матрицы А 6 Мп, если А = Кп — А . Очевидно, что А Е Мп.
Определение 5. Будем говорить, что матрица А является и-дополнением матрицы А € О/, если Ä = Un — А. Очевидно, что если А £ Мп, то Ä G Nn\ если же А Е Nn, то Л е Мп-
Замечание 1. В дальнейшем будем просто писать: дополнение А или дополнение А.
Определение 6. Если скалярная величина а, связанная с матрицей А £ OIn, т. е. а(А), имеет одно и то же значение для всего класса матриц Р-подобных с матрицей Л, то величину а(А) будем называть числовым (скаляр'ным) инвариантом. матрицы А.
Определение 7. Если вектор г^д, связанный с матрицей А £ OIn, при изменении матрицы А по закону PAP (Р € П„) меняется по закону Pisa, то вектор va будем называть векторным инвариантом матрицы А.
Если положим В = PAP и s^t = Ake, то нетрудно видеть, что sbk — Psaь для всех к = 1,2,.... Другими словами, вектора = Аке являются векторными инвариантами матрицы А.
Замечание 2. Если построить матрицу Ra, столбцами которой будут векторные инварианты матрицы А, то Ra будем называть матричным инвариантом
*' Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (грант № 05-05-65318).
© И. С. Виташевская, И. В. Олемской, Г. М. Хитров, 2007
матрицы А. Векторные и матричные инварианты матриц использовались в работах [2,3].
Из векторных инвариантов легко строятся скалярные инварианты. Прежде чем показать это, приведем очевидное
Утверждение 1. (0,1)-матрица Р € П тогда и только тогда, когда Ре = Р'е = е.
У т в е р ж д е н и е 2. Пусть vf\ - векторный инвариант матрицы А и В = PAP . Тогда е i>a = е Vß и их общее значение будет скалярным инвариантом матрицы А.
Доказательство. Из определения матричного инварианта следует, что Vß = Pva- Но тогда е vb = е Pi-'л — е va, т. е. е ug — е i'а- Это и означает, что е i'а ~ скалярный инвариант матрицы Л, поскольку принимает одно и то же значение для всего класса матриц, Р-подобных матрице А.
Скалярные инварианты, получаемые из векторных, достаточны очевидны. Для получения менее, очевидных скалярных инвариантов и их вычисления понадобятся два утверждения.
У m в е р ж д е и и е 3. Пусть А £ 01 и В £ 01. Матрица А будет перестановочно подобна матрице В тогда и только тогда, когда А Р-подобна матрице В.
Доказательство. Пусть матрица А перестановочно подобна матрице В, т. е. существует такая матрица Р £ Пп, что В = PAP . Так как для полной матрицы U = Un выполняется соотношение PUP = U для любой матрицы Р £ П„, то имеем B = U-B = U- PAP' = PUP - PAP' = P{U - А)Р' = PÄP', т. е. А перестановочно подобна матрице В.
Обратное утверждение следует теперь из замечания, что «-дополнением матрицы А будет матрица А.
Утпверждение4■ Пусть А 6 Мп и В £ Мп. Матрица А будет перестановочно подобна матрице В тогда и только тогда, когда А Р-подобна матрице В.
Доказательство утверждения 4 аналогично доказательству утверждения 3.
Определеннее. Плотностью р(А) матрицы А будем называть размерность максимальной главной подматрицы матрицы А, представляющей из себя клику.
Определение 9. Плотностью <+>(А) матрицы А будем называть размерность максимальной клики, которую можно получить, например, в левом верхнем углу с помощью перестановки рядов (перестановки строк и такой же перестановки столбцов) в матрице А, т. е. с помощью преобразования Р-подобия матрицы А.
Определение 10. Неплотностью е(А) матрицы А £ М„ будем называть размерность максимальной главной подматрицы матрицы А, представляющей из себя нулевую матрицу.
Определение!.].. Неплотностью е(А) матрицы А £ Мп будем называть размерность максимальной нулевой подматрицы, которую можно получить, например, в левом верхнем углу с помощью перестановки рядов в матрице А.
Нетрудно показать, что определения 8-11 задают действительно скалярные инварианты матрицы А и что определения 8 и 9, соответственно 10 и 11, - эквивалентны между собой. Очевидно также, что ip(Л) = е(А) и t{A) = ip{A).
В соответствии с последним замечанием (утверждением) достаточно научиться вычислять один из инвариантов - плотность или неплотность, тогда другой находится аналогично.
Перейдем теперь к вычислению, например, плотности <р{А) исходя из определения 8. Само определение 8 навязывает алгоритм, пусть не самый экономичный, но
зато очевидный: перебор всех главных подматриц матрицы А. Оценим сверху количество рассматриваемых вариантов перебора. Для этого заметим, что главную подматрицу к-го порядка из матрицы А 6 М„ можно выбрать С* (число сочетаний из п по к) способами. Заставляя пробегать к от 0 до п (для простоты оценки) и получим верхнюю оценку N = ^/¿=о ^п = 2" числа вариантов перебора. Очевидно, что это оценка грубая. Чтобы ее улучшить, нужно учесть, что клика - это симметрическая матрица. Следовательно, несимметричность матрицы А для выбранного алгоритма -лишняя информация, от которой к тому же легко избавиться. Для такого избавления достаточно перейти от матрицы А к матрице В, определяемой следующим образом: В = А У А (У означает адамарово или поэлементное умножение матриц). Очевидно, что <р(Л) = 1р(В). Далее, если матрица В разложимая, то она с помощью перестановки рядов приводится к матрице Ц вида
(Bi 0 • • 0 \
в = 0 В2 • 0
1 0 0 • • Вт у
где Вг (г = 1,2,...,?п) - неразложимые или нулевые матрицы. Очевидно, что <р(В) = шах* ip{Bi).
Предположим, что матрица В неразложима и е Ве = s - сумма всех ее элементов. Учитывая, что сумма всех элементов клики Кр равна р2 — р, можно в этом случае перебор главных подматриц матрицы В начинать с подматриц размерности р, где р -максимальное целое положительное число, удовлетворяющее неравенству р2 — р ^ s, переходя затем к подматрицам меньшей размерности.
Перебор подматриц фактически означает перебор индексов, выделяющих подматрицу из матрицы, но и он неокончательный, поскольку необходимо еще иметь в виду и свойства элементов исходной матрицы, попадающих в выбранные подматрицы. Учитывая это, можно сразу перейти к свойствам элементов исходной матрицы (0 это или 1) и их взаимного расположения и проводить перебор индексов элементов с указанными свойствами. Чтобы пояснить сказанное, вернемся вновь к определениям множеств Мп и Nn. Очевидно, что между элементами этих множеств существует взаимно однозначное соответствие, задаваемое функцией /: для любой матрицы А £ Мп матрица f(A) = А + Е будет принадлежать Nn. Ясно, что для функции / существует обратная, следовательно, / задает взаимно однозначное соответствие между множествами Мп и Nn. Это соответствие будет изоморфизмом относительно преобразования Р-подобия. Действительно, если А £ Мп, то и PAP G Мп для любой матрицы Р 6 Пп. Далее f(PAP') = РАР'+Е = Р(А+Е)Р' = Pf(A)P', т. е. f(PAP') = Pf(A)P', что и доказывает утверждение об изоморфизме. В соответствии с изоморфизмом / от определений 8 и 9 можно перейти к определениям 8 и 9 соответственно, поменяв в определениях
8 и 9 множество Мп на множество Nn и «клику» на «полную подматрицу». Ясно, что <р(А), согласно определениям 8 и 9, будет совпадать с ip(f(A)), в соответствии с определениями 8 и 9 , при ip(f(A)) > 1 (если ip(f(A)) — 1, то <р{А) = 0).
Замечание 3. Можно было бы с самого начала исходить из определений 8 и
9 , но наша задача - дать такие определения инвариантов (0,1)-матриц, которые даже терминологически соответствовали бы выбранным для исследований инвариантам графов, о которых будет сказано ниже.
Обратимся теперь к определению 9 , т. е. к случаю, когда А £ Nn. Здесь в левом верхнем углу преобразованной матрицы А будет стоять подматрица Up максимальной
размерности такая, что любая окаймляющая (см., например, [4, с. 73]) ее главная подматрица уже не будет подматрицей Uv+1 (другими словами, <р(А) = р).
2. Алгоритм решения задачи. В данной работе предлагается алгоритм вычисления ф{А), который базируется на способе выделения структурных особенностей [5] и по сути является его модификацией, учитывающей некоторую специфику решаемой задачи (симметричность матрицы А) и конечной формы приведения (подматрица Up).
В связи с этим только два базовых понятия [6] требуют чисто формального переопределения, не меняя их смысловой нагрузки. Это так называемые q-e горизонтальное структурное множество матрицы А G 01п
hg(A) = {г|а,г = l,r G /}, qel,
и вертикальное структурное множество матрицы .4 G 01п
vr(Ä) = {q\a,lr = 1 ,qe /}, г € I.
Причем с учетом рассматриваемой задачи (симметричность матрицы .4) введенное и активно используемое в алгоритме [6] множество d(,;r)(A) — hq(A) П vr(A), q,r G /, необходимо определить
d{q,r)(A) = hq(A) n hr{A), q,r G /, q < r.
Будем предполагать, что каким-либо образом удалось выделить некоторое подмножество J = {¿1, ¿2, • ■ ■, ip} С I, элементы которого задают номера строк и столбцов исходной матрицы А, на пересечении которых расположена искомая максимальной размерности матрица Uv. В этом случае легко строится матрица Р такая, что матрица PAP и будет той самой «канонической» матрицей, фигурирующей в определении 9', т. е. матрицей, у которой максимальная Up будет стоять в левом верхнем углу. Как отмечалось выше, в этом случае ip(A) = р.
Очевидное свойство множеств d(f;,r) для элементов матрицы Uv в этом случае
d
(h,ip+i-k)(A) n {ik,---,ip+l-k} = {ik, ■■■,■!■„+l-A:}, к = 1,..., , (1)
является конструктивным. Именно опираясь на него, в рассматриваемом здесь алгоритме происходит отбор элементов г8 С I, в = 1,... ,р, которые должны войти в подмножество ./ = {г 1, 2, • ■ • ,гР}-
Детальная логика алгоритма перебора с отсечением представлена на рисунке. Ниже обсуждаются принципиальные моменты его работы.
Прежде всего следует отметить, что на каждом А:-м этапе (уровне дерева перебора) алгоритма, во-первых, определяется пара (/^,7*-) элементов {/?а-.,Та-}, принадлежащих множеству элементов, удовлетворяющих свойству (1); во-вторых, при выбранных рз, 75, в = 1,..., к — 1, среди еще не рассматривавшихся для продолжения на к-м шаге пар £ Gí^к^\Q^'к', выбираем такую пару {Рк,1к), Для которой
= ^ К^!- (<7,г) е (2)
Помимо этого, из рассмотрения при определении максимума (2) исключаются множества для которых выполняется хотя бы одно из двух ограничений: q ^ г;
Ш1 = {г|г £ г е /}; * := 1; <г(1) := 0; 7 := 0 1ч = {.)'|ам =1, ;'£/}, ¡€/
=/1,П(1ГПш|,, я,г € Шк\ р = 7 = {¡1,..., ¿р};
¿21/—1 = = 7^»
С(|с) = {а = (9,г)|ч < г, {<7.г} С (9.г) 6 х и)4} 1/ = 1,____
Да "
1^1 = . пах
к := к + 1; С,:= 0 С?<*> := 0; к — к - 1
р = 2Л — 1;./ = {¿1,. . ., г*.}, ¡■Ъи - 1 = , ¿21/ = "У и, г к —
= г* у г* £ о;*,, ^ = 1,..., к — 1 Конец перебора
-о-1
Детальная логика алгоритма перебора.
Надо отметить, что на каждом этапе алгоритма осуществляется проверка на перспективность дальнейшего продвижения по данной ветви дерева перебора: + 2(к - 1) > |</|. При невыполнении этого неравенства происходит возврат по дереву перебора на предыдущий уровень.
Алгоритм начинает свою работу при Л = 0. Всякий раз, когда удается построить новую полную ветвь дерева перебора (ик = 0 или = 0), происходит естественное обновление множества 3 при условии, если его мощность меньше мощности только что построенного множества {/01,71,/3-2,72, •• •}• В этом случае последнее становится претендентом на искомое 3 := {/?ъ71,/?2,72, • ■ •}, а после окончания перебора - искомым. Окончание перебора происходит при выполнении неравенства |с?(/з1>71)| ^ |>/|, так как в этом случае построить множество <7 большей мощности, чем уже имеющееся на данный момент, невозможно.
Следует иметь в виду, что, в силу симметричности исходной матрицы А и свойств вертикальных и горизонтальных структурных множеств для построенного множества 7, порядок следования элементов в нем является несущественным, ибо эти элементы структурно тождественны с точностью до перестановки.
3. Пример практического использования алгоритма. Продемонстрируем работу алгоритма для симметрической неразложимой (0,1)-матрицы с единичной диагональю исходной матрицы А:
1 0 \ 1 1 1 О 1 1 О 1 ■
0 1
1 1 1 1 У
Выпишем горизонтальные структурные множества этой матрицы: /¿1 (А) = {1,3,4,7}, к2(А) = {2,4,7,8}, /13 (Л) = {1,3,4,7}, К 4(Л) = {1,2,3,4,7,8}, Л5(Л) = {5,6,8}, /16(Л) = {5,6,8}, Л7(Л) = {1,2,3,4,7,8}, /г8(Л) = {2,4, 5,6, 7,8}. Причем полагаем, что искомое множество 7 = 0.
Далее строим множества = /1?П/ггПш1, д < г: = {4, 7}, с/^'^ = {1,3,4,7},
<4) - {1.3,4,7}, = 0, = 0, = {1,3,4,7}, = {4,7}! ¿¿]3) = {4,7}, С, = {2'4'7'8)' <§5) = {8}, = {8}, <1\1]7) = {2,4,7,8}, ¿¿]6) = {2,4,7,8}, = {1,з,4,7>, = 0, = 0, = {1,3,4,?}, = {4,?}, = {8}, <$б) = {8}' <*(&) = {1,2,3,4,7,8}, = {2,4,7,8}, <г£в) = {5,6,8}, = {8}, = {5- 6, 8}, <®7) = {8}, ¿\1]8) = {5,6,8}, <$8) = {2,4, 7,8}.
Из 28 множеств первого уровня только 14 удовлетворяют свойству (1). Причем при формировании множества возможных продолжений = {(4, 7), (1,3), (1,4), (1,7), (2,4), (2, 7), (2,8), (3,4), (3,7), (4,8), (7,8), (5,6), (5,8), (6,8)} упорядочим его элементы в порядке убывания мощностей. После этого в качестве ведущего элемента (претендента на роль искомой пары) на первом уровне выбираем элемент а^1' = ((Зг,^) =
1 0 1 1 0 0
0 1 0 1 0 0
1 0 1 1 0 0
1 1 1 1 0 0
0 0 0 0 1 1
0 0 0 0 1 1
1 1 1 1 0 0
0 1 0 1 1 1
(4,7), как имеющий максимальную мощность = С среди еще не рассмотренных
на эту роль на данном уровне.
Для принятия решения о продолжении движения по рассматриваемой ветви строим опорное множество Wjt+i = (ujk П dj^ \{/?fc, ТА:}, = I- При выбранном ведущем
элементе опорное множество второго уровня 102 = П с^'7Д{4, 7} = {1,2,3,8} содержит четыре элемента.
Если на первом уровне множество возможных продолжений G^1', состоящее из элементов, удовлетворяющих свойству (1), на опорном множестве и>г, имело 14 элементов, то на множестве и>2 множество G^ содержит только два элемента: (1, 3), (2, 8), так как ^ц'з) = ^(''з) = (¿jo's) = dlW) = {2,8}. В качестве ведущего элемента на
втором уровне дерева перебора выбираем а(2' = (,$2,72) = (1,3) и формируем опорное множество третьего уровня (к := к + 1) W3 = wo П djj'3j\{l, 3} = 0.
Ветвь дерева перебора построена. Причем множество элементов {¡31,71,,62,72} = {4,7,1,3}, удовлетворяющих свойству (1), является наибольшим по мощности из построенных. А это значит, что необходимо произвести обновление множества J, т. е. J := {4, 7,1,3}. Затем, следуя логике алгоритма, опускаемся (к := к— 1) на предыдущий уровень - второй.
Здесь только один элемент: (2,8) не рассматривался в качестве ведущего. Проверка на перспективность улучшения уже существующего варианта построения множества J = {4, 7,1,3}: + 2 = 4 = IJ| убеждает в необходимости спуска на предыдущий
уровень (к := к — 1) дерева перебора - первый. Но и здесь проверка на перспективность дальнейшего перебора |da'| = |J| показывает, что ни для какого элемента а е G(I)\{(4, 7)}, еще не рассматривавшегося в качестве ведущего на первом уровне, нельзя построить множество J большей мощности.
Таким образом, плотность <р(А) — 4. Причем в силу структурной тождественности элементов J их порядок следования в пределах множества может быть произволен. Условимся располагать их в порядке возрастания J = {1,3,4,7}. Тогда подстановка 7г, обеспечивающая приведение исходной матрицы А, к искомому виду может быть /1 234567с
представлена так:
/1 0 0 0 0 0 0 0 ^
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 0
0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
^ 0 0 0 0 0 0 0 1)
Перестановочная Р матрица
Причем здесь (для наглядности восприятия) равенство п(г) = j означает, что j-й ряд (строка или столбец) исходной матрицы А занимает г-й в преобразованной PAP :
1 1 1 1 0 0 0 0
1 1 1 1 0 0 0 0
1 1 1 1 1 0 0 1
1 1 1 1 1 0 0 1
0 0 1 1 1 0 0 1
0 0 0 0 0 1 1 1
0 0 0 0 0 1 1 1
0 0 1 1 1 1 1 1
Преобразованная PAP матрица
4. Заключение. Если матрицу А е Мп рассматривать как матрицу смежности графа G, то введенные в статье определения плотности матрицы <р{А) и неплотности матрицы е(А) (определения 8-11) совпадают с определениями плотности графа tp(G) и неплотности графа e(G) (см. [1, с. 21-22]), т. е. ip(G) = ip(A) и e(G) — е(А). Сделанное известным специалистом в области теории графов А. А. Зыковым в книге [1, с. 32] замечание о том, что инварианты (p(G) и e(G) «вполне заслуживают репутацию "трудно вычислимых"», и подвигло авторов к написанию данной статьи.
Summary
Vitashevskaja I. S., Olemskoy I. V., Hitrov G. M. On some invariant of square (0, l)-matrices.
The algorithm of the decision of configuration problems for square (0, l)-matrices is considered. The detailed enough block diagram of is given it work. Its efficiency is shown on an example of calculation of density of a matrix.
Литература
1. Зыков А. А. Основы теории графов. M.: Наука, Гл. ред. физ.-мат. лит-ры, 1987. 384 с.
2. Беспалов А. А. Матричный метод проверки изоморфизма графов//Вестн. С.-Петерб. ун-та. Сер. 10: Прикладная математика, информатика, процессы управления. 2004. Вып. 3. С. 3-12.
3. Хитрое Г. М. О разнообразии графа и применении этого понятия к проблеме изоморфизма графов //Вестн. С.-Петерб. ун-та. Сер. 10: Прикладная математика, информатика, процессы управления. 2006. Вып. 2. С. 91-100.
4. Курош А. Г. Курс высшей алгебры. М.: Наука, Гл. ред. физ.-мат. лит-ры, 1968. 431 с.
5. Олемской И. В. Алгоритм выделения структурных особенностей// Николай Ефимович Кирин/ Под ред. В. В. Жука и В. Ф. Кузютина. СПб.: АССПИН. 2003. С. 234-251.
6. Олемской И. В. Модификация алгоритма выделения структурных особенностей//Вестн. С.-Петерб. ун-та. Сер. 10: Прикладная математика, информатика, процессы управления. 2006. Вып. 2. С. 55-64.
Статья представлена к публикации членом редколлегии Л. А. Петросяном.
Статья принята к печати 18 сентября 2006 г.