В вычислительной геометрии дальний -первый обход компактного метрического пространства представляет собой последовательность точек в пространстве, где первая точка выбирается произвольно, а каждая последующая точка находится как можно дальше от набора ранее выбранных точек. Та же концепция может быть применена и к конечному набору геометрических точек, ограничивая выбранные точки принадлежностью к набору или, что эквивалентно, рассматривая конечное метрическое пространство, порожденное этими точками. [1] Для конечного метрического пространства или конечного набора геометрических точек результирующая последовательность образует перестановку точек, также известную как жадная перестановка . [2]
Каждый префикс обхода наиболее дальнего первого обеспечивает набор точек, который широко разнесен и близок ко всем оставшимся точкам. Точнее, никакой другой набор равного числа точек не может быть разнесен более чем в два раза шире, и никакой другой набор равного числа точек не может быть менее чем в два раза дальним от своей самой дальней оставшейся точки. Отчасти из-за этих свойств обходы наиболее дальних точек имеют множество приложений, включая аппроксимацию задачи коммивояжера и метрической задачи k -центра . Они могут быть построены за полиномиальное время или (для низкоразмерных евклидовых пространств ) аппроксимированы за почти линейное время .
Обход наиболее дальнего первого — это последовательность точек в компактном метрическом пространстве , где каждая точка появляется не более одного раза. Если пространство конечно, каждая точка появляется ровно один раз, и обход является перестановкой всех точек в пространстве. Первая точка последовательности может быть любой точкой в пространстве. Каждая точка p после первой должна иметь максимально возможное расстояние до множества точек, более ранних, чем p в последовательности, где расстояние от точки до множества определяется как минимум попарных расстояний до точек в множестве. Данное пространство может иметь много различных обходов наиболее дальнего первого, в зависимости как от выбора первой точки в последовательности (которая может быть любой точкой в пространстве), так и от связей для максимального расстояния среди более поздних выборов. [2]
Обходы самой дальней точки могут быть охарактеризованы следующими свойствами. Зафиксируем число k и рассмотрим префикс, образованный первыми k точками обхода самой дальней первой точки любого метрического пространства. Пусть r — расстояние между конечной точкой префикса и другими точками в префиксе. Тогда это подмножество обладает следующими двумя свойствами:
Наоборот, любая последовательность, имеющая эти свойства, для всех выборов k , должна быть дальним первым обходом. Это два определяющих свойства множества Делоне , поэтому каждый префикс дальнего первого обхода образует множество Делоне. [3]
Rosenkrantz, Stearns & Lewis (1977) использовали дальний первый обход для определения эвристики дальнего вставки для задачи коммивояжера . Эта эвристика находит приближенные решения задачи коммивояжера, создавая тур на подмножестве точек, добавляя по одной точке за раз в тур в порядке, заданном дальним первым обходом. Чтобы добавить каждую точку в тур, одно ребро предыдущего тура разрывается и заменяется парой ребер через добавленную точку, самым дешевым из возможных способов. Хотя Rosenkrantz и др. доказывают только логарифмическое отношение аппроксимации для этого метода, они показывают, что на практике он часто работает лучше, чем другие методы вставки с лучшими доказуемыми отношениями аппроксимации. [4]
Позже та же последовательность точек была популяризирована Гонсалесом (1985), который использовал ее как часть жадных алгоритмов аппроксимации для двух задач кластеризации, в которых целью является разбиение набора точек на k кластеров. Одна из двух задач, которые Гонсалес решает таким образом, стремится минимизировать максимальный диаметр кластера, в то время как другая, известная как метрическая задача k -центра , стремится минимизировать максимальный радиус, расстояние от выбранной центральной точки кластера до самой дальней точки от него в том же кластере. Например, задача k -центра может быть использована для моделирования размещения пожарных станций в городе, чтобы гарантировать, что каждый адрес в городе может быть быстро достигнут пожарной машиной. Для обеих задач кластеризации Гонсалес выбирает набор из k центров кластеров, выбирая первые k точек наиболее дальнего первого обхода, а затем создает кластеры, назначая каждую входную точку ближайшему центру кластера. Если r — расстояние от набора из k выбранных центров до следующей точки в позиции k + 1 в обходе, то при таком кластеризации каждая точка находится в пределах расстояния r от своего центра, а диаметр каждого кластера не превышает 2 r . Однако подмножество из k центров вместе со следующей точкой находятся на расстоянии не менее r друг от друга, и любая k -кластеризация поместит некоторые две из этих точек в один кластер, причем один из них будет находиться на расстоянии не менее r /2 от своего центра и с диаметром не менее r . Таким образом, эвристика Гонсалеса дает коэффициент аппроксимации 2 для обеих задач кластеризации. [3]
Эвристика Гонсалеса была независимо переоткрыта для метрической проблемы k -центра Дайером и Фризе (1985), которые применили ее в более общем виде к взвешенным проблемам k -центра. [5] Другая работа по проблеме k -центра того же времени, Хохбаум и Шмойс (1985), достигает того же коэффициента аппроксимации 2, [6] но ее методы отличаются. [5] Тем не менее, эвристика Гонсалеса и название «обход самого дальнего первого» часто неправильно приписываются Хохбауму и Шмойсу. [7] Как для задачи кластеризации диаметра min-max, так и для метрической проблемы k -центра эти аппроксимации оптимальны: существование эвристики полиномиального времени с любым постоянным коэффициентом аппроксимации меньше 2 означало бы, что P = NP . [3] [6]
Как и для кластеризации, обход наиболее дальнего первого может также использоваться в другом типе задачи размещения объектов, задаче дисперсии объектов на максимум-мин, в которой цель состоит в том, чтобы выбрать местоположения k различных объектов так, чтобы они находились как можно дальше друг от друга. Точнее, цель в этой задаче состоит в том, чтобы выбрать k точек из заданного метрического пространства или заданного набора точек-кандидатов таким образом, чтобы максимизировать минимальное попарное расстояние между выбранными точками. Опять же, это можно аппроксимировать выбором первых k точек обхода наиболее дальнего первого. Если r обозначает расстояние k -й точки от всех предыдущих точек, то каждая точка метрического пространства или набора кандидатов находится в пределах расстояния r от первых k − 1 точек. По принципу ящика некоторые две точки оптимального решения (какой бы она ни была) должны находиться в пределах расстояния r от одной и той же точки среди этих первых k − 1 выбранных точек и (по неравенству треугольника ) в пределах расстояния 2 r друг от друга. Таким образом, эвристическое решение, полученное с помощью обхода самого дальнего первого узла, отличается от оптимального примерно в два раза. [8] [9] [10]
Другие приложения обхода наиболее дальнего первого включают квантование цвета (кластеризация цветов на изображении в меньший набор репрезентативных цветов), [11] прогрессивное сканирование изображений (выбор порядка отображения пикселей изображения таким образом, чтобы префиксы порядка создавали хорошие версии всего изображения с более низким разрешением, а не заполняли изображение сверху вниз), [12] выбор точек в методе вероятностной дорожной карты для планирования движения , [13] упрощение облаков точек , [14] генерация масок для полутоновых изображений, [15] [16] иерархическая кластеризация , [1] поиск сходств между полигональными сетками схожих поверхностей, [17] выбор разнообразных и ценных целей наблюдения для подводных роботизированных исследований, [18] обнаружение неисправностей в сенсорных сетях , [19] моделирование филогенетического разнообразия , [20] сопоставление транспортных средств в гетерогенном парке с запросами клиентов на доставку, [21] равномерное распределение геодезических обсерваторий на поверхности Земли [22] или других типов сенсорных сетей, [23] генерация виртуальных точечных источников света в методе мгновенного рендеринга компьютерной графики с использованием излучения , [24] и геометрический диапазон поиска структур данных . [25]
Самый дальний обход конечного множества точек может быть вычислен с помощью жадного алгоритма , который сохраняет расстояние каждой точки от ранее выбранных точек, выполняя следующие шаги: [3]
Для набора из n точек этот алгоритм требует O ( n 2 ) шагов и O ( n 2 ) вычислений расстояния. [3]
Более быстрый алгоритм приближения , предложенный Хар-Пеледом и Менделем (2006), применим к любому подмножеству точек в метрическом пространстве с ограниченной размерностью удвоения , классу пространств, включающих евклидовы пространства ограниченной размерности. Их алгоритм находит последовательность точек, в которой каждая последующая точка имеет расстояние в пределах 1 − ε -множителя самого дальнего расстояния от ранее выбранной точки, где ε может быть выбрано любым положительным числом. Это занимает время . [2]
Результаты для ограниченной размерности удвоения не применимы к многомерным евклидовым пространствам, поскольку постоянный множитель в большой нотации O для этих алгоритмов зависит от размерности. Вместо этого другой метод аппроксимации, основанный на лемме Джонсона–Линденштрауса и локально-чувствительном хешировании, имеет время выполнения Для метрик, определенных кратчайшими путями на взвешенных неориентированных графах, рандомизированная инкрементная конструкция, основанная на алгоритме Дейкстры, достигает времени , где n и m — числа вершин и ребер входного графа соответственно. [26]
Для выбора точек из непрерывного пространства, такого как евклидова плоскость , а не из конечного набора точек-кандидатов, эти методы не будут работать напрямую, поскольку потребуется поддерживать бесконечное количество расстояний. Вместо этого каждая новая точка должна быть выбрана как центр наибольшего пустого круга, определяемого ранее выбранным набором точек. [12] Этот центр всегда будет лежать на вершине диаграммы Вороного уже выбранных точек или в точке, где ребро диаграммы Вороного пересекает границу области. В этой формулировке метод построения обходов наиболее дальнего первого уровня также называется инкрементной вставкой Вороного . [27] Он похож на уточнение Делоне для генерации сетки конечных элементов , но отличается выбором вершины Вороного для вставки на каждом шаге. [28]