Научная статья на тему 'Индекс Винера максимальных внешнеплоских графов'

Индекс Винера максимальных внешнеплоских графов Текст научной статьи по специальности «Математика»

CC BY
531
74
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ИНДЕКС ВИНЕРА / МАКСИМАЛЬНЫЙ ВНЕШНЕПЛОСКИЙ ГРАФ / ХОРДАЛЬ-НЫЙ ГРАФ / КОМПАКТНОЕ ПРЕДСТАВЛЕНИЕ ХОРДАЛЬНОГО ГРАФА / GRAPH ALGORITHM / MAXIMAL OUTERPLANE GRAPH / WIENER INDEX / CHORDAL GRAPH / COMPACT REPRESENTATION OF CHORDAL GRAPH

Аннотация научной статьи по математике, автор научной работы — Носов Юрий Леонидович

Рассматривается инвариант W(G) связных неориентированных графов G, равный сумме расстояний между всеми парами вершин графа G. Предлагается эффективный алгоритм расчёта матрицы расстояний и индекса Винера максимальных внешнеплоских графов с большим количеством вершин. Временная сложность алгоритма O(n 2). Алгоритм удобен как для ручного расчёта индекса Винера небольших графов, так и для расчёта индекса Винера графов, сгенерированных компьютерной программой.

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

The Wiener index of maximal outerplane graphs

Wiener index W(G) of a connected undirected graph G equals the sum of distances between all pairs of vertices in G. In this paper, an effective algorithm for calculating Wiener index of maximal outerplane graphs with a big number n of vertices is offered. The time complexity of the algorithm is O(n 2). The algorithm is fit for manual calculation of Wiener index of small graphs, as well as for its calculation for computer generated graphs.

Текст научной работы на тему «Индекс Винера максимальных внешнеплоских графов»

2014 Прикладная теория графов №4(26)

УДК 519.17

ИНДЕКС ВИНЕРА МАКСИМАЛЬНЫХ ВНЕШНЕПЛОСКИХ ГРАФОВ

Ю. Л. Носов

г. Липецк, Россия E-mail: [email protected]

Рассматривается инвариант W(G) связных неориентированных графов G, равный сумме расстояний между всеми парами вершин графа G. Предлагается эффективный алгоритм расчёта матрицы расстояний и индекса Винера максимальных внешнеплоских графов с большим количеством вершин. Временная сложность алгоритма O(n2). Алгоритм удобен как для ручного расчёта индекса Винера небольших графов, так и для расчёта индекса Винера графов, сгенерированных компьютерной программой.

Ключевые слова: индекс Винера, максимальный внешнеплоский граф, хордаль-ный граф, компактное представление хордального графа.

Введение

Рассматриваются конечные связные неориентированные графы G(V, E) без петель и кратных рёбер с множеством вершин V(G) и множеством рёбер E(G). Числа вершин и рёбер графа обозначаются n(G) и m(G) соответственно (или для краткости n и m). Число вершин графа называется порядком графа, а число ребер — его размером. Длина кратчайшей по числу рёбер цепи, соединяющей вершины u и v в графе G, называется расстоянием между вершинами u и v и обозначается через d(u, v). Матрицей расстояний n-вершинного графа G называется квадратная матрица D(G) = [dj] размера n х n, каждый элемент dij которой равен расстоянию между вершинами i и j. Матрица расстояний D(G) является симметричной и все её диагональные элементы равны нулю.

Все неопределяемые ниже термины можно найти в [1].

Индексом Винера W(G) графа G называется инвариант, определяемый как сумма расстояний между всеми парами вершин графа G, то есть

W (G)= £ d(u,v) = - £ £ d(u,v).

(u,v}CV(G) 2 v€V(G) uev(G)

В терминах матрицы расстояний индекс Винера есть полусумма всех элементов матрицы или сумма всех элементов матрицы, находящихся выше главной диагонали:

