Научная статья на тему 'Построение алгоритма поиска кратчайшего пути на расширенном графе'

Построение алгоритма поиска кратчайшего пути на расширенном графе Текст научной статьи по специальности «Математика»

CC BY
625
77
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАСШИРЕННЫЙ ГРАФ / ОРИЕНТИРОВАННЫЙ ГРАФ / НЕОРИЕНТИРОВАННЫЙ ГРАФ / ПОИСК КРАТЧАЙШЕГО ПУТИ / DIRECTED AND UNDIRECTED GRAPH / FIND THE SHORTEST PAT / AN EXPANDED GRAPH

Аннотация научной статьи по математике, автор научной работы — Фам Конг Тханг, Нгуен Ван Хьеу

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

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

CONSTRUCT AN ALGORITHM FOR FINDING THE SHORTEST PATH ON THE EXTENDED GRAPH

A description of the expanded graph and find the shortest path problem on it compiled. The algorithms find the shortest path between two vertices in the expanded graph and find the shortest path from one vertex to the vertices in the expanded graph. Forward two theorems with proof-search algorithm for the shortest path algorithm and his complexity.

Текст научной работы на тему «Построение алгоритма поиска кратчайшего пути на расширенном графе»

STRESS STA TE ESTIMA TION OF SEWER TUNNEL LININGS REPAIRED IN URBAN AREAS BY TRENCHLESS TECHNOLOGY

A.S. Sammal, O.M. Levischeva, N.N. Fotieva

A new analytical method for estimation of the stress state of sewer tunnels lining formed during repairing works by "pipe in pipe" technology, taking into account the influence of buildings and structures on the surface, is proposed. The method is based on the analytical solution of the corresponding plane elasticity problem for a semi-infinite weighty media weakened by a circular opening, supported by a three-layer ring with layers of varying thickness. The example illustrating the proposed method is considered.

Key words: lining, sewer tunnel, estimation, stress state, elasticity theory problem, analytic functions, algorithm, computer software.

Sammal Andrey Sergeevich, doctor of technical Sciences, professor, assam-mal@mail.ru, Russia, Tula, Tula State University

Levischeva Oksana Mikhailovna, postgraduat, levischeva-garant@yandex. ru, Russia, Tula, Tula State University

Fotieva Nina Naumovna, doctor of technical Sciences, professor, fotitva@,mm. tsu. tula.ru, Russia, Tula, Tula State University

УДК 004.421.2:519.178

ПОСТРОЕНИЕ АЛГОРИТМА ПОИСКА КРАТЧАЙШЕГО ПУТИ

НА РАСШИРЕННОМ ГРАФЕ

К.Т. Фам, В.Х. Нгуен

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

Ключевые слова: расширенный граф, ориентированный граф, неориентированный граф, поиск кратчайшего пути.

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

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

Пусть смешанный граф О=(У, Е), состоящий из двух конечных множеств [1,2]: У - множество вершин и множество пар элементов из У, т.е.

Е: УхУ - множество ребер, если пары неупорядочены, и множество дуг, если пары упорядочены. В первом случае граф О(У,Е) называется неориентированным, во втором ориентированным [3,4].

Каждому ребру ееЕ присваивается вес ,№Е(е). При каждой вершине уеУ, обозначиение Еу является множеством ребер вершины V. Каждой вершине уеУ и каждой паре ребер (е,е’)еЕухЕу, еФе’ присваивается вес ^УІу,е,гТ) [5].

Набор О = (У, Е, ,^, ,^) является расширенным графом.

Пусть р - путь из вершины и в вершину V через ребра Єі, і = 1, ...,

И+1, и вершины иі, і = 1, ., И,, как представлено ниже:

р = [и, Єї, иі, Є2, и2, Єи, Щ, Єи+1, V]

Длина пути р обозначается 1(р), и определяется следующим образом

(1):

И+1 И

1(р) = X (єі ) + X (иі, Єі , Єі+1) (1)

і=1 і=1

Задача поиска кратчайшего пути:

Пусть расширенный граф О = (У, Е, ^Е, wV) и вершины s, ґеУ. Найти кратчайший путь от £ до ґ [6].

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

Вход: расширенный граф О = (У, Е, ^Е, wV) и вершины £, ґе У

Выход: 1(ґ) длина кратчайшего пути от £ до V если 1(1)<+¥ .

Обозначим:

Б - множество вершин, найденных в кратчайшем пути от £; Т = У -

3;

IV - длина кратчайшего пути от £ до V;

іє(V) - ребро в вершину V на кратчайший путь от £ до V;

УЕ = {^,е)| vеV\{s} & єеЕу}и{(£,0)} - множество пар вершин и ребер взаимозависимостью;

БЕ - множество пар вершин и ребер были исключены от УЕ; ТЕ=УЕ-БЕ;

