Научная статья на тему 'Алгоритм поиска внешне-внутреннего центра предфрактального графа с сохранением смежности старых ребер'

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

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

Аннотация научной статьи по математике, автор научной работы — Узденов Ахмат Абдуллахович, Кочкаров Расул Ахматович

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

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

Похожие темы научных работ по математике , автор научной работы — Узденов Ахмат Абдуллахович, Кочкаров Расул Ахматович

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

n article the problem about the outwardly-internal centre on pre-fractal graphs is considered, the contiguity of which old edges remains. The algorithm of search of the outwardly-internal centre for the first time is offered. Questions of computing complexity of algorithm are investigated.

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

УДК 519.6; 519.17

А.А. Узденов, Р.А. Кочкаров

АЛГОРИТМ ПОИСКА ВНЕШНЕ-ВНУТРЕННЕГО ЦЕНТРА ПРЕДФРАКТАЛЬНОГО ГРАФА С СОХРАНЕНИЕМ СМЕЖНОСТИ СТАРЫХ РЕБЕР

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

Термином затравка условимся называть какой-либо связный граф Н = (Ж, 0. Для определения фрактального (предфрактального) графа нам потребуется операция замены вершины затравкой (ЗВЗ). Суть операции ЗВЗ заключается в следующем. В данном графе О = (V, Е) у намеченной для замещения вершины ~ е V выделяется множество V = } с V,7 = 1, 2, ..., IV|, смежных ей вершин. Далее, из графа О удаляется вершина V и все инцидентные ей~ебра. Затем каждая вершина е V,. = 1, 2, ..., IV |, произвольно (случайным образом) или по определенному правилу (при необходимости), соединяется ребром с одной из вершин затравки Н = (Ж, О).

Предфрактальный граф будем обозначать через ОЬ = (V Ег), где V. - множество вершин

графа; ЕЬ - множество его ребер. Определим его рекуррентно, поэтапно, заменяя каждый раз в построенном на предыдущем этапе , = 1, 2, ..., Ь - 1 графе О1 = (V,, Е) каждую его вершину затравкой Н = (Ж, О). На этапе , = 1 предфрактальному графу соответствует затравка О = Н. Об описанном процессе говорят, что предфрактальный граф ОЬ = (V ЕЬ) порожден затравкой Н = (Ж, О). Процесс порождения предфрактального графа ОЬ, по существу, есть процесс построения последовательности предфрактальных графов О1, О2, ..., О,, ..., ОЬ, называемой траекторией. Фрактальный граф О = (V, Е), порожденный затравкой Н = (Ж, О), определяется бесконечной траекторией.

Предфрактальный граф ОЬ = (У£, ЕЬ) условимся называть (и, д, Ь)-графом, если он порожден и-вершинной д-реберной связной затравкой Н = (Ж, О), и (и, Ь)-графом, если затравка Н = (Ж, О) - регулярный граф.

Использование операции ЗВЗ в процессе порождения предфрактального графа ОЬ для элементов О- = (V,, Е,), ,е {1, 2, ..., Ь - 1} и его траектории позволяет ввести отображение ф : V 1 ^ V|+1 или ф(^) = а в общем виде фt(V) = V 1+,, t = 1, 2, ..., Ь - ,. В последнем выражении множество V,, - образ множества V,, а множество V¡ -прообраз множества V

Для предфрактального графа ОЬ ребра, появившиеся на ,-м (,е {1, 2, ..., Ь - 1}) этапе порождения, будем называть ребрами ранга . Новыми ребрами предфрактального графа ОЬ назовем ребра ранга Ь, а все остальные ребра назовем старыми.

Для любой вершины V. графа О- = (V,, Е,) пусть

) есть множество тех вершин V. графа О,, которые достижимы из вершины V. с помощью путей со взвешенными длинами й(у., V), не превосходящими величины X. Через К(у') будет обозначаться множество тех вершин V. графа О, из которых вершина V. может быть достигнута с использованием путей, имеющих взвешенные длины й(у., V.) < X. Таким образом,

К (V) = \Vjld (V,., V,) <Х, V, },

К (V,) = {vj|d (vj, V,.) <Х, vj }.

Для каждой вершины V. графа О/ = (V,, Е) определим следующие числа:

5о(у)=тах^ ^

=тах№> ^

•*>,)=т1V;+Ф> V)].

Числа so(v), -(V) и 5^,.) называются, соответственно, числом внешнего разделения, числом внутреннего разделения вершины и числом внешне-внутреннего разделения вершины V

Вершина V*, для которой 8 ^*)тт[5 (V )], на-