1 n n n n n j

W (G) = - ££ dij = £ £ dij = ££ dij.

2 i=1 j=1 i=1 j=i+1 j= 1 i=1

Впервые этот инвариант был использован американским химиком Г. Винером в 1947 г. для установления корреляционных зависимостей между значениями W и свойствами ациклических химических соединений, молекулярные графы которых являются деревьями [2]. Индекс Винера является топологическим инвариантом, отражающим структурные свойства графа (разветвлённость, цикличность и компактность) и используется в качестве сруктурного дескриптора в многочисленных приложениях

(см., например, [3]). Наибольшее применение индекс Винера нашел в химии, где он рассматривается как мера подобия молекулярных графов и используется для создания химических соединений с заданными свойствами [4 - 8].

Работы по тематике, связанной с индексом Винера, ведутся по двум направлениям:

— исследование теоретико-графовых свойств индекса Винера;

— разработка алгоритмов для расчёта индекса Винера.

Большинство работ по исследованию теоретико-графовых свойств индекса Винера посвящено поиску зависимостей значения индекса от структурных особенностей графа, определению верхних и нижних оценок индекса Винера по значениям других инвариантов [4, 9-11]. В некоторых работах исследуется изменение индекса при операциях над графами (удалении или добавлении вершин) [12, 13]. Так, например, в работе [13] определено значение индекса Винера дерева при добавлении новой вершины и одного ребра, соединяющего его с одной из вершин дерева.

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

Теория индекса Винера для рёберных графов Ь(О) развита в работах [4, 10, 11]. Интерес к этому виду производных графов обусловлен тем, что его характеристики используются для характеризации «сложности» структуры исходного графа. Здесь основное внимание уделяется нахождению графов, для которых их индексы Винера и индексы их рёберных графов совпадают.

Графы со свойством Ш(О) = Ш(Ь(О)) и заданными цикломатическим числом и обхватом построены в [10, 11].

В работах по второму направлению обычно определяются простые расчётные выражения, использующие основные структурные параметры графов; разрабатываются специализированные алгоритмы расчёта индекса Винера для различных классов графов, а также «универсальные» алгоритмы расчёта индекса Винера произвольных графов, использующие матрицу расстояний. Причём, как указано в [9], определённое значение имеет и разработка простых алгоритмов расчёта индекса Винера без использования компьютера.

Особенно большой прогресс сделан в разработке расчётных выражений [5] и специализированных алгоритмов расчёта индекса Винера для различных видов деревьев, дендримеров, графов гексагональных и пентагональных систем [4, 6-9, 13].

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

Расчёт матрицы расстояний можно выполнить с помощью алгоритмов Флойда — Уоршелла [14, 15], Джонсона [16] или алгоритма умножения матриц [17]. Матрицу расстояний можно получить также посредством п-кратного выполнения алгоритма, определяющего длины кратчайших путей между заданной вершиной и всеми другими вершинами, каждый раз выбирая в качестве исходной новую вершину графа. В этом случае можно воспользоваться алгоритмом Дейкстры [18], алгоритмом поиска в ширину (ВЕБ) [1, 19] или алгоритмом Беллмана — Форда [20, 21].

Алгоритм Дейкстры имеет временную сложность O(n2 log n+nm), алгоритм поиска в ширину — O(n2 + nm), а алгоритм Беллмана — Форда — O(mn2) (здесь имеется в виду временная сложность по расчёту длины кратчайших путей между всеми парами вершин).

Алгоритм умножения матриц имеет временную сложность O(n3 log n), алгоритм Флойда —Уоршелла —O(n3), а алгоритм Джонсона —O(nm + n2 log n). Алгоритм Джонсона использует в качестве подпрограмм алгоритмы Дейкстры и Беллмана — Форда. Алгоритм Беллмана — Форда применяется при наличии отрицательных весов рёбер. В случае только положительных весов рёбер используется алгоритм Дейкстры. Таким образом, в рассматриваемом случае, когда все веса рёбер равны 1, результаты работы алгоритмов Джонсона и Дейкстры совпадают.

