Научная статья на тему 'Определение работоспособности системы, структура которой задана графом'

Определение работоспособности системы, структура которой задана графом Текст научной статьи по специальности «Математика»

CC BY
72
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГРАФ / СВЯЗНОСТЬ ГРАФА / БАЗИСНЫЙ ЦИКЛ / GRAPH / GRAPH CONNECTIVITY / FUNDAMENTAL CYCLE

Аннотация научной статьи по математике, автор научной работы — Карпов Андрей Геннадьевич, Клемешев Владимир Алексеевич, Куранов Дмитрий Юрьевич

Предложена система алгоритмов для анализа систем различной природы, структура которых задана с помощью графов большой сложности. Анализ состоит в проверке связности и физической реализуемости системы, структура которой задана графом, а также в проверке отсутствия нерабочих петель. Предложенные алгоритмы могут быть использованы не только для разработки новых систем, но и для диагностики рабочего оборудования и поиска неисправностей. Подход к определению физической реализуемости графа состоит в том, что сначала строится система базисных циклов, а затем устанавливается, входит ли каждая ветвь в один из них. Работа комплекса алгоритмов демонстрируется на примере электрической системы, однако полученные результаты могут быть распространены на системы другой природы, например, с помощью электромеханических аналогий.A system of algorithms for the analysis of systems of different nature, the structure of which is given using graphs of great complexity, is proposed. The analysis consists in checking the connectivity and physical realizability of the system, the structure of which is given by the graph, as well as in checking the absence of non-working loops. The proposed algorithms can be used not only to develop new systems but also to diagnose operating equipment and troubleshooting. The approach to determining the physical realizability of a graph is that first a system of basis cycles is constructed. After that it is determined whether each branch is included in one of them. The operation of the system of algorithms is demonstrated by the example of an electrical system. However, the results obtained can be extended to systems of a different nature, for example, using electromechanical analogies.

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

Текст научной работы на тему «Определение работоспособности системы, структура которой задана графом»

2020 ВЕСТНИК САНКТ-ПЕТЕРБУРГСКОГО УНИВЕРСИТЕТА Т. 16. Вып. 1 _ПРИКЛАДНАЯ МАТЕМАТИКА. ИНФОРМАТИКА. ПРОЦЕССЫ УПРАВЛЕНИЯ_

ИНФОРМАТИКА

УДК 519.178, 519.174.2 МБС 05С85

Определение работоспособности системы, структура которой задана графом

А. Г. Карпов, В. А. Клемешев, Д. Ю. Куранов

Санкт-Петербургский государственный университет, Российская Федерация, 199034, Санкт-Петербург, Университетская наб., 7—9

Для цитирования: Карпов А. Г., Клемешев В. А., Куранов Д. Ю. Определение работоспособности системы, структура которой задана графом // Вестник Санкт-Петербургского университета. Прикладная математика. Информатика. Процессы управления. 2020. Т. 16. Вып. 1. С. 41-49. https://doi.org/10.21638/11702/spbu10.2020.104

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

Ключевые слова: граф, связность графа, базисный цикл.

1. Введение. Теория графов — мощный инструмент изучения систем [1-5]. Однако эффективность реализации ее методов колеблется в широких пределах, а исследователи до сих пор заняты поисками более совершенных алгоритмов. По сути дела применение теории графов, например для разработки и анализа электрических цепей, ограничивается очень простыми системами и выполняется вручную.

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

Цель работы — разработка алгоритмов, позволяющих определить работоспособен Санкт-Петербургский государственный университет, 2020

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

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

Работоспособность системы, структура которой задана графом, определяется, по нашему мнению, следующими тремя условиями:

— связностью графа;

— физической реализуемостью системы;

— отсутствием нерабочих петель.

Под физической реализуемостью мы понимаем соответствие графа системы фундаментальным законам сохранения, а именно законам сохранения импульса и сохранения заряда, которые следуют из непрерывности пространства. В теории графов они объединяются под названием закона сохранения последовательной переменной [6]. Если граф системы отвечает условию физической реализуемости, то каждое его ребро принадлежит какому-нибудь контуру (циклу). Выяснить это можно с помощью построения базисной цикломатической матрицы С с использованием алгебраического метода [7]:

