Задача Штейнера о минимальном дереве
Задача Штейнера о минимальном дереве | |
---|---|
Названо в честь | Якоб Штейнер |
Вычислительная сложность | NP-полная задача[1] |
Медиафайлы на Викискладе |
Задача Штейнера о минимальном дереве состоит в поиске кратчайшей сети, соединяющей заданный конечный набор точек плоскости. Задача получила своё название в честь Якоба Штейнера (1796—1863).
Альтернативное условие задачи заключается в поиске минимального подграфа, соединяющего конечное число заданных вершин (терминалов) и образующего таким образом сеть кратчайших путей между этими вершинами. Задача является вариацией задачи поиска минимального остовного дерева.
История
[править | править код]История этой задачи восходит ко времени Пьера Ферма (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-аппроксимированное решение, как будет доказано далее. Таким образом алгоритм будет выглядеть следующим образом:
- Даны граф , множество терминалов и функция стоимости .
- Найди клику и такую, что .
- Найди минимальное остовное дерево графа .
- Для каждого ребра определи как путь длины в графе .
- Вычисли подграф .
- Найди минимальное оставное дерево подграфа .
- Удали из листья, не содержащиеся в .
- Выведи результат.
Доказательство фактора аппроксимации сводится к оценке результата алгоритма и точного решения: . Если удвоить все рёбра оптимального решения, мы получим цикл , содержащий все вершины . же определяет остовное дерево на графе , состоящее только из терминальных вершин. Таким образом . В качестве алгоритма поиска минимальных остовных деревьев можно использовать эффективный алгоритм Краскала.[10]
Однако такая оценка аппроксимации не является пределом и возможно улучшить алгоритм, достигнув оценки .
Основные определения
[править | править код]Приведем несколько современных формулировок проблемы Штейнера. В качестве объемлющего пространства вместо евклидовой плоскости рассмотрим произвольное метрическое пространство.
Минимальные деревья Штейнера
[править | править код]Пусть — метрическое пространство и — граф на X, то есть, . Для каждого такого графа определены длины его рёбер как расстояния между их вершинами, а также длина самого графа как сумма длин всех его рёбер.
Если — конечное подмножество , а — связный граф на , для которого , то называется графом, соединяющим . При этом граф , соединяющий , минимально возможной длины является деревом, которое называется минимальным деревом Штейнера на . Именно изучению таких деревьев и посвящена одна из версий проблемы Штейнера.
Отметим, что минимальные деревья Штейнера существуют не всегда. Тем не менее, точная нижняя грань величин по всем связным графам, соединяющим , всегда существует, называется длиной минимального дерева Штейнера на и обозначается через .
- Примеры
Если — стандартная евклидова плоскость, то есть расстояние порождается нормой , то получаем классическую проблему Штейнера, сформулированную Ярником и Кесслером (см. выше).
Если — манхэттенская плоскость, то есть расстояние порождается нормой , то получает прямоугольную проблему Штейнера, одним из приложений которой является проектирование разводок микросхем[11]. Более современные разводки моделируются метрикой, порожденной λ-нормой (единичный круг — правильный 2λ-угольник; в этих терминах манхеттенская норма является 2-нормой).
Если в качестве берётся сфера (приблизительно моделирующая поверхность Земли), а за — длина кратчайшей из двух дуг большой окружности, высекаемой из сферы плоскостью, проходящей через , и центр сферы, то получается разновидность транспортной задачи: требуется соединить заданный набор пунктов (городов, предприятий, абонентов и т. д.) кратчайшей коммуникационной сетью (дорог, трубопроводов, телефонных линий и т. д.), минимизировав затраты на строительство (предполагается, что затраты пропорциональны длине сети).
Если в качестве берётся множество всех слов над некоторым алфавитом, а в качестве — расстояние Левенштейна, то получается вариант проблемы Штейнера, который широко используется в биоинформатике, в частности, для построения эволюционного дерева.
Если в качестве берётся множество вершин связного графа , а в качестве — функция расстояния, порожденная некоторой весовой функцией , то получается проблема Штейнера в графах. Частным случаем этой проблемы (когда заданное множество совпадает с множеством всех вершин, ) является задача построения минимального остовного дерева.
Минимальные параметрические сети
[править | править код]Пусть — некоторое подмножество множества вершин графа , содержащее все вершины степени 1 и 2. Пара называется графом с границей . Если — связный граф, и — некоторое отображение в метрическое пространство , то каждое отображение , ограничение которого на совпадает с , называется сетью типа с границей в метрическом пространстве . Ограничение сети на вершины и ребра графа называются соответственно вершинами и ребрами этой сети. Длиной ребра сети называется величина , а длиной сети — сумма длин всех её ребер.
Обозначим через множество всех сетей типа с границей . Сеть из , имеющая наименьшую возможную длину, называется минимальной параметрической сетью типа с границей .
Отметим, что, как и в случае минимальных деревьев Штейнера, минимальная параметрическая сеть существует не всегда. Тем не менее, точная нижняя грань величин по всем сетям из , всегда существует, называется длиной минимальной параметрической сети и обозначается через .
Если — конечное подмножество , а отображает на все , то есть , то говорят, что сеть соединяет . Легко видеть, что по всем , для которых . Таким образом, общая задача Штейнера сводится к изучению минимальных параметрических сетей и выбора из них кратчайших.
Одномерные минимальные заполнения в смысле Громова
[править | править код]Это естественное обобщение проблемы Штейнера было предложено А. О. Ивановым и А. А. Тужилиным[12]. Пусть — произвольное конечное множество и — некоторый связный граф. Будем говорить, что соединяет , если . Пусть теперь — конечное псевдометрическое пространство (где, в отличие от метрического пространства, расстояния между разными точками могут быть равны нулю), — связный граф, соединяющий , и — некоторое отображение в неотрицательные вещественные числа, называемое обычно весовой функцией и порождающее взвешенный граф . Функция задает на псевдометрику , а именно, расстоянием между вершинами графа назовем наименьший из весов путей, соединяющих эти вершины. Если для любых точек и из выполняется , то взвешенный граф называется заполнением пространства , а граф — типом этого заполнения. Число , равное по всем заполнениям пространства , назовем весом минимального заполнения, а заполнение , для которого , — минимальным заполнением. Основная задача — научиться вычислять и описывать минимальные заполнения.
Примечания
[править | править код]- ↑ Карп Р. М., Карп Р. М. Reducibility among Combinatorial Problems — 1972. — doi:10.1007/978-1-4684-2001-2_9
- ↑ Fermat P. de (1643), Ed. H.Tannery (ed.), "Oeuvres", vol. 1, Paris 1891, Supplement: Paris 1922, p. 153
{{citation}}
: Википедия:Обслуживание CS1 (location) (ссылка) Википедия:Обслуживание CS1 (числовые имена: authors list) (ссылка) - ↑ G. Loria, G. Vassura (1919), Opere de Evangelista Torriceli, vol. 1, pp. 79—97
- ↑ J. Krarup, S. Vajda. On Torricelli's geometrical solution to a problem of Fermat (англ.) // IMA J. Math. Appl. Bus. Indust. : journal. — 1997. — Vol. 8, no. 3. — P. 215—224. — doi:10.1093/imaman/8.3.215.
- ↑ B. Cavalieri (1647), Excercitationes Geometricae
- ↑ T. Simpson (1750), "The Doctrine and Application of Fluxions"
- ↑ F. Heinen (1834), "Über Systeme von Kräften", Gymnasium zu Cleve, Essen
- ↑ V. Jarník, O. Kössler (1934), "O minimálních grafech obsahujících n daných bodu", Ĉas, Pêstování Mat., 63, Essen: 223—235, Архивировано 4 марта 2016, Дата обращения: 29 июля 2013 Источник . Дата обращения: 29 июля 2013. Архивировано 4 марта 2016 года.
- ↑ 1 2 R. Courant, H. Robbins (1941), What Is Mathematics?, Oxford University Press
- ↑ Белоусов А. И., Ткачев С. Б. Дискретная математика. — М.: МГТУ, 2006. — С. 306—311. — ISBN 5-7038-2886-4.
- ↑ Курейчик В. М. Генетические алгоритмы и их применение. Таганрогский РТУ, 2002. 244 с.
- ↑ A. O. Ivanov, A. A. Tuzhilin. One-dimensional Gromov minimal filling (неопр.). Архивировано 6 мая 2021 года.
Литература
[править | править код]- А. О. Иванов, А. А. Тужилин. Теория экстремальных сетей. — Москва–Ижевск: Институт компьютерных исследований, 2003. — ISBN 5-93972-292-X.
- А. О. Иванов, А. А. Тужилин. Задача Штейнера на плоскости или плоские минимальные сети // Матем. сб.. — 1991. — Т. 182, № 12. — С. 1813—1844.
- Протасов В. Ю. Максимумы и минимумы в геометрии. — М.: МЦНМО. — 56 с. — (Библиотека «Математическое просвещение», выпуск 31).
- Weisstein, Eric W. Steiner Tree (англ.) на сайте Wolfram MathWorld.