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

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

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

Аннотация научной статьи по математике, автор научной работы — Яковлев Евгений Иванович, Ценова Анастасия Анатольевна, Епифанов Владислав Юрьевич

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

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

A COMPUTING ALGORITHM FOR TWO-DIMENSIONAL BASIC CYCLES OF POLYHEDRONS IN THE THREE-DIMENSIONAL SPACE

A new method for computing the bases of two-dimensional homology groups of polyhedrons in the three-dimensional space has been developed. Its idea goes back to the Alexander-Pontryagin theorem. In contrast to the standard approach, our algorithm does not use matrices. Moreover, the basic cycles found with the use of this approach have a clear geometrical meaning.

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

МАТЕМАТИКА

УДК 515.14+519.6

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

© 2013 г. Е.И. Яковлев, А.А. Ценова, В.Ю. Епифанов

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

[email protected]

Поступила з редакцию 02.04.2013

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

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

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

В статье исследуются компактные полиэдры трехмерного евклидова пространства Rъ, представляющие собой объединения конечных наборов правильно пересекающихся прямолинейных симплексов размерностей п = 0, 1, 2, 3. В прикладных науках их принято называть триангулированными 3D-объектами, поскольку они часто используются в качестве компьютерных моделей.

Целью работы является разработка нового алгоритма для вычисления базисов групп двумерных гомологий Н2(Р) полиэдров Р указанного вида с коэффициентами из поля X2. Отметим, что выбор коэффициентов здесь не существенен, так как группы целочисленных гомологий в рассматриваемом случае свободны. Вместе с тем, вычисления по модулю 2 заведомо являются наиболее экономными.

Для решения данной задачи имеются известные методы. Стандартный и в то же время самый универсальный подход основан на приведении матриц инциденций симплексов заданного полиэдра к нормальной диагональной форме [1, с. 98-106]. Однако компьютерные модели могут состоять из многих миллионов симплексов. Работа с матрицами таких размеров предъявляет большие требования к ресурсам используемых для вычислений компьютеров и может занимать много времени.

С другой стороны, симплициальный комплекс любого трехмерного полиэдра Р про-

странства R3 содержит треугольники, инцидентные не более чем одному трехмерному симплексу. Поэтому Р допускает коллапсиро-вание на подполиэдр Р' с Р размерности 2. Поскольку при этом включение г': Р'^ Р является гомотопической эквивалентностью, то таким образом решаемая задача сводится к поиску базисных циклов двумерного полиэдра [2, 3].

Для поверхностей алгоритмы вычисления двумерных базисных циклов, не использующие матрицы, подробно разработаны и обоснованы в [3] и [4].

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

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

Группы гомологий полиэдров трехмерного пространства

Для любого целого неотрицательного п и произвольного полиэдра Т символом Sn (Т) будем обозначать совокупность всех его симплексов размерности п.

Всюду далее Р - компактный трехмерный полиэдр в пространстве Rъ, дР - объединение

всех треугольников из Р, инцидентных не более чем одному трехмерному симплексу. Для удобства мы будем называть дР краем полиэдра Р, хотя обычно этот термин применяется только в ситуации, когда Р является многообразием. Символом Р3 обозначим объединение всех трехмерных симплексов полиэдра Р.

Теорема 1. Пусть К1,.,Кт - компоненты

сильной связности полиэдра Р3 и Qi = S3(Кг) для всех г е{1,...,т}. Тогда справедливы утверждения:

1. Q1,...,Qm - базис группы относительных гомологий Н3 (Р, дР) = 23 (Р, дР).

2. Для гомологической последовательности ... ^Н3(Р,дР)——^Н2(дР)—^

—^ Н2 (Р) ——^ Н2(Р, дР) ^... пары (Р, дР) имеет место равенство

шд.=(да,..., дQm)=2 т.

Доказательство. Согласно лемме 3.3 из [5] пространство R3 можно триангулировать так, чтобы полиэдр Р стал подполиэдром полиэдра R3.

