Научная статья на тему 'АЛГОРИТМ ПОИСКА КРАТЧАЙШЕГО ПУТИ МЕЖДУ ПОДВИЖНЫМИ ОБЪЕКТАМИ ТРАНСПОРТНОЙ СЕТИ'

АЛГОРИТМ ПОИСКА КРАТЧАЙШЕГО ПУТИ МЕЖДУ ПОДВИЖНЫМИ ОБЪЕКТАМИ ТРАНСПОРТНОЙ СЕТИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
454
50
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТРАНСПОРТНАЯ СЕТЬ / ИНФОРМАЦИОННЫЙ ОБМЕН / ПОДВИЖНЫЕ ОБЪЕКТЫ / ПОИСК КРАТЧАЙШЕГО ПУТИ В ГРАФЕ / АЛГОРИТМ ДЕЙКСТРЫ / TRANSPORT NETWORK / INFORMATION EXCHANGE / MOBILE OBJECTS / SEARCH FOR THE SHORTEST PATH IN THE GRAPH / DIJKSTRA ALGORITHM

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Калюжный А. В., Терехов В. Г., Зыкова С. С.

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Калюжный А. В., Терехов В. Г., Зыкова С. С.

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

ALGORITHM FOR FINDING THE SHORTEST PATH BETWEEN MOVING OBJECTS IN THE TRANSPORT NETWORK

A method for finding the optimal route for information exchange between mobile objects of the transport network is considered. An algorithm for finding the shortest path from one moving object to all the others has been developed based on Dijkstra's algorithm. A specific example of the implementation of the algorithm proposed in the article is given. The results of simulation modeling of the developed algorithm are presented in comparison with the algorithm for finding the shortest path in the Bellman-Ford graph with an increase in the number of vertices in the graph. Application of the developed algorithm will make it possible to build an optimal route for information interconnection of mobile objects, which will significantly increase the efficiency of transport network management.

Текст научной работы на тему «АЛГОРИТМ ПОИСКА КРАТЧАЙШЕГО ПУТИ МЕЖДУ ПОДВИЖНЫМИ ОБЪЕКТАМИ ТРАНСПОРТНОЙ СЕТИ»

1п1е11гс1ыа1 Technologies оп ТтитроН. 2020. N0 3

Алгоритм поиска кратчайшего пути между подвижными объектами транспортной сети

А. В. Калюжный, к.т.н. В. Г. Терехов, С. С. Зыкова Военно-космическая академия имени А. Ф. Можайского Санкт-Петербург, Россия [email protected]

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

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

Введение

Активное развитие транспортных сетей (ТС) приводит к росту информационных потоков между участниками данных сетей, а именно подвижными объектами. Динамическое изменение ситуации в ТС и изменение числа объектов ТС приводит к необходимости использования моделей и алгоритмов адаптивной маршрутизации [1-3]. Так как подвижные объекты могут выходить из зоны видимости, терять работоспособность, что вынуждает осуществлять доставку информации от одного подвижного объекта к другому через соседние объекты «по цепочке», необходимо вариативно определять маршруты применительно к текущей ситуации в сети [4]. В связи с этим возникает задача поиска кратчайшего пути между подвижными объектами с целью построения оптимальных маршрутов их взаимосвязи в случае возникновения нештатных ситуаций, решение которых возможно осуществить с помощью применения алгоритма Дейкстры [5]. Суть работы данного алгоритма основана на анализе ориентированного взвешенного графа при условии, что все ребра в графе имеют неотрицательные веса.

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

Постановка задачи

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

графа до всех остальных. Начальной вершине соответствует подвижный объект ТС, который инициирует передачу информации другим подвижным объектам. Общий вид анализируемого графа представлен на рисунке 1.

V"

Рис. 1. Общий вид анализируемого графа

Постановку задачи можно представить следующим образом.

Дано:

С (V, Е) — граф;

V — множество вершин графа;

Е — множество ребер графа;

и/у — вес (длина) ребра из вершины I в вершину ]';

штах — максимальный вес ребра;

Б = , й2,..., <Лк} — множество расстояний от начальной вершины до всех остальных вершин ( к — количество вершин в графе);

