Введение

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

Алгоритмическая теория 3-многообразия

Большое семейство алгоритмов, связанных с 3-многообразиями, строится вокруг теории нормальных поверхностей, которая объединяет несколько методов сведения задач теории 3-многообразий к задачам целочисленного линейного программирования. Алгоритм распознавания 3-сферы Рубинштейна и Томпсона – это алгоритм, принимающий на вход триангулированное 3-многообразие и определяющий, гомеоморфно ли оно 3-сфере. Его время работы экспоненциально зависит от числа тетраэдрических симплексов в исходном 3-многообразии, а также имеет экспоненциальный объем используемой памяти. Кроме того, он реализован в программном пакете Regina. Саул Шлеймер показал, что эта задача принадлежит классу сложности NP. Рафаэль Зентнер, в свою очередь, доказал, что задача принадлежит классу сложности coNP при условии справедливости обобщенной гипотезы Римана. В своей работе он использует инстантную калибровочную теорию, теорему геометризации 3-многообразий и последующие работы Грега Куперберга о сложности определения заузленности. Разложение на связную сумму 3-многообразий также реализовано в Regina, имеет экспоненциальное время работы и основано на алгоритме, аналогичном алгоритму распознавания 3-сферы. Алгоритмическая реализация определения отсутствия несжимаемой поверхности в 3-многообразии Зейферта-Вебера была выполнена Бертоном, Рубинштейном и Тиллманом на основе теории нормальных поверхностей. Алгоритм Мэннинга предназначен для поиска гиперболических структур на 3-многообразиях, фундаментальная группа которых имеет решение задачи о слове. В настоящее время алгоритмическая реализация разложения JSJ и разложения на тела сжатия в компьютерном программном обеспечении отсутствует. Однако существуют весьма популярные и эффективные эвристики, такие как SnapPea, успешно вычисляющие приближенные гиперболические структуры на триангулированных 3-многообразиях. Известно, что полная классификация 3-многообразий может быть выполнена алгоритмически, и, более того, известно, что определение эквивалентности (гомеоморфности) двух замкнутых ориентированных 3-многообразий, заданных триангуляциями (симплексными комплексами), является элементарно рекурсивной задачей. Это обобщает результат о распознавании 3-сферы.

Алгоритмы преобразования

SnapPea реализует алгоритм для преобразования плоской схемы узла или зацепления в куспидную триангуляцию. Этот алгоритм имеет приблизительно линейное время работы в зависимости от числа пересечений на схеме и характеризуется небольшим объемом используемой памяти. Алгоритм аналогичен алгоритму Виртингера для построения презентаций фундаментальной группы дополнений зацеплений, заданных плоскими схемами. Аналогично, SnapPea может преобразовывать хирургические презентации 3-многообразий в триангуляции представленных 3-многообразий. Д. Терстон и Ф. Костандино разработали процедуру построения триангулированного 4-многообразия из триангулированного 3-многообразия. Аналогичным образом, её можно использовать для построения хирургических презентаций триангулированных 3-многообразий, хотя процедура явно не оформлена в виде алгоритма, но в принципе должна иметь полиномиальное время работы в зависимости от числа тетраэдров заданной триангуляции 3-многообразия. С. Шлеймер разработал алгоритм, который генерирует триангулированное 3-многообразие, принимая на вход слово (в генераторах скрутки Дена) для группы класса отображений поверхности. 3-многообразие определяется словом, используемым в качестве прикрепляющей карты для расщепления Хигарда этого 3-многообразия. Алгоритм основан на концепции слоистой триангуляции.

Теория алгоритмических узлов

Определение того, является ли узел тривиальным, известно как принадлежащее классам сложности NP и co NP. Задача определения рода узла имеет класс сложности PSPACE. Полином Джонса, полином HOMFLY и инварианты Решетихина–Тураева допускают отслеживание с фиксированными параметрами, при этом полином Джонса также известен как #P-трудный. Вычисление первого коэффициента полинома HOMFLYPT и полинома Кауфмана находится в классе P. Аппроксимация полинома Джонса с суммированием является BQP-полной, то есть по сложности эквивалентна квантовым алгоритмам с полиномиальным временем работы. Установление эквивалентности двух (управляемых) узлов по их диаграммам связей является задачей класса ER. Это устанавливается путем сведения задачи эквивалентности узлов (изотопии) к задаче эквивалентности (гомеоморфизма) соответствующих узловых дополнений, которые являются трехмерными многообразиями и могут быть закодированы триангуляциями. Поскольку эти узловые дополнения являются многообразиями Хакена, используется результат о том, что задача эквивалентности этих многообразий принадлежит классу ER. Кажется, не существует общедоступной ссылки на этот результат; эти результаты разбросаны по литературе в данной области, но хорошо известны специалистам.

Вычислительная гомотопия

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

Вычислительная гомология

Вычисление гомологических групп клеточных комплексов сводится к приведению граничных матриц к нормальной форме Смита. Хотя это алгоритмически полностью решенная задача, существуют различные технические препятствия для эффективных вычислений с большими комплексами. Существует два основных препятствия. Во-первых, базовая версия алгоритма приведения к нормальной форме Смита имеет кубическую сложность относительно размера матрицы, поскольку использует элементарные преобразования строк и столбцов, что делает его непригодным для работы с большими клеточными комплексами. Во-вторых, промежуточные матрицы, возникающие в процессе применения алгоритма приведения к нормальной форме Смита, становятся плотными, даже если исходные и конечные матрицы являются разреженными. Эффективные и вероятностные алгоритмы приведения к нормальной форме Смита доступны в библиотеке LinBox. Простые гомотопические редукции для предварительной обработки при вычислении гомологий, реализованные в программном пакете Perseus. Алгоритмы для вычисления устойчивой гомологии фильтрованных комплексов, реализованные в пакете TDAstats для R.