Динамическая выпуклая оболочка - Dynamic convex hull
В задача динамической выпуклой оболочки это класс динамические проблемы в вычислительная геометрия. Проблема состоит в поддержании, т. Е. В отслеживании, выпуклый корпус для входных данных, подвергающихся последовательности дискретных изменений, т.е. когда элементы входных данных могут быть вставлены, удалены или изменены. Его следует отличать от кинетическая выпуклая оболочка, который изучает аналогичные задачи для непрерывно движущихся точек. Задачи динамической выпуклой оболочки можно различать по типам входных данных и допустимым типам модификации входных данных.
Набор плоских точек
Легко построить пример, для которого выпуклая оболочка содержит все входные точки, но после вставки единственной точки выпуклая оболочка становится треугольником. И наоборот, удаление одной точки может привести к противоположному резкому изменению размера вывода. Следовательно, если выпуклая оболочка должна быть представлена традиционным способом как многоугольник, нижняя граница в худшем случае вычислительная сложность пересчета выпуклой оболочки есть , поскольку это время требуется для простого отчета о выходе. Эта нижняя граница достижима, поскольку несколько универсальных алгоритмов выпуклой оболочки работают за линейное время, когда входные точки упорядоченный каким-то образом и методы логарифмического времени для динамического обслуживания упорядоченных данных хорошо известны.
Эту проблему можно решить, сняв ограничение на выходное представление. Существуют структуры данных, которые могут поддерживать представления выпуклой оболочки в течение времени на обновление, которое намного меньше линейного. В течение многих лет лучшим алгоритмом этого типа был алгоритм Овермарса и ван Лиувена (1981), который занимал время O (log2 п) за обновление, но с тех пор он был улучшен Тимоти М. Чан и другие.
В ряде приложений поиск выпуклой оболочки является шагом в алгоритме решения общей проблемы. Выбранное представление выпуклой оболочки может повлиять на вычислительную сложность дальнейших операций всего алгоритма. Например, точка в многоугольнике На запрос выпуклого многоугольника, представленного упорядоченным множеством его вершин, можно ответить за логарифмическое время, что было бы невозможно для выпуклых оболочек, о которых сообщает множество его вершин, без какой-либо дополнительной информации. Таким образом, некоторые исследования алгоритмов динамической выпуклой оболочки связаны с вычислительной сложностью различных задачи геометрического поиска с выпуклой оболочкой, хранящейся в определенных типах структур данных. Упомянутый подход Овермарса и ван Левена допускает логарифмическую сложность различных общих запросов.
Рекомендации
- Александрон, Гиора; Каплан, Хаим; Шарир, Миха (2005), «Кинетические и динамические структуры данных для выпуклых оболочек и верхних оболочек», Алгоритмы и структуры данных (WADS 2005), Конспект лекций по информатике, 3608, Берлин: Springer, стр. 269–281, Дои:10.1007/11534273_24, МИСТЕР 2200329
- Бродал, Герт Стёльтинг; Джейкоб, Рико (2000), "Динамическая плоская выпуклая оболочка с оптимальным временем запроса и Время обновления", Теория алгоритмов (SWAT 2000, Берген), Конспект лекций по информатике, 1851, Берлин: Springer, стр. 57–70, Дои:10.1007 / 3-540-44985-X_7, МИСТЕР 1792585
- Чан, Тимоти М. (2001), «Операции с динамической плоской выпуклой оболочкой за почти логарифмическое амортизированное время», Журнал ACM, 48 (1): 1–12, Дои:10.1145/363647.363652, МИСТЕР 1867273
- Чан, Тимоти М. (2010), «Динамическая структура данных для трехмерных выпуклых оболочек и двумерных запросов ближайшего соседа», Журнал ACM, 57 (3): A16: 1 – A16: 15, Дои:10.1145/1706591.1706596, МИСТЕР 2665885
- Чан, Тимоти М. (2012), «Три задачи о динамических выпуклых оболочках», Международный журнал вычислительной геометрии и приложений, 22 (4): 341–364, Дои:10.1142 / S0218195912600096, МИСТЕР 2994585
- Демейн, Эрик Д.; Пǎтрашку, Михай (2007), "Точные границы для запросов динамической выпуклой оболочки (снова)", Proc. Symp. Вычислительная геометрия (SoCG 2007), Нью-Йорк: ACM, стр. 354–363, Дои:10.1145/1247069.1247131, МИСТЕР 2469185
- Хершбергер, Джон; Сури, Субхаш (1992), "Применение алгоритма полудинамической выпуклой оболочки", КУСОЧЕК, 32 (2): 249–267, Дои:10.1007 / BF01994880, МИСТЕР 1172189
- О, Ынджин; Ан, Хи-Кап (2017), "Динамические геодезические выпуклые оболочки в динамических простых многоугольниках", 33-й Международный симпозиум по вычислительной геометрии (SoCG 2017), LIPIcs, 77, Schloss Dagstuhl, стр. 51: 1–51: 15, Дои:10.4230 / LIPIcs.SoCG.2017.51, МИСТЕР 3685723
- Овермарс, М.; ван Леувен, Дж. (1981), «Сохранение конфигураций в плоскости», Журнал компьютерных и системных наук, 23 (2): 166–204, Дои:10.1016 / 0022-0000 (81) 90012-Х.