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

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

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

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

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

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

Using weighted graphs features for fast searching their parameters

In this paper, some algorithms are presented for the fast search of center, radius and diameter of weighted graphs on all-pairs shortest path matrix, using features of real-world road networks graphs. They are compared with algorithms searching these parameters by simple pass through elements of matrix.

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

ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА

2012 Прикладная теория графов №2(16)

УДК 519.173.5

ИСПОЛЬЗОВАНИЕ ОСОБЕННОСТЕЙ ВЗВЕШЕННЫХ ГРАФОВ ДЛЯ БОЛЕЕ БЫСТРОГО ОПРЕДЕЛЕНИЯ ИХ ХАРАКТЕРИСТИК

А. Р. Ураков, Т. В. Тимеряев

Уфимский государственный авиационный технический университет, г. Уфа, Россия

E-mail: timeryaev@yandex.ru

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

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

Введение

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

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

Рассмотрим взвешенный неориентированный связный граф с неотрицательными весами рёбер. Нас интересуют такие его характеристики: центр, радиус и диаметр. Они определяются следующим образом. Эксцентриситет вершины — максимальное из расстояний от данной вершины до других вершин. Радиус графа — минимальный из эксцентриситетов вершин связного графа; вершина, на которой достигается этот минимум, называется центральной (центром графа). Диаметр графа — это максимум расстояния между вершинами для всех пар вершин. В большинстве случаев эти значения вычисляются вместе с матрицей кратчайших расстояний и соответственно ускорение их поиска достигается ускорением поиска матрицы кратчайших расстояний для различного рода графов [1-3]. Однако бывают ситуации, когда матрица кратчайших расстояний известна, а эти величины нет. Некоторые подобные случаи приведены ниже:

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

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

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

Тривиальный метод отыскания указанных характеристик состоит в просмотре всех элементов матрицы кратчайших расстояний и определении столбца, максимум значений которого минимален, и максимального элемента матрицы. Сложность нахождения характеристик таким способом составляет O(n2), где n — количество вершин в графе.

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

1. Поиск центра, радиуса и диаметра взвешенного графа

1.1. Алгоритм ускоренного поиска центра и радиуса Входные данные алгоритма: матрица кратчайших расстояний M = (mj) взвешенного неориентированного связного графа с неотрицательными весами ребер.

Шаг 1. Подготовка

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

mxy = max miy = max mix. (1)

i=1,n i=1,n

Для этого выбирается любая вершина графа pi, далее ищется вершина p2, для которой mPlP2 = max mpii. Поиск вершин pj, j = 2, 3,..., продолжается до тех пор, пока не будет

i=1,n

выполнено равенство p¿_i = pj+i, тогда x = pj, y = pj+i.

Шаг 2. Поиск

Рассматриваются все вершины, кроме x, y. Претендент на центр с ищется как вершина, максимум удаления которой от пары (x, y) минимален:

max (mcx,mcy) = min (max (mix,miy)). (2)

i=1,n

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

Шаг 3. Проверка

Ищется периферийная вершина z, такая, что

mzc = max mic. (3)

i=1,n

Если mzc = r, то, согласно утверждению 1, r — радиус, с — один из центров графа. Если mzc > r, радиус R графа лежит в пределах r ^ R ^ mzc, переходим к шагу 4. Шаг 4. Попытка замены вершин x и y

Производится попытка ускорения поиска. Ищется вершина t, для которой mzt > mxy. Если такая вершина найдена, то полагаем x = z, y = t и переходим к шагу 2. Иначе переходим к шагу 5.

Шаг 5. Поиск нового претендента на центр

Среди нерассмотренных претендентов на центр находится вершина d, для которой max (mdx,mdy, mdz) = min (max (mix, miy, miz)).

i=1,n

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

верхняя граница радиуса (max mdi < mzc), то d — новый претендент на центр; пола-

i=1,n

гаем с = d, переходим к шагу 3. Если maxmdi = mzc, то с — центр, r — радиус. Если

i=1,n

max mdi > mzc, то помечаем вершину d как рассмотренную и снова выполняем шаг 5.

i=1,n

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

mzc = r = max (mcx, mcy), то r — радиус, а с — один из центров графа.

Доказательство. Дано: maxmic = r = min (max (mix, )). То есть r — макси-

i=1,n i=1,n

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

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

Шаги 1 и 2 алгоритма совпадают с соответствующими шагами алгоритма поиска центра и радиуса.

Входные данные алгоритма: матрица кратчайших расстояний M = (mj) взвешенного неориентированного связного графа с неотрицательными весами рёбер.