Ь^,е) - пара вершин и ребер ^,е)е УЕ ;

Р(^е) - пара передних вершин и ребер ^,е)е УЕ.

Рассмотрим 5 шагов алгоритма поиска кратчайшего пути между двумя вершинами в расширенном графе:

Шаг 1: (инициализация):

Начало. Пусть Б = 0; Т = V, УБ = {(г,е)| уе У\{£} & ееБу}и{(£,0)}; ББ = 0, ТБ = УБ;

Назначать Цу,е) = +¥, "(у,е)еУБ, Ь(^,0) = 0 , Р(у,е) = 0,

"(у,е)еУБ.

Шаг 2:

Определить т= шт{Ь(у,е) | (у,е)еТБ}.

Если т = +¥, вывод: не присутствует путь от £ до V. Наконец. Наоборот, если т < +¥, выбор (утгп,етгп)е ТБ , таким образом

Б(утги,етги) m, приводит к ТБ ТБ {(утг'п>етгп)}, ББ ББ ^ {(утг'п>етг'п)}, и

переход к шагу 3.

Шаг 3:

Если утт&- ^ то /е(ут1п) етт, Б S^,{vmгn}, /(ут1п} L(vmш,emгn), Т Т

{утгп} .

Если ? = утп, переход к шагу 5, наоборот, если ? Ф утп, переход к шагу 4

Шаг 4:

С каждой пары (у,е)еТБ соседних возвращают назад (утгп,етгп),

пусть

Ь’(у,е) = ^(Ут1п,ет1П)+^Б(Ут1п,У)+^у(Ут1п,ет1п,е), если УтгпФ* и Ь’(у,е)

= Ц£,0^Б(УттУ), если Утп= £.

Если Цу,е) > Ь’(у,е), то Ь(у,е) = и(у,е) и Р(у,е) = (утЫ,етп).

Вернуться к шагу 2.

Шаг 5: (поиск кратчайшего пути)

Обозначим /(?)=Ь(?,/е(?)) как длину кратчайшего пути от £ до I. От ? вернёмся в предыдущую пару вершин и ребер, получим следующий кратчайший путь (2) :

(у!,е!) = Р(*,/е(0), (У2,е2) = Р(У1,еД ..., (уьек) = Р(Ук_1,ек_1), (£,0) = Р(ук,ек), (2)

Поэтому кратчайший путь £ ® ® ук-1 ® ® V1 ® ?. Конец.

Теорема 1: Алгоритм поиска кратчайшего пути в расширенном графе верен.

Доказательство: Обозначим пары вершин - ребер с очередью в Р

(3):

(Уо,ео) = (£,0), (у1,е1), ..., (Ут,ет) = (Ф(г)). (3)

Докажем по индукции, что Ь(у-,ег-) - это длина кратчайшего пути от £ до V» через еь 1=1, ..., т.

Основа: очевидно, что Ь(у1,е1) это длина кратчайшего пути от £ до у1, через ребро е1 . Это длина кратчайшего пути от £ до у1 , т.е. /(у1) = Ь(у1,е1), так как у1 теперь введен в Р.

Индукция: Пусть Ь^,ег) является длиной кратчайшего пути от £ до

VI через ребро Єі при всех і < к. Докажем, что Ц^е) - это длина кратчайшего пути от £ до vk через ребро ек . р является кратчайшим путем от £ до Vк через ек , 1(р) является длина р. Пары вершин-ребер на р-стороне , за исключением ^к,ек), в наборе:

БЕ’ = {О^еД ^2,Є2), ..., ^к-1,еы)}.

Действительно, пусть, наоборот, (^е) является первой парой вершин-ребер на р-стороне от £, и не присутствует на БЕ’. Тогда ^,ег)е БЕ’ вершина-ребро нар перед ^,е). Получим:

L(v, е) £ Ь^,ег) + WE(Vi,v) + wv(v, е, е) < 1(р) £ L(Vk,Єk),

из этого следует, что (^е) должа входить в БЕ перед V],., т.е (v,є) е БЕ, но это противоречиво.

Теперь, ^И,еИ) вершина-ребро перед (vk,єk) на р. Так как, получим

(4):

L(Vk, ек) £ L(vи, Єи) + w(vи,vk) + Wv(vи, е1г, ек) = 1(р). (4)

Поэтому L(vk,ek)= 1(р) - длина кратчайшего пути р от £ до ек через

ек.

Наконец, потому что (ґ,1е(ґ)) - вершина-ребро содержат вершину ґ на первом входе в БЕ, поэтому 1(ґ) = Ь(ґ,1е(ґ)) - это длина кратчайшего пути от £ до ґ.

Теорема 2: Пусть расширенный граф О при п вершинах и т ребрах, тогда получим сложность алгоритма 0(п ).

