Задача Штейнера о минимальном дереве

undefined

Задача Штейнера о минимальном дереве состоит в поиске кратчайшей сети, соединяющей заданный конечный набор точек плоскости. Задача получила своё название в честь Якоба Штейнера (1796—1863).

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

Общие сведения
Задача Штейнера о минимальном дереве
Названо в честь Якоб Штейнер
Вычислительная сложность NP-полная задача[1]

История

История этой задачи восходит ко времени Пьера Ферма (1601—1665), который, после изложения своего метода исследования минимумов и максимумов, написал[2]:

Qui hanc methodum non probaverit, ei proponitur: Datis tribus punctis, quartum reperire, a quo si ducantur tres rectae ad data puncta, summa trium harum rectarum sit minima quantitas.

Тот же, кто этот метод не оценил, пусть он решит [следующую задачу]: для заданных трех точек найти такую четвертую, что если из неё провести три отрезка в данные точки, то сумма этих трех отрезков даст наименьшую величину.

Эта задача была частично решена Э. Торричелли[3][4] (1608—1647) и Б. Кавальери[5] (1598—1647), учениками Б. Кастелли (1577—1644), затем найденная ими конструкция была модифицирована Т. Симпсоном[6] (1710—1761) и окончательно уточнена Ф. Хейненом[7] и Ж. Бертраном (1822—1900). В результате было получено геометрическое построение точки S, ныне называемой точкой Ферма (иногда точкой Торричелли), которая для трёх заданных точек A, B и C даёт минимально возможную сумму длин отрезков AS, BS, CS.

В 1934 году В. Ярник и O. Кесслер сформулировали[8] обобщение задачи Ферма, заменив три точки на произвольное конечное число. А именно, их задача состоит в описании связных плоских графов наименьшей длины, проходящих через данное конечное множество точек плоскости.

В 1941 году вышла популярная книжка «Что такое математика?»[9] Р. Куранта и Г. Роббинса, в которой авторы писали следующее:

Очень простая и вместе с тем поучительная проблема была изучена в начале прошлого столетия знаменитым берлинским геометром Якобом Штейнером. Требуется соединить три деревни , , системой дорог таким образом, чтобы их общая протяженность была минимальной.
Было бы естественно обобщить эту проблему на случай заданных точек следующим образом: требуется найти в плоскости такую точку , чтобы сумма расстояний (где обозначает расстояние ) обращалась в минимум. … Эта обобщенная проблема, также изученная Штейнером, не ведет к интересным результатам. В данном случае мы имеем дело с поверхностным обобщением, подобных которому немало встречается в математической литературе. Чтобы получить действительно достойное внимания обобщение проблемы Штейнера, приходится отказаться от поисков одной-единственной точки . Вместо того поставим задачей построить «уличную сеть» или «сеть дорог между данными деревнями», обладающую минимальной общей длиной.[9]

Эта книга завоевала заслуженную популярность, в результате чего и задачу Ферма, и задачу Ярника—Кесслера сейчас принято называть проблемой Штейнера.

Алгоритм решения

Эффективного (сложность выражается функцией, ограниченной сверху некоторым полиномом от параметра задачи, в данном случае число вершин графа) алгоритма, дающего точное решение проблемы Штейнера, не существует при условии неравенства классов P и NP, так как проблема является NP-полной. Доказать это несложно через редукцию к задаче о вершинном покрытии.

Несмотря на ограничения, задачу можно решить приближенно, что и делает алгоритм Коу, Марковского и Бергмана. Идея такого подхода заключается в том, что нижняя граница стоимости соединения двух вершин (терминалов) - кратчайший путь между ними, а множество путей минимальной стоимости, соединяющих все терминалы дает 2-аппроксимированное решение, как будет доказано далее. Таким образом алгоритм будет выглядеть следующим образом:

  1. Даны граф , множество терминалов и функция стоимости .
  2. Найди клику и такую, что .
  3. Найди минимальное остовное дерево графа .
  4. Для каждого ребра определи как путь длины в графе .
  5. Вычисли подграф .
  6. Найди минимальное оставное дерево подграфа .
  7. Удали из листья, не содержащиеся в .
  8. Выведи результат.

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

