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

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

CC BY
29
6
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСШИРЕНИЯ ГРАФОВ / РАСКРАСКИ ГРАФОВ / ЦВЕТНЫЕ ГРАФЫ / МИНИМАЛЬНЫЕ ВЕРШИННЫЕ РАСШИРЕНИЯ / ИЗОМОРФИЗМ ГРАФОВ / ИЗОМОРФИЗМ ЦВЕТНЫХ ГРАФОВ

Аннотация научной статьи по математике, автор научной работы — Абросимов Михаил Борисович, Разумовский Петр Владимирович

Актуальность и цели . Предлагаются к рассмотрению результаты поиска минимальных вершинных расширений для неориентированных цветных графов. Данная тематика непосредственно связана с моделированием полных отказоустойчивых технических систем с элементами различного типа в терминологии графов. Система может быть описана некоторым графом, вершины которого сопоставлены некоторым элементам системы, а ребра - связям между ними. Отказоустойчивость является одним из важнейших свойств технических систем, особенно если данные системы введены в критические области жизни: медицина, освоение космоса, средства коммуникации. Материалы и методы . Используются методы математического моделирования технических систем в терминах теории графов. Основное исследование сосредоточено на построении попарно-неизоморфных отказоустойчивых реализаций цветных графов. При построении данных реализаций использованы техники isomorphism rejection и метод канонических представителей. Результаты . Рассматривается задача поиска минимальных вершинных k -расширений цветного графа без проверки на изоморфизм. Предлагается алгоритм поиска множества всех неизоморфных минимальных k -расширений для заданного цветного графа. Выводы . Представленный алгоритм был реализован в программном комплексе. Были проведены вычислительные эксперименты для различных конфигураций цветных графов.

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

FINDING MINIMAL VERTEX EXTENSIONS OF A COLORED UNDIRECTED GRAPH

Background . The research considers the results of the finding minimal vertex extensions of the colored undirected graphs. This topic relates to the modelling of the completely fault tolerant technical systems with the different typed objects in the terms of graph theory. The system could be described as some graph where vertices reflect system’s objects and edges are connection lines between these objects. Fault tolerance property is one of the technical system’s main properties, especially if such system works in the critical life areas: medicine, space, communication. Materials and methods. The article uses mathematical modelling methods of the technical systems in the terms of graph theory. The main research is focused on constructing non-isomorphic fault tolerant implementations of the colored undirected graphs. The constructing algorithms uses isomorphic rejection and canonical labelling techniques. Results . The article considers the problem of the search for minimal vertex k -extensions of the colored graphs without isomorphism verification. The study proposes the algorithm of finding all non-isomorphic minimal vertex k- extensions for the defined colored graph. Conclusions . The proposed algorithm was implemented as a runnable executable program. There are some experiment calculations for the various configurations of the colored graphs.

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

УДК 519.17

doi:10.21685/2072-3040-2021-4-8

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

М. Б. Абросимов1, П. В. Разумовский2

1,2Саратовский национальный исследовательский университет имени Н. Г. Чернышевского, Саратов, Россия 1 mic@rambler.ru, 2shprotby@gmail.com

Аннотация. Актуальность и цели. Предлагаются к рассмотрению результаты поиска минимальных вершинных расширений для неориентированных цветных графов. Данная тематика непосредственно связана с моделированием полных отказоустойчивых технических систем с элементами различного типа в терминологии графов. Система может быть описана некоторым графом, вершины которого сопоставлены некоторым элементам системы, а ребра - связям между ними. Отказоустойчивость является одним из важнейших свойств технических систем, особенно если данные системы введены в критические области жизни: медицина, освоение космоса, средства коммуникации. Материалы и методы. Используются методы математического моделирования технических систем в терминах теории графов. Основное исследование сосредоточено на построении попарно-неизоморфных отказоустойчивых реализаций цветных графов. При построении данных реализаций использованы техники isomorphism rejection и метод канонических представителей. Результаты. Рассматривается задача поиска минимальных вершинных ^-расширений цветного графа без проверки на изоморфизм. Предлагается алгоритм поиска множества всех неизоморфных минимальных /^-расширений для заданного цветного графа. Выводы. Представленный алгоритм был реализован в программном комплексе. Были проведены вычислительные эксперименты для различных конфигураций цветных графов. Ключевые слова: расширения графов, раскраски графов, цветные графы, минимальные вершинные расширения, изоморфизм графов, изоморфизм цветных графов