о о ^ ev 0 1

зывается внешним центром графа О,; вершина V*, для которой я^*) = тт^.^ )], называется вну-

V. eV 1

тренним центром графа О,, а вершина v0г, для которой я (V*) = тт[я .(V.)] , называется внешне-

00 v¡eV 0 1

внутренним центром графа О.

У графа может быть несколько внешних, внутренних и внешне-внутренних центров, которые образуют множества внешних, внутренних и внешне-внутренних центров, соответственно.

Рассмотрим взвешенный предфрактальный граф ОЬ = (V-, ЕЬ), порожденный ориентированной затравкой Н = (№, О), смежность старых ребер которого сохраняется [1].

Предположим, что затравка Н = (№, О) является сильно связным графом, т. е. каждая вершина достижима из всякой другой вершины [2].

Алгоритм а3 поиска внешне-внутреннего центра предфрактального графа представляет собой синтез двух алгоритмов: а1 (поиска внешнего центра) и а2 (поиска внутреннего центра). Опишем далее принцип работы алгоритма а3.

Алгоритм а3 поиска внешне-внутреннего центра

Алгоритм начинает свою работу с подграф-затравок ¿-го ранга г (Ь, = 1, пЬ—1 . Рассмотрим подграф-затравку г ^ ), найдем кратчайшие пути от «общей» вершины х'¿до оставшихся (п - 1) вершин V ^ подграф-затравки г Ь, и далее - кратчайшие пути от (п - 1) вершин V ® до вершины х Ь. Или по-другому найдем пару кратчайших путей: от вершины х ¿до вершины V ® и обратно до х Ь. Среди сумм кратчайших путей найдем максимальную и определим число яы(х Ь) : (х Ь) =

nax[d(xvj^) + d(vxL )], которое

= max [d(xv(L)) + d(v(L), x "L))\, которое назовем

Л = '

числом внешне-внутреннего разделения вершины x

(L)

подграф-затравки z® Далее, поочередно найдем числа внешне-внутреннего разделения

5 (x(L) ) = max [d(x(L) , v(L)) + d(v(L) , x®)] «общих»

ot SL j = n-J SL JL JL SL

вершин всех подграф-затравок L-го ранга z sr = 1, nL-1 , где d(x(L) , x(L)) = 0. Поиск кратчайших

L SL SL

путей осуществляется с помощью известного алгоритма Флойда [3].

Рассмотрим далее подграф-затравки (L - 1)-го

AL-1)

Ь—2

ранга 2К~ 8ь—1 = 1,п . Каждая подграф-

5Ь—1 (Ь—1)

затравка (Ь - 1)-го ранга г- также имеет одну

общую вершину с соответствующими затравка-

(Ь—2) Ь —3

ми (Ь - 2)-го ранга г- , 2 = 1, п . Найдем числа внешне-внутреннего разделения для каждой общей вершины х5Ь—1) подграф-затравок

(L - 1)-го ранга z^, sl-j = 1, nL 2 следующим образом: s( x[ L-1)) = max [d( xf-1), v (L-1))+six® +

JL-1

+d(v (L-1), xSL--1))], где d( xS L-1), xS L-1)) = 0. То

L-1 L-1

есть находим кратчайшие пути от общей вершины х(Ь—1) до оставшихся (п - 1) вершин подграф-затравки г-Ь). К длине кратчайшего пути d( х(Ь—1), —1) добавляем соответствующее число разделения я^х®) и длину кратчайшего пути d(y<'j'— ^ 1), х(Ь— 1)). Среди получившихся сумм выбираем максимальную. Сумма 4 х(Ь— 1), х(Ь— 1)) + ^(х*)) + 4 х(Ь— 1), х£^ = = Ф(Ь), так как d(х1), х^ 1)) = 0.

Указанным способом находим числа внешне-внутреннего разделения -^(х^) для общих вершин

х® подграф-затравок г®, = 1, п'—1 до 2-го ранга включительно, т. е. для всех , = , - 1, ... , 2.

На последнем шаге ' = 2 найдены числа разделения (х(2) ), я2 = 1, п для общих вершин х(2) подграф-затравок 2-го ранга г ^ и одной подграф-затравки первого ранга г |-1) = г (Ч Подграф-затравка г 1 ), по сути, соответствует графу О1 из траектории О1, О2, ..., ОЬ. Тогда для каждой вершины подграф-затравки г(11 ) найдено число (х^), -2 = 1, п .

