Jump to content

Задача о дереве Штейнера

(Перенаправлено из вершины Штайнера )

Дерево Штейнера для трех точек A , B и C нет прямых связей (обратите внимание, что между A , B , C ). Точка Штейнера S расположена в Ферма треугольника ABC . точке
Решение для четырех точек — есть две точки Штейнера, S 1 и S 2.

В комбинаторной математике проблема дерева Штейнера или проблема минимального дерева Штейнера , названная в честь Якоба Штайнера , является общим термином для класса задач комбинаторной оптимизации . Хотя задачи дерева Штейнера могут быть сформулированы в различных ситуациях, все они требуют оптимального взаимодействия для данного набора объектов и заранее определенной целевой функции . Одним из хорошо известных вариантов, который часто используется как синоним термина «проблема дерева Штейнера», является проблема дерева Штейнера в графах . Учитывая неориентированный граф с неотрицательными весами ребер и подмножеством вершин, обычно называемых терминалами, задача дерева Штейнера в графах требует дерева минимального веса, которое содержит все терминалы (но может включать дополнительные вершины) и минимизирует общий вес. его краев. Другими хорошо известными вариантами являются задача евклидова дерева Штейнера и задача о прямолинейном минимальном дереве Штейнера .

Задачу о дереве Штейнера в графах можно рассматривать как обобщение двух других известных задач комбинаторной оптимизации: задачи (неотрицательного) кратчайшего пути и задачи минимального остовного дерева . Если задача о дереве Штейнера в графах содержит ровно два терминала, она сводится к поиску кратчайшего пути. Если, с другой стороны, все вершины являются терминалами, проблема дерева Штейнера в графах эквивалентна минимальному остовному дереву. Однако, хотя и неотрицательный кратчайший путь, и проблема минимального остовного дерева разрешимы за полиномиальное время , для задачи дерева Штейнера такое решение не известно. Его вариант решения , запрашивающий, имеет ли данный ввод дерево с весом меньше некоторого заданного порога, является NP-полным , что означает, что вариант оптимизации, запрашивающий дерево с минимальным весом в данном графе, является NP-сложным . Фактически, этот вариант решения был среди первоначальных 21 NP-полной задачи Карпа . Проблема дерева Штейнера в графах имеет применение при компоновке схем или сетевой дизайн . Однако практические приложения обычно требуют вариаций, что приводит к появлению множества вариантов задачи дерева Штейнера.

Большинство версий проблемы дерева Штейнера NP-трудны, но некоторые ограниченные случаи можно решить за полиномиальное время. Несмотря на пессимистическую сложность наихудшего случая , несколько вариантов задачи о дереве Штейнера, включая задачу о дереве Штейнера в графах и задачу о прямолинейном дереве Штейнера, можно эффективно решить на практике даже для крупномасштабных реальных задач. [1] [2]

Евклидово дерево Штейнера

[ редактировать ]
Минимальные деревья Штейнера вершин правильных многоугольников с N = от 3 до 8 сторон. Наименьшая длина сети L для N > 5 равна длине окружности за вычетом одной стороны. Квадраты представляют точки Штейнера.

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

Хотя проблема названа в честь Штайнера, впервые она была поставлена ​​в 1811 году Жозефом Диесом Жергонном в следующей форме: «Несколько городов расположены в известных местах на плоскости; задача состоит в том, чтобы соединить их вместе системой каналов. общая длина которого как можно меньше». [3]

Можно показать, что соединяющие отрезки прямых не пересекаются друг с другом, кроме как в конечных точках, и образуют дерево, отсюда и название задачи.

Проблема для N = 3 уже давно рассматривалась и быстро расширилась до проблемы поиска звездообразной сети с одним концентратором, соединяющимся со всеми N заданными точками минимальной общей длины.Однако, хотя полная проблема дерева Штейнера была сформулирована в письме Гаусса , ее первое серьезное рассмотрение было в статье 1934 года, написанной на чешском языке Войтехом Ярником и Милошем Кесслером [ cs ] . На эту статью долгое время не обращали внимания, но она уже содержит «практически все общие свойства деревьев Штейнера», позже приписываемые другим исследователям, включая обобщение проблемы с плоскости на более высокие измерения. [4]