Р = (р-1, р2,... Рк} — множество значений-индикаторов (0 или 1) завершения «прохода» вершин;

5 — вершина, инициирующая передачу данных.

Найти:

кратчайшее расстояние от начальной вершины до всех остальных вершин графа с ограничениями: < штах.

С учетом вышеизложенного разработан алгоритм поиска кратчайшего пути между подвижными объектами ТС, схема которого представлена в следующем разделе.

Алгоритм поиска кратчайшего пути

между подвижными объектами транспортной сети

Схема алгоритма поиска кратчайшего пути между подвижными объектами ТС изображена на рисунке 2.

Пошаговое описание работы алгоритма представлено в таблице 1 .

Кроме того, при работе алгоритма необходимо обратить внимание на следующие особенности:

- на этапе инициализации все подвижные объекты ТС посылают широковещательные запросы всем остальным

Рис. 2. Схема алгоритма поиска кратчайшего пути между подвижными объектами транспортной сети

подвижным объектам, по ответам которых строится таблица смежности;

- в определенные моменты времени состоянию подвижных объектов ТС соответствует взвешенный граф, в котором весами вершин будет расстояние между подвижными объектами;

- если между вершинами i и j данного графа нет ребра, то его весу присваивается значение INF (не определено, бесконечность, либо значение заведомо большее максимально возможного веса) [6-8].

Таблица 1

Пошаговое описание алгоритма поиска кратчайшего пути между подвижными объектами транспортной сети

Шаги Описание

1. Начало.

2. Установить метку 0 исходной вершине (ds = 0), а всем остальным — установить метки INF (D ■= INF). Это означает, что расстояния до остальных вершин пока неизвестны. Все вершины графа помечаются как непройденные (Р ■= 0).

3. Установить во всех i-х вершинах, смежных с вершиной s, значение метки, равное dt = ds + ws i.

4. Пометить вершину s как пройденную (ps = 1).

5. Проверить, имеются ли в графе не пройденные вершины. Если таковые имеются, то перейти к шагу 6, иначе - к шагу 12.

6. Поиск номера i-й вершины с минимальной меткой i = arg min{di}.

7. Если существуют смежные вершины, не помеченные как пройденные, то выполнить переход на шаг 8, иначе - на шаг 10.

8. Если dj < dt + wtj, то переход на шаг 10, иначе — на шаг 9.

9. Установить значение метки равным dj = dt + w^j.

10. Пометить вершину i как пройденную (р; = 1).

11. Переход к шагу 5.

12. Конец.

Описание примера работы алгоритма

Рассмотрим работу алгоритма на примере, представленном на рисунке 3.

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

Далее (рис. 3, в) осуществляется выставление меток в вершинах, смежных с вершиной 3. На рисунке 3, г изображен переход к вершине с минимальной меткой, то есть к вершине 4, и выставление меток смежным для нее вершинам. Значение метки во второй вершине меняется на 30, так как оно меньше значения, записанного там ранее. Вершина 3 отмечается как пройденная.

Процесс улучшения значения меток в смежных вершинах называется релаксацией.

На рисунке 3, д имеются две вершины с одинаковыми метками. Согласно принципу работы алгоритма выбирается любая из них. На этом этапе переходим к вершине 2, происходит релаксация значений меток в смежных вершинах, и в седьмую вершину записывается новое значение, равное 50.

На рисунке 3, е показан переход к вершине с минимальной меткой, т. е. вершине 5, а вершина 2 отмечается как пройденная. Далее переходим к вершине 6 (рис. 3, ж). Так как вершина 5 не имеет ребер, смежных с еще не пройденными вершинами, она отмечается как пройденная. На рисунке 3, з вершина 6, также не имеющая смежных непройденных вершин, отмечается как пройденная. Так как все вершины пройдены, то процесс функционирования алгоритма заканчивается.

1п1е11есШа1 Technologies оп ТтатроН. 2020. N0 3

Рис. 3. Пример выполнения алгоритма поиска кратчайшего пути

Intellectual Technologies on Transport. 2020. No 3

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

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

Сравнение оперативности работы предложенного

алгоритма с алгоритмом Беллмана-Форда

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

