Научная статья на тему 'Метод эквивалентных дуг для минимизации путей в заданном гомологическом классе'

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

CC BY
97
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИМПЛЕКС / ПОЛИЭДР / ГРУППА ГОМОЛОГИЙ / АЛГОРИТМ / МИНИМИЗАЦИЯ / IMPLEX / POLYHEDRON / HOMOLOGY GROUP / ALGORITHM / MINIMIZATION

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

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

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

THE METHOD OF EQUIVALENT EDGES FOR PATH MINIMIZATION IN A GIVEN HOMOLOGY CLASS

Closed triangulated manifolds, their edge paths and 2-module homology groups are considered. A new method has been developed to reduce complexity for the shortest path algorithm which is homologous to the given one.

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

Матем атика

Вестник Нижегородского университета им. Н.И. Лобачевского, 2014, № 1 (1), с. 203-208

УДК 515.14+519.6

МЕТОД ЭКВИВАЛЕНТНЫХ ДУГ ДЛЯ МИНИМИЗАЦИИ ПУТЕЙ В ЗАДАННОМ ГОМОЛОГИЧЕСКОМ КЛАССЕ

© 2014 г. А.В. Галанин

Нижегородский госуниверситет им. Н.И. Лобачевского al@galanin.nnov.ru

Поступила в редакцию 24.09.2013

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

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

Краткие сведения об индексной вектор-функции

В настоящем пункте мы кратко напомним понятие индексной вектор-функции, более детально данная конструкция описана в [1]. Пусть Р - т-мерное триангулированное многообразие без края и 1М : Н1(Р) х Нт-1(Р) ^ Z 2 - индекс пересечения, а [ >>[],...,[ уг ] - базис группы гомологий Нт-1(Р).

Гомоморфизм J: С1(Р) ^ Z2, J = (/1,..., Jr), называется индексной вектор-функцией, если для произвольных 7 е Z1(P) и k е{1,...,г} имеет место равенство

^ ]). (1) При этом для любой цепи х е С\ (Р) значение J (х) называется ее индексом относительно

базиса [ у1],...,[у.].

Имеет место [1]

Предложение 1. Если х, х е С (Р) и дх = дх', то J(х) = J(х') тогда и только тогда, когда х ~ х'.

Процесс построения компонент индексной вектор-функции J: С1 (Р) ^ Z2 относительно некоторого набора базисных (т -1) -мерных циклов называется индексацией.

Постановка задачи и подходы к ее решению

В работе рассматриваются прямолинейные полиэдры в Rп. Пути предполагаются рёберными. Полиэдр предполагается двумерным, однако алгоритм может быть модифицирован для

поиска минимального пути и в полиэдре размерности т. Используются группы гомологий с коэффициентами из поля Z2.

Дан полиэдр P, являющийся двумерным замкнутым многообразием, неотрицательная весовая функция L : C\ (P) ^ R и путь x0 е C (P) с начальной вершиной s и конечной вершиной t. Требуется найти путь с минимальным весом среди всех путей с концами s и t, гомологичных x0.

Для решения этой задачи в [1] используется переход к накрывающему полиэдру P. Его вершинами являются пары (v, i), где v - вершина исходного полиэдра P, а i е Z2, r = rank H1 (P). Кроме того, для любого пути x е C (P), соединяющего вершины а, Ъ е V(P), накрывающие пути соединяют вершины (a,ia),(Ъ,ib)eV(P), удовлетворяющие равенству ia + ib = J (x). Здесь J: C1 (P) ^ Z2 - описанная выше индексная вектор-функция относительно некоторого базиса группы H1 (P).

Запишем основные шаги алгоритма, разработанного в [1].

Алгоритм 1

1. Нахождение базиса группы гомологий Hi(P).

2. Построение индексной вектор-функции J относительно найденного базиса.

3. Построение накрывающего полиэдра P .

4. Применение алгоритма Дейкстры (см. [2]) для поиска пути с минимальным весом на накрывающем полиэдре. При этом в качестве начальной точки на P выбирается пара (s,0), а в качестве конечной - (t, J (x0)).

5. Вычисление проекции найденного пути на Р.

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

Заметим также, что накрывающий полиэдр

