108
Алгоритмы для NP-трудных задач Лекция 6: Приближенные алгоритмы А. Куликов Computer Science клуб при ПОМИ http://logic.pdmi.ras.ru/infclub/ А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 1 / 28

Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Embed Size (px)

Citation preview

Page 1: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Алгоритмы для NP-трудных задачЛекция 6: Приближенные алгоритмы

А. Куликов

Computer Science клуб при ПОМИhttp://logic.pdmi.ras.ru/∼infclub/

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 1 / 28

Page 2: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

План лекции

1 Задача о коммивояжереТочный алгоритм для TSP2-приближенный алгоритм для Metric TSP3/2-приближенный алгоритм для Metric TSPНеприближаемость TSP

2 Задача о рюкзаке

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 2 / 28

Page 3: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

План лекции

1 Задача о коммивояжереТочный алгоритм для TSP2-приближенный алгоритм для Metric TSP3/2-приближенный алгоритм для Metric TSPНеприближаемость TSP

2 Задача о рюкзаке

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 2 / 28

Page 4: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере

План лекции

1 Задача о коммивояжереТочный алгоритм для TSP2-приближенный алгоритм для Metric TSP3/2-приближенный алгоритм для Metric TSPНеприближаемость TSP

2 Задача о рюкзаке

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 3 / 28

Page 5: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере

Задача о коммивояжере

Определение

Дан полный неориентированный граф G = (V , E ), каждому ребру(u, v) которого приписана некоторая стоимость c(u, v).Задача о коммивояжере (travelling salesman problem, TSP)заключается в нахождении в графе гамильтонова цикламинимальной стоимости.Задача о коммивояжере в метрическом пространстве (metric TSP)есть частный случай задачи о коммивояжере, где расстояниявходного графа удовлетворяют неравенству треугольника:

c(u, w) ≤ c(u, v) + c(v , w) ∀u, v , w ∈ V .

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 4 / 28

Page 6: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере

Задача о коммивояжере

Определение

Дан полный неориентированный граф G = (V , E ), каждому ребру(u, v) которого приписана некоторая стоимость c(u, v).

Задача о коммивояжере (travelling salesman problem, TSP)заключается в нахождении в графе гамильтонова цикламинимальной стоимости.Задача о коммивояжере в метрическом пространстве (metric TSP)есть частный случай задачи о коммивояжере, где расстояниявходного графа удовлетворяют неравенству треугольника:

c(u, w) ≤ c(u, v) + c(v , w) ∀u, v , w ∈ V .

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 4 / 28

Page 7: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере

Задача о коммивояжере

Определение

Дан полный неориентированный граф G = (V , E ), каждому ребру(u, v) которого приписана некоторая стоимость c(u, v).Задача о коммивояжере (travelling salesman problem, TSP)заключается в нахождении в графе гамильтонова цикламинимальной стоимости.

Задача о коммивояжере в метрическом пространстве (metric TSP)есть частный случай задачи о коммивояжере, где расстояниявходного графа удовлетворяют неравенству треугольника:

c(u, w) ≤ c(u, v) + c(v , w) ∀u, v , w ∈ V .

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 4 / 28

Page 8: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере

Задача о коммивояжере

Определение

Дан полный неориентированный граф G = (V , E ), каждому ребру(u, v) которого приписана некоторая стоимость c(u, v).Задача о коммивояжере (travelling salesman problem, TSP)заключается в нахождении в графе гамильтонова цикламинимальной стоимости.Задача о коммивояжере в метрическом пространстве (metric TSP)есть частный случай задачи о коммивояжере, где расстояниявходного графа удовлетворяют неравенству треугольника:

c(u, w) ≤ c(u, v) + c(v , w) ∀u, v , w ∈ V .

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 4 / 28

Page 9: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере

NP-трудность

Задача о коммивояжере является NP-трудной.Тривиальный алгоритм перебирает все возможные пути за времяn!.Наилучший известный на данный момент алгоритм основан надинамическом программировании и имеет время работы (а такжепамять) 2n.Задача о коммивояжере в метрическом пространстве тожеявляется NP-трудной.

допустим, мы умеем решать эту задачу за полиномиальное времявозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса 2тогда построение минимального гамильтонова цикла в полученномграфе эквивалентно ответу на вопрос, существует ли в исходномграфе гамильтонов цикл

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 5 / 28

Page 10: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере

NP-трудность

Задача о коммивояжере является NP-трудной.

Тривиальный алгоритм перебирает все возможные пути за времяn!.Наилучший известный на данный момент алгоритм основан надинамическом программировании и имеет время работы (а такжепамять) 2n.Задача о коммивояжере в метрическом пространстве тожеявляется NP-трудной.

допустим, мы умеем решать эту задачу за полиномиальное времявозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса 2тогда построение минимального гамильтонова цикла в полученномграфе эквивалентно ответу на вопрос, существует ли в исходномграфе гамильтонов цикл

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 5 / 28

Page 11: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере

NP-трудность

Задача о коммивояжере является NP-трудной.Тривиальный алгоритм перебирает все возможные пути за времяn!.

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

допустим, мы умеем решать эту задачу за полиномиальное времявозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса 2тогда построение минимального гамильтонова цикла в полученномграфе эквивалентно ответу на вопрос, существует ли в исходномграфе гамильтонов цикл

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 5 / 28

Page 12: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере

NP-трудность

Задача о коммивояжере является NP-трудной.Тривиальный алгоритм перебирает все возможные пути за времяn!.Наилучший известный на данный момент алгоритм основан надинамическом программировании и имеет время работы (а такжепамять) 2n.

Задача о коммивояжере в метрическом пространстве тожеявляется NP-трудной.

допустим, мы умеем решать эту задачу за полиномиальное времявозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса 2тогда построение минимального гамильтонова цикла в полученномграфе эквивалентно ответу на вопрос, существует ли в исходномграфе гамильтонов цикл

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 5 / 28

Page 13: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере

NP-трудность

Задача о коммивояжере является NP-трудной.Тривиальный алгоритм перебирает все возможные пути за времяn!.Наилучший известный на данный момент алгоритм основан надинамическом программировании и имеет время работы (а такжепамять) 2n.Задача о коммивояжере в метрическом пространстве тожеявляется NP-трудной.

допустим, мы умеем решать эту задачу за полиномиальное времявозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса 2тогда построение минимального гамильтонова цикла в полученномграфе эквивалентно ответу на вопрос, существует ли в исходномграфе гамильтонов цикл

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 5 / 28

Page 14: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере

NP-трудность

Задача о коммивояжере является NP-трудной.Тривиальный алгоритм перебирает все возможные пути за времяn!.Наилучший известный на данный момент алгоритм основан надинамическом программировании и имеет время работы (а такжепамять) 2n.Задача о коммивояжере в метрическом пространстве тожеявляется NP-трудной.

