4430
правок
Irina (обсуждение | вклад) |
Irina (обсуждение | вклад) мНет описания правки |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 59: | Строка 59: | ||
'''WSPD-граф''' | '''WSPD-граф''' | ||
Пусть A и B – два конечных множества точек в <math>\mathcal{R}^d</math>. Будем называть A и B ''значительно удаленными'' по отношению к вещественному числу s > 0, если существуют два непересекающихся шара <math>C_A \;</math> и <math>C_B \;</math> одного и того же радиуса, такие, что <math>C_A \;</math> содержит A, <math>C_B \;</math> содержит B, а расстояние между <math>C_A \;</math> и <math>C_B \;</math> по меньшей мере в s раз превышает радиус <math>C_A \;</math>. Значение s называется ''коэффициентом | Пусть A и B – два конечных множества точек в <math>\mathcal{R}^d</math>. Будем называть A и B ''значительно удаленными'' по отношению к вещественному числу s > 0, если существуют два непересекающихся шара <math>C_A \;</math> и <math>C_B \;</math> одного и того же радиуса, такие, что <math>C_A \;</math> содержит A, <math>C_B \;</math> содержит B, а расстояние между <math>C_A \;</math> и <math>C_B \;</math> по меньшей мере в s раз превышает радиус <math>C_A \;</math>. Значение s называется ''коэффициентом удаленности''. | ||
'''Определение 1 [6]'''. Пусть S – множество точек в пространстве <math>\mathcal{R}^d \;</math>, а s > 0 – вещественное число. ''Декомпозицией значительно | '''Определение 1 [6]'''. Пусть S – множество точек в пространстве <math>\mathcal{R}^d \;</math>, а s > 0 – вещественное число. ''Декомпозицией на значительно удаленные пары'' (well-separated pair decomposition, WSPD) для S относительно s является последовательность <math>\{ A_i, B_i \} , 1 \le i \le m \;</math>, пар непустых подмножеств S, таких, что: | ||
(1) <math>A_i \cap B_i = \empty \;</math> для всех i = 1, 2, ... , m; | (1) <math>A_i \cap B_i = \empty \;</math> для всех i = 1, 2, ... , m; | ||
Строка 71: | Строка 71: | ||
Декомпозицию значительно | Декомпозицию на значительно удаленные пары разработали Кэллахан и Косарайю [6]. Построение t-остова при помощи этого подхода начинается с построения WSPD-декомпозиции S относительно коэффициента удаленности s = (4(t + 1))/(t - 1). Вначале положим остовный граф равным <math>G = (S, \empty) \;</math> и будем итеративно добавлять ребра следующим образом. Для каждой значительно удаленной пары {A, B} из декомпозиции к графу добавляется ребро (a, b), где a и b – произвольные точки из A и B, соответственно. Полученный граф называется WSPD-графом на S. | ||
Строка 111: | Строка 111: | ||
Для геометрических остовов естественно рассматривать ''отказы областей'' – то есть отказы, уничтожающие все вершины и ребра, пересекающие некоторую нерабочую геометрическую область. Пусть | Для геометрических остовов естественно рассматривать ''отказы областей'' – то есть отказы, уничтожающие все вершины и ребра, пересекающие некоторую нерабочую геометрическую область. Пусть имеется нерабочая область F; граф <math>G \ominus F</math> представляет собой часть G, оставшуюся после того, как точки из S, находящиеся внутри области F, и все ребра, пересекающие F, были удалены из графа (см. рис. 1b). Абам и др. [1] показали, как строить t-остовы размера O(n log n), являющиеся отказоустойчивыми при отказе любой выпуклой области. Если разрешается использовать [[точка Штейнера|точки Штейнера]], можно получить t-остов линейного размера. | ||
'''Остовы с | '''Остовы с препятствиями''' | ||
Граф видимости на множестве попарно непересекающихся многоугольников называется графом взаимовидимых областей. Каждая | [[Visibility graph|Граф видимости]] на множестве попарно непересекающихся многоугольников называется ''графом взаимовидимых областей''. Каждая вершина многоугольника является вершиной в графе, а каждое ребро представляет видимую связь между ними: если две вершины видят друг друга, между ними строится ребро. Этот граф полезен благодаря тому, что содержит кратчайший путь, огибающий препятствия, между парой любых вершин. | ||
Строка 124: | Строка 124: | ||
'''Динамические и кинетические остовы''' | '''Динамические и кинетические остовы''' | ||
О динамических или кинетических остовах известно не так уж много. Арья и др. [4] предложили структуру данных размера O(n log n), поддерживающую остов на базе списков с пропусками, описанный выше, с ожидаемым амортизированным временем вставки и удаления <math>O(log^d \; n \; log \; log \; n)</math> на основе модели случайных обновлений. | О динамических или кинетических остовах известно не так уж много. Арья и др. [4] предложили структуру данных размера <math>O(n \; log^d \; n)</math>, поддерживающую остов на базе списков с пропусками, описанный выше, с ожидаемым амортизированным временем вставки и удаления <math>O(log^d \; n \; log \; log \; n)</math> на основе модели случайных обновлений. | ||
Гао и др. [13] показали, как поддерживать t-остов размера <math>O(n/(t - 1)^d) \;</math> с максимальной степенью <math>O(1 / (t - 2)^d \; log \; \alpha)</math> и временем вставки и удаления <math>O((log \; \alpha)/(t - 1)^d)</math>, где <math>\alpha \;</math> обозначает пропорциональность S, т.е. отношение максимального расстояния между парой вершин к минимальному. Алгоритм основан на использовании иерархической структуры T с <math>O(log \; \alpha)</math> уровнями, каждый уровень которой содержит множество центров (подмножество S). Каждая вершина v на уровне i в структуре T связана ребрами со всеми остальными вершинами уровня i, находящимися на расстоянии не более <math>O(2^i / (t - 1)) \;</math> от v. Полученный граф является t-остовом S и может поддерживаться вышеописанным образом. Этот подход может быть обобщен до кинетического случая таким образом, чтобы количество событий в процессе поддержки остова составляло <math>O(n^2 \; log \; n)</math> при псевдоалгебраическом характере перемещения. Каждое событие может быть обновлено за время <math>O((log \; \alpha)/(t - 1)^d)</math>. | Гао и др. [13] показали, как поддерживать t-остов размера <math>O(n/(t - 1)^d) \;</math> с максимальной степенью <math>O(1 / (t - 2)^d \; log \; \alpha)</math> и временем вставки и удаления <math>O((log \; \alpha)/(t - 1)^d)</math>, где <math>\alpha \;</math> обозначает пропорциональность S, т.е. отношение максимального расстояния между парой вершин к минимальному. Алгоритм основан на использовании иерархической структуры T с <math>O(log \; \alpha)</math> уровнями, каждый уровень которой содержит множество центров (подмножество S). Каждая вершина v на уровне i в структуре T связана ребрами со всеми остальными вершинами уровня i, находящимися на расстоянии не более <math>O(2^i / (t - 1)) \;</math> от v. Полученный граф является t-остовом S и может поддерживаться вышеописанным образом. Этот подход может быть обобщен до кинетического случая таким образом, чтобы суммарное количество событий в процессе поддержки остова составляло <math>O(n^2 \; log \; n)</math> при псевдоалгебраическом характере перемещения. Каждое событие может быть обновлено за время <math>O((log \; \alpha)/(t - 1)^d)</math>. | ||
== Применение == | == Применение == | ||
Алгоритмы построения разреженных остовов получили широкое применение в таких областях, как поиск в метрическом пространстве [1], который включает запрос по содержанию в мультимедийных объектах, текстовый информационный поиск, распознавание образов и | Алгоритмы построения разреженных остовов получили широкое применение в таких областях, как поиск в метрическом пространстве [1], который включает запрос по содержанию в мультимедийных объектах, текстовый информационный поиск, распознавание образов и аппроксимация функций. Еще одним примером является широковещательная рассылка в сетях коммуникаций [17]. Несколько хорошо известных теоретических работ также основываются на построении t-остовов – к примеру, Рао и Смит [19] совершили прорыв, предложив аппроксимационную схему с оптимальным временем O(n log n) для хорошо известной [[Евклидова задача коммивояжера|евклидовой задачи коммивояжера]], основанную на использовании t-остовов (или баньянов). Шумай и Лингас [7] предложили аппроксимационные схемы для задач о многосвязности с нахождением объектов минимальной стоимости в геометрических сетях. | ||
== Открытые вопросы == | == Открытые вопросы == | ||
Строка 144: | Строка 144: | ||
== Экспериментальные результаты == | == Экспериментальные результаты == | ||
Задача построения остовов активно исследовалась с теоретической точки зрения, но получила гораздо меньше внимания с практической, или экспериментальной, стороны. Наварро и Паредес [1] предложили четыре эвристики для множеств точек в пространстве высоких размерностей (d = 20) и эмпирическими методами показали, что время выполнения | Задача построения остовов активно исследовалась с теоретической точки зрения, но получила гораздо меньше внимания с практической, или экспериментальной, стороны. Наварро и Паредес [1] предложили четыре эвристики для множеств точек в пространстве высоких размерностей (d = 20) и эмпирическими методами показали, что время выполнения составляет <math>O(n^{2,24}) \;</math>, а количество ребер в полученных графах – <math>O(n^{1,13}) \;</math>. Недавно Фарши и Гудмундссон [12] провели тщательное сравнение алгоритмов построения остовов, упоминавшихся в разделе «Остовы на точках в евклидовом пространстве». | ||
== См. также == | == См. также == |
правок