Нетрудно заметить, что все известные в настоящее время алгоритмы расчёта матрицы расстояний произвольных графов являются полиномиальными, а их временные сложности распределены в узком диапазоне от O(n3logn) до O(n2 + nm). Поэтому задача поиска быстрых алгоритмов расчёта индекса Винера графов очень большого порядка является актуальной.

Интересным для приложений классом графов являются максимальные внешне-плоские графы — плоские графы, у которых все вершины принадлежат внешней грани, а все внутренние грани есть треугольники [1, 22]. Графы этого вида входят в класс хордальных графов и представляют собой триангуляции выпуклого многоугольника, применяемые в системах искусственного интеллекта для обнаружения фигур в изображениях [23].

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

В настоящей работе предлагается простой и быстрый алгоритм расчёта матрицы расстояний и индекса Винера максимальных внешнеплоских графов большого порядка с временной сложностью O(n2).

1. Структура максимальных внешнеплоских графов

Рассмотрим структуру и свойства максимальных внешнеплоских графов (МВП-графов) [1], которые будут использованы для разработки алгоритма расчёта индекса Винера. Сначала отметим ряд основных хорошо известных свойств (см., например, [22, 24, 25]).

Утверждение 1 [22]. Любой МВП-граф G с n ^ 3 вершинами имеет:

1) (n — 2) внутренних граней (каждая внутренняя грань — треугольник);

2) (2n — 3) рёбер, из которых (n — 3) — внутренние рёбра;

3) по крайней мере две вершины степени 2.

Утверждение 2 [25]. Из любого n-вершинного МВП-графа можно получить другой МВП-граф с (n + 1) вершинами посредством добавления одной вершины и двух рёбер, соединяющих эту вершину с двумя вершинами ребра, принадлежащего внешней грани исходного МВП-графа.

Утверждение 3. При удалении вершины степени 2 и двух инцидентных ей рёбер из n-вершинного МВП-графа образуется новый (n — 1)-вершинный МВП-граф.

МВП-графы являются хордальными графами [24] и, следовательно, имеют не менее двух симплициальных вершин (вершин, у которых множество смежных вершин индуцирует полный подграф). В МВП-графах симплициальные вершины имеют степень 2.

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

Рис. 1. МВП-графы первого класса: а — типа «веер», б — «лестница», в — «цепь»; г — второго класса

Из свойства хордальности МВП-графов следует (см., например, [24]) справедливость следующего утверждения.

Утверждение 4. Любой п-вершинный МВП-граф имеет совершенную последовательность исключения [1], т.е. последовательность вершин У\, г2,... , гп, в которой любая вершина г^, г = 1,... ,п — 1, является симплициальной вершиной в подграфе Gi, индуцированном множеством вершин ... , гп}.

Совершенная последовательность исключения МВП-графа может быть получена за линейное время с помощью алгоритмов ЬехВЕБ или МСБ [26, 27].

Операция добавления вершины и двух рёбер, в литературе иногда называемая элементарным расширением [25], является основой для рекурсивной характеризации МВП-графов [25, 28].

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

Из утверждения 5 следует, что любой п-вершинный МВП-граф Gn получается из графа К3 в результате последовательного к-кратного (к = п — 3) выполнения операции элементарного расширения.

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

Нумерацией в порядке построения (или естественной нумерацией) вершин п-вер-шинного МВП-графа называется такая нумерация, при которой для любого 3 ^ г ^ п подграф Gi = С[{1, 2, 3,...,г}], индуцированный множеством вершин {1, 2, 3,...,г}, является МВП-графом.

В качестве примера на рис. 2 представлен процесс нумерации вершин МВП-графа в порядке построения.

Рис. 2. Процесс нумерации вершин МВП-графа в порядке построения

