Приблизительный алгоритм нахождения леса Штейнера

Рассмотрим взвешенный граф G=(V,E,w). Нам дано семейство подмножеств вершин V_i.

Лес Штейнера — это лес, который для каждого подмножества вершин V_i соединяет все вершины в этом подмножестве с деревом.

Пример: только одно подмножество V_1 = V. В этом случае лес Штейнера является остовным деревом всего графа.

Пример: граф P4 (путь с 4 вершинами) и два подмножества: V_1 = {v1, v4} и V_2 = {v2, v3}. Дерево Штейнера для этого примера — это весь граф.

Достаточно теории. Найти такой лес с минимальным весом сложно (NP-полно). Знаете ли вы более быстрый приближенный алгоритм для поиска такого леса с неоптимальным весом?


person Tadeusz A. Kadłubowski    schedule 19.04.2010    source источник
comment
Это может подойти для SO, но, учитывая очевидный уровень сложности математики, вам может повезти больше на mathoverflow.net.   -  person Michael Petrotta    schedule 19.04.2010
comment
Для полноты: тот же вопрос, который я задавал на mo.net: graph" title="приблизительный алгоритм поиска леса Штейнера на графе">mathoverflow.net/questions/21859/   -  person Tadeusz A. Kadłubowski    schedule 12.05.2011


Ответы (2)


Глава 20 книги Виджая Вазирани «Алгоритмы приближения» описывает схему для создания леса Штейнера. В анализе используется LP-двойственность, которую он использует для определения коэффициента алгоритма:

(Это алгоритм с коэффициентом 2, но на практике он, вероятно, работает довольно хорошо)

Алгоритмы аппроксимации

Также: см. примечание в 22.5, в котором описаны три статьи для дальнейшего чтения, включая обзор темы.

person cjb    schedule 20.04.2010

Может быть, вы можете переформулировать эту задачу как другую NP-полную, для которой вы знаете какие-либо субоптимальные алгоритмы? Это всего лишь предположение - я не могу найти такое отображение с моими очень ограниченными математическими способностями :)

person Victor Sorokin    schedule 20.04.2010