О гамильтоновых циклах

ВЕСТНИК САНКТ-ПЕТЕРБУРГСКОГО УНИВЕРСИТЕТА

Сер. 10. 2009. Вып. 4

УДК 517.977

А. Ю. Краснова, С. В. Погожее, Д. В. Савицкая, Г. М. Хитров О ГАМИЛЬТОНОВЫХ ЦИКЛАХ

Данная статья написана по материалам кандидатских диссертаций А. Ю. Красновой «Матрицы инциденций и раскраски графа» и Д. В. Савицкой «Нормальная форма квадратных (0,1)-матриц и ее применение», защищенных в 2009 г. Кроме того, приведены новые, нигде ранее не опубликованные результаты.

Цель статьи - рассказать о гамильтоновых циклах графов языком теории матриц. В ней рассматриваются обыкновенные графы, заданные своими матрицами инциденций или матрицами смежности, и решается задача поиска гамильтоновых циклов в них. Делается попытка изложить все необходимые для решения задачи понятия, а также само решение, в терминах матриц инциденций или матриц смежности и их подматриц. С этой целью вначале приводятся принятые в теории графов определения необходимых понятий, затем соответствующие им определения на языке матриц. Если связь между принятыми и вводимыми определениями недостаточно очевидна, то их эквивалентность формулируется в виде теорем и доказывается. Часто употребляемые понятия даются в формулировках авторов, которые несут ответственность за их точность. Там, где они не хотят этого делать, приводятся точные цитаты из указанных в списке литературы источников. Отметим, что слову «граф» в цитируемых текстах соответствуют слова «обыкновенный граф».

Определение 1. Геометрически, обыкновенный граф - это множество точек (вершин) на плоскости, некоторые из которых соединены между собой ненаправленными отрезками (прямолинейными или криволинейными).

Когда говорят об обыкновенных графах, то подразумевают, что соединяться могут только различные точки (вершины) и что соединение однократное. Заметим, что определение 1 допускает наличие вершин, никак между собой не связанных. Такие вершины называются изолированными. Множество вершин не может быть пустым, в то время

Краснова Александра Юрьевна — младший научный сотрудник факультета прикладной математики-процессов управления Санкт-Петербургского государственного университета. Количество опубликованных работ: 6. Научные направления: дискретная математика, теория графов. E-mail: alekzan@mail.ru.

Погожев Сергей Владимирович — кандидат физико-математических наук, доцент кафедры компьютерных технологий и систем факультета прикладной математики—процессов управления Санкт-Петербургского государственного университета. Количество опубликованных работ: 8. Научное направление: разработка математических методов и вычислительных алгоритмов оптимизации систем управления и методов их компьютерного моделирования. E-mail: sergik@vrm.apmath.spbu.ru.

Савицкая Диана Владимировна — младший научный сотрудник факультета прикладной математики—процессов управления Санкт-Петербургского государственного университета. Количество опубликованных работ: 6. Научные направления: дискретная математика, теория графов. E-mail: Diana.sav@gmail.com.

Хитров Геннадий Михайлович — кандидат физико-математических наук, доцент кафедры высшей математики факультета прикладной математики—процессов управления Санкт-Петербургского государственного университета. Количество опубликованных работ: 43. Научные направления: дискретная математика, матричная теория графов. E-mail: chitrow@gmail.com.

© А. Ю. Краснова, С. В. Погожев, Д. В. Савицкая, Г. М. Хитров, 2009

как множество соединяющих отрезков - может. Этот случай соответствует графу, у которого все вершины изолированные.

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

Отношение инцидентности между множеством вершин, которое в дальнейшем будем обозначать через V, и множеством ребер, обозначаемым через X (X = 0), можно задать прямоугольной таблицей, или, говоря по-другому, матрицей. Для определенности обозначим эту таблицу-матрицу через В. Пусть номера строк матрицы В совпадают с номерами вершин (номерами элементов множества V), а номера столбцов - с номерами ребер (номерами элементов множества X). Положим элемент Ьі? матрицы В равным 1, если вершина гиі (уі Є V) инцидентна ребру х? (х? Є X), и равным 0 - в противном случае. Построенную таким образом матрицу В называют матрицей инциденций обыкновенного графа, который обычно обозначают через X).

Определение 2. Столбцы матрицы В, пересекающие данную строку через ее единицы, будем называть столбцами, соответствующими этой строке.

Замечание 1. Столбцы, отвечающие данной строке в матрице инциденций, соответствуют ребрам, инцидентным такой вершине в графе.

Матрица инциденций является так называемой (0,1)-матрицей. В соответствии с ее построением, она обладает следующими свойствами: число ее строк совпадает с числом вершин, а число столбцов - с числом ребер обыкновенного графа; каждый столбец содержит ровно две единицы, все столбцы - разные. Матрица В может иметь нулевые строки, они соответствуют изолированным вершинам. Сумма элементов строки с номером і (¿-тая строчная сумма) отвечает числу ребер, инцидентных вершине уі. Это число называют степенью вершины, или валентностью. Изолированные вершины имеют нулевую степень. Изменение нумерации вершин в обыкновенном графе будет соответствовать перестановке строк в матрице В, т. е. умножению матрицы В слева на некоторую конкретную матрицу перестановки Р. Очевидно, что при таком преобразовании отношение инцидентности вершин и ребер не меняется.

Аналогично, изменение нумерации ребер эквивалентно перестановке столбцов матрицы В, т. е. умножению матрицы В справа на некоторую матрицу перестановки Q. Очевидно, что и при таком преобразовании отношение инцидентности вершин и ребер не меняется.

Определение 3. Две матрицы В и А одинаковой размерности пхт будем называть перестановочно эквивалентными, если существуют такие матрицы перестановок Р, порядка п, и Q, порядка т, что В = PAQ.

Замечание 2. Из В = PAQ следует, что А = Р-1BQ-1 = Р'BQ' (штрих здесь и далее означает транспонирование матрицы). Из сказанного выше вытекает, что отношение перестановочной эквивалентности симметрично. Оно также рефлексивно, поскольку единичные матрицы являются частным случаем матриц перестановок. Кроме того, из В = PlAQl, С = Р2BQ2 следует, что С = РзAQз, где Рз = Р2Р1, Qз = QlQ2 и все Рі и Qi (і = 1, 2, 3) являются матрицами перестановок. Последнее означает, что отношение перестановочной эквивалентности транзитивно, а с учетом его рефлексивности

и симметричности является бинарным отношением эквивалентности. Следовательно, все множество прямоугольных матриц одинаковой размерности разбивается на непере-секающиеся классы перестановочно эквивалентных матриц.