Такая нумерация возникает при построении n-вершинного МВП-графа из K3 посредством k-кратного выполнения элементарного расширения. Для этого необходимо сначала пронумеровать вершины исходного графа K3 числами 1, 2, 3, а все остальные вершины нумеровать последовательно в порядке их добавления в граф. МВП-графы с нумерацией в порядке построения могут быть созданы с помощью компьютерной программы.

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

2. Компактное представление МВП-графов

В работе [29] для хордального графа G, имеющего симплициальную декомпозицию [24] со свойством скользящего пересечения (runnung intersection property) [30], предложено компактное представление CP [G] в виде такой последовательности пар

CP(G) = [(Ri, Si), (R2, S2),..., (Rp, Sp)], (1)

что

Ri = Qi, Si = 0, Rj = Qj \ Sj, Sj = Qj П (Qi U Q2 U ... U Qj-i), 2 ^ j ^ p,

где Qi — i-я максимальная клика; Si — i-е минимальное разделяющее множество (сепаратор); Ri — i-е множество остатков, состоящее из симплициальных вершин.

В [29] показано, что последовательность Rp, Rp-i,... , Ri является совершенной последовательностью исключения.

В МВП-графах максимальная клика Qi и каждая максимальная клика Qj состоит из трёх вершин, каждое множество Sj состоит из двух вершин, а каждое множество Rj имеет только одну симплициальную вершину.

Тогда, подставляя в формулу (1) значения составляющих ^1, Qj, и р = п — 2,

= {г!, г2, г3}, ^ = V', Qj = Б и Rj, ^ = {xj,yj}, 2 ^ з ^ п — 2

для компактного представления МВП-графа G получим

СР(G) = [({г1, г2, г3}, 0), (г2, {х2, У2}),..., К-2, К-2, Уп-2})], (2)

где г1, г2, г3 — симплициальные вершины, входящие в клику Q1; Vj — симплициальная вершина клики Qj; Xj ,Уj —вершины из множества (Q1 и Q2 и ... и Qj-1), смежные с вершиной Vj.

Таким образом, компактное представление МВП-графа G — это последовательность троек вершин, образующих максимальные клики G.

Полученное выражение (2) для п-вершинного МВП-графа G можно представить как результат последовательного применения операции элементарного расширения.

Действительно, пусть G1, G2,... , Gi,... , Gn-2 — последовательность графов, полученных в результате последовательного применения операции элементарного расширения. Тогда для этой последовательности справедливы выражения

Gl = Ql = Кз, Gj = Ql и Q2 и ... и Qj, 2 ^ з ^ п — 2,

и каждый граф Gj получается из графа Gj-1 добавлением новой вершины Vj и двух рёбер, соединяющих её с парой вершин Xj-1,yj-1 графа Gj-1.

Очевидно, что для МВП-графа с нумерацией вершин в порядке построения существует компактное представление

СР(G) = [({1, 2, 3}, 0), (4, {Х2, У2}), (5, {Хз, Уз}), . . . , (п, {Хп-2, Уп-2})]. (3)

Компактное предствление МВП-графа с нумерацией вершин в порядке построения вида (3) будем называть каноническим компактным представлением и обозначать через ССР

Пример 1. МВП-граф на рис. 1, б имеет каноническое компактное представление

ССР= [({1, 2, 3}, 0), (4, {2, 3}), (5, {3, 4}), (6, {4, 5}), (7, {5,6}), (8, {6, 7})].

Пример 2. МВП-граф на рис. 1, г имеет компактное представление

