Научная статья на тему 'МЕТОДЫ ПОИСКА МИНИМАЛЬНЫХ ПРИМИТИВНЫХ РАСШИРЕНИЙ ОРИЕНТИРОВАННЫХ ГРАФОВ'

МЕТОДЫ ПОИСКА МИНИМАЛЬНЫХ ПРИМИТИВНЫХ РАСШИРЕНИЙ ОРИЕНТИРОВАННЫХ ГРАФОВ Текст научной статьи по специальности «Математика»

CC BY
84
9
Читать
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ПРИМИТИВНОСТЬ / РАСШИРЕНИЕ ГРАФА / НАИБОЛЬШИЙ ОБЩИЙ ДЕЛИТЕЛЬ / КОНТУР ГРАФА

Аннотация научной статьи по математике, автор научной работы — Рипинен А. А., Абросимов М. Б.

Граф G называется примитивным, если в нем все вершины взаимно достижимы за одинаковое количество шагов. Понятие примитивности изначально было сформулировано для матриц и естественным образом расширилось на графы при рассмотрении графа как матрицы смежности. Исследования по примитивным графам активно ведутся по разным направлениям. Например, производятся оценки экспонентов примитивных графов, рассматривается степенная структура примитивных графов и другие их свойства. Из определения следует, что примитивный граф является сильно связанным. В связи с этим для поиска минимального примитивного расширения нужно проверить наличие минимального сильно связанного расширения, являющегося примитивным. В случае, когда такого расширения нет, можно использовать известный алгоритм для произвольного минимального сильно связанного расширения. Хорошо известен критерий примитивности графа: граф является примитивным тогда и только тогда, когда наибольший общий делитель всех его контуров равен единице. В данной работе будет предложен алгоритм преобразования исходного графа, при котором набольший общий делитель всех контуров не изменится, для упрощения поиска минимального примитивного расширения для отдельных классов графов, асимптотическая сложность которого O(m), где m - количество дуг в графе.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
Предварительный просмотр
i Надоели баннеры? Вы всегда можете отключить рекламу.

METHODS FOR FINDING MINIMAL PRIMITIVE EXTENSIONS OF DIRECTED GRAPHS

A graph G is called primitive if all vertices in it are mutually reachable in the same number of steps. The concept of primitivity was originally formulated for matrices and naturally extended to graphs when considering a graph as an adjacency matrix. Research on primitive graphs is being actively pursued in various directions. For example, estimates of the exponents of primitive graphs are made, the power structure of primitive graphs and their other properties are considered. It follows from the definition that a primitive graph is strongly connected. In this regard, in order to find the minimal primitive extension, it is necessary to check for the presence of a minimal strongly coupled extension, which is primitive. In the case when there is no such extension, a well-known algorithm for an arbitrary minimal strongly coupled extension can be used. The criterion for primitiveness of a graph is well known: a graph is primitive if and only if the greatest common divisor of all its cycles is equal to one. In this paper, we will propose an algorithm for transforming the original graph, in which the largest common divisor of all cycles does not change, to simplify the search for the minimal primitive extension for individual classes of graphs, the asymptotic complexity of which is O(m), where m is the number of arcs in the graph.

Текст научной работы на тему «МЕТОДЫ ПОИСКА МИНИМАЛЬНЫХ ПРИМИТИВНЫХ РАСШИРЕНИЙ ОРИЕНТИРОВАННЫХ ГРАФОВ»

Методы поиска минимальных примитивных расширений ориентированных графов

А.А. Рипинен, М.Б. Абросимов

Аннотация - Граф G называется примитивным, если в нем все вершины взаимно достижимы за одинаковое количество шагов. Понятие примитивности изначально было сформулировано для матриц и естественным образом расширилось на графы при рассмотрении графа как матрицы смежности. Исследования по примитивным графам активно ведутся по разным направлениям. Например, производятся оценки экспонентов примитивных графов, рассматривается степенная структура примитивных графов и другие их свойства. Из определения следует, что примитивный граф является сильно связанным. В связи с этим для поиска минимального примитивного расширения нужно проверить наличие минимального сильно связанного расширения, являющегося примитивным. В случае, когда такого расширения нет, можно использовать известный алгоритм для произвольного минимального сильно связанного расширения. Хорошо известен критерий примитивности графа: граф является примитивным тогда и только тогда, когда наибольший общий делитель всех его контуров равен единице. В данной работе будет предложен алгоритм преобразования исходного графа, при котором набольший общий делитель всех контуров не изменится, для упрощения поиска минимального примитивного расширения для отдельных классов графов, асимптотическая сложность которого O(m), где m -количество дуг в графе.

