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

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

CC BY
142
33
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТРИАНГУЛЯЦИЯ / СИМПЛЕКС / ОЦЕНКА ОБЪЕМА ПАМЯТИ / ЧИСЛО ТРИАНГУЛЯЦИЙ / ЧИСЛО КАТАЛАНА / TRIANGULATION / SIMPLEX / MEMORY VOLUME ESTIMATE / NUMBER OF TRIANGULATIONS / CATALAN NUMBER

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

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

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

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

© Клячин В.А., Попов В.В., 2013

ПРИКЛАДНАЯ МАТЕМАТИКА

УДК 517.518.85+517.27 ББК 22.161.6

МЕТОД ЦЕПЕЙ ДЛЯ ОРГАНИЗАЦИИ ХРАНЕНИЯ

__ _ _ О

МНОГОМЕРНЫХ ТРИАНГУЛЯЦИЙ 1

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

Доктор физико-математических наук,

заведующий кафедрой компьютерных наук и экспериментальной математики

Волгоградского государственного университета

[email protected]

Проспект Университетский, 100, 400062 г. Волгоград, Российская Федерация

Попов Владимир Валентинович

Кандидат физико-математических наук,

доцент кафедры компьютерных наук и экспериментальной математики Волгоградского государственного университета [email protected]

Проспект Университетский, 100, 400062 г. Волгоград, Российская Федерация

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

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

О способах записи триангуляции

В настоящей статье под ^-мерным симплексом $ в М™ мы понимаем выпуклую оболочку к + 1 точек Аі, і = 0,..., к < п таких, что векторы Аі — А0,А2 — А0, ...,А^ — А0 линейно независимы. Пусть рі,і = 1,...,М — некоторый набор точек р^ є М™ таких, что любой симплекс в вершинах из {рі} является невырожденным. Триангуляцией Т заданного набора точек называется такой набор п-мерных симплексов 5'і,...,5'т, что:

1) каждая точка Рг заданного набора является вершиной одного из симплексов

5 е Т;

2) каждая вершина любого симплекса Б е Т является одной из точек рг,{ = = 1,...,М;

3) внутренность пересечения любых двух симплексов пуста.

Один из первых алгоритмов триангуляции с использованием условия пустого шара был предложен Б.Н. Делоне в его работе [5] (перевод см.: [1]).

Нас будет интересовать вопрос об оценке объема памяти, необходимой для хранения триангуляции заданного набора точек. Отметим работу [4], в которой решается подобная задача для случая размерности п = 2. Объем памяти будем вычислять в битах. С этой целью введем функцию Ь(х), равную минимальному числу бит, необходимому для записи натурального числа х е N в двоичной системе счисления. Очевидно, что

Ь(х) = [1о§2 х] + 1.

Формально постановка задачи следующая. Обозначим через V(Р) совокупность всех триангуляций набора точек Р = {р1,р2, ...,ри}. Тогда под способом записи триангуляции Т мы понимаем отображение

f : у(Р) ^ н,

которое всякой триангуляции ставит в соответствие натуральное число. Причем, мы предполагаем, что отображение обладает свойством

УР1 = Р" е V(Р) ^ /(Р!) = /(Р").

Тогда величину

V(/) = тахТеУ (JР)Ь(/(Т))

можно считать мерой объема памяти, необходимой для запоминания триангуляции Т при заданном способе хранения /. Приведем примеры.

Пример 1. Один из стандартных способов (см., например, [2]) хранения триангуляции состоит в том, что каждому симплексу Бг е Т сопоставляется набор из (п + 1) натурального числа Пг0,Пг1, ...,щп, такой, что

Бг = С°ПУ {Рщо , Рпц ,...,Рщп }.

Значит, для такого способа записи одного симплекса понадобится (п + 1)Ь(М) бит, а для всей триангуляции получим величину т(п + 1)Ь(М). В этом примере конструкция отображения / следующая. Значение /(Т) — это натуральное число, в двоичной системе записи которого первые Ь(М) бит занимает число п10, вторые Ь(М) бит — п11 и т. д. Другими словами, матрицу натуральных чисел \\nij ||, г = 1,...^, ] = 0,...,п записываем в итоговое число построчно. Полученное натуральное число /(Т) будет в памяти занимать т(п + 1)Ь(М) бит. Обозначим построенное отображение в этом примере через /о. Заметим, что