Далее рассмотрим подграф-затравку г (11) как отдельный граф и найдем для каждой ее вершины г ^ число внешне-внутреннего разделения следующим образом: я (х(1) ) = тах [d(x(1) , ^Ч) +

01 51 ,1=1,п—1 51

+ я . (х(2)) + d(v(1), х(1))]. Вершина х* для кото-

JL-1

рои число внешне-внутреннего разделения s (x*) = min [s (x(1) )] минимальное, является

ot ot s1 =1,2,...,n otv si /J

внешне-внутренним центром предфрактального графа G

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

Алгоритм а3

Вход: взвешенный предфрактальный граф

G = V el). t

Выход: x* - внешне-внутренний центр предфрактального графа Gl.

Шаг 1. Для каждой вершины x(L) подграф_ sL

затравки L-го ранга ^, sL = 1, nL 1 найти число внешне-внутреннего разделения sot (x(L) ) = = max , v (L)) + d(v L , x®)], где d(xfL) , x(L)) = 0.

Поиск кратчайших путей между вершинами осуществляется с помощью процедуры Флойда. Для всех l = L - 1, L - 2, ..., 2 выполнить: Шаг L -1+1. Для каждой вершины x(l)

подграф-затравки l-го ранга z(l) найти чис-

sl

ло внешне-внутреннего разделения sot (x(l) ) = = max [d(x(l), v(l)) + s (x(l+1)) + d(v(l), Xl))], s, = ,

j l v s ' j, ' оЛ jl ' v Jl> s, l '

где d(xs(l), xs(l)) = 0 . Поиск кратчайших путей между вершинами осуществляется с помощью процедуры Флойда.

Шаг L. Для каждой вершины x(1) подграф-

s1

затравки первого ранга г(1)найти число внешне-внутреннего разделения sot (x^) = max [d(x(s1i) , J) +

+ sot (x(2 ) + d(v«, x« )], s1 = , где d(x« , x1 ) = 0. Поиск кратчайших путей между вершинами осуществляется с помощью процедуры Флойда.

Шаг L + 1. Из всех вершин x(1, s1 = 1, 2, ..., n в качестве внешне-внутреннего центра пред-фрактального графа GL выбрать вершину x*ot с наименьшим числом разделения: sot (x*) = = min [s (x(1) )].

sj =1,2,..., n L otK s1

Процедура Флойда. Вход: взвешенный граф G = (V, E). Выход: кратчайшие пути d(v, v) i, J = 1, 2, ..., n. Теорема 1. Алгоритм а3 выделяет внешне-внутренний центр предфрактального графа GL, смежность старых ребер которого сохраняется.

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

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

Предфрактальный граф G4 взвешен в соответствие с правилом взвешивания ребер, где начальный отрезок [a; b] = [27; 54], а весовой коэффициент 0 = 1/3. Веса ребер указаны рядом с ребрами обычным шрифтом. Алгоритм поиска внешне-внутреннего центра начинает свою работу с подграф-затравок 4-го ранга. Внутри подграф-затравок 4-го ранга мелким шрифтом указаны числа внешне-внутреннего разделения для вершин x(4), s4 = 1, 2, ..., 27. Число внешне-внутреннего разделения для вершины x1^ найдено следующим образом:

^(xf) = max(d(vff, Х4) + d(v(f, Х4); d(xff, V24)) + d(v(24), xf)) = max(2 + 2,6; 3,4 + 1,2)= = max(4,6; 4,6)= 4,6.

Далее переходим к подграф-затравкам 3-го ранга, внутри каждой указаны числа внешне-внутреннего разделения для вершин x^ , s3 = 1, 2, ..., 9. Число внешне-внутреннего разделения вершины sot (x(3 )) вычисляется соответственно правилу:

(Х3)) = max(d(Xf, vf) + ^ (х(;)) + d(v?> х(3));

d(x(3), V23)) + ^ (Х54)) + d(V23), х(3)); d(x(3), vf) + ^ (Хб4)) + d(V33), xf)) = = max(0 + 3,6 + 0; 4,5 + 4,3 + 9; 9,5 + 4,7 + 4) = = max(3,6; 18,8; 18,2) = 18,8.

Заметим, что длины кратчайших расстояний d(x(13), v(3)) и d(v(3), x®) равны нулю, т. к. d(x(13), v(3)) = = d(v(13), xf) = d(x(13), x(13)) = 0.

Поиск чисел внешне-внутреннего разделения вершин x2), s2 = 1, 2, 3, подграф-затравок второго ранга осуществляется аналогично, а кратчайшие расстояния d(xf, vf) = d(vf, x(12)) = d(x(12), x(12)) = 0:

