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

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

CC BY
183
18
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АЛГОРИТМ ПОИСКА / ГРАФ / КРАТЧАЙШИЙ ПУТЬ / АЛГОРИТМ ДЕЙКСТРЫ / АЛГОРИТМ ФЛОЙДА-УОРШЕЛЛА

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

Существует проблема поиска наикратчайших путей между двумя вершинами в невзвешенном, неориентированном графе, которая усугубляется тем, что имеющиеся алгоритмы поиска всех путей имеют сложность не меньше O(n3) . Предлагаемый же новый метод поиска кратчайшего пути в невзвешенном неориентированном графе позволяет получить все кратчайшие пути с приемлемой сложностью O(n2) в худшем случае, а в среднем, O(n) . Существующий алгоритм поиск всех путей, алгоритм Флойда-Уоршелла имеет сложность O(n3) , алгоритм Дейкстры, хоть и имеет сложность O(n2) , однако, для нахождения всех кратчайших путей между двумя вершинами, нужно заново пересчитывать пути в графе. Данная статья описывает новый итерационный алгоритм, обосновывает его асимптотическую сложности и сравнивает время и результаты работ с алгоритмом Дейкстры, доказывая тем самым, что обоснование асимптотическая сложность обоснована верно, и алгоритм работает намного быстрее.

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

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

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

ITERATIVE ALGORITHM FOR FINDING THE SHORTEST WAYS IN AN UNWEIGHTED UNDIRECTED GRAPH

There is a problem of finding the shortest paths between two vertices in an unweighted, undirected graph, which is aggravated by the fact that the available algorithms for finding all paths have a complexity of at least . The proposed new method for finding the shortest path in an unweighted undirected graph allows obtaining all shortest paths with acceptable complexity , and on average, . The existing algorithm for finding all paths, the Floyd-Warshall algorithm has complexity , Deikastra's algorithm, although it has complexity , but to find all the paths, you need to recalculate the paths to find all the paths between two vertices in the graph. This article describes a new iterative algorithm, justifies its asymptotic complexity, and compares the time and results of work with Deikasta's algorithm, thereby proving that the justification for asymptotic complexity is justified correctly, and the algorithm works much faster.

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

УДК 004.021

DOI: 10.25559/SITITO.17.202103.585-592

Научная статья

Итерационный алгоритм поиска кратчайшего пути в невзвешенном неориентированном графе

В. В. Сысоев

ПАО «Сбербанк России», г. Москва, Российская Федерация 117997, Российская Федерация, г. Москва, ул. Вавилова, д. 19 Sysoev. VV@sberbank.ru

Аннотация

Существует проблема поиска наикратчайших путей между двумя вершинами в невзвешенном, неориентированном графе, которая усугубляется тем, что имеющиеся алгоритмы поиска всех путей имеют сложность не меньше O(n3). Предлагаемый же новый метод поиска кратчайшего пути в невзвешенном неориентированном графе позволяет получить все кратчайшие пути с приемлемой сложностью O(n2) в худшем случае, а в среднем, O(n). Существующий алгоритм поиск всех путей, алгоритм Флойда-Уоршелла имеет сложность O(n3), алгоритм Дейкстры, хоть и имеет сложность O(n2), однако, для нахождения всех кратчайших путей между двумя вершинами, нужно заново пересчитывать пути в графе. Данная статья описывает новый итерационный алгоритм, обосновывает его асимптотическую сложности и сравнивает время и результаты работ с алгоритмом Дейкстры, доказывая тем самым, что обоснование асимптотическая сложность обоснована верно, и алгоритм работает намного быстрее.

Ключевые слова: алгоритм поиска, граф, кратчайший путь, алгоритм Дейкстры, алгоритм Флойда-Уоршелла

Автор заявляет об отсутствии конфликта интересов.

Для цитирования: Сысоев, В. В. Итерационный алгоритм поиска кратчайшего пути в невзвешенном неориентированном графе / В. В. Сысоев. - DOI 10.25559/SITITO.17.202103.585-592 // Современные информационные технологии и ИТ-образование. - 2021. - Т. 17, № 3. - С. 585592.

© Сысоев В. В., 2021

Контент доступен под лицензией Creative Commons Attribution 4.0 License. The content is available under Creative Commons Attribution 4.0 License.

Modern Information Technologies and IT-Education

RESEARCH AND DEVELOPMENT IN THE FIELD OF NEW IT AND THEIR APPLICATIONS

Iterative Algorithm for Finding the Shortest Ways in an Unweighted Undirected Graph

V. V. Sysoev

PJSC "Sberbank of Russia”, Moscow, Russian Federation 19 Vavilov St., Moscow 117997, Russian Federation Sysoev. V.V@sberbank.ru

Abstract

There is a problem of finding the shortest paths between two vertices in an unweighted, undirected graph, which is aggravated by the fact that the available algorithms for finding all paths have a complexity of at least O(n3). The proposed new method for finding the shortest path in an unweighted undirected graph allows obtaining all shortest paths with acceptable complexity O(n2), and on average, O(n). The existing algorithm for finding all paths, the Floyd-Warshall algorithm has complexity O(n3), Deikastra's algorithm, although it has complexity O(n2), but to find all the paths, you need to recalculate the paths to find all the paths between two vertices in the graph. This article describes a new iterative algorithm, justifies its asymptotic complexity, and compares the time and results of work with Deikas-ta's algorithm, thereby proving that the justification for asymptotic complexity is justified correctly, and the algorithm works much faster.