т М/о) ,

11Ш —-----— = п +1.

Nm1og2 N

Мы предлагаем конструкцию построения отображения /, для которого

11ш = 1. (1)

Nm1og2N

Для ее описания нам понадобится понятие цепи. Цепью С в заданной триангуляции Т € V(Р) мы назовем совокупность различных симплексов S\, S2,..., Sk, такую, что для любого г = 2,..., к симплексы Si-\ и Si имеют единственную общую (п — 1)-мерную грань. Число к называется длиной цепи С. Предположим, что триангуляция Т € V(Р) разбита на непересекающиеся цепи С\,...,СР длины 1\,...,1Р соответственно. Пусть С — некоторая цепь. Построим последовательность натуральных чисел

П10,П11, ..., П\п, Х\,П2,Х2 ,Пз, ...,хк-1,пк ,хк, (2)

где пю,пц,..., п1п — номера вершин в диапазоне 1, 2,...,N первого симплекса цепи, Х\ — номер в диапазоне 0,1,...,п вершины первого симплекса, напротив которого расположена общая грань со вторым симплексом, п2 — номер вершины второго симплекса, расположенной напротив общей грани с первым симплексом, и т. д. Причем хк всегда равно п +1. Это число нам необходимо для указания конца цепи в последующих построениях. Несложно подсчитать, что для записи всей этой последовательности чисел понадобится (п + k)b(N) + кЪ(п + 1) бит. Так что для каждой цепи Ci мы получим запись длины (п + li)b(N) + lib(n + 1). Суммируя по всем цепям и используя равенство

р

y^Ji = m,

i=l

получим, что для всей записи симплексов триангуляции Т € V(Р) будет затрачено (рп + m)b(N)+ mb(n + 1) бит. Конструкция отображения f сводится к упаковке последовательностей вида (2) в одно двоичное число, содержащее ровно (pn+m)b(N)+mb(n+1) бит. Следовательно, для нашего отображения f получаем

М/) = (Рп + m)b(N) + mb(n + 1).

Поэтому

y(f) (рп + m)b(N)+ mb(n + 1)

lim —-----— = lim -----------------—---------= 1,

nmlog2^ nmlog2^

при условии p = o(m), N ^ ж, что предполагает неограниченное и равномерное увеличение длины цепей при N ^ ж. На самом деле это условие несущественно, поскольку небольшие перестройки триангуляции позволяют записать ее в виде одной цепи. Однако представление триангуляции в виде одной цепи не разумно с точки зрения временных затрат на доступ к отдельному симплексу. Действительно, предложенная нами конструкция, скажем, в отличие от отображения f0 примера 1, не позволяет осуществить прямой доступ к любому симплексу, поскольку номера вершин формируются динамически — в процессе побитового чтения числа f(Т). При этом, чем длиннее цепь, тем она более затратней для чтения. Попытаемся найти оптимальное значение для количества цепей в триангуляции. Для этого составим целевую функцию. Пусть с\ — стоимость единицы одной операции доступа к памяти, с2 — стоимость одного бита памяти. Средняя длина цепи равна m/р, соответственно среднее число операций чтения равно т/2р. Получаем следующее выражение для целевой функции

F (р) = с\-+ с2(рп + m)b(N) + mb(n + 1).

Исследуя эту функцию на минимум, получим оптимальное значение для числа цепей

£

сг т

Р

с2 2пЬ(М)'

В этом случае

) = А — тпЪШ) + тЬ(М) + тЬ(п + 1).

V ^2

Так что и в оптимальном случае

тпЬ(М) + тЬ(М)+ тЬ(п + 1)

Пт — ----— = Пт -------------- ---—-----------= 1.

NmЮg2N Nm1og2N

Зададимся вопросом, насколько предложенный метод является наилучшим способом записи триангуляции. С этой целью необходимо получить нижние оценки величины ), независящие от /. Пусть К = IV(Р)| обозначает мощность множества V(Р), то есть равно количеству триангуляций набора точек Р. Несложно проверить, что

М/) > [1^2К] + 1