Рассмотрим произвольный номер г е{1,...,т} и некоторый треугольник t едQi. Тогда найдется единственный инцидентный t трехмерный симплекс - тетраэдр ст3 е Qi. Так как t с Я3, а R3 - многообразие, то существует только один трехмерный симплекс ст. с Я3, инцидентный треугольнику t и отличный от ст3. Предположим, что ст. с Р . Тогда объединение К1 и ст3 лежит в Р3 и является сильно связным полиэдром. Это противоречит тому, что К1 - компонента сильной связности полиэдра Р3. Следовательно, наше допущение неверно и, на самом деле, ст3 <£. Р. Но тогда t сдР.

Результат предыдущего абзаца означает, что дQi е 22(дР). Согласно равенству dimдP = 2 в такой ситуации Qi = Qi + С3 (дР) е 2 3 (Р, дР).

Линейная независимость системы Q1,...,Ql очевидна, так как цепи Qi и QJ при г Ф } общих трехмерных симплексов не содержат.

Рассмотрим произвольный относительный цикл Q е 23(Р, дР). Так как dimдP = 2, то

Q е С3 (Р) и дQ е 22 (дР). Предположим, что пересечение Q п Qi содержит трехмерный симплекс ст3, но при этом цепь Qi не лежит в Q

целиком. Тогда найдется тетраэдр ст3 є Qi, который не лежит в Q. Так как полиэдр Кі сильно связен, то существует трехмерный путь X = {ст3,ст3,...,ст3} в Кі, такой, что ст0 =ст3, ст^ = ст3. Отметим, что по определению пути для любого номера j = 1,., 5 пересечение tJ = ст3_ п ст3 является треугольником. Поскольку ст0 є Q, а ст^ й Q, то найдется наибольший номер у , 0 < j < 5 , такой, что ст3_ є Q, а ст3 й Q. Таким образом, tj є дQ . Отсюда и из включения дQ є 22 (дР) следует, что tj є 22 (дР). С другой сторонні, треугольник t у инцидентен трехмерным симплексам ст и ст3 полиэдра Р и потому не

может быть краевым для Р . Полученное противоречие означает, что высказанное выше предположение неверно и, на самом деле, если Q п Qi содержит трехмерный симплекс, то Qi с Q . Отсюда вытекает существование таких і1,.,ік є є{1,..., m}, что Q = Q,1 +... + ^ .

Таким образом, Q1,...,Qm - базис группы 2 3(Р, дР) = Н 3(Р, дР).

Так как dimP = 3 , то по определению гомоморфизма д* : Н3(Р, дР) ——Н 2(дР) для всех і є{1,...,т} имеют место равенства д*(@і) = = дQi. Отсюда согласно доказанному выше вытекает, что образ ітд* порождается циклами дQ1,..., дQm . Кроме того, в силу равенства Н3(Р) = 0 и точности последовательности (1) кегд* = у* (Н3 (Р)) = 0 . Следовательно, циклы дQ1,..., дQm линейно независимы, и потому (дQ1,..., дQm) = 2т. Теорема доказана.

Теорема 2. Включение і2 :(дQ1,...,дQm) — — Н2(дР) и гомоморфизм і* из (1) образуют короткую точную последовательность

0 — (дй,..., д0„) —-— (2)

—-— Н 2(дР) —-— Н2(Р) — 0.

Доказательство. Точность в первых двух членах последовательности вытекает из второго утверждения теоремы 1. Для доказательства точности в последнем члене достаточно показать, что гомоморфизм у* из (1) равен нулю.

Рассмотрим произвольный элемент [х] є Н2(Р). Так как х є 22(Р) с 22^3), то найдется цепь с є С3 ^3) с границей дс = х.

Пусть сР = с п 5 3(Р) и с' = сР + с . Тогда, с одной стороны, цикл у = дс' лежит на крае дР. С другой стороны, х + у = дс + дс' = дсР , и потому [х] = [у] в Н2(Р). В такой ситуации у* ([х]) = = У* ([ у]) = 0 в Н 2 (Р, дР). Теорема доказана.

