МАТЕМАТИКА
УДК 515.14+519.6
АЛГОРИТМ ДЛЯ ВЫЧИСЛЕНИЯ ДВУМЕРНЫХ БАЗИСНЫХ ЦИКЛОВ ПОЛИЭДРОВ ТРЕХМЕРНОГО ПРОСТРАНСТВА
© 2013 г. Е.И. Яковлев, А.А. Ценова, В.Ю. Епифанов
Нижегородский госуниверситет им. Н.И. Лобачевского
Поступила з редакцию 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
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.