Ключевые слова — примитивность, расширение графа, наибольший общий делитель, контур графа.

I. Введение

Ориентированным графом (далее просто графом) называется пара О = (V, а), где а - отношение на множестве вершин V, называемое отношением смежности. Если (и, р) Е а, то говорят, что в графе О есть дуга из вершины и в вершину V. Основные определения даются по работе [1].

Вершина V достижима из вершины и за к > 1 шагов, если существует последовательность дуг (маршрут) (и, w1), ^2), ..., С^к-1, V). Если А - матрица

смежности графа в, то есть двоичная булева матрица, представляющая отношение смежности а, то достижимость вершины V из вершины и за к шагов

Статья получена 5 апреля 2021.

Работа выполнена при поддержке Минобрнауки России в рамках выполнения государственного задания (проект № FSRR-2020-0006)

А. А. Рипинен, аспирант ФГБОУ ВО СГУ имени Н.Г.Чернышевского, Саратов, Россия (e-mail: ripinenaa@yandex.ru)

М. Б. Абросимов, д.ф.-м.н., зав. кафедрой, ФГБОУ ВО СГУ имени Н.Г.Чернышевского, Саратов, Россия (e-mail: mic@rambler.ru).

означает, что соответствующий элемент матрицы Ак равен 1.

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

Исследования примитивных графов ведутся вот уже более ста лет, начиная с работы [2], по разным направлениям. Например, производятся оценки экспонентов примитивных графов [3, 4], рассматривается степенная структура примитивных графов [5] и другие их свойства [6].

В данной работе мы будем рассматривать примитивные расширения, исследование которых началось в работе [7].

Граф О = (V, а ) называется примитивным расширением графа О = (V, а), если граф О * получен из графа О добавлением дуг и является примитивным.

Граф О = (V , а ) называется минимальным примитивным расширением графа О = (V, а), если О является примитивным расширением, полученным добавлением минимального количества дуг к графу О.

Хорошо известным является критерий примитивности (см., например, [8, 9, 10]): граф является примитивным тогда и только тогда, когда наибольший общий делитель (далее НОД) всех его контуров равен единице.

Задача поиска минимального примитивного расширения графа О сводится к поиску минимального сильно связанного расширения, являющегося примитивным. В работе [7] доказывается результат, что если сильно связный граф не является примитивным, то его минимальное примитивное расширение получается добавлением одной дуги.

Пусть С = (V, а) - не примитивный сильно связный граф. Алгоритм построения минимального примитивного расширения графа С выглядит следующим образом:

1) найти в графе С цепь угу2у3, где ^ ЕУ при I = 1... 3;

2) построить граф С = (V, аЩ^^)). Граф С является искомым расширением.

II. Объединение вершин ориентированного графа Пусть дан произвольный граф G = (V, а) и вершины иу Е V. Результатом объединения вершин и и V является факторграф Ои„ по отношению эквивалентности ви„. &и„ - такое отношение эквивалентности, что вершины и и V попадают в один класс эквивалентности, а каждая другая вершина составляет отдельный класс эквивалентности.

Пример объединения вершин графа изображен на рисунке 1.

Рисунок 1: Пример объединения вершин в графе.

Теорема 1. Пусть в сильно связном графе G = (V, а) существует циклический маршрут длины к и вершины и,,, Е V взаимно достижимы за к шагов. Тогда граф О является примитивным тогда и только тогда, когда примитивным является граф Ои„.

Доказательство. Пусть дан граф О = (V, а), удовлетворяющий условиям теоремы. Пусть его контуры имеют длины с}, с2,... ,с. Тогда величина к является линейной комбинацией величин с}, с2,... ,сР Следовательно,

НОД(сь с*... , с,)=НОД(съ с*..., с, к).

В результате объединения вершин и и V графа О, в графе Ои, останутся некоторые контуры графа О, некоторые контуры добавятся и некоторые контуры разорвутся.

Первый случай не влияет на НОД всех контуров графа ОиЭтому случаю удовлетворяют все контуры графа О, не проходящие через вершины и и V одновременно.