допустим, мы умеем решать эту задачу за полиномиальное время

возьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса 2тогда построение минимального гамильтонова цикла в полученномграфе эквивалентно ответу на вопрос, существует ли в исходномграфе гамильтонов цикл

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 5 / 28

Page 15: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере

NP-трудность

Задача о коммивояжере является NP-трудной.Тривиальный алгоритм перебирает все возможные пути за времяn!.Наилучший известный на данный момент алгоритм основан надинамическом программировании и имеет время работы (а такжепамять) 2n.Задача о коммивояжере в метрическом пространстве тожеявляется NP-трудной.

допустим, мы умеем решать эту задачу за полиномиальное времявозьмем произвольный граф и присвоим всем его ребрам вес 1

между любыми двумя не соединенными ребром вершинамидобавим ребро веса 2тогда построение минимального гамильтонова цикла в полученномграфе эквивалентно ответу на вопрос, существует ли в исходномграфе гамильтонов цикл

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 5 / 28

Page 16: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере

NP-трудность

Задача о коммивояжере является NP-трудной.Тривиальный алгоритм перебирает все возможные пути за времяn!.Наилучший известный на данный момент алгоритм основан надинамическом программировании и имеет время работы (а такжепамять) 2n.Задача о коммивояжере в метрическом пространстве тожеявляется NP-трудной.

допустим, мы умеем решать эту задачу за полиномиальное времявозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса 2

тогда построение минимального гамильтонова цикла в полученномграфе эквивалентно ответу на вопрос, существует ли в исходномграфе гамильтонов цикл

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 5 / 28

Page 17: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере

NP-трудность

Задача о коммивояжере является NP-трудной.Тривиальный алгоритм перебирает все возможные пути за времяn!.Наилучший известный на данный момент алгоритм основан надинамическом программировании и имеет время работы (а такжепамять) 2n.Задача о коммивояжере в метрическом пространстве тожеявляется NP-трудной.

допустим, мы умеем решать эту задачу за полиномиальное времявозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса 2тогда построение минимального гамильтонова цикла в полученномграфе эквивалентно ответу на вопрос, существует ли в исходномграфе гамильтонов цикл

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 5 / 28

Page 18: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере Точный алгоритм для TSP

План лекции

1 Задача о коммивояжереТочный алгоритм для TSP2-приближенный алгоритм для Metric TSP3/2-приближенный алгоритм для Metric TSPНеприближаемость TSP

2 Задача о рюкзаке

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 6 / 28

Page 19: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере Точный алгоритм для TSP

Задача о коммивояжере

Алгоритм

Dynamic-TSP(G )

для каждого непустого подмножества S ⊆ {2, . . . , n} и для каждойвершины i ∈ S через Opt[S , i ] будем обозначать длинукратчайшего маршрута, начнинающегося в вершине 1,проходящему через все вершины S − {i} и заканчивающегося ввершине iпоследовательно заполнить матрицу:Opt[S , i ] = min{Opt[S − {i}, j ] + d(i , j) : j ∈ S − {i}}вернуть оптимальную стоимость маршрута:min{Opt[{2, . . . , n}, j ] + d(j , 1) : 2 ≤ j ≤ n}

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 7 / 28

Page 20: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере Точный алгоритм для TSP

Задача о коммивояжере

Алгоритм

Dynamic-TSP(G )для каждого непустого подмножества S ⊆ {2, . . . , n} и для каждойвершины i ∈ S через Opt[S , i ] будем обозначать длинукратчайшего маршрута, начнинающегося в вершине 1,проходящему через все вершины S − {i} и заканчивающегося ввершине i

последовательно заполнить матрицу:Opt[S , i ] = min{Opt[S − {i}, j ] + d(i , j) : j ∈ S − {i}}вернуть оптимальную стоимость маршрута:min{Opt[{2, . . . , n}, j ] + d(j , 1) : 2 ≤ j ≤ n}

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 7 / 28

Page 21: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере Точный алгоритм для TSP

Задача о коммивояжере

Алгоритм

Dynamic-TSP(G )для каждого непустого подмножества S ⊆ {2, . . . , n} и для каждойвершины i ∈ S через Opt[S , i ] будем обозначать длинукратчайшего маршрута, начнинающегося в вершине 1,проходящему через все вершины S − {i} и заканчивающегося ввершине iпоследовательно заполнить матрицу:Opt[S , i ] = min{Opt[S − {i}, j ] + d(i , j) : j ∈ S − {i}}

вернуть оптимальную стоимость маршрута:min{Opt[{2, . . . , n}, j ] + d(j , 1) : 2 ≤ j ≤ n}

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 7 / 28

Page 22: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере Точный алгоритм для TSP

Задача о коммивояжере

Алгоритм

Dynamic-TSP(G )для каждого непустого подмножества S ⊆ {2, . . . , n} и для каждойвершины i ∈ S через Opt[S , i ] будем обозначать длинукратчайшего маршрута, начнинающегося в вершине 1,проходящему через все вершины S − {i} и заканчивающегося ввершине iпоследовательно заполнить матрицу:Opt[S , i ] = min{Opt[S − {i}, j ] + d(i , j) : j ∈ S − {i}}вернуть оптимальную стоимость маршрута:min{Opt[{2, . . . , n}, j ] + d(j , 1) : 2 ≤ j ≤ n}

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 7 / 28

Page 23: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере Точный алгоритм для TSP

Сложность алгоритма

ЛеммаСложность алгоритма Dynamic-TSP по времени и по памяти естьpoly(n)2n.

ФактДанный теоретический алгоритм был представлен в 1962-м году и досих пор является самым быстрым из известных.

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 8 / 28

Page 24: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере Точный алгоритм для TSP

Сложность алгоритма

ЛеммаСложность алгоритма Dynamic-TSP по времени и по памяти естьpoly(n)2n.

ФактДанный теоретический алгоритм был представлен в 1962-м году и досих пор является самым быстрым из известных.

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 8 / 28

Page 25: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 2-приближенный алгоритм для Metric TSP

План лекции

1 Задача о коммивояжереТочный алгоритм для TSP2-приближенный алгоритм для Metric TSP3/2-приближенный алгоритм для Metric TSPНеприближаемость TSP

2 Задача о рюкзаке

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 9 / 28

Page 26: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 2-приближенный алгоритм для Metric TSP

2-оптимальный алгоритм

Алгоритм

Approx-TSP(G )

строим минимальное остовное дерево T графа Gпродублируем каждое ребро дерева T и в полученном графенайдем эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 10 / 28

Page 27: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 2-приближенный алгоритм для Metric TSP

2-оптимальный алгоритм

Алгоритм

Approx-TSP(G )строим минимальное остовное дерево T графа G

