Количество простых циклов фиксированной длины в неориентированном графе. Явные формулы в случае малых длин

Математика

УДК 519.173.5:519.177

Количество простых циклов фиксированной длины в неориентированном графе. Явные формулы в случае

малых длин

А. Н. Воропаев, С. Н. Перепечко

Кафедра прикладной математики и кибернетики Петрозаводский государственный университет Петрозаводск, 185910 Республика Карелия, Россия

Разработаны модификации алгоритма Росса и Харари для вывода формул, выражающих количество Ck простых циклов длиной к в неориентированном графе через его матрицу смежности. Рассмотрены как общий случай, так и случай двудольного графа. Алгоритмы, реализованные в системе компьютерной алгебры, позволяют выводить формулы при к ^ 12 в общем случае и при к ^ 14 в случае двудольного графа. Установлено, что при любом фиксированном к ^ 8 и затратах памяти, квадратичных относительно порядка п графа, время вычисления Ск есть величина 0(n[fc/2] log п). Для случая двудольного графа при к = 8, 10, 14 установлены лучшие оценки: 0(п3 log2 п), 0(п4 log2 п), 0(п6 log2 п).

Ключевые слова: алгоритмы на графах, циклы в графах, матрица смежности.

1. Введение

Задача подсчёта простых циклов возникает во многих предметных областях [1—5]. Ещё на рубеже 1940-х и 1950-х годов в социометрических исследованиях формулировалась задача подсчёта путей в орграфе. Развивавшийся в те же годы матричный подход к изучению графов способствовал выводу формул, выражающих матрицы Кк маршрутов длиной к в орграфе, не являющихся путями, через матрицу смежности. Наиболее полно результаты этого периода представлены в статье Росса и Харари [6], которые с помощью предложенного ими алгоритма воспроизвели ранее известные выражения для матриц Дз и Д4, а также получили новые формулы — для матриц Д5 и Я^. Резкий рост размера выражений и трудоёмкости их вывода препятствовал продолжению этого ряда для больших значений длины. На основе матрицы маршрутов Кк-\ легко рассчитывается количество Ск простых циклов длиной к [1].

Выводу аналогичных матричных выражений непосредственно для величин Ск были посвящены более поздние работы [7-9]. Харари и Манвел [7] рассмотрели случаи к = 3,4,..., 7. Руководствуясь наглядными соображениями, для значений 3, 4 и 5 они вывели формулы, основанные на исключении из всех замкнутых маршрутов рассматриваемой длины тех, которые не являются простыми циклами. В случаях к = 6, 7 приведены только формы таких маршрутов (одна упущена), без соответствующих матричных выражений и коэффициентов при них в формулах для количества циклов. Авторы [8] восполнили упущение и вывели для каждой формы матричное выражение. Однако и в этой работе отсутствуют значения коэффициентов. Вывод явных формул для величин Ск оказался столь же проблематичным, что и вывод выражений для матриц Кк. Кроме того, не представлены систематические алгоритмы их вывода.

В статье [8] установлено, что сложность подсчёта циклов длиной менее 8 не превышает по порядку сложность умножения матриц размера п х п, где п — количество вершин. Этот же вывод следует из работ [1,6]. Альтернативный подход

Статья поступила в редакцию 13 декабря 2011 г.

к подсчёту простых циклов с помощью матрицы смежности представлен в статье [10]. Авторы вывели универсальную формулу для количества простых циклов произвольной фиксированной длины (за исключением случая гамильтоновых циклов, для которого приведено другое выражение). Однако сложность вычисления по этой формуле экспоненциально зависит от порядка графа.

2. Вывод формул

Алгоритм и формулы Росса и Харари [6] основаны на соотношении

Г^ = Е

Ясхк, Я=0

(к) „ , где г"- — количество маршрутов длиной к из вершины г в вершину ], не являющихся путями, Шз — множество всех маршрутов длиной к из г в определённые вершины которых совпадают, а Хк — множество всех возможных пар номеров совпадающих вершин:

= {ю е Ш | У{р; д}еБюр = }, Хк = {{р; д} с 0,..., к | р < 9-1}\{{0; к}}.

Символом Ш обозначено множество всех маршрутов длиной к из I в ^. Количество маршрутов из множества Шз выражается с помощью элементов матрицы смежности:

^1 = Е ...агк_1гк, г0 = I, гк =