Для евклидовой задачи Штейнера добавленные в граф точки ( точки Штейнера ) должны иметь степень три, а три ребра, инцидентные такой точке, должны образовывать три угла по 120 градусов (см. Точка Ферма ). Отсюда следует, что максимальное количество точек Штейнера, которое может иметь дерево Штейнера, равно N − 2 , где N — начальное количество заданных точек. (все эти свойства были установлены еще Жергонном.)

При N = 3 возможны два случая: если треугольник, образованный данными точками, имеет все углы меньше 120 градусов, то решение дается точкой Штейнера, расположенной в точке Ферма ; в противном случае решение дается двумя сторонами треугольника, которые пересекаются под углом 120 или более градусов.

Для общего N задача евклидова дерева Штейнера является NP-трудной , и, следовательно, неизвестно, оптимальное решение можно ли найти с помощью алгоритма с полиномиальным временем . существует схема аппроксимации за полиномиальное время Однако для евклидовых деревьев Штейнера (PTAS), т. е. почти оптимальное решение может быть найдено за полиномиальное время. [5] Неизвестно, является ли задача евклидова дерева Штейнера NP-полной, поскольку неизвестна принадлежность к классу сложности NP.

Прямолинейное дерево Штейнера

[ редактировать ]

Задача о прямолинейном дереве Штейнера — это вариант геометрической задачи о дереве Штейнера на плоскости, в которой евклидово расстояние заменено прямолинейным расстоянием . Проблема возникает при физическом проектировании средств автоматизации электронного проектирования . В схемах СБИС прокладка проводов осуществляется с помощью проводов, которые по правилам проектирования часто ограничены прокладкой только в вертикальном и горизонтальном направлениях, поэтому задачу прямолинейного дерева Штейнера можно использовать для моделирования прокладки цепей с более чем двумя терминалами. [6]

Дерево Штейнера в графах и вариантах

[ редактировать ]

Деревья Штейнера широко изучались в контексте взвешенных графов . Прототипом, возможно, является задача о дереве Штейнера в графах . Пусть G = ( V , E ) — неориентированный граф с неотрицательными весами ребер c, и пусть S V — подмножество вершин, называемых терминалами . Дерево Штейнера — это дерево в G охватывающее S. , Существует два варианта задачи: в задаче оптимизации, связанной с деревьями Штейнера, задача состоит в нахождении дерева Штейнера с минимальным весом; в задаче принятия решения веса ребер являются целыми числами, и задача состоит в том, чтобы определить, существует ли дерево Штейнера, общий вес которого не превышает заранее определенное натуральное число k . Проблема решения — одна из 21 NP-полной задачи Карпа ; следовательно, задача оптимизации является NP-трудной . Проблемы дерева Штейнера в графах применяются к различным проблемам в исследованиях и промышленности. [7] включая многоадресную маршрутизацию [8] и биоинформатика. [9]

Особым случаем этой проблемы является случай, когда G полный граф , каждая вершина v V соответствует точке в метрическом пространстве , а веса ребер w ( e ) для каждого e E соответствуют расстояниям в пространстве. Другими словами, веса ребер удовлетворяют неравенству треугольника . Этот вариант известен как метрическая проблема дерева Штейнера . Учитывая экземпляр (неметрической) проблемы дерева Штейнера, мы можем за полиномиальное время преобразовать его в эквивалентный экземпляр метрической проблемы дерева Штейнера; преобразование сохраняет коэффициент аппроксимации. [10]

Хотя евклидова версия допускает PTAS, известно, что метрическая задача дерева Штейнера является APX-полной , т. е., если только P = NP , невозможно достичь коэффициентов аппроксимации, сколь угодно близких к 1 за полиномиальное время. Существует алгоритм с полиномиальным временем, который аппроксимирует минимальное дерево Штейнера с точностью до фактора. ; [11] однако аппроксимация с точностью до множителя является NP-трудным. [12] Для ограниченного случая задачи Дерева Штейнера с расстояниями 1 и 2 известен алгоритм аппроксимации 1,25. [13] Карпинский и Александр Зеликовский построили PTAS для плотных случаев задач дерева Штейнера. [14]