При оценке сложности алгоритмов используется специальная величина под названием Big-O «большая О». Она позволяет оценить, насколько время выполнения алгоритма зависит от переданных данных. Разработанный алгоритм, как и алгоритм Дейкстры, имеет сложность 0((V + Е)х log V), тогда как алгоритм Беллмана-Форда имеет сложность равную 0(V х Е) [9]. Сравним влияние увеличения количества вершин в графе на время выполнения алгоритмов.

Все эксперименты проводились при одинаковых условиях, на ПЭВМ c процессором Intel Core i5.

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

Таблица 2

Время вычисления кратчайших путей из одной вершины

V E Разработанный алгоритм поиска кратчайшего пути Алгоритм Беллмана-Форда

6 8 0,000002 0,000001

66 464 0,000012 0,000005

258 3 872 0,00006 0,000041

1 026 31 808 0,000338 0,000287

2 027 89 190 0,0022 0,00347

3 027 163 460 0,0038 0,00535

4 098 258 176 0,0043 0,0076

6 402 505 760 0,0089 0,0144

8 102 721 080 0,0157 0,0248

10 002 990 200 0,0223 0,0351

Результатом является время (в секундах) вычисления кратчайших путей из одной вершины, каждым алгоритмом, для сгенерированных графов с |7| = к2 + 2 вершинами и |Е| = к3 - к2 +2к ребрами.

На рисунке 4 представлена зависимость значения времени выполнения разработанного алгоритма и алгоритма Беллмана-Форда от числа вершин в графе.

0,04 0,03 0,02 0,01

разработанный агоритм Алгоритм Беллмана-Форда

сСР

V

Рис. 4. Зависимость времени выполнения алгоритмов от числа вершин в графе

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

Анализ результатов моделирования показал, что время выполнения алгоритмов, при 8 100 вершинах в графе, уменьшается с 0,0248 с для алгоритма Беллмана-Форда до 0,0157 с для разработанного алгоритма [10].

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

Заключение

В статье рассмотрен алгоритм поиска кратчайшего пути между подвижными объектами ТС для построения оптимального маршрута их информационного обмена на основе использования алгоритма Дейкстры. Результаты имитационного моделирования показали, что применение разработанного алгоритма позволяет повысить оперативность поиска кратчайших путей в графе при наличии в графе более 4 000 вершин. Применение разработанного алгоритма позволит построить оптимальный маршрут информационной взаимосвязи подвижных объектов, что значительно повысит эффективность управления ТС за счет более оперативного сбора и обмена информацией.

Литература

1. Дышленко С. Г. Маршрутизация в транспортных сетях // ИТНОУ: Информационные технологии в науке, образовании и управлении. 2018. № 1 (5). С. 15-20.

2. Фокин В. Г. Оптические системы передачи и транспортные сети: Учебное пособие для студентов, обучающихся по направлению «Телекоммуникации». — М.: Эко-Трендз, 2008. — 285 с. — (Инженерная энциклопедия. Технологии электронных коммуникаций).

3. Рафгарден Т. Совершенный алгоритм. Графовые алгоритмы и структуры данных = Algorithms Illuminated. Part 2: Graph Algorithms and Data Structures. — СПб.: Питер, 2019. — 256 с. — (Библиотека программиста).

4. Рудь Д. Е. Технологии топологической оптимизации трафика информационных потоков в телекоммуникационных сетях // Инженерный вестник Дона. 2010. № 2 (12). С. 95-107.

5. Dijkstra E. W. A note on two problems in connexion with graphs // Numerische Mathematik. 1959. Vol. 1. Pp. 269-271. D0I:10.1007/BF01386390.

0

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

6. Cormen T. H. Introduction to Algorithms. First Edition / T. H. Cormen, C. E. Leiserson, R. L. Rivest. — MIT Press, 1990. — 1048 р.

7. Назаров А. Н. Модели и методы расчета показателей качества функционирования узлового оборудования и структурно-сетевых параметров сетей связи следующего поколения / А. Н. Назаров, К. И. Сычев. — Красноярск: По-ликом, 2010. — 389 с.

8. Лёвин Б. А. Информационное моделирование при управлении транспортом // Перспективы науки и образования. 2017. № 3 (27). С. 50-54.