СР(^ = [({1, 2, 8}, 0), (7, {2, 8}), (4, {2, 7}), (3, {2, 4}), (6, {4, 7}), (5, {4, 6})].

В [29] показано, что компактное представление МВП-графа может быть получено из его совершенной последовательности исключения за время 0(п + т). Однако более целесообразно использовать алгоритм, предложенный в [31]. Алгоритм использует метод МСБ и имеет временную сложность 0(п + т).

Каноническое компактное представление МВП-графа G получается из компактного представления СРпосредством перенумерации вершин. Псевдокод алгоритма приводится ниже.

Алгоритм 1. Алгоритм расчёта ССР(С) МВП-графа С

Вход: компактное представление СР(С) Выход: каноническое компактное представление ССР (С) 1: т&ж^] := 1; т&ж^] := 2; т&ж^З] := 3; 2: V; := 1; ^ := 2; ^ := 3; 3: Для з = 2,... ,п - 2 4: т^еж^] := з + 2; V := з + 2; 5: Для з = 2,... ,п - 2 6: х := т&ж^]; у := ].

Алгоритм перенумерации достаточно прост и состоит из трёх шагов. На первом шаге создается индексный массив index длины n. Затем для каждой из вершин v[, v2, v3 определяется индекс index [v^] = 1, index[v2] = 2, index[v3] = 3, после чего номерам вершин v^, v2, v3 присваиваются новые значения v^ = 1,v2 = 2,v3 = 3.

На втором шаге в цикле выполняется проход по всем другим триплетам {v2, {x2, У2}}, ..., |v„-2, |x„-2, Уга-2}} и для каждой вершины vj, j = 2,... , n — 2, определяется индекс index[vj] = j + 2, а номеру вершины присваивается новое значение vj = j + 2. Количество повторений в цикле равно n — 3.

На третьем шаге в цикле выполняется повторный проход по триплетам и в каждой паре вершин {xj, yj}, j = 2,... , n — 2, вершинам Xj и yj присваиваются новые значения номеров с помощью индексного массива по формулам xj = index [xj] и yj = index [yj]. Таким образом, при перенумерации выполняются два цикла, в каждом из которых количество повторений равно n — 3. Временная сложность алгоритма перенумерации составляет O(n).

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

3. Метрические свойства МВП-графов

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

Теорема 1. Пусть Gn — МВП-граф с n > 3 вершинами vi, v2, v3,... , vn и индексом Винера W(Gn). Тогда МВП-граф Gn+1, полученный добавлением вершины vn+1 и двух рёбер, соединяющих её с вершинами vp и vq ребра, принадлежащего внешней грани МВП-графа Gn, имеет индекс Винера, равный

n

W(Gn+i) = W(Gn) + £(min(d(vi,vp), d(vt,vg)) + 1). (4)

i=1

Доказательство. По определению индекс Винера МВП-графа Gn+1 равен

n n+1

W(Gn+1 ) = E E d(vi,vj).

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

1=1j=t+1

Правую часть этого выражения можно представить в виде

n- 1 n n

E E d(vi,vj) + E d(vi,vn+1). (5)

i=1j=i+1 i=1

Очевидно, первый член выражения (5) есть индекс Винера исходного МВП-графа, а для любой вершины vi Е V(Сп) расстояние между вершинами vi и

равно

¿(1г,1п+1) = ш1п(ё(1г,1р), d(vi,vq)) + 1. (6)

Подставляя значение d(vi,vn+1) из равенства (6) в выражение (5), получим искомое выражение (4). ■

Выражения (4), (6) могут быть использованы в алгоритме расчёта индекса Винера МВП-графов.

4. Расчет индекса Винера МВП-графов

Нетрудно заметить, что для МВП-графов с естественной нумерацией вершин можно построить простой итеративный алгоритм для определения матрицы расстояний и расчёта индекса Винера. Действительно, пусть Сп — п-вершинный МВП-граф с естественной нумерацией, полученный из исходного трёхвершинного МВП-графа К3 последовательным добавлением п — 3 вершин. В процессе построения графа получим последовательность его подграфов вида

С3 = ^ Сб; . . . , С п— 1, Сп.

Тогда для индекса Винера W (Си) каждого подграфа Си будем иметь