С = [СьЕ] г(м+1)хгТ

СБ' =0, Б7

Е

Б7

Сь = -Б

С '

где

тх(у — 1) 111 112,

111 Г(«-1)х(«-1)1 112 [(V —1)х(т—и+1)]

Бс = I-1 II

— усеченная на одну строку матрица

[(V —1)хт]

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

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

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

В работе [7] приводится алгоритм, позволяющий избежать операции обращения матрицы 1ц, что уменьшает максимальную трудоемкость, но она все еще остается на уровне 0(у3), при этом сохраняются все другие недостатки алгебраического метода.

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

Терминология, использованная в настоящей статье, заимствована из [7], в частности, под параллельной переменной понимается переменная, принимающая одинаковые значения для параллельно соединенных элементов, а под последовательной переменной — переменная, принимающая одинаковые значения для последовательно соединенных элементов.

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

Под базисным циклом понимается цикл, содержащий одну хорду и некоторую совокупность ветвей остовного дерева [7]. Для каждой хорды существует базисный цикл, и он единственный. Отсюда следует, что число базисных циклов равно числу хорд, или г — V + 1.

Для иллюстрации работы алгоритмов используется электрическая система, представленная на рис. 2. Ее граф и матрица смежности приведены на рис. 3.

Решение поставленной задачи состоит из следующих этапов.

• Проверка связности по собственным числам матрицы Кирхгофа или алгебраическим методом [2, 7].

• Построение дерева.

Построение дерева может быть выполнено, например, по модифицированному алгоритму Прима—Карскала [1, 2], исходной информацией является матрица смежности графа 8, результат получается в матрице смежности дерева 8Т (рис. 4).

• Упорядочение массива ребер.

Направление дуги задается от вершины с меньшим номером г к вершине с большим номером т. е. И.|а].г < И-Ца].'. Структура первого столбца упорядоченного массива ребер представлена на рис. 5, где V — число ветвей, г — число ребер.

• Определение базисных циклов (см. раздел 3).

• Проверка физической реализуемости.

I 1

I

I

1

Рис. 2. Схема электрической системы — импеданс элемента, г соответствует номеру ребра)

Матрица смежности Б Массив ребер И

1 2 3 4 5 а 1 ^ ппс

1 0 1 0 1 1 1 1 2 0

2 1 0 1 0 1 2 1 4 1

3 0 1 0 1 0 3 1 5 0

4 1 0 1 0 1 4 2 3 0

5 1 1 0 1 0 5 2 5 0

6 3 4 0

7 4 5 0

Рис. 3. Граф системы, его матрица смежности Б и массив ребер И. (число вершин V = 5, число ребер г = 7)

райо^орв^ рай_о£_1ор8=1 рай о^орэ^!

Матрица смежности БТ

1 2 3 4 5

1 0 1 0 1 1

2 1 0 1 0 0

3 0 1 0 0 0

4 1 0 0 0 0

5 1 0 0 0 0

раг1:_о1Мх>р8=1

Рис. 4. Результат построения дерева (слева) и матрица смежности дерева БТ (справа)

а 1

V- 1

Ветви

Хорды

Рис. 5. Первый столбец упорядоченного массива ребер

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

• Проверка наличия нерабочих петель.

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

V

г

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

3. Алгоритм определения базисных циклов. Исходные данные: упорядоченный массив ребер, матрица смежности дерева. Результат: массивы базисных циклов с коэффициентами параллельных переменных дуг-ветвей в уравнении базисного цикла; число базисных циклов, в которые входит каждая ветвь (в R[i].nnc). Для каждой хорды построение базисного цикла выполняется независимо, обеспечивая эффективное распараллеливание процесса.

Переменные, используемые в алгоритме определения базисных циклов: a — номер хорды;

R[a] — хорда (i, j), R[a].i < R[a].j, направление дуги — от вершины i к вершине j; ST — матрица смежности дерева; STC — рабочая матрица цикла; d — число ветвей цикла;