По теореме о гомоморфизмах групп из теоремы 2 вытекает, что

Н 2 (р)=Н 2 (дР)/(з&,..., ад„).

Алгоритм и его обоснование

Для решения поставленной задачи на вход алгоритма должны подаваться следующие данные:

1. Списки ребер Е, треугольников Т и тетраэдров W полиэдра Р.

2. Для каждого ребра а є Е и треугольника t єТ списки д_(а) с Т и д_^) с W инцидентных им симплексов полиэдра Р размерностей 2 и 3 соответственно.

На выходе будет получен список 2 двумерных циклов полиэдра Р.

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

Шаг 1. Найдем край дР и его компоненты сильной связности D1,..., Dn.

Шаг 2. С помощью алгоритма из [4] в каждой компоненте Di, і = 1,..., п, получим циклы

х0,х1,...,хГ, любые г из которых образуют базис группы Н 2Щ.).

Шаг 3. Построим объединение Р3 всех трехмерных симплексов полиэдра Р и выделим компоненты сильной связности К1,.,Кт под-полиэдра Р3 с Р .

Шаг 4. Для каждого к = 1,...,т найдем компоненты сильной связности 1?к, 1)к,...,Lpkk края дКк и в списке X = {хі \і = 1,...,п;у = 0, 1,...,гі} пометим один элемент, совпадающий с циклом

У0 = 5 2( ^к).

Шаг 5. Для каждого і = 1,...,п из списка Xі = {х{ \ і = 0, 1,...,гі} удалим один непомеченный цикл. Полученный список обозначим символом X*.

Шаг 6. Из объединения X* = X* и... и X** удалим все помеченные циклы. Полученный список обозначим буквой 2 .

Теорема 3. Гомологические классы найденных с помощью алгоритма циклов из списка 2 образуют базис группы гомологий Н2 (Р).

Доказательство. Сначала отметим, что использованный выше алгоритм из [4] основан на

теореме Александера-Понтрягина. Поэтому найденные с его помощью циклы из списка X представляют собой границы областей, на которые поверхность дР делит пространство Я3. Отсюда следует, что все циклы Укк = 5 \Ь<кк), ]к = 0, 1,...,рк, к = 1,...,т, принадлежат X . Таким образом, шаг 4 алгоритма настоящей работы определен корректно.

По построению циклы из списка X образуют базис группы Н2 (дР). В частности,

гапкН2 (дР) = cardX*.

Пусть ук = дQk для к = 1,...,т . Тогда согласно теореме 2

гапкН 2 (Р) = гапкН 2 (дР) - гапЦ у1,..., ут}

и

гапк( У! , ., Ут) = т .

Из полученных равенств вытекает, что гапкН2(Р) = cardX* - т . Так как список 2 получен из X* удалением циклов у°,...,у°т, то

cardX* - т = cardZ. Следовательно,

гапкН 2 (Р) = cardZ. (3)

Допустим, что гомологические классы в полиэдре Р циклов из списка 2 линейно зависимы. Тогда найдутся циклы z1,...,zl е 2 , для которых сумма z = z1 +... + zl гомологична нулю. Согласно точности последовательности (2) это возможно в том и только том случае, если z е(у1,.,ут). В такой ситуации с точностью до нумерации элементов списка {у1,., ут } для некоторого q < т имеет место равенство

г = у +... + уд. (4)

Поскольку ,г1 е2 сX , то равенство

z = +... + представляет собой разложение

цикла г по базису X* группы Н2(дР). При этом согласно шагам 4 и 6 алгоритма Ф у0

для всех i = 1,...,I .

С другой стороны,

Рр' Рд ^

у+...+уд=Е у^1 +...+Е у«ч,

Л=0 jq=0

где укк = 51(Ь’кк) для всех к = 1,..., т и ]к = 0, 1,.,рк. Поэтому разложение правой части равенства (4) по базису X группы Н 2(дР) цикл у0 содержит.

