Геометрический разделитель
Геометрический разделитель — это линия (или другая фигура), которая делит набор геометрических фигур на два подмножества, так что доля фигур в каждом подмножестве ограничена, а количество фигур, не принадлежащих ни к одному подмножеству (т. е. фигур, пересекающихся самим сепаратором) невелика.
Когда существует геометрический разделитель, его можно использовать для построения алгоритмов «разделяй и властвуй» для решения различных задач вычислительной геометрии .
Разделители, представляющие собой линии
[ редактировать ]Общий вопрос
[ редактировать ]В 1979 году Хельге Тверберг [1] поднял следующий вопрос. ) для двух целых положительных чисел k , l Каково наименьшее число n ( k , l , такое что для любого семейства попарно непересекающихся выпуклых объектов на плоскости существует прямая линия, которой находится не менее k на одной стороне объектов и по крайней мере я на другой стороне?
Известны следующие результаты.
- Очевидно, n (1,1)=1.
- Надежда и Качальский [2] доказал, что n ( k ,1) ⩽ 12( k -1) для всех k ≥ 2.
- Жители деревни [1] доказал, что n(2,2) = ∞: он показал бесконечное семейство попарно непересекающихся отрезков такое, что ни одна прямая не имеет по два отрезка на каждой стороне. Пах и Тардос [3] продемонстрировал более простую конструкцию с использованием только единичных сегментов и другую конструкцию с использованием только дисков (или квадратов).
Разделители для осе-параллельных прямоугольников
[ редактировать ]Учитывая набор из N = 4 k непересекающихся прямоугольников, параллельных осям, на плоскости, существует линия, горизонтальная или вертикальная, такая, что по крайней мере N /4 прямоугольников полностью лежат с каждой стороны от нее (таким образом, не более N /2 прямоугольников пересекаются разделительной линией).
Доказательство
[ редактировать ]Определите W как самую западную вертикальную линию, по крайней мере, с N /4 прямоугольниками, полностью расположенными к западу от нее. Есть два случая:
- имеется не менее N Если к востоку от W /4 прямоугольников , то W — вертикальный разделитель.
- В противном случае, переместив W немного на запад, мы получим вертикальную линию, пересекающую более чем N /2 прямоугольников. Найдите точку на этой линии, у которой есть не менее N /4 прямоугольников вверху и N /4 прямоугольников под ней, и проведите через нее горизонтальный разделитель.
Оптимальность
[ редактировать ]
Количество пересекающихся фигур, гарантированное приведенной выше теоремой, равно O( N ). Эта верхняя граница асимптотически точна, даже если фигуры представляют собой квадраты, как показано на рисунке справа. Это резко контрастирует с верхней границей O( √ N ) пересекающихся фигур, которая гарантируется, когда сепаратор представляет собой замкнутую форму (см. предыдущий раздел ).

Более того, когда фигуры представляют собой произвольные прямоугольники, бывают случаи, когда ни одна линия, разделяющая более одного прямоугольника, не может пересекать менее N /4 прямоугольников, как показано на рисунке справа. [4]
Обобщения
[ редактировать ]Приведенную выше теорему можно обобщить для непересекающихся прямоугольников на прямоугольники толщиной k . Кроме того, индукцией по d можно обобщить приведенную выше теорему на d измерений и получить следующую теорему: [5]
- Для данных N , параллельных осям, d -блоков внутренняя часть которых имеет толщину k , существует гиперплоскость, параллельная осям, такая, что по крайней мере:
- внутренностей d -box лежат по обе стороны от гиперплоскости.
- Для данных N , параллельных осям, d -блоков внутренняя часть которых имеет толщину k , существует гиперплоскость, параллельная осям, такая, что по крайней мере:
В частном случае, когда k = N − 1 (т. е. каждая точка содержится не более чем в N − 1 ящики), имеет место следующая теорема: [5]
- Для данных N , параллельных осям, d -блоков внутренняя часть которых имеет толщину ( N - 1), существует гиперплоскость, параллельная осям, которая разделяет два из них.
Объекты не обязательно должны быть прямоугольниками, а разделители не обязательно должны быть параллельны оси:
- Пусть C — набор возможных ориентаций гиперплоскостей (т. е. C = {горизонтальный, вертикальный}). Для заданных N d -объектов, таких, что каждые два непересекающихся объекта разделены гиперплоскостью с ориентацией из C , внутренняя часть которой имеет k -толщину, существует гиперплоскость с ориентацией из C такая, что по крайней мере: ( N + 1 − k )/O( C ) внутренностей d -объектов целиком лежат по обе стороны от гиперплоскости.
Алгоритмические версии
[ редактировать ]Найти гиперплоскости, гарантированные приведенными выше теоремами, можно за O( Nd ) шагов. Кроме того, если 2d списки нижних и верхних конечных точек интервалов, определяющих i- е координаты ящиков, предварительно отсортированы, то лучшая такая гиперплоскость (согласно широкому спектру мер оптимальности) может быть найдена в O( Nd ) шаги.
Разделители, представляющие собой замкнутые фигуры
[ редактировать ]Простой случай, в котором гарантировано существование разделителя, следующий: [5] [6]
- Учитывая набор из n непересекающихся осе-параллельных квадратов на плоскости, существует прямоугольник R такой, что не более 2 n /3 квадратов находятся внутри R , не более 2 n /3 квадратов находятся вне R , и при большинство O(sqrt( n )) квадратов не находятся внутри и не снаружи R (т.е. пересекают границу R ).
Таким образом, R — это геометрический разделитель, разделяющий n квадратов на два подмножества («внутри R » и «вне R »), с относительно небольшой «потерей» (квадраты, пересекаемые R, считаются «потерянными», поскольку они не принадлежат к любому из двух подмножеств).
Доказательство
[ редактировать ]Определите прямоугольник толщиной 2 дюйма как прямоугольник, параллельный осям, с соотношением сторон не более 2.
Пусть R 0 — прямоугольник минимальной площади с толщиной 2 дюйма, содержащий центры не менее n /3 квадратов. Таким образом, каждый 2-жирный прямоугольник размером меньше R 0 содержит менее n /3 квадратов.
Для каждого t в [0,1) пусть R t будет 2-жирным прямоугольником с тем же центром, что и R 0 , увеличенным на 1 + t .
- R t содержит R 0 , поэтому он содержит центры как минимум n /3 квадратов.
- R t менее чем в два раза больше, чем R 0 , поэтому его можно покрыть двумя прямоугольниками толщиной 2, меньшими, чем R 0 . Каждый из этих 2-жирных прямоугольников содержит в центрах менее n /3 квадратов. Следовательно, R t содержит центры размером менее 2 n /3 квадратов.
Теперь осталось показать, что существует t , для которого R t пересекает не более O(sqrt( n )) квадратов.
Сначала рассмотрим все «большие квадраты» – квадраты, длина стороны которых не менее . Для каждого t периметр R t не превышает 2 · периметра ( R 0 ), что составляет не более 6 · ширины ( R 0 ), поэтому он может пересекаться не более большие квадраты.
Далее рассмотрим все «маленькие квадраты» – квадраты, длина стороны которых меньше .
Для каждого t определите: intersect( t маленьких квадратов, пересекаемых границей Rt ) как набор . Для каждого t 1 и t 2 , если , затем . Таким образом, существует разрыв как минимум границей Rt 1 и границей Rt 2 между . Следовательно, intersect( t 1 ) и intersect( t 2 ) не пересекаются. Поэтому:
Следовательно, по принципу «ячейки» существует некоторый j 0 , для которого:
Разделитель, который мы ищем, — это прямоугольник R t , где . [7]
Пример приложения
[ редактировать ]Используя эту теорему о сепараторе, мы можем решить некоторые проблемы вычислительной геометрии следующим образом:
- Разделите входной набор квадратов на два непересекающихся подмножества;
- Решите задачу по каждому подмножеству отдельно;
- Объедините решения двух подзадач и получите приближенное решение исходной задачи.
Обобщения
[ редактировать ]Приведенную выше теорему можно обобщить разными способами, возможно, с разными константами. Например:
- Вместо квадратов входная коллекция может содержать произвольные толстые объекты , такие как: круги, прямоугольники с ограниченным соотношением сторон и т.п.
- Вместо двумерных фигур на плоскости входная коллекция может содержать объекты любого измерения, и они могут располагаться в d -мерном торе .
- Вместо требования, чтобы фигуры во входной коллекции были непересекающимися, мы можем поставить более слабое требование, чтобы коллекция была: [5]
- k-thick , т. е. каждая точка покрыта не более чем k различными фигурами.
- lk-thick , т. е. каждая точка покрыта не более k различными фигурами с соотношением размеров (размер наибольшей фигуры, разделенный на размер наименьшей формы) не более l .
- k-перегружены , т. е. для любого поднабора фигур сумма их отдельных мер не более чем в k раз превышает меру их объединения.
- Вместо прямоугольного разделителя разделитель может иметь любую форму, которую можно покрыть меньшими копиями самого себя.
- Вместо ограничения количества фигур на каждой стороне разделителя можно ограничить любую меру, удовлетворяющую определенным аксиомам. [6]
Оптимальность
[ редактировать ]Соотношение 1:2 в приведенной выше теореме о квадратном разделителе является лучшим, что можно гарантировать: существуют коллекции фигур, которые невозможно разделить в лучшем соотношении с помощью разделителя, который пересекает только фигуры O(sqrt( n )). Вот один из таких наборов (из теоремы 34 [5] ):
Рассмотрим равносторонний треугольник . В каждую из трех его вершин поместите N /3 фигур, расположенных по экспоненциальной спирали так, чтобы диаметр увеличивался в постоянный коэффициент при каждом витке спирали, и каждая фигура касалась своих соседей по спирали. Например, начните с прямоугольника размером 1 на Φ, где Φ — золотое сечение . Добавьте соседний квадрат размером Φ на Φ и получите еще один золотой прямоугольник. Добавьте соседний квадрат размером (1+Φ) на (1+Φ) и получите золотой прямоугольник большего размера, и так далее.
Теперь, чтобы разделить более 1/3 фигур, разделитель должен отделить O( N ) фигур от двух разных вершин. Но для этого разделитель должен пересекать фигуры O( N ).
Сепараторы, представляющие собой полосы ограниченной ширины между параллельными гиперплоскостями.
[ редактировать ]- Пусть Q — набор из n точек на плоскости такой, что минимальное расстояние между точками равно d . Пусть a >0 — константа.
- Существует пара параллельных прямых на расстоянии a не более 2 n /3 точек и не более такая, что с каждой стороны полосы лежит точки лежат внутри полосы.
- Эквивалентно: существует прямая, по обе стороны от которой лежит не более 2n / 3 точек и не более точки лежат на расстоянии менее а /2 от него.
Эскиз доказательства
[ редактировать ]Определим центральную точку Q как точку o такую, что каждая прямая, проходящая через нее, имеет не более 2n / 3 точек Q на каждой стороне. Существование центральной точки можно доказать с помощью теоремы Хелли .
Для данной точки p и константы a > 0 определите Pr(a,p,o) как вероятность того, что случайная линия, проходящая через o, находится на расстоянии меньшем, чем a от p . Идея состоит в том, чтобы ограничить эту вероятность и, таким образом, ограничить ожидаемое количество точек на расстоянии меньше a от случайной линии до o . Тогда по принципу «ячейки» хотя бы одна строка через o является искомым разделителем.
Приложения
[ редактировать ]Сепараторы ограниченной ширины можно использовать для приближенного решения проблемы сворачивания белка . [9] Его также можно использовать для точного субэкспоненциального алгоритма для поиска максимального независимого множества , а также для нескольких связанных задач покрытия в геометрических графах. [8]
Геометрические сепараторы и сепараторы плоских графов
[ редактировать ]Теорему о плоском сепараторе можно доказать, используя теорему об упаковке кругов для представления плоского графа как графа контактов системы дисков на плоскости, а затем найдя круг, который образует геометрический сепаратор для этих дисков. [10]
См. также
[ редактировать ]- Теорема о сэндвиче Хэма : учитывая n измеримых объектов в n -мерном пространстве, можно разделить их все пополам (относительно их меры, то есть объема) с помощью одной ( n - 1)-мерной гиперплоскости.
- Гильотинное разделение : задача разделения выпуклых объектов на плоскости с помощью гильотинных разрезов.
- Другие теоремы разделения .
- Одновременный разделитель: разделитель, который одновременно разделяет фигуры в нескольких коллекциях и одновременно пересекает небольшое количество фигур в каждой коллекции, может не всегда существовать. [11]
Примечания
[ редактировать ]- ^ Перейти обратно: а б Тверберг, Хельге (1979). «Свойство отделимости плоских выпуклых множеств» . Математика Скандинавия . 45 (2): 255–260. doi : 10.7146/math.scand.a-11840 . ISSN 0025-5521 . JSTOR 24492346 .
- ^ Надеюсь, Рафаэль; Качальский, Меир (1990). «Разделение плоских выпуклых множеств» . Математика Скандинавия . 66 (1): 44–46. doi : 10.7146/math.scand.a-12291 . ISSN 0025-5521 . JSTOR 24492022 .
- ^ Пах, Янош; Тардос, Габор (28 октября 2001 г.). «Разделение выпуклых множеств прямыми» . Дискретная математика . 241 (1–3): 427–433. дои : 10.1016/S0012-365X(01)00128-5 . ISSN 0012-365X .
- ^ Думитреску, Адриан; Митчелл, Джозеф С.Б.; Шарир, Миша (2004). «Разбиения двоичного пространства для сегментов, параллельных осям, прямоугольников и гиперпрямоугольников» . Дискретная и вычислительная геометрия . 31 (2): 207–227. дои : 10.1007/s00454-003-0729-3 . МР 2060636 . . См. обсуждение после теоремы 2.2 и рис. 1(а).
- ^ Перейти обратно: а б с д и Смит, В.Д.; Вормальд, Северная Каролина (1998). «Теоремы и приложения о геометрическом сепараторе» . Материалы 39-го ежегодного симпозиума по основам информатики (кат. № 98CB36280) . п. 232. дои : 10.1109/sfcs.1998.743449 . ISBN 978-0-8186-9172-0 . S2CID 17962961 .
- ^ Перейти обратно: а б Чан, ТМ (2003). «Схемы аппроксимации полиномиального времени для упаковки и прокалывания толстых объектов». Журнал алгоритмов . 46 (2): 178–189. CiteSeerX 10.1.1.21.5344 . дои : 10.1016/s0196-6774(02)00294-8 .
- ^ Это доказательство основано на более общем доказательстве Чана (2003), но с лучшими константами Смита и Вормальда (1998).
- ^ Перейти обратно: а б Фу, Б. (2011). «Теория и применение геометрических разделителей ограниченной ширины» . Журнал компьютерных и системных наук . 77 (2): 379–392. дои : 10.1016/j.jcss.2010.05.003 .
- ^ Фу, Б.; Ван, В. (2007). «Геометрические сепараторы и их применение для сворачивания белков в модели HP». SIAM Journal по вычислительной технике . 37 (4): 1014. дои : 10.1137/s0097539704440727 .
- ^ Миллер, Гэри Л .; Тэн, Шанхуа ; Терстон, Уильям ; Вавасис, Стивен А. (1997). «Сепараторы для сферических упаковок и графов ближайших соседей» . Дж. АКМ . 44 (1): 1–29. дои : 10.1145/256292.256294 . S2CID 17331739 . .
- ^ Кинкл, Ян. «Одновременный геометрический сепаратор» . MathOverflow . Проверено 4 февраля 2014 г.