продублируем каждое ребро дерева T и в полученном графенайдем эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 10 / 28

Page 28: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 2-приближенный алгоритм для Metric TSP

2-оптимальный алгоритм

Алгоритм

Approx-TSP(G )строим минимальное остовное дерево T графа Gпродублируем каждое ребро дерева T и в полученном графенайдем эйлеров цикл

выкинем из полученного цикла все повторения вершин и вернемполученный цикл

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 10 / 28

Page 29: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 2-приближенный алгоритм для Metric TSP

2-оптимальный алгоритм

Алгоритм

Approx-TSP(G )строим минимальное остовное дерево T графа Gпродублируем каждое ребро дерева T и в полученном графенайдем эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 10 / 28

Page 30: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 2-приближенный алгоритм для Metric TSP

Пример работы алгоритма

Алгоритм

Approx-TSP(G )

строим минимальноеостовное дерево Tграфа Gпродублируем каждоеребро дерева T и вполученном графенайдем эйлеров циклвыкинем из полученногоцикла все повторениявершин и вернемполученный цикл

a

b

c

d

e

f g

h

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 11 / 28

Page 31: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 2-приближенный алгоритм для Metric TSP

Пример работы алгоритма

Алгоритм

Approx-TSP(G )строим минимальноеостовное дерево Tграфа G

продублируем каждоеребро дерева T и вполученном графенайдем эйлеров циклвыкинем из полученногоцикла все повторениявершин и вернемполученный цикл

a

b

c

d

e

f g

h

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 11 / 28

Page 32: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 2-приближенный алгоритм для Metric TSP

Пример работы алгоритма

Алгоритм

Approx-TSP(G )строим минимальноеостовное дерево Tграфа Gпродублируем каждоеребро дерева T и вполученном графенайдем эйлеров цикл

выкинем из полученногоцикла все повторениявершин и вернемполученный цикл

a

b

c

d

e

f g

h

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 11 / 28

Page 33: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 2-приближенный алгоритм для Metric TSP

Пример работы алгоритма

Алгоритм

Approx-TSP(G )строим минимальноеостовное дерево Tграфа Gпродублируем каждоеребро дерева T и вполученном графенайдем эйлеров цикл

выкинем из полученногоцикла все повторениявершин и вернемполученный цикл

a

b

c

d

e

f g

h

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 11 / 28

Page 34: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 2-приближенный алгоритм для Metric TSP

Пример работы алгоритма

Алгоритм

Approx-TSP(G )строим минимальноеостовное дерево Tграфа Gпродублируем каждоеребро дерева T и вполученном графенайдем эйлеров циклвыкинем из полученногоцикла все повторениявершин и вернемполученный цикл

a

b

c

d

e

f g

h

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 11 / 28

Page 35: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 2-приближенный алгоритм для Metric TSP

Анализ алгоритма

ТеоремаАлгоритм Approx-TSP является 2-приближенным.

Доказательствопусть WT — вес минимального остовного дерева, а Wopt — весоптимального гамильтонова циклаWT ≤ Wopt, поскольку при выкидывании ребра из гамильтонвацикла получается остовное деревокаждое ребро построенного гамильтонова цикла заменяеткакой-то путь эйлерова цикла, длина которого по неравенствутреугольника не менее длины этого ребразначит, длина найденного пути не превосходит 2WT , аследовательно, и 2Wopt

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 12 / 28

Page 36: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 2-приближенный алгоритм для Metric TSP

Анализ алгоритма

ТеоремаАлгоритм Approx-TSP является 2-приближенным.

Доказательство

пусть WT — вес минимального остовного дерева, а Wopt — весоптимального гамильтонова циклаWT ≤ Wopt, поскольку при выкидывании ребра из гамильтонвацикла получается остовное деревокаждое ребро построенного гамильтонова цикла заменяеткакой-то путь эйлерова цикла, длина которого по неравенствутреугольника не менее длины этого ребразначит, длина найденного пути не превосходит 2WT , аследовательно, и 2Wopt

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 12 / 28

Page 37: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 2-приближенный алгоритм для Metric TSP

Анализ алгоритма

ТеоремаАлгоритм Approx-TSP является 2-приближенным.

Доказательствопусть WT — вес минимального остовного дерева, а Wopt — весоптимального гамильтонова цикла

WT ≤ Wopt, поскольку при выкидывании ребра из гамильтонвацикла получается остовное деревокаждое ребро построенного гамильтонова цикла заменяеткакой-то путь эйлерова цикла, длина которого по неравенствутреугольника не менее длины этого ребразначит, длина найденного пути не превосходит 2WT , аследовательно, и 2Wopt

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 12 / 28

Page 38: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 2-приближенный алгоритм для Metric TSP

Анализ алгоритма

ТеоремаАлгоритм Approx-TSP является 2-приближенным.

Доказательствопусть WT — вес минимального остовного дерева, а Wopt — весоптимального гамильтонова циклаWT ≤ Wopt, поскольку при выкидывании ребра из гамильтонвацикла получается остовное дерево

каждое ребро построенного гамильтонова цикла заменяеткакой-то путь эйлерова цикла, длина которого по неравенствутреугольника не менее длины этого ребразначит, длина найденного пути не превосходит 2WT , аследовательно, и 2Wopt

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 12 / 28

Page 39: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 2-приближенный алгоритм для Metric TSP

Анализ алгоритма

ТеоремаАлгоритм Approx-TSP является 2-приближенным.

Доказательствопусть WT — вес минимального остовного дерева, а Wopt — весоптимального гамильтонова циклаWT ≤ Wopt, поскольку при выкидывании ребра из гамильтонвацикла получается остовное деревокаждое ребро построенного гамильтонова цикла заменяеткакой-то путь эйлерова цикла, длина которого по неравенствутреугольника не менее длины этого ребра

значит, длина найденного пути не превосходит 2WT , аследовательно, и 2Wopt

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 12 / 28

Page 40: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 2-приближенный алгоритм для Metric TSP

Анализ алгоритма

ТеоремаАлгоритм Approx-TSP является 2-приближенным.

Доказательствопусть WT — вес минимального остовного дерева, а Wopt — весоптимального гамильтонова циклаWT ≤ Wopt, поскольку при выкидывании ребра из гамильтонвацикла получается остовное деревокаждое ребро построенного гамильтонова цикла заменяеткакой-то путь эйлерова цикла, длина которого по неравенствутреугольника не менее длины этого ребразначит, длина найденного пути не превосходит 2WT , аследовательно, и 2Wopt

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 12 / 28

Page 41: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

План лекции

1 Задача о коммивояжереТочный алгоритм для TSP2-приближенный алгоритм для Metric TSP3/2-приближенный алгоритм для Metric TSPНеприближаемость TSP

2 Задача о рюкзаке

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 13 / 28