W(Си) = W(Си—1) + Би, к = 4, 5,..., п — 1, п,

где Би — приращение индекса Винера при добавлении вершины к. В результате для индекса Винера МВП-графа Сп получим

W (Сп) = W (Сз) + Б4 + Б5 + ■ ■ ■ + Бп—1 + Бп. (7)

Значение приращения индекса Винера для к-й вершины (при её добавлении) получим из выражения (3), используя матричную нотацию

к—1

Би = £ (шт(^р, ¿щ) + 1), (8)

г=1

где р и q — вершины подграфа Си—1, смежные с вершиной к подграфа Си; —

элементы матрицы расстояний ].

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

Расчёт выполняется последовательно для всех подграфов Си, начиная с к = 4, при этом сначала определяются элементы верхней части к-го столбца подматрицы размера к х к, а затем — элементы левой части к-й строки.

Докажем корректность алгоритма. Ясно, что для правильной работы алгоритма необходимо выполнение следующего условия: на каждом шаге алгоритма при добавлении вершины к к графу Си—1 расстояния d(vi,vp) и d(vi,vq) от любой вершины vi Е Си—1 до вершин vp и vq, смежных с вершиной к, должны быть определены на предшествующих шагах алгоритма.

Алгоритм 2. Алгоритм расчета матрицы расстояний и индекса Винера

Вход: целочисленные массивы номеров вершин А[п] и В[п] размера п Выход: матрица расстояний ¿[г,]], индекс Винера W 1: Для г = 1,..., п 2: ¿[г, г] := 0; // инициализация 3: ¿[1, 2] := 1; ¿[1, 3] := 1; ¿[2, 1] := 1; 4: ¿[2, 3] := 1; ¿[3,1] := 1; ¿[3, 2] := 1; W := 3; 5: Для к = 4,... , п 6: р := А [к]; q := В [к]; Б [к] := 0;

// Заполнение верхней части к-го столбца матрицы расстояний 7: Для г = 1,... , к — 1 8: ¿[г, к] := щт(^[г,р], ¿[г, q]) + 1; 9: Б [к] := Б [к]+ ¿[г, к];

// Заполнение левой части к-й строки матрицы расстояний 10: Для ] = 1,... , к — 1 11: ¿[к,^] := ф',к];

12: W := W + Б [к] //Расчёт индекса Винера

Выполнение этого условия обеспечивается:

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

2) использованием канонического компактного представления (следовательно, для любой вершины Vj графа к которому добавляется вершина k, выполняется неравенство v < k).

Определим временную сложность алгоритма. Алгоритм состоит из четырёх циклов. В первом цикле (операторы 1, 2) выполняется заполнение главной диагонали матрицы нулями. Все основные действия алгоритма выполняются во внешнем цикле (операторы 5-12) и двух внутренних циклах (операторы 7-9 и 10, 11). В первом внутреннем цикле производится расчёт всех элементов верхней части k-го столбца. Во втором внутреннем цикле производится заполнение всех элементов левой части k-й строки. Количество повторений в первом цикле n, в других циклах — n2 — n — 6. Таким образом, временная сложность алгоритма O(n2).

Общая временная сложность расчёта индекса Винера по предлагаемой методике складывается из временной сложности алгоритма расчёта индекса Винера и алгоритмов получения компактного представления и его перенумерации. Сложность алгоритма получения компактного представления равна O(n+m), алгоритма перенумерации — O(n). Для МВП-графов m = 2n — 3, поэтому общее количество операций алгоритма равно n2 + 5n — 9, а общая временная сложность — O(n2).

Ясно, что предлагаемый алгоритм превосходит по эффективности алгоритм умножения матриц, алгоритм Флойда — Уоршелла и алгоритмы Джонсона и Дейкстры, которые имеют временную сложность O(n3logn), O(n3) и O(n2logn + nm) соответственно. Алгоритм Беллмана — Форда при расчёте индекса Винера МВП-графов имеет временную сложность O(n3) (при n3 имеется скрытая константа 2) и тоже уступает предлагаемому алгоритму по эффективности.

