Евклидово минимальное остовное дерево

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
EMST 25 случайных точек на плоскости

Евклидово минимальное остовное дерево (англ. Euclidean minimum spanning tree, EMST) — это минимальное остовное дерево набора из n точек на плоскости (или более обще, в ), где вес ребра между любой парой точек является евклидовым расстоянием между двумя точками. Простыми терминами, EMST связывает набор точек с помощью отрезков так, что общая длина всех отрезков минимальна и любая точка может быть достигнута из другой точки по этим отрезкам.

На плоскости EMST для данного набора точек может быть найдено за время Θ(n log n) с использованием пространства O(n) при вычислении модели алгебраического дерева решений[англ.]. Известны более быстрые вероятностные алгоритмы со сложностью в более сильных моделях вычисления, которые более точно моделируют возможности реальных компьютеров[1].

В более высоких размерностях () поиск оптимального алгоритма остаётся открытой проблемой.

Нижняя граница[править | править код]

Асимптотическая нижняя граница Ω(n log n) для временной сложности задачи EMST может быть установлена в ограниченных моделях вычисления, так как алгебраическое дерево решений[англ.] и модели алгебраического дерева решений, в которых алгоритм имеет доступ к входным точкам только через определённые ограниченные примитивы, которые осуществляют простые алгебраические вычисления над координатами. В этих моделях задача о паре ближайших точек требует время , но ближайшая пара будет обязательно ребром EMST, так что EMST также требует такого количества времени [2]. Однако, если входные точки имеют целочисленные координаты и доступны битовые операции и индексация таблицы над координатами, то возможны более быстрые алгоритмы[1].

Алгоритмы вычисления EMST на плоскости[править | править код]

Наиболее простой алгоритм поиска EMST в двухмерном пространстве, если дано n точек, заключается в построении полного графа с n вершинами, который имеет n(n-1)/2 рёбер, вычисления веса каждого ребра путём нахождения расстояний между каждой парой точек, а затем выполнения стандартного алгоритма поиска минимального остовного дерева (такого как версия алгоритма Прима или алгоритма Краскала) на этом графе. Поскольку этот граф имеет Θ(n2) рёбер для n различных точек, построение графа требует уже времени Ω(n2). Решение задачи требует также пространство размера для хранения всех рёбер.

Для более совершенного подхода к поиску EMST на плоскости заметим, что он является подграфом любой триангуляции Делоне n точек, что существенно сокращает количество рёбер:

  1. Строим триангуляцию Делоне за время O(n log n) с использованием памяти O(n). Поскольку триангуляция Делоне является планарным графом и число рёбер не более чем в три раза превосходит число вершин, в любом планарном графе, это построение образует лишь O(n) рёбер.
  2. Помечаем каждое ребро его длиной.
  3. Запускаем алгоритм поиска минимального остовного дерева на этом графе. Поскольку имеется O(n) рёбер, этот алгоритм потребует время O(n log n), если использовать любые стандартные алгоритмы минимального остовного дерева, такие как алгоритм Борувки, алгоритм Прима или алгоритм Краскала.

В конечном счёте, алгоритм требует O(n log n) времени и пространство O(n).

Если входные координаты являются целыми числами и могут использоваться как массив индексов, возможны более быстрые алгоритмы — триангуляция Делоне может быть построена с помощью вероятностного алгоритма за время с математическим ожиданием [1]. Кроме того, поскольку триангуляция Делоне является планарным графом, её минимальное остовное дерево может быть найдено за линейное время с помощью варианта алгоритма Борувки, который удаляет все, кроме самых дешёвых, рёбра между каждой парой компонент после каждого этапа алгоритма[3][4]. Таким образом, полное ожидаемое время работы этого алгоритма равно [1].

Более высокие размерности[править | править код]

Задачу можно обобщить на n точек d-мерного пространства ℝd. В более высоких размерностях связность, определённая триангуляцией Делоне (которая разбивает выпуклую оболочку на d-мерные симплексы) содержит минимальное остовное дерево. Однако триангуляция может содержать полный граф[5]. По этой причине поиск евклидова минимального остовного дерева как остовного дерева полного графа или как остовного дерева триангуляций Делоне будут требовать времени . В трёхмерном пространстве можно найти минимальное остовное дерево за время , а в любом пространстве большей размерности можно решить задачу быстрее, чем граница с квадратичным временем для полного графа и алгоритмов триангуляции Делоне[5]. Для равномерно распределённых случайных точек можно вычислить минимальные остовные деревья с той же скоростью, что и сортировка[6]. Используя вполне разделенную декомпозицию пар[англ.], можно получить -аппроксимацию за время [7].

Поддеревья триангуляции Делоне[править | править код]

Все рёбра EMST являются рёбрами графа относительных окрестностей[8][9][10], которые, в свою очередь, являются рёбрами графа Габриэля, которые являются рёбрами в триангуляции Делоне точек[11][12], что может быть доказано через эквивалент контрапозитивному утверждению: любое ребро, не входящее в триангуляцию Делоне, не содержится ни в каком EMST. Доказательство основывается на двух свойствах минимальных остовных деревьев и триангуляции Делоне:

  1. (свойство циклов минимальных остовных деревьев): Для любого цикла C в графе, если вес ребра e графа C больше веса другого ребра C, это ребро не может принадлежать минимальному остовному дереву.
  2. (свойство триангуляций Делоне): Если есть цикл с двумя входными точками на его границе, который не содержит других входных точек, отрезок между этими двумя точками является ребром любой триангуляция Делоне.