Если совпадающим (согласно 5) вершинам маршрута сопоставить один и тот же индекс, то сумма преобразуется в кратную сумму (возможно, нулевой кратности), где каждый индекс пробегает диапазон 1,...,п, по количеству вершин в графе. За счёт введения вспомогательных матриц, например, степеней матрицы смежности, Росс и Харари получили полностью матричную запись формул для матриц Дз, Д4, Л5 и Я6 в терминах операций «» (обычное умножение матриц), «х» (поэлементное умножение матриц), «т» (транспонирование матрицы) и «&> (диагональная матрица с той же главной диагональю, что матрица-аргумент). Например,

(3) _ v-^ I V^ _

T'ij / у ^ij^jk^kj I / y ^ik^ki^ij aijQj

' ij ~

к=1 k=l

_

За исключением случая к _ 3, многие величины |Ws| тождественно обращаются в нуль (в частности, все при |S1 > [(к + 1)/2]  [(к — 1)/2] [6, с. 196]) или оказываются подобными, поэтому количество слагаемых в формуле (1) существенно сокращается. Например, при к _ 6 из 6475 слагаемых (|S1 ^ 6) после упрощения остаётся 101.

Прямая реализация алгоритма Росса и Харари в системе компьютерной алгебры Maple (версий 7 и 12) позволила вывести формулы для матриц R7 и Rg. Проблемой продолжения ряда явился резкий рост количества подмножеств S в формуле (1). Кроме этого, ввиду неоднозначности записи слагаемых, оставались неприведённые подобные слагаемые. Путём специального упорядочения наборов S и аналитического учёта части подобных слагаемых удалось существенно уменьшить объём перебора и получить выражения для матриц Rg и Riq. В последнем

случае примерно 2/3 времени заняло приведение подобных слагаемых, основанное на проверке изоморфизма соответствующих форм маршрутов.

Соотношение, аналогичное (1), имеет место и непосредственно для величин Ск. Разработанная модификация улучшенного алгоритма Росса и Харари позволила продвинуться дальше ещё на одно значение длины и получить явные выражения для Ск при к ^ 12, продолжив ряд ранее известных результатов [7-9]. Кроме того, они оказались существенно компактнее формул для матриц Кк-1 (см. табл. 1). Алгоритм позволяет без труда учесть двудольность графа — достаточно изменить только множество Хк, исключив пары с нечётной разностью элементов. В результате получаются ещё более компактные выражения и оказывается возможным вывести формулу для количества циклов длиной 14 в двудольном графе.

Таблица 1

Количество слагаемых в формулах

к 4 5 6 7 8 9 10 11 12 14

Як-1 3 9 32 101 348 1225 4555 17475

Ск (произвольный граф) 3 3 10 12 35 58 160 341 958

Ск (двудольный граф) 3 7 20 59 230 1002

3. Вид слагаемых

Исходный вид каждого слагаемого в формуле (1) — кратная сумма. Преобразования Росса и Харари позволяют исключать индекс, встречающийся в паре не более чем с двумя другими индексами (см., например, (2)). Таким образом удаётся последовательно исключить все индексы в формулах для матриц Кк при к ^ 6. Величины Ск в случае произвольных графов выражаются полностью в матричном виде при к ^ 7, а в случае двудольных графов — при к ^ 8.

Количество индексов, парных с данным и отличных от него, будем называть степенью этого индекса.

Рассмотрим случай матриц Кк. Пусть у — количество индексов исходной кратной суммы степенью более двух. Цепочка индексов, например, (г;]; к;]), (г; к; г;]) или (г; ]; г; в выражении (2), представляет форму маршрутов. Поэтому индекс % или '} (соответствующий началу или концу маршрута) участвует, по крайней мере, в одной паре соседних индексов. По этой же причине количество пар, в которых участвует любой отличный от % и '} индекс, чётно. Если его степень более двух, то пар, по крайней мере, четыре. Сложив количество пар, в которых участвуют такие индексы, а также % и j, получим следующую оценку:

4у +1 + 1 < 2к, или у < [(к - 1)/2].

При к ^ 8 можно указать вид цепочек, для которых эта оценка достигается, причём степени всех индексов, отличных от % и '}, превышают два. Например,

(г; Ь; 12;   ; 1У; ]; 1У; 1у-2;   ;¿1; ¿2; 1а;   ; 1у-ъ ]), если к = 0 (шоё 4).

В формуле для матрицы Д7 наибольшая кратность сумм после исключения индексов равна двум.