Действительно, поскольку отображение / взаимно-однозначно, то мощность множества значений / равно мощности множества области определения, то есть в нашем случае эта мощность равна К. Это требует как минимум К натуральных чисел для идентификации каждой триангуляции. Для записи такого числа необходимо как минимум [^2 К ] + 1 бит.

Пример 2. Рассмотрим набор точек в М2 с координатами рм = (г,0) и рц(1,1), где г = 0,1,...,п. Так что N = 2(п + 1). Триангуляцию будем строить так. Возьмем ребро Р00Р01. Для получения треугольника у нас два варианта: либо точка рг0, либо точка рц. Выберем какую-нибудь из них. Допустим, это точка рю. Для получения следующего треугольника у нас опять два варианта: либо точка р20, либо точка рц. Заметим, что во всех вариантах у нас будут две точки: одна на верхнем ряду, другая — на нижнем. Теперь отображение / можно построить так. Каждой триангуляции необходимо поставить в соответствие двоичное число длины 2п бит, в котором число единиц равно числу нулей. Единицы соответствуют выбору точки из верхнего ряда, а нули — из нижнего ряда. Так что всего комбинаций получается С%п. Согласно формуле Стирлинга С%п = о(4га). Отсюда получаем оценку для числа триангуляций К = о(4га), что, в свою очередь, учитывая, что число треугольников т = 2п, дает нулевое значение в пределе вида (1).

Пример 3. Рассмотрим N = п + 2 точки, лежащие в вершинах выпуклого N -угольника. Число триангуляций вершин выпуклого многоугольника дается числом Ка-талана (см., например, [7])

1

п = _____________П'

п +1

<п

2п'

Так что в этом случае р,(/) = о(4п) и мы получаем, как и в предыдущем примере,

11т = 0. (3)

Nm1og2N

Оказывается, что эти примеры носят более общий характер. Именно в работах [3; 6; 8-11] было показано, что найдется абсолютная постоянная с, независящая от набора точек и его мощности N, что число триангуляций не превосходит см. Наилучшая

на данный момент константа с = 43 была найдена в работе [10]. Следовательно, можно надеяться на существование такого способа записи триангуляции, при котором число бит растет линейно при N ^ ж. Ну и, в частности, будет выполнено (3).

Триангуляции многоугольника на плоскости

Пусть Р — многоугольник на плоскости и Б = [рі,р2,... ,Рм} — такой набор точек плоскости, который включает все вершины многоугольника Р, причем каждая точка Рг является или вершиной, или внутренней точкой Р. Необходимо перечислить все триангуляции многоугольника Р, вершинами которой являются точки множества Б. Не теряя общности, считаем, что отрезок р1р2 является стороной многоугольника Р.

Обозначения:

Триангуляция Т будет состоять из треугольников Д1, Д2, ..., Дт (т — общее число треугольников в триангуляции).

Вершинами треугольника Дк служат точки множества Б с порядковыми номерами

п1[к], п2[к] и п3[к].

к — порядковый номер строящегося треугольника из триангуляции Т. В начале построения к =1.

Треугольник строим следующим образом: к отрезку с порядковыми номерами точек п1[к], п2[к] («активная сторона строящегося треугольника Дк») пытаемся подобрать вершину с порядковым номером п3[к] (если такая вершина существует) из того же множества Б, и полученный треугольник Дк будет включен в строющуюся триангуляцию Т. После этого ребро с концами п1[к], п3[к] будет принято за активную сторону треугольника Дк+1, а ребро с концами п2[к], п3[к] («свободное ребро») будет запомнено и в дальнейшем может быть использовано как активное ребро для построения треугольника Ді при некотором г > к + 1 (если в этом возникнет необходимость).

Триангуляции многоугольника на плоскости

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

Обозначения:

Очередная триангуляция Т будет состоять из треугольников Д1, Д2, ..., Дт, где т — общее число треугольников в триангуляции (оно одинаково для любой триангуляции). Это число будет найдено после построения первой триангуляции. В начале работы алгоритма полагаем т = 0. Вершинами треугольника Дк служат точки множества с порядковыми номерами п1[к], п2[к] и п3[к].

к — порядковый номер строящегося треугольника из триангуляции Т. В начале построения к =1.