sot (xf) = max(d(x(12), vf) + sot (x<3)) + d(vf, x(2));

d(x<2), vf) + ^ (x3) + d(^2), x(?)); d(x<2), vf) + Sot (x(3)) + d(v2), xf)) = = max(0 +16,4+0; 10 + 16 +28; 23 +16,4+15) = = max(16,4; 54; 54,4) = 54,4.

На последнем шаге алгоритма находим числа внешне-внутреннего разделения для вершин x1^ , s1 = 1, 2, 3 и выбираем среди них минимальное:

я^*) = Д1^ Ж?)] = шт^)); я^; =

= шш[174,4; 177,6; 179,8] = 174,4.

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

Таким образом, внешне-внутренним центром является вершина x(11), для которой число внешне-внутреннего разделения минимальное: ж*) = Ж^. Внешне-внутренний радиус предфрактального графа 04 равен числу внешне-внутреннего разделения вершины х* : р^ = яд(х*) = 174,4.

Заметим, что внешний центр ж* = Ж1 совпадает с внешне-внутренним центром х = Ж^, а внутренним центром является другая вершина ж*= ж(31). Внешне-внутренний радиус рдг = 174,4.

Теорема 2. Вычислительная сложность алгоритма а3 равна 0(2п3 ■ Ы).

Доказательство. На первом шаге алгоритм работает на подграф-затравках Ь-го ранга где находит числа внешне-внутреннего разделения вершин ЖЬ), sL = 1, 2, ..., иЬ-1. Поиск числа внешне-внутреннего разделения на отдельно взятой подграф-затравке состоит из: 1) поиска пар кратчайших путей ж(Ь) , V Ь ) и й(у(Ь) , ж(^)) и 2) выбора максимального элемента из сумм кратчайших путей сКЖЬ , V(Ь'1 ) + ^(у(Ь) , ж^). Поиск кратчайших путей осуществляется с помощью процедуры Флойда, вычислительная сложность которого равна и3, а выбор максимального элемента или,

в худшем случае, сортировка элементов по возрастанию, требует выполнения также и2 операций [3]. Тогда поиск числа внешне-внутреннего разделения на одной подграф-затравке требует в сумме и3 + и2 < 2и3 операций. Число всех подграф-затравок Ь-го ранга равно иЬ-1, для выполнения шага 1 или поиска всех яд(ЖЬ) ), sL = 1, 2, ..., иЬ-1 требуется 2и3 ■ иЬ-1 = 2иЬ+2 операций.

На следующем шаге осуществляется поиск чисел внешне-внутреннего разделения для вершин жЯЬ-1), = 1, 2, ..., иЬ-2 что требует 2и3-иЬ-2 = 2иЬ+1 операций. Продолжая поиск чисел внешне-внутреннего разделения вершин до второго ранга включительно, получаем: 2иЬ+2+2иЬ+1 + 2иЬ +...+2и4. На последнем шаге осуществляется поиск чисел внешне-внутреннего разделения для вершин х(1) , = 1, 2, ..., и, что требует и3 + и3 = 2и3 операций плюс поиск максимального элемента и2 операций.

В сумме получаем:

2иЬ+2 + 2иЬ+1 + 2иЬ + ... + 2и4 + 2и3 + и2 <

< 2иЬ+2 + 2иЬ+1 + 2иЬ +...+ 2и4 + 2и3 + 2и2 =

= 2

nL+2 ■ n - n2

n -1

< 2nL+3- n2 < 2nL+3- n = 2n3- Ж

Таким образом, вычислительная сложность

алгоритма а3 равна O(2n3 ■ N). СПИСОК ЛИТЕРАТУРЫ

1. Кочкаров, А.М. Распознавание фрактальных графов. Алгоритмический подход [Текст]/А.М. Кочкаров. -Нижний Архыз: РАН САО, 1998.

2. Кристофидес, Н. Теория графов. Алгоритмиче-

ский подход [Текст]/Н. Кристофидес.-М.: Мир, 1978.

3. Асанов, М.О. Дискретная математика: графы, матроиды, алгоритмы [Текст]/М.О. Асанов, В.А. Баранский, В.В. Расин.-Ижевск: НИЦ «РХД», 2001.

УДК 621.391

С.С. Владимиров

МОДЕЛИРОВАНИЕ ПРОЦЕССОВ МАЖОРИТАРНОГО ДЕКОДИРОВАНИЯ КОМБИНАЦИИ ЭКВИДИСТАНТНОГО КОДА ПО k ЛИНЕЙНО-НЕЗАВИСИМЫМ ЭЛЕМЕНТАМ

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

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

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