Евклидово минимальное остовное дерево или EMST - это минимальное остовное дерево из набора из n точек в плоскости (или, в более общем смысле, в ℝ), где вес ребра между каждой парой points - это евклидово расстояние между этими двумя точками. Проще говоря, EMST соединяет набор точек с помощью линий, так что общая длина всех линий минимизируется, и любая точка может быть достигнута из любой другой, следуя линиям.
На плоскости EMST для данного набора точек может быть найден за Θ (n log n) время, используя пространство O (n) в алгебраическом дереве решений модель вычисления. Более быстрые рандомизированные алгоритмы сложности O (n log log n) известны в более мощных моделях вычислений, которые более точно моделируют возможности реальных компьютеров.
В более высоких измерениях (d ≥ 3) поиск оптимального алгоритма остается открытой проблемой.
Асимптотическая нижняя граница Ω (n log n) для временной сложности задачи EMST может быть установлена в ограниченных моделях вычислений, таких как алгебраическое дерево решений и в моделях, в которых алгоритм имеет доступ к входным точкам только через определенные ограниченные примитивы, которые выполняют простые алгебраические вычисления над своими координатами: в этих моделях задача ближайшей пары точек требует времени Ω (n log n), но cl Пара osest обязательно является краем EMST, поэтому EMST также требует столько времени. Однако, если входные точки имеют целочисленные координаты и побитовые операции и операции индексации таблиц разрешены с использованием этих координат, тогда возможны более быстрые алгоритмы.
Простейший алгоритм для поиска EMST в двух измерениях с учетом n точек состоит в том, чтобы фактически построить полный граф на n вершинах, который имеет n (n-1) / 2 ребра, вычислите вес каждого ребра, найдя расстояние между каждой парой точек, а затем запустите стандартный алгоритм минимального остовного дерева (например, версию алгоритма Прима или алгоритма Крускала ) в теме. Поскольку этот граф имеет Θ (n) ребер для n различных точек, его построение уже требует Ω (n) времени. Это решение также требует пространства Ω (n) для хранения всех ребер.
Лучший подход к поиску EMST на плоскости - отметить, что это подграф каждой триангуляции Делоне из n точек, значительно сокращенный набор ребер:
Конечным результатом является алгоритм, занимающий O (n log n) времени и O (n) пространства.
Если входные координаты являются целыми числами и могут использоваться как индексы массива, возможны более быстрые алгоритмы: триангуляция Делоне может быть построена с помощью рандомизированного алгоритма в O ( n log log n) ожидаемое время. Кроме того, поскольку триангуляция Делоне является плоским графом, ее минимальное остовное дерево может быть найдено за линейное время с помощью варианта алгоритма Борувки, который удаляет все ребра, кроме самых дешевых, между каждой парой компоненты после каждого этапа алгоритма. Следовательно, общее ожидаемое время для этого алгоритма составляет O (n log log n).
Проблема также может быть обобщена на n точек в d-мерном пространстве ℝ. В более высоких измерениях связность, определяемая триангуляцией Делоне (которая аналогичным образом разделяет выпуклую оболочку на d-мерные симплексы ), содержит минимальное остовное дерево; однако триангуляция может содержать полный граф. Следовательно, поиск евклидова минимального остовного дерева как остовного дерева полного графа или как остовного дерева триангуляции Делоне занимает время O (dn). Для трех измерений можно найти минимальное остовное дерево за время O ((n log n)), а в любом измерении, превышающем три, можно решить его за время, которое быстрее, чем квадратичная временная граница для полного граф и алгоритмы триангуляции Делоне. Для равномерно случайных наборов точек можно вычислить минимальные остовные деревья так же быстро, как и сортировку. Используя разложение на хорошо разделенные пары, можно получить (1 + ε) -аппроксимацию за время O (n log n).
Все ребра EMST - это ребра графа относительных окрестностей, которые, в свою очередь, являются ребрами графа Габриэля, которые являются ребрами в триангуляции Делоне точек, что может быть доказано с помощью эквивалентного контрапозитивного утверждения: каждое ребро, не входящее в триангуляцию Делоне, также не входит ни в какой EMST. Доказательство основано на двух свойствах минимальных остовных деревьев и триангуляции Делоне:
Рассмотрим ребро e между двумя входными точками p и q, которое не является ребром триангуляции Делоне. Свойство 2 означает, что окружность C с диаметром e должна содержать другую точку r внутри. Но тогда r ближе к p и q, чем они друг к другу, и поэтому ребро от p до q является самым длинным ребром в цикле точек p → q → r → p, и по свойству 1 e не входит в любой EMST.
Ожидаемый размер EMST для большого количества точек был определен J. Майкл Стил. Если - это плотность функции вероятности для выбора точек, то для больших и размер ЕМТ примерно
где - константа, зависящая только от измерения . Точные значения констант неизвестны, но могут быть оценены на основании эмпирических данных.
Очевидным применением евклидовых минимальных остовных деревьев является поиск самой дешевой сети из проводов или труб для соединения набора точек, предполагая, что ссылки стоят фиксированную сумму за единицу длины. Однако, хотя они дают абсолютную нижнюю границу необходимого количества подключений, большинство таких сетей предпочитают k-связанный граф дереву, так что отказ любого отдельного канала не разбивает сеть на части..
Другое применение EMST - это алгоритм аппроксимации постоянного множителя для приближенного решения евклидовой задачи коммивояжера, версии задачи коммивояжера на множестве точек на плоскости с обозначенными длинами ребер. Этот реалистичный вариант задачи может быть решен с коэффициентом 2 путем вычисления EMST, выполнения обхода по его границе, которая очерчивает все дерево, а затем удаления всех, кроме одного вхождения каждой вершины из этого обхода.
Задача реализации для евклидовых минимальных остовных деревьев формулируется следующим образом: для дерева T = (V, E) найти местоположение D (u) для каждой вершины u ∈ V так, чтобы T было минимальным остовным деревом D (u): u ∈ V, или определить, что таких местоположений не существует. Проверка существования реализации в плоскости является NP-сложной.