Через 0(г1,г2,г3) будем обозначать треугольник с номерами вершин г1, і2, г3. Пусть к > 1 и треугольники Д1, Д2, ..., Дк-1 уже построены. Пусть г1, і2, г3 — целые числа от 1 до п. Тогда через /(і1,і2,і3) будем обозначать такое наименьшее целое число і, что і3 <3 < п и треугольник П(і1,і2^) можно добавить к последовательности Д1, Д2, ..., Дк-1, то есть он удовлетворяет следующим условиям:

(а) В(і1,і2^) не содержит точек множества Б, отличных от вершин этого треугольника;

(Ь) треугольник П(г1,г2^) не имеет общих внутренних точек ни с одним из треугольников Дь Д2, ..., Дк-\ (но может иметь общую вершину или общую сторону).

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

Если числа j с перечисленными свойствами не существует, то полагаем f (1\,12,13) =

= 0.

Определим функцию f (ч,12,13) и при к = 1. А именно, f (г\,12,13) — это наименьшее целое число от 1 до п, которое больше г3, и для которого треугольник 0(г\,г2,]) удовлетворяет условию (а). Если такого ] не существует, то полагаем /(1\,12,13) = 0.

В процессе работы алгоритма будут строиться также три одномерных массива д\[г}, д2Щ и }'г[1], где 1 < г < п. При построении треугольника Дк отрезок е», концами которого являются точки множества Б с порядковыми номерами дг[1] и д2[г], I = 1, 2,... ,к — 1, в дальнейшем может быть использован для построения треугольника Дt, где Ь > к. Отрезки содержатся в объединении границ треугольников Дг, Д2, ..., Дк-\ (е^ — «граничные отрезки»). Массив {'гЩ играет следующую роль: если = 0, то отрезок вг пока не использован для построения треугольника. Если же этот отрезок будет стороной некоторого треугольника Дt, Ь > 0, включенного в строящуюся триангуляцию, то fr[i] = г.

На множестве упорядоченных пар целых чисел рассматриваем обычный лексикографический порядок: если а,Ь,с^ — целые числа, то

(а, Ь) < (с, в) а < с или (а = с и Ь < д).

Алгоритм построения триангуляций

(1) Полагаем к = 1, пг[1] = 1, п2[1] = 2 (активная сторона треугольника Дг).

Триангуляция Т пока не содержит ни одного треугольника.

Полагаем т = 0 (число треугольников в триангуляции; оно будет определено после того, как будет построена первая триангуляция).

Полагаем Ыг = 0 — общее число триангуляций.

(2) Начинаем строить треугольник Дк (в этом пункте к > 1 — целое число). Полагаем п3[к] = 0.

(3) Полагаем j = /(п\[к],п2[к],п3[к]).

Если j = 0, то идем к пункту (5), если же j > 0, то идем к пункту (4).

(4) Принимаем за Дк треугольник 0(п\[к},п2[к\,]), где ] — число, найденное в пункте (3), и определяем новую активную сторону с номерами вершин пг[к] и п3[к]. Для этого полагаем

П3 [к] = j,

п\ [к + 1] = п\[к),

П2 [к + 1] = п3[к].

Сторону с номерами вершин п2[к] и п3[к] запоминаем как граничную сторону. Для этого полагаем

дг[к] = П2[к],

д2[к] = П3[к],

}г[к] = °.

Число к увеличиваем на 1.

Если т = 0, то идем к пункту (2).

Если т> 0 и к < т, то идем к пункту (2).

Если т> 0 и к > т, то идем к пункту (7) (очередная триангуляция построена).

(5) На этот пункт попадем, если ^ = 0 в пункте (3). Среди граничных сторон выбираем такую, которую можно принять за активную сторону. Для этого полагаем

Е = [1 : /(діЩ,д2Щ, 0) > 0, где 1 < I < к}.

Если множество Е пусто, то идем к пункту (6). Если же Е = 0, то за 10 принимаем такое число, что (д1[10],д2[/о]) — наименьший элемент множества Е (относительно введенного выше лексикографического порядка). После выбора 10 полагаем

пі[к] = ді[Іо],

П2[к] = д2[1о],

п3[к] = 0,

Ш = к.

Идем к пункту (3).