Page 42: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

3/2-оптимальный алгоритм

Алгоритм

Approx-TSP-Improved(G )

строим минимальное остовное дерево T графа Gнайдем минимальное полное паросочетание всех вершин дерева Tнечетной степенидобавим найденные ребра в дерево T и найдем в полученномграфе эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 14 / 28

Page 43: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

3/2-оптимальный алгоритм

Алгоритм

Approx-TSP-Improved(G )строим минимальное остовное дерево T графа G

найдем минимальное полное паросочетание всех вершин дерева Tнечетной степенидобавим найденные ребра в дерево T и найдем в полученномграфе эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 14 / 28

Page 44: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

3/2-оптимальный алгоритм

Алгоритм

Approx-TSP-Improved(G )строим минимальное остовное дерево T графа Gнайдем минимальное полное паросочетание всех вершин дерева Tнечетной степени

добавим найденные ребра в дерево T и найдем в полученномграфе эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 14 / 28

Page 45: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

3/2-оптимальный алгоритм

Алгоритм

Approx-TSP-Improved(G )строим минимальное остовное дерево T графа Gнайдем минимальное полное паросочетание всех вершин дерева Tнечетной степенидобавим найденные ребра в дерево T и найдем в полученномграфе эйлеров цикл

выкинем из полученного цикла все повторения вершин и вернемполученный цикл

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 14 / 28

Page 46: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

3/2-оптимальный алгоритм

Алгоритм

Approx-TSP-Improved(G )строим минимальное остовное дерево T графа Gнайдем минимальное полное паросочетание всех вершин дерева Tнечетной степенидобавим найденные ребра в дерево T и найдем в полученномграфе эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 14 / 28

Page 47: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

Анализ алгоритма

Теорема

Алгоритм Approx-TSP-Improved является 3/2-приближенным.

Доказательствокак и в предыдущем доказательстве, вес построенного цикла непровосходит WT + WP , где WP — вес минимальногопаросочетания вершин нечетной степени дерева Tнужно показать, что WP ≤ Wopt/2обозначим через A множество всех вершин нечетной степенидерева Tрассмотрим такой гамильтонов цикл на вершинах множества A:вершины множества A в нем будут встречаться в такойпоследовательности, в какой они идут в оптимальномгамильтоновом цикле графа G

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 15 / 28

Page 48: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

Анализ алгоритма

Теорема

Алгоритм Approx-TSP-Improved является 3/2-приближенным.

Доказательство

как и в предыдущем доказательстве, вес построенного цикла непровосходит WT + WP , где WP — вес минимальногопаросочетания вершин нечетной степени дерева Tнужно показать, что WP ≤ Wopt/2обозначим через A множество всех вершин нечетной степенидерева Tрассмотрим такой гамильтонов цикл на вершинах множества A:вершины множества A в нем будут встречаться в такойпоследовательности, в какой они идут в оптимальномгамильтоновом цикле графа G

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 15 / 28

Page 49: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

Анализ алгоритма

Теорема

Алгоритм Approx-TSP-Improved является 3/2-приближенным.

Доказательствокак и в предыдущем доказательстве, вес построенного цикла непровосходит WT + WP , где WP — вес минимальногопаросочетания вершин нечетной степени дерева T

нужно показать, что WP ≤ Wopt/2обозначим через A множество всех вершин нечетной степенидерева Tрассмотрим такой гамильтонов цикл на вершинах множества A:вершины множества A в нем будут встречаться в такойпоследовательности, в какой они идут в оптимальномгамильтоновом цикле графа G

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 15 / 28

Page 50: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

Анализ алгоритма

Теорема

Алгоритм Approx-TSP-Improved является 3/2-приближенным.

Доказательствокак и в предыдущем доказательстве, вес построенного цикла непровосходит WT + WP , где WP — вес минимальногопаросочетания вершин нечетной степени дерева Tнужно показать, что WP ≤ Wopt/2

обозначим через A множество всех вершин нечетной степенидерева Tрассмотрим такой гамильтонов цикл на вершинах множества A:вершины множества A в нем будут встречаться в такойпоследовательности, в какой они идут в оптимальномгамильтоновом цикле графа G

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 15 / 28

Page 51: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

Анализ алгоритма

Теорема

Алгоритм Approx-TSP-Improved является 3/2-приближенным.

Доказательствокак и в предыдущем доказательстве, вес построенного цикла непровосходит WT + WP , где WP — вес минимальногопаросочетания вершин нечетной степени дерева Tнужно показать, что WP ≤ Wopt/2обозначим через A множество всех вершин нечетной степенидерева T

рассмотрим такой гамильтонов цикл на вершинах множества A:вершины множества A в нем будут встречаться в такойпоследовательности, в какой они идут в оптимальномгамильтоновом цикле графа G

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 15 / 28

Page 52: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

Анализ алгоритма

Теорема

Алгоритм Approx-TSP-Improved является 3/2-приближенным.

Доказательствокак и в предыдущем доказательстве, вес построенного цикла непровосходит WT + WP , где WP — вес минимальногопаросочетания вершин нечетной степени дерева Tнужно показать, что WP ≤ Wopt/2обозначим через A множество всех вершин нечетной степенидерева Tрассмотрим такой гамильтонов цикл на вершинах множества A:вершины множества A в нем будут встречаться в такойпоследовательности, в какой они идут в оптимальномгамильтоновом цикле графа G

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 15 / 28

Page 53: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

Доказательство (продолжение)

Доказательство

важно отметить, что нам не нужно строить такой цикл; нам важенлишь факт его существованияразбив вершины только что построенного цикла на четные инечетные, мы получим два паросочетаниявес хотя бы одного из них будет не более Wopt/2значит, и вес минимального паросочетания не превосходитWopt/2

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 16 / 28

Page 54: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

Доказательство (продолжение)

Доказательствоважно отметить, что нам не нужно строить такой цикл; нам важенлишь факт его существования

разбив вершины только что построенного цикла на четные инечетные, мы получим два паросочетаниявес хотя бы одного из них будет не более Wopt/2значит, и вес минимального паросочетания не превосходитWopt/2

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 16 / 28

Page 55: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

Доказательство (продолжение)

Доказательствоважно отметить, что нам не нужно строить такой цикл; нам важенлишь факт его существованияразбив вершины только что построенного цикла на четные инечетные, мы получим два паросочетания

вес хотя бы одного из них будет не более Wopt/2значит, и вес минимального паросочетания не превосходитWopt/2

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 16 / 28

Page 56: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

Доказательство (продолжение)

Доказательствоважно отметить, что нам не нужно строить такой цикл; нам важенлишь факт его существованияразбив вершины только что построенного цикла на четные инечетные, мы получим два паросочетаниявес хотя бы одного из них будет не более Wopt/2