Аналогичные рассуждения при анализе выражений для количества циклов длиной к в произвольных графах приводят к оценке у ^ [&/2], достигаемой при к ^ 8. В случае двудольных графов удалось исследовать только частные формулы — при к = 4, 6,  , 14. Наибольшая кратность сумм после исключения индексов равна 4, если к = 10, и 6, если к = 12, 14.

4. Упрощение формулы Хоменко и Головко

В работе [10] выведена следующая формула для количества простых циклов фиксированной длины.

Ск = Тк

п—к—1 п—2

Е

Ук е 3,... ,п — 1,

где Ав — подматрица матрицы смежности А, получаемая удалением строк и столбцов с номерами из множества 5 С 1,...,п, £1 = п — к + 1, а остальные £I удовлетворяют соотношению

+,-1 и, -1 + + ; - - эд +

= -(* +-' -')(

1 -1 / \ i si a + is"

( -i

+ (I - 1)(1 - 2)... 2 \

Wf. _i_ i Vf. _i_ о\ ie, / _ o^ s1—1J '

Два замечания позволяют упростить выражение (3). Во-первых, имеет место тождество [10, с. 388]:

п—2

\к

Е(—1)^ Е tr (А|) = 0, Ук е 3,... ,п — 1.

С его помощью суммирование по г е (1,...,п — 2) \ {п — к} сводится к суммированию по г е п — к,... ,п — 2. Во-вторых, более компактно записываются

коэффициенты ^ = (—1)г+1(П-+ ') , V/ е 1,...,к — 2.

В результате обоих упрощений получается выражение

1 к

^ = ^ Е

которое оказывается справедливым и при к = п, совпадая с формулой, приведённой в статье [10].

5. Оценка сложности формул

Под сложностью формулы в работе понимается сложность вычислений, предписанных формулой. Наибольшая кратность сумм, встречающихся в выражении для матрицы Rk при к ^ 8, равна [(к — 1)/2]. При этом общий член суммы представляет собой произведение некоторых элементов матрицы смежности в количестве, не зависящем от порядка графа п. Сумму требуется вычислить для каждого элемента матрицы Rk, за исключением диагональных. Следовательно сложность формулы для этой матрицы при к ^ 8 есть величина 0(n[(fe+3)/2] logn). Логарифмический множитель выражает сложность суммирования двух величин, полиномиально зависящих от п. В случае к ^ 7 выражения анализировались путём непосредственного перебора слагаемых. Сложность формулы для матрицы R7 оценивается величиной 0(п4 logn) (встречается двойная сумма). Выражения для R3, R4, R5 и Rq записываются полностью в матричном виде. Самая трудоёмкая операция в них — умножение матриц. Следовательно при к ^ 6 сложность

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

Случай подсчёта циклов для произвольного графа аналогичен. Наибольшая кратность сумм при k ^ 8 равна [fc/2], и общий член сумм такой кратности имеет тот же вид, что в случае выражений для Rk. Однако каждая сумма вычисляется единственный раз, поэтому сложность формулы для подсчёта Ск при к ^ 8 есть величина 0(n[fc/2] log п). Выражения для сз, С4, ..., С7 записываются полностью в матричном виде.

Формулы для количества циклов в двудольных графах исследованы только при к ^ 14, путём перебора слагаемых. Для значений 8, 10 и 14 их сложность оказывается на порядок меньше по сравнению с выражениями в общем случае. Множитель log п заменяется на log2 п, так как в общих членах сумм наибольшей кратности встречаются произведения величин, полиномиально зависящих от п. При к = 4, 6, 12 сложности формул для произвольных и двудольных графов оцениваются одинаково.

В выражении (3) при произвольной фиксированной длине цикла к фигурируют почти все подмножества вершин графа. Для каждого из них вычисляется след к-й степени соответствующей подматрицы, поэтому формула имеет сложность 0(2пг(п)) для произвольного фиксированного к. В упрощённом варианте (4) рассматриваются всевозможные подматрицы матрицы смежности порядком не более к. Наибольшую оценку 0(пк) имеет количество подматриц порядка к. Затраты на вычисление следа к-й степени подматрицы, как и её порядок, не зависят от п. Каждый след вносит в общую сумму величину, также не зависящую от п. Следовательно сложность формулы (4) имеет оценку 0(пк logп).

Вычисления выполнялись в системе компьютерной алгебры GAP 4.4.10 на ПК с процессором AMD Athlon 64 Processor 3500+ (2211 МГц, L1 128 КБ, L2 512 КБ), оперативной памятью DIMM DDR2 2х512 МБ, 400 МГц и операционной системой Windows XP SP 2.

Выведенные в Maple формулы были сохранены в текстовых файлах, откуда могли считываться программой, написанной на языке GAP. Для обычного умножения матриц использовались встроенные операции GAP, а вычисление кратных сумм производилось с помощью функции GAP SumX. Результаты, представленные на рис. 1, 2 практически не зависят от структуры графа, так как для любого графа выполняются одни и те же операции с его матрицей смежности.

6. Вычислительные эксперименты

с8 R

10 20 30 40 50 60 70 80 90 100

Количество вершин

Рис. 1. Время подсчёта циклов длиной 8 по формулам в системе GAP: Rk — через матрицу маршрутов; Ск — непосредственно для произвольных графов; с'к — непосредственно для двудольных графов; с"к — по формуле

Количество вершин

Рис. 2. Время подсчёта циклов длиной 10 по формулам в системе GAP: Rk — через матрицу маршрутов; Ск — непосредственно для произвольных графов; с' к — непосредственно для двудольных графов; с"к — по формуле

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

Литература

1. Harary F., Ross I. C. The Number of Complete Cycles in a Communication Network // The Journal of Social Psychology. — 1954. — Vol. 40. — Pp. 329-332.

2. Bianconi G, Capocci A. Number of Loops of Size h in Growing Scale-Free Networks // Physical Review Letters. — 2003. — Vol. 90, No 7. — P. 078701(4).

3. Structural Properties of Planar Graphs of Urban Street Patterns / A. Cardillo, S. Scellato, V. Latora, S. Porta // Physical Review E. — 2006. — Vol. 73, No 6. — P. 066107(8).

4. Fagiolo G. Clustering in Complex Directed Networks // Physical Review E. — 2007. — Vol. 76. — P. 026107(8).

5. Halford T. R., Chugg K. M. An Algorithm for Counting Short Cycles in Bipartite Graphs // IEEE Transactions on Information Theory. — 2006. — Vol. 52, No 1. — Pp. 287-292.

6. Ross I. C., Harary F. On the Determination of Redundancies in Sociometric Chains // Psychometrika. — 1952. — Vol. 17, No 2. — Pp. 195-208.

7. Harary F., Manvel B. On the Number of Cycles in a Graph // Matematicky casopis. — 1971. — Vol. 21. — Pp. 55-63.

8. Alon N., Yuster R., Zwick U. Finding and Counting Given Length Cycles // Al-gorithmica. — 1997. — Vol. 17. — Pp. 209-223.

9. Chang Y. C., Fu H. L. The Number of 6-cycles in a Graph // Bulletin of the Institute of Combinatorics and its Applications. — 2003. — Vol. 39.

10. Хоменко Н. П., Головко Л. Д. Выделение из графа его частей некоторых типов и подсчёт их количества // Украинский математический журнал. — 1972. — Т. 24, № 3. — С. 385-396. [Khomenko N. P., Golovko L. D. Vihdelenie iz grafa ego chasteyj nekotorihkh tipov i podschyot ikh kolichestva // Ukrainskiyj matematicheskiyj zhurnal. — 1972. — T. 24, No 3. — S. 385-396. ]

UDC 519.173.5:519.177

The Number of Fixed Length Cycles in Undirected Graph Explicit Formula in Case of Small Lengths

A. N. Voropaev, S. N. Perepechko

Chair of Applied Mathematics and Cybernetics Petrozavodsk State University 185910 Petrozavodsk, Republic of Karelia, Russia

Modifications of Ross and Harary algorithm to express the number Ck of cycles of length k in an undirected graph in terms of its adjacency matrix are developed. The general undirected graphs as well as bipartite graphs were considered. Computer algebra implementations of the algorithms enable us to construct the formulae at least for k ^ 12 in general case and for k ^ 14 in case of bipartite graph. It was shown that, for any fixed value of k ^ 8 and space complexity quadratic in order n of a graph, the time complexity of computing Ck is 0(n[k/2] log n). In case of bipartite graph, for k = 8,10,14 better estimations are obtained: o (n3 log2 n), 0(n4 log2 n), 0(n6 log2 n).

Key words and phrases: graph algorithms, cycles in graph, adjacency matrix.