Научная статья на тему 'Быстрый поиск характеристик взвешенного графа по матрице кратчайших расстояний'

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

CC BY
730
83
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЦЕНТР ГРАФА / РАДИУС ГРАФА / ДИАМЕТР ГРАФА / МАТРИЦА КРАТЧАЙШИХ РАССТОЯНИЙ / ВЗВЕШЕННЫЙ ГРАФ / СТРУКТУРИРОВАННОСТЬ ГРАФА / GRAPH CENTER / GRAPH RADIUS / GRAPH DIAMETER / DISTANCE MATRIX / WEIGHTED GRAPH / GRAPH STRUCTUREDNESS

Аннотация научной статьи по математике, автор научной работы — Ураков Айрат Ренатович, Михтанюк Алэна Александровна, Тимеряев Тимофей Валерьевич

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

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

Похожие темы научных работ по математике , автор научной работы — Ураков Айрат Ренатович, Михтанюк Алэна Александровна, Тимеряев Тимофей Валерьевич

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

Fast search of weighted graph characteristics using distances matrix

Algorithms for fast search of the center, the radius and the diameter of weighted graphs are being proposed. The proposed algorithms use the structuredness of road networks graphs for the search acceleration. The comparison of the proposed algorithms with the search of graph characteristics by a simple examination of all elements of distance matrix are being presented.

Текст научной работы на тему «Быстрый поиск характеристик взвешенного графа по матрице кратчайших расстояний»

МАТЕМАТИЧЕСКОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВЫЧИСЛИТЕЛЬНЫХ МАШИН...

УДК 519.173.5

А. Р. Ураков, А. А. Михтанюк, Т. В. Тимеряев

БЫСТРЫЙ ПОИСК ХАРАКТЕРИСТИК ВЗВЕШЕННОГО ГРАФА ПО МАТРИЦЕ КРАТЧАЙШИХ РАССТОЯНИЙ

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

ВВЕДЕНИЕ

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

в [1-3].

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

• изначально вычислять какую-то из характеристик не требовалось;

• матрица кратчайших расстояний графа каким-то образом изменяется, корректируется без пересчета кратчайших расстояний между всеми парами вершин;

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

1. ПОИСК ЦЕНТРА, РАДИУСА И ДИАМЕТРА ВЗВЕШЕННОГО ГРАФА

Задан связный неориентированный взвешенный граф О = (V, Е, м>) с неотрицательной весовой функцией V и мощность множества вершин IV = п. Для данного графа дана матрица кратчайших расстояний М = (ті}). Необходимо найти центр, радиус и диаметр данного графа.

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

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

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

Контактная информация: 8-917-751-30-10

А. Р. Ураков, А. А. Михтанюк, Т. В. Тимеряев • Быстрый поиск характеристик взвешенного графа.

165

1.1. Алгоритм быстрого поиска центра и радиуса

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

Ускорение поиска

На этапе ускорения ищется пара вершин (х,у), каждая из которых является самой удаленной для другой

х, у: т„, = тах ту = тах тХх.

7 ^ ху . -— гу . :— гх г =1,п г =1,п

Для этого выбирается любая вершина графа и обозначается р1, далее ищется вершина

Р,: тр, р, = тах тр1г.

i =1,'

Поиск вершин p;+1 продолжается до тех пор, пока не будет выполнено равенство p;-1 = p;+1. В случае если равенство выполнено, полагаем

x = Pj y = p+1.

Поиск центра и радиуса

Шаг 1. Поиск центра состоит в последовательном рассмотрении претендентов на центр. Первый претендент на центр c ищется как вершина, максимум удаления которой от пары (x, y) минимален

c: max(mcx,mcy) = min(max(miX, my)).

i=1,n

После нахождения c величина r = = max(mcx, mcy) является первым приближением радиуса графа.

Шаг 2. Для проверки c на центр ищется периферийная вершина

z: mZc = max mw.

i =1, n

Утверждение. Если mzc = r, то r - радиус, а c - один из центров графа.

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

max mic = r = min(max( mix, miy)),

i=1,n i=1,n

То есть r - максимальное расстояние от c до любой другой вершины, но в то же время r -минимальное расстояние до одной (а возможно, и обоих) из вершин (x, y). Поэтому для любой другой вершины d максимум расстояния до одной вершины из пары (x, y) будет не меньше r < < max(mdx, mdy). Следовательно, c - центр, хотя в общем случае и не единственный.

Если mzc > r, радиус графа R лежит в пределах r < R < mzc и необходимо выбрать другого претендента на центр. Перед тем как искать

следующего претендента, производится попытка ускорения поиска. Ищется вершина t: mzt > > mxy. Если вершина, удовлетворяющая этим условиям, найдена, то x = z, y = t и переходим к шагу 1 поиска центра и радиуса. Если же такая вершина не была найдена, ищем нового претендента на центр. Среди нерассмотренных на центр вершин находится вершина

d : max(m«x, mdy, mdz) = min(max(miX, mv, mlz)).

i =1, n

Если максимальное расстояние от этой вершины до других меньше, чем текущая верхняя граница радиуса max mdi < mzc, то d - новый

i =1, n

претендент на центр (c = d), переходим к шагу 2 поиска центра и радиуса. Если max mdi = mzc, то