значит, и вес минимального паросочетания не превосходитWopt/2

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 16 / 28

Page 57: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

Доказательство (продолжение)

Доказательствоважно отметить, что нам не нужно строить такой цикл; нам важенлишь факт его существованияразбив вершины только что построенного цикла на четные инечетные, мы получим два паросочетаниявес хотя бы одного из них будет не более Wopt/2значит, и вес минимального паросочетания не превосходитWopt/2

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 16 / 28

Page 58: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

Известные оценки

Факт

Если P ̸=NP, то не существует 117116 -приближенного алгоритма для

задачи о коммивояжере в метрическом пространстве.3/2 — лучшее известное приближение для задачи окоммивояжере в метрическом пространстве.Для случая, когда все ребра имеют вес 1 или 2, известен5/6-приближенный алгоритм.

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 17 / 28

Page 59: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

Известные оценки

Факт

Если P ̸=NP, то не существует 117116 -приближенного алгоритма для

задачи о коммивояжере в метрическом пространстве.

3/2 — лучшее известное приближение для задачи окоммивояжере в метрическом пространстве.Для случая, когда все ребра имеют вес 1 или 2, известен5/6-приближенный алгоритм.

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 17 / 28

Page 60: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

Известные оценки

Факт

Если P ̸=NP, то не существует 117116 -приближенного алгоритма для

задачи о коммивояжере в метрическом пространстве.3/2 — лучшее известное приближение для задачи окоммивояжере в метрическом пространстве.

Для случая, когда все ребра имеют вес 1 или 2, известен5/6-приближенный алгоритм.

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 17 / 28

Page 61: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP

Известные оценки

Факт

Если P ̸=NP, то не существует 117116 -приближенного алгоритма для

задачи о коммивояжере в метрическом пространстве.3/2 — лучшее известное приближение для задачи окоммивояжере в метрическом пространстве.Для случая, когда все ребра имеют вес 1 или 2, известен5/6-приближенный алгоритм.

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 17 / 28

Page 62: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере Неприближаемость TSP

План лекции

1 Задача о коммивояжереТочный алгоритм для TSP2-приближенный алгоритм для Metric TSP3/2-приближенный алгоритм для Metric TSPНеприближаемость TSP

2 Задача о рюкзаке

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 18 / 28

Page 63: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере Неприближаемость TSP

Неприближаемость задачи о коммивояжере

Теорема

Пусть P ̸=NP и 𝛼(n) = c ∈ N. Тогда не существует 𝛼(n)-приближенногоалгоритма для задачи о коммивояжере.

Доказательствопредположим, что такой алгоритм все-таки существуетвозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса cn + 1заметим теперь, что если в исходном графе существуетгамильтонов цикл, то в новом графе существует гамильтоновцикл веса n

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 19 / 28

Page 64: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере Неприближаемость TSP

Неприближаемость задачи о коммивояжере

Теорема

Пусть P ̸=NP и 𝛼(n) = c ∈ N. Тогда не существует 𝛼(n)-приближенногоалгоритма для задачи о коммивояжере.

Доказательство

предположим, что такой алгоритм все-таки существуетвозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса cn + 1заметим теперь, что если в исходном графе существуетгамильтонов цикл, то в новом графе существует гамильтоновцикл веса n

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 19 / 28

Page 65: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере Неприближаемость TSP

Неприближаемость задачи о коммивояжере

Теорема

Пусть P ̸=NP и 𝛼(n) = c ∈ N. Тогда не существует 𝛼(n)-приближенногоалгоритма для задачи о коммивояжере.

Доказательствопредположим, что такой алгоритм все-таки существует

возьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса cn + 1заметим теперь, что если в исходном графе существуетгамильтонов цикл, то в новом графе существует гамильтоновцикл веса n

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 19 / 28

Page 66: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере Неприближаемость TSP

Неприближаемость задачи о коммивояжере

Теорема

Пусть P ̸=NP и 𝛼(n) = c ∈ N. Тогда не существует 𝛼(n)-приближенногоалгоритма для задачи о коммивояжере.

Доказательствопредположим, что такой алгоритм все-таки существуетвозьмем произвольный граф и присвоим всем его ребрам вес 1

между любыми двумя не соединенными ребром вершинамидобавим ребро веса cn + 1заметим теперь, что если в исходном графе существуетгамильтонов цикл, то в новом графе существует гамильтоновцикл веса n

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 19 / 28

Page 67: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере Неприближаемость TSP

Неприближаемость задачи о коммивояжере

Теорема

Пусть P ̸=NP и 𝛼(n) = c ∈ N. Тогда не существует 𝛼(n)-приближенногоалгоритма для задачи о коммивояжере.

Доказательствопредположим, что такой алгоритм все-таки существуетвозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса cn + 1

заметим теперь, что если в исходном графе существуетгамильтонов цикл, то в новом графе существует гамильтоновцикл веса n

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 19 / 28

Page 68: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере Неприближаемость TSP

Неприближаемость задачи о коммивояжере

Теорема

Пусть P ̸=NP и 𝛼(n) = c ∈ N. Тогда не существует 𝛼(n)-приближенногоалгоритма для задачи о коммивояжере.

Доказательствопредположим, что такой алгоритм все-таки существуетвозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса cn + 1заметим теперь, что если в исходном графе существуетгамильтонов цикл, то в новом графе существует гамильтоновцикл веса n

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 19 / 28

Page 69: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере Неприближаемость TSP

Доказательство (продолжение)

Доказательство

если же такого цикла в исходном графе нет, то самый дешевыйцикл в новом графе имеет вес хотя бы (nc + 1) + (n − 1) > ncтаким образом, с помощью 𝛼(n)-приближенного алгоритма длязадачи о коммивояжере мы можем понять, стоимостьоптимального цикла в построенном графе превосходит n или нета это позволит нам понять (за полиномиальное время!), есть висходном графе гамильтонов цикл или нетно тогда P=NP

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 20 / 28

Page 70: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере Неприближаемость TSP

Доказательство (продолжение)

Доказательствоесли же такого цикла в исходном графе нет, то самый дешевыйцикл в новом графе имеет вес хотя бы (nc + 1) + (n − 1) > nc

таким образом, с помощью 𝛼(n)-приближенного алгоритма длязадачи о коммивояжере мы можем понять, стоимостьоптимального цикла в построенном графе превосходит n или нета это позволит нам понять (за полиномиальное время!), есть висходном графе гамильтонов цикл или нетно тогда P=NP

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 20 / 28

Page 71: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере Неприближаемость TSP

Доказательство (продолжение)

Доказательствоесли же такого цикла в исходном графе нет, то самый дешевыйцикл в новом графе имеет вес хотя бы (nc + 1) + (n − 1) > ncтаким образом, с помощью 𝛼(n)-приближенного алгоритма длязадачи о коммивояжере мы можем понять, стоимостьоптимального цикла в построенном графе превосходит n или нет

