Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: XV Международной научно-практической конференции «Естественные и математические науки в современном мире» (Россия, г. Новосибирск, 05 февраля 2014 г.)

Наука: Информационные технологии

Секция: Математическое моделирование, численные методы и комплексы программ

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Галанин А.В. АЛГОРИТМЫ И ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ ТОПОЛОГИЧЕСКОГО АНАЛИЗА КОМПЬЮТЕРНЫХ МОДЕЛЕЙ // Естественные и математические науки в современном мире: сб. ст. по матер. XV междунар. науч.-практ. конф. № 2(14). – Новосибирск: СибАК, 2014.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов
Статья опубликована в рамках:
 
Выходные данные сборника:


 


АЛГОРИТМЫ  И  ПРОГРАММНЫЙ  КОМПЛЕКС  ДЛЯ  ТОПОЛОГИЧЕСКОГО  АНАЛИЗА  КОМПЬЮТЕРНЫХ  МОДЕЛЕЙ


Галанин  Александр  Владимирович


аспирант,  Нижегородский  Государственный  Университет  им.  Н.И.  Лобачевского,  РФ,  г.  Нижний  Новгород


E-mail:  al@galanin.nnov.ru


 


ALGORITHMS  AND  SOFTWARE  SUITE  FOR  TOPOLOGICAL  ANALYSIS  OF  COMPUTER  MODELS


Galanin  Alexander


graduate  student,  Lobachevsky  State  University  of  Nizhni  Novgorod,  Russia,  Nizhy  Novgorod


 


АННОТАЦИЯ


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


ABSTRACT


This  article  describes  algorithms  and  software  complex  for  solving  problems  of  computational  topology.  Basic  attention  is  given  to  path  minimization  problem  in  a  given  homology  class  of  homology  group  .


 


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


Keywords:  simplex;  polyhedron;  homology  group;  algorithm;  minimization;  topological  noise.


 


Рассматриваемые  объекты


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


В  топологии  триангулированные  объекты  называются  полиэдрами.  В  настоящей  работе  рассматриваются  компактные  двумерные  полиэдры  трехмерного  евклидова  пространства  .  Каждый  такой  полиэдр  P  является  объединением  конечного  множества  симплексов  размерностей  n  =  0,1,2.  Поэтому  он  задается  списком  вершин  (нульмерных  симплексов)  V,  списком  ребер  (одномерных  симплексов)  E,  списком  треугольников  (двумерных  симплексов)  T,  а  также  списком  троек  действительных  чисел,  являющихся  координатами  соответствующих  вершин  в  пространстве  .  Первые  три  списка  (без  координат  вершин)  образуют  симплициальную  схему  полиэдра.


Программный  комплекс


Для  решения  задач  вычислительной  топологии  при  участии  автора  данной  работы  создан  программный  комплекс  TSL.  Комплексом  поддерживаются  следующие  основные  форматы  моделей:


·     AF:  формат  трёхмерных  моделей  программы  3DPlus;


·     VRML  1.0:  Virtual  Reality  Modeling  Language  —  cтандартизированный  формат  файлов  для  демонстрации  трёхмерной  интерактивной  векторной  графики;


·     STL:  разработан  для  нужд  стереолитографии  и  предназначен  для  представления  трёхмерных  моделей.  Он  включает  в  себя  описание  треугольников,  из  которых  состоит  поверхность  объекта.


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


Основные  задачи,  решаемые  с  помощью  программного  комплекса:


·     Коллапсирование  в  размерностях  1  и  2.


·     Поиск  особенностей  двумерных  полиэдров.


·     Исследование  2-многообразий  на  ориентируемость.


·     Нахождение  базисных  циклов  графов.


·     Вычисление  базисов  групп  симплициальных  гомологий  по  модулю  2  для  двумерных  многообразий  и  псевдомногообразий  без  применения  матриц  инциденций.


·     Вычисление  базисов  групп  гомологий  для  разветвленных  поверхностей.


·     Индексация  ребер  2-многообразия  относительно  1-цикла  и  построение  индексной  вектор-функции  [2]  относительно  заданного  базиса  группы  одномерных  гомологий.


·     Вычисление  индексов  пересечения  1-циклов  двумерного  многообразия.


·     Поиск  минимального  пути  с  заданным  индексом,  соединяющего  фиксированные  вершины  полиэдра.


·     Минимизация  одномерных  путей  и  циклов  в  их  классах  гомологий.


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


Алгоритмы  минимизации  в  заданных  классах  гомологий


Наиболее  трудоёмкими  из  вышеприведенного  списка  являются  задачи  нахождения  минимальных  представителей  в  заданных  классах  одномерных  гомологий.  Сформулируем  одну  из  них  более  точно.


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


Для  решения  этой  задачи  в  [3]  предложен  следующий  метод.  Сначала  вычисляется  базис  группы  гомологий  по  модулю  2    и  строится  индексная  вектор-функция    относительно  этого  базиса.  Затем  для    строится  накрывающий  полиэдр  .  Его  вершинами  являются  пары  ,  состоящие  из  вершин    исходного  полиэдра    и  векторов  ,  где    —  ранг  группы  .  Кроме  того,  для  любого  пути  ,  соединяющего  вершины  ,  накрывающие  пути  соединяют  вершины  ,  удовлетворяющие  равенству  .  Далее  применяется  алгоритм  Дейкстры  (см.  [1])  для  поиска  пути  с  минимальным  весом  на  накрывающем  полиэдре  .  При  этом  в  качестве  начальной  точки  на    выбирается  пара  ,  а  в  качестве  конечной  —  пара  .  Наконец,  полученный  путь  проектируется  на  исходный  полиэдр  .


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


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


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


К  графу    применим  указанный  метод  и  получим  новый  алгоритм  минимизации  пути  в  его  классе  гомологий.  Он  состоит  из  следующих  процедур:


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


2.  Вычисление  индексной  вектор-функции    относительно  базиса  .


3.  Построение  мультиграфа  .


4.  Построение  накрытия    с  помощью  вектор-функции  .


5.  Поиск  пути    с  минимальным  весом  ,  на  накрывающем  графе  ,  соединяющий  вершины    и  .


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


7.  Восстановление  соответствующего    пути    на  .


Оценка  алгоритмической  сложности


Введём  обозначения:  ,  где    —  количество  симплексов  размерности  i  в  исходном  полиэдре;  .  При  построении  графа    для  каждой  вершины    используется  алгоритм  Дейкстры  для  графа    c  N0  вершинами  и  N1  рёбрами,  сложность  которого    [1].  Следовательно,  шаг  3  алгоритма  имеет  сложность


 


,                                          (1)


 


так  как  .


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


 


,              (2)


 


так  как  по  построению    и  .


Вычисление  базиса  группы    и  индексация  относительно  него  могут  быть  выполнены  с  помощью  алгоритмов,  разработанных  в  [2]  и  [4].  Первый  из  них  имеет  сложность  ,  а  второй  —  .  Остальные  шаги  в  силу  их  простоты  на  окончательную  оценку  сложности  алгоритма  повлиять  не  могут.


Отсюда,  из  (1)  и  (2)  получаем  сложность


 


.


 


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


Некоторые  приложения


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


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


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


 


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


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


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


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


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.  —  Vol.  31.  —  №  4.  —  P.  555—570.

Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.