Jump to content

Задача о ближайшей паре точек

(Перенаправлено из «Ближайшая пара точек» )
Ближайшая пара точек показана красным.

Задача о ближайшей паре точек или задача о ближайшей паре — это задача вычислительной геометрии : задано точек в метрическом пространстве , найдите пару точек с наименьшим расстоянием между ними. Задача о ближайшей паре для точек евклидовой плоскости. [1] была одной из первых геометрических задач, которые рассматривались у истоков систематического изучения вычислительной сложности геометрических алгоритмов.

Сроки [ править ]

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

Также возможно решение задачи без рандомизации, в с произвольным доступом машинных моделях вычислений и неограниченной памятью, позволяющих использовать функцию пола , в почти линейных время. [5] В еще более ограниченных моделях вычислений, таких как алгебраическое дерево решений , проблема может быть решена несколько медленнее. привязанный ко времени, [6] и это оптимально для данной модели за счет сокращения от проблемы уникальности элемента . Как алгоритмы развертки линии , так и алгоритмы «разделяй и властвуй» с этой более медленной временной границей обычно преподаются в качестве примеров этих методов разработки алгоритмов. [7] [8]

с линейным Рандомизированные временем алгоритмы

Линейный рандомизированный по ожидаемому времени алгоритм Рабина (1976) , слегка модифицированный Ричардом Липтоном для упрощения анализа, работает на входном множестве следующим образом: состоящий из точки в -мерное евклидово пространство:

  1. Выбирать пар точек равномерно случайным образом, с заменой, и пусть быть минимальным расстоянием выбранных пар.
  2. Округлите входные точки до квадратной сетки точек, размер которой (расстояние между соседними точками сетки) равен и используйте хэш-таблицу для сбора пар входных точек, которые округляются до одной и той же точки сетки.
  3. Для каждой входной точки вычислите расстояние до всех других входных данных, которые округляются до той же точки сетки или до другой точки сетки в Мура окрестности окружающие точки сетки.
  4. Верните наименьшее из расстояний, вычисленных в ходе этого процесса.

Алгоритм всегда правильно определит ближайшую пару, поскольку он отображает любую пару, расположенную ближе, чем расстояние. к одной и той же точке сетки или к соседним точкам сетки. Равномерная выборка пар на первом этапе алгоритма (по сравнению с другим методом Рабина для выборки аналогичного количества пар) упрощает доказательство того, что ожидаемое количество расстояний, вычисленное алгоритмом, является линейным. [4]

Вместо этого другой алгоритм Khuller & Matias (1995) проходит две фазы: случайный итерационный процесс фильтрации, который аппроксимирует ближайшее расстояние с точностью до аппроксимации коэффициента , вместе с завершающим шагом, который превращает это приблизительное расстояние в точное ближайшее расстояние. Процесс фильтрации повторяет следующие шаги, пока становится пустым:

  1. Выберите точку равномерно случайным образом от .
  2. Вычислите расстояния от ко всем остальным точкам и пусть быть минимальным таким расстоянием.
  3. Округлите входные точки до квадратной сетки размером и удалить из все точки, у которых в окрестности Мура нет других точек.

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

паре Динамическая о ближайшей задача

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

Если ограничивающая рамка для всех точек известна заранее и доступна функция пола постоянного времени, то ожидаемое значение Была предложена структура данных -space, поддерживающая ожидаемое время. вставки и удаления и постоянное время запроса. При модификации для модели алгебраического дерева решений вставки и удаления потребуют ожидаемое время. [9] Сложность упомянутого выше динамического алгоритма ближайшей пары экспоненциальна в размерности , и поэтому такой алгоритм становится менее подходящим для задач большой размерности.

Алгоритм решения динамической задачи поиска ближайшей пары в dimensional space was developed by Sergey Bespamyatnikh in 1998. [10] Точки можно вставлять и удалять в время за очко (в худшем случае).

См. также [ править ]

Примечания [ править ]

  1. ^ Шамос, Майкл Ян ; Хоуи, Дэн (1975). «Задачи ближайшей точки». 16-й ежегодный симпозиум по основам информатики, Беркли, Калифорния, США, 13-15 октября 1975 г. Компьютерное общество IEEE. стр. 151–162. дои : 10.1109/SFCS.1975.8 .
  2. ^ Рабин, М. (1976). «Вероятностные алгоритмы». Алгоритмы и сложность: последние результаты и новые направления . Академическая пресса. стр. 21–39. Цитируется Хуллером и Матиасом (1995) .
  3. Перейти обратно: Перейти обратно: а б Хуллер, Самир ; Матиас, Йоси (1995). «Простой алгоритм рандомизированного сита для решения задачи нахождения ближайшей пары» . Информация и вычисления . 118 (1): 34–37. дои : 10.1006/inco.1995.1049 . МР   1329236 . S2CID   206566076 .
  4. Перейти обратно: Перейти обратно: а б Липтон, Ричард (24 сентября 2011 г.). «Рабин подбрасывает монетку» . Потерянное письмо Гёделя и P=NP .
  5. ^ Фортуна, Стив; Хопкрофт, Джон (1979). «Заметка об алгоритме ближайшего соседа Рабина». Письма об обработке информации . 8 (1): 20–23. дои : 10.1016/0020-0190(79)90085-1 . hdl : 1813/7460 . МР   0515507 .
  6. ^ Кларксон, Кеннет Л. (1983). «Быстрые алгоритмы решения задачи всех ближайших соседей». 24-й ежегодный симпозиум по основам информатики, Тусон, Аризона, США, 7-9 ноября 1983 г. Компьютерное общество IEEE. стр. 226–232. дои : 10.1109/SFCS.1983.16 .
  7. ^ Кормен, Томас Х .; Лейзерсон, Чарльз Э .; Ривест, Рональд Л .; Штейн, Клиффорд (2001) [1990]. «33.4: Поиск ближайшей пары точек». Введение в алгоритмы (2-е изд.). MIT Press и McGraw-Hill. стр. 957–961. ISBN  0-262-03293-7 .
  8. ^ Кляйнберг, Джон М .; Тардос, Ева (2006). «5.4 Нахождение ближайшей пары точек». Алгоритм проектирования . Аддисон-Уэсли. стр. 225–231. ISBN  978-0-321-37291-8 .
  9. ^ Голин, Мордехай; Раман, Раджив; Шварц, Кристиан; Смид, Мишель (1998). «Рандомизированные структуры данных для динамической задачи ближайшей пары» (PDF) . SIAM Journal по вычислительной технике . 27 (4): 1036–1072. дои : 10.1137/S0097539794277718 . МР   1622005 . S2CID   1242364 .
  10. ^ Беспамятных, С.Н. (1998). «Оптимальный алгоритм обслуживания ближайшей пары» . Дискретная и вычислительная геометрия . 19 (2): 175–195. дои : 10.1007/PL00009340 . МР   1600047 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f275b06d18d23c6d1c58f17b6cbad6df__1691923680
URL1:https://arc.ask3.ru/arc/aa/f2/df/f275b06d18d23c6d1c58f17b6cbad6df.html
Заголовок, (Title) документа по адресу, URL1:
Closest pair of points problem - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)