а это позволит нам понять (за полиномиальное время!), есть висходном графе гамильтонов цикл или нетно тогда P=NP

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 20 / 28

Page 72: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере Неприближаемость TSP

Доказательство (продолжение)

Доказательствоесли же такого цикла в исходном графе нет, то самый дешевыйцикл в новом графе имеет вес хотя бы (nc + 1) + (n − 1) > ncтаким образом, с помощью 𝛼(n)-приближенного алгоритма длязадачи о коммивояжере мы можем понять, стоимостьоптимального цикла в построенном графе превосходит n или нета это позволит нам понять (за полиномиальное время!), есть висходном графе гамильтонов цикл или нет

но тогда P=NP

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 20 / 28

Page 73: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о коммивояжере Неприближаемость TSP

Доказательство (продолжение)

Доказательствоесли же такого цикла в исходном графе нет, то самый дешевыйцикл в новом графе имеет вес хотя бы (nc + 1) + (n − 1) > ncтаким образом, с помощью 𝛼(n)-приближенного алгоритма длязадачи о коммивояжере мы можем понять, стоимостьоптимального цикла в построенном графе превосходит n или нета это позволит нам понять (за полиномиальное время!), есть висходном графе гамильтонов цикл или нетно тогда P=NP

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 20 / 28

Page 74: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

План лекции

1 Задача о коммивояжереТочный алгоритм для TSP2-приближенный алгоритм для Metric TSP3/2-приближенный алгоритм для Metric TSPНеприближаемость TSP

2 Задача о рюкзаке

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 21 / 28

Page 75: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Задача о рюкзаке

Определение

Дано n предметов с весами w1, . . . , wn ∈ N и стоимостямиp1, . . . , pn ∈ N, а также общий вес W .Задача о рюкзаке (knapsack problem) заключается в нахождениитакого множества предметов I ⊆ [1..n], что

∑︀i∈I wi ≤ W и∑︀

i∈I pi максимально.НУО, maxi∈[1..n] wi ≤ W .

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 22 / 28

Page 76: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Задача о рюкзаке

ОпределениеДано n предметов с весами w1, . . . , wn ∈ N и стоимостямиp1, . . . , pn ∈ N, а также общий вес W .

Задача о рюкзаке (knapsack problem) заключается в нахождениитакого множества предметов I ⊆ [1..n], что

∑︀i∈I wi ≤ W и∑︀

i∈I pi максимально.НУО, maxi∈[1..n] wi ≤ W .

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 22 / 28

Page 77: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Задача о рюкзаке

ОпределениеДано n предметов с весами w1, . . . , wn ∈ N и стоимостямиp1, . . . , pn ∈ N, а также общий вес W .Задача о рюкзаке (knapsack problem) заключается в нахождениитакого множества предметов I ⊆ [1..n], что

∑︀i∈I wi ≤ W и∑︀

i∈I pi максимально.

НУО, maxi∈[1..n] wi ≤ W .

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 22 / 28

Page 78: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Задача о рюкзаке

ОпределениеДано n предметов с весами w1, . . . , wn ∈ N и стоимостямиp1, . . . , pn ∈ N, а также общий вес W .Задача о рюкзаке (knapsack problem) заключается в нахождениитакого множества предметов I ⊆ [1..n], что

∑︀i∈I wi ≤ W и∑︀

i∈I pi максимально.НУО, maxi∈[1..n] wi ≤ W .

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 22 / 28

Page 79: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Точный псевдополиномиальный алгоритм

Алгоритм

Psuedopoly-Knapsack({wi}, {pi}, W )

S :=∑︀

i∈[1..n] pi

P := maxi∈[1..n] pi

через w(k , p) обозначим минимальный объем, необходимый длятого, чтобы уложить предметы с номерами, не превосходящимиk ∈ [1..n], общей стоимостью не менее p ≤ Sв цикле по k от 1 до n вычисляем w(k , p) для каждого p от 1 доS

w(0, 0) = 0; w(0, p) = ∞, p > 0w(k + 1, p) = min{w(k, p), w(k, p − pk+1) + wk+1}

return максимальное p, для которого w(n, p) ≤ W

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 23 / 28

Page 80: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Точный псевдополиномиальный алгоритм

Алгоритм

Psuedopoly-Knapsack({wi}, {pi}, W )S :=

∑︀i∈[1..n] pi

P := maxi∈[1..n] pi

через w(k , p) обозначим минимальный объем, необходимый длятого, чтобы уложить предметы с номерами, не превосходящимиk ∈ [1..n], общей стоимостью не менее p ≤ Sв цикле по k от 1 до n вычисляем w(k , p) для каждого p от 1 доS

w(0, 0) = 0; w(0, p) = ∞, p > 0w(k + 1, p) = min{w(k, p), w(k, p − pk+1) + wk+1}

return максимальное p, для которого w(n, p) ≤ W

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 23 / 28

Page 81: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Точный псевдополиномиальный алгоритм

Алгоритм

Psuedopoly-Knapsack({wi}, {pi}, W )S :=

∑︀i∈[1..n] pi

P := maxi∈[1..n] pi

через w(k , p) обозначим минимальный объем, необходимый длятого, чтобы уложить предметы с номерами, не превосходящимиk ∈ [1..n], общей стоимостью не менее p ≤ Sв цикле по k от 1 до n вычисляем w(k , p) для каждого p от 1 доS

w(0, 0) = 0; w(0, p) = ∞, p > 0w(k + 1, p) = min{w(k, p), w(k, p − pk+1) + wk+1}

return максимальное p, для которого w(n, p) ≤ W

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 23 / 28

Page 82: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Точный псевдополиномиальный алгоритм

Алгоритм

Psuedopoly-Knapsack({wi}, {pi}, W )S :=

∑︀i∈[1..n] pi

P := maxi∈[1..n] pi

через w(k , p) обозначим минимальный объем, необходимый длятого, чтобы уложить предметы с номерами, не превосходящимиk ∈ [1..n], общей стоимостью не менее p ≤ S

в цикле по k от 1 до n вычисляем w(k , p) для каждого p от 1 доS

w(0, 0) = 0; w(0, p) = ∞, p > 0w(k + 1, p) = min{w(k, p), w(k, p − pk+1) + wk+1}

return максимальное p, для которого w(n, p) ≤ W

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 23 / 28

Page 83: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Точный псевдополиномиальный алгоритм

Алгоритм

Psuedopoly-Knapsack({wi}, {pi}, W )S :=

∑︀i∈[1..n] pi

P := maxi∈[1..n] pi