(6) На этот пункт попадем, если множество Е в пункте (5) пусто, то есть уже нет граничных ребер, которые можно принять за сторону строящегося треугольника. Это будет означать, что или построена очередная триангуляция, или зашли в тупик, или алгоритм завершил работу и все триангуляции уже перечислены. Действия в этом пункте таковы:

Если т = 0, то полагаем т = к — 1 и идем к пункту (7).

Если к = 0, то выдаем число Ыг найденных триангуляций и завершаем работу.

Если 1 < к < т, то к уменьшаем на 1 и идем к пункту (8).

(7) Построена очередная триангуляция. Выдаем список треугольников Д1, Д2,..., Дт.

Увеличиваем число Ыг (уже построенных триангуляций) на 1.

Переходим к построению очередной триангуляции. Для этого полагаем к = т —

— 1: в дальнейшем будем строить заново треугольник Дт-1. Тем самым мы удаляем два последних построенных треугольника Дт-1 и Дт (удаление только последнего треугольника не даст новой триангуляции).

(8) Начинаем заново строить треугольник Дк, а затем и все треугольники с большими номерами. При построении «старых» треугольников Дк, Дд^ и т. д. могли быть использованы граничные ребра д1[1], д2[/]. Теперь эти ребра снова должны стать граничными. Это достигается так: просматриваем массивы д1[1], д2[1], и если при некотором I верно 1 < I < к и ї'гЩ > к, то полагаем {'гЩ =0 — теперь при построении треугольника Д4, где і > к, сторону с номерами вершин д^_[1], д2[1] можно будет использовать при построении треугольников Д4, где і > к.

Полагаем j = f (п1[к],п2[к],п3[к]).

Если j > 0, то идем на пункт (3).

(В противном случае) к уменьшаем на 1.

Если к > 1, то идем на пункт (8).

Полагаем j = f (п1[к],п2[к],п3[к]).

Если j > 0, то идем на пункт (8).

(В противном случае) выдаем общее число Ыг найденных триангуляций и завершаем работу.

ПРИМЕЧАНИЕ

1 Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований, грант № 13-01-97034 р_поволжье_а.

СПИСОК ЛИТЕРАТУРЫ

1. Делоне, Б. Н. О пустой сфере. К мемуару Георгия Вороного / Б. Н. Делоне ; пер. с фр.: А. Ю. Игумнов // Записки семинара «Сверхмедленные процессы». — 2005. — Вып. 1. — C. 147-153.

2. Скворцов, А. В. Алгоритмы построения и анализа триангуляции / А. В. Скворцов,

Н. С. Мирза. — Томск : Изд-во Томск. ун-та, 2006. — 168 с.

3. Ajtai, M. Crossing-free subgraphs / M. Ajtai, V. Chvatal, M. M. Newborn, E. Szemeredi // Annals Discrete Math. — 1982. — № 12. — P. 9-12.

4. De Floriani, L. Compressing Triangulated Irregular Networks / L. De Floriani, P. Magillo, E. Puppo // Geoinformatica. — 2000. — V. 1, № 4. — P. 67-88.

5. Delaunay, B. N. Sur la sphere vide. A la memoire de Georges Voronoi / B. N. Delaunay // Изв. АН СССР. — 1934. — № 6. — C. 793-800.

6. Denny, M. O. Encoding a triangulation as a permutation of its point set / M. O. Denny, C. A. Sohler // Proc. 9th Canadian Conf. on Computational Geometry. — 1997. — P. 39-43.

7. Polya, G. On picture-writing / G. Polya // The American Mathematical Monthly. — 1956. — № 63. — P. 689-697.

8. Santos, F. A better upper bound on the number of triangulations of a planar point set / F. Santos, R. Seidel // J. Combinat. Theory, Ser. A. — 2003. — № 102. — P. 186-193.

9. Seidel, R. On the number of triangulations of planar point sets / R. Seidel // Combinatorica. — 1998. — № 18. — P. 297-299.

10. Sharir, M. Random triangulations of planar point sets / M. Sharir, E. Welzl // Proc. 22nd Ann. ACM Symp. on Computational Geometry. — 2006. — P. 273-281.

11. Smith, W. S. Studies in Computational Geometry Motivated by Mesh Generation: Ph.D. Thesis / W. S. Smith. — Princeton University, 1989. — 488 p.