Вид матрицы инциденций B, сопоставляемой графу G(V, X), зависит от нумерации вершин и ребер графа. Поэтому естественно сопоставлять графу G(V,X) не матрицу инциденций B, а класс матриц инциденций, перестановочно эквивалентных между собой, содержащий некоторую конкретную матрицу B, соответствующую графу G(V,X) при конкретной нумерации вершин и ребер. Это замечание, по сути, является одним из матричных определений обыкновенного графа.

Определение 4. Граф G1(V1,X1) называется подграфом графа G(V,X), если Vi Ç V и Xi Ç X. При этом вершины и ребра, инцидентные в графе Gi(Vi, Xi), должны быть инцидентными и в графе G(V, X). Если Vi = V, то подграф Gi(Vi, Xi) называется остовным подграфом графа G(V,X).

Если граф G(V, X) задан своей матрицей инциденций B, то описание его подграфов не представляет труда. Например, все остовные подграфы получаются из матрицы путем вычеркивания ее столбцов. Действительно, оставшаяся после вычеркивания нескольких столбцов в матрице B подматрица сохраняет все свойства матрицы ин-циденций. Следовательно, она является матрицей инциденций некоторого графа, который, очевидно, удовлетворяет определению 4. Подграф с меньшим числом вершин, чем в исходном графе, получим, если в его матрице инциденций вычеркнем несколько строк и соответствующих им столбцов. Итоговая подматрица будет обладать всеми свойствами матрицы инциденций, а соответствующий ей граф будет удовлетворять определению 4. Если в последней подматрице удалить несколько столбцов, то она снова будет матрицей инциденций, а соответствующий ей граф будет снова удовлетворять определению 4.

Замечание З. Удаление строки и соответствующих ей столбцов в матрице инци-денций равносильно удалению вершины и инцидентных ей ребер в соответствующем матрице графе.

«Маршрутом в графе G называется чередующаяся последовательность вершин и ребер vQ, xl,vl,x2,..., vn-l, xn, vn; эта последовательность начинается и кончается вершиной, и каждое ребро последовательности инцидентно двум вершинам, одна из которых непосредственно предшествует ему, а другая непосредственно следует за ним. Указанный маршрут соединяет вершины vq и vn, и его можно обозначить через voviv2...vn (наличие ребер подразумевается). Эта последовательность иногда называется (vQ — vn)-маршрутом. Маршрут замкнут, если vQ = vn, и открыт - в противном случае. Маршрут называется цепью (trail), если все его ребра различны, и простой цепью (path), если все вершины (а следовательно, и ребра) различны. Замкнутая цепь называется циклом. Замкнутый маршрут называется простым циклом, если все его и вершин различны и и ^ 3» [1, с. 26].

«Граф G называется связным, если любая пара его вершин соединена простой цепью. Максимальный связный подграф графа G называется компонентой связности, или просто компонентой графа G. Таким образом, несвязный граф имеет, по крайней мере, две компоненты» [1, с. 27].

Закончив цитирование нужных фрагментов, отметим, что цепь, простая цепь, цикл, компонента - по сути, подграфы графа, обладающие некоторыми определенными свойствами. Следовательно, все эти определения могут быть сформулированы на языке подматриц матрицы инциденций. Чтобы изложить такие понятия на языке подматриц, нужно определить свойство связности на языке матриц инциденций, для чего

понадобится ввести несколько новых определений и доказать эквивалентность их уже существующим. Будем предполагать в приводимых ниже определениях, что матрицы инциденций имеют число строк, большее либо равное 3.

Определение 5. Матрицу инциденций размерности п х т будем называть разложимой, если она содержит нулевые строки или перестановочно эквивалентна матрице вида

