1 Комбинаторные алгоритмы Задача о k-центрах. 2 Метрическая задача o k центрах Дано: Полный граф G = (V, E), стоимости ребер cost: E Q + такие, что для.

Презентация:



Advertisements
Похожие презентации
1 Приближенные алгоритмы Комбинаторные алгоритмы.
Advertisements

Комбинаторные алгоритмы Задача о покрытии. Задача о покрытии множествами Дано: Совокупность U из n элементов, и набор подмножеств U, S = {S 1,…, S k },
1 Комбинаторные алгоритмы Локальный поиск. 2 Простейшая задача o размещениях Дано: Полный граф G = (F D, E), стоимости вершин f: F Q + и ребер c: E Q.
Типовые расчёты Растворы
Матроиды Лекция 12. Введение Даны система множеств (E, F ), то есть конечное множество E, F 2 E и стоимостная функция c : F R, найти элемент из F, стоимость.
NP-полнота Основные NP-полные задачи. Задача «Независимое множество» Условие. Задан граф G=(V,E) и целое число k. Вопрос. Существует ли независимое множество.

Линейное программирование Задача теории расписаний.
Алгоритмы на графах Волновой метод. Постановка задачи Постановка задачи. Пусть G – неориентированный связный граф, а и b – две его вершины. Требуется.
Алгоритмы на графах Волновой метод. Постановка задачи Постановка задачи. Пусть G – неориентированный связный граф, а и b – две его вершины. Требуется.
Ребусы Свириденковой Лизы Ученицы 6 класса «А». 10.
Теория графов Алгоритмы на графах. Медиана графа Медиана вершина графа, у которой сумма кратчайших расстояний от неё до вершин графа минимальная возможная.
Графы Лекция 2. Графы Неориентированным графом (графом) называется тройка (V, E, ), где V и E конечные множества и {X V : | X | = 2}. Ориентированным.
Урок повторения по теме: «Сила». Задание 1 Задание 2.
Остовные деревья Лекция 4. Задача «Минимальное остовное дерево» Дано: Граф G, веса c: E(G) R. Найти остовное дерево в G наименьшего веса или определить,
Michael Jackson
Потоки в сетях Теорема о максимальном потоке и минимальном разрезе Лекция 6.
Школьная форма Презентация для родительского собрания.
Приближенные схемы Задачи теории расписаний. Полиномиальная приближенная схема (PTAS) Семейство приближенных алгоритмов для задачи Π, {A ε } ε называется.
Приближенные схемы Задачи теории расписаний. Полиномиальная приближенная схема (PTAS) Семейство приближенных алгоритмов для задачи Π, {A ε } ε называется.
Транксрипт:

1 Комбинаторные алгоритмы Задача о k-центрах

2 Метрическая задача o k центрах Дано: Полный граф G = (V, E), стоимости ребер cost: E Q + такие, что для любых трех вершин u, v и w: cost(u,v) cost(u,w) + cost(w,v). Для любого множества S V, определим connect(v,S) = min{cost(u,v)|u S}. Найти множество S V, с |S|=k, которое минимизирует величину max v {connect(v,S)}. Метрическая задача o k центрах – NP-трудна.

3 Пример 10753

4 Идея алгоритма (k=2, OPT 7) 10753

5 Идея алгоритма (k=2, OPT 3) 10753

6 Параметрическое сокращение Упорядочим ребра в G по невозрастанию их стоимости cost(e 1 ) cost(e 2 ) … cost(e m ). Пусть G i = (V, E i ), где E i ={e 1, e 2,…, e i }. Для каждого G i, нужно проверить существует ли множество S V, с которым смежна каждая вершина из V – S.

7 Доминирующее множество Доминирующим множеством в графе G = (V, E) называется подмножество вершин S V такое, что каждая вершина в V – S смежна некоторой вершине в S. dom(G) – размер доминирующего множества минимальной мощности. Вычисление dom(G) – NP-трудная задача.

8 Задача o k центрах Задача o k центрах эквивалентна задаче нахождения наименьшего индекса i такого, что G i имеет доминирующее множество размера k. G i содержит k звезд (K 1,p ), которые охватывают все вершины. K 1,7