Доказательство: Ребра каждой вершины не более (п-1), поэтому множество УЕ должно содержать мощность не более п(п-1). С каждым циклом, начиная с шага 2 до шага 4 выберем пару вершин-ребер, принадлежащих УЕ, которая поставлена в БЕ, цикл не должен превышать п(п-1). На каждой итерации алгоритма обследуются (п-1) пар вершин-ребер, которые считаются в шаге 4. Так как сложность алгоритма 0(п3).

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

Вход: расширенный граф О = (У, Е, ^Е, wV), вершина £е У и множество и с У.

Выход: IV это длина кратчайшего пути от £ до V и кратчайший путь, если (IV < +¥),VvеU.

Пусть Би - вершин на и, найденных кратчайшим путем от £; Ти =

и - Би;

Рассмотрим 5 шагов алгоритма поиска кратчайшего пути из одной вершины к вершинам в расширенном графе:

Шаг 1 (инициализация): Начало. Б = 0 ; Т = У ; Ти=и ; Би=0 ;

УЕ = {(^е)| vеУ\{£} & ееЕу}и{(£,0)}; БЕ = 0, ТЕ = УЕ;

L(v,e) = +¥, "^,е)е УЕ, L(s,0) = 0;

Р(^е) = 0, "^,е)е УЕ.

Шаг 2: Определить m = min{L(v,e) | (v,e)eTE}.

Если m = +¥, переход шагу 5.

Наоборот, если m < +¥, выбор (vmin,emin)e TE , таким образом

L(vmin,emin) m, Прив°ДИТ к TE TE {(vmin,emin)}, SE SE ^ {(vmin,emin)}, и

переход к шагу 3.

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

Шаг 3: Если vmin<£ S, то

le(vmin) emin:> S S^{vmin} l(vmin) L(vmin,emin), T T {vmin},

Если vmin e TU,то SU = SUu{vmin} va TU=TU-{vmin}.

Если TU=0, то переход к шагу 5, наоборот, если TU Ф0, переход к

шагу 4.

Шаг 4: С каждой пары (v,e)eTE, соседних возвращают назад

(vmin,eminX пусть

L (v,e) L(vmin,emin)+WE(vmin,v)+WV(vmin,emin,e), если vmin^s

и L’(v,e) = L(s,0)+WE(e,v), если vmin= s.

Если L(v,e) > L’(v,e), то L(v,e) = L’(v,e) и P(v,e) = (vmin,emin). Вернуться в шаг 2.

Шаг 5: (поиск кратчайшего пути)

С каждой вершиной te SU, назначим l(t)=L(t,le(t)) - длина кратчайшего пути от s до t. От t вернёмся в предыдущую пару вершин - ребер, получим кратчайший путь следующим (5):

(vj,ej) = P(t,le(t)), (v2,e2) = P(vi,ei), ..., (vk,ek) = P(v*-i,e*-i), (s,0) = P(vk,ek). (5)

Поэтому кратчайший путь: s ® vk® vk-j ® ® vj ® t. Конец.

Список литературы

1. Зыков А.А. Основы теории графов. М.:Наука, 1987,384 с.

2. Татт У. Теория графов. Пер. с англ. М.:Мир,1988, 424 с.

3. Кристофидес Н. Теория графов. Алгоритмический подход. Пер. с анг. М.:Мир, 1978, 432 с.

4. Russell Merris, Graph Theory // John Wiley & Sons, 2011, 256 с

5. Diestel R. Graph Theory - Springer, 2005, 410 pages.

6. Giao Trinh Ly Thuyet Do Thi, Nguyen Thanh Hung. Nguyen Due

Nghia// Nxb Dai hoc Quoc gia TPHCM, 168c.

Фам Конг Тханг, аспирант, pacothaagmail. com, Россия, Тула, Тульский государственный университет,

Нгуен Ван Хьеу, канд. техн. наук, nvhieuqtadut. udn. vn Вьетнам, Дананг, Университет Дананга, университет наук и технологии

CONSTRUCT AN ALGORITHM FOR FINDING THE SHORTEST PATH ON THE

EXTENDED GRAPH

Pham Cong Thang, Nguyen Van Hieu

A description of the expanded graph and find the shortest path problem on it compiled. The algorithms find the shortest path between two vertices in the expanded graph and find the shortest path from one vertex to the vertices in the expanded graph. Forward two theorems with proof-search algorithm for the shortest path algorithm and his complexity.

Key words: directed and undirected graph, find the shortest pat, an expanded graph.

Pham Cong Thang, post graduate, pacothaagmail. com , Russia, Tula, Tula State University.

Nguyen Van Hieu, candidate of technical science, nvhieuqtagmail.com, VietNam, Da Nang, The University of Danang, University of Science and Technology

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