( Ъ

В

\

Ъц . . Ъ1к 0. .. 0

Ъц . . Ъ^ь, 0. .. 0

0 . .. 0 Ъг+1,ь+1 . . Ъ1 + 1,т

0 . .. 0 Ъп,к+1 . . Ъп,т

\

/

Определение 5’. Матрицу инциденций размерности п х т будем называть неразложимой, если она не содержит нулевых строк и не является матрицей, перестановочно эквивалентной матрице вида (1).

Определение 6. Матрицу инциденций будем называть почти разложимой по строкам, если она не является разложимой, но существует, по крайней мере, одна строка, удаление которой, а также соответствующих ей столбцов превращают полученную подматрицу в разложимую.

Теорема 1. Неразложимая матрица инциденций размерности п х т будет почти разложимой по строкам тогда и только тогда, когда она перестановочно эквивалентна матрице вида

\

В =

Ъ11 . . Ъ1ь 0. .. 0

Ъя-1,1 . 1 г? .. Ъ 0. .. 0

Ъq1 Ъ к Ъд,к+1 . . Ъд,т

0 . . 0 Ъд+1,к+1 . . Ъд+1,т

.0.. .. . 0 Ъп,к + 1 . . Ъп,т

/

Доказательство. Необходимость. Пусть матрица почти разложима по строкам. Тогда существует строка, удаление которой, как и соответствующих ей столбцов, превращает оставшуюся подматрицу в разложимую матрицу инциденций размерности (п — 1) х тх, где ш\ равно числу т, уменьшенному на величину строчной суммы удаляемой строки. Удаление строки и соответствующих ей столбцов отвечает, как отмечалось выше, удалению вершины и инцидентных ей ребер. В силу исходного предположения, полученный подграф распадается на два несвязанных между собой подграфа: Ох и О2. Эти подграфы будут также подграфами исходного графа О. Пронумеруем вершины исходного графа следующим образом. Сначала нумеруем вершины графа, входящие в подграф Ох. Предположим, что число вершин в подграфе Ох равно ц — 1. Затем присваиваем номер ц вершине, которую удаляли. Далее нумеруем оставшиеся вершины графа О, т. е. вершины, входящие в подграф О2.

Нумерацию ребер производим так: начиная с первой вершины нумеруем произвольным образом инцидентные ей ребра, затем переходим к нумерации еще непронумерованных ребер, инцидентных второй вершине, и т. д. до конца. Матрица инциденций,

соответствующая графу О с такой нумерацией вершин и ребер, будет иметь вид (2). Матрицы инциденций, соответствующие одному и тому же графу, при различных нумерациях его вершин и ребер будут перестановочно эквивалентны. Следовательно, почти разложимая по строкам матрица инциденций перестановочно эквивалентна матрице типа (2).

Достаточность. Пусть матрица инциденций графа имеет вид (2). Тогда подматрица, полученная из матрицы (2) удалением ц-й строки и соответствующих ей столбцов, будет такая, как (1). Следовательно, матрица (2) почти разложима по строкам.

Определение 7. Матрицу инциденций размерности п х т будем называть почти разложимой по столбцам, если она не является разложимой и перестановочно эквивалентна матрице вида

B =

bii   bi,t-i bit 0.  0 \

bii  bi,t-i bit 0.  0

0  0 bi+i,t bi+i,t+i   bl+1,m

0  0 bn,t bn,t+1   bnm /

Замечание 4. В матрице (3) среди совокупностей элементов bit, , bl,t и bi+i,t, , bn,t ровно по одному элементу равно 1, а все остальные элементы равны 0.

Теорема 2. Обыкновенный граф распадается на компоненты связности тогда и только тогда, когда его матрица инциденций разложима.

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

Необходимость. Пусть граф распадается на компоненты связности. Объединим компоненты в две группы. Пронумеруем вершины графа следующим образом: сначала нумеруем вершины первой группы компонент, затем продолжаем нумерацию вершин второй группы компонент. Точно также нумеруем ребра. Очевидно, что в этом случае матрица инциденций графа будет иметь вид (1), т. е. является разложимой матрицей.

Достаточность. Пусть матрица инциденций графа разложима. Преобразуем ее с помощью перестановки строк и столбцов к виду (1). Перенумеруем вершины и ребра графа в соответствии с номерами строк и столбцов преобразованной матрицы. Тогда преобразованная матрица будет матрицей инциденций исходного графа с измененной нумерацией вершин и ребер. Диагональные (ненулевые) блоки преобразованной матрицы, очевидно, будут матрицами инциденций двух графов, никак между собой не связанных. Это и означает, что граф распадается на компоненты связности.

Теорема 2’. Граф связен тогда и только тогда, когда его матрица инциденций неразложима (следствие из теоремы 1).

« Точкой сочленения графа называется вершина, удаление которой увеличивает число компонент; ребро с таким же свойством называется мостом. Таким образом, если v - точка сочленения связного графа G, то граф G - v не связен. Неразделимым графом называется связный, непустой, не имеющих точек сочленения граф. Блок графа - это его максимальный неразделимый подграф. Если G - неразделимый граф, то часто он сам называется блоком» [1, с. 41].

Введенные с помощью цитаты определения позволяют сформулировать достаточно очевидные утверждения:

- граф О имеет точки сочленения тогда и только тогда, когда его матрица инци-денций почти разложима по строкам;

- аналогично, граф О имеет мосты тогда и только тогда, когда его матрица инци-денций почти разложима по столбцам.

Покажем, что если матрица инциденций почти разложима по столбцам, то она является и почти разложимой по строкам. Действительно, пусть матрица инциденций совпадает с (3). Тогда, не нарушая общности рассуждений, можно считать, что Ъц = 1 и Ъ;+1,4 = 1, а остальные элементы столбца с номером Ь равны нулю. Нетрудно видеть, что подматрицы, оставшиеся после удаления строки I или строки I + 1, с соответствующими столбцами имеют вид (1).

Определение 8. Матрицу инциденций, не являющуюся разложимой или почти разложимой по строкам, будем называть неразделимой.

Замечание 5. Матрица инциденций любого простого п-цикла перестановочно эквивалентна квадратной размерности п (0,1)-матрице

Действительно, это так. Вершины любого простого п-цикла можно пронумеровать последовательно, в соответствии со смежностью вершин, номерами от 1 до п. Если теперь ребру, инцидентному вершинам с номерами п и 1, присвоить номер 1, инцидентному вершинам с номерами 1 и 2 - номер 2, ..., инцидентному вершинам с номерами п — 1 и п - номер п, то Н будет матрицей инциденций этого п-цикла. Если первоначальная нумерация вершин и ребер не совпадала с указанной, то переход к последней эквивалентен преобразованию исходной матрицы инциденций с помощью перестановки строк и столбцов в матрицу Н. То есть исходная матрица инциденций п-цикла перестановочно эквивалентна матрице Н.

Теорема 3. Квадратная размерности п (0,1)-матрица Г с различными столбцами, у которой все строчные и столбцовые суммы равны 2, будет перестановочно эквивалентной матрице Н тогда и только тогда, когда она не является разложимой.

Доказательство. На матрицу Г можно смотреть как на матрицу инциден-ций (все столбцы различные и столбцовые суммы равны 2) некоторого обыкновенного графа, у которого степень каждой вершины равна 2 (все строчные суммы равны 2). Такой граф может быть только объединением простых циклов. Он может быть простым п-циклом тогда и только тогда, когда связен, т. е. тогда и только тогда, когда его матрица инциденций не является разложимой. Вершины простого п-цикла и ребра можно всегда пронумеровать таким образом, чтобы ему соответствовала матрица инциденций Н (замечание 3). Последнее и означает, что матрица Г перестановочно эквивалентна матрице Н тогда и только тогда, когда Г не является разложимой. Этим и завершается доказательство теоремы 3.

Определение 9 [1, с. 85]. «Если в О имеется простой остовный цикл Z, то О называется гамильтоновым графом, а Z - гамильтоновым циклом».

Теорема 4. Обыкновенный граф с п вершинами будет гамильтоновым тогда и только тогда, когда его матрица инциденций содержит квадратную подматрицу

Н

/ 1 1 0 ... 0 0 \

0 11 ... 0 0 0 0 1 ... 0 0

0 0 0

\ 1 0 0

1 1

размерности п, со всеми строчными суммами, равными 2, и не являющуюся разложимой матрицей.

Теорема 4 есть следствие определения 9 и теоремы 3.

Замечание 6. Из определения 9 следует, что гамильтонов граф связен, поскольку любые две его вершины связаны простой цепью, являющейся частью гамильтонова цикла. Отсюда следует, что матрица инциденций гамильтонова графа не может быть разложимой.

Теорема 5. Матрица инциденций гамильтонова графа неразделима.

Доказательство. С учетом замечания 4 нам осталось показать, что гамильтонов граф не может иметь почти разложимой по строкам матрицы инциденций. Доказательство - от противного. Пусть граф гамильтонов, а его матрица инциденций является почти разложимой по строкам. Тогда, как это следует из (2), и все ее остов-ные подматрицы (подматрицы, полученные путем удаления столбцов исходной матрицы) будут либо разложимыми, либо почти разложимыми по строкам. Однако матрица инциденций гамильтонова цикла не является почти разложимой по строкам матрицей.

Пример 1. Рассмотрим тэта-граф [1, с. 85] О - неразделимый граф, у которого две несмежные вершины имеют степень 3, а остальные три вершины - степень 2. Пронумеруем специальным образом его вершины и ребра (рис. 1).

Обозначим через А матрицу смежности, а 0 - матрицу инциденций этого графа:

А

Рис. 1. Граф О

/ 0 0 0 1 1 \

0 0 0 1 1

0 0 0 1 1

1110 0 \ 1 1 1 0 0 /

0

/ 1 1 0 0 0 0 \

0 0 110 0

0 0 0 0 1 1

10 10 10

\010101/

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

Пример 2. Обозначим степени вершин обыкновенного связного графа О(У,Х) через ві и предположим, что ві ^ ві при і < і (і, і Є {1, 2,..., п}, п = \У \ - число вершин

П

графа). Очевидно, что ^ ві = 2т (т = \Х\ - число ребер графа). Построим матрицу

і=1

инциденций В графа О (У, X). Будем считать, что нумерация строк матрицы В совпадает с нумерацией вершин графа О(У, X), а нумерация ребер производится следующим образом. Сначала нумеруем ребра, инцидентные первой вершине. Столбцы матрицы В, соответствующие этой группе ребер, объединим в подматрицу В1 матрицы В. Затем нумеруем ребра, инцидентные одним концом второй вершине, а другим концом - вершинам с номерами, большими двух. Столбцы матрицы В, соответствующие этой группе ребер, объединим в подматрицу В2. Продолжая данный процесс, построим матрицу инциденций В из подматриц Ві, т. е. построим матрицу вида В = (В1 ,В2,..., Вп—1). Обозначим число столбцов подматрицы Ві через гі (і = 1, 2,...,п — 1). Из способа построения подматриц В2 следует, что гі ^ и гі ^ п — і и гі = 0, если Ві - пустая,

п — 1

причем Г1 = в1 и ^ г і = т. У подматрицы В^ (і = 1, 2,..., п — 1) і-тая строка состоит 2=1

из единиц, у строк, расположенных выше і-й (і = 2,..., п — 1) строки, - все элементы нулевые, в каждой строке, расположенной ниже і-й строки, содержится не больше одной единицы. Напомним еще раз, что все столбцы матрицы В содержат ровно две единицы. Построенную указанным образом матрицу инциденций В будем называть стандартной.

Рассмотрим полный обыкновенный граф О(У,Х) = Кп (Кп - стандартное обозначение полного графа, а также его матрицы смежности), т. е. граф, у которого все вершины смежные. Для стандартной матрицы инциденций В этого графа имеем ві = п — 1 (і = 1, 2,..., п), г і = п — і (і = 1, 2, ...,п — 1). Число ребер матрицы В рав-

п п—1 п—1

но то = ^ ^2 вг = г2 = (п — І) = ^2—• ^т0 числ0 ограничивает число столбцов

і=1 2=1 2 = 1

в произвольной прямоугольной (0,1)-матрице размерности п на т, со столбцовыми суммами, равными 2, чтобы эта матрица могла быть матрицей инциденций обыкновенного графа.

Вернемся вновь к графу О(У,Х) = Кп и его стандартной матрице инциден-ций. Рассмотрим последовательность вершин этого графа (юі1 ,'иі2, ...,'оіп), где уіі Є У и І1, і2,..., іп есть перестановка из чисел 1, 2,..., п. На последовательность (уі1, уі2,..., уіп) можем смотреть как на стандартную запись простого п-цикла, поскольку все вершины в данном графе, а значит, и в последовательности, смежные. Таких различных последовательностей для графа Кп существует п!, однако число разных п-циклов меньше, поскольку каждая упомянутая последовательность задает п-цикл с точностью до циклической перестановки элементов в конкретной последовательности. Поскольку в каждой последовательности можно сделать ровно п различных циклических перестановок элементов, то число разных п-циклов в п раз меньше, чем возможное число последовательностей, т. е. число п-циклов равно (п — 1)!. Таким образом, граф Кп гамильтонов и содержит (п — 1)! различных гамильтоновых циклов, каждый из которых, скажем для определенности, начинается, например, в вершине с номером 1.

Посмотрим, как с помощью теоремы 4 можно определить все гамильтоновы циклы графа Кп. Поскольку для гамильтонова цикла безразлично, в какой вершине он начинается, будем считать, что цикл начинается и заканчивается в вершине 1. В стандартной матрице инциденций В = (В1 ,В2, ...,Вп—1) графа Кп вычеркнем первую строку, а также столбец из В1, соответствующий (см. определение 2), кроме строки с номером 1, также некоторой выбранной строке с номером і1. Вычеркнутый столбец помещаем в качестве первого столбца в строящуюся матрицу Г. Выбираем любой из оставшихся п — 2 столбцов, соответствующих и строке і1 и, например, строке с номером

І2. Вычеркиваем его и помещаем в качестве второго столбца в строящуюся матрицу Г. Затем вычеркиваем в исходной матрице В строку с номером І1. Из п — 3 столбцов, соответствующих строке і2 и одной из невычеркнутых строк, выбираем любой, например, соответствующий строке із. Вычеркиваем его и помещаем в качестве третьего столбца матрицы Г. Вычеркиваем строку с номером і2. Продолжая этот процесс, на последнем шаге единственным образом определим номер последней вычеркиваемой строки іп—1. Очевидно, что :ч,і2,..., іп—1 будет перестановкой из чисел 2, 3,...,п. Поскольку і1 можно было выбрать п — 1 способом, і2 - (п — 2) способами, ..., іп—1 - единственным способом, то число упомянутых перестановок равно (п — 1)!. Каждой такой перестановке сопоставим подматрицу п-го порядка Г матрицы В, у которой первые п — 1 столбцов имеют номера вычеркнутых столбцов, а последний столбец принадлежит подматрице В1 и является столбцом, у которого вторая единица расположена в строке

с номером іп—1. Построенная матрица Г, как матрица связного графа, удовлетворяет теореме 3 и, следовательно, задает гамильтонов цикл. Число таких различных матриц будет соответствовать, с одной стороны, числу разных перестановок і1, і,2,..., іп—1, а с другой - числу гамильтоновых циклов. Следовательно, опять получим, что число различных гамильтоновых циклов у графа Кп равно (п — 1)!.

Замечание 7. Теорема 5 - доказанный другим способом известный результат (см., например, [1, с. 85, теорема 7.2]).

Замечание 8. Теорема 5 позволяет при создании алгоритмов проверки существования гамильтоновых циклов ограничиться неразделимыми графами, или, что то же самое, графами с неразделимыми матрицами инциденций.

Замечание 9. Пример 2 позволяет по аналогии с ним строить переборный алгоритм для проверки существования гамильтоновых циклов в неразделимом графе. Однако программисты предпочитают строить свои программы, ориентируясь на максимальность длины перебираемых ими простых цепей и возможность их замыкания.

Необходимые и достаточные условия, эквивалентные теореме 4, можно сформулировать, используя понятие перманента матрицы.

Определение 10 (см. также [2, с. 13-14]). Перманентом квадратной матрицы А = (аі2') порядка п называется сумма всех произведений элементов матрицы А, взятых по одному из каждой строчки и каждого столбца. Обозначать перманент квадратной матрицы А будем как регА.

Определение 11 [3]. Перманентом прямоугольной матрицы В называется сумма перманентов всех максимальных квадратных подматриц матрицы В. Обозначать перманент прямоугольной матрицы В будем как РегВ.

Рассмотрим матрицу инциденций В = (6іі-) некоторого обыкновенного графа с п нумерованными вершинами и т нумерованными ребрами. Обыкновенный граф с п вершинами и т ребрами обычно обозначают как (п,т)-граф (см., например, [1, с. 22]). Граф, у которого все степени вершин равны между собой и равны г, называется регулярным степени г. «Регулярный граф степени 0 совсем не имеет ребер. Если О - регулярный граф степени 1, то каждая его компонента содержит точно одно ребро; в регулярном графе степени 2 каждая компонента цикл, и, конечно, обратно» [1, с. 28].

Будем полагать, что 3 ^ п ^ т. Из определения перманента прямоугольной матрицы следует, что РегВ = ^ регВ ( 1 ‘2,/.., п\ | . в ( 1 2 ..., п\ | - до-

1^і1<і2<---<ік <п V і1 ,і2,...,іп) V і1,і2,...,іп )

статочно широко употребляемое обозначение подматрицы, расположенной на пересечении строк с номерами 1, 2, ...,п и столбцов с номерами і 1, і2,..., іп. Каждое слагаемое в сумме является перманентом матрицы инциденций (п, п)-графа. Множество (п, п)-подграфов (п, т)-графа О разбивается на два класса: регулярные подграфы степени 2 и нерегулярные подграфы.

Регулярные подграфы степени 2, в свою очередь, распадаются на два класса: однокомпонентные и многокомпонентные. Однокомпонентные (п, п)-подграфы (п, т)-гра-фа О есть не что иное, как гамильтоновы циклы графа О.

Нерегулярный подграф будет содержать, по крайней мере, одну компоненту, у которой некоторая пара вершин имеет степени, отличные от 2. Причем такая компонента обязательно включает одну вершину, со степенью равной 1 (компонента - связный граф, поэтому не имеет вершин со степенью 0; если она имеет вершину со степенью больше 2, то она имеет и вершину со степенью меньше 2, т. е. со степенью, равной 1, поскольку у (п, п)-подграфа сумма степеней равна 2п). Напомним, что вершина, степень которой равна 1, называется концевой (или висячей). Каждая компонента (п, п) -графа,

не содержащего регулярных подграфов степени 0 и 1, является связным (р,р)-графом, где p ^ n, и обязательно содержит ровно один цикл (см. [1, с. 55] теорему 4.5 о циклическом ранге и следствия из нее). Матрица инциденций такого (n, ^-графа с помощью перестановки строк и столбцов может быть приведена к блочнодиагональному виду, где каждый диагональный блок будет квадратной матрицей инци-денций некоторого связного (p, p)-графа. По теореме Лапласа перманент такой матрицы будет равен произведению перманентов диагональных блоков. Вычислим перманент диагонального блока, т. е. перманент матрицы инциденций связного (p, p) -графа. Если связный (p^-граф регулярный, то это простой цикл, и его матрица инциденций с помощью перестановки строк и столбцов может быть приведена к каноническому виду (4). Раскладывая перманент данной матрицы по элементам последней строки, получим, что он равен 2.

Если связный (p^-граф нерегулярный, то он содержит, по крайней мере, одну концевую вершину. Удаляя ее и инцидентное ей ребро, придем к связному (p — 1,p— 1)-графу. Если граф не является простым циклом, то у него есть концевая вершина, удаляя которую вместе с принадлежащим ей ребром еще раз понизим порядок графа, и так до тех пор, пока в итоге не получим простой цикл. Поскольку на матричном языке удаление вершины и инцидентного ей ребра соответствует разложению перманента по строке со строчной суммой, равной І, то в итоге находим, что перманент матрицы связного (p^-графа равен перманенту простого цикла, т. е. равен 2. В итоге перманент (n, ^-графа равен 2k, где к - число компонент (n, ^-графа, что соответствует числу простых циклов (n, ^-графа.

Попутно было получено следующее утверждение (теорема б): обыкновенный связный граф G с условием 3 ^ n ^ m, где n - число вершин, а m - число ребер, будет гамильтоновым тогда и только тогда, когда он содержит остовный регулярный подграф степени 2, перманент которого равен 2. Число различных гамильтоновых циклов графа G равно числу слагаемых с таким свойством в определении перманента матрицы инциденций графа G.

Пусть теперь граф G с n ^ 3 вершинами задан своей матрицей смежности A. Напомним, что элемент a.ij матрицы смежности A равен единице, если i-тая вершина смежна с j-й вершиной, и равен нулю - в противном случае. Из определения элементов матрицы смежности следует, что она квадратная. Поскольку граф обыкновенный, то его матрица смежности симметричная. Так как нас интересует, является ли граф гамильтоновым, то можем считать, что матрица A неразложимая. Неразложимая (0,1)-матрица может быть только примитивной или импримитивной.

Пусть A - импримитивная матрица. Поскольку она к тому же симметричная, то ее индекс импримитивности может равняться только 2. То есть матрица A перестано-

и т + I = п.

Граф с матрицей смежности, перестановочно подобной матрице Оті, является двудольным. Все множество вершин У такого графа можно разбить на два подмножества У1 и У2 таким образом, что вершины, принадлежащие как первому подмножеству, так и второму, несмежны между собой.

вочно подобна неразложимой матрице Dmi вида Dmi = PAP'

, где матрица A12 имеет размерность m х l, причем 1 ^ m,l ^ n — 1

Теорема 7. Двудольный граф может быть гамильтоновым только тогда, когда |^1| = |^2|, т. е. когда его доли равномощны.

Доказательство. Пусть двудольный граф - гамильтонов. Следовательно, существует простой остовный цикл, заходящий в каждую вершину ровно один раз. Начав движение из фиксированной вершины, при движении по циклу последовательно будем переходить из одной «доли» в другую, пока не вернемся в исходную вершину. При этом окажемся в одной «доле» столько раз, сколько и в другой. Но поскольку каждый раз оказываемся в вершине, в которой еще не были (цикл простой), то все вершины разные. Поскольку цикл остовный, то посетим все вершины. Суммируя сказанное, получаем, что одна доля содержит одинаковое с другой число вершин.

Теорема 8. Двудольный граф с п = 2т вершинами будет гамильтоновым тогда и только тогда, когда его матрица смежности содержит подматрицу, перестановочно подобную матрице Б = ^ Н / Н ^ с квадратной подматрицей Н порядка т вида (4).

Доказательство. Необходимость. Пусть граф - гамильтонов. Тогда он содержит в качестве подграфа простой остовный цикл Z. Поскольку цикл остовный, то он имеет четную дину 2т и, значит, является двудольным подграфом. Следовательно, с помощью перенумерации вершин (т. е. путем преобразования перестановочного подобия) матрица смежности цикла приводится к матрице Б. То есть матрица смежности гамильтонова графа содержит подматрицу гамильтонова цикла, перестановочно подобную матрице Б.

Достаточность. Пусть матрица смежности графа включает остовную (т. е. той же размерности) подматрицу, перестановочно подобную матрице Б. Это означает, что исходный граф содержит простой остовный цикл, задаваемый матрицей Б, т. е. исходный граф - гамильтонов.

Замечание 10. Сделаем наглядным утверждение, что матрица Б, например, порядка 8 задает простой цикл. Для этого нарисуем «стандартный цикл» длины 8 (рис. 2), с последовательной нумерацией смежных вершин, матрицу смежности которого обозначим через Z. Нарисуем также граф, заданный матрицей Б (рис. 3, а, б), и покажем, что эти графы изоморфны, т. е. матрицы Z и Б перестановочно подобны:

Z =

/ 0 1 0 0 0 0 0 1 \ 0 0 0 0 1 1 0 0 \

1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0

0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1

0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 1

Б =

0 0 0 1 0 1 0 0 1 0 0 1 0 0 0 0

0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0

0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0

V 1 0 0 0 0 0 1 0 / 0 0 1 1 0 0 0 0 /

•2

Рис. 2. Граф, заданный матрицей Z

Рис. 3. Граф, заданный матрицей S

Матрицы Z и S связаны соотношением Z = PSP' (матрицы перестановочно подобны), где матрица P имеет вид

P

( 1 0 0 0 0 0 0 0

0 0 0 0 0 1 0 0

0 1 0 0 0 0 0 0

0 0 0 0 0 0 1 0

0 0 1 0 0 0 0 0

0 0 0 0 0 0 0 1

0 0 0 1 0 0 0 0

\ 0 0 0 0 1 0 0 0 )

Поскольку при изменении порядка матрицы Б, от которого мы отталкивались, вид матриц Z, Б и Р не меняется, то обобщение утверждения данного замечания на общий случай не представляет труда.

Теорема 8 на первый взгляд не добавляет ничего нового к решению задачи - является ли двудольный граф гамильтоновым, поскольку одну трудную задачу сводит к другой трудной задаче, хотя столь же очевидно, что при использовании этой теоремы от матриц порядка 2т можно перейти к работе с матрицами порядка т. Покажем на примерах, что теорема 8, действительно, допускает дальнейшие упрощения. С этой целью отметим, что всегда можно предположить, что исходная матрица смежности двудольного графа (импримитивная матрица) имеет нормальную блочную форму

ШШ ^ с квадратными блоками порядка т. При этих предположениях

теорема 8 эквивалентна следующей теореме.

Теорема 8’. Двудольный граф, заданный матрицей смежности Отт, будет гамильтоновым тогда и только тогда, когда подматрица Ш содержит подматрицу той же размерности, перестановочно эквивалентную подматрице Н матрицы Б.

Действительно, преобразование перестановочного подобия матрицы Птт с матри-

Р 0

цей перестановки К порядка 2т вида Я = новки порядка т, приводит к следующему:

RDmmR

P 0 0 Q'

0 W W' 0

0 Q'

P' 0 0Q

, где P и Q - матрицы переста-

0 PWQ

Q'W'P' 0

То есть при преобразовании перестановочного подобия, сохраняющего нормальную форму матрицы Втт, ее подматрица Ш претерпевает преобразование перестановочной эквивалентности.

Чтобы практически воспользоваться новой формулировкой теоремы, заметим, что матрицу Н можно представить в виде суммы двух матриц перестановок: единичной матрицы Е и матрицы ориентированного цикла С = Н — Е. Перейдем к примерам и рассмотрим граф, заданный рис. 4, а, б.

Рис. 4. Граф О1

Выпишем матрицу смежности Л\ этого графа и его матрицу инциденций В\:

Аі =

0 0 0 0 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0

0 0 0 0 1 0 1 1 0 0 0 1 1 1 0 0 0 0 0

0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0

0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1

1 1 1 0 0 0 0 0 1 В1 = 1 0 0 1 0 0 1 0 0 0 0

1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0

0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0

1 1 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1

Проиллюстрируем на данном примере вначале действие теоремы 4. Для этого удалим второй, четвертый и одиннадцатый столбцы матрицы Ві. Получим ее квадратную подматрицу Е. Все строчные суммы такой подматрицы равны 2, и она неразложима. Если же в матрице Ві удалим первый, шестой и девятый столбцы, то получим подматрицу Еі, имеющую также все строчные суммы, равные 2, и тоже являющуюся неразложимой. Других неразложимых квадратных подматриц, со строчными суммами, равными 2, нет. Таким образом, граф Оі гамильтонов и имеет четыре ориентированных цикла.

Проиллюстрируем теперь на этом же примере действие теоремы 8’, для чего пред-

0 Ж1 '

0

ставим матрицу А1 в виде А1

Нетрудно видеть (или проверить),

1 1 0 1

1 0 1 1

£ а ц и р т а м о т ч 1 1 0 0 перестановочно

\ 0 1 1 1 )

0 0 0 1 1 1 0 1 0 0 1-4 0

0 0 10 1 0 1 1 10 0 0

0 10 0 1 1 0 0 0 0 10

1 0 0 0 \ 0 1 1 1 1 0 0 0

/ 1 1 0 1

1 0 1 \

1 0 0

1 1 1

0 1 1 /

= Е + С' + К.

1

Если теперь умножим последнее равенство на матрицу С справа, то получим матрицу /1110\ /1100\

Н + КС -

0 1 1 0 \1 1

0 1 1

если слева - то матрицуН + СК

0 1 1

1 1 1 1

0 1 )

. Обе

последние подматрицы содержат подматрицу Н, и, следовательно, исходный двудольный граф Ох содержит гамильтоновы циклы.

Рассмотрим теперь граф 02, заданный диаграммой на рис. 5, а, б.

а б

Рис. 5. Граф 02

Выпишем матрицу смежности Л2 этого графа и его матрицу инциденций В2:

А2 =

( 0 0 0 0 1 1 0 0 \ / 1 1 0 0 0 0 0 0 0 0

0 0 0 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0

0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0

0 0 0 0 0 1 1 1 , В2 = 0 0 0 0 0 0 0 1 1 1

1 1 1 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0

1 0 1 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0

0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0

\ 0 1 0 1 0 0 0 0 ) \ 0 0 0 0 1 0 0 0 0 1 )

Снова вначале воспользуемся теоремой 4.

Матрица В2 содержит единственную квадратную подматрицу 8-го порядка ^2 со строчными суммами, равными 2 (получается путем удаления третьего и восьмого столбцов). Поскольку подматрица ^2 разложимая, то граф 02 не гамильтонов.

Попытка воспользоваться в этом случае теоремой 8’ привела бы к перебору 576 матриц Р^2^, где ^2 - соответствующая подматрица матрицы Л2, а Р и Q - произвольные матрицы перестановок 4-го порядка. Естественно, такой перебор был бы безрезультатным относительно равенства (PW2Q) о Н = Н (где о - знак поэлементного или ада-марова произведения матриц), в противном случае мы вступили бы в противоречие с теоремой 4.

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

Теорема 9. Для того чтобы обыкновенный граф был гамильтоновым, необходимо и достаточно, чтобы его матрица смежности содержала подматрицу перестановочно подобную матрице 2 (см. обозначение выше), той же размерности, что и исходная матрица смежности.

При использовании этой теоремы, как и теоремы 8’, будем отталкиваться от нормальной формы, но на этот раз примитивной симметричной (0,1)-матрицы. Применение теоремы 9 продемонстрируем на примерах Д. В. Савицкой. Напомним, что примитивной (0,1)-матрицей называется неразложимая матрица, некоторая булева степень которой является матрицей из единиц. Ее нормальная форма является блочной матрицей, у которой вдоль диагонали стоят квадратные блоки, являющиеся матрицами смежности полных подграфов (клик) исходного обыкновенного графа. Параметры блочного разбиения перестановочно преобразованной матрицы определяются вершинной раскраской дополнительного к исходному графа.

Пусть примитивная, симметричная, с нулевой диагональю (0,1)-матрица А размерности п (по-другому - матрица смежности обыкновенного, связного, не двудоль-

А11 А12 . .. А1 \

графа с п вершинами) имеет нормальную форму: А = А21 А22. .. А2

А 1 С<1 СУ1 ... А СУ1 СУ ... А )

9

где А^з = К„ч , ^ mj = п (Кт - матрица смежности полного графа, т. е. квадратная

3 = 1

матрица из единиц с нулевой диагональю, порядка т). В силу симметрии матрицы А, ее блоки обладают свойствами Aji = . Учитывая это, достаточно вести речь о диа-

гональных блоках и блоках, расположенных, например, выше главной диагонали. Если во всех наддиагональных блоках Аі,і+і (і = 1,..., д — 1) элементы, расположенные в левом нижнем углу, равны 1 и элемент блока Аі9, находящийся в правом верхнем углу, также равен 1, то по теореме 9 граф, задаваемый матрицей А, будет гамильтоновым. Если все или некоторые указанные блоки таким свойством не обладают, то нужно рассмотреть возможность получения нужных свойств с помощью преобразования перестановочного подобия матрицы А. Естественно, что упомянутое преобразование должно сохранять нормальную форму матрицы. Такое преобразование может быть двух видов: преобразование внутри блоков и перестановка блоков.

Преобразование (перестановки элементов) внутри блоков без изменения положения самих блоков производится с помощью матрицы перестановки Р вида

Р1 0. .. 0 \

Р= 0 Р2. .. 0

10 0. .. рд )

где каждый блок Pj имеет ту же размерность, что и блок Ajj (і = 1,..., д). Преобразованная матрица А = РАР' в этом случае примет вид

( Р1А11 р Р1А12Р2 ... РіА1дР' \

А = Р2А21Р1 Р2А22Р2 ... Р2А29Р'

V РЧАЧ1Р1 РЧАЧ2Р2' ... РчАтР' )

из которого следует, что внедиагональные блоки меняются по закону преобразования перестановочной эквивалентности. Формально, такое преобразование позволяет, если в блоке есть хотя бы одна единица, переставить ее в любое место блока. Однако эти преобразования не являются независимыми. Так, при установке в блоке с номером (1, 2) единицы в левый нижний угол, мы не можем трогать первой строки матрицы А, если в блоке с номером (1,д) единственная единица уже стоит в правом верхнем углу.

Матрица перестановки, меняющая положение блоков в исходной матрице и сохраняющая ее нормальную форму, строится следующим образом. Берется единичная матрица E и разбивается на блоки в соответствии с блочным разбиением исходной матрицы. В результате матрица принимает блочно-диагональный вид (по-другому -представляется в виде прямой суммы подматриц) с блоками, являющимися единичными матрицами меньшей размерности. То есть матрица E принимает вид E =

q

Emi  Em2  ...  Emq, где Emj - единичная матрица порядка mj и сумма mj = n.

j=1

Если теперь «полосу», содержащую блок Emj, поместим между полосами с блоками Emk и Emk+1, то получим матрицу перестановки, которую обозначим через E. Преобразование EAE' поместит диагональный блок Ajj матрицы A между блоками Akk и Ak+iik+i. При этом некоторым образом переместятся и трансформируются остальные блоки (основная цель преобразования) матрицы A. Действие этого преобразования продемонстрируем ниже в примере 3.

Вначале рассмотрим рис. 6, где приведены два графа с восемью вершинами (пример 3).

а б

Рис. 6. Графы G3

Их матрицы смежности, соответственно A и B, имеют вид

A=

/ 0 0 0 0 1 0 1 0 \ 0 0 0 0 0 0 1 1 \

0 0 0 0 0 1 1 1 0 0 1 0 0 1 1 0

0 0 0 1 0 0 1 1 0 1 0 0 1 0 0 1

0 0 1 0 1 1 0 1 , в = 0 0 0 0 1 1 1 1

1 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1

0 1 0 1 1 0 1 1 0 1 0 1 1 0 1 1

1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 1

V 0 1 1 1 1 1 1 0 / 1 0 1 1 1 1 1 0 /

С помощью преобразования перестановочного подобия они могут быть приведены соответственно к нормальным формам Ап и Вп (все наддиагональные блоки ненулевые) :

Ап

( 0 1 0 0 1 0 0 0 \ / 0 1 1 0 0 0 0 0

1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1

0 0 0 1 1 1 0 0 1 1 0 0 1 1 1 1

0 1 1 0 1 1 0 1 , Вп = 0 1 0 0 1 0 0 1

1 0 1 1 0 1 1 0 0 0 1 1 0 0 1 0

0 1 1 1 1 0 1 1 0 1 1 0 0 0 1 1

0 0 0 0 1 1 0 1 0 0 1 0 1 1 0 1

\ 0 1 0 1 0 1 1 0 / \ 0 1 1 1 0 1 1 0 )

Теперь с помощью преобразований, меняющих расположение элементов в блоках блочных разбиений матриц Ап и Вп, приведем эти матрицы к нужному нам виду Ад и Вд, т. е. к виду, содержащему подматрицы Z явным образом:

0 1 0 1 0 1 0 1 0 1 1 0 1 1 1 1

1 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0

0 1 0 1 1 1 1 0 1 1 0 1 0 0 1 1

1 0 1 0 1 1 0 1 0 0 1 0 1 0 0 1

Ад = 0 0 1 1 0 1 0 0 , Вп = 1 0 0 1 0 1 0 0

1 0 1 1 1 0 1 1 1 0 0 0 1 0 1 1

0 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1

1 0 0 1 0 1 1 0 1 0 1 1 0 1 1 0

Матрицам Ад и Вд соответствуют графы О'З и 0'4, представленные на рис. 'О <3

Рис. 7. Графы С'з

Матрицы А, Ап и Ад перестановочно подобны между собой. Аналогичным свойством обладают и матрицы В, Вп и Вд .С помощью программы рв1тПаг из пакета ZerOne [3] легко выписываются матрицы перестановок, осуществляющие это подобие. С помощью той же программы устанавливается, что матрицы А и В не подобны перестановочно, хотя это можно видеть, просто глядя на матрицы Ап и Вп.

Пример 4. В отличие от примера 3, он приведен специально для иллюстрации матриц перестановок, осуществляющих переход от матрицы в нормальной форме, где существование подматрицы перестановочно подобной матрице Z не очевидно, к форме, где этот факт очевиден.

Пусть Ап - искомая нормальная форма матрицы, содержащая чисто нулевой над-диагональный блок. Совершим в ней преобразование с помощью упоминавшейся выше, специальным образом подобранной, матрицей Е. Получим матрицу Ап = ЕАпЕ', где уже все наддиагональные блоки ненулевые. Затем с помощью матрицы перестановки Р,

переставляющей элементы в блоках, перейдем к матрице Ад = РАпР подматрицу Z в явном виде. Приведем все эти матрицы:

Ап =

Е =

Ап =

Р

/ 0 і 0 і 0 0 0 0 0 і 0 \

і 0 0 0 0 0 і 0 і 0 і

0 0 0 і 0 0 0 0 0 і 0

і 0 і 0 0 0 0 0 і 0 0

0 0 0 0 0 і і 0 0 і 0

0 0 0 0 і 0 і і 0 і 0

0 і 0 0 і і 0 0 0 і 0

0 0 0 0 0 і 0 0 і і і

0 і 0 і 0 0 0 і 0 і і

і 0 і 0 і і і і і 0 і

V 0 і 0 0 0 0 0 і і і 0 \

( і 0 0 0 0 0 0 0 0 0 0 \

0 і 0 0 0 0 0 0 0 0 0

0 0 0 0 і 0 0 0 0 0 0

0 0 0 0 0 і 0 0 0 0 0

0 0 0 0 0 0 і 0 0 0 0

0 0 0 0 0 0 0 і 0 0 0

0 0 0 0 0 0 0 0 і 0 0

0 0 0 0 0 0 0 0 0 і 0

0 0 0 0 0 0 0 0 0 0 і

0 0 і 0 0 0 0 0 0 0 0

V 0 0 0 і 0 0 0 0 0 0 0 /

0 і 0 0 0 0 0 і 0 0 і

і 0 0 0 і 0 і 0 і 0 0

0 0 0 і і 0 0 і 0 0 0

0 0 і 0 і і 0 і 0 0 0

0 і і і 0 0 0 і 0 0 0

0 0 0 і 0 0 і і і 0 0

0 і 0 0 0 і 0 і і 0 і

і 0 і і і і і 0 і і 0

0 і 0 0 0 і і і 0 0 0

0 0 0 0 0 0 0 і 0 0 і

V і 0 0 0 0 0 і 0 0 і 0

( і 0 0 0 0 0 0 0 0 0 0 \

0 і 0 0 0 0 0 0 0 0 0

0 0 0 0 і 0 0 0 0 0 0

0 0 і 0 0 0 0 0 0 0 0

0 0 0 і 0 0 0 0 0 0 0

0 0 0 0 0 і 0 0 0 0 0

0 0 0 0 0 0 і 0 0 0 0

0 0 0 0 0 0 0 0 і 0 0

0 0 0 0 0 0 0 і 0 0 0

0 0 0 0 0 0 0 0 0 і 0

\ 0 0 0 0 0 0 0 0 0 0 і /

An

< 0 1 0 0 0 0 0 0 1 0 1

1 0 1 0 0 0 1 1 0 0 0

0 1 0 1 1 0 0 0 1 0 0

0 0 1 0 1 0 0 0 1 0 0

0 0 1 1 0 1 0 0 1 0 0

0 0 0 0 1 0 1 1 1 0 0

0 1 0 0 0 1 0 1 1 0 1

0 1 0 0 0 1 1 0 1 0 0

1 0 1 1 1 1 1 1 0 1 0

0 0 0 0 0 0 0 0 1 0 1

1 0 0 0 0 0 1 0 0 1 0

Замечание 11. Доказательство теоремы 7 можно провести, отталкиваясь от нормальной формы Пті матрицы смежности двудольного графа (импримитивной матрицы индекса 2). Действительно, перманент этой матрицы может быть отличен от нуля лишь в случае, когда она имеет вид Отт, т. е. когда I = т. Очевидно, что если перманент квадратной (0,1)-матрицы равен нулю, то она не содержит ни одной остовной подматрицы, являющейся матрицей перестановки, т. е. такая матрица не может быть матрицей гамильтонова графа.

Литература

1. Харари Ф. Теория графов / пер. с англ. В. П. Кохырева; под ред. Г. П. Гаврилова. М.: Мир, 1973. 302 с.

2. Минк Х. Перманенты / пер. с англ. В. Е. Тараканова; под ред. В. К. Захарова. М.: Мир, 1982. 213 с.

3. Пакет программ ZerOne. URL: http://www.apmath.spbu.ru/grafomann/.

Статья рекомендована к печати проф. Е. И. Веремеем. Статья принята к печати 28 мая 2009 г.