i =1,n

c - центр, а r - радиус. Если maxmdi > mzc, то

i =1,n

заново ищем вершину d, помечая текущую как рассмотренную на центр.

1.2. Алгоритм быстрого поиска диаметра

Алгоритм быстрого поиска диаметра устроен подобно алгоритму поиска центра и радиуса. Так же, как и при поиске центра, ищем пару вершин (x, y), каждая из которых является самой удаленной для другой. Величина d = mxy при этом является текущим претендентом на диаметр. Далее, таким же образом, как и в алгоритме поиска центра и радиуса, ищется вершина c, максимум удаления которой от пары вершин (x, y) минимален среди всех остальных вершин. После этого диаметр ищется в столбцах матрицы только тех вершин i, для которых выполнено неравенство mci > d/2.

Утверждение. Диаметр графа D = d или находится в столбцах матрицы кратчайших расстояний тех вершин i, для которых выполнено неравенство mci > d/2.

Доказательство. Если d = mxy не является диаметром графа, то существует пара вершин z, t: mzt > mxy. Для матрицы кратчайших расстояний справедливо mzt < mzc + mct. Следовательно, m^ =2*d/2 < mzc + mct, то есть необходимо либо mzc>d/2, либо mct > d/2.

2. РЕЗУЛЬТАТЫ

Сравнение предложенных алгоритмов быстрого поиска (БП) с простым проходом по матрице кратчайших расстояний (ПМ) было проведено на 20 графах реальных дорожных сетей, характеристики которых приведены в таблице

ниже. Производилось вычисление отдельно центра с радиусом и диаметра, а также их совместное нахождение. Для уточнения результатов вычисления производились несколько раз, в таблицах представлены средние значения времени поиска. Так как тестовые графы обладают небольшим количеством вершин, при сравнении каждый метод выполнялся 1000 раз и замерялось общее время выполнения. Тестирование производилось на ПК с процессором Intel Core 2 Duo E8400.

Результаты испытаний и характеристики тестовых графов

Вершин Центр, радиус Диаметр Центр, радиус и диаметр

ПМ, с БП, с ПМ, с БП, с ПМ, с БП, с

528 1,4 G,G15 G,64 G,G15 1,5 G,G16

8i4 3,5 G,G47 1,5 G,G31 3,6 G,G31

1291 8,2 G,G47 4,1 G,G47 8,4 G,G62

Ш2 8,5 G,G47 4,1 G,G31 8,7 G,G62

Ш1 13 G,G63 6,2 G,G47 13 G,G63

1б41 13 G,23 6,5 G,G78 13 G,26

1б45 13 G,13 6,6 G,G93 14 G,2G3

187G 18 G,11 8,7 G,G78 18 G,13

2G59 21 4,2 Ш G,2G3 22 4,3

215G 23 G,G94 11 G,G62 23 G,G94

2194 24 G,G93 12 G,G78 25 G,G93

228G 24 G,16 13 G,1G9 25 G,2G3

2424 29 G,14 14 G,1G9 3G G,19

2484 3G G,81 15 G,1G9 32 G,83

2542 31 G,19 16 G,G94 32 G,22

289б 42 G,45 2G G,14 44 G,5

2921 42 G,1G9 21 G,G94 43 G,16

29б4 42 1,7 21 G,13 43 1,8

3G6G 44 G,25 22 G,11 45 G,23

33б4 55 G,23 27 G,2G4 56 G,28

Алгоритм быстрого поиска центра и радиуса справляется с задачей в среднем в 150 раз быстрее, чем простой проход по матрице кратчайших расстояний, ускорение времени вычисления варьируется от 5 до 380 раз. Для поиска диаметра эти цифры - в 125 раз, от 40 до 220 раз; для совместного поиска центра, радиуса и диаметра - в 135 раз, от 5 до 270 раз.

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

ЗАКЛЮЧЕНИЕ

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

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

СПИСОК ЛИТЕРАТУРЫ

1. Johnson D.B. Efficient algorithms for shortest paths in sparse graph // Journal of the ACM. 1977. № 24. P. i-i3.

2. Galil Z., Margalit O. All pairs shortest distances for graphs with small integer length edges // Information and Computation. 1997. № i34. P. Ш3-139.

3. Zwick U., Shoshan A. All pairs shortest paths in undirected graphs with integer weights // Proceedings of the 4Gth IEEE Symposium on Foundations of Computer Science, IEEE Computer Society, 1999. P. 6G5-614.

ОБ АВТОРАХ

Ураков Айрат Ренатович, доц. каф. компьютеры. математики УГАТУ. Дипл. инженер-системотехник (МГТУ, i993). Канд. физ.-мат. наук по применению вычислительн. техники, математическ. моделирования и математическ. методов в научных исследованиях (БашГУ, i997). Иссл. в обл. применения численных методов и верификации данных.

Михтанюк Алэна Александровна, доц. той же каф. Дипл. инженер-системоаналитик (УГАТУ, i995). Канд. техн. наук по САПР (УГАТУ, 2GG3). Иссл. в обл. методов оптимизации.

Тимеряев Тимофей Валерьевич, асп. той же каф. Дипл. магистр прикл. матем. и инф. (УГАТУ, 2Gii). Иссл. в обл. теории графов.

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