9 G2G2 Независимым множеством в графе G = (V, E) называется подмножество вершин I V такое, что в нем нет смежных вершин. Квадратом графа G = (V, E) называется граф G 2 = (V, E), где (u,v) E, когда длина пути между вершинами u и v меньше или равна 2. G=K 1,4 G2=K5G2=K5

10 Нижняя оценка Лемма 6.1 Дан граф H, пусть I будет независимое множество в H 2. Тогда | I | dom(H).

11 Алгоритм Хошбаум-Шмойса Input (G, cost: E Q + ) 1) Строим G 1 2, G 2 2,…, G m 2. 2) Найти максимальное независимое множество I r в каждом графе G r 2. 3)Вычислить наименьший индекс r такой, что | I r | k. Пусть это будет j. Output (I j )

12 Оценка качества алгоритма Хошбаум-Шмойса Теорема 6.2 Алгоритм Хошбаум-Шмойса является 2-приближенным алгоритмом для метрической задачи o k центрах.

13 Ключевая лемма Лемма 6.3 Для j, определенного алгоритмом, cost(e j ) OPT. Доказательство. Для каждого r k. Тогда по лемме 6.1 dom(G r ) | I r | > k. Поэтому r* > r, и r* j. cost(e j ) OPT

14 Доказательство Теоремы 6.2 Максимальное независимое множество является также и доминирующим. В графе G j 2 найдутся звезды с центрами в вершинах I j, которые покрывают все вершины G. Из неравенства треугольника стоимость ребер в G j 2 не превосходит 2cost(e j ). По лемме 6.3: 2 cost(e j ) 2 OPT.

15 Точность оценки

16 Метрическая задача o взвешенных центрах Дано: Полный граф G = (V, E), стоимости ребер cost: E Q + такие, что для любых трех вершин u, v и w: cost(u,v) cost(u,w) + cost(w,v) и w: V R +, и граница W R +. Найти множество S V, суммарного веса не больше W, которое минимизирует величину max v {connect(v,S)}.

17 Взвешенное доминирующее множество Доминирующим множеством в графе G = (V, E) называется подмножество вершин S V такое, что каждая вершина в V – S смежна некоторой вершине в S. wdom(G) – вес доминирующего множества минимального веса в G. Вычисление wdom(G) – NP-трудная задача.

18 Параметрическое сокращение Упорядочим ребра в G по невозрастанию их стоимости cost(e 1 ) cost(e 2 ) … cost(e m ). Пусть G i = (V, E i ), где E i ={e 1, e 2,…, e i }. Требуется найти наименьший индекс i такой, что G i имеет доминирующее множество веса не больше W, то есть wdom(G i ) W.

19 Лёгкие соседи Расстоянием (dist(v,u), dist G (v,u) ) для двух вершин v и u называется длина кратчайшего v-u-пути в G. Neighbor G (u) = {v| dist G (u,v) 1} Дан граф G = (V, E), и w: V R +, пусть I будет независимое множество в G 2. Пусть s(u) Neighbor G (u) обозначает соседа u в G наименьшего веса. S = {s(u) | u I }

20 Нижняя оценка Лемма 6.4 Дан граф H, пусть I будет независимое множество в H 2. Тогда w(S) wdom(H). Доказательство. Пусть D доминирующее множество минимального веса в H. Тогда набор непересекающихся звезд в H с центрами в D и покрывающими все вершины. Так как, каждая звезда превращается в клику в H 2, то в I попадет не более одной вершины из такой клики. Каждая попавшая вершина является в исходном графе соседом центра из D w(S) wdom(H).

21 Алгоритм Хошбаум-Шмойса-2 Input (G, cost: E Q +, w: V R +,W) 1) Построить G 1 2, G 2 2,…, G m 2. 2) Найти максимальное независимое множество I r в каждом графе G r 2. 3) Построить S r = {s r (u) | u I r } 4) Вычислить наименьший индекс r такой, что w(S r ) W. Пусть это будет j. Output (S j )

22 Оценка качества алгоритма Хошбаум-Шмойса-2 Теорема 6.5 Алгоритм Хошбаум-Шмойса является 3-приближенным алгоритмом для метрической задачи o k взвешенных центрах.

23 Точность оценки 22 1+ε ε 11 1 G b a cd