Р может быть построен и с помощью гомоморфизма J: С1 (Р) — Z2, не являющегося индексной вектор-функцией. В этом случае применение шагов 3-5 указанного алгоритма позволяет найти минимальный элемент среди всех путей х є С (Р) с концами 5 и t, удовлетворяющих равенству J(х) = J (х0).

Метод эквивалентных дуг

Множество вершин полиэдра триангулированного многообразия Р обозначим буквой V, множество рёбер - Е. Пусть, как и выше, L -неотрицательная весовая функция, J -индексная вектор-функция относительно некоторого базиса группы Н1 (Р), а граф G = (V, Е) представляет собой одномерный остов полиэдра Р .

Определение 1. Ребро е є Е назовём проиндексированным, если J(е) = 0 . Обозначим множество проиндексированных рёбер буквой I.

Определение 2. Назовём вершину V є V специальной, если она совпадает с начальной или конечной вершиной минимизируемого пути или инцидентна как минимум одному индексированному ребру. Множество всех специальных вершин обозначим как 5 с V.

Определение 3. Назовём путь нуль-индексным, если он начинается и кончается в специальных вершинах и и V и не содержит ни одного проиндексированного ребра. Множество всех нуль-индексных путей, соединяющих вершины и и V графа 0, обозначим ^.

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

минимальными нуль-индексными путями. Выберем и зафиксируем путь хш є .

Построим мультиграф О = (V' , Е') с множеством вершин V' = 5. Пусть и,V є V'. Если существует ребро е = [и, V] є I, то будем считать, что е є Е'. Кроме того, при ф 0 включим в Е' путь хиу є .

Замечание 1. По построению каждую пару вершин и, V є 5 могут соединять не более чем две дуги графа О = (V' , Е'), так как в графе 0 может быть не более чем одно проиндексированное ребро, соединяющее и и V, а множество нуль-индексных путей заменяется не более чем на одну дугу. Следовательно,

К2

| Е |<----2 = К2,

2

где К =| 51.

Обозначим символом 0.(0,5) множество путей графа О , соединяющих точки множества 5, а символом 0(0') - множество всех путей мультиграфа О'. По построению Е с 0(0,5) с с С1 (Р). Следовательно, определено включение /': Е' ——С1(Р), причем /'(Е') с 0(0,5).

Произвольная цепь х'є С1(0') представляет

собой формальную сумму х' = ^ е'к дуг е'к є Е.

к

Положим

Дх') = f £ ек) = 2/'(ек). (2)

кк