9. Хайнеман Д. T. Алгоритмы. Справочник с примерами на С, С++, Java и Python. Второе издание = Algorithms in a Nutshell. Second Edition. / Д. Т. Хайнеман, Г. Поллис, С. Селков; пер. с англ. и ред. И. В. Красикова. — СПб.: Издательство «Диалектика»: ООО «Альфа книга», 2017. — 432 с.

10. Коваленко Т. А. Анализ алгоритмов маршрутизации в вычислительных сетях // Глобальный научный потенциал. 2011. № 9. С. 41-45.

Algorithm for Finding the Shortest Path Between Moving Objects in the Transport Network

A. V. Kalyuzhnyy, PhD V. G. Terekhov, S. S. Zykova A. F. Mozhaisky Military Space Academy Saint Petersburg, Russia [email protected]

Abstract. A method for finding the optimal route for information exchange between mobile objects of the transport network is considered. An algorithm for finding the shortest path from one moving object to all the others has been developed based on Dijks-tra's algorithm. A specific example of the implementation of the algorithm proposed in the article is given. The results of simulation modeling of the developed algorithm are presented in comparison with the algorithm for finding the shortest path in the BellmanFord graph with an increase in the number of vertices in the graph. Application of the developed algorithm will make it possible to build an optimal route for information interconnection of mobile objects, which will significantly increase the efficiency of transport network management.

Keywords: transport network, information exchange, mobile objects, search for the shortest path in the graph, Dijkstra algorithm.

References

1. Dyshlenko S. G. Routing in Transport Networks [Marsh-rutizatsiya v transportnykh setyakh], Information Technologies in Science, Education and Management [ITNOU: Infor-matsionnye tekhnologii v nauke, obrazovanii i upravlenii.], 2018, No. 1(5), Pp. 15-20.

2. Fokin V. G. Optical transmission systems and transport networks: Study guide [Opticheskie sistemy peredachi i transportnye seti: Uchebnoe posobie], Moscow, Eco-Trends, 2008, 285 p.

3. Roughgarden T. Algorithms Illuminated. Part 2: Graph Algorithms and Data Structures [Sovershennyy algoritm. Grafovye algoritmy i struktuiy dannykh], St. Petersburg, Piter Publishing House, 2019, 256 p.

4. Rud D. Ye. Technologies for Topological Optimization of Traffic of Information Flows in Telecommunication Networks [Tekhnologii topologicheskoy optimizatsii trafika infor-matsionnykh potokov v telekommunikatsionnykh setyakh], Engineering Journal of Don [Inzhenernyy vestnik Dona], 2010, No. 2 (12), Pp. 95-107.

5. Dijkstra E. W. A Note on Two Problems in Connexion with Graphs, Numerische Mathematik, 1959, Vol. 1, Pp. 269-271. D01:10.1007/BF01386390.

6. Cormen T. H., Leiserson C. E., Rivest R. L. Introduction to Algorithms. First Edition. MIT Press, 1990, 1048 p.

7. Nazarov A. N., Sychev K. I. The models and the methods of measuring of quality indicators of nodal equipment functioning and network structural parameters of next generation networks [Modeli i metody rascheta pokazateley kachestva funktsionirovaniya uzlovogo oborudovaniya i strukturno-setevykh parametrov setey svyazi sleduyushchego pokoleniya], Krasnoyarsk, Polikom Publishers, 2010, 389 p.

8. Lyovin B. A. Information Modeling in Transport Management [Informatsionnoe modelirovanie pri upravlenii transportom], Perspectives of Science and Education [Perspek-tivy nauki i obrazovaniya], 2017, No. 3 (27), Pp. 50-54.

9. Heineman G. T., Pollice G., Selkow S. Algorithms in a Nutshell. Second Edition [Algoritmy. Spravochnik s primerami na C, C++, Java i Python. Vtoroe izdanie], St. Petersburg, Di-alektika Publishers, Alpha Kniga LLC, 2017, 432 p.

10. Kovalenko T. A. Analysis of Routing Algorithms in Computer Networks [Analiz algoritmov marshrutizatsii v vychislitel'nykh setyakh], Global Scientific Potential [Glob-al'nyy nauchnyy potentsial], 2011, No. 9, Pp. 41-45.

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