Keywords: search algorithm, graph, shortest path, Deikastra's algorithm, Floyd-Warshall algorithm The author declares no conflict of interest.

For citation: Sysoev V.V. Iterative Algorithm for Finding the Shortest Ways in an Unweighted Undirected Graph. Sovremennye informacionnye tehnologii i IT-obrazovanie = Modern Information Technologies and IT-Education. 2021; 17(3):585-592. DOI: https://doi.org/10.25559/

SITITO.17.202103.585-592

Современные информационные технологии и ИТ-образование

Том 17, № 3. 2021 ISSN 2411-1473 sitito.cs.msu.ru

иОЦЕЭПрз-ll pue

БЭ!§0)0и1|ЭЭ1

uonemjo;u|

шаром

і

'dzL9 '1661 3FUOTss3JOJd ao|so,v\-uos!ppv 'pg pup -oouops uapidiuo;) xoj uopopuno.| у :sapoiuaipo[,p apauauo;) '() >|uh|soio(| '-q ipnu>| 'p| шоцои1) : ■a zfL ' P10 P 'еяиіеиәіеи KoinadMuii|/ :p [ -mag 'Д00Р 'oiiouja'iai p-11 ™ л. Г. [ 1-М :'IM 'ХА: і г а-p ■o.r.a.niadauiiiiA ионэәьинхәх а еяихеиэхедо <| -p паиомр -у uoaAoirap E

d ZbZl '600Z 'ssaxd щ :sjjosmpESSEW 'oSpuqureg pg pj£ sunpixoSiy oj uorpnpoxjui ні иәшхоэ г ■(ІР0Р'80И aouiaiimdoo о.гоір) PA [ OOPOP=P!pdso'iuap/iu'AdіАірца'ЛАЛАЛА//:sdu4 :ЗШ1 'Н'Н оаомпаоц '-H'V аояиаон ''H'H яәһеюіох lUAaxou'ouoooaodu Апомііпоц -g -g 'аониаон 'Н 'V 'аәьш/жох 'Н '3 / р I OP'AO'PP uryAdio : QIOZ'SO'IZ 'ігаки:: : [ pop I Op I OP oN uuduaMnap ['joun.iidouso иәхАы хічнчіґешінии KiiiiairalAadiio и uoifiodi uiiiiaodraou oumodiodi | ■Kiiliudol,'o<[) кғяэииээод P1061op107. oN імає uiPP I'U'H'jodiodu iiiumdraiiiad imiuiauradoiAA'aoi о oaxa'iioaxaidia;) т

иәеһАігон әіеічігАеәсі a ,T/iEHHmdaa кочікігак іаї/Ад шә г/1уя2/ әаюәжони оа 'оннәаіоіәаюоо 'и 'гд EHHmdaa іаї/Ад шә 1/1уя2/ HHiredaiH әаюәжони оа 'ә1^ 'гЛи 1Л HHmdaa еи оіої/жен тїї 'EHHmdaa квнжоїгоиоаиіогіи іиї/оха oiAdoiox a 'offlhEdaiH whip -atfaduo 'әі 'иинәі/жоха ічохаї/ни ииї/охен әіеіп иәҺішЛ/әігэ ең

гл puu тд sapou joj suoijExoji jo Ao|ds|p арошацар 'Е '31 g Л и 4 aoir::A mгїґ iiiumdarii aiuiasi'odaoxo әонэәьихғиәхэ p; а и (|

HHiredaiH июню ииї/охен zy\ и тд NHHmdaa иої/жех кіЛґ 'ааігвї/

■заіРЕЇ/ неї и (/і ічниш -daa иї/аооо ві/іәоа) д і° х иинәігеі/А ен зоігеА хооино -туя2/ '(ігәеА иео ві/іәоа) д і° о иинәігеі/А ен аоіг еА хооино - °нз£і atfj '{"ЯЗІГ" ТЯЗІІ'°ЯЗІі} = ЛНЗІІ 'Л еігеЛ оіоиохои ю иәйәооо М иинәігеі/А вн хічннәжоігоиовгі 'HHmdaa хооино оіе луз£і киһ -Edain 'HHtredaiH хи WHifatfaduo гд и l/[ Hnmdaa еи олої/жех kipJ/ 0 i|dіаіЗ щ д puu тд sapou jo uopisog 'р '31 g 0 әфғсіх а д и д aouoA әинәжоігон 'Р 'а п (|

иіиен оииі/охдоән nwiadoiox Л/жәи 'ічнишгіәа ииьЕНЕодо

■иічіэАп чіічд іәжои ән оаіэәжони әоннеі/ wahndu 'еігеА иәі/әэоэ озіэәһиігох - и al/j '{иЛ"' гЛ аЛ} = a4N иәі/әэоэ олә оаіэәжони оніэәзеи вфвгіл АігеА Аиоі/жех әж xej,

0 qdm§ рәрәлрип рәщЗтәмип шорив^ х § ї і 0 фвсіі Hi4HHBaodHiH9Hdo9H шчннәшәаеаән иічнивһАі/э х '0 и j

jdagad хічннәьоІ/кгіоиАән оаіэәж -они әоізЛііән - д в 'HHmdoa оаіоәжони әоіэАпән - д ol/j '(g 'д) = :э фвгіл HNHHEaodHiHondooH иічннәшәзезән кэіәәии чіэАц

IHMlHClOJL U ӘИНВЭИІІО

■иәіАп иічнчігЕінәиигіәпэхе KoioEtadoail/ou и әчіеіо ионнвїґ а кэіиі/оаіча оіһ 'MOHl/odo а (и)о BModa и әеһ -Аігэ иошї/Ах a (zu)o BModa be lOEiogEd и NiogEd ігхиһ ниі/о ее иіЛіі OHmHEhiEdx әэа іиі/охен MindojifE иивн иічиәвлвігі/әгіц

■еәеһ

-Аігэ иәшІ/Ах a [gx] (£н)о чіэонжоігэ іәеһАігоп NdiaxHaJ/ Mind -ojifE оіһ 'Аиоі х iHl/oandu оіһ 'EEd охчігохэән чіехэАпее оииі/ -охдоән oja Аиоієоп - NiogEd иәоао іхеі ниі/о ее иіАіі әишиеһ -iBdxHEH әэа AEEdo чіиї/охен нәдоэопэ ән но оіһ 'иоі а иәіАн XHmHEhiEdx хәэа вхэион әиижәгі a NdioxnaJ/ EMindoiifE ічюд -Ed чіэоннәдоэо '[zi 'ТІ 'б] иіэонжою иончігидвіэ оіә Аї/иаа 'EaioatnAwHadu чіэә NdioxnaJ/ EMindoiifE А 'хвфвгіі XNHdEHEiru eh laEiogEd HNdoiox MOMindoiifE э шинәнавгіэ он эже^/ ‘[8] aadioigg іәЕіодЕгіЕіпгәшгіод-ЕІ/иоігф MindoiifE os > HHdu 'хвф -Edi хічіРЕИ a оіһ 'ішезічеехон aiadoiox 'NiogEd ішАаіэәһіАэ нюх '\l '9 'g 'z\ (£н)о ві/іәэа 'әеһАігэ иәші/Ах a 'чізонжою оіә Ахчігоюон 'гәжәгі кэіәкнәиигін вюгәшгіод-ЕІ/иоігф Mindoiiry '£ 'z 'і] тСх = dogad хәоа хвэәа ndu) NdioxnaJ/ MindoiifE коіә -Аечісопои оіәэа әҺіеһ әфвгіі MOHHEaodHiHaHdoaH ионнашаава -ән a HHEHHmdaa киАаІ/ Аї/жаи иіАн oiamHEhiEdx әхэион Hd[]

әинә^әад

Z8S

SNOiivDiiddvaiaHiaNvn mbn jo aidld 3H1 N1 lN3lAJd013A3Q ONV HDdV3S3d

AaosAs 'Л 'Л

nrnsurSD-Oims ZlMl-lin NSSI IZOZ'£ oN 7l woj.

әинеэоеесі90-іи и иихоионхәі әіянноиһЕілісІофни әіяннәмәсіаоэ

гл ряі' 'л sopou uooMjoq sцppd isoxiogg 'і '§ i j Л и 'л ииеіґєАЛі/жәи іі.гАіі әіііііііі?һп?с1>| ■ і -эи d

ИӘЕһЛіГОІІ УІ4 ЕИ ^ еігеЛ ОЛОУЖЕХ КІҐЇҐ ИӘУӘЗОЗ ИИНӘЖОІ/ЕН ndu

■HHiredoiH

ей иоУжех KLff иииһідо кзіошігак әж ино 'иәинәішивхо иічн -duixmfii ічнәьЕНЕодо 'ум чіЛіі а әиіпкУоха 'MHumdoa әиәхз вң

Чрт шір!_і()п|і? олдіхіор әЧ1 jo pnsru әЧ1 jo uogiguoso.ido.i лfluol|.os '3 'А ! J

EEd ~Лр EL J.T IГСІО ТІГР

ojOHHOHtiEdaxH iqxogod iM.i’r.4irA::od .iiiiio>i'i?dao::ii әояэәьихғиәхэ я л и j

ИӘЕһЛіГОІІ и 'EEd Z/1PHI WindojIfE ИІЧННЕЭИПОӘШІЧа ИӘЕЖІГОУоац ■ va EHumdoa oie odowndu иәпген a 'ииһ -Edain кинәһәоәаәіі MHumdoa yvv a иәыгавдоУ 'оннәаміәаіооэ

[ puso.i i uogixioq әщ jo uoijFjuosoxdox opouioips 'g 'S i j I iiiitiodoxii iqxogod iM.iM.qirA::od oiiiio>i'i?dgo::ii әонэәьихғиәхэ goHj

:Лиәхз

мЛпяЛ/зю иәеһАігоп ' [? + pjz] Z/lH31I и [? — Z/lPIll\ l/lH31I : pjz KHHEaodniHawadxHH и Z/lpm KHHEaodniHawadx

-әУ 'HHiredoiio ионнЕэипоәшіча KiiHodoiaoii oiEigifAsod a 'әәігеі/

,T/1 Аниш

-doa иәкігавдоУ ічи іәУЛд оіє f oxmfond вң 'М а [? + P1Z] Z/iH31I U [? — Z/lPIll\ l/lH31I KHHOhooodoii MHumdoa иокігавдої/ ■әшіча gaHifEandEaojo'c' hex 'q = piz 'Ъ = ZaPIH 'woEEdgo whxej.

jjnsa.! x иоцшәіі әщ jo uoijBjuasajdaj эі}вшәцэ$ t § ї і X mitredaiH Mioged BiBiqirAead әинәж^доеи әояэәьиівиәхэ ‘f э и j

'■[PlZ]Z/iH31I и [глРНіҮлН31І &Слои 'ошһвЛіиз wndiowssEj

іәУиа иохзәһиіеиәхз a ojo wndiowooEd EwindojifE NiogEd кинвииноіі оләшһАігиен kiу {zA'Za4N U zM'Za4N и1МаЛ] = s6vm :иіЛіі әишиЕҺіЕгіхиЕН әза ізвУ HOHiredoiH иәһішЛ/әігэ оэ әхзиііо a MHHmdaa иоУжвх иәУәзоз иинәжоіген ndu niadoiox 'HHhEdaiH noH4ifoaEHodu a MHumdoa oigdoioxoH - {qA"' VA] ә^-1

■{{za}-{4a-va}Va}} = m

Hnmdaa

аохэипэ ХОЭИПЭ иәеһЛісоіі ічи 'woEEdgo whxej, ^лрщ'" о = ? әІАі

'{{[' + рігҐлнзи} и {[і - ZApmYA33ii}] = aa

.piZ KAdniHawadxHH nZ/lpm KAdniHawadxa'c' оннәпәіэои ' \piz\ Z/lPHI и [Z/1P/?/]l/1P/?7 ічігеА әиһідо миї/охен 'ojoie ей кі/охэи 'г/1рщ кинәі/жоха эхәі/ни HifEdgiaa ічи чіэАц

'0 = PIZ эхәі/ни иоаәігАн и Z/lpjij иіги г/1рщ иинәі/жоха аоэхәі/ни хічннәһАігоп еи ниі/о - взнаї/ -ни ваї/ wadagiaa ojoie my 'E<{)Edj иәіАп АхһопәҺ иәі/иен ooiaeJ/ 'оннәаіэіәаіооэ za и т/і ічігеА ікі/оха oiadoiox a Z/lH3J,i нлрщ a 'HHhEdoiH EdowoH -Ї/Ірщ и Z/lpjij кинәі/жоха ічэхәі/ни

аәоэічд 'д 'д

иинзжоиі/idи хи и ии_юионхэі хіянноиґіvwdОФНи хіяаон niDVL/go a i/ixioavdevd и винуаойюэи

889

RESEARCH AND DEVELOPMENT IN THE FIELD OF NEW IT AND THEIR APPLICATIONS

Теоим обрезом, в результате реботы итерационного алгоритме, получаем все ерттчейшие пути между вершинами V1 и V2, е, именно, две пути.

Вывод и оДоснованиесложностиалгоритма

Определим aсижсsоsиyескую нложность по верхнему? пределу О [13]. Пусть V - количество вершин в Грефе G, е е - количество ребер, тогда для худшего случая (греф G полный) асимптотическая сложность по верхнему пределу имеет вид:

О = (v — 1) + (v — 1) + (v — 1Г • (v — 1) + (v — 1) ~ v2, (1)

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

С точки зрения эффективности наихудшего случая, алгоритм схож с алгоритмом Дейкстры, который имеет ту же сложность 0(v2). Однако, стоит заметить, что алгоритм Дейкстры ищет только один путь, итерационный алгоритм же ищет все пути за раз. Сравнение итерационного алгоритма с алгоритмом Флойда-Уоршелла отпадёт по той причине, что алгоритм Флойда-Уоршелла имеет сложность 0(v3) хотя есть модификация в виде блочного алгоритма, где удавалось добиться сложности 0(nv2logb), где b - блок размерностью пь [15]. Сравнение с алгоритмом А* не проводилось, так как алгоритм A* работает только с планарными графами.

Следует так же заметить, что сравнение намеренно указывается именно с классическим алгоритмом, без использования приемов, таких как, куча Фибоначчи [16, 17, 18, 19], параллельной обработки на CPU/GPU [20, 21, 22, 23], использованием подсчета вероятностей [10], [24] или приемов из генетических алгоритмов [25], поскольку наш алгоритм оценивается так же в не модифицированном виде, и применение дополнительных математических/технических приемов, теоретически, может ускорить и его.

Однако, в реальности (в компьютерных сетях, инфраструктуре, компьютерных играх и т.д.) полные графы встречаются крайне редко, чаще всего графы имеют относительно невысокую плотность, при которой е « V2. Тогда сложность нашего алгоритма становится О(у), так как второй операнд в операции умножения в формуле (1) представляет собой операции с ребрами, и в условии, когда е « v2 , им можно пренебречь.

Экспериментальная часть

Для наглядностибыли проведены эксперймснты с нашим ты горитмом н клaccрирcким алгоритм ом Дейкстры, результаты эксперимента занесены в Таблицу 1.

Т а б л и ц а 1. Результаты экспериментов с итерационным алгоритмом и алгоритмом Дейкстры

T a b l e 1. Results of experiments with the iterative algorithm and Dijkstra's algorithm

кол. № Итераці ионный Дейкс тры дли- кол.

вер- эксп. t, мс кол. t, мс кол. на ребер

шин путей путей пути

1 12 2 1 1 12

2 0 1 0 1 6

о ІЛ 3 0 4 0 1 9 СО 40

4 0 3 0 1 5

5 0 6 0 1 5

1 0 4 0 1 3

2 0 2 0 1 3

оох 3 0 5 0 1 3 04 гН

4 0 5 0 1 3

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

5 0 2 0 1 3

1 23 3 45 1 2

oos 2 10 1 44 1 2 O' O' 40

3 0 1 50 1 1

4 24 2 54 1 2

5 12 1 60 1 2

1 200 34 290 1 3

000 X 2 118 169 293 1 2 СО 04 гН о- 04

3 201 34 297 1 3

4 50 4 290 1 2

5 97 169 292 1 2

1 3 158 3 173 4 784 1 4

oos г 2 244 9 4 607 1 3 04 СО гН ІЛ гН

3 359194 21 120 4 747 1 5

4 453 4 4 580 1 2

5 2 270 90 4 675 1 2

1 20 341 3 876 38 530 1 3

О О о 1Л 2 28 076 14 707 36 236 1 3 о- ■'f о 40 40

3 41 212 17 220 36 433 1 3

4 32 658 9 966 37 519 1 4

5 327 699 40 36 721 1 4

1 135 075 10 781 175 358 1 3 т-Н о- 04 о- 04 т-Н

о о о о гН 2 36 907 324 187082 1 3

3 678 2 175 047 1 2

4 124155 4 764 174336 1 3

5 31 092 108 164587 1 3

Эксперименты были проведены на ПК со следующими характеристиками: Intel Core і7-6950Х 3.00 Ггц, 64 Гб ОЗУ Все алгоритмы работали в однопоточном режиме, все графы созданы случайным образом, и такими, что все вершины этих графов достижимы и графы имеют плотность5 D=0,05.

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

5 Белоусов А. И., Тначев С. Б. Сатенатика в техничьском университете. 5-е изд. М.: МГТУ им. Н.Э. Баумана, 2007. Вып. 19: Дискретная математика. 2015. 743 с.

Modern Information Technologies and IT-Education

Заключение

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

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

Список использованных источников

[1] Galinac Grbac, T. On the Applications of Dijkstra's Shortest Path Algorithm in Software Defined Networks / T. Galinac Grbac, N. Domazet. - DOI 10.1007/978-3-319-66379-1_4 // Intelligent Distributed Computing XI. IDC 2017. Studies in Computational Intelligence; ed. by M. Ivanovic, C. Badica, J. Dix, Z. Jovanovic, M. Malgeri, M. Savic. - Springer, Cham,

2018. - Vol. 737. - Pp. 39-45.

[2] Планидин, Р. И. Анализ алгоритмов маршрутизации на примере алгоритмов Дейкстры и Флойда / Р. И. Пла-нидин // Вестник студенческой науки кафедры информационных систем и программирования. - 2017.

- № 1(1). - С. 41-47. - URL: https://elibrary.ru/item. asp?id=32677886 (дата обращения: 14.08.2021).

[3] Alam, M. A. Finding Shortest Path for Road Network Using Dijkstra's Algorithm / M. A. Alam, M. O. Faruq. - DOI 10.46281/bjmsr.v1i2.366 // Bangladesh Journal of Multidisciplinary Scientific Research. - 2019. - Vol. 1, issue 2. -Pp. 41-45.

[4] A Heuristic-Based Private Bitcoin Payment Network Formation Using Off-Chain Links / Erdin E. [и др.]. - DOI 10.1109/ Blockchain.2019.00046 // 2019 IEEE International Conference on Blockchain (Blockchain). - IEEE Press, Atlanta, GA, USA, 2019. - Pp. 294-301.

[5] Кривошеин, Д. Ю. Алгоритмы пересчёта кратчайших путей в графе при изменении весов ребер / Д. Ю. Кривошеин, А. М. Марченко // Проблемы разработки перспективных микро- и наноэлектронных систем (МЭС).

- 2012. - № 1. - С. 263-266. - URL: https://elibrary.ru/ item.asp?id=17956216 (дата обращения: 14.08.2021).

[6] Прихожий, А. А. Разнородный блочный алгоритм поиска кратчайших путей между всеми парами вершин графа / А. А. Прихожий, О. Н. Карасик // Системный анализ и прикладная информатика. - 2017. - № 3. - С. 68-75.

- URL: https://elibrary.ru/item.asp?id=30731159 (дата обращения: 14.08.2021).

[7] Быкова, В. В. Математические методы анализа рекурсивных алгоритмов / В. В. Быкова // Журнал Сибирского федерального университета. Серия: Математика и физика. - 2008. - Т. 1, № 3. - С. 236-246. - URL: https:// www.elibrary.ru/item.asp?id=11482601 (дата обращения: 14.08.2021).

[8] AbuSalim, S. W. G. Comparative Analysis between Dijkstra and Bellman-Ford Algorithms in Shortest Path Optimi-

Современные информационные технологии и ИТ-образование

zation / S. W. G. AbuSalim [и др.]. - DOI 10.1088/1757-899X/917/1/012077 // IOP Conference Series: Materials Science and Engineering. - 2020. - Vol. 917. - Article number: 012077.

[9] Yijun, Z. A Fast Bi-Directional A* Algorithm Based on QuadTree Decomposition and Hierarchical Map / Z. Yijun, X. Ji-adong, L. Chen. - DOI 10.1109/ACCESS.2021.3094854 // IEEE Access. - 2021. - Vol. 9. - Pp. 102877-102885.

[10] Саблин, А. В. Постановка и анализ задачи поиска пути между двумя точками при разработке игр / А. В. Саблин // Информационно-телекоммуникационные технологии и математическое моделирование высокотехнологичных систем. - М.: РУДН, 2019. - С. 295-298. - URL: https://elibrary.ru/item.asp?id=39207936 (дата обращения: 14.08.2021).

[11] Листопад, Н. И. Алгоритмы поиска кратчайшего пути и их модификация / Н. И. Листопад, И. А. Карук, А. А. Хай-дер // Информатизация образования. - 2016. - № 1. - С. 48-63. - URL: https://elibrary.ru/item.asp?id=32844256 (дата обращения: 14.08.2021).

[12] Буйнова, Е. Л. Исследование алгоритмов поиска кратчайших расстояний в сетевых моделях / Е. Л. Буйнова, Ф. М. Газизуллина [и др.] // Инновационные научные исследования: теория, методология, тенденции развития. - Уфа: Вестник науки, 2020. - С. 69-78. - URL: https://elibrary.ru/item.asp?id=42641303 (дата обращения: 14.08.2021).

[13] Teaching and assessing discrete mathematics / A. Quei-ruga-Dios, G. R. Sanchez, A. M. del Rey, M. Demlova. - DOI 10.1109/EDUCON.2018.8363420 // 2018 IEEE Global Engineering Education Conference (EDUCON). - IEEE Press, Santa Cruz de Tenerife, Spain, 2018. - Pp. 1568-1571.

[14] Knuth, D. The Art of Programming / D. Knuth. - DOI 10.1093/itnow/bwr021 // ITNOW. - 2011. - Vol. 53, issue 4. - Pp. 18-19.

[15] Sao, P. Scalable All-pairs Shortest Paths for Huge Graphs on Multi-GPU Clusters / P. Sao [и др.]. - DOI 10.1145/3431379.3460651 // Proceedings of the 30th International Symposium on High-Performance Parallel and Distributed Computing (HPDC '21). - Association for Computing Machinery, New York, NY, USA, 2021. - Pp. 121-131.

[16] Qu, T. A Fast Isomap Algorithm Based on Fibonacci Heap / T. Qu, Z. Cai. - DOI 10.1007/978-3-319-20469-7_25 // Advances in Swarm and Computational Intelligence. ICSI 2015. Lecture Notes in Computer Science; ed. by Y. Tan, Y. Shi, F. Buarque, A. Gelbukh, S. Das, A. Engelbrecht. - Vol. 9142. - Pp. 225-231. - Springer, Cham, 2015.

[17] Abuaiadh, D. Are Fibonacci heaps optimal / D. Abuaiadh, J. H. Kingston. - DOI 10.1007/3-540-58325-4_210 // Algorithms and Computation. ISAAC 1994. Lecture Notes in Computer Science; ed. by D. Z. Du, X. S. Zhang. - Springer, Berlin, Heidelberg, 1994. - Vol. 834. - Pp. 442-450.

[18] Kozen, D. C. Fibonacci Heaps / D. C. Kozen. - DOI 10.1007/978-1-4612-4400-4_9 // The Design and Analysis of Algorithms. Texts and Monographs in Computer Science. - Springer, New York, NY, 1992. - Pp. 44-47.

[19] Беляев, И. О. Приоритетная очередь на основе бинарной, биномиальной и фибонначиевой куч и ее приме-

Том 17, № 3. 2021 ISSN 2411-1473 sitito.cs.msu.ru

RESEARCH AND DEVELOPMENT IN THE FIELD OF NEW IT AND THEIR APPLICATIONS

нение в многоагентных поисковых системах / И. О. Беляев // RSDN Magazine. - 2012. - № 1. - С. 04-11. - URL: https://elibrary.ru/item.asp?id=17721928 (дата обращения: 14.08.2021).

[20] Zhang, W. Asynchronous Parallel Dijkstra's Algorithm on Intel Xeon Phi Processor / W. Zhang, L. Zhang, Y. Chen. -DOI 10.1007/978-3-030-05051-1_24 // Algorithms and Architectures for Parallel Processing. ICA3PP 2018. Lecture Notes in Computer Science; ed. by J. Vaidya, J. Li. - Springer, Cham, 2018. - Vol. 11334. - Pp. 337-357.

[21] Dong, X. Efficient Stepping Algorithms and Implementations for Parallel Shortest Paths / X. Dong [и др.]. - DOI 10.1145/3409964.3461782 // Proceedings of the 33rd ACM Symposium on Parallelism in Algorithms and Architectures (SPAA '21). - Association for Computing Machinery, New York, NY, USA, 2021. - Pp. 184-197.

[22] Crauser, A. A parallelization of Dijkstra's shortest path algorithm / A. Crauser [и др.]. - DOI 10.1007/BFb0055823 // Mathematical Foundations of Computer Science 1998. MFCS 1998. Lecture Notes in Computer Science; ed. by L. Brim, J. Gruska, J. Zlatuska. - Springer, Berlin, Heidelberg, 1998. - Vol. 1450. - Pp. 722-731.

[23] Khanda, A. A Parallel Algorithm Template for Updating Single-Source Shortest Paths in Large-Scale Dynamic Networks / A. Khanda [и др.]. - DOI 10.1109/TPDS.2021.3084096 // IEEE Transactions on Parallel and Distributed Systems. -2022. - Vol. 33, no. 4. - Pp. 929-940.

[24] Горбунова, А. В. Решение задачи о выборе оптимального маршрута с использованием вероятностно-статистической модели города / А. В. Горбунова, А. Р. Чи-черова, А. К. Демидов // Южно-Уральская молодежная школа по математическому моделированию: сб. тр. III Всерос. НПК / Под ред. Ю. М. Ковалева. - Челябинск: Изд. ЮУрГУ 2016. - С. 42-45. - URL: https://elibrary.ru/ item.asp?id=27559513 (дата обращения: 14.08.2021).

[25] Dudi, T. Shortest Path Evaluation with Enhanced Linear Graph and Dijkstra Algorithm / T. Dudi, R. Singhal, R. Kumar. - DOI 10.23919/SICE48898.2020.9240227 // 2020 59th Annual Conference of the Society of Instrument and Control Engineers of Japan (SICE). - IEEE Press, Chiang Mai, Thailand, 2020. - Pp. 451-456.

Поступила 14.08.2021; одобрена после рецензирования 10.09.2021; принята к публикации 15.09.2021.

|об авторе:|

Сысоев Валентин Валерьевич, главный инженер лаборатории кибербезопасности, Блок «Технологии», ПАО «Сбербанк России» (117997, Российская Федерация, г. Москва, ул. Вавилова, д. 19), ORCID: https://orcid.org/0000-0002-6157-5815,

Sysoev. V.V@sberbank.ru

Автор прочитал и одобрил окончательный вариант рукописи.

References

[1] Galinac Grbac T., Domazet N. On the Applications of Dijk-stra's Shortest Path Algorithm in Software Defined Networks. In: Ed. by M. Ivanovic, C. Badica, J. Dix, Z. Jovanovic, M. Malgeri, M. Savic. Intelligent Distributed Computing XI. IDC 2017. Studies in Computational Intelligence. 2018; 737:39-45. Springer, Cham. (In Eng.) DOI: https://doi. org/10.1007/978-3-319-66379-1_4

[2] Planidin R.I. Programming Alorithm Routing. Vestnik stu-dencheskoj nauki kafedry informacionnyh sistem i pro-grammirovanija = The Bulletin of Student Science of the Department of Information Systems and Programming. 2017; (1):41-47. Available at: https://elibrary.ru/item.as-p?id=32677886 (accessed 14.08.2021). (In Russ., abstract in Eng.)

[3] Alam M.A., Faruq M.O. Finding Shortest Path for Road Network Using Dijkstra’s Algorithm. Bangladesh Journal of Multidisciplinary Scientific Research. 2019; 1(2):41-45. (In Eng.) DOI: https://doi.org/10.46281/bjmsr.v1i2.366

[4] Erdin E., Cebe M., Akkaya K., Bulut E., Uluagac A.S. A Heuristic-Based Private Bitcoin Payment Network Formation Using Off-Chain Links. 2019 IEEE International Conference on Blockchain (Blockchain). IEEE Press, Atlanta, GA, USA;

2019. p. 294-301. (In Eng.) DOI: https://doi.org/10.1109/ Blockchain.2019.00046

[5] Krivoshein D.Yu., Marchenko A.M. Algorithms for dynamic all-pairs shortest path problem. Problemy razrabotki pers-pektivnyh mikro- i nanojelektronnyh system (MJeS) = Problems of Advanced Micro- and Nanoelectronic Systems Development (MES). 2012; (1):263-266. Available at: https:// elibrary.ru/item.asp?id=17956216 (accessed 14.08.2021). (In Russ., abstract in Eng.)

[6] Prihozhy A.A., Karasik O.N. Heterogenious blocked all- pairs shortest paths algorithm. Sistemnyj Analiz i Prikladnaa In-formatika = System Analysis and Applied Information Science. 2017; (3):68-75. Available at: https://elibrary.ru/ item.asp?id=30731159 (accessed 14.08.2021). (In Russ., abstract in Eng.)

[7] Bykova V.V. Mathematical Methods for the Analysis of Recursive Algorithms. Journal of Siberian Federal University. Mathematics & Physics. 2008; 1(3):236-246. Available at: https://www.elibrary.ru/item.asp?id=11482601 (accessed 14.08.2021). (In Russ., abstract in Eng.)

[8] AbuSalim S.W.G., et al. Comparative Analysis between Di-jkstra and Bellman-Ford Algorithms in Shortest Path Optimization. IOP Conference Series: Materials Science and Engineering. 2020; 917:012077. (In Eng.) DOI: https://doi. org/10.1088/1757-899X/917/1/012077

[9] Yijun Z., Jiadong X., Chen L. A Fast Bi-Directional A* Algorithm Based on Quad-Tree Decomposition and Hierarchical Map. IEEE Access. 2021; 9:102877-102885. (In Eng.) DOI: https://doi.org/10.1109/ACCESS.2021.3094854

[10] Sablin A.V. Formulation and analysis the problem of finding a path between two points when developing games. Proceedings of the International Conference on Information and Telecommunication Technologies and Mathematical Modeling of High-Tech Systems. RUDN University, Moscow;

Modern Information Technologies and IT-Education

2019. р. 295-298. Available at: https://elibrary.ru/item.as-p?id=39207936 (accessed 14.08.2021). (In Russ., abstract in Eng.)

[11] Listopad N.I., Karuk I.A., Hayder A.A. Algorithms for searching the shortest path and its modification. Informatizacija obrazovanija = Informatization of Education. 2016; (1):48-63. Available at: https://elibrary.ru/item.asp?id=32844256 (accessed 14.08.2021). (In Russ., abstract in Eng.)

[12] Buynova E.L., et al. Issledovanie algoritmov poiska kratcha-jshih rasstojanij v setevyh modeljah [Research of algorithms for finding the shortest distances in network models]. Vestnik nauki, Ufa; 2020. p. 69-78. Available at: https:// elibrary.ru/item.asp?id=42641303 (accessed 14.08.2021). (In Russ.)

[13] Queiruga-Dios A., Sanchez G.R., del Rey A.M., Demlova M. Teaching and assessing discrete mathematics. 2018 IEEE Global Engineering Education Conference (EDU-CON). IEEE Press, Santa Cruz de Tenerife, Spain; 2018. p. 1568-1571. (In Eng.) DOI: https://doi.org/10.1109/EDU-CON.2018.8363420

[14] Knuth D. The Art of Programming. ITNOW. 2011; 53(4):18-19. (In Eng.) DOI: https://doi.org/10.1093/itnow/bwr021

[15] Sao P., Lu H., Kannan R., Thakkar V., Vuduc R., Potok T. Scalable All-pairs Shortest Paths for Huge Graphs on Multi-GPU Clusters. Proceedings of the 30th International Symposium on High-Performance Parallel and Distributed Computing (HPDC '21). Association for Computing Machinery, New York, NY, USA; 2021. p. 121-131. (In Eng.) DOI: https://doi. org/10.1145/3431379.3460651

[16] Qu T., Cai Z. A Fast Isomap Algorithm Based on Fibonacci Heap. In: Ed. by Y. Tan, Y. Shi, F. Buarque, A. Gelbukh, S. Das, A. Engelbrecht. Advances in Swarm and Computational Intelligence. ICSI2015. Lecture Notes in Computer Science. 2015; 9142:225-231. Springer, Cham. (In Eng.) DOI: https://doi. org/10.1007/978-3-319-20469-7_25

[17] Abuaiadh D., Kingston J.H. Are Fibonacci heaps optimal? In: Ed. by D. Z. Du, X. S. Zhang. Algorithms and Computation. ISAAC 1994. Lecture Notes in Computer Science. 1994; 834:442-450. Springer, Berlin, Heidelberg. (In Eng.) DOI: https://doi.org/10.1007/3-540-58325-4_210

[18] Kozen D.C. Fibonacci Heaps. In: The Design and Analysis of Algorithms. Texts and Monographs in Computer Science. Springer, New York, NY; 1992. p. 44-47. (In Eng.) DOI: https://doi.org/10.1007/978-1-4612-4400-4_9

[19] Belyaev I. Prioritetnaja ochered' na osnove binarnoj, bino-mial'noj i fibonnachievoj kuch i ee primenenie v mnogoag-entnyh poiskovyh sistemah [Priority queue based on binary, binomial and Fibonacian heaps and its application in multiagent search systems]. RSDN Magazine. 2012; (1):04-11. Available at: https://elibrary.ru/item.asp?id=17721928 (accessed 14.08.2021). (In Russ.)

[20] Zhang W., Zhang L., Chen Y. Asynchronous Parallel Dijkstra's Algorithm on Intel Xeon Phi Processor. In: Ed. by J. Vaidya, J. Li. Algorithms and Architectures for Parallel Processing. ICA3PP 2018. Lecture Notes in Computer Science. 2018; 11334:337-357. Springer, Cham. (In Eng.) DOI: https://doi. org/10.1007/978-3-030-05051-1_24

[21] Dong X., Gu Y., Sun Y., Zhang Y. Efficient Stepping Algorithms

Современные информационные технологии и ИТ-образование

and Implementations for Parallel Shortest Paths. Proceedings of the 33rd ACM Symposium on Parallelism in Algorithms and Architectures (SPAA '21). Association for Computing Machinery, New York, NY, USA; 2021. p. 184-197. (In Eng.) DOI: https://doi.org/10.1145/3409964.3461782

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

[22] Crauser A., Mehlhorn K., Meyer U., Sanders P. A parallelization of Dijkstra's shortest path algorithm. In: Ed. by L. Brim, J. Gruska, J. Zlatuska. Mathematical Foundations of Computer Science 1998. MFCS 1998. Lecture Notes in Computer Science. 1998; 1450:722-731. Springer, Berlin, Heidelberg. (In Eng.) DOI: https://doi.org/10.1007/BFb0055823

[23] Khanda A., Srinivasan S., Bhowmick S., Norris B., Das S.K. A Parallel Algorithm Template for Updating Single-Source Shortest Paths in Large-Scale Dynamic Networks. IEEE Transactions on Parallel and Distributed Systems. 2022; 33(4):929-940. (In Eng.) DOI: https://doi.org/10.1109/ TPDS.2021.3084096

[24] Gorbunova A.V., Chicherova A.R., Demidov A.K. Reshenie zadachi o vybore optimal'nogo marshruta s ispol'zovaniem verojatnostno-statisticheskoj modeli goroda [Solving the problem of choosing the optimal route using a probabilistic-statistical model of the city]. In: Ed. by Yu. M. Kovalev. Proceedings of the South Ural Youth School on Mathematical Modeling. Chelyabinsk, SUSU Publ.; 2016. p. 42-45. Available at: https://elibrary.ru/item.asp?id=27559513 (accessed 14.08.2021). (In Russ.)

[25] Dudi T., Singhal R., Kumar R. Shortest Path Evaluation with Enhanced Linear Graph and Dijkstra Algorithm. 2020 59th Annual Conference of the Society of Instrument and Control Engineers of Japan (SICE). IEEE Press, Chiang Mai, Thailand;

2020. p. 451-456. (In Eng.) DOI: https://doi.org/10.23919/ SICE48898.2020.9240227

Submitted 14.08.2021; approved after reviewing 10.09.2021; accepted for publication 25.09.2021.

bout the author:

Valentin V. Sysoev, Senior engineer of the Cybersecurity Laboratory, PJSC "Sberbank of Russia" (19 Vavilov St., Moscow 117997, Russian Federation), ORCID: https://orcid.org/0000-0002-6157-5815, Sysoev.V.V@sberbank.ru

The author has read and approved the final manuscript.

Том 17, № 3. 2021 ISSN 2411-1473 sitito.cs.msu.ru

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