Для цитирования: Абросимов М. Б., Разумовский П. В. О поиске минимальных вершинных расширений цветного неориентированного графа // Известия высших учебных заведений. Поволжский регион. Физико-математические науки. 2021. № 4. С. 106-117. doi:10.21685/2072-3040-2021-4-8

Finding minimal vertex extensions of a colored undirected graph M.B. Abrosimov1, P.V. Razumovsky2

1,2Saratov State University, Saratov, Russia 1 mic@rambler.ru, 2shprotby@gmail.com

Abstract. Background. The research considers the results of the finding minimal vertex extensions of the colored undirected graphs. This topic relates to the modelling of the completely fault tolerant technical systems with the different typed objects in the terms of graph theory. The system could be described as some graph where vertices reflect system's objects and edges are connection lines between these objects. Fault tolerance property is one of the technical system's main properties, especially if such system works in the critical life areas: medicine, space, communication. Materials and methods. The article uses mathematical modelling methods of the technical systems in the terms of graph theory. The main re-

© Абросимов М. Б., Разумовский П. В., 2021. Контент доступен по лицензии Creative Commons Attribution 4.0 License / This work is licensed under a Creative Commons Attribution 4.0 License.

search is focused on constructing non-isomorphic fault tolerant implementations of the colored undirected graphs. The constructing algorithms uses isomorphic rejection and canonical labelling techniques. Results. The article considers the problem of the search for minimal vertex ^-extensions of the colored graphs without isomorphism verification. The study proposes the algorithm of finding all non-isomorphic minimal vertex ^-extensions for the defined colored graph. Conclusions. The proposed algorithm was implemented as a runnable executable program. There are some experiment calculations for the various configurations of the colored graphs.

Keywords: graph extensions, graph coloring, colored graphs, minimal vertex extensions, graph isomorphism, colored graph isomorphism

For citation: Abrosimov M.B., Razumovsky P.V. Finding minimal vertex extensions of a colored undirected graph. Izvestiya vysshikh uchebnykh zavedeniy. Povolzhskiy region. Fiziko-matematicheskie nauki = University proceedings. Volga region. Physical and mathematical sciences. 2021;(4):106-117. (In Russ.). doi:10.21685/2072-3040-2021-4-8

Введение

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

Д. Хейз [2] предложил модель для исследования полной отказоустойчивости технических систем, основанных на графах. В теории графов задача о построении отказоустойчивой системы трактуется как задача о поиске минимальных расширений заданного графа [3].

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

Было доказано [4], что задача является вычислительно сложной. А именно: задача проверки того, что граф является вершинным k -расширением заданного графа, является NP-полной. В работах [6, 7] предлагается переборный алгоритм построения минимальных вершинных k -расширений графов (далее МВ-k Р). Описанный алгоритм является переборным и сложен для распараллеливания.

Одним из наиболее эффективных улучшений переборного алгоритма является использование техники isomorphism rejection, или «без проверки на изоморфизм» [7]. Другими словами, при построении кандидатов получается не только сразу отсечь все изоморфные графы, оставив только неизоморфные, но и избавиться от необходимости проверять каждые два графа между собой на изоморфизм.

В данной области существует два эффективных подхода, представленных методом Брендана МакКея [4] и методом Рида-Фараджева [7].

В работе М. Б. Абросимова и И. А. К. Камила [8] был предложен алгоритм построения минимальных вершинных расширений неориентированных