Полученное противоречие означает, что наше допущение неверно и на самом деле гомологические классы циклов из списка 2 линейно независимы. Но тогда в силу (3) они образуют базис группы Н2 (Р). Теорема доказана.

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

Пусть пЕ, пТ и пж - количества ребер, треугольников и тетраэдров полиэдра Р соответственно. Для каждого т = 1,...,6 символом Ит обозначим число операций, выполняемых на шаге с номером т .

Оценим величины Ит и просуммируем, чтобы получить итоговое время работы алгоритма.

При построении края дР для каждого треугольника t еТ необходимо сравнить размер списка д-1^) с единицей. На это потребуется 0(пТ) операций. Выделение компонент сильной связности полиэдра дР является процедурой, аналогичной обходу графа со списком вершин V = 5'(дР) и списком ребер Е0 = 52(дР). Очевидно, cardF0 < пЕ и cardE0 < пТ . Поэтому в худшем случае указанная процедура может быть выполнена за время 0(пЕ + пТ) [6]. В итоге N = 0(пЕ +пТ).

Применяемый на шаге 2 алгоритм имеет сложность #2 = 0(пТГ) [4].

Объединение Р3 содержит не более чем пТ

треугольников и не более чем пж тетраэдров. Алгоритм выделения его компонент сильной связности на шаге 3 справится со своей задачей за время И3 = 0(пТ + п№).

Пусть Ек и Тк - списки ребер и треугольников поверхности дКк, к = 1,., т . Для выделения ее компонент сильной связности потребуется 0(пЕк + пТ ) действий, где пЕ = cardEk и

пТ = cardTk. Найти элемент у° в списке X = {xJi\i = 1,...,п;у = 0,1,...,г} можно за время 0(г1 +... +гп+п). Так как пЕ + ... + пЕ^ < пЕ ,

nTi +... + nT^ < nT и r + ... + rm + n < nT , то N4 = O(nE + mnT).

Поскольку cardX1 + . + cardXn < nT и cardX* < nT, то для выполнения преобразований списков Xt и X , предусмотренных шагами 5 и 6, достаточно N5 = N6 = O(nT) элементарных операций.

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

Теорема 4. Базис группы двумерных гомологий подполиэдра P с R3 с помощью описанного выше алгоритма может быть найден, в наихудшем случае, за время O(n*), где n* = = max{nE, nT, nW }.

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

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

1. Зейферт Г., Трельфалль В. Топология. Ижевск: НИЦ РХД, 2001. 448 с.

2. Dey T.K., Guha S. Computing homology groups

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

of simplicial complexes in R3 // Journal of the ACM. 1998. V. 45. № 2. P. 266-287.

3. Яковлев Е.И. Вычислительная топология. Н. Новгород: Изд-во ННГУ, 2005. 214 с.

4. Яковлев Е.И., Ценова А.А. Алгоритм вычисления базисов групп двумерных гомологий разветвленных триангулированных поверхностей // Труды Нижегородского государственного технического университета им. Р.Е. Алексеева. 2012. № 2(95). С. 331-338.

5. Рурк К., Сандерсон Б. Введение в кусочно линейную топологию. М.: Мир, 1974. 208 с.

6. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. М.: МЦНМО, 2001. 960 с.

A COMPUTING ALGORITHM FOR TWO-DIMENSIONAL BASIC CYCLES OF POLYHEDRONS

IN THE THREE-DIMENSIONAL SPACE

E.I. Yakovlev, A.A. Tsenova, V.Yu. Epifanov

A new method for computing the bases of two-dimensional homology groups of polyhedrons in the threedimensional space has been developed. Its idea goes back to the Alexander-Pontryagin theorem. In contrast to the standard approach, our algorithm does not use matrices. Moreover, the basic cycles found with the use of this approach have a clear geometrical meaning.

Keywords: simplex, polyhedron, homology group, algorithm.

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