REFERENCES

1. Delaunay B.N. O pustoy sfere. K memuaru Georgiya Voronogo [On an empty sphere. To memoir of Georgiy Voronoy]. Zapiski sеminara «Svеrkhmеdlеnnyе protsеssy» [Notes of Subslow Processes Seminar], 2005, issue 1, pp. 147-153.

2. Skvortsov A.V., Mirza N.S. Algoritmy postroеniya i analiza triangulyatsii [Algorithms for construction and analysis of triangulations]. Tomsk, Izd-vo Tomsk. un-ta Publ., 2006. 168 p.

3. Ajtai M., Chvatal V., Newborn M.M., Szemeredi E. Crossing-free subgraphs. Annals Discrete Math., 1982, no. 12, pp. 9-12.

4. De Floriani L., Magillo P., Puppo E. Compressing Triangulated Irregular Networks. Geoinformatica, 2000, vol. 1, no. 4, pp. 67-88.

5. Delaunay B.N. Sur la sphere vide. A la memoire de Georges Voronoi. Izv. AN SSSR [Izvestiya: Mathematics], 1934, no. 6, pp. 793-800.

6. Denny M.O., Sohler C.A. Encoding a triangulation as a permutation of its point set. Proc. 9th Canadian Conf. on Computational Geometry, 1997, pp. 39-43.

7. Polya G. On picture-writing. The American Mathematical Monthly, 1956, no. 63, pp. 689-697.

8. Santos F., Seidel R. A better upper bound on the number of triangulations of a planar point set. J. Combinat. Theory, Ser. A., 2003, no. 102, pp. 186-193.

9. Seidel R. On the number of triangulations of planar point sets. Combinatorica, 1998, no. 18, pp. 297-299.

10. Sharir M., Welzl E. Random triangulations of planar point sets. Proc. 22nd Ann. ACM Symp. on Computational Geometry, 2006, pp. 273-281.

11. Smith W.S. Studies in Computational Geometry Motivated by Mesh Generation: Ph.D. Thesis. Princeton University, 1989. 488 p.

CHAINS METHOD FOR STORAGE OF MULTIDIMENSIONAL TRIANGULATION

Klyachin Vladimir Ateksandrovich

Doctor of Physical and Mathematical Sciences,

Head of Department of Computer Science and Experimental Mathematics

Volgograd State University

[email protected]

Prospect Universitetsky, 100, 400062 Volgograd, Russian Federation

Popov Vladimir Va^^movich

Candidate of Physical and Mathematical Sciences,

Associate Professor, Department of Computer Science and Experimental Mathematics

Volgograd State University

[email protected]

Prospect Universitetsky, 100, 400062 Volgograd, Russian Federation

Abstract. This study is an attempt to obtain lower bounds for the amount of memory required to store the data of multi-dimensional triangulations. The author offers a method of organizing storage triangulation, allowing in n + 1 times to reduce the amount of memory in comparison with one of the standard methods. The essence of the method proposed by the author is the partitioning of the set of simplices in an array of chains adjacent simplices. Neighborhood relations can be written in a more compact structure of the triangulation. More accurately. If ) denotes the number of bits occupied by storage triangulation N points in Wn by one of the standard ways, then ^lim \ = n +1, where m

— number of simplexes. Whereas the proposed method of storage triangulation this limit is 1 for any dimension. To investigate the optimal method, the author formalises the problem and introduces the concept of triangulation as a way to store one-to-one mapping of the set of all triangulations of a set of points in R™ on the set of natural numbers N. Thus, the method of storage — a comparison of each triangulation identify the unique natural number. Study the accuracy of the asymptotic estimates leads to the problem of obtaining lower triangulations given set of points. This article discusses two examples where such a calculation is accurate. In both cases,there is the exponential growth for number of triangulations depended on the number of points. Reference to recent works by foreign mathematicians say about general behavior of the number of such triangulations in the plane. This allows the author to hypothesize the existence of such a storage method of triangulation, in which the memory capacity increases linearly with the number of points. In particular, we expect that the optimal value of the above limit is 0.

Key words: triangulation, simplex, memory volume estimate, number of triangulations, Catalan number.

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