В частном случае задачи о графах, задаче о дереве Штейнера для квазидвудольных графов , в требуется, чтобы S включал хотя бы одну конечную точку каждого G. ребра

Проблема дерева Штейнера также исследовалась в более высоких измерениях и на различных поверхностях. Алгоритмы поиска минимального дерева Штейнера были найдены на сфере, торе, проективной плоскости , широких и узких конусах и других. [15]

Другими обобщениями проблемы дерева Штейнера являются задача сети Штейнера с k -связными ребрами и задача сети Штейнера с k -связными вершинами , где цель состоит в том, чтобы найти граф с k -связными ребрами или граф с k -связными вершинами , а не чем любой связный граф. Еще один хорошо изученный [16] Обобщением является проблема проектирования живучей сети (SNDP), где задача состоит в том, чтобы соединить каждую пару вершин с заданным количеством (возможно, 0) путей, не пересекающихся по ребрам или вершинам.

Проблема Штейнера также была сформулирована в общей ситуации метрических пространств и, возможно, для бесконечного числа точек. [17]

Аппроксимация дерева Штейнера

[ редактировать ]

Общая проблема дерева Штейнера в графе может быть аппроксимирована путем вычисления минимального остовного дерева подграфа метрического замыкания графа, индуцированного терминальными вершинами, как впервые опубликовано в 1981 году Коу и др. [18] Метрическое замыкание графа G в котором каждое ребро имеет вес по кратчайшему пути между узлами в G. — это полный граф , Этот алгоритм создает дерево, вес которого находится в пределах 2 - 2/ t коэффициента веса оптимального дерева Штейнера, где t - количество листьев в оптимальном дереве Штейнера; это можно доказать, рассмотрев тур коммивояжера по оптимальному дереву Штейнера. Это приближенное решение вычислимо за полиномиальное время O(|S| |V|²) путем сначала решения задачи о кратчайших путях для всех пар для вычисления замыкания метрики, а затем путем решения задачи о минимальном остовном дереве .

Другой популярный алгоритм аппроксимации дерева Штейнера графами был опубликован Такахаши и Мацуямой в 1980 году. [19] Их решение постепенно строит дерево Штейнера, начиная с произвольной вершины и неоднократно добавляя кратчайший путь от дерева к ближайшей вершине в S , которая еще не была добавлена. Этот алгоритм также имеет время работы O(| S | | V |²) и создает дерево, вес которого находится в пределах 2 − 2/| С | оптимального.

В 1986 году Ву и др. [20] значительно улучшилось время работы за счет исключения предварительного вычисления кратчайших путей для всех пар. Вместо этого они используют подход, аналогичный алгоритму Краскала для вычисления минимального остовного дерева, начиная с леса | С | непересекающиеся деревья и «выращивание» их одновременно с использованием поиска в ширину, напоминающего алгоритм Дейкстры , но начиная с нескольких начальных вершин. Когда при поиске встречается вершина, не принадлежащая текущему дереву, два дерева объединяются в одно. Этот процесс повторяется до тех пор, пока не останется только одно дерево. Используя кучу (структуру данных) для реализации очереди приоритетов и структуру данных с непересекающимся набором для отслеживания того, какому дереву принадлежит каждая посещенная вершина, этот алгоритм достигает времени работы O(| E | log | V |), хотя это и не так. улучшить соотношение затрат 2 - 2/ t по данным Kou et al.

В серии статей были представлены алгоритмы аппроксимации для задачи о минимальном дереве Штейнера с коэффициентами аппроксимации, которые улучшаются по сравнению с соотношением 2 - 2/ t . Кульминацией этой последовательности стал алгоритм Робинса и Зеликовского в 2000 году, который улучшил соотношение до 1,55 за счет итеративного улучшения конечного связующего дерева с минимальной стоимостью. Однако совсем недавно Byrka et al. оказался аппроксимация с использованием релаксации линейного программирования и метода, называемого итеративным рандомизированным округлением. [11]