Однако такая оценка аппроксимации не является пределом и возможно улучшить алгоритм, достигнув оценки .

Основные определения

Приведем несколько современных формулировок проблемы Штейнера. В качестве объемлющего пространства вместо евклидовой плоскости рассмотрим произвольное метрическое пространство.

Минимальные деревья Штейнера

Пусть  — метрическое пространство и  — граф на X, то есть, . Для каждого такого графа определены длины его рёбер как расстояния между их вершинами, а также длина самого графа как сумма длин всех его рёбер.

Если  — конечное подмножество , а  — связный граф на , для которого , то называется графом, соединяющим . При этом граф , соединяющий , минимально возможной длины является деревом, которое называется минимальным деревом Штейнера на . Именно изучению таких деревьев и посвящена одна из версий проблемы Штейнера.

Отметим, что минимальные деревья Штейнера существуют не всегда. Тем не менее, точная нижняя грань величин по всем связным графам, соединяющим , всегда существует, называется длиной минимального дерева Штейнера на и обозначается через .

Примеры

Если  — стандартная евклидова плоскость, то есть расстояние порождается нормой , то получаем классическую проблему Штейнера, сформулированную Ярником и Кесслером (см. выше).

Если  — манхэттенская плоскость, то есть расстояние порождается нормой , то получает прямоугольную проблему Штейнера, одним из приложений которой является проектирование разводок микросхем[11]. Более современные разводки моделируются метрикой, порожденной λ-нормой (единичный круг — правильный 2λ-угольник; в этих терминах манхеттенская норма является 2-нормой).

Если в качестве берётся сфера (приблизительно моделирующая поверхность Земли), а за  — длина кратчайшей из двух дуг большой окружности, высекаемой из сферы плоскостью, проходящей через , и центр сферы, то получается разновидность транспортной задачи: требуется соединить заданный набор пунктов (городов, предприятий, абонентов и т. д.) кратчайшей коммуникационной сетью (дорог, трубопроводов, телефонных линий и т. д.), минимизировав затраты на строительство (предполагается, что затраты пропорциональны длине сети).

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

Если в качестве берётся множество вершин связного графа , а в качестве  — функция расстояния, порожденная некоторой весовой функцией , то получается проблема Штейнера в графах. Частным случаем этой проблемы (когда заданное множество совпадает с множеством всех вершин, ) является задача построения минимального остовного дерева.

Минимальные параметрические сети

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

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

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

Если  — конечное подмножество , а отображает на все , то есть , то говорят, что сеть соединяет . Легко видеть, что по всем , для которых . Таким образом, общая задача Штейнера сводится к изучению минимальных параметрических сетей и выбора из них кратчайших.

Одномерные минимальные заполнения в смысле Громова

Это естественное обобщение проблемы Штейнера было предложено А. О. Ивановым и А. А. Тужилиным[12]. Пусть  — произвольное конечное множество и  — некоторый связный граф. Будем говорить, что соединяет , если . Пусть теперь  — конечное псевдометрическое пространство (где, в отличие от метрического пространства, расстояния между разными точками могут быть равны нулю),  — связный граф, соединяющий , и  — некоторое отображение в неотрицательные вещественные числа, называемое обычно весовой функцией и порождающее взвешенный граф . Функция задает на псевдометрику , а именно, расстоянием между вершинами графа назовем наименьший из весов путей, соединяющих эти вершины. Если для любых точек и из выполняется , то взвешенный граф называется заполнением пространства , а граф  — типом этого заполнения. Число , равное по всем заполнениям пространства , назовем весом минимального заполнения, а заполнение , для которого , — минимальным заполнением. Основная задача — научиться вычислять и описывать минимальные заполнения.

Примечания

Литература