графов, основанный на методе Рида-Фараджева, а в работе М. Б. Абросимова и Х. Судани - аналогичный алгоритм для построения минимальных реберных расширений. Полный обзор и описание алгоритмов данного подхода можно найти в работах [8, 9].

1. Необходимые понятия и определения из теории графов Определение 1. Пусть О = (¥, а) - граф, и 7 е N. Функция вида /: V ^{1,..., ¡} называется вершинной ¡-раскраской графа О, а /(у), Vе V,

называется цветом вершины V. При этом граф называется графом с цветными вершинами, или цветным графом. Для таких графов вводится следующее обозначение: О = (V,а,/).

Определение 2. Говорят, что цветной граф О1 =(, а1, /) допускает

вложение цветного графа О2 = (, а2, /2) ,если:

1) существует взаимно однозначное отношение С, V ^ У{, которое позволяет вложить О2 в граф О1 :

V и, V е V: (и, V )е а! ^(((и), ))е а2;

2) цвет любой вершины V е О2 сохраняется при вложении:

V V е О2: / (и ) = /2 (((и)).

Также часто говорят, что граф О1 допускает вложение графа О2 с учетом цветов.

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

*

О со всеми инцидентными им ребрами.

* / * * * \

Определение 4. Граф О =( ,а ,/ ) называется минимальным вершинным к-расширением 7 -цветного графа О = (, а, /), если выполняются

следующие условия:

*

1) граф О является вершинным к -расширением цветного графа О ;

2) V содержит на ¡к больше вершин, чем V :

V

= V + ¡к .

Среди всех графов, удовлетворяющих условиям 1 и 2, а* имеет наименьшее количество ребер.

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

^ ={1 ^ I Ы . V1},

где |Vj | = {f (v) = j: Vv e V} - все вершины цвета j. Тогда если в G количество дополнительных вершин будет меньше ik хотя бы на единицу, то множество

Vf ={|V0I +1,V1 +1,V -1 +1,VI,\Vj +1 +1,|V| +1}, а значит, при удалении любой вершины цвета j количество вершин этого цвета становится равным |Vj| — 1, т.е. условие сохранности цветов нарушается и

*

G не может являться вершинным расширением цветного графа G .

2. Метод поиска расширений без проверки на изоморфизм

В отличие от [8, 9], настоящая работа дает иной взгляд на задачу о минимальном вершинном расширении, поскольку здесь используется метод МакКея [4] отсечения изоморфизмов. Он заключается в следующем:

1. Для каждой структуры определяется уникальный (каноничный) родитель и способ, которым данная структура должна быть получена из него.

2. Структура принимается, только если она генерируется выбранным способом из каноничного родителя.

3. Из каждого родителя все неизоморфные потомки должны генерироваться по одному разу.

Далее в работе мы обратим внимание на каждый из трех пунктов, реализованных в полученном алгоритме.

В ходе дальнейшей разработки алгоритма поиска модифицируем переборный алгоритм таким образом, что в граф-кандидат сразу добавим ik вершин. Это позволит достраивать новые графы при генерации потомков, добавляя только одно дополнительное ребро вместо m .

3. Канонический представитель для цветного графа

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

Первая часть канонического кода будет являться максимальным матричным кодом ^max (G) графа, или макси-кодом, который был выбран из-за

того, что он является полным инвариантом графа [5]. Это значит, что для любых двух изоморфных графов их макси-коды будут равны, а для любых двух неизоморфных - различны.

Поскольку рассматривается неориентированный граф, будем рассматривать и строить ^max (G) только по верхнему треугольнику матрицы смежности.

^max (G) графа гарантирует, что при добавлении дополнительного ребра между представителями двух различных классов подобных вершин не нарушается условие максимальности кода. Другими словами, сохраняется свойство каноничности кода. Классы подобных вершин называются орбитами, дадим определение в соответствии с [4].

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

