Слайд 2
Задача Штейнера. Формулировка
На плоскости задано
n точек. Требуется соединить эти точки, используя дополнительные точки
Штейнера, таким образом, чтобы каждая точка была соединена с каждой и чтобы длина всех проведённых линий была минимальна.
Слайд 3
Достаточные условия
В решение могут входить промежуточные точки,
и все соединения должны быть отрезками, соединяющими точки (исходные
и промежуточные).
В каждой промежуточной точке должны сходиться три отрезка
В исходных точках должны сходиться не более трёх отрезков.
Угол между отрезками, сходящимися в одной точке не должен быть меньше 120 градусов
Слайд 4
Типы задач Штейнера.
Евклидова задача Штейнера
Линейная задача Штейнера
Задача Штейнера
на графах.
Слайд 5
Гипотеза Гильберта-Поллака
Пусть на плоскости задано произвольное
множество из n точек. Обозначим LМ длину минимального остовного
дерева, которое стягивает эти точки, и LS – длину минимального дерева Штейнера. Для любого конечного множества точек на плоскости
Слайд 7
Вычисление минимального дерева Штейнера
Ls/Lm=a√3/2a=√3/2
Слайд 9
Вычисление минимального дерева Штейнера
Ls/Lm=14/15=0.93 0.87
Слайд 11
Задача Штайнера NP-полная
Грэм, М. Гэри, Джонсон :
Теорема: задача Штейнера
на графах является NP-полной.
Доказательство:
1. показать, что P принадлежит классу
NP;
2. Выбрать известную NP-полную задачу из P`;
3. Построить преобразование f из P` в P;
4. доказать, что f-полиномиальное преобразования.
Слайд 12
Пункт 1. Задача Штайнера принадлежит классу NP
Предположим
, например принадлежит классу NP.
В этом случае, существует такое решение , и мы можем проверить за полиномиальное время, что:
T действительно дерево: оно не содержит циклов и оно связно;
дерева T касается всех терминалов указанного множества R;
число ребер, которые включает дерево не более k.
Слайд 13
Пункт 2. Задача точного покрытия трёхэлементными множествами
Дано:
конечного
множества X с |X| = 3q;
Множество C состоящее из
3-элементных подмножеств
Вопрос:
Существует ли такое подсемейство С C`, которое соответствует и
члены решения C` образуют разбиение множества X;
.
Слайд 14
Пункт 3.Преобразование из X3C в ST
Приведём пример точного
покрытия трёхэлементными множествами , которое определяется множеством
и группой трёхэлементных множеств Необходимо построить ST такое, что множество терминалов графа G = (V, E) будет равно R и длина остовного дерева не будет превосходить k.
Слайд 15
Пункт 3.Преобразование из X3C в ST
|X|=15
Слайд 16
Пункт 3.Преобразование из X3C в ST
|C|=8
Слайд 17
Пункт 3.Преобразование из X3C в ST
Слайд 18
Пункт 3.Преобразование из X3C в ST
Условия для дерева
Штайнера:
T действительно дерево: оно не содержит циклов и оно
связно;
дерево T касается всех терминалов указанного множества R;
число ребер, которые включает дерево не более k.
Установим K равное 4q, где q - количество трёхэлементных подмножеств задачи Х3С.
Слайд 19
Пункт 3.Решение задачи Х3С
|X|=15
q=5
Слайд 20
Пункт 3.Определение множества рёбер
Слайд 21
Пункт 3.Определение множества рёбер
K=4q=4*5=20
K=5*3+5=20
Слайд 22
Обратное преобразование
из ST в Х3С
K≤4q
V ≤4q+1
По опр.
ДШ, Т содержит {Х} , v и не более
q С-узлов -> Но если V ≤4q+1, С-узлы не охватят все 3q x-узлов
V=4q+1
K=4q
Слайд 23
Обратное преобразование
из ST в Х3С
Слайд 24
Алгоритм аппроксимации Robins, Zelikovsky (2000 г.)
Обозначения:
Дан граф G = (V, E;cost), STP - любое
дерево из G : GS представляет собой полный граф с множеством вершин S.
Пусть MST (GS) минимальное остовное дерево GS.
Для любого графа H, cost(H) является суммой весов всех ребер в H.
Обозначаем Стоимость минимального остовного дерева Н как mst(H).
Дерево Штейнера на подмножество S`, в котором все терминалы листья называется Полной компонентой.
T – дерево, соединяющие каждую вершину Штейнера с терминалом.
Пусть T(H) граф минимальной стоимости в , который содержит H и покрывает все терминалы. Прирост H по отношению к Т определяется
loss(K) является стоимостью подключения точек Штейнера из K к терминалам.
Слайд 25
Loss-Contracting Algorithm (k-LCA)
Loss-Contracting Algorithm (k-LCA)
ВХОД: полный граф G
= (V;E; cost) с весом рёбер, удовлетворяющих неравенству треугольника,
набором терминалов и целым
ВЫХОД: k-ограниченное дерево Штайнера графа G, включающее все терминалы из S
T = MST(GS)
H = GS
Repeat forever
Поиск k-ограниченной полной компоненты K с максимальным r=gainT(K)/loss(K)
If r≤0 then exit repeat
H = H U K
T = MST(T U C[K])
Output дерево MST(H)
Слайд 26
Время работы Loss-Contracting алгоритма в квази-двудольных графах.
Loss-Contracting
алгоритм может быть реализован за общее время работы
O
(n2m) ,
где m и n - количество терминалов и нетерминалов соответственно