Шаг 1. Подготовка

Ищется пара вершин (х,у), удовлетворяющая (1). Величина d = mxy при этом является текущим претендентом на диаметр.

Шаг 2. Поиск опорной вершины

Ищется вершина с, удовлетворяющая (2).

Шаг 3. Поиск диаметра

Выполняется поиск диаметра в столбцах матрицы, соответствующих только тем вершинам i, для которых выполнено неравенство mci > d/2.

Утверждение 2. Пусть дан взвешенный неориентированный связный граф с неотрицательными весами рёбер, вершины х, у определяются по (1), вершина с определяется по (2) и d = mxy. Тогда диаметр графа равен d или находится в столбцах матрицы кратчайших расстояний тех вершин i, для которых выполнено неравенство mci > d/2.

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

2. Результаты исследования

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

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

Количество вершин Центр, радиус Диаметр Центр, радиус и диаметр

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

528 1,4 0,015 0,64 0,015 1,5 0,016

814 3,5 0,047 1,5 0,031 3,6 0,031

1291 8,2 0,047 4,1 0,047 8,4 0,062

1302 8,5 0,047 4,1 0,031 8,7 0,062

1601 13 0,063 6,2 0,047 13 0,063

1641 13 0,23 6,5 0,078 13 0,26

1645 13 0,13 6,6 0,093 14 0,203

1870 18 0,11 8,7 0,078 18 0,13

2059 21 4,2 10 0,203 22 4,3

2150 23 0,094 11 0,062 23 0,094

2194 24 0,093 12 0,078 25 0,093

2280 24 0,16 13 0,109 25 0,203

2424 29 0,14 14 0,109 30 0,19

2484 30 0,81 15 0,109 32 0,83

2542 31 0,19 16 0,094 32 0,22

2896 42 0,45 20 0,14 44 0,5

2921 42 0,109 21 0,094 43 0,16

2964 42 1,7 21 0,13 43 1,8

3060 44 0,25 22 0,11 45 0,23

3364 55 0,23 27 0,204 56 0,28

Алгоритм быстрого поиска центра и радиуса справляется с задачей в среднем в 160 раз быстрее, чем простой проход по матрице кратчайших расстояний, ускорение варьируется от 5 до 400 раз. Для поиска диаметра эти цифры — в 100 раз, от 30 до 190 раз; для совместного поиска центра, радиуса и диаметра — в 130 раз, от 5 до 340 раз.

3. К вопросу об особенностях графов

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

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

Если анализировать выполнение алгоритма, то можно заметить, что скорость поиска характеристик зависит от выполнения следующего условия. Рассмотрим в исследуемом графе все четверки вершин (г,^, к,/) и все различные треугольники, обра-

зуемые каждыми тремя вершинами из этой четверки, Д^, Д^г и т.д. Назовем треугольник Ді/fc невырожденным, если во всех комбинациях его вершин для элементов матрицы кратчайших расстояний выполняется m^ + m.,^ > m^. Рассмотрим четверки вершин (i,j,fc,/), у которых все треугольники являются невырожденными. Пусть для площадей этих треугольников выполняются соотношения S4 ^ S3 ^ S2 ^ Si и S4 + Si ~ S3 + S2. Наличие в графе таких четвёрок вершин приводит к замедлению поиска, и чем таких четверок больше, тем медленнее происходит поиск. Соответственно условием быстрого поиска характеристик графа является наличие как можно меньшего числа такого рода четверок. К сожалению, анализ графа на выполнение этого условия весьма трудоемок и в вычислительном смысле многократно сложнее выполнения самого алгоритма.

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

Заключение

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

Рассматриваемые алгоритмы не гарантируют ускорения вычисления указанных характеристик в общем случае. Используя условия из п. 3, можно построить граф, на котором ускорения не будет или эффект ускорения будет мал. Однако искусственность такого условия позволяет предполагать, что в реальности дорожная сеть, представленная таким графом, не имеет практического смысла.

ЛИТЕРАТУРА

1. Johnson D. B. Efficient algorithms for shortest paths in sparse graph // J. ACM. 1977. No. 24. P. 1-13.

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

2. Galil Z. and Margalit O. All pairs shortest distances for graphs with small integer length edges // Information and Computation. 1977. No. 134. P. 103-139.

3. Zwick U. and Shoshan A. All pairs shortest paths in undirected graphs with integer weights // Proc. of the 40th IEEE Symposium on Foundations of Computer Science. Washington: IEEE Computer Society Washington, 1999. P. 605-614.

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