Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 ·...
Transcript of Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 ·...
![Page 1: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/1.jpg)
Алгоритмы для NP-трудных задачЛекция 6: Приближенные алгоритмы
А. Куликов
Computer Science клуб при ПОМИhttp://logic.pdmi.ras.ru/∼infclub/
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 1 / 28
![Page 2: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/2.jpg)
План лекции
1 Задача о коммивояжереТочный алгоритм для TSP2-приближенный алгоритм для Metric TSP3/2-приближенный алгоритм для Metric TSPНеприближаемость TSP
2 Задача о рюкзаке
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 2 / 28
![Page 3: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/3.jpg)
План лекции
1 Задача о коммивояжереТочный алгоритм для TSP2-приближенный алгоритм для Metric TSP3/2-приближенный алгоритм для Metric TSPНеприближаемость TSP
2 Задача о рюкзаке
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 2 / 28
![Page 4: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/4.jpg)
Задача о коммивояжере
План лекции
1 Задача о коммивояжереТочный алгоритм для TSP2-приближенный алгоритм для Metric TSP3/2-приближенный алгоритм для Metric TSPНеприближаемость TSP
2 Задача о рюкзаке
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 3 / 28
![Page 5: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/5.jpg)
Задача о коммивояжере
Задача о коммивояжере
Определение
Дан полный неориентированный граф 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/6.jpg)
Задача о коммивояжере
Задача о коммивояжере
Определение
Дан полный неориентированный граф 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/7.jpg)
Задача о коммивояжере
Задача о коммивояжере
Определение
Дан полный неориентированный граф 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/8.jpg)
Задача о коммивояжере
Задача о коммивояжере
Определение
Дан полный неориентированный граф 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/9.jpg)
Задача о коммивояжере
NP-трудность
Задача о коммивояжере является NP-трудной.Тривиальный алгоритм перебирает все возможные пути за времяn!.Наилучший известный на данный момент алгоритм основан надинамическом программировании и имеет время работы (а такжепамять) 2n.Задача о коммивояжере в метрическом пространстве тожеявляется NP-трудной.
допустим, мы умеем решать эту задачу за полиномиальное времявозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса 2тогда построение минимального гамильтонова цикла в полученномграфе эквивалентно ответу на вопрос, существует ли в исходномграфе гамильтонов цикл
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 5 / 28
![Page 10: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/10.jpg)
Задача о коммивояжере
NP-трудность
Задача о коммивояжере является NP-трудной.
Тривиальный алгоритм перебирает все возможные пути за времяn!.Наилучший известный на данный момент алгоритм основан надинамическом программировании и имеет время работы (а такжепамять) 2n.Задача о коммивояжере в метрическом пространстве тожеявляется NP-трудной.
допустим, мы умеем решать эту задачу за полиномиальное времявозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса 2тогда построение минимального гамильтонова цикла в полученномграфе эквивалентно ответу на вопрос, существует ли в исходномграфе гамильтонов цикл
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 5 / 28
![Page 11: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/11.jpg)
Задача о коммивояжере
NP-трудность
Задача о коммивояжере является NP-трудной.Тривиальный алгоритм перебирает все возможные пути за времяn!.
Наилучший известный на данный момент алгоритм основан надинамическом программировании и имеет время работы (а такжепамять) 2n.Задача о коммивояжере в метрическом пространстве тожеявляется NP-трудной.
допустим, мы умеем решать эту задачу за полиномиальное времявозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса 2тогда построение минимального гамильтонова цикла в полученномграфе эквивалентно ответу на вопрос, существует ли в исходномграфе гамильтонов цикл
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 5 / 28
![Page 12: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/12.jpg)
Задача о коммивояжере
NP-трудность
Задача о коммивояжере является NP-трудной.Тривиальный алгоритм перебирает все возможные пути за времяn!.Наилучший известный на данный момент алгоритм основан надинамическом программировании и имеет время работы (а такжепамять) 2n.
Задача о коммивояжере в метрическом пространстве тожеявляется NP-трудной.
допустим, мы умеем решать эту задачу за полиномиальное времявозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса 2тогда построение минимального гамильтонова цикла в полученномграфе эквивалентно ответу на вопрос, существует ли в исходномграфе гамильтонов цикл
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 5 / 28
![Page 13: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/13.jpg)
Задача о коммивояжере
NP-трудность
Задача о коммивояжере является NP-трудной.Тривиальный алгоритм перебирает все возможные пути за времяn!.Наилучший известный на данный момент алгоритм основан надинамическом программировании и имеет время работы (а такжепамять) 2n.Задача о коммивояжере в метрическом пространстве тожеявляется NP-трудной.
допустим, мы умеем решать эту задачу за полиномиальное времявозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса 2тогда построение минимального гамильтонова цикла в полученномграфе эквивалентно ответу на вопрос, существует ли в исходномграфе гамильтонов цикл
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 5 / 28
![Page 14: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/14.jpg)
Задача о коммивояжере
NP-трудность
Задача о коммивояжере является NP-трудной.Тривиальный алгоритм перебирает все возможные пути за времяn!.Наилучший известный на данный момент алгоритм основан надинамическом программировании и имеет время работы (а такжепамять) 2n.Задача о коммивояжере в метрическом пространстве тожеявляется NP-трудной.
допустим, мы умеем решать эту задачу за полиномиальное время
возьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса 2тогда построение минимального гамильтонова цикла в полученномграфе эквивалентно ответу на вопрос, существует ли в исходномграфе гамильтонов цикл
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 5 / 28
![Page 15: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/15.jpg)
Задача о коммивояжере
NP-трудность
Задача о коммивояжере является NP-трудной.Тривиальный алгоритм перебирает все возможные пути за времяn!.Наилучший известный на данный момент алгоритм основан надинамическом программировании и имеет время работы (а такжепамять) 2n.Задача о коммивояжере в метрическом пространстве тожеявляется NP-трудной.
допустим, мы умеем решать эту задачу за полиномиальное времявозьмем произвольный граф и присвоим всем его ребрам вес 1
между любыми двумя не соединенными ребром вершинамидобавим ребро веса 2тогда построение минимального гамильтонова цикла в полученномграфе эквивалентно ответу на вопрос, существует ли в исходномграфе гамильтонов цикл
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 5 / 28
![Page 16: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/16.jpg)
Задача о коммивояжере
NP-трудность
Задача о коммивояжере является NP-трудной.Тривиальный алгоритм перебирает все возможные пути за времяn!.Наилучший известный на данный момент алгоритм основан надинамическом программировании и имеет время работы (а такжепамять) 2n.Задача о коммивояжере в метрическом пространстве тожеявляется NP-трудной.
допустим, мы умеем решать эту задачу за полиномиальное времявозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса 2
тогда построение минимального гамильтонова цикла в полученномграфе эквивалентно ответу на вопрос, существует ли в исходномграфе гамильтонов цикл
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 5 / 28
![Page 17: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/17.jpg)
Задача о коммивояжере
NP-трудность
Задача о коммивояжере является NP-трудной.Тривиальный алгоритм перебирает все возможные пути за времяn!.Наилучший известный на данный момент алгоритм основан надинамическом программировании и имеет время работы (а такжепамять) 2n.Задача о коммивояжере в метрическом пространстве тожеявляется NP-трудной.
допустим, мы умеем решать эту задачу за полиномиальное времявозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса 2тогда построение минимального гамильтонова цикла в полученномграфе эквивалентно ответу на вопрос, существует ли в исходномграфе гамильтонов цикл
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 5 / 28
![Page 18: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/18.jpg)
Задача о коммивояжере Точный алгоритм для TSP
План лекции
1 Задача о коммивояжереТочный алгоритм для TSP2-приближенный алгоритм для Metric TSP3/2-приближенный алгоритм для Metric TSPНеприближаемость TSP
2 Задача о рюкзаке
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 6 / 28
![Page 19: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/19.jpg)
Задача о коммивояжере Точный алгоритм для 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/20.jpg)
Задача о коммивояжере Точный алгоритм для 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/21.jpg)
Задача о коммивояжере Точный алгоритм для 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/22.jpg)
Задача о коммивояжере Точный алгоритм для 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/23.jpg)
Задача о коммивояжере Точный алгоритм для TSP
Сложность алгоритма
ЛеммаСложность алгоритма Dynamic-TSP по времени и по памяти естьpoly(n)2n.
ФактДанный теоретический алгоритм был представлен в 1962-м году и досих пор является самым быстрым из известных.
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 8 / 28
![Page 24: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/24.jpg)
Задача о коммивояжере Точный алгоритм для TSP
Сложность алгоритма
ЛеммаСложность алгоритма Dynamic-TSP по времени и по памяти естьpoly(n)2n.
ФактДанный теоретический алгоритм был представлен в 1962-м году и досих пор является самым быстрым из известных.
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 8 / 28
![Page 25: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/25.jpg)
Задача о коммивояжере 2-приближенный алгоритм для Metric TSP
План лекции
1 Задача о коммивояжереТочный алгоритм для TSP2-приближенный алгоритм для Metric TSP3/2-приближенный алгоритм для Metric TSPНеприближаемость TSP
2 Задача о рюкзаке
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 9 / 28
![Page 26: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/26.jpg)
Задача о коммивояжере 2-приближенный алгоритм для Metric TSP
2-оптимальный алгоритм
Алгоритм
Approx-TSP(G )
строим минимальное остовное дерево T графа Gпродублируем каждое ребро дерева T и в полученном графенайдем эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 10 / 28
![Page 27: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/27.jpg)
Задача о коммивояжере 2-приближенный алгоритм для Metric TSP
2-оптимальный алгоритм
Алгоритм
Approx-TSP(G )строим минимальное остовное дерево T графа G
продублируем каждое ребро дерева T и в полученном графенайдем эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 10 / 28
![Page 28: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/28.jpg)
Задача о коммивояжере 2-приближенный алгоритм для Metric TSP
2-оптимальный алгоритм
Алгоритм
Approx-TSP(G )строим минимальное остовное дерево T графа Gпродублируем каждое ребро дерева T и в полученном графенайдем эйлеров цикл
выкинем из полученного цикла все повторения вершин и вернемполученный цикл
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 10 / 28
![Page 29: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/29.jpg)
Задача о коммивояжере 2-приближенный алгоритм для Metric TSP
2-оптимальный алгоритм
Алгоритм
Approx-TSP(G )строим минимальное остовное дерево T графа Gпродублируем каждое ребро дерева T и в полученном графенайдем эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 10 / 28
![Page 30: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/30.jpg)
Задача о коммивояжере 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/31.jpg)
Задача о коммивояжере 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/32.jpg)
Задача о коммивояжере 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/33.jpg)
Задача о коммивояжере 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/34.jpg)
Задача о коммивояжере 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/35.jpg)
Задача о коммивояжере 2-приближенный алгоритм для Metric TSP
Анализ алгоритма
ТеоремаАлгоритм Approx-TSP является 2-приближенным.
Доказательствопусть WT — вес минимального остовного дерева, а Wopt — весоптимального гамильтонова циклаWT ≤ Wopt, поскольку при выкидывании ребра из гамильтонвацикла получается остовное деревокаждое ребро построенного гамильтонова цикла заменяеткакой-то путь эйлерова цикла, длина которого по неравенствутреугольника не менее длины этого ребразначит, длина найденного пути не превосходит 2WT , аследовательно, и 2Wopt
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 12 / 28
![Page 36: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/36.jpg)
Задача о коммивояжере 2-приближенный алгоритм для Metric TSP
Анализ алгоритма
ТеоремаАлгоритм Approx-TSP является 2-приближенным.
Доказательство
пусть WT — вес минимального остовного дерева, а Wopt — весоптимального гамильтонова циклаWT ≤ Wopt, поскольку при выкидывании ребра из гамильтонвацикла получается остовное деревокаждое ребро построенного гамильтонова цикла заменяеткакой-то путь эйлерова цикла, длина которого по неравенствутреугольника не менее длины этого ребразначит, длина найденного пути не превосходит 2WT , аследовательно, и 2Wopt
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 12 / 28
![Page 37: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/37.jpg)
Задача о коммивояжере 2-приближенный алгоритм для Metric TSP
Анализ алгоритма
ТеоремаАлгоритм Approx-TSP является 2-приближенным.
Доказательствопусть WT — вес минимального остовного дерева, а Wopt — весоптимального гамильтонова цикла
WT ≤ Wopt, поскольку при выкидывании ребра из гамильтонвацикла получается остовное деревокаждое ребро построенного гамильтонова цикла заменяеткакой-то путь эйлерова цикла, длина которого по неравенствутреугольника не менее длины этого ребразначит, длина найденного пути не превосходит 2WT , аследовательно, и 2Wopt
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 12 / 28
![Page 38: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/38.jpg)
Задача о коммивояжере 2-приближенный алгоритм для Metric TSP
Анализ алгоритма
ТеоремаАлгоритм Approx-TSP является 2-приближенным.
Доказательствопусть WT — вес минимального остовного дерева, а Wopt — весоптимального гамильтонова циклаWT ≤ Wopt, поскольку при выкидывании ребра из гамильтонвацикла получается остовное дерево
каждое ребро построенного гамильтонова цикла заменяеткакой-то путь эйлерова цикла, длина которого по неравенствутреугольника не менее длины этого ребразначит, длина найденного пути не превосходит 2WT , аследовательно, и 2Wopt
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 12 / 28
![Page 39: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/39.jpg)
Задача о коммивояжере 2-приближенный алгоритм для Metric TSP
Анализ алгоритма
ТеоремаАлгоритм Approx-TSP является 2-приближенным.
Доказательствопусть WT — вес минимального остовного дерева, а Wopt — весоптимального гамильтонова циклаWT ≤ Wopt, поскольку при выкидывании ребра из гамильтонвацикла получается остовное деревокаждое ребро построенного гамильтонова цикла заменяеткакой-то путь эйлерова цикла, длина которого по неравенствутреугольника не менее длины этого ребра
значит, длина найденного пути не превосходит 2WT , аследовательно, и 2Wopt
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 12 / 28
![Page 40: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/40.jpg)
Задача о коммивояжере 2-приближенный алгоритм для Metric TSP
Анализ алгоритма
ТеоремаАлгоритм Approx-TSP является 2-приближенным.
Доказательствопусть WT — вес минимального остовного дерева, а Wopt — весоптимального гамильтонова циклаWT ≤ Wopt, поскольку при выкидывании ребра из гамильтонвацикла получается остовное деревокаждое ребро построенного гамильтонова цикла заменяеткакой-то путь эйлерова цикла, длина которого по неравенствутреугольника не менее длины этого ребразначит, длина найденного пути не превосходит 2WT , аследовательно, и 2Wopt
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 12 / 28
![Page 41: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/41.jpg)
Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP
План лекции
1 Задача о коммивояжереТочный алгоритм для TSP2-приближенный алгоритм для Metric TSP3/2-приближенный алгоритм для Metric TSPНеприближаемость TSP
2 Задача о рюкзаке
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 13 / 28
![Page 42: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/42.jpg)
Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP
3/2-оптимальный алгоритм
Алгоритм
Approx-TSP-Improved(G )
строим минимальное остовное дерево T графа Gнайдем минимальное полное паросочетание всех вершин дерева Tнечетной степенидобавим найденные ребра в дерево T и найдем в полученномграфе эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 14 / 28
![Page 43: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/43.jpg)
Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP
3/2-оптимальный алгоритм
Алгоритм
Approx-TSP-Improved(G )строим минимальное остовное дерево T графа G
найдем минимальное полное паросочетание всех вершин дерева Tнечетной степенидобавим найденные ребра в дерево T и найдем в полученномграфе эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 14 / 28
![Page 44: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/44.jpg)
Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP
3/2-оптимальный алгоритм
Алгоритм
Approx-TSP-Improved(G )строим минимальное остовное дерево T графа Gнайдем минимальное полное паросочетание всех вершин дерева Tнечетной степени
добавим найденные ребра в дерево T и найдем в полученномграфе эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 14 / 28
![Page 45: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/45.jpg)
Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP
3/2-оптимальный алгоритм
Алгоритм
Approx-TSP-Improved(G )строим минимальное остовное дерево T графа Gнайдем минимальное полное паросочетание всех вершин дерева Tнечетной степенидобавим найденные ребра в дерево T и найдем в полученномграфе эйлеров цикл
выкинем из полученного цикла все повторения вершин и вернемполученный цикл
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 14 / 28
![Page 46: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/46.jpg)
Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP
3/2-оптимальный алгоритм
Алгоритм
Approx-TSP-Improved(G )строим минимальное остовное дерево T графа Gнайдем минимальное полное паросочетание всех вершин дерева Tнечетной степенидобавим найденные ребра в дерево T и найдем в полученномграфе эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 14 / 28
![Page 47: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/47.jpg)
Задача о коммивояжере 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/48.jpg)
Задача о коммивояжере 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/49.jpg)
Задача о коммивояжере 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/50.jpg)
Задача о коммивояжере 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/51.jpg)
Задача о коммивояжере 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/52.jpg)
Задача о коммивояжере 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/53.jpg)
Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP
Доказательство (продолжение)
Доказательство
важно отметить, что нам не нужно строить такой цикл; нам важенлишь факт его существованияразбив вершины только что построенного цикла на четные инечетные, мы получим два паросочетаниявес хотя бы одного из них будет не более Wopt/2значит, и вес минимального паросочетания не превосходитWopt/2
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 16 / 28
![Page 54: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/54.jpg)
Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP
Доказательство (продолжение)
Доказательствоважно отметить, что нам не нужно строить такой цикл; нам важенлишь факт его существования
разбив вершины только что построенного цикла на четные инечетные, мы получим два паросочетаниявес хотя бы одного из них будет не более Wopt/2значит, и вес минимального паросочетания не превосходитWopt/2
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 16 / 28
![Page 55: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/55.jpg)
Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP
Доказательство (продолжение)
Доказательствоважно отметить, что нам не нужно строить такой цикл; нам важенлишь факт его существованияразбив вершины только что построенного цикла на четные инечетные, мы получим два паросочетания
вес хотя бы одного из них будет не более Wopt/2значит, и вес минимального паросочетания не превосходитWopt/2
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 16 / 28
![Page 56: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/56.jpg)
Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP
Доказательство (продолжение)
Доказательствоважно отметить, что нам не нужно строить такой цикл; нам важенлишь факт его существованияразбив вершины только что построенного цикла на четные инечетные, мы получим два паросочетаниявес хотя бы одного из них будет не более Wopt/2
значит, и вес минимального паросочетания не превосходитWopt/2
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 16 / 28
![Page 57: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/57.jpg)
Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP
Доказательство (продолжение)
Доказательствоважно отметить, что нам не нужно строить такой цикл; нам важенлишь факт его существованияразбив вершины только что построенного цикла на четные инечетные, мы получим два паросочетаниявес хотя бы одного из них будет не более Wopt/2значит, и вес минимального паросочетания не превосходитWopt/2
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 16 / 28
![Page 58: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/58.jpg)
Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP
Известные оценки
Факт
Если P ̸=NP, то не существует 117116 -приближенного алгоритма для
задачи о коммивояжере в метрическом пространстве.3/2 — лучшее известное приближение для задачи окоммивояжере в метрическом пространстве.Для случая, когда все ребра имеют вес 1 или 2, известен5/6-приближенный алгоритм.
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 17 / 28
![Page 59: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/59.jpg)
Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP
Известные оценки
Факт
Если P ̸=NP, то не существует 117116 -приближенного алгоритма для
задачи о коммивояжере в метрическом пространстве.
3/2 — лучшее известное приближение для задачи окоммивояжере в метрическом пространстве.Для случая, когда все ребра имеют вес 1 или 2, известен5/6-приближенный алгоритм.
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 17 / 28
![Page 60: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/60.jpg)
Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP
Известные оценки
Факт
Если P ̸=NP, то не существует 117116 -приближенного алгоритма для
задачи о коммивояжере в метрическом пространстве.3/2 — лучшее известное приближение для задачи окоммивояжере в метрическом пространстве.
Для случая, когда все ребра имеют вес 1 или 2, известен5/6-приближенный алгоритм.
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 17 / 28
![Page 61: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/61.jpg)
Задача о коммивояжере 3/2-приближенный алгоритм для Metric TSP
Известные оценки
Факт
Если P ̸=NP, то не существует 117116 -приближенного алгоритма для
задачи о коммивояжере в метрическом пространстве.3/2 — лучшее известное приближение для задачи окоммивояжере в метрическом пространстве.Для случая, когда все ребра имеют вес 1 или 2, известен5/6-приближенный алгоритм.
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 17 / 28
![Page 62: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/62.jpg)
Задача о коммивояжере Неприближаемость TSP
План лекции
1 Задача о коммивояжереТочный алгоритм для TSP2-приближенный алгоритм для Metric TSP3/2-приближенный алгоритм для Metric TSPНеприближаемость TSP
2 Задача о рюкзаке
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 18 / 28
![Page 63: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/63.jpg)
Задача о коммивояжере Неприближаемость TSP
Неприближаемость задачи о коммивояжере
Теорема
Пусть P ̸=NP и 𝛼(n) = c ∈ N. Тогда не существует 𝛼(n)-приближенногоалгоритма для задачи о коммивояжере.
Доказательствопредположим, что такой алгоритм все-таки существуетвозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса cn + 1заметим теперь, что если в исходном графе существуетгамильтонов цикл, то в новом графе существует гамильтоновцикл веса n
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 19 / 28
![Page 64: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/64.jpg)
Задача о коммивояжере Неприближаемость TSP
Неприближаемость задачи о коммивояжере
Теорема
Пусть P ̸=NP и 𝛼(n) = c ∈ N. Тогда не существует 𝛼(n)-приближенногоалгоритма для задачи о коммивояжере.
Доказательство
предположим, что такой алгоритм все-таки существуетвозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса cn + 1заметим теперь, что если в исходном графе существуетгамильтонов цикл, то в новом графе существует гамильтоновцикл веса n
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 19 / 28
![Page 65: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/65.jpg)
Задача о коммивояжере Неприближаемость TSP
Неприближаемость задачи о коммивояжере
Теорема
Пусть P ̸=NP и 𝛼(n) = c ∈ N. Тогда не существует 𝛼(n)-приближенногоалгоритма для задачи о коммивояжере.
Доказательствопредположим, что такой алгоритм все-таки существует
возьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса cn + 1заметим теперь, что если в исходном графе существуетгамильтонов цикл, то в новом графе существует гамильтоновцикл веса n
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 19 / 28
![Page 66: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/66.jpg)
Задача о коммивояжере Неприближаемость TSP
Неприближаемость задачи о коммивояжере
Теорема
Пусть P ̸=NP и 𝛼(n) = c ∈ N. Тогда не существует 𝛼(n)-приближенногоалгоритма для задачи о коммивояжере.
Доказательствопредположим, что такой алгоритм все-таки существуетвозьмем произвольный граф и присвоим всем его ребрам вес 1
между любыми двумя не соединенными ребром вершинамидобавим ребро веса cn + 1заметим теперь, что если в исходном графе существуетгамильтонов цикл, то в новом графе существует гамильтоновцикл веса n
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 19 / 28
![Page 67: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/67.jpg)
Задача о коммивояжере Неприближаемость TSP
Неприближаемость задачи о коммивояжере
Теорема
Пусть P ̸=NP и 𝛼(n) = c ∈ N. Тогда не существует 𝛼(n)-приближенногоалгоритма для задачи о коммивояжере.
Доказательствопредположим, что такой алгоритм все-таки существуетвозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса cn + 1
заметим теперь, что если в исходном графе существуетгамильтонов цикл, то в новом графе существует гамильтоновцикл веса n
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 19 / 28
![Page 68: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/68.jpg)
Задача о коммивояжере Неприближаемость TSP
Неприближаемость задачи о коммивояжере
Теорема
Пусть P ̸=NP и 𝛼(n) = c ∈ N. Тогда не существует 𝛼(n)-приближенногоалгоритма для задачи о коммивояжере.
Доказательствопредположим, что такой алгоритм все-таки существуетвозьмем произвольный граф и присвоим всем его ребрам вес 1между любыми двумя не соединенными ребром вершинамидобавим ребро веса cn + 1заметим теперь, что если в исходном графе существуетгамильтонов цикл, то в новом графе существует гамильтоновцикл веса n
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 19 / 28
![Page 69: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/69.jpg)
Задача о коммивояжере Неприближаемость TSP
Доказательство (продолжение)
Доказательство
если же такого цикла в исходном графе нет, то самый дешевыйцикл в новом графе имеет вес хотя бы (nc + 1) + (n − 1) > ncтаким образом, с помощью 𝛼(n)-приближенного алгоритма длязадачи о коммивояжере мы можем понять, стоимостьоптимального цикла в построенном графе превосходит n или нета это позволит нам понять (за полиномиальное время!), есть висходном графе гамильтонов цикл или нетно тогда P=NP
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 20 / 28
![Page 70: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/70.jpg)
Задача о коммивояжере Неприближаемость TSP
Доказательство (продолжение)
Доказательствоесли же такого цикла в исходном графе нет, то самый дешевыйцикл в новом графе имеет вес хотя бы (nc + 1) + (n − 1) > nc
таким образом, с помощью 𝛼(n)-приближенного алгоритма длязадачи о коммивояжере мы можем понять, стоимостьоптимального цикла в построенном графе превосходит n или нета это позволит нам понять (за полиномиальное время!), есть висходном графе гамильтонов цикл или нетно тогда P=NP
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 20 / 28
![Page 71: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/71.jpg)
Задача о коммивояжере Неприближаемость TSP
Доказательство (продолжение)
Доказательствоесли же такого цикла в исходном графе нет, то самый дешевыйцикл в новом графе имеет вес хотя бы (nc + 1) + (n − 1) > ncтаким образом, с помощью 𝛼(n)-приближенного алгоритма длязадачи о коммивояжере мы можем понять, стоимостьоптимального цикла в построенном графе превосходит n или нет
а это позволит нам понять (за полиномиальное время!), есть висходном графе гамильтонов цикл или нетно тогда P=NP
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 20 / 28
![Page 72: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/72.jpg)
Задача о коммивояжере Неприближаемость TSP
Доказательство (продолжение)
Доказательствоесли же такого цикла в исходном графе нет, то самый дешевыйцикл в новом графе имеет вес хотя бы (nc + 1) + (n − 1) > ncтаким образом, с помощью 𝛼(n)-приближенного алгоритма длязадачи о коммивояжере мы можем понять, стоимостьоптимального цикла в построенном графе превосходит n или нета это позволит нам понять (за полиномиальное время!), есть висходном графе гамильтонов цикл или нет
но тогда P=NP
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 20 / 28
![Page 73: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/73.jpg)
Задача о коммивояжере Неприближаемость TSP
Доказательство (продолжение)
Доказательствоесли же такого цикла в исходном графе нет, то самый дешевыйцикл в новом графе имеет вес хотя бы (nc + 1) + (n − 1) > ncтаким образом, с помощью 𝛼(n)-приближенного алгоритма длязадачи о коммивояжере мы можем понять, стоимостьоптимального цикла в построенном графе превосходит n или нета это позволит нам понять (за полиномиальное время!), есть висходном графе гамильтонов цикл или нетно тогда P=NP
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 20 / 28
![Page 74: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/74.jpg)
Задача о рюкзаке
План лекции
1 Задача о коммивояжереТочный алгоритм для TSP2-приближенный алгоритм для Metric TSP3/2-приближенный алгоритм для Metric TSPНеприближаемость TSP
2 Задача о рюкзаке
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 21 / 28
![Page 75: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/75.jpg)
Задача о рюкзаке
Задача о рюкзаке
Определение
Дано 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/76.jpg)
Задача о рюкзаке
Задача о рюкзаке
ОпределениеДано 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/77.jpg)
Задача о рюкзаке
Задача о рюкзаке
ОпределениеДано 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/78.jpg)
Задача о рюкзаке
Задача о рюкзаке
ОпределениеДано 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/79.jpg)
Задача о рюкзаке
Точный псевдополиномиальный алгоритм
Алгоритм
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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/80.jpg)
Задача о рюкзаке
Точный псевдополиномиальный алгоритм
Алгоритм
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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/81.jpg)
Задача о рюкзаке
Точный псевдополиномиальный алгоритм
Алгоритм
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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/82.jpg)
Задача о рюкзаке
Точный псевдополиномиальный алгоритм
Алгоритм
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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/83.jpg)
Задача о рюкзаке
Точный псевдополиномиальный алгоритм
Алгоритм
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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/84.jpg)
Задача о рюкзаке
Точный псевдополиномиальный алгоритм
Алгоритм
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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/85.jpg)
Задача о рюкзаке
Точный псевдополиномиальный алгоритм
Алгоритм
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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/86.jpg)
Задача о рюкзаке
Точный псевдополиномиальный алгоритм
Алгоритм
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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/87.jpg)
Задача о рюкзаке
Анализ времени работы
Ясно, что алгоритм работает не более, чем nS , то есть не болееn2P .Значит, мы могли бы решить задачу за полиномиальное время,если бы pi были достаточно маленькими.Идея: выберем достаточно большое число и разделим на него всестоимости. Оптимальное решение не перестанет бытьоптимальным, а время работы алгоритма уменьшится.В чем же тогда подвох?Стоимости могут перестать быть целыми после деления.Округлим их и будем надеяться, что потеряли мы от этого неочень много.
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 24 / 28
![Page 88: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/88.jpg)
Задача о рюкзаке
Анализ времени работы
Ясно, что алгоритм работает не более, чем nS , то есть не болееn2P .
Значит, мы могли бы решить задачу за полиномиальное время,если бы pi были достаточно маленькими.Идея: выберем достаточно большое число и разделим на него всестоимости. Оптимальное решение не перестанет бытьоптимальным, а время работы алгоритма уменьшится.В чем же тогда подвох?Стоимости могут перестать быть целыми после деления.Округлим их и будем надеяться, что потеряли мы от этого неочень много.
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 24 / 28
![Page 89: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/89.jpg)
Задача о рюкзаке
Анализ времени работы
Ясно, что алгоритм работает не более, чем nS , то есть не болееn2P .Значит, мы могли бы решить задачу за полиномиальное время,если бы pi были достаточно маленькими.
Идея: выберем достаточно большое число и разделим на него всестоимости. Оптимальное решение не перестанет бытьоптимальным, а время работы алгоритма уменьшится.В чем же тогда подвох?Стоимости могут перестать быть целыми после деления.Округлим их и будем надеяться, что потеряли мы от этого неочень много.
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 24 / 28
![Page 90: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/90.jpg)
Задача о рюкзаке
Анализ времени работы
Ясно, что алгоритм работает не более, чем nS , то есть не болееn2P .Значит, мы могли бы решить задачу за полиномиальное время,если бы pi были достаточно маленькими.Идея: выберем достаточно большое число и разделим на него всестоимости. Оптимальное решение не перестанет бытьоптимальным, а время работы алгоритма уменьшится.
В чем же тогда подвох?Стоимости могут перестать быть целыми после деления.Округлим их и будем надеяться, что потеряли мы от этого неочень много.
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 24 / 28
![Page 91: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/91.jpg)
Задача о рюкзаке
Анализ времени работы
Ясно, что алгоритм работает не более, чем nS , то есть не болееn2P .Значит, мы могли бы решить задачу за полиномиальное время,если бы pi были достаточно маленькими.Идея: выберем достаточно большое число и разделим на него всестоимости. Оптимальное решение не перестанет бытьоптимальным, а время работы алгоритма уменьшится.В чем же тогда подвох?
Стоимости могут перестать быть целыми после деления.Округлим их и будем надеяться, что потеряли мы от этого неочень много.
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 24 / 28
![Page 92: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/92.jpg)
Задача о рюкзаке
Анализ времени работы
Ясно, что алгоритм работает не более, чем nS , то есть не болееn2P .Значит, мы могли бы решить задачу за полиномиальное время,если бы pi были достаточно маленькими.Идея: выберем достаточно большое число и разделим на него всестоимости. Оптимальное решение не перестанет бытьоптимальным, а время работы алгоритма уменьшится.В чем же тогда подвох?Стоимости могут перестать быть целыми после деления.
Округлим их и будем надеяться, что потеряли мы от этого неочень много.
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 24 / 28
![Page 93: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/93.jpg)
Задача о рюкзаке
Анализ времени работы
Ясно, что алгоритм работает не более, чем nS , то есть не болееn2P .Значит, мы могли бы решить задачу за полиномиальное время,если бы pi были достаточно маленькими.Идея: выберем достаточно большое число и разделим на него всестоимости. Оптимальное решение не перестанет бытьоптимальным, а время работы алгоритма уменьшится.В чем же тогда подвох?Стоимости могут перестать быть целыми после деления.Округлим их и будем надеяться, что потеряли мы от этого неочень много.
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 24 / 28
![Page 94: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/94.jpg)
Задача о рюкзаке
Полностью полиномиальная приближенная схема
итак, пусть задан 𝜖, определяющий, с какой точностью мы хотимнайти ответпусть 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/95.jpg)
Задача о рюкзаке
Полностью полиномиальная приближенная схема
итак, пусть задан 𝜖, определяющий, с какой точностью мы хотимнайти ответ
пусть 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/96.jpg)
Задача о рюкзаке
Полностью полиномиальная приближенная схема
итак, пусть задан 𝜖, определяющий, с какой точностью мы хотимнайти ответпусть 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/97.jpg)
Задача о рюкзаке
Полностью полиномиальная приближенная схема
итак, пусть задан 𝜖, определяющий, с какой точностью мы хотимнайти ответпусть 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/98.jpg)
Задача о рюкзаке
Полностью полиномиальная приближенная схема
итак, пусть задан 𝜖, определяющий, с какой точностью мы хотимнайти ответпусть 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/99.jpg)
Задача о рюкзаке
Полностью полиномиальная приближенная схема
итак, пусть задан 𝜖, определяющий, с какой точностью мы хотимнайти ответпусть 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/100.jpg)
Задача о рюкзаке
Полностью полиномиальная приближенная схема
итак, пусть задан 𝜖, определяющий, с какой точностью мы хотимнайти ответпусть 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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/101.jpg)
Задача о рюкзаке
Оценка приближения
пусть A𝜖 — общая стоимость набора предметов, который вернулалгоритмзаметим, что A𝜖 ≥ Aopt − K𝜖n: псевдополиномиальный алгоритмнаходит точное решение, поэтому отклонение могло появитьсятолько при округлении; при округлении могло потеряться не более1 на каждом предмете, эта потеря домножается на K𝜖 приобратном переходе от p′i к pi
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 26 / 28
![Page 102: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/102.jpg)
Задача о рюкзаке
Оценка приближения
пусть A𝜖 — общая стоимость набора предметов, который вернулалгоритм
заметим, что A𝜖 ≥ Aopt − K𝜖n: псевдополиномиальный алгоритмнаходит точное решение, поэтому отклонение могло появитьсятолько при округлении; при округлении могло потеряться не более1 на каждом предмете, эта потеря домножается на K𝜖 приобратном переходе от p′i к pi
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 26 / 28
![Page 103: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/103.jpg)
Задача о рюкзаке
Оценка приближения
пусть A𝜖 — общая стоимость набора предметов, который вернулалгоритмзаметим, что A𝜖 ≥ Aopt − K𝜖n: псевдополиномиальный алгоритмнаходит точное решение, поэтому отклонение могло появитьсятолько при округлении; при округлении могло потеряться не более1 на каждом предмете, эта потеря домножается на K𝜖 приобратном переходе от p′i к pi
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 26 / 28
![Page 104: Алгоритмы для NP-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/104.jpg)
Задача о рюкзаке
Оценка приближения (продолжение)
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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/105.jpg)
Задача о рюкзаке
Оценка приближения (продолжение)
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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/106.jpg)
Задача о рюкзаке
Оценка приближения (продолжение)
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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/107.jpg)
Задача о рюкзаке
Оценка приближения (продолжение)
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-трудных задач Лекция 6 ... · 2015-04-12 · Приближенные алгоритмы 12 / 28 Задача о коммивояжере](https://reader033.fdocument.pub/reader033/viewer/2022060420/5f172f1992f6bb7c57152f7a/html5/thumbnails/108.jpg)
Задача о рюкзаке
Спасибо за внимание!
А. Куликов (Computer Science клуб) 6. Приближенные алгоритмы 28 / 28