Рассмотрим ребро e между двумя входными точками p и q, которое не является ребром триангуляции Делоне. Из свойства 2 вытекает, что цикл C с e в качестве диаметра должен содержать некоторую другую точку r внутри. Но тогда r находится ближе как к p, так и q, чем они по отношению друг к другу, а потому ребро из p в q является самым длинным в цикле точек и по свойству 1 e не принадлежит никакому EMST.

Ожидаемый размер[править | править код]

Ожидаемый размер EMST для больших наборов точек определил Дж. Михаэль Стиил[13]. Если является плотностью функции вероятности для выбора точек, тогда для больших и размер EMST примерно равен

где — константа, зависящая только от размерности . Точное значение констант не известно, но мы можем оценить её из эмпирического опыта.

Приложения[править | править код]

Очевидное применение евклидовых минимальных остовных деревьев — поиск самой дешёвой сети проводов или труб для соединения набора мест при предположении, что цена зависит только от длины единицы соединяющего продукта. Однако, поскольку это даёт абсолютную нижнюю границу на количество необходимого продукта, большинство таких сетей предпочитают рёберно k-связный граф вместо дерева, так что потеря любого отдельной связи не разобьёт сеть на части.

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

Планарная реализация[править | править код]

Задача реализации для евклидовых минимальных остовных деревьев ставится следующим образом: Если дано дерево , найти положение D(u) каждой вершины , так что T является минимальным остовным деревом , или определить, что таких положений не существует. Проверка существования реализации на плоскости является NP-полной задачей[14].

Примечания[править | править код]

  1. 1 2 3 4 Buchin, Mulzer, 2009, с. 139–148.
  2. Yao, 1989, с. 308–313.
  3. Eppstein, 1999, с. 425–461.
  4. Mareš, 2004, с. 315–320.
  5. 1 2 Agarwal, Edelsbrunner, Schwarzkopf, Welzl, 1991, с. 407–422.
  6. Chatterjee, Connor, Kumar, 2010, с. 486–500.
  7. Smid, 2005.
  8. Jaromczyk, Toussaint, 1992, с. 1502–1517.
  9. Toussaint, 1981, с. 860–861.
  10. Toussaint, 1980, с. 261–268.
  11. Pless, 2003.
  12. Sedgewick, Wayne, 2007.
  13. Steele, 1988, с. 1767–1787.
  14. Eades, Whitesides, 1994, с. 49–56.

Литература[править | править код]

  • Kevin Buchin, Wolfgang Mulzer. Delaunay triangulations in O(sort(n)) time and more // Proc. 50th IEEE Symposium on Foundations of Computer Science. — 2009. — doi:10.1109/FOCS.2009.53.
  • Yao A. C.-C. Lower bounds for algebraic computation trees with integer inputs // Proc. 30th Annual Symposium on Foundations of Computer Science (FOCS 1989). — 1989. — doi:10.1109/SFCS.1989.63495.
  • David Eppstein. Spanning trees and spanners // Handbook of Computational Geometry. — Elsevier, 1999.
  • Martin Mareš. Two linear time algorithms for MST on minor closed graph classes // Archivum mathematicum. — 2004. — Т. 40, вып. 3.
  • Pankaj K. Agarwal, Herbert Edelsbrunner, Schwarzkopf O., Emo Welzl. Euclidean minimum spanning trees and bichromatic closest pairs // Discrete and Computational Geometry. — Springer, 1991. — Т. 6, вып. 1. — doi:10.1007/BF02574698.
  • Chatterjee S., Connor M., Kumar P. Geometric minimum spanning trees with GeoFilterKruskal // Symposium on Experimental Algorithms / Paola Festa. — Springer-Verlag, 2010. — Т. 6049. — (Lecture Notes in Computer Science). — doi:10.1007/978-3-642-13193-6_41.
  • Michiel Smid. The well-separated pair decomposition and its applications. — 2005. — Август.
  • Jerzy W. Jaromczyk, Godfried T. Toussaint. Relative neighborhood graphs and their relatives // Proceedings of the IEEE. — 1992. — Т. 80.
  • Godfried T. Toussaint. Comment on algorithms for computing relative neighborhood graph // Electronics Letters. — 1981. — Октябрь (т. 16, № 22).
  • Godfried T. Toussaint. The relative neighborhood graph of a finite planar set // Pattern Recognition. — 1980. — Т. 12.
  • Robert Pless; Associate Professor of Computer Science and Engineering. Lecture 17: Voronoi Diagrams and Delauney Triangulations // Computational Geometry Class Page. — Washington University, 2003. Архивная копия от 12 сентября 2006 на Wayback Machine
  • Robert Sedgewick, Kevin Wayne. Minimum Spanning Tree lecture notes. Computer Science 226: Algorithms & Data Structures. — Princeton University, 2007.
  • J. Michael Steele. Growth rates of Euclidean minimum spanning trees with power weighted edges // The Annals of Probability. — 1988. — Т. 16, вып. 4. — doi:10.1214/aop/1176991596.
  • Peter Eades, Sue Whitesides. The realization problem for Евклидово минимальное остовное дерево s is NP-hard // Proc. 10th ACM Symposium on Computational Geometry. — 1994. — doi:10.1145/177424.177507.
  • Smith College: The Open Problems Project: Problem 5: Euclidean Minimum Spanning Tree
  • Max-Planck-Institut fuer Informatik: Exercise solutions, by Kavitha Telikepalli (Postscript)
  • STANN (Michael Connor, Piyush Kumar and Samidh Chatterjee): C++ библиотека вычисления евклидова минимального остовного дерева в низких размерностях