Новые контуры могут появиться только тогда, когда вершины и и V были соединены некоторой цепью в графе О. Пусть вершина и соединена с V цепью длины р. Тогда в графе Ои„ существует контур длины р и в графе О существует циклический маршрут длины к + р. Следовательно, величина к + р является линейной комбинацией величин с;, с2,... , с. Но и величина к тоже является линейной комбинацией длин контуров графа О. Следовательно, величина р также является линейной комбинацией величин с1, с2,..., с. Таким образом, появление новых контуров не влияет на НОД длин всех контуров графа О.

Третий случай возможен тогда, когда в графе О существует контур длины р, проходящий через вершины и и V. Но этот контур можно разбить на две цепи: цепь длины р;, начинающаяся в и и заканчивающаяся в V, и цепь длины р2, начинающаяся в V и заканчивающаяся в и. Тогда + р2 = р. В результате объединения вершин и и V, в графе Ои„ появятся два контура: контур длины р1 и контур длины р2. Так как их сумма равна р, а каждое из этих значений является

линейной комбинацией величин cl, c2,... , ct, то разрыв контура не влияет на НОД длин всех контуров графа G.

Таким образом, НОД длин контуров графа G равен НОД длин контуров графа Guv. Следовательно, по критерию примитивности графов, граф G является примитивным тогда и только тогда, когда примитивным является Guv. ■

III. Сжатие ориентированного графа

Под цепочкой объединений графа G = (V, а) будет пониматься последовательное применение операций объединения следующим образом: первое объединение в цепочке применяется к графу G, в результате чего получается граф Gü второе объединение применяется к графу Gi, в результате чего получается граф G2; i-е объединение применяется к графу Gi. 1, в результате чего получается граф Gi. Если к графу G применить цепочку объединений длины n, то результатом будет являться граф Gn.

Пусть есть некоторый набор условий, по которому можно объединять вершины в графе.

Максимальная цепочка объединений графа G = (V, а) по заданному набору условий - это цепочка объединений, результатом применения которой к графу G является граф G', в котором в соответствии с заданными условиями невозможно сделать никакое объединение вершин.

Сжатием графа G = (V, а) по заданному набору условий называется процедура применения к графу G любой максимальной цепочки объединений по этому набору условий.

Сжатой версией графа G или сжатым графом для G будет называться результат сжатия графа G.

Теорема 2. Пусть G = (V, а) - сильно связный граф, в котором есть циклический маршрут длины s, проходящий через все дуги и вершины графа G. Вершины ul и u2 Е V взаимно достижимы за s шагов в графе G если выполняется одно из следующих условий:

1. существует вершина v Е V такая, что в графе G есть дуги vui и vu2;

2. существует вершина v Е V такая, что в графе G есть дуги ulv и u2v.

Доказательство.

Пусть граф G = (V, а) удовлетворяет условию теоремы и для вершин ul, u2, v Е V выполняется первое условие. Рассматриваемый циклический маршрут проходит по всем дугам графа G. Так как он проходит по всем дугам, то должен пройти по дугам vul и vu2. Следовательно, данный маршрут выходит из вершины v минимум два раза. Тогда, двигаясь по нему, первой можно посетить вершину ul и считать, что на самом деле этого шага не было, то есть из вершины ul можно попасть в v за s - 1 шаг. Последний шаг можно сделать в u2. Следовательно, из вершины ul можно попасть в u2 за s шагов. Аналогично доказывается, что из вершины u2 можно попасть в вершину ul за s шагов.

Второе условие доказывается аналогично, если в графе G переориентировать все дуги. ■

Рассмотрим сжатие графа на основе условий из теоремы 2. Заметим, что среди вершин и}, и2, V могут быть и одинаковые вершины. Описанный набор условий изображен на рисунке 2.

Рисунок 2: Условия объединения вершин.

Теорема 3. Пусть О = (V, а) - сильно связный граф, О' - результат применения некоторой цепочки объединений к графу О по набору условий из теоремы 2. Тогда наибольший общий делитель всех контуров графа О равен наибольшему общему делителю всех контуров графа О'.

Доказательство.

Пусть дан сильно связный граф О и некоторая цепочка длины к объединений по набору условий из теоремы 2.