Определение 5. Две вершины являются подобными тогда и только тогда, когда существует автоморфизм, который отображает одну вершину на другую.

Определение 6. Множество подобных вершин называется орбитой.

Имея достаточную теоретическую базу, мы можем сформулировать алгоритм построения кандидатов на роль вершинного расширения графа. Для всех последующих алгоритмов считаем, что вершины n -вершинных графов пронумерованы от 0 до (n—1).

Определим функцию Orb (G)[i], которая равна множеству подобных вершин, в котором содержится вершина i.

На вход алгоритму подается ^max (G') - максимальный матричный код графа G'=(V, а'), |V'| = |V| + ik, |а'|=| а|, где G=(V, а) - исходный граф. Результатом будет являться множество макси-кодов всех неизоморфных графов, полученных из G' добавлением дополнительного ребра.

Алгоритм 1: построение макси-кодов всех неизоморфных графов, получающихся из графа G' путем добавления одного дополнительного ребра.

1. Находим множество орбит графа Orb (G') (в соответствии с разбиением, если граф цветной).

2. Строим множество представителей Porb из множества орбит, забирая из каждой орбиты по одному (первому) представителю.

3. Для каждой вершины v определяем множество Alwv, в какие вершины «разрешено» проводить дополнительные ребра по следующим критериям:

3.1. Ребро «разрешено» проводить в любые вершины, которые содержатся в орбите вершины v .

3.2. Вершина не из орбиты вершины v попадает в множество разрешенных, когда она содержится в множестве представителей u е Alwv -о u е Porb и ее номер больше номера вершины v .

4. Для каждой вершины из множества представителей ve Porb строим новые графы путем добавления дополнительного ребра в ^max (G') по следующим критериям:

4.1. u е Alwv.

4.2. v< u - номер вершины u больше номера вершины v .

4.3. (v,u)га'.

5. Все полученные на предыдущем шаге макси-коды являются макси-кодами неизоморфных графов, полученных из G' добавлением одного дополнительного ребра.

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

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

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

Элемент кода раскраски предлагается строить следующим образом:

1) Рассматривается вершина V е У, записывается ее цвет;

2) Рассматриваются все ее смежные вершины и подсчитывается количество смежных вершин каждого цвета.

Подсчитанные данные записываются в следующем формате для каждой вершины V :

/(V){|/1М/2|,-,|/у }

где /(V) - цвет вершины V; |/ | - количество смежных вершине V вершин цвета /г.

Вектор структур для всех вершин образует код раскраски. Далее для

1 2

каждого цвета /1 выбирается два простых числа: /1 и / . Первое число стоит брать небольшим, например 3, 7, 11 и т.д. Второе следует задавать

2 I 1 \п

больше, чем первое в степени количества вершин графа: > (/ ) . Тогда

для каждой структуры /(V){|/1|, |/2|,...,|/у|} , построенной для некоторой

вершины V еУ графа О, вычисляется число, которое называется простым кодом вершины:

/с (V )=./?■( Г(/2р.

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

ЕС (О )={ /с (V): V еУ}.

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

Зададим функцию ЕС (О ] = /с (V), где О = (У, а, /) и V еУ.

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

Алгоритм 2: проверка вложенности графа О2 в граф О1. 1. г = 0, у = 0 .

2. Строятся FC(О1) и FC(О2).

3. Пока 7 < ^С(О1)|:

3.1. Если ] > ^С(О2 )| , то граф О2 вкладывается в граф О1. Выход из алгоритма.

3.2. Если FC (О1 )[7 ] mod FC (О2)[ у] = 0, то у = у +1.

3.3. 7 = 7 +1.

4. Если у > С (О2 )| , то граф О2 вкладывается в граф О2 . Выход из алгоритма.

5. Иначе граф О2 не может быть вложен в граф О1.

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

4. Алгоритм поиска минимальных вершинных к -расширений цветного неориентированного графа

Настоящая работа предлагает алгоритм поиска всех попарно-неизоморфных минимальных вершинных расширений для цветного неориентированного графа.

Алгоритм 3: построение всех неизоморфных минимальных вершинных к -расширений неориентированного 7 -цветного п -вершинного графа.

Вход: О = (V, а, /), V = п; /: V ^ F , F = {1, 2,., 7} , = 7 .

1. С = 0 - множество кандидатов на текущем шаге.

2. Е = 0 - результирующее множество минимальных вершинных к -раскрасок графа О .

3. Вычисляется простой код раскраски графа О и сохраняется в = ГС (О).

4. Строится граф О' = (V',а',/'), где множество вершин нового графа V' = V и{п +1, п + 2,., п + 7к}, множество ребер а' = а, а функция раскраски действует на все вершины нового графа /': V' ^{1,2,.,7} . Обозначим вектор раскраски графа О' как /'(О').

5. Строятся все возможные перестановки из к вершин графа О и записываются в множество Р .

6. Вычисляется максимальный матричный код |тах (О') графа О'.

7. Построенный граф С ^{|тах (О')} добавляется в множество кандидатов как одноэлементное множество.

8. Пока > 0:

8.1. Если Е ^0, то вывести Е как множество попарно-неизоморфных минимальных вершинных к -раскрасок и завершить алгоритм.

8.2. Вырабатывается множество новых попарно-неизоморфных кандидатов Спе№ при помощи алгоритма 1, последовательно подавая

ему на вход ^max (Cr) и f'(G') - раскраску графа G', которая, очевидно, является также раскраской каждого графа из C . Таким образом, если множество C содержало несколько элементов, то Cnew будет являться объединением выработанных множеств для каждого из этих элементов.

8.3. Если |Cnew| = 0, то переход на шаг 8.

8.4. Для всех Gj е Cnew :

8.4.1. Для каждой pе P из графа Gj строится простой код раскраски FCj, не включающий вершины из p.

8.4.2. Для каждого простого кода раскраски FCj проверяется, допускает ли код FCj вложение кода FCorg при помощи алгоритма 2. Если какой-либо FCj не допускает вложения FCorg, то соответствующий рассматриваемому коду граф Gj отсекается, поскольку не является вершинным расширением графа G .

8.4.3. Если все FCj допускают вложение FCorg, то граф Gj

объявляется вершинным расширением и записывается в множество расширений E ^ Gj .

8.5. C = Cnew и переход на шаг 8.

9. Вывести E = 0; минимальных вершинных k -расширений для графа G' не было найдено.

В ходе реализации алгоритма 3 были задействованы несколько других оптимизаций и отсечений перебора возможных вариантов.

Во-первых, структура алгоритма позволяет реализовать многопоточное вычисление результата. Для этого на шаге 6 можно реализовать схему producer-consumer, где поток типа producer вырабатывает новых кандидатов на проверку Cnew, а несколько потоков типа consumer проверяют их на условие вершинного расширения.

Во-вторых, внутри цикла по всем Gj из Cnew первым шагом можно

произвести проверку, допускает ли цветной граф Gj вложение исходного графа G . Если вложения нет, то далее рассматривать G j не имеет смысла и можно смело переходить к следующему графу Gj+i.

5. Вычислительные эксперименты поиска минимальных вершинных 1-расширений для цветных графов

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

(f (0), f (1),..., f (n — 1)),где f (v) обозначает цвет вершины v eV.

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

Таблица 1

Время работы алгоритма 3 на 6-вершинных цветных графах

Вектор раскраски графа Количество графов Общее время работы Среднее время обработки графа

(0, 1, 1, 1, 1, 1) 155 38 с 313 мс

(1, 0, 1, 1, 1, 1) 69 1 мин 36 с 280 мс

(1, 1, 0, 1, 1, 1) 61 1 мин 12 с 293 мс

(1, 1, 1, 0, 1, 1) 44 1 мин 29 с 274 мс

(1, 1, 1, 1, 0, 1) 50 1 мин 13 с 343 мс

(1, 1, 1, 1, 1, 0) 66 31 с 320 мс

(0, 0, 1, 1, 1, 1) 155 28 с 262 мс

(0, 1, 0, 1, 1, 1) 95 1 мин 13 с 284 мс

(0, 1, 1, 0, 1, 1) 111 1 мин 36 с 303 мс

(0, 1, 1, 1, 0, 1) 87 1 мин 8 с 334 мс

(0, 1, 1, 1, 1, 0) 86 31 с 284 мс

(1, 0, 0, 1, 1, 1) 50 1 мин 34 с 292 мс

(1, 0, 1, 0, 1, 1) 31 16 с 300 мс

(1, 0, 1, 1, 0, 1) 34 22 с 341 мс

(1, 0, 1, 1, 1, 0) 24 37 с 344 мс

(1, 1, 0, 0, 1, 1) 33 1 мин 21 с 282 мс

(1, 1, 0, 1, 0, 1) 20 1 мин 1 с 321 мс

(1, 1, 0, 1, 1, 0) 12 1 мин 18 с 323 мс

(1, 1, 1, 0, 0, 1) 27 28 с 343 мс

(1, 1, 1, 0, 1, 0) 13 20 с 304 мс

(1, 1, 1, 1, 0, 0) 65 18 с 293 мс

(0, 0, 0, 1, 1, 1) 155 1 мин 20 с 269 мс

(0, 0, 1, 0, 1, 1) 118 1 мин 2 с 302 мс

(0, 0, 1, 1, 0, 1) 107 1 мин 37 с 333 мс

(0, 0, 1, 1, 1, 0) 94 1 мин 50 с 300 мс

(0, 1, 0, 0, 1, 1) 70 4 с 341 мс

(0, 1, 0, 1, 0, 1) 67 21 с 267 мс

(0, 1, 0, 1, 1, 0) 43 28 с 325 мс

(0, 1, 1, 0, 0, 1) 49 1 мин 1 с 326 мс

(0, 1, 1, 0, 1, 0) 58 1 мин 44 с 319 мс

(0, 1, 1, 1, 0, 0) 67 1 мин 30 с 349 мс

(1, 0, 0, 0, 1, 1) 38 1 мин 36 с 252 мс

(1, 0, 0, 1, 0, 1) 30 34 с 325 мс

(1, 0, 0, 1, 1, 0) 12 30 с 318 мс

(1, 0, 1, 0, 0, 1) 13 59 с 303 мс

(1, 0, 1, 0, 1, 0) 9 1 мин 45 с 343 мс

(1, 0, 1, 1, 0, 0) 22 1 мин 40 с 272 мс

(1, 1, 0, 0, 0, 1) 21 1 мин 47 с 321 мс

(1, 1, 0, 1, 0, 0) 6 1 мин 6 с 294 мс

(1, 1, 1, 0, 0, 0) 40 10 с 285 мс

Таблица 2

Время работы алгоритма 3 на 7-вершинных цветных графах с двумя вершинами второго цвета

Вектор раскраски графа Количество графов Общее время работы Среднее время обработки графа

(0, 0, 1, 1, 1, 1, 1) 1044 16 мин 49 с 697 мс

(0, 1, 0, 1, 1, 1, 1) 620 7 мин 40 с 622 мс

(0, 1, 1, 0, 1, 1, 1) 785 12 мин 37 с 686 мс

(0, 1, 1, 1, 0, 1, 1) 681 10 мин 39 с 617 мс

(0, 1, 1, 1, 1, 0, 1) 578 11 мин 52 с 658 мс

(0, 1, 1, 1, 1, 1, 0) 633 9 мин 48 с 666 мс

(1, 0, 0, 1, 1, 1, 1) 397 7 мин 15 с 611 мс

(1, 0, 1, 0, 1, 1, 1) 253 4 мин 9 с 683 мс

(1, 0, 1, 1, 0, 1, 1) 306 5 мин 23 с 668 мс

(1, 0, 1, 1, 1, 0, 1) 233 2 мин 35 с 636 мс

(1, 0, 1, 1, 1, 1, 0) 199 7 мин 46 с 611 мс

(1, 1, 0, 0, 1, 1, 1) 279 6 мин 13 с 634 мс

(1, 1, 0, 1, 0, 1, 1) 184 3 мин 51 с 615 мс

(1, 1, 0, 1, 1, 0, 1) 167 6 мин 33 с 667 мс

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

(1, 1, 0, 1, 1, 1, 0) 109 3 мин 58 с 697 мс

(1, 1, 1, 0, 0, 1, 1) 135 2 мин 36 с 612 мс

(1, 1, 1, 0, 1, 0, 1) 87 9 с 638 мс

(1, 1, 1, 0, 1, 1, 0) 89 27 с 636 мс

(1, 1, 1, 1, 0, 0, 1) 263 7 мин 4 с 662 мс

(1, 1, 1, 1, 0, 1, 0) 211 6 мин 26 с 677 мс

(1, 1, 1, 1, 1, 0, 0) 483 9 мин 35 с 625 мс

Таблица 3

Время работы алгоритма 3 на 8-вершинных цветных графах с четырьмя вершинами второго цвета

Вектор раскраски графа Количество графов Общее время работы Среднее время обработки графа

(1, 1, 0, 0, 0, 0, 1, 1) 1424 31 мин 40 с 765 мс

(1, 1, 0, 0, 0, 1, 0, 1) 845 19 мин 44 с 752 мс

(1, 1, 0, 0, 0, 1, 1, 0) 490 17 мин 42 с 775 мс

(1, 1, 0, 0, 1, 0, 0, 1) 598 12 мин 45 с 729 мс

(1, 1, 0, 0, 1, 0, 1, 0) 543 20 мин 29 с 746 мс

(1, 1, 0, 0, 1, 1, 0, 0) 715 12 мин 9 с 730 мс

(1, 1, 0, 1, 0, 0, 0, 1) 456 17 мин 4 с 793 мс

(1, 1, 0, 1, 0, 0, 1, 0) 292 13 мин 38 с 714 мс

(1, 1, 0, 1, 0, 1, 0, 0) 553 7 мин 54 с 751 мс

(1, 1, 0, 1, 1, 0, 0, 0) 1025 23 мин 38 с 729 мс

(1, 1, 1, 0, 0, 0, 0, 1) 1373 27 мин 7 с 706 мс

(1, 1, 1, 0, 0, 0, 1, 0) 470 19 мин 27 с 768 мс

(1, 1, 1, 0, 0, 1, 0, 0) 437 18 мин 24 с 785 мс

(1, 1, 1, 0, 1, 0, 0, 0) 981 19 мин 44 с 745 мс

(1, 1, 1, 1, 0, 0, 0, 0) 5719 1 ч 24 мин 3 с 787 мс

Заключение

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

Список литературы

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

2. Hayes J. P. A graph model for fault-tolerant computing system // IEEE Trans. Comput. 1976. Vol. C.-25, № 9. P. 875-884.

3. Абросимов М. Б. Графовые модели отказоустойчивости. Саратов : Изд-во Сарат. ун-та, 2012. 192 с.

4. McKay B. D., Piperno A. Practical Graph Isomorphism // J. Symbolic Computation. 2013. Vol. 2, № 60. P. 94-112.

5. Зыков А. А. Основы теории графов. М. : Вузовская книга, 2004. 664 с.

6. Харари Ф. Теория графов. М. : Мир, 1973. 300 с.

7. Brinkmann G. Isomorphism rejection in structure generation programs // Discrete Mathematical Chemistry, DIMACS Series in Discrete Mathematics and Theoretical Computer Science. 2000. Vol. 51. P. 25-38.

8. Абросимов М. Б., Камил И. А. К., Лобов А. А. Построение всех неизоморфных минимальных вершинных расширений графа методом канонических представителей // Известия Саратовского университета. Новая серия. Сер. Математика. Механика. Информатика. 2019. Т. 19, № 4. С. 479-486.

9. Абросимов М. Б., Судани Х. Х. К., Лобов А. А. Построение минимальных реберных расширений графа без проверки на изоморфизм // Известия Саратовского университета. Новая серия. Сер. Математика. Механика. Информатика. 2020. Т. 20, № 1. С. 105-115.

References

1. Bogomolov A.M., Salii V.N. Algebraicheskie osnovy teorii diskretnykh system = Algebraic foundations of the theory of discrete systems. Moscow: Nauka, 1997:368. (In Russ.)

2. Hayes J.P. A graph model for fault-tolerant computing system. IEEE Trans. Comput. 1976;C.-25(9):875-884.

3. Abrosimov M.B. Grafovye modeli otkazoustoychivosti = Fault tolerance graph models. Saratov: Izd-vo Sarat. un-ta, 2012:192. (In Russ.)

4. McKay B.D., Piperno A. Practical Graph Isomorphism. J. Symbolic Computation. 2013;2(60):94-112.

5. Zykov A.A. Osnovy teorii grafov = Fundamentals of graph theory. Moscow: Vuzovskaya kniga, 2004:664. (In Russ.)

6. Kharari F. Teoriya grafov = The graph theory. Moscow: Mir, 1973:300. (In Russ.)

7. Brinkmann G. Isomorphism rejection in structure generation programs. Discrete Mathematical Chemistry, DIMACS Series in Discrete Mathematics and Theoretical Computer Science. 2000;51:25-38.

8. Abrosimov M.B., Kamil I.A.K., Lobov A.A. Construction of all minimal nonisomor-phic minimal vertex extensions of a graph by the method of canonical representatives. Izvestiya Saratovskogo universiteta. Novaya seriya. Ser. Matematika. Mekhanika. In-formatika = Proceedings of Saratov University. New series. Series Mathematics. Mechanics. Informatics. 2019;19(4):479-486. (In Russ.)

9. Abrosimov M.B., Sudani Kh.Kh.K., Lobov A.A. Constructing minimal edge extensions of a graph without checking for isomorphism. Izvestiya Saratovskogo universiteta. Novaya seriya. Ser. Matematika. Mekhanika. Informatika = Proceedings of Saratov University. New series. Series Mathematics. Mechanics. Informatics. 2020;20(1):105-115. (In Russ.)

Информация об авторах / Information about the authors

Михаил Борисович Абросимов

доктор физико-математических наук, доцент, заведующий кафедрой теоретических основ компьютерной безопасности и криптографии, Саратовский национальный исследовательский государственный университет имени Н. Г. Чернышевского (Россия, г. Саратов, ул. Астраханская, 83)

E-mail: mic@rambler.ru

Mikhail B. Abrosimov Doctor of physical and mathematical sciences, associate professor, head of the sub-department of computer security theory and cryptography, Saratov State University (83 Astrakhanskaya street, Saratov, Russia)

Петр Владимирович Разумовский аспирант, Саратовский национальный исследовательский государственный университет имени Н. Г. Чернышевского (Россия, г. Саратов, ул. Астраханская, 83)

E-mail: shprotby@gmail.com

Petr V. Razumovskiy Postgraduate student, Saratov State University (83 Astrakhanskaya street, Saratov, Russia)

Авторы заявляют об отсутствии конфликта интересов / The authors declare no conflicts of interests.

Поступила в редакцию / Received 08.11.2021

Поступила после рецензирования и доработки / Revised 03.12.2021 Принята к публикации / Accepted 15.12.2021

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