Из всех известных алгоритмов лучшим является алгоритм поиска в ширину (ВЕБ), который при расчёте индекса Винера МВП-графов имеет временную сложность 0(п2). Однако алгоритм ВЕБ хуже, чем предлагаемый алгоритм, поскольку количество операций алгоритма ВЕБ равно (3п2 - 3п), что при больших значениях п приблизительно в 3 раза больше общего количества операций предлагаемого алгоритма.

Это подтверждается результатами тестирования алгоритмов получения компактного представления (СР), расчёта индекса Винера по предлагаемой методике (Жср) и с помощью алгоритма ВЕБ (Жбрэ). В таблице представлены средние значения времени работы алгоритмов в миллисекундах для разных значений количества вершин п. Расчёты проводились в системе Ма^ета^са. Для каждого значения п с помощью компьютера генерировались случайные МВП-графы с нумерацией в порядке построения. Алгоритм ВЕБ реализован в соответствии с [19]. Для получения компактного представления использовался алгоритм [31]. Нетрудно заметить, что при любом п ^ 50 время работы алгоритма ВЕБ в 3 раза больше, чем суммарное время работы алгоритмов получения компактного представления и расчёта индекса Винера по предлагемой методике.

n CP WCP Wbfs

50 16 22 123

75 31 47 275

100 48 89 508

150 98 211 1158

Выводы

Для МВП-графов получено рекуррентное соотношение для вычисления индекса Винера. Разработан алгоритм расчёта индекса Винера МВП-графов, представленных в компактной форме. Алгоритм имеет минимально возможное для алгоритмов, использующих матрицу расстояний, значение временной сложности равное O(n2). Наибольшая сравнительная эффективность достигается при расчёте индекса Винера МВП-графов большого порядка. Однако простота и наглядность алгоритма позволяют использовать его и для ручных вычислений индекса Винера МВП-графов с малым количеством вершин. Дополнительным положительным свойством алгоритма является возможность его прямого (без перенумерации вершин) использования для расчёта индекса Винера МВП-графов, сгенерированных компьютерной программой.

ЛИТЕРАТУРА

1. Евстигнеев В. A., Касьянов В. Н. Словарь по графам в информатике. Новосибирск: ООО «Сибирское научное издательство», 2009. 300с.

2. Wiener H. Structural determination of paraffin boiling points //J. Amer. Chem. Soc. 1947. V. 69. P. 17-20.

3. Федянин Д. Н. Об индексе Винера в последовательности социальных сетей // Тр. 52-й науч. конф. МФТИ «Соременные проблемы фундаментальных и прикладных наук». Ч. I. Радиотехника и кибернетика. Т. 2. М.: МФТИ, 2009. С. 94-97.

4. Dobrynin A. А., Entringer R. C., and Gutman I. Wiener index of trees: theory and applications // Acta Appl. Math. 2001. V.66. No.3. P. 211-249.

5. Gutman I., Yeh Y. N., Lee S. L., and Luo Y. L. Some recent results in the theory of the Wiener number // Indian J. Chemistry. 1993. V. 32A P. 651-661.

6. Gutman I., Yan W., Yang B. Y., and Yeh Y. N. Generalized Wiener indices of zigzagging pentachains // J. Math. Chem. 2007. V.42. No. 2. P. 103-117.

7. Gutman I., Yeh Y. N., Lee S. L., and Chen J. C. Wiener numbers of dendrimer // Commum. Math. Chem. 1984. V.30. No. 1. P. 103-115.

8. Vukicevic D. and Trinajstic N. Wiener indices of benzenoid graphs // Bulletin of the Chemists and Technologists of Macedonia. 2004. V.23. No. 2. P. 113-129.