Пусть О0 = О, О] - результат применение первого объединения из цепочки к графу О0, О/ - результат применения /-го объединения из цепочки объединений к графу О,_ь Ок = О'. Тогда рассмотрим О/ и О/ + ь где 0 < / < к. Так как О, + ь - результат применения объединения из цепочки объединений по набору условий из теоремы 2 к графу О/, то наибольший общий делитель всех контуров графа О/ равен наибольшему общему делителю всех контуров графа О/ + ь. Так как это верно для всех 0 < / < к, то наибольший общий делитель всех контуров графа О0 = О равен наибольшему общему делителю всех контуров графа Ок = О'. ■

Из теоремы 3 следует, что если в любом сильно связном графе О объединить вершины по набору условий из теоремы 2, то полученный граф будет примитивным тогда и только тогда, когда граф О является примитивным.

Описанная выше процедура будет называться сжатием графа О, а ее результат - сжатым графом.

IV. Виды сжатых графов

Так как набор условий из теоремы 2 можно применить к любому сильно связному расширению графа О, то по этим условиям можно сжимать сам граф О, не теряя при этом значение НОД. Данная процедура будет называться сжатием графа О, а ее результат -сжатым линейным графом типа II.

Теорема 4. Сжатый связанный граф может быть трех

типов: петля, контур или цепь.

Доказательство.

Из построения сжатого графа следует, что каждая вершина в нем имеет значение степени входа и степени исхода не более единицы, причем связанность графа при сжатии сохраняется. Таким графам соответствуют только 3 типа графов: петля, контур или цепь. ■

Если исходный граф содержит контур, или в процессе применения цепочки объединений в графе появился контур, то сжатый граф будет являться контуром по построению.

V. Анализ сжатых графов

Конденсацией ориентированного графа G называется факторграф G/s, где е - отношение эквивалентности на множестве вершин графа G, каждый класс которого представляет собой сильно связную компоненту графа G.

Пусть Csinks - количество стоков в графе G, Csources -количество источников в графе G, csinks - количество стоков в конденсации графа G, csources - количество источников в конденсации графа G.

Граф G будет называться особым, если для него верно

Csinks Csources csinks csources. Далее будут

рассматриваться только особые графы.

Пусть граф Gc = (Vc, ac) - сжатый граф для графа G. Каждую вершину графа Gc можно рассматривать как класс отношения эквивалентности е на множестве V.

Пусть дана вершина vc Е Vc, v Е V и s(v) = vc. Тогда, если вершина v является источником графа G, то вершина vc будет называться сжатым источником, а если вершина v - сток графа G, то вершина vc - сжатым стоком. Вершина vc может быть сжатым источником и сжатым стоком одновременно.

Под источниковым порядком вершины vc Е Vc будет пониматься количество источников v Е V графа G таких, что s(v) = vc. Под стоковым порядком вершины vc Е Vc будет пониматься количество стоков v Е V графа G таких, что s(v ) = vc.

Таким образом, вершина vc Е Vc является сжатым источником, если ее источниковый порядок больше нуля, и является сжатым стоком, если ее стоковый порядок больше нуля.

Теорема 5. Если сжатый граф Gc для графа G является петлей, то любое его сильно связное расширение является примитивным.

Доказательство.

Пусть Gc - сжатый граф для графа G, являющийся петлей. Тогда любое сильно связное расширение Gs графа G можно сжимать сначала по той же цепочки объединений, что применялась для графа Gc. По теореме 3 полученный граф будет иметь тот же НОД длин контуров, что и граф Gs, и, следовательно, будет содержать контур длины 1, из-за чего НОД длин контуров графа Gs равен 1. ■

Теорема 6. Если в графе G каждый сток достижим из каждого источника, и у вершины сжатого графа Gc

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

Так как в графе G каждый сток достижим из каждого источника, любая биекция между его стоками и источниками будет соответствовать минимальному сильно связному расширению.

Так как в Gc есть вершина, у которой источниковый и стоковый порядок больше нуля, то по крайней мере в одном минимальном сильно связном расширении графа G есть дуга, соответствующая петле в этой вершине графа Gc, и, следовательно, НОД длин контуров такого расширения будет равен единице. ■

Если граф Gc является цепью, то его можно свести к случаю контура.

Теорема 7. Если сжатый граф Gc является цепью, то его сток соответствует некоторому стоку исходного графа G. Доказательство.

Предположим, что утверждение теоремы неверно, и сток v графа Gc не является стоком исходного графа. Тогда по построению из вершины v должна исходить дуга, что противоречит тому, что v - сток. ■

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