через w(k , p) обозначим минимальный объем, необходимый длятого, чтобы уложить предметы с номерами, не превосходящимиk ∈ [1..n], общей стоимостью не менее p ≤ Sв цикле по k от 1 до n вычисляем w(k , p) для каждого p от 1 доS

w(0, 0) = 0; w(0, p) = ∞, p > 0w(k + 1, p) = min{w(k, p), w(k, p − pk+1) + wk+1}

return максимальное p, для которого w(n, p) ≤ W

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 23 / 28

Page 84: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Точный псевдополиномиальный алгоритм

Алгоритм

Psuedopoly-Knapsack({wi}, {pi}, W )S :=

∑︀i∈[1..n] pi

P := maxi∈[1..n] pi

через w(k , p) обозначим минимальный объем, необходимый длятого, чтобы уложить предметы с номерами, не превосходящимиk ∈ [1..n], общей стоимостью не менее p ≤ Sв цикле по k от 1 до n вычисляем w(k , p) для каждого p от 1 доS

w(0, 0) = 0; w(0, p) = ∞, p > 0

w(k + 1, p) = min{w(k, p), w(k, p − pk+1) + wk+1}return максимальное p, для которого w(n, p) ≤ W

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 23 / 28

Page 85: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Точный псевдополиномиальный алгоритм

Алгоритм

Psuedopoly-Knapsack({wi}, {pi}, W )S :=

∑︀i∈[1..n] pi

P := maxi∈[1..n] pi

через w(k , p) обозначим минимальный объем, необходимый длятого, чтобы уложить предметы с номерами, не превосходящимиk ∈ [1..n], общей стоимостью не менее p ≤ Sв цикле по k от 1 до n вычисляем w(k , p) для каждого p от 1 доS

w(0, 0) = 0; w(0, p) = ∞, p > 0w(k + 1, p) = min{w(k, p), w(k, p − pk+1) + wk+1}

return максимальное p, для которого w(n, p) ≤ W

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 23 / 28

Page 86: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Точный псевдополиномиальный алгоритм

Алгоритм

Psuedopoly-Knapsack({wi}, {pi}, W )S :=

∑︀i∈[1..n] pi

P := maxi∈[1..n] pi

через w(k , p) обозначим минимальный объем, необходимый длятого, чтобы уложить предметы с номерами, не превосходящимиk ∈ [1..n], общей стоимостью не менее p ≤ Sв цикле по k от 1 до n вычисляем w(k , p) для каждого p от 1 доS

w(0, 0) = 0; w(0, p) = ∞, p > 0w(k + 1, p) = min{w(k, p), w(k, p − pk+1) + wk+1}

return максимальное p, для которого w(n, p) ≤ W

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 23 / 28

Page 87: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Анализ времени работы

Ясно, что алгоритм работает не более, чем nS , то есть не болееn2P .Значит, мы могли бы решить задачу за полиномиальное время,если бы pi были достаточно маленькими.Идея: выберем достаточно большое число и разделим на него всестоимости. Оптимальное решение не перестанет бытьоптимальным, а время работы алгоритма уменьшится.В чем же тогда подвох?Стоимости могут перестать быть целыми после деления.Округлим их и будем надеяться, что потеряли мы от этого неочень много.

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 24 / 28

Page 88: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Анализ времени работы

Ясно, что алгоритм работает не более, чем nS , то есть не болееn2P .

Значит, мы могли бы решить задачу за полиномиальное время,если бы pi были достаточно маленькими.Идея: выберем достаточно большое число и разделим на него всестоимости. Оптимальное решение не перестанет бытьоптимальным, а время работы алгоритма уменьшится.В чем же тогда подвох?Стоимости могут перестать быть целыми после деления.Округлим их и будем надеяться, что потеряли мы от этого неочень много.

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 24 / 28

Page 89: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Анализ времени работы

Ясно, что алгоритм работает не более, чем nS , то есть не болееn2P .Значит, мы могли бы решить задачу за полиномиальное время,если бы pi были достаточно маленькими.

Идея: выберем достаточно большое число и разделим на него всестоимости. Оптимальное решение не перестанет бытьоптимальным, а время работы алгоритма уменьшится.В чем же тогда подвох?Стоимости могут перестать быть целыми после деления.Округлим их и будем надеяться, что потеряли мы от этого неочень много.

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 24 / 28

Page 90: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Анализ времени работы

Ясно, что алгоритм работает не более, чем nS , то есть не болееn2P .Значит, мы могли бы решить задачу за полиномиальное время,если бы pi были достаточно маленькими.Идея: выберем достаточно большое число и разделим на него всестоимости. Оптимальное решение не перестанет бытьоптимальным, а время работы алгоритма уменьшится.

В чем же тогда подвох?Стоимости могут перестать быть целыми после деления.Округлим их и будем надеяться, что потеряли мы от этого неочень много.

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 24 / 28

Page 91: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Анализ времени работы

Ясно, что алгоритм работает не более, чем nS , то есть не болееn2P .Значит, мы могли бы решить задачу за полиномиальное время,если бы pi были достаточно маленькими.Идея: выберем достаточно большое число и разделим на него всестоимости. Оптимальное решение не перестанет бытьоптимальным, а время работы алгоритма уменьшится.В чем же тогда подвох?

Стоимости могут перестать быть целыми после деления.Округлим их и будем надеяться, что потеряли мы от этого неочень много.

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 24 / 28

Page 92: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Анализ времени работы

Ясно, что алгоритм работает не более, чем nS , то есть не болееn2P .Значит, мы могли бы решить задачу за полиномиальное время,если бы pi были достаточно маленькими.Идея: выберем достаточно большое число и разделим на него всестоимости. Оптимальное решение не перестанет бытьоптимальным, а время работы алгоритма уменьшится.В чем же тогда подвох?Стоимости могут перестать быть целыми после деления.

Округлим их и будем надеяться, что потеряли мы от этого неочень много.

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 24 / 28

Page 93: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Анализ времени работы

Ясно, что алгоритм работает не более, чем nS , то есть не болееn2P .Значит, мы могли бы решить задачу за полиномиальное время,если бы pi были достаточно маленькими.Идея: выберем достаточно большое число и разделим на него всестоимости. Оптимальное решение не перестанет бытьоптимальным, а время работы алгоритма уменьшится.В чем же тогда подвох?Стоимости могут перестать быть целыми после деления.Округлим их и будем надеяться, что потеряли мы от этого неочень много.

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 24 / 28

Page 94: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Полностью полиномиальная приближенная схема

итак, пусть задан 𝜖, определяющий, с какой точностью мы хотимнайти ответпусть K𝜖 = P

(1+1/𝜖)n

поделим все pi на K𝜖 и округлим: p′i = ⌈pi/K𝜖⌉запустим Psuedopoly-Knapsack на полученном наборестоимостейвремя работы алгорита не превосходит n2 max p′i ≤ n3P(1 + 1/𝜖)/Pосталось доказать, что полученный алгоритм дает достаточнохорошее приближение

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 25 / 28