9. Добрынин А. А., Гутман И. Индекс Винера для деревьев и графов гексагональных систем // Дискретный анализ и исследование операций. 1998. Сер. 2. Т. 5. №2. С. 34-60.

10. Добрынин А. А., Мельников Л. С. Индекс Винера для графов и их реберных графов // Дискретный анализ и исследование операций. 2004. Сер. 2. Т. 11. №2. С. 25-44.

11. Добрынин А. А. Индекс Винера для графов произвольного обхвата и их реберных графов // Сибирский журнал индустриальной математики. 2009. Т. XXII. №4(40). С. 44-50.

12. Saltes L. Transmission in graphs: a bound and vertex removing // Math. Slovaca. 1991. V. 41. No. 1. P. 11-16.

13. El Marraki M. and Al Hagri G. Calculation of the Wiener index for some particular trees // J. Theor. Appl. Inform. Technology (JATIT). 2010. V.22. No. 2. P. 77-83.

14. Flayd R. W. Algorithm 97: Shortest Path // Comm. ACM. 1962. V. 5. No. 6. P. 345.

15. Warshall S. A theorem on Boolean matrices //J. ACM. 1962. V. 9. No. 1. P. 11-12.

16. Jahnsan D. B. Efficient algorithms for shortest paths in sparse networks //J. ACM. 1977. V. 24. No. 1. P. 1-13.

17. MUller W.R., Szymanski K., Knap J. V., and Trinajstic N. An algorithm for construction of the molecular distance matrix //J. Comput. Chem. 1987. V. 8. No. 2. P. 170-173.

18. Dijkstra E. W. A note on two problems in connexion with graphs // Numer. Math. 1959. V. 1. No. 1. P. 269-271.

19. Mahar B. and Pisanski T. How to compute the Wiener index of a graph. //J. Math. Chem. 1988. V.3. No. 2. P. 267-277.

20. Bellman R. On a routing problem // Quart. Appl. Math. 1958. V. 16. No. 1. P. 87-90.

21. Fard Jr. L. R. Network Flow Theory // Paper P-923. Santa Monica, California: RAND Corp., 1956. P. 923.

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

23. Felzenszwalb P. F. Representation and detection of deformable shapes // IEEE Trans. Pattern Analys. Machine Intelligence. 2005. V.27. No. 2. P. 208-220.

24. Dirac G. A. On rigid circuit graphs // Abh. Math. Sem. Univ. Hamburg. 1967. V. 25. P. 71-76.

25. Asratian A. S. and Oksimets N. Graphs with hamiltonian balls // Australasian J. Combinator. 1998. V. 17. No. 4. P. 185-198.

26. Rase D., Tarjan R. E., and Lueker G. Algorithmic aspects of vertex elimination on graphs // SIAM J. Comput. 1976. V.5. No. 2. P. 146-160.

27. Tarjan R. E., and Yannakakis M. Simple linear-time algorithms to test chordality of graphs, test acyclicity of hypergraphs, and selectively reduce acyclic hypergraphs // SIAM J. Comput. 1984. V. 13. No. 3. P. 566-579.

28. Beyer T., Janes W., and Mitchell S. Linear algorithms for isomorphism of Maximal outer-planar graphs. //J. ACM. 1979. V.26. No. 4. P. 603-610.

29. Markenzan L. and Pereira P. R. C. A compact representation for chordal graphs // Proc. of Workshop on Graphs and Combinatorial Optimization. Gargnano: CTW, 2008. P. 174-176.

30. Blair J. R. S. and Peytan B. An introduction to chordal graphs and clique trees // Graph Theory and Sparse Matrix Computation. N.Y.: Springer Verlag, 1993. P. 1-29.

31. Markenzan L. and Vernet O. Representagoes Computacionais de Grafos. Notas em Matemática Aplicada. V.24. Sao Carlos, SP: SBMAC, 2006. 76 p.

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