VI. Заключение

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

Библиография

[1] Богомолов А.М., Салий В.Н. Алгебраические основы теории дискретных систем. М.: Наука 1997.

[2] Frobenius G. Über Matrizen aus nicht negativen Elementen // Sitzungsber. Preuß. Akad. Wiss., Berlin, 1912. P. 456-477.

[3] Wielandt H. Unzerlegbare nicht negative Matrizen // Math. Zeitschr. 1950. V. 52. P. 642-648.

[4] Фомичев В.М. Оценки экспонентов примитивных графов // Прикладная дискретная математика. 2011. №2(12). С. 101-112

[5] Фомичев В.М. О степенной структуре графов // Прикладная дискретная математика, 2015, №8. С. 20-22.

[6] Фомичев В.М. Свойства минимальных примитивных орграфов // Прикладная дискретная математика. 2015. .№2(28). С. 86-96.

[7] Салий В.Н. Минимальные примитивные расширения ориентированных графов. // Прикладная дискретная математика. 2008.C. 116-119.

[8] Dulmage A.L., Mendelsohn N.S. The exponent of a primitive matrix // Canad. Math. Bull. 1963. Vol. 5, № 3. P. 241-244.

[9] Brualdi R., Ryser H. Combinatorial Matrix Theory. Cambridge University Press, New York, 1991.

[10] Сачков В.Н., Тараканов В.Е. Комбинаторика неотрицательных матриц. М.: ТВП, 2000.

Methods for finding minimal primitive extensions of

directed graphs

A.A. Ripinen, M.B. Abrosimov

Annotation - A graph G is called primitive if all vertices in it are mutually reachable in the same number of steps. The concept of primitivity was originally formulated for matrices and naturally extended to graphs when considering a graph as an adjacency matrix. Research on primitive graphs is being actively pursued in various directions. For example, estimates of the exponents of primitive graphs are made, the power structure of primitive graphs and their other properties are considered. It follows from the definition that a primitive graph is strongly connected. In this regard, in order to find the minimal primitive extension, it is necessary to check for the presence of a minimal strongly coupled extension, which is primitive. In the case when there is no such extension, a well-known algorithm for an arbitrary minimal strongly coupled extension can be used. The criterion for primitiveness of a graph is well known: a graph is primitive if and only if the greatest common divisor of all its cycles is equal to one. In this paper, we will propose an algorithm for transforming the original graph, in which the largest common divisor of all cycles does not change, to simplify the search for the minimal primitive extension for individual classes of graphs, the asymptotic complexity of which is O(m), where m is the number of arcs in the graph.

Key words - primitivity, graph extension, greatest common divisor, graph cycle.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

REFERENCES

[1] Bogomolov A.M., Salii V.N. Algebraicheskie osnovy teorii diskretnykh sistem. M.: Nauka 1997.

[2] Frobenius G. Über Matrizen aus nicht negativen Elementen // Sitzungsber. Preuß. Akad. Wiss., Berlin, 1912. P. 456-477.

[3] Wielandt H. Unzerlegbare nicht negative Matrizen // Math. Zeitschr. 1950. V. 52. P. 642-648.

[4] Fomichev V.M. Otsenki eksponentov primitivnykh grafov // Prikladnaia diskretnaia matematika. 2011. №2(12). S. 101-112

[5] Fomichev V.M. O stepennoi strukture grafov // Prikladnaia diskretnaia matematika, 2015, №8. S. 20-22.

[6] Fomichev V.M. Svoistva minimal'nykh primitivnykh orgrafov // Prikladnaia diskretnaia matematika. 2015. №2(28). S. 86-96.

[7] Salii V.N. Minimal'nye primitivnye rasshireniia orientirovannykh grafov. // Prikladnaia diskretnaia matematika. 2008. C. 116-119.

[8] Dulmage A.L., Mendelsohn N.S. The exponent of a primitive matrix // Canad. Math. Bull. 1963. Vol. 5, № 3. P. 241-244.

[9] Brualdi R., Ryser H. Combinatorial Matrix Theory. Cambridge University Press, New York, 1991.

[10] Sachkov V.N., Tarakanov V.E. Kombinatorika neotritsatel'nykh matrits. M.: TVP, 2000.

i Надоели баннеры? Вы всегда можете отключить рекламу.