Page 95: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Полностью полиномиальная приближенная схема

итак, пусть задан 𝜖, определяющий, с какой точностью мы хотимнайти ответ

пусть K𝜖 = P(1+1/𝜖)n

поделим все pi на K𝜖 и округлим: p′i = ⌈pi/K𝜖⌉запустим Psuedopoly-Knapsack на полученном наборестоимостейвремя работы алгорита не превосходит n2 max p′i ≤ n3P(1 + 1/𝜖)/Pосталось доказать, что полученный алгоритм дает достаточнохорошее приближение

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 25 / 28

Page 96: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Полностью полиномиальная приближенная схема

итак, пусть задан 𝜖, определяющий, с какой точностью мы хотимнайти ответпусть K𝜖 = P

(1+1/𝜖)n

поделим все pi на K𝜖 и округлим: p′i = ⌈pi/K𝜖⌉запустим Psuedopoly-Knapsack на полученном наборестоимостейвремя работы алгорита не превосходит n2 max p′i ≤ n3P(1 + 1/𝜖)/Pосталось доказать, что полученный алгоритм дает достаточнохорошее приближение

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 25 / 28

Page 97: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Полностью полиномиальная приближенная схема

итак, пусть задан 𝜖, определяющий, с какой точностью мы хотимнайти ответпусть K𝜖 = P

(1+1/𝜖)n

поделим все pi на K𝜖 и округлим: p′i = ⌈pi/K𝜖⌉

запустим Psuedopoly-Knapsack на полученном наборестоимостейвремя работы алгорита не превосходит n2 max p′i ≤ n3P(1 + 1/𝜖)/Pосталось доказать, что полученный алгоритм дает достаточнохорошее приближение

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 25 / 28

Page 98: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Полностью полиномиальная приближенная схема

итак, пусть задан 𝜖, определяющий, с какой точностью мы хотимнайти ответпусть K𝜖 = P

(1+1/𝜖)n

поделим все pi на K𝜖 и округлим: p′i = ⌈pi/K𝜖⌉запустим Psuedopoly-Knapsack на полученном наборестоимостей

время работы алгорита не превосходит n2 max p′i ≤ n3P(1 + 1/𝜖)/Pосталось доказать, что полученный алгоритм дает достаточнохорошее приближение

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 25 / 28

Page 99: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Полностью полиномиальная приближенная схема

итак, пусть задан 𝜖, определяющий, с какой точностью мы хотимнайти ответпусть K𝜖 = P

(1+1/𝜖)n

поделим все pi на K𝜖 и округлим: p′i = ⌈pi/K𝜖⌉запустим Psuedopoly-Knapsack на полученном наборестоимостейвремя работы алгорита не превосходит n2 max p′i ≤ n3P(1 + 1/𝜖)/P

осталось доказать, что полученный алгоритм дает достаточнохорошее приближение

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 25 / 28

Page 100: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Полностью полиномиальная приближенная схема

итак, пусть задан 𝜖, определяющий, с какой точностью мы хотимнайти ответпусть K𝜖 = P

(1+1/𝜖)n

поделим все pi на K𝜖 и округлим: p′i = ⌈pi/K𝜖⌉запустим Psuedopoly-Knapsack на полученном наборестоимостейвремя работы алгорита не превосходит n2 max p′i ≤ n3P(1 + 1/𝜖)/Pосталось доказать, что полученный алгоритм дает достаточнохорошее приближение

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 25 / 28

Page 101: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Оценка приближения

пусть A𝜖 — общая стоимость набора предметов, который вернулалгоритмзаметим, что A𝜖 ≥ Aopt − K𝜖n: псевдополиномиальный алгоритмнаходит точное решение, поэтому отклонение могло появитьсятолько при округлении; при округлении могло потеряться не более1 на каждом предмете, эта потеря домножается на K𝜖 приобратном переходе от p′i к pi

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 26 / 28

Page 102: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Оценка приближения

пусть A𝜖 — общая стоимость набора предметов, который вернулалгоритм

заметим, что A𝜖 ≥ Aopt − K𝜖n: псевдополиномиальный алгоритмнаходит точное решение, поэтому отклонение могло появитьсятолько при округлении; при округлении могло потеряться не более1 на каждом предмете, эта потеря домножается на K𝜖 приобратном переходе от p′i к pi

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 26 / 28

Page 103: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Оценка приближения

пусть A𝜖 — общая стоимость набора предметов, который вернулалгоритмзаметим, что A𝜖 ≥ Aopt − K𝜖n: псевдополиномиальный алгоритмнаходит точное решение, поэтому отклонение могло появитьсятолько при округлении; при округлении могло потеряться не более1 на каждом предмете, эта потеря домножается на K𝜖 приобратном переходе от p′i к pi

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 26 / 28

Page 104: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Оценка приближения (продолжение)

Aopt ≥ P , так как в рюкзак можно просто засунуть самый дорогойпредметтогда

A𝜖

Aopt≥ Aopt − K𝜖

Aopt=

1− PnAoptn(1 + 1/𝜖)

≥ 1− 11 + 1/𝜖

=1

𝜖 + 1

следовательно, A𝜖 ≥ (1− 𝜖)Aopt

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 27 / 28

Page 105: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Оценка приближения (продолжение)

Aopt ≥ P , так как в рюкзак можно просто засунуть самый дорогойпредмет

тогда

A𝜖

Aopt≥ Aopt − K𝜖

Aopt=

1− PnAoptn(1 + 1/𝜖)

≥ 1− 11 + 1/𝜖

=1

𝜖 + 1

следовательно, A𝜖 ≥ (1− 𝜖)Aopt

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 27 / 28

Page 106: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Оценка приближения (продолжение)

Aopt ≥ P , так как в рюкзак можно просто засунуть самый дорогойпредметтогда

A𝜖

Aopt≥ Aopt − K𝜖

Aopt=

1− PnAoptn(1 + 1/𝜖)

≥ 1− 11 + 1/𝜖

=1

𝜖 + 1

следовательно, A𝜖 ≥ (1− 𝜖)Aopt

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 27 / 28

Page 107: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Оценка приближения (продолжение)

Aopt ≥ P , так как в рюкзак можно просто засунуть самый дорогойпредметтогда

A𝜖

Aopt≥ Aopt − K𝜖

Aopt=

1− PnAoptn(1 + 1/𝜖)

≥ 1− 11 + 1/𝜖

=1

𝜖 + 1

следовательно, A𝜖 ≥ (1− 𝜖)Aopt

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 27 / 28

Page 108: Алгоритмы для NP-трудных задач, осень 2009: Приближенные алгоритмы

Задача о рюкзаке

Спасибо за внимание!

А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 28 / 28