Аноним

Обобщенная задача построения сети Штейнера: различия между версиями

Материал из WEGA
м
нет описания правки
мНет описания правки
мНет описания правки
 
(не показаны 3 промежуточные версии этого же участника)
Строка 6: Строка 6:




Формально исходными данными обобщенной задачи построения сети Штейнера является неориентированный мультиграф G = (V, E), в котором каждое ребро <math>e \in E \;</math> имеет неотрицательную стоимость cost c(e), а для каждой пары вершин <math>i, j \in V \;</math> имеется требование связности <math>r_{i,j} \in \mathbb{Z} \;</math>. Допустимое решение представляет собой подмножество ребер <math>E' \subseteq E \;</math>, такое, что каждая пара вершин <math>i, j \in V \;</math> соединена по меньшей мере <math>r_{i,j} \;</math> реберно-непересекащихся путей в графе G' = (V, E').
Формально исходными данными обобщенной задачи построения сети Штейнера является неориентированный мультиграф G = (V, E), в котором каждое ребро <math>e \in E \;</math> имеет неотрицательную стоимость c(e), а для каждой пары вершин <math>i, j \in V \;</math> имеется требование связности <math>r_{i,j} \in \mathbb{Z} \;</math>. Допустимое решение представляет собой подмножество ребер <math>E' \subseteq E \;</math>, такое, что каждая пара вершин <math>i, j \in V \;</math> соединена по меньшей мере <math>r_{i,j} \;</math> реберно-непересекащихся путей в графе G' = (V, E').




Строка 12: Строка 12:




Эта задача обобщает несколько классических задач конструирования сетей. Среди них можно упомянуть минимальное остовное дерево, дереве Штейнера и лес Штейнера. Наиболее общим случаем с ранее известной 2-аппроксимацией была задача построения леса Штейнера [1, 4].
Эта задача обобщает несколько классических задач конструирования сетей. Среди них можно упомянуть [[минимальное остовное дерево]], [[дерево Штейнера]] и [[лес Штейнера]]. Наиболее общим случаем с ранее известной 2-аппроксимацией была задача построения леса Штейнера [1, 4].




Уильямсон и др. [8] первыми представили нетривиальный алгоритм аппроксимации для обобщенной задачи построения сети Штейнера, получив 2k-аппроксимацию, где <math>k = max_{i,j \in V} \{ r_{i, j} \} \;</math>. Этот результат был улучшен до O(log k)-аппроксимации в работе Геманса и др. [3].
Уильямсон и др. [8] первыми представили нетривиальный аппроксимационный алгоритм для обобщенной задачи построения сети Штейнера, получив 2k-аппроксимацию, где <math>k = max_{i,j \in V} \{ r_{i, j} \} \;</math>. Этот результат был улучшен до O(log k)-аппроксимации в работе Геманса и др. [3].


== Основные результаты ==
== Основные результаты ==
Строка 32: Строка 32:




Для любого подмножества вершин <math>S \subseteq V \;</math> обозначим за <math>\delta (S) \;</math> множество ребер, строго одна из конечных точек которых принадлежит к S. Задача заключается в нахождении подмножества ребер минимальной стоимости <math>E' \subseteq E \;</math>, такого, что для любого подмножества вершин <math>S \subseteq V</math> выполнялось бы свойство <math>| \delta (S) \cap E' | \ge f(S) \;</math>.
Для любого подмножества вершин <math>S \subseteq V \;</math> обозначим за <math>\delta (S) \;</math> множество ребер, у которых строго одна из конечных точек принадлежит к S. Задача заключается в нахождении подмножества ребер минимальной стоимости <math>E' \subseteq E \;</math>, такого, что для любого подмножества вершин <math>S \subseteq V</math> выполнялось бы свойство <math>| \delta (S) \cap E' | \ge f(S) \;</math>.




Строка 53: Строка 53:
'''Техника'''
'''Техника'''


Алгоритм аппроксимации использует технику LP-округления. Исходная линейная программа (LP) получается из программы (IP) в результате замены ограничения целочисленности (2) на ограничение
Аппроксимационный алгоритм использует технику LP-округления. Исходная линейная программа (LP) получается из программы (IP) в результате замены ограничения целочисленности (2) на ограничение


(3) <math>0 \le x_e \le 1 \; \; \; \forall e \in E</math>
(3) <math>0 \le x_e \le 1 \; \; \; \forall e \in E</math>
Строка 64: Строка 64:




Алгоритм аппроксимации выполняет итеративное LP-округление. Пусть имеется базовое оптимальное решение (LP); обозначим за <math>E^* \subseteq E \;</math> подмножество ребер e с <math>x_e \ge 1/2 \;</math>. Ребра из E* удаляются из графа (и затем добавляются к решению), после чего задача рекурсивно решается на оставшемся графе при помощи решения (LP) на G* = (V, E \ E*), где для каждого подмножества <math>S \subseteq V \;</math> имеется новое требование <math>f(S) - | \beta (S) \cap E^* | \;</math>. Следующее наблюдение приводит к получению аппроксимации с коэффициентом 2: если E' является 2-аппроксимацией для оставшейся задачи, то <math>E' \cap E^* \;</math> является 2-аппроксимацией для исходной задачи.
Аппроксимационный алгоритм выполняет итеративное LP-округление. Пусть имеется базовое оптимальное решение (LP); обозначим за <math>E^* \subseteq E \;</math> подмножество ребер e с <math>x_e \ge 1/2 \;</math>. Ребра из E* удаляются из графа (и затем добавляются к решению), после чего задача рекурсивно решается на оставшемся графе при помощи решения (LP) на G* = (V, E \ E*), где для каждого подмножества <math>S \subseteq V \;</math> имеется новое требование <math>f(S) - | \beta (S) \cap E^* | \;</math>. Следующее наблюдение приводит к получению аппроксимации с коэффициентом 2: если E' является 2-аппроксимацией для оставшейся задачи, то <math>E' \cap E^* \;</math> является 2-аппроксимацией для исходной задачи.




4446

правок