Этим построен гомоморфизм f С 1(0') — —С1(Р), удовлетворяющий условию f (0(0')) с с 0(0,5). С его помощью посредством формул Ь' = Ь о f и J' = J о f определим весовую функцию Ь': 0(0') — R и гомоморфизм J': С1(0') — Z2. Значения последнего на одномерных цепях мультиграфа 0’ = (V' , Е) договоримся по-прежнему называть их индексами.

Рассмотрим вершины и, V є 5 и вектор

у є Z2. Обозначим символами 0(0, и, V, у) и 0(0', и,V, у) множества путей графов 0 и 0' соответственно, соединяющих вершины и и V и имеющих индекс у. Согласно построению функции J' имеет место включение

Д0(0', и, V, у)) с 0(0, и, V, у). (3)

Также введем обозначения М(0, и,V, у) и М (0', и, V, у) для множеств путей с минимальным весом из 0(0, и, V, у) и 0(0', и, V, у) соответственно.

Теорема 1. Имеет место включение f (М(О', и,V,у)) сМ(О, и,V, у).

Доказательство. Произвольный путь х е е О(О, S) представляет собой сумму х = [v0v1 ] +

+[V1V2] + . + [vn-lvn], где V е V , [V-V] е Е для всех i = 1,., п , а v0, vn е 5 . Допустим, что путь

х* = \VpVp+1 ] + . + [Уд-'Уд ] составлен из максимального набора идущих подряд ребер пути х , не лежащих в I. Тогда J (х*) = J ([урур+1]) + + . + J (^д-Уд ]) = 0. Если р = 0, то ур = уо е 5 по выбору пути х. При Р > 0 ребро [Ур-1Ур ] пути х принадлежит множеству I в силу максимальности х*. Но тогда V е 5 по определению множества специальных вершин. Аналогично проверяется, что и V е 5. Таким образом, х* е Nv ,, .

УрУд

Итак, доказано, что любой путь х е О(О, 5) может быть представлен в виде суммы

х = ^ хк, где либо хк = е е I, либо хк е Nuv для

k

некоторых и, V е 5 . Положим

F (х) = F £ хк) = ^ F (хк), (4)

кк

где F(хк) = е в первой из указанных ситуаций и F(хк) = хи, - во второй, причем хи, - зафиксированный ранее путь из множества Nuv. Этим определено отображение Е: О(О, 5) ^ О(О').

По построению Е(хк) = хи, для всех Nuv.

Таким образом, J о f о Е = J и потому

J 'о Е = J. Отсюда следует, что

Е (О(О, и, V, у)) сО(О', и, V, у). (5)

Заметим также, что L(f (Е(хк))) = L(xк) при

хк = е е 1 и L(;[(Е(хк))) < Цхк) при хк е Nuv для некоторых и, V е 5 . Поэтому для любого х = О(О, 5)

L((f о Е)(х)) < L(х). (6)

Рассмотрим далее путь х е М(О, и,V, у) и положим х' = Е(х) и у = f (х'). Согласно (5) х'еО(О',и,V,у), а в силу (3) уеО(О,и,V,у). Из (6) также следует, что L(у) < L(х). Таким образом, вес пути у не превышает минимального веса пути из множества О(О, и,V, у). А это значит, что у е М (О, и, V, у).

Пусть, наконец, 7 - произвольный элемент множества М(О', и, V, у). Так как 7 имеет минимальный вес среди всех путей из О(О', и, V, у), а

построенный выше путь х' = Е(х) принадлежит О(О',и,V,у), то L'(z') < L'(х'). Положим 7 = = f (7'). Тогда L(7) = L(f (7)) = Г(7) <

< L'(х') = L( f (х')) = L(у). Кроме того, согласно (3) 7еО(О,и,V,у). Отсюда и из включения у е М(О, и, V, у) следует, что 7 е М(О, и, V, у). Теорема доказана.

Следствие. Пусть хО, - минимальный путь индекса J'(хО.) = J(х0) в графе О', соединяющий вершины 5 и t. Тогда его образ хО = f (хО,) гомологичен х0 в Р и имеет наименьший вес среди таких путей.

Действительно, по условию хО,е М (О',

5, t, J(х0)). Отсюда по теореме 1 следует, что путь хО = f (хО,) имеет наименьший вес среди всех путей х графа О = (V, Е), соединяющих вершины 5 и t, имеющих индекс J(х) = J(х0). Согласно предложению 1 для всех таких путей [х] = [х0] в Н1(Р).

Определение 4. Пусть V’ - множество вершин графа О', Е - множество его рёбер, а J': С1(О') ^ Z2 - построенный выше гомо-

морфизм. Положим V = V'хZ2. Элементы й = = (и, Е) е V и V = (V, ^) е V назовём соседними и

включим ребро [иР] в список Е, если выполнены условия:

(А1) существует ребро е = [uv] е Е;

(А2) П = ^+ J '(е).

Граф, состоящий из множества вершин V и

множества ребер Е, обозначим как О'.

Определение 5. Определим отображение п: О' ^ О' следующим образом: пг ((и, Е,)) = и , пЕ ([и']) = К (и)пу (V)], п = (nV, пЕ) для и,

V е V, [г5л5] е Е.

Предложение 2. Для любого пути х = = [и0и1 ] + [и1и2 ] + ... + [ир-1ир ] графа О' и произвольного вектора Е0 е Z2 существует единственный путь х = [/20/21 ] + [гР1г52 ] + ... + [ир-1йр ] графа

О, обладающий свойствами:

(С1) г?0 = (uo, Е0);

(С2) п(.х) = х.

Предложение 3. Пусть х = [и0и1 ] + [и1и2 ] + + ... + [ир-1ир ] и у = ^0^ + [vlv2] + ... +^-1^ ] -пути графа О', идущие из вершины и0 = V,, в

вершину up = vq , x = [и0иі ] + [uu ] + ... +

+ [Up-Vp ] и y = [^і] + [^2] + . + [vq-і vq ]-

пути в G', накрывающие пути x и y соответственно и имеющие общее начало u0 = v„. Тогда U = Vlq в том и только в том случае, если J '(x) = J'(у).

Предложения 2 и З доказываются аналогично предложениям і0.2 и і0.З из [З] соответственно. Предложения 2 и З позволяют использовать

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

граф G' для поиска минимального элемента среди путей x' графа G’, соединяющих вершинні s и t и имеющих индекс J'(x') = J (x0). В результате мы получаем новый алгоритм для решения поставленной задачи.

Алгоритм 2

1. Нахождение базиса [yj,...,[yr] группы гомологий H (P).

2. Вычисление индексной вектор-функции J: C^P) — Z2 относительно базиса [уі],.,[yr ].

3. Построение мультиграфа G’ = (V',E’).

4. Построение с помощью гомоморфизмов

f :Ci(G') —>Ci(P) и J' = J о f накрытия

л: G' — G'.

5. Поиск пути x' с минимальным весом L'(x'), L' = L о f о л, на накрывающем графе G', соединяющий вершины (s,0) и (t, J (x0)).

6. Вычисление проекции x' = л(.x') найденного пути на G ’.

У. Восстановление соответствующего x' пути x = f (x') на G.

Новыми в данном алгоритме являются шаги

З и У. Наиболее существенна задача построения графа G’, потому распишем метод ее решения подробнее.

Первый шаг реализуется процедурой build_new_graph(s,t), в ней передаются начальная (s) и конечная (t) вершины пути. Затем производится вычисление минимальных значений весовой функции L для всех пар специальных вершин графа G , при этом начальная вершина s минимизируемого пути рассматривается первой.

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

procedure build_new_graph(s, t)

ENQUEUE(EQ, s)

G' ^ G’^{s} repeat

u ^ POP(EQ)

make_new_graph_edges(EQ, u, t) until EQ = 0

Функция make_new_graph_edges(EQ, u, t) для заданной вершины u находит минимальные нуль-индексные пути до всех специальных вершин (в том числе конечной вершины t). Для их вычисления используется алгоритм Дейкстры (см. [2]) с запретом пересечения индексированных рёбер. Граф считается заданным списком смежности Adj.

В случае, если во время работы алгоритма попалась ещё не рассмотренная специальная вершина v, она добавляется в очередь EQ на проверку. Граф G’ пополняется новой вершиной и ребром, эквивалентным минимальному нуль-индексному пути между U и V.

Для специальной вершины, инцидентной индексированному ребру, производятся следующие действия: вершина w, инцидентная тому же ребру, добавляется в V'; индексированное ребро добавляется в E .

Заметим, что начальная вершина в make_new_graph_edges(EQ, u, t) не рассматривается как специальная. Так как граф G не ориентированный и начальная вершина ставится в очередь первой, это не приводит к потере дуг в G’, инцидентных ей.

В массиве visited хранятся булевские значения, обозначающие посещённые вершины, массив d хранит текущее минимальное значение весовой функции на пути до вершины v, массив from используется для сохранения предыдущей вершины в графе предшествования. Флаг visited выставляется, если вершина w является специальной (согласно определению 2). Функция process_ null_index_path вызывается для сохранения нуль-индексного пути, эквива-лентного новой дуге. Также в функциях make_ new_graph_edges и process_nulljndex_path заполняется таблица значений для функций J’ и F.

procedure make_new_graph_edges (EQ, u, t) for each v є G visited[v] ^ false d[v] ^ да

ENQUEUE(Q, u, 0) d[u] ^ 0 from[u] ^ u while Q ^0 v ^ POP(Q) if visited[v] then continue special ^ v = t

for each w є Adj\v] e ^ [v, w]

edge _ weight ^ L (v, w)

path_weight ^ d[v] + edge_weight

idx ^ J(e)

if idx Ф 0 then

special ^ true

if w g V' then

V'^ VU{w}

ENQUEUE(EQ,w) if e g E' then E' ^ E'u{[v, w]}

J' (e) ^ idx F (e) ^ {e} else

if path _ weight < d[w] then ENQUEUE(Q,w, path _ weight) d[w] ^ path _ weight from[w] ^ v if special then

processzeroindex_path (EQ, u, v, from)

Процедура process zero index_path (EQ, u, v) добавляет в граф G' дугу, эквивалентную кратчайшему нуль-индексному пути между u и v. Кратчайший путь берётся из графа предшествования, сохранённого в массиве from. Если вершина v ещё не содержится в G , то она будет добавлена в него.

procedure process_zero_index_path (EQ, u, v, from)

ifvg V'then

V' ^ V U{v}

ENQUEUE(EQ, v) path ^ 0 if u Ф v then t ^ v

while from[t] Ф t do

path[t ] ^ path[t ] u [ from[t ], t] t ^ from[t]

E' ^ E' u {[u, v]}

J '([u, v]) ^ 0 F([u,v]) ^ path

Шаги і, 2 и 4-б аналогичны соответствующим процедурам алгоритма і. На шаге У применяется формула (2).

Оценка сложности

Введём обозначения: N = max(N0,N1,N2),

где Nt - количество симплексов размерности i в исходном полиэдре; K =| S |. При построении графа G' для каждой вершины u е S используется алгоритм Дейкстры для графа G c N0 вершинами и N1 рёбрами, сложность которого O(N02 + N1). Следовательно, шаг 3 алгоритма имеет сложность

0(K (N2 + N1)) = O(KN2), (7)

так как N0,N1 < N.

Для построения накрывающего графа G' и последующего поиска на нём минимального пути используется граф G', содержащий

| V'|= K вершин. К графу G' вновь применяется алгоритм Дейкстры. Этот алгоритм имеет сложность

O(\F\2 +1E |) = O((K2r)2 +1 E'l 2r) = O(K222r), (8) так как | V\=V '|2r, | E\=\E '|2r по построению G' и \ E \< K2 по замечанию 1.

Вычисление базиса группы H1(P) и индексация относительно него могут быть выполнены с помощью алгоритмов, разработанных в [3] и [4]. Первый из них имеет сложность O( Nr), а второй - O(N log N). Остальные шаги в силу их простоты на окончательную оценку сложности алгоритма повлиять не могут.

Отсюда, из (7) и (8) получаем сложность O(Nr + N log N + KN2 + K 222r) = O(KN2 + K 222r). Заметим, что если применять алгоритм Дейкстры к графу G , накрывающему G , как это делается в алгоритме 2 из [1], то сложность составит O(N222r). Поэтому существенный выигрыш от применения нового варианта алгоритма может быть получен в ситуации, когда количество специальных вершин K =\ S \ намного меньше

параметра N = max(N0,Nl,N2).

Работа выполнена при финансовой поддержке Минобрнауки РФ в рамках государственного задания на оказание услуг в 2012-2014 гг. подведомственными высшими учебными заведениями (шифр заявки 1.1907.2011) и федеральной целевой программы «Научные и научнопедагогические кадры инновационной России», контракт M14.B37.21.0361.

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

1. Lapteva A.V. and Yakovlev E.I. Index Vector-Function and Minimal Cycles // Lobachevskii Journal of Mathematics. 2006. V. 22. P. 35-46.

2. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: 4. Lapteva A.V., Yakovlev E.I. Minimal 1-Cycles

построение и анализ. М.: МЦНМО, 2001. 960 с. Generating a Canonical Basis of 2-Manifold’s Homolo-

3. Яковлев Е.И. Вычислительная топология. Н. gy Group // International Journal of Pure and Applied

Новгород: Изд-во ННГУ, 2005. 214 с. Mathematics. 2006. V. 31. № 4. P. 555-570.

THE METHOD OF EQUIVALENT EDGES FOR PATH MINIMIZATION IN A GIVEN HOMOLOGY CLASS

A V. Galanin

Closed triangulated manifolds, their edge paths and 2-module homology groups are considered. A new method has been developed to reduce complexity for the shortest path algorithm which is homologous to the given one.

Keywords: simplex, polyhedron, homology group, algorithm, minimization.

References

1. Lapteva A.V. and Yakovlev E.I. Index Vector-Function and Minimal Cycles // Lobachevskii Journal of Mathematics. 2006. V. 22. P. 35-46.

2. Kormen T., Lejzerson Ch., Rivest R. Algo-ritmy: postroenie i analiz. M.: MCNMO, 2001. 960 s.

3. Jakovlev E.I. Vychislitel'naja topologija. N. Novgorod: Izd-vo NNGU, 2005. 214 s.

4. Lapteva A.V., Yakovlev E.I. Minimal 1-Cycles Generating a Canonical Basis of 2-Manifold’s Homology Group // International Journal of Pure and Applied Mathematics. 2006. V. 31. № 4. P. 555-570.

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