stringtranslate.com

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

Дерево Штейнера для трех точек 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 неизвестна.

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

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

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

Деревья Штейнера были широко изучены в контексте взвешенных графов . Прототипом, возможно, является задача о дереве Штейнера в графах . Пусть G  = ( VE ) — неориентированный граф с неотрицательными весами ребер 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/| S | от оптимального.

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

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

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

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

Известно, что общая задача дерева Штейнера для графа не имеет параметризованного алгоритма, работающего за время для любого , где t — число ребер оптимального дерева Штейнера, если только задача покрытия множеств не имеет алгоритма, работающего за время для некоторого , где 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). «Решение деревьев Штейнера: последние достижения, проблемы и перспективы». Networks . 77 (2): 177–204. doi :10.1002/net.22005. ISSN  1097-0037. S2CID  229458488.
  8. ^ Новак, Роман; Ругель, Йозеф; Кандус, Горазд (1 октября 2001 г.). «Заметка о распределенной многоадресной маршрутизации в сетях «точка-точка». Computers & Operations Research . 28 (12): 1149–1164. doi :10.1016/S0305-0548(00)00029-0. ISSN  0305-0548.
  9. ^ Климм, Флориан; Толедо, Энрике М.; Монфёга, Томас; Чжан, Фанг; Дин, Шарлотта М.; Рейнерт, Джесин (2 ноября 2020 г.). «Обнаружение функциональных модулей посредством интеграции данных секвенирования одноклеточной РНК с сетями белок-белкового взаимодействия». BMC Genomics . 21 (1): 756. doi : 10.1186/s12864-020-07144-2 . ISSN  1471-2164. PMC 7607865 . PMID  33138772. 
  10. ^ Вазирани (2003), стр. 27–28.
  11. ^ ab Бирка и др. (2010).
  12. ^ Хлебик и Хлебикова (2008).
  13. ^ Берман, Карпински и Зеликовский (2009).
  14. ^ Карпински и Зеликовский (1998).
  15. ^ Смит и Винтер (1995), стр. 361.
  16. ^ Керивин, Эрве; Махджуб, А. Ридха (2005). «Проектирование живучих сетей: обзор». Networks . 46 (1): 1–21. doi :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. ^ Фомин и др. (2015).
  27. ^ Cygan и др. (2016).
  28. ^ Дом, Локштанов и Саураб (2014).
  29. ^ Локштанов, Даниэль; Панолан, Фахад; Рамануджан, М.С.; Саурабх, Сакет (19 июня 2017 г.). «Lossy kernelization». Труды 49-го ежегодного симпозиума ACM SIGACT по теории вычислений (PDF) . STOC 2017. Нью-Йорк, США: Ассоциация вычислительной техники. стр. 224–237. doi :10.1145/3055399.3055456. ISBN 978-1-4503-4528-6. S2CID  14599219.
  30. ^ аб Дворжак, Павел; Фельдманн, Андреас Э.; Кноп, Душан; Масаржик, Томаш; Туфар, Томаш; Веселый, Павел (1 января 2021 г.). «Параметризованные схемы аппроксимации деревьев Штейнера с малым числом вершин Штейнера». SIAM Journal по дискретной математике . 35 (1): 546–574. arXiv : 1710.00668 . дои : 10.1137/18M1209489. ISSN  0895-4801. S2CID  3581913.
  31. ^ Гэнли (2004).
  32. The New York Times от 30 октября 1990 года сообщила, что доказательство найдено и что Рональд Грэм , предложивший за доказательство 500 долларов, собирается отправить авторам чек.
  33. ^ Иванов и Тужилин (2012).
  34. ^ Хван (1976).

Ссылки

Внешние ссылки