Параметризованная сложность дерева Штейнера

[ редактировать ]

Общая задача дерева Штейнера на графе, как известно, решается с помощью алгоритма Дрейфуса-Вагнера с фиксированным параметром и количеством терминалов в качестве параметра. [21] [22] Время работы алгоритма Дрейфуса-Вагнера составляет , где n — количество вершин графа, а S — множество терминалов. Существуют более быстрые алгоритмы, работающие в время для любого или, в случае малых весов, время, где W — максимальный вес любого ребра. [23] [24] Недостатком вышеупомянутых алгоритмов является то, что они используют экспоненциальное пространство ; существуют алгоритмы полиномиального пространства, работающие в время и время. [25] [26]

Известно, что общая задача дерева Штейнера на графе не имеет параметризованного алгоритма, работающего в время для любого , где t — количество ребер оптимального дерева Штейнера, если только задача Set Cover не имеет алгоритма, работающего в время для некоторых , где n и m — количество элементов и количество множеств соответственно экземпляра задачи о покрытии множества. [27] Кроме того, известно, что задача не допускает полиномиального ядра, если только , даже параметризованный количеством ребер оптимального дерева Штейнера и если все веса ребер равны 1. [28]

Параметризованная аппроксимация дерева Штейнера

[ редактировать ]

Хотя задача дерева Штейнера на графе не допускает полиномиального ядра, если только параметризованный количеством терминалов, он допускает приближенную схему кернеризации полиномиального размера (PSAKS): для любого можно вычислить ядро ​​полиномиального размера, которое теряет только фактор качества решения. [29]

При параметризации задачи дерева Штейнера графа числом p нетерминалов (вершин Штейнера) в оптимальном решении задача является W[1]-трудной (в отличие от параметризации числом терминалов, как упоминалось выше). В то же время задача является APX-полной и, следовательно, не допускает PTAS , если только P = NP . Однако существует параметризованная схема аппроксимации , которая для любого вычисляет -аппроксимация в время. [30] Для этой параметризации также существует PSAKS. [30]

Коэффициент Штейнера

[ редактировать ]

Коэффициент Штейнера — это верхняя граница отношения общей длины минимального остовного дерева к минимальному дереву Штейнера для набора точек на евклидовой плоскости. [31]

Предполагается, что в задаче о евклидовом дереве Штейнера отношение Штейнера равно , соотношение, которое достигается тремя точками в равностороннем треугольнике с остовным деревом, использующим две стороны треугольника, и деревом Штейнера, соединяющим точки через центр тяжести треугольника. Несмотря на более ранние заявления о доказательствах, [32] гипотеза все еще остается открытой. [33] Наилучшая общепризнанная верхняя граница задачи — 1,2134, предложенная Чангом и Грэмом (1985) .

Для прямолинейной задачи о дереве Штейнера коэффициент Штейнера точно равен , соотношение, которое достигается четырьмя точками в квадрате с остовным деревом, использующим три стороны квадрата, и деревом Штейнера, соединяющим точки через центр квадрата. [34] Точнее, для расстояние, на которое должен быть наклонен квадрат относительно осей координат, а для расстояние, на котором квадрат должен быть выровнен по оси.

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ Рефельдт и Кох (2023) .
  2. ^ Джул и др. (2018) .
  3. ^ Маркус Бразилия, Рональд Л. Грэм, Дорин А. Томас и Мартин Захариасен, «К истории проблемы евклидова дерева Штейнера», JSTOR   24569605
  4. ^ Корте, Бернхард ; Нешетрил, Ярослав (2001), «Работа Войтеха Ярника по комбинаторной оптимизации», Discrete Mathematics , 235 (1–3): 1–17, doi : 10.1016/S0012-365X(00)00256-9 , hdl : 10338.dmlcz/ 500662 , МР   1829832 .
  5. ^ Крещенци и др. (2000) .
  6. ^ Шервани (1993) , с. 228.
  7. ^ Любич, Ивана (2021). «Решение деревьев Штейнера: последние достижения, проблемы и перспективы» . Сети . 77 (2): 177–204. дои : 10.1002/net.22005 . ISSN   1097-0037 . S2CID   229458488 .
  8. ^ Новак, Роман; Ругель, Жозе; Кандус, Горазд (1 октября 2001 г.). «Заметка о распределенной многоадресной маршрутизации в сетях точка-точка» . Компьютеры и исследования операций . 28 (12): 1149–1164. дои : 10.1016/S0305-0548(00)00029-0 . ISSN   0305-0548 .
  9. ^ Климм, Флориан; Толедо, Энрике М.; Монфега, Томас; Чжан, Фанг; Дин, Шарлотта М.; Райнерт, Гезине (2 ноября 2020 г.). «Обнаружение функциональных модулей посредством интеграции данных секвенирования одноклеточной РНК с сетями белок-белкового взаимодействия» . БМК Геномика . 21 (1): 756. doi : 10.1186/s12864-020-07144-2 . ISSN   1471-2164 . ПМЦ   7607865 . ПМИД   33138772 .
  10. ^ Вазирани (2003) , стр. 27–28.
  11. ^ Jump up to: а б Бирка и др. (2010) .
  12. ^ Хлебик и Хлебикова (2008) .
  13. ^ Берман, Карпински и Зеликовский (2009) .
  14. ^ Карпинский и Зеликовский (1998) .
  15. ^ Смит и Винтер (1995) , с. 361.
  16. ^ Керивин, Эрве; Махджуб, А. Рида (2005). «Проектирование живучих сетей: исследование» . Сети . 46 (1): 1–21. дои : 10.1002/net.20072 . ISSN   0028-3045 . S2CID   8165318 .
  17. ^ Паолини и Степанов (2012) .
  18. ^ Коу, Марковски и Берман (1981) .
  19. ^ Такахаси и Мацуяма (1980) .
  20. ^ Ву, Видмайер и Вонг (1986) .
  21. ^ Дрейфус и Вагнер (1971) .
  22. ^ Левин (1971) .
  23. ^ Фукс и др. (2007) .
  24. ^ Бьорклунд и др. (2007) .
  25. ^ Локштанов и Недерлоф (2010) .
  26. ^ Fomin et al. (2015) .
  27. ^ Сайган и др. (2016) .
  28. ^ Дом, Локштанов и Саураб (2014) .
  29. ^ Локштанов Даниил; Панолан, Фахад; Рамануджан, М.С.; Саураб, Сакет (19 июня 2017 г.). «Кернеризация с потерями» . Материалы 49-го ежегодного симпозиума ACM SIGACT по теории вычислений (PDF) . STOC 2017. Нью-Йорк, штат Нью-Йорк, США: Ассоциация вычислительной техники. стр. 224–237. дои : 10.1145/3055399.3055456 . ISBN  978-1-4503-4528-6 . S2CID   14599219 .
  30. ^ Jump up to: а б Дворжак, Павел; Фельдманн, Андреас Э.; Кноп, Душан; Масаржик, Томаш; Туфар, Томас; Веселый, Павел (1 января 2021 г.). «Параметризованные схемы аппроксимации деревьев Штейнера с малым числом вершин Штейнера» . SIAM Journal по дискретной математике . 35 (1): 546–574. arXiv : 1710.00668 . дои : 10.1137/18M1209489 . ISSN   0895-4801 . S2CID   3581913 .
  31. ^ Гэнли (2004) .
  32. Газета «Нью-Йорк Таймс» от 30 октября 1990 года сообщила, что доказательство было найдено и что Рональд Грэм , предложивший за доказательство 500 долларов, собирался отправить авторам чек.
  33. ^ Иванов и Тужилин (2012) .
  34. ^ Хван (1976) .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: fe22367962812f882a43c2d2954dd4cd__1718940360
URL1:https://arc.ask3.ru/arc/aa/fe/cd/fe22367962812f882a43c2d2954dd4cd.html
Заголовок, (Title) документа по адресу, URL1:
Steiner tree problem - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)