24 Точность оценки 22 1+ε ε 11 1 G 2 I n+3 ={b} b a cd S n+3 ={a}OPT={a, c}

25 Задача «Кратчайшая суперстрока» Дано: Конечный алфавит Σ и множество из n строк S = {s 1,…,s n } Σ +. Найти кратчайшую суперстроку s, которая содержит каждую строку s i, как подстроку. Без ограничения общности будем считать, что никакая строка s i не содержит другую строку s j, i j, как подстроку.

26 Сумма префиксов s s1s1 s n–1 s2s2 pref(s 1, s 2 ) snsn s1s1 pref(s n–1, s n )pref(s n, s 1 )over(s n, s 1 )

27 Ориентированный граф префиксов G pref = (V, A) – полный орграф. V={s 1,…,s n }={1,…,n} дуга (s i, s j ) имеет вес prefix(s i,s j ). | prefix(s 1,s 2 )| + | prefix(s 2,s 3 )| + …+ | prefix(s n,s 1 )| – вес тура s 1 s 2 … s n s 1 (1 2 … n 1). Минимальный по весу гамильтонов цикл – нижняя оценка на длину кратчайшей суперстроки s.

28 Нижняя оценка Циклическое покрытие – набор непересекающихся циклов, покрывающих все вершины. Гамильтонов цикл также является циклическим покрытием. Циклическое покрытие минимального веса – нижняя оценка на длину кратчайшей суперстроки. Циклическое покрытие минимального веса можно вычислить за полиномиальное время.

29 От цикла к префиксам Если c = (i 1 i 2 … i l i 1 ) – цикл в префиксном графе, то α(с) = prefix(s i 1,s i 2 ) … prefix(s i l-1,s i l ) prefix(s i l,s i 1 ). α(с) – вес цикла с. Каждая из строк s i 1,s i 2,…, s i l – это подстрока в (α(с)). σ(с) = α(с) s i 1. σ(с) – суперстрока над s i 1,s i 2,…, s i l. s i 1 – первая строка в цикле с.

30 Пример abcdeabcdeabcde bcdeabcdeabcdea cdeabcdeabcdeabc deabcdeabcdeabcd abcdeabcdeabcde α(с)=abcde, (α(с)) 2 =abcdeabcde, bcdeabcdeabcdea – подстрока (α(с)) 4. σ(с) = abcdeabcdeabcdeabcde

31 Алгоритм «Суперстрока» Input (s 1,…,s n ) 1) Построить префиксный граф G pref для s 1,…,s n. С 2) Найти минимальное по весу циклическое покрытие G pref, С = {c 1,…,c k } Output (σ(c 1 ) … σ(c k )).

32 Замечание Очевидно, что σ(c 1 ) … σ(c k ) является суперстрокой. Более того, если в каждом цикле есть строка, длина которой не превосходит вес цикла, то решение не превосходит 2OPT. Таким образом решение может быть плохим, если все строки в цикле длинные.

33 Оценка веса покрывающего цикла Лемма 6.6 Если каждая строка в S S является подстрочкой t для строки t, то существует цикл веса не больше t в префиксном графе, покрывающий все вершины, соответствующие строкам в S.

34 Доказательство леммы 6.6 Упорядочим строки из S по моментам их первого появления в t. Все эти моменты различны и появляются в первой копии t. Рассмотрим цикл в префиксном графе, посещающий вершины в заданном порядке. Ясно, что его вес не больше чем t.

35 Оценка мощности пересечения двух первых строк Лемма 6.7 Пусть c и c два цикла в C (циклическое покрытие минимального веса), и пусть r, r первые строки этих циклов. Тогда |overlap(r, r)| < w(c) + w(c).

36 |overlap(r, r)| w(c) + w(c). r r'r' overlap(r, r) αα α'α'α'α' α'α' α α' = α' α α – префикс длины w(c) в пересечении r и r. (α) = (α') цикл длины w(c) в префиксном графе, покрывающем все строки в c и c.

37 Оценка качества алгоритма «Суперстрока» Теорема 6.8 Алгоритм «Суперстрока» является 4-приближенным алгоритмом для задачи «Кратчайшая суперстрока».

38 Доказательство r i – первая строка в с i.