Jump to content

Алгоритм Киркпатрика – Зейделя

Алгоритм Киркпатрика -Зейделя , предложенный его авторами как потенциальный «совершенный алгоритм плоской выпуклой оболочки», представляет собой алгоритм вычисления выпуклой оболочки набора точек на плоскости с временная сложность , где количество входных точек и — это количество точек (недоминируемых или максимальных точек, как их называют в некоторых текстах) в оболочке. Таким образом, алгоритм чувствителен к выходным данным : время его работы зависит как от входного размера, так и от выходного размера. Другой чувствительный к выходу алгоритм, алгоритм упаковки подарков , был известен гораздо раньше, но алгоритм Киркпатрика-Зейделя имеет асимптотическое время работы, которое значительно меньше и всегда улучшает границы алгоритмов, не чувствительных к выходу. Алгоритм Киркпатрика-Зейделя назван в честь его изобретателей Дэвида Г. Киркпатрика и Раймунда Зейделя . [1]

Хотя алгоритм асимптотически оптимален, он не очень практичен для задач среднего размера. [2]

Алгоритм

[ редактировать ]

Основная идея алгоритма — это своего рода обращение алгоритма «разделяй и властвуй» для выпуклых оболочек Препараты и Хонга, названного авторами «браком до завоевания».

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

Алгоритм Киркпатрика-Зейделя разделяет входные данные, как и раньше, находя медиану координат x входных точек. Однако алгоритм меняет порядок последующих шагов: следующим шагом является поиск ребер выпуклой оболочки, которые пересекают вертикальную линию, определяемую этой медианной координатой x, что, как оказывается, требует линейного времени. [3] Точки на левой и правой сторонах линии разделения, которые не могут внести вклад в конечную оболочку, отбрасываются, и алгоритм рекурсивно обрабатывает оставшиеся точки. Более подробно, алгоритм выполняет отдельную рекурсию для верхней и нижней частей выпуклой оболочки; в рекурсии для верхней оболочки отбрасываются не вносящие вклад точки, расположенные ниже края моста по вертикали, тогда как в рекурсии для нижней оболочки отбрасываются точки над краем моста по вертикали.

На уровне рекурсии алгоритм решает не более подзадачи, каждая размером не более . Общее количество рассматриваемых подзадач не более , поскольку каждая подзадача находит новое ребро выпуклой оболочки. Худший случай возникает, когда никакие точки нельзя отбросить, а подзадачи максимально велики; то есть когда есть ровно подзадачи на каждом уровне рекурсии до уровня . Для этого худшего случая есть уровни рекурсии и баллы учитываются на каждом уровне, поэтому общее время выполнения равно как заявлено.

См. также

[ редактировать ]
  1. ^ Киркпатрик, Дэвид Г.; Зайдель, Раймунд (1986). «Идеальный алгоритм плоской выпуклой оболочки?». SIAM Journal по вычислительной технике . 15 (1): 287–299. дои : 10.1137/0215021 . hdl : 1813/6417 .
  2. ^ МакКуин, Мэри М.; Туссен, Годфрид Т. (январь 1985 г.). «Об окончательном алгоритме выпуклой оболочки на практике» (PDF) . Буквы для распознавания образов . 3 (1): 29–34. Бибкод : 1985ПаРеЛ...3...29М . дои : 10.1016/0167-8655(85)90039-X . Результаты показывают, что, хотя алгоритмы O( n Log h ) могут быть «совершенными» в теории, они не имеют практической ценности с точки зрения времени работы.
  3. ^ Оригинальная статья Киркпатрика/Зейделя (1986), стр. 10, теорема 3.1
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f11a1845457f13f0d2c741f30d978411__1636939140
URL1:https://arc.ask3.ru/arc/aa/f1/11/f11a1845457f13f0d2c741f30d978411.html
Заголовок, (Title) документа по адресу, URL1:
Kirkpatrick–Seidel algorithm - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)