q — индекс в структуре NC, k (k = i), l, d, STC[k, l] = d; NC — структура базисных циклов: array[1..r — v + 1] of NNC; NC[q] — элемент структуры NC,

где q = c — v + 1, c — номер хорды, v — число вершин, r — число ребер; NNC — структура базисного цикла:

ic: array[1..v — 1] of integer — индекс хорды i (номер вершины, из которой исходит хорда),

jc: array[1..v — 1] of integer — индекс хорды j (номер вершины, в которую

приходит хорда), ac: array[1..v — 1] of integer — номер ветви,

kc: array[1..v — 1] of integer — коэффициент параллельной переменной ветви,

dnc: array[1..v — 1] of integer — длина базисного цикла —1.

Алгоритм определения базисного цикла состоит в следующем.

1. Выбор хорды, для которой будет строиться базисный цикл, где a — номер хорды в массиве ребер (дуг); i — вершина, из которой исходит хорда; j — вершина, в которую приходит хорда (i < j).

Копирование матрицы смежности дерева ST в рабочую матрицу цикла STC.

2. Поиск в строке j матрицы STC единичных значений, т. е. вершин, с которыми вершина j связана ветвями. Если найденная вершина совпадает с вершиной i, то базисный цикл состоит только из двух дуг: рассматриваемой хорды и ветви (i,j), а его длина равна 2; переход к п. 5.

Если найденная вершина не совпадает с вершиной i, то, возможно, она входит в строящийся базисный цикл хорды a. Выявленная связь отмечается числом —1 в матрице STC, а связи найденной вершины — числом 2 в матрице STC, т. е. возможный базисный цикл будет включать не менее двух ветвей. Положить текущее число ветвей цикла равным 2.

3. Продолжение построения базисного цикла, число ветвей которого не должно превышать v — 1. Поиск в матрице STC всех значений, равных текущему числу ветвей цикла. Если найдено такое значение и при этом достигнута вершина i, то переход к п. 5. Если получено такое значение, но не достигнута вершина i, то связи найденной вершины, отмеченные единицей, заменяются текущим числом ветвей цикла, увеличенным на единицу.

4. Наращивание текущего числа ветвей цикла на единицу. Переход к п. 3.

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

5. Инициализация структуры МС[д], где д = а — V + 1 — номер структуры, соответствующей а-й хорде. К этому моменту, двигаясь по матрице 8ТС от вершины Л, достигнем вершины г, и элемент 8ТС [г, Л] = с! — числу ветвей строящегося базисного цикла. Положить р равным !.

6. Поиск в массиве ребер ветви, входящей в строящийся базисный цикл и соответствующей текущему значению р. Заполнение р-й строки в структуре МС[д] с учетом направления ветви для определения коэффициента, с которым параллельная переменная найденной ветви входит в уравнение базисного цикла (рис. 6) рассматриваемой хорды а.

7. Уменьшение р на единицу для движения по матрице ЭТС до вершины Л. Если р > 0, то переход к п. 6.

Этапы выполнения алгоритма представлены на рис. 7 и 8, результат получения ориентированного графа и структур базисных циклов графа, приведенного на рис. 3, — на рис. 9.

8. Конец.

Рис. 6. Коэффициент при параллельной переменной р-й ветви, входящей в базисный цикл д-й хорды

Исходное состояние вТС

0 10 11 10 10 0 0 10 0 0 1 0 0 0 0 1 0 0 0 0

1-й шаг изменения вТС 1=\,к = Ъ

2-й шаг изменения БТС /= 1 , к = 3 , „

втс

0 2*0 -1 2

2 0 10 0

0 10 0 0

-10 0 0 0

2 0 0 0 0

0у 3^0 0 0

-10 0 о о 2 0 0 0 0

Рис. 7. Базисный цикл хорды (3,4), г = 3, ] = 4 Указаны направления дуг и коэффициенты при параллельных переменных дуг, входящих в уравнение базисного цикла

N0 [2]

N€[2] I = 2, к = 3, р = 3

dnc ю .¡с ас кс dnc ю .¡с ас кс

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

2 0 0 0 0 0 2 0 0 0 0 0

3 0 0 0 0 0 3 3 3 4 4 + 1

4 0 0 0 0 0 4 0 0 0 0 0

-1 0 0 0 0 0 V - 1 0 0 0 0 0

И,[4].ппс := И,[4] .ппс + 1

N€[2] I = 1, к = 2, р = 2

dnc ю .¡с ас кс

1 0 0 0 0 0

2 3 3 4 1 + 1

3 3 3 4 4 + 1

4 0 0 0 0 0

V - 1 0 0 0 0 0 И.[1].ппс := И,[1].ппс + 1

N€[2] I = 4, к = 1, р = 1

dnc ю .¡с ас кс

1 3 3 4 2 -1

2 3 3 4 1 + 1

3 3 3 4 4 + 1

4 0 0 0 0 0

V - 1 0 0 0 0 0 В,[2].ппс := В.[2].ппс + 1

Рис. 8. Составление структуры базисного цикла хорды (3,4), г = 3, ] =4, д = 2

Для ветвей Я[1] .ппс = 2 Я[2] .ппс = 2 я[з] .ппс = 2 Я [4] .ппс = 1

ЖС [1] — хорда 5

dnc ¡с .Iе ас кс

2 2 5 3 -1

2 2 5 1 + 1

0 0 0 0 0

0 0 0 0 0

N0 [2] — хорда 6

dnc к .с ас кс

3 3 4 2 -1

3 3 4 1 +1

3 3 4 4 +1

0 0 0 0 0

ЖС [3] — хорда 7

dnc ¡с .¡с ас кс

2 4 5 3 -1

2 4 5 2 + 1

0 0 0 0 0

0 0 0 0 0

Рис. 9. Полученный ориентированный граф (сверху, хорды перечеркнуты) и структуры базисных циклов (снизу)

Оценка трудоемкости предложенного алгоритма оценивается авторами как О(V3) для наихудшего случая, а в среднем потребуется выполнить меньше операций. При этом основную долю операций занимают операции присваивания, несколько меньшую долю — условные операции и совсем незначительную — аддитивные операции. Из-за наличия достаточно большого количества условных операций сложно дать более точную теоретическую оценку трудоемкости.

Для оценки трудоемкости алгоритмов были реализованы как алгебраический метод, так и метод, разработанный авторами. Оценка трудоемкости производилась как для графа, приведенного для иллюстрации работы алгоритма, так и для графов с большим числом вершин и ребер. При измерении времени не учитывались операции ввода/вывода и подготовки входных данных. Для алгебраического метода использовалась высокопроизводительная библиотека ОрепВЬАБ. На тестовых данных реализация алгебраического метода уступала по времени вычислений описанному алгоритму в 2-4 раза.

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

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

Прежде всего мы рассматриваем технические системы (электрические, электромеханические и механические, последние для исследования могут быть преобразованы в электрические с использованием систем электромеханических аналогий [6]), однако полученные результаты могут быть распространены на системы другой природы.

Литература

1. Нечепуренко М. И., Попков В. К., Майнагашев С. М. Алгоритмы и программы решения задач на графах и сетях. Новосибирск: Наука, 1990. 520 с.

2. Седжвик Р. Алгоритмы на С+—+ / пер. с англ. А. А. Моргунова; под ред. Ю. Н. Артеменко. М.: ООО «И. Д. Вильямс», 2016. 1056 с.

3. Новиков Ф. А. Дискретная математика для программистов. СПб.: Питер, 2004. 368 с.

4. Курапов С. В., Давидовский М. В. Проверка планарности и построение топологического рисунка плоского графа (поиском в глубину) // Прикладная дискретная математика. 2016. № 2(32). С. 100-114. ЫЛрэ://doi.Org/10.17223/20710410/32/7

5. Быкова, В. В. О мерах целостности графов: обзор // Прикладная дискретная математика. 2014. № 4(26). С. 96-111.

6. Львович А. Ю. Электромеханические системы. Л.: Изд-во Ленингр. ун-та, 1989. 296 с.

7. Свами М., Тхуласираман К. Графы, сети и алгоритмы / пер. с англ. М. В. Горбатовой и др.; под ред. В. А. Горбатова. М.: Мир, 1984. 455 с.

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

Статья принята к печати 13 февраля 2020 г.

Контактная информация:

Карпов Андрей Геннадьевич — д-р техн. наук, проф.; а^.кагроу@8рЪи.ш

Клемешев Владимир Алексеевич — канд. физ.-мат. наук, доц.; v.klemeshev@spbu.ru Куранов Дмитрий Юрьевич — канд. физ.-мат. наук, ассистент; d.kuranov@spbu.ru

Determining the ability to work of the system, the structure of which is given using graph

A. G. Karpov, V. A. Klemeshev, D. Yu. Kuranov

St. Petersburg State University, 7—9, Universitetskaya nab., St. Petersburg, 199034, Russian Federation

For citation: Karpov A. G., Klemeshev V. A., Kuranov D. Yu. Determining the ability to work of the system, the structure of which is given using graph. Vestnik of Saint Petersburg University. Applied Mathematics. Computer Science. Control Processes, 2020, vol. 16, iss. 1, pp. 41-49. https://doi.org/10.21638/11702/spbu10.2020.104 (In Russian)

A system of algorithms for the analysis of systems of different nature, the structure of which is given using graphs of great complexity, is proposed. The analysis consists in checking the connectivity and physical realizability of the system, the structure of which is given by the graph, as well as in checking the absence of non-working loops. The proposed algorithms can be used not only to develop new systems but also to diagnose operating equipment and troubleshooting. The approach to determining the physical realizability of a graph is that first a system of basis cycles is constructed. After that it is determined whether each branch is included in one of them. The operation of the system of algorithms is demonstrated by the example of an electrical system. However, the results obtained can be extended to systems of a different nature, for example, using electromechanical analogies. Keywords: graph, graph connectivity, fundamental cycle.

References

1. Nechepurenko M. I., Popkov V. K., Mainagashev S. M. Algoritmy i programmy resheniya zadach na grafah i setyah [Algorithms and programs for solving problems on graphs and networks]. Novosibirsk, Nauka Publ., 1990, 520 p. (In Russian)

2. Sedgewick R. Algorithms in C++. Boston, Addison-Wesley Professional, 2009, 672 p. (Rus. ed.: Sedgewick R. Algoritmy na C++. Moscow, Williams Publ., 2016, 1056 p.)

3. Novikov F. A. Diskretnaya matematika dlya programmistov [Discrete mathematics for programmers]. Saint Petersburg, Piter Publ., 2004, 368 p. (In Russian)

4. Kurapov S. V., Davidovsky M. V. Proverka planarnosti i postroenie topologicheskogo risunka ploskogo grafa (poiskom v glubinu) [Planarity testing and constructing the topological drawing of a plane graph (DFS)]. Prikladnaya Diskretnaya Matematika [Applied Discrete Mathematics], 2016, no. 2(32), pp. 100-114. https://doi.org/10.17223/20710410/32/7 (In Russian)

5. Bykova V. V. O merah tselostnosti grafov: obzor [Measures for graph integrity: a comparative survey]. Prikladnaya Diskretnaya Matematika [Applied Discrete Mathematics], 2014, no. 4(26), pp. 96111. (In Russian)

6. L'vovich A. Yu. Elektromehanicheskie sistemy [Electromechanical systems]. Leningrad, Leningrad State University Publ., 1989, 296 p. (In Russian)

7. Swamy M. N. S., Thulasiraman K. Graphs, Networks, and Algorithms. New York, Wiley-Interscience Publ., 1981, 592 p. (Rus. ed.: Swamy M., Thulasiraman K. Grafy, seti i algoritmy. Moscow, Mir Publ., 1984, 455 p.)

Received: November 01, 2019. Accepted: February 13, 2020.

Authors' information:

Andrey G. Karpov — Dr. Sci. in Technics, Professor; a.g.karpov@spbu.ru

Vladimir A. Klemeshev — PhD in Physics and Mathematics, Associate Professor; v.klemeshev@spbu.ru Dmitriy Yu. Kuranov — PhD in Physics and Mathematics, Assistant; d.kuranov@spbu.ru

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