algorithms for np hard problems

136
Алгоритмы для NP-трудных задач А. Куликов Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН) Computer Science E-Days 20 марта 2010 А. Куликов (Санкт-Петербургское отделение Математического института им. В. Алгоритмы для NP-трудных задач 1 / 39

Upload: lilosea

Post on 18-Dec-2014

1.649 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Algorithms For Np Hard Problems

Алгоритмы для NP-трудных задач

А. Куликов

Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН(ПОМИ РАН)

Computer Science E-Days20 марта 2010

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 1 / 39

Page 2: Algorithms For Np Hard Problems

План лекции

1 P и NP неформально

2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе

3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k

4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 2 / 39

Page 3: Algorithms For Np Hard Problems

План лекции

1 P и NP неформально

2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе

3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k

4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 2 / 39

Page 4: Algorithms For Np Hard Problems

План лекции

1 P и NP неформально

2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе

3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k

4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 2 / 39

Page 5: Algorithms For Np Hard Problems

План лекции

1 P и NP неформально

2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе

3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k

4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 2 / 39

Page 6: Algorithms For Np Hard Problems

План лекции

1 P и NP неформально

2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе

3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k

4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 3 / 39

Page 7: Algorithms For Np Hard Problems

Классы P и NP

Задача поиска задаётся алгоритмом C, который получает на входусловие I и кандидата на решение S и имеет время работы,ограниченное некоторым полиномом от |I |. S называетсярешением, если и только если C(S , I ) = true.NP — класс всех задач поиска. Другими словами, NP — классвсех задач, решение для которых может быть быстро проверено.P — класс задач поиска, решение для которых может быть быстронайдено.P 6=NP? Другими словами, существуют ли задачи, решение длякоторых может быть быстро проверено, но не может быть быстронайдено? Это один из самых важных и самых сложных открытыхвопросов Theoretical Computer Science.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 4 / 39

Page 8: Algorithms For Np Hard Problems

Классы P и NP

Задача поиска задаётся алгоритмом C, который получает на входусловие I и кандидата на решение S и имеет время работы,ограниченное некоторым полиномом от |I |. S называетсярешением, если и только если C(S , I ) = true.

NP — класс всех задач поиска. Другими словами, NP — классвсех задач, решение для которых может быть быстро проверено.P — класс задач поиска, решение для которых может быть быстронайдено.P 6=NP? Другими словами, существуют ли задачи, решение длякоторых может быть быстро проверено, но не может быть быстронайдено? Это один из самых важных и самых сложных открытыхвопросов Theoretical Computer Science.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 4 / 39

Page 9: Algorithms For Np Hard Problems

Классы P и NP

Задача поиска задаётся алгоритмом C, который получает на входусловие I и кандидата на решение S и имеет время работы,ограниченное некоторым полиномом от |I |. S называетсярешением, если и только если C(S , I ) = true.NP — класс всех задач поиска. Другими словами, NP — классвсех задач, решение для которых может быть быстро проверено.

P — класс задач поиска, решение для которых может быть быстронайдено.P 6=NP? Другими словами, существуют ли задачи, решение длякоторых может быть быстро проверено, но не может быть быстронайдено? Это один из самых важных и самых сложных открытыхвопросов Theoretical Computer Science.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 4 / 39

Page 10: Algorithms For Np Hard Problems

Классы P и NP

Задача поиска задаётся алгоритмом C, который получает на входусловие I и кандидата на решение S и имеет время работы,ограниченное некоторым полиномом от |I |. S называетсярешением, если и только если C(S , I ) = true.NP — класс всех задач поиска. Другими словами, NP — классвсех задач, решение для которых может быть быстро проверено.P — класс задач поиска, решение для которых может быть быстронайдено.

P 6=NP? Другими словами, существуют ли задачи, решение длякоторых может быть быстро проверено, но не может быть быстронайдено? Это один из самых важных и самых сложных открытыхвопросов Theoretical Computer Science.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 4 / 39

Page 11: Algorithms For Np Hard Problems

Классы P и NP

Задача поиска задаётся алгоритмом C, который получает на входусловие I и кандидата на решение S и имеет время работы,ограниченное некоторым полиномом от |I |. S называетсярешением, если и только если C(S , I ) = true.NP — класс всех задач поиска. Другими словами, NP — классвсех задач, решение для которых может быть быстро проверено.P — класс задач поиска, решение для которых может быть быстронайдено.P 6=NP? Другими словами, существуют ли задачи, решение длякоторых может быть быстро проверено, но не может быть быстронайдено? Это один из самых важных и самых сложных открытыхвопросов Theoretical Computer Science.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 4 / 39

Page 12: Algorithms For Np Hard Problems

Сведения

Говорим, что задача A сводится к задаче B , и пишем A→ B , еслипо эффективному алгоритму для задачи B можно построитьэффективный алгоритм для задачи A.По-другому: если A решить сложно и A→ B , то и B решитьсложно. То есть B не может быть сильно проще A.Задача поиска называется NP-полной, если к ней сводятся всезадачи поиска. То есть это универсальный притягивающий объектв классе NP.Удивительно (на первый взгляд), что такие задачи вообщесуществуют.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 5 / 39

Page 13: Algorithms For Np Hard Problems

Сведения

Говорим, что задача A сводится к задаче B , и пишем A→ B , еслипо эффективному алгоритму для задачи B можно построитьэффективный алгоритм для задачи A.

По-другому: если A решить сложно и A→ B , то и B решитьсложно. То есть B не может быть сильно проще A.Задача поиска называется NP-полной, если к ней сводятся всезадачи поиска. То есть это универсальный притягивающий объектв классе NP.Удивительно (на первый взгляд), что такие задачи вообщесуществуют.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 5 / 39

Page 14: Algorithms For Np Hard Problems

Сведения

Говорим, что задача A сводится к задаче B , и пишем A→ B , еслипо эффективному алгоритму для задачи B можно построитьэффективный алгоритм для задачи A.По-другому: если A решить сложно и A→ B , то и B решитьсложно. То есть B не может быть сильно проще A.

Задача поиска называется NP-полной, если к ней сводятся всезадачи поиска. То есть это универсальный притягивающий объектв классе NP.Удивительно (на первый взгляд), что такие задачи вообщесуществуют.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 5 / 39

Page 15: Algorithms For Np Hard Problems

Сведения

Говорим, что задача A сводится к задаче B , и пишем A→ B , еслипо эффективному алгоритму для задачи B можно построитьэффективный алгоритм для задачи A.По-другому: если A решить сложно и A→ B , то и B решитьсложно. То есть B не может быть сильно проще A.Задача поиска называется NP-полной, если к ней сводятся всезадачи поиска. То есть это универсальный притягивающий объектв классе NP.

Удивительно (на первый взгляд), что такие задачи вообщесуществуют.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 5 / 39

Page 16: Algorithms For Np Hard Problems

Сведения

Говорим, что задача A сводится к задаче B , и пишем A→ B , еслипо эффективному алгоритму для задачи B можно построитьэффективный алгоритм для задачи A.По-другому: если A решить сложно и A→ B , то и B решитьсложно. То есть B не может быть сильно проще A.Задача поиска называется NP-полной, если к ней сводятся всезадачи поиска. То есть это универсальный притягивающий объектв классе NP.Удивительно (на первый взгляд), что такие задачи вообщесуществуют.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 5 / 39

Page 17: Algorithms For Np Hard Problems

P vs NP

Большинство исследователей считают, что P6=NP.Есть, впрочем, и другие мнения:http://www.win.tue.nl/∼gwoegi/P-versus-NP.htmВ предположении P 6=NP не существует полиномиальныхалгоритмов для NP-трудных задач.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 6 / 39

Page 18: Algorithms For Np Hard Problems

P vs NP

Большинство исследователей считают, что P6=NP.

Есть, впрочем, и другие мнения:http://www.win.tue.nl/∼gwoegi/P-versus-NP.htmВ предположении P 6=NP не существует полиномиальныхалгоритмов для NP-трудных задач.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 6 / 39

Page 19: Algorithms For Np Hard Problems

P vs NP

Большинство исследователей считают, что P6=NP.Есть, впрочем, и другие мнения:http://www.win.tue.nl/∼gwoegi/P-versus-NP.htm

В предположении P 6=NP не существует полиномиальныхалгоритмов для NP-трудных задач.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 6 / 39

Page 20: Algorithms For Np Hard Problems

P vs NP

Большинство исследователей считают, что P6=NP.Есть, впрочем, и другие мнения:http://www.win.tue.nl/∼gwoegi/P-versus-NP.htmВ предположении P 6=NP не существует полиномиальныхалгоритмов для NP-трудных задач.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 6 / 39

Page 21: Algorithms For Np Hard Problems

Мотивация

Многим приложениям требуется решать NP-трудные задачи, даженесмотря на то, что решения могут быть найдены только длявесьма маленьких размеров входов.Лучшее понимание NP-трудных задач.Новые интересные комбинаторные и алгоритмические задачи.Общая теория.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 7 / 39

Page 22: Algorithms For Np Hard Problems

Мотивация

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

Лучшее понимание NP-трудных задач.Новые интересные комбинаторные и алгоритмические задачи.Общая теория.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 7 / 39

Page 23: Algorithms For Np Hard Problems

Мотивация

Многим приложениям требуется решать NP-трудные задачи, даженесмотря на то, что решения могут быть найдены только длявесьма маленьких размеров входов.Лучшее понимание NP-трудных задач.

Новые интересные комбинаторные и алгоритмические задачи.Общая теория.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 7 / 39

Page 24: Algorithms For Np Hard Problems

Мотивация

Многим приложениям требуется решать NP-трудные задачи, даженесмотря на то, что решения могут быть найдены только длявесьма маленьких размеров входов.Лучшее понимание NP-трудных задач.Новые интересные комбинаторные и алгоритмические задачи.

Общая теория.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 7 / 39

Page 25: Algorithms For Np Hard Problems

Мотивация

Многим приложениям требуется решать NP-трудные задачи, даженесмотря на то, что решения могут быть найдены только длявесьма маленьких размеров входов.Лучшее понимание NP-трудных задач.Новые интересные комбинаторные и алгоритмические задачи.Общая теория.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 7 / 39

Page 26: Algorithms For Np Hard Problems

План лекции

1 P и NP неформально

2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе

3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k

4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 8 / 39

Page 27: Algorithms For Np Hard Problems

Точные алгоритмы для NP-трудных задач

Алгоритмы, находящие точное решение для даннойзадачи за время cn для достаточно малой константы c.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 9 / 39

Page 28: Algorithms For Np Hard Problems

Мотивация

Представим, что у нас есть алгоритм сложности 1.7n для некоторойзадачи, который за “разумное” время позволяет решать примеры этойзадачи размера не более n0.

The “hardware” approach: возьмем в 10 раз более быстрыйкомпьютер. Теперь мы можем решать примеры размера n0 + 4.The “brainware” approach: придумаем алгоритм сложности 1.3n.Это позволит нам решать примеры размера 2 · n0.

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 10 / 39

Page 29: Algorithms For Np Hard Problems

Мотивация

Представим, что у нас есть алгоритм сложности 1.7n для некоторойзадачи, который за “разумное” время позволяет решать примеры этойзадачи размера не более n0.

The “hardware” approach: возьмем в 10 раз более быстрыйкомпьютер. Теперь мы можем решать примеры размера n0 + 4.

The “brainware” approach: придумаем алгоритм сложности 1.3n.Это позволит нам решать примеры размера 2 · n0.

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 10 / 39

Page 30: Algorithms For Np Hard Problems

Мотивация

Представим, что у нас есть алгоритм сложности 1.7n для некоторойзадачи, который за “разумное” время позволяет решать примеры этойзадачи размера не более n0.

The “hardware” approach: возьмем в 10 раз более быстрыйкомпьютер. Теперь мы можем решать примеры размера n0 + 4.The “brainware” approach: придумаем алгоритм сложности 1.3n.Это позволит нам решать примеры размера 2 · n0.

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 10 / 39

Page 31: Algorithms For Np Hard Problems

Мотивация

Представим, что у нас есть алгоритм сложности 1.7n для некоторойзадачи, который за “разумное” время позволяет решать примеры этойзадачи размера не более n0.

The “hardware” approach: возьмем в 10 раз более быстрыйкомпьютер. Теперь мы можем решать примеры размера n0 + 4.The “brainware” approach: придумаем алгоритм сложности 1.3n.Это позволит нам решать примеры размера 2 · n0.

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 10 / 39

Page 32: Algorithms For Np Hard Problems

План лекции

1 P и NP неформально

2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе

3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k

4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 11 / 39

Page 33: Algorithms For Np Hard Problems

3-клика

Определение

Задача о 3-клике (3-clique problem) заключается в проверке наличия3-клики (то есть полного подграфа на трех вершинах) во входномграфе.

Алгоритм

Matrix-Clique(G )построить матрицу смежности A графа Gпосчитать A3

вернуть “да”, если на диагонали построенной матрицы есть хотябы один не нольвернуть “нет”

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 12 / 39

Page 34: Algorithms For Np Hard Problems

3-клика

Определение

Задача о 3-клике (3-clique problem) заключается в проверке наличия3-клики (то есть полного подграфа на трех вершинах) во входномграфе.

Алгоритм

Matrix-Clique(G )

построить матрицу смежности A графа Gпосчитать A3

вернуть “да”, если на диагонали построенной матрицы есть хотябы один не нольвернуть “нет”

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 12 / 39

Page 35: Algorithms For Np Hard Problems

3-клика

Определение

Задача о 3-клике (3-clique problem) заключается в проверке наличия3-клики (то есть полного подграфа на трех вершинах) во входномграфе.

Алгоритм

Matrix-Clique(G )построить матрицу смежности A графа G

посчитать A3

вернуть “да”, если на диагонали построенной матрицы есть хотябы один не нольвернуть “нет”

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 12 / 39

Page 36: Algorithms For Np Hard Problems

3-клика

Определение

Задача о 3-клике (3-clique problem) заключается в проверке наличия3-клики (то есть полного подграфа на трех вершинах) во входномграфе.

Алгоритм

Matrix-Clique(G )построить матрицу смежности A графа Gпосчитать A3

вернуть “да”, если на диагонали построенной матрицы есть хотябы один не нольвернуть “нет”

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 12 / 39

Page 37: Algorithms For Np Hard Problems

3-клика

Определение

Задача о 3-клике (3-clique problem) заключается в проверке наличия3-клики (то есть полного подграфа на трех вершинах) во входномграфе.

Алгоритм

Matrix-Clique(G )построить матрицу смежности A графа Gпосчитать A3

вернуть “да”, если на диагонали построенной матрицы есть хотябы один не ноль

вернуть “нет”

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 12 / 39

Page 38: Algorithms For Np Hard Problems

3-клика

Определение

Задача о 3-клике (3-clique problem) заключается в проверке наличия3-клики (то есть полного подграфа на трех вершинах) во входномграфе.

Алгоритм

Matrix-Clique(G )построить матрицу смежности A графа Gпосчитать A3

вернуть “да”, если на диагонали построенной матрицы есть хотябы один не нольвернуть “нет”

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 12 / 39

Page 39: Algorithms For Np Hard Problems

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

ЛеммаАлгоритм выдает правильный ответ за время O(nω), где ω ≈ 2.376 —экспонента перемножения матриц (matrix multiplication exponent).

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

важное свойство матрицы смежности: Ak [i , j ] есть количествопутей длины k из вершины i в вершину j в графе G (легкодоказать по индукции)3-клика — это путь длины 3 из вершины в саму себядля вычисления A3 требуется два умножения матриц

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 13 / 39

Page 40: Algorithms For Np Hard Problems

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

ЛеммаАлгоритм выдает правильный ответ за время O(nω), где ω ≈ 2.376 —экспонента перемножения матриц (matrix multiplication exponent).

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

важное свойство матрицы смежности: Ak [i , j ] есть количествопутей длины k из вершины i в вершину j в графе G (легкодоказать по индукции)3-клика — это путь длины 3 из вершины в саму себядля вычисления A3 требуется два умножения матриц

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 13 / 39

Page 41: Algorithms For Np Hard Problems

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

ЛеммаАлгоритм выдает правильный ответ за время O(nω), где ω ≈ 2.376 —экспонента перемножения матриц (matrix multiplication exponent).

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

важное свойство матрицы смежности: Ak [i , j ] есть количествопутей длины k из вершины i в вершину j в графе G (легкодоказать по индукции)

3-клика — это путь длины 3 из вершины в саму себядля вычисления A3 требуется два умножения матриц

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 13 / 39

Page 42: Algorithms For Np Hard Problems

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

ЛеммаАлгоритм выдает правильный ответ за время O(nω), где ω ≈ 2.376 —экспонента перемножения матриц (matrix multiplication exponent).

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

важное свойство матрицы смежности: Ak [i , j ] есть количествопутей длины k из вершины i в вершину j в графе G (легкодоказать по индукции)3-клика — это путь длины 3 из вершины в саму себя

для вычисления A3 требуется два умножения матриц

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 13 / 39

Page 43: Algorithms For Np Hard Problems

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

ЛеммаАлгоритм выдает правильный ответ за время O(nω), где ω ≈ 2.376 —экспонента перемножения матриц (matrix multiplication exponent).

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

важное свойство матрицы смежности: Ak [i , j ] есть количествопутей длины k из вершины i в вершину j в графе G (легкодоказать по индукции)3-клика — это путь длины 3 из вершины в саму себядля вычисления A3 требуется два умножения матриц

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 13 / 39

Page 44: Algorithms For Np Hard Problems

Задача о максимальном разрезе

Определение

Задача о максимальном разрезе (maximum cut problem, MAX-CUT)заключается в нахождении такого разбиения вершин графа на двечасти, при котором количество ребер, концы которых принадлежатразным частям, максимально.

Основные идеи сведения максимального разреза к 3-кликеДан граф G на n вершинах.

Построим трехдольный граф H на 3 · 2n/3 вершинах соследующим свойством: исходный граф G имеет разрез веса wтогда и только тогда, когда H содержит 3-клику веса w .Используем быстрое умножение матриц для поиска 3-клики.Сложность: 2ωn/3 ≈ 1.732n.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 14 / 39

Page 45: Algorithms For Np Hard Problems

Задача о максимальном разрезе

Определение

Задача о максимальном разрезе (maximum cut problem, MAX-CUT)заключается в нахождении такого разбиения вершин графа на двечасти, при котором количество ребер, концы которых принадлежатразным частям, максимально.

Основные идеи сведения максимального разреза к 3-кликеДан граф G на n вершинах.

Построим трехдольный граф H на 3 · 2n/3 вершинах соследующим свойством: исходный граф G имеет разрез веса wтогда и только тогда, когда H содержит 3-клику веса w .Используем быстрое умножение матриц для поиска 3-клики.Сложность: 2ωn/3 ≈ 1.732n.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 14 / 39

Page 46: Algorithms For Np Hard Problems

Задача о максимальном разрезе

Определение

Задача о максимальном разрезе (maximum cut problem, MAX-CUT)заключается в нахождении такого разбиения вершин графа на двечасти, при котором количество ребер, концы которых принадлежатразным частям, максимально.

Основные идеи сведения максимального разреза к 3-кликеДан граф G на n вершинах.

Построим трехдольный граф H на 3 · 2n/3 вершинах соследующим свойством: исходный граф G имеет разрез веса wтогда и только тогда, когда H содержит 3-клику веса w .

Используем быстрое умножение матриц для поиска 3-клики.Сложность: 2ωn/3 ≈ 1.732n.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 14 / 39

Page 47: Algorithms For Np Hard Problems

Задача о максимальном разрезе

Определение

Задача о максимальном разрезе (maximum cut problem, MAX-CUT)заключается в нахождении такого разбиения вершин графа на двечасти, при котором количество ребер, концы которых принадлежатразным частям, максимально.

Основные идеи сведения максимального разреза к 3-кликеДан граф G на n вершинах.

Построим трехдольный граф H на 3 · 2n/3 вершинах соследующим свойством: исходный граф G имеет разрез веса wтогда и только тогда, когда H содержит 3-клику веса w .Используем быстрое умножение матриц для поиска 3-клики.

Сложность: 2ωn/3 ≈ 1.732n.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 14 / 39

Page 48: Algorithms For Np Hard Problems

Задача о максимальном разрезе

Определение

Задача о максимальном разрезе (maximum cut problem, MAX-CUT)заключается в нахождении такого разбиения вершин графа на двечасти, при котором количество ребер, концы которых принадлежатразным частям, максимально.

Основные идеи сведения максимального разреза к 3-кликеДан граф G на n вершинах.

Построим трехдольный граф H на 3 · 2n/3 вершинах соследующим свойством: исходный граф G имеет разрез веса wтогда и только тогда, когда H содержит 3-клику веса w .Используем быстрое умножение матриц для поиска 3-клики.Сложность: 2ωn/3 ≈ 1.732n.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 14 / 39

Page 49: Algorithms For Np Hard Problems

Вспомогательный граф

H G

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39

Page 50: Algorithms For Np Hard Problems

Вспомогательный граф

H G

это три части вершин исходного графа G

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39

Page 51: Algorithms For Np Hard Problems

Вспомогательный граф

H G

это три доли вершин вспомогательного огромного графа H

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39

Page 52: Algorithms For Np Hard Problems

Вспомогательный граф

H GV3 \ X3

X3

V1 \ X1

X1

V2 \ X2

X2

X1

X2 X3

для каждого Xi ⊆ Vi создаём вершину в соответствующей доле H

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39

Page 53: Algorithms For Np Hard Problems

Вспомогательный граф

H GV3 \ X3

X3

V1 \ X1

X1

V2 \ X2

X2

X1

X2 X3

чему равен вес разреза X1 ∪ X2 ∪ X3 в G?

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39

Page 54: Algorithms For Np Hard Problems

Вспомогательный граф

H GV3 \ X3

X3

V1 \ X1

X1

V2 \ X2

X2

X1

X2 X3

чему равен вес разреза X1 ∪ X2 ∪ X3 в G?

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39

Page 55: Algorithms For Np Hard Problems

Вспомогательный граф

H GV3 \ X3

X3

V1 \ X1

X1

V2 \ X2

X2

X1

X2 X3

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39

Page 56: Algorithms For Np Hard Problems

Вспомогательный граф

H GV3 \ X3

X3

V1 \ X1

X1

V2 \ X2

X2

X1

X2 X3

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39

Page 57: Algorithms For Np Hard Problems

Вспомогательный граф

H GV3 \ X3

X3

V1 \ X1

X1

V2 \ X2

X2

X1

X2 X3

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39

Page 58: Algorithms For Np Hard Problems

Вспомогательный граф

H GV3 \ X3

X3

V1 \ X1

X1

V2 \ X2

X2

X1

X2 X3

итак, вес треугольника (H1, H2, H3) в H равенвесу разреза X1 ∪ X2 ∪ X3 в G

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39

Page 59: Algorithms For Np Hard Problems

Алгоритм

Алгоритм

Matrix-MAX-CUT(G )

разбить множество вершин V на три равные части V1, V2, V3

построить вспомогательный трехдольный граф H: i-я доля Tiсодержит все возможные подмножества Vi ; вес ребра между X1 иX2 равен

w(V2 \ X2, X1) + w(V1 \ X1, X1) + w(V1 \ X1, X2)

(для остальных пар долей — аналогично)для всех 1 ≤ w12, w13, w23 ≤ |EG |

оставить только ребра веса wij между долями Ti и Tjпроверить, есть ли в модифицированном графе H 3-кликаесли да, то в G есть разрез веса w12 + w13 + w23

вернуть максимальную найденную стоимость разреза

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 16 / 39

Page 60: Algorithms For Np Hard Problems

Алгоритм

Алгоритм

Matrix-MAX-CUT(G )разбить множество вершин V на три равные части V1, V2, V3

построить вспомогательный трехдольный граф H: i-я доля Tiсодержит все возможные подмножества Vi ; вес ребра между X1 иX2 равен

w(V2 \ X2, X1) + w(V1 \ X1, X1) + w(V1 \ X1, X2)

(для остальных пар долей — аналогично)для всех 1 ≤ w12, w13, w23 ≤ |EG |

оставить только ребра веса wij между долями Ti и Tjпроверить, есть ли в модифицированном графе H 3-кликаесли да, то в G есть разрез веса w12 + w13 + w23

вернуть максимальную найденную стоимость разреза

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 16 / 39

Page 61: Algorithms For Np Hard Problems

Алгоритм

Алгоритм

Matrix-MAX-CUT(G )разбить множество вершин V на три равные части V1, V2, V3

построить вспомогательный трехдольный граф H: i-я доля Tiсодержит все возможные подмножества Vi ; вес ребра между X1 иX2 равен

w(V2 \ X2, X1) + w(V1 \ X1, X1) + w(V1 \ X1, X2)

(для остальных пар долей — аналогично)

для всех 1 ≤ w12, w13, w23 ≤ |EG |оставить только ребра веса wij между долями Ti и Tjпроверить, есть ли в модифицированном графе H 3-кликаесли да, то в G есть разрез веса w12 + w13 + w23

вернуть максимальную найденную стоимость разреза

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 16 / 39

Page 62: Algorithms For Np Hard Problems

Алгоритм

Алгоритм

Matrix-MAX-CUT(G )разбить множество вершин V на три равные части V1, V2, V3

построить вспомогательный трехдольный граф H: i-я доля Tiсодержит все возможные подмножества Vi ; вес ребра между X1 иX2 равен

w(V2 \ X2, X1) + w(V1 \ X1, X1) + w(V1 \ X1, X2)

(для остальных пар долей — аналогично)для всех 1 ≤ w12, w13, w23 ≤ |EG |

оставить только ребра веса wij между долями Ti и Tjпроверить, есть ли в модифицированном графе H 3-кликаесли да, то в G есть разрез веса w12 + w13 + w23

вернуть максимальную найденную стоимость разреза

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 16 / 39

Page 63: Algorithms For Np Hard Problems

Алгоритм

Алгоритм

Matrix-MAX-CUT(G )разбить множество вершин V на три равные части V1, V2, V3

построить вспомогательный трехдольный граф H: i-я доля Tiсодержит все возможные подмножества Vi ; вес ребра между X1 иX2 равен

w(V2 \ X2, X1) + w(V1 \ X1, X1) + w(V1 \ X1, X2)

(для остальных пар долей — аналогично)для всех 1 ≤ w12, w13, w23 ≤ |EG |

оставить только ребра веса wij между долями Ti и Tj

проверить, есть ли в модифицированном графе H 3-кликаесли да, то в G есть разрез веса w12 + w13 + w23

вернуть максимальную найденную стоимость разреза

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 16 / 39

Page 64: Algorithms For Np Hard Problems

Алгоритм

Алгоритм

Matrix-MAX-CUT(G )разбить множество вершин V на три равные части V1, V2, V3

построить вспомогательный трехдольный граф H: i-я доля Tiсодержит все возможные подмножества Vi ; вес ребра между X1 иX2 равен

w(V2 \ X2, X1) + w(V1 \ X1, X1) + w(V1 \ X1, X2)

(для остальных пар долей — аналогично)для всех 1 ≤ w12, w13, w23 ≤ |EG |

оставить только ребра веса wij между долями Ti и Tjпроверить, есть ли в модифицированном графе H 3-клика

если да, то в G есть разрез веса w12 + w13 + w23

вернуть максимальную найденную стоимость разреза

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 16 / 39

Page 65: Algorithms For Np Hard Problems

Алгоритм

Алгоритм

Matrix-MAX-CUT(G )разбить множество вершин V на три равные части V1, V2, V3

построить вспомогательный трехдольный граф H: i-я доля Tiсодержит все возможные подмножества Vi ; вес ребра между X1 иX2 равен

w(V2 \ X2, X1) + w(V1 \ X1, X1) + w(V1 \ X1, X2)

(для остальных пар долей — аналогично)для всех 1 ≤ w12, w13, w23 ≤ |EG |

оставить только ребра веса wij между долями Ti и Tjпроверить, есть ли в модифицированном графе H 3-кликаесли да, то в G есть разрез веса w12 + w13 + w23

вернуть максимальную найденную стоимость разреза

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 16 / 39

Page 66: Algorithms For Np Hard Problems

Алгоритм

Алгоритм

Matrix-MAX-CUT(G )разбить множество вершин V на три равные части V1, V2, V3

построить вспомогательный трехдольный граф H: i-я доля Tiсодержит все возможные подмножества Vi ; вес ребра между X1 иX2 равен

w(V2 \ X2, X1) + w(V1 \ X1, X1) + w(V1 \ X1, X2)

(для остальных пар долей — аналогично)для всех 1 ≤ w12, w13, w23 ≤ |EG |

оставить только ребра веса wij между долями Ti и Tjпроверить, есть ли в модифицированном графе H 3-кликаесли да, то в G есть разрез веса w12 + w13 + w23

вернуть максимальную найденную стоимость разреза

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 16 / 39

Page 67: Algorithms For Np Hard Problems

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

Факт

Алгоритм, как видно, использует экспоненциальную память ипоэтому совсем не практичен.Алгоритм со временем работы 1.99999n и полиномиальнойпамятью пока не придуман.Наилучшая известная оценка относительно количества рёбер —2m/6.2.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 17 / 39

Page 68: Algorithms For Np Hard Problems

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

ФактАлгоритм, как видно, использует экспоненциальную память ипоэтому совсем не практичен.

Алгоритм со временем работы 1.99999n и полиномиальнойпамятью пока не придуман.Наилучшая известная оценка относительно количества рёбер —2m/6.2.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 17 / 39

Page 69: Algorithms For Np Hard Problems

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

ФактАлгоритм, как видно, использует экспоненциальную память ипоэтому совсем не практичен.Алгоритм со временем работы 1.99999n и полиномиальнойпамятью пока не придуман.

Наилучшая известная оценка относительно количества рёбер —2m/6.2.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 17 / 39

Page 70: Algorithms For Np Hard Problems

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

ФактАлгоритм, как видно, использует экспоненциальную память ипоэтому совсем не практичен.Алгоритм со временем работы 1.99999n и полиномиальнойпамятью пока не придуман.Наилучшая известная оценка относительно количества рёбер —2m/6.2.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 17 / 39

Page 71: Algorithms For Np Hard Problems

План лекции

1 P и NP неформально

2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе

3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k

4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 18 / 39

Page 72: Algorithms For Np Hard Problems

FPT алгоритмы для NP-трудных задач

Алгоритмы, находящие точное решение для даннойзадачи за время

f (k)nc ,

гдеn — размер входа,c — константа,k — некоторый параметр,f — произвольная функция.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 19 / 39

Page 73: Algorithms For Np Hard Problems

Вершинное покрытие и доминирующее множество

Определение

(Параметризованная) задача о вершинном покрытии(parameterized vertex cover problem) заключается в нахождении поданному графу G = (V , E ) и числу k такого множества вершинV ′ ⊆ V , что |V ′| ≤ k и для любого ребра (u, v) ∈ E , хотя бы однаиз вершин u и v содержится в V ′.(Параметризованная) задача о доминирующем множестве(parameterzied dominating set problem) заключается в нахождениипо данному графу G = (V , E ) и числу k такого множества вершинV ′ ⊆ V , что для любой вершины u ∈ V найдётся такая вершинаv ∈ V ′, что (u, v) ∈ E .

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 20 / 39

Page 74: Algorithms For Np Hard Problems

Вершинное покрытие и доминирующее множество

Определение

(Параметризованная) задача о вершинном покрытии(parameterized vertex cover problem) заключается в нахождении поданному графу G = (V , E ) и числу k такого множества вершинV ′ ⊆ V , что |V ′| ≤ k и для любого ребра (u, v) ∈ E , хотя бы однаиз вершин u и v содержится в V ′.

(Параметризованная) задача о доминирующем множестве(parameterzied dominating set problem) заключается в нахождениипо данному графу G = (V , E ) и числу k такого множества вершинV ′ ⊆ V , что для любой вершины u ∈ V найдётся такая вершинаv ∈ V ′, что (u, v) ∈ E .

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 20 / 39

Page 75: Algorithms For Np Hard Problems

Вершинное покрытие и доминирующее множество

Определение

(Параметризованная) задача о вершинном покрытии(parameterized vertex cover problem) заключается в нахождении поданному графу G = (V , E ) и числу k такого множества вершинV ′ ⊆ V , что |V ′| ≤ k и для любого ребра (u, v) ∈ E , хотя бы однаиз вершин u и v содержится в V ′.(Параметризованная) задача о доминирующем множестве(parameterzied dominating set problem) заключается в нахождениипо данному графу G = (V , E ) и числу k такого множества вершинV ′ ⊆ V , что для любой вершины u ∈ V найдётся такая вершинаv ∈ V ′, что (u, v) ∈ E .

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 20 / 39

Page 76: Algorithms For Np Hard Problems

Сравнение алгоритмов

Наивный алгоритм для задачи о вершинном покрытии имеетвремя работы 2kn, для задачи о доминирующем множестве —nk+1.Отношение nk+1/2kn для различных значений k и n.

n = 50 n = 100 n = 150k = 2 625 2 500 5 625k = 3 15 625 125 000 421 875k = 5 390 625 6 255 000 31 640 625k = 10 1.9× 1012 9.8× 1014 3.7× 1016

k = 20 1.8× 1026 9.5× 1031 2.1× 1035

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 21 / 39

Page 77: Algorithms For Np Hard Problems

Сравнение алгоритмов

Наивный алгоритм для задачи о вершинном покрытии имеетвремя работы 2kn, для задачи о доминирующем множестве —nk+1.

Отношение nk+1/2kn для различных значений k и n.

n = 50 n = 100 n = 150k = 2 625 2 500 5 625k = 3 15 625 125 000 421 875k = 5 390 625 6 255 000 31 640 625k = 10 1.9× 1012 9.8× 1014 3.7× 1016

k = 20 1.8× 1026 9.5× 1031 2.1× 1035

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 21 / 39

Page 78: Algorithms For Np Hard Problems

Сравнение алгоритмов

Наивный алгоритм для задачи о вершинном покрытии имеетвремя работы 2kn, для задачи о доминирующем множестве —nk+1.Отношение nk+1/2kn для различных значений k и n.

n = 50 n = 100 n = 150k = 2 625 2 500 5 625k = 3 15 625 125 000 421 875k = 5 390 625 6 255 000 31 640 625k = 10 1.9× 1012 9.8× 1014 3.7× 1016

k = 20 1.8× 1026 9.5× 1031 2.1× 1035

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 21 / 39

Page 79: Algorithms For Np Hard Problems

Fixed parameter tractability

Определение

Параметризованной задачей (parameterized problem) L называетсяподмножество Σ∗ × N для некоторого конечного алфавита Σ.Входом задачи является пара (x , k), k называется параметром(parameter).Параметризованная задача L называется fixed parameter tractable(FPT), если принадлежность пары (x , k) языку L может бытьпроверена за время f (k)|x |c , где c — константа (не зависящая ниот k , ни от n), а f — произвольная функция.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 22 / 39

Page 80: Algorithms For Np Hard Problems

Fixed parameter tractability

Определение

Параметризованной задачей (parameterized problem) L называетсяподмножество Σ∗ × N для некоторого конечного алфавита Σ.Входом задачи является пара (x , k), k называется параметром(parameter).

Параметризованная задача L называется fixed parameter tractable(FPT), если принадлежность пары (x , k) языку L может бытьпроверена за время f (k)|x |c , где c — константа (не зависящая ниот k , ни от n), а f — произвольная функция.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 22 / 39

Page 81: Algorithms For Np Hard Problems

Fixed parameter tractability

Определение

Параметризованной задачей (parameterized problem) L называетсяподмножество Σ∗ × N для некоторого конечного алфавита Σ.Входом задачи является пара (x , k), k называется параметром(parameter).Параметризованная задача L называется fixed parameter tractable(FPT), если принадлежность пары (x , k) языку L может бытьпроверена за время f (k)|x |c , где c — константа (не зависящая ниот k , ни от n), а f — произвольная функция.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 22 / 39

Page 82: Algorithms For Np Hard Problems

План лекции

1 P и NP неформально

2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе

3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k

4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 23 / 39

Page 83: Algorithms For Np Hard Problems

Задача о пути длины k

Определение

Задачи о пути длины k (k-path problem) заключается в нахождении поданному графу G с двумя выделенными вершинами s и t и числу kпростого пути между s и t, содержащего ровно k промежуточныхвершин.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 24 / 39

Page 84: Algorithms For Np Hard Problems

Color coding

Color coding

Присвоим равновероятно и независимо всем вершинам, кроме s иt, цвета от 1 до k .Проверим, есть ли полноцветный s–t путь, то есть путь, вкотором промежуточные вершины покрашены во все k цветов.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 25 / 39

Page 85: Algorithms For Np Hard Problems

Color coding

Color codingПрисвоим равновероятно и независимо всем вершинам, кроме s иt, цвета от 1 до k .

Проверим, есть ли полноцветный s–t путь, то есть путь, вкотором промежуточные вершины покрашены во все k цветов.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 25 / 39

Page 86: Algorithms For Np Hard Problems

Color coding

Color codingПрисвоим равновероятно и независимо всем вершинам, кроме s иt, цвета от 1 до k .Проверим, есть ли полноцветный s–t путь, то есть путь, вкотором промежуточные вершины покрашены во все k цветов.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 25 / 39

Page 87: Algorithms For Np Hard Problems

Оценка вероятности ошибки

Оценка вероятности ошибки

Если путь длины k есть, то вероятность того, что он полноцветен,равна

k!

kk >

(ke

)k

kk = e−k .

Вероятность того, что путь не найдётся (если он есть) после ek

повторений, не превосходит

(1− e−k)ek<

(e−e−k

)ek

= e−1 .

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 26 / 39

Page 88: Algorithms For Np Hard Problems

Оценка вероятности ошибки

Оценка вероятности ошибкиЕсли путь длины k есть, то вероятность того, что он полноцветен,равна

k!

kk >

(ke

)k

kk = e−k .

Вероятность того, что путь не найдётся (если он есть) после ek

повторений, не превосходит

(1− e−k)ek<

(e−e−k

)ek

= e−1 .

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 26 / 39

Page 89: Algorithms For Np Hard Problems

Оценка вероятности ошибки

Оценка вероятности ошибкиЕсли путь длины k есть, то вероятность того, что он полноцветен,равна

k!

kk >

(ke

)k

kk = e−k .

Вероятность того, что путь не найдётся (если он есть) после ek

повторений, не превосходит

(1− e−k)ek<

(e−e−k

)ek

= e−1 .

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 26 / 39

Page 90: Algorithms For Np Hard Problems

Как же проверять наличие полноцветного пути?

Как же проверять наличие полноцветного пути?

Мы знаем, что в полноцветном пути должны встречатьсявершины всех k цветов, но не знаем, в каком порядке.Можно перебрать все k! порядков. Когда порядок зафиксирован,нужно просто проверить наличие s–t пути в графе.

Итого

Алгоритм за время O(ekk!|E (G )|) решает задачу о пути длины k свероятностью ошибки не более e−1.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 27 / 39

Page 91: Algorithms For Np Hard Problems

Как же проверять наличие полноцветного пути?

Как же проверять наличие полноцветного пути?Мы знаем, что в полноцветном пути должны встречатьсявершины всех k цветов, но не знаем, в каком порядке.

Можно перебрать все k! порядков. Когда порядок зафиксирован,нужно просто проверить наличие s–t пути в графе.

Итого

Алгоритм за время O(ekk!|E (G )|) решает задачу о пути длины k свероятностью ошибки не более e−1.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 27 / 39

Page 92: Algorithms For Np Hard Problems

Как же проверять наличие полноцветного пути?

Как же проверять наличие полноцветного пути?Мы знаем, что в полноцветном пути должны встречатьсявершины всех k цветов, но не знаем, в каком порядке.Можно перебрать все k! порядков. Когда порядок зафиксирован,нужно просто проверить наличие s–t пути в графе.

Итого

Алгоритм за время O(ekk!|E (G )|) решает задачу о пути длины k свероятностью ошибки не более e−1.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 27 / 39

Page 93: Algorithms For Np Hard Problems

Как же проверять наличие полноцветного пути?

Как же проверять наличие полноцветного пути?Мы знаем, что в полноцветном пути должны встречатьсявершины всех k цветов, но не знаем, в каком порядке.Можно перебрать все k! порядков. Когда порядок зафиксирован,нужно просто проверить наличие s–t пути в графе.

Итого

Алгоритм за время O(ekk!|E (G )|) решает задачу о пути длины k свероятностью ошибки не более e−1.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 27 / 39

Page 94: Algorithms For Np Hard Problems

План лекции

1 P и NP неформально

2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе

3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k

4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 28 / 39

Page 95: Algorithms For Np Hard Problems

Приближённые алгоритмы для NP-трудных задач

Алгоритмы, находящие за полиномиальное время дляданной оптимизационной задачи решение, котороегарантированно не сильно хуже оптимального.

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 29 / 39

Page 96: Algorithms For Np Hard Problems

План лекции

1 P и NP неформально

2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе

3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k

4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 30 / 39

Page 97: Algorithms For Np Hard Problems

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

Определение

Дан полный неориентированный граф 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 .

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 31 / 39

Page 98: Algorithms For Np Hard Problems

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

Определение

Дан полный неориентированный граф 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 .

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 31 / 39

Page 99: Algorithms For Np Hard Problems

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

Определение

Дан полный неориентированный граф 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 .

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 31 / 39

Page 100: Algorithms For Np Hard Problems

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

Определение

Дан полный неориентированный граф 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 .

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 31 / 39

Page 101: Algorithms For Np Hard Problems

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

Алгоритм

Approx-TSP(G )

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 32 / 39

Page 102: Algorithms For Np Hard Problems

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

Алгоритм

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 32 / 39

Page 103: Algorithms For Np Hard Problems

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

Алгоритм

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 32 / 39

Page 104: Algorithms For Np Hard Problems

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

Алгоритм

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 32 / 39

Page 105: Algorithms For Np Hard Problems

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

Алгоритм

Approx-TSP(G )

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

a

b

c

d

e

f g

h

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 33 / 39

Page 106: Algorithms For Np Hard Problems

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

Алгоритм

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

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

a

b

c

d

e

f g

h

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 33 / 39

Page 107: Algorithms For Np Hard Problems

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

Алгоритм

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

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

a

b

c

d

e

f g

h

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 33 / 39

Page 108: Algorithms For Np Hard Problems

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

Алгоритм

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

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

a

b

c

d

e

f g

h

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 33 / 39

Page 109: Algorithms For Np Hard Problems

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

Алгоритм

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

a

b

c

d

e

f g

h

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 33 / 39

Page 110: Algorithms For Np Hard Problems

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

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 34 / 39

Page 111: Algorithms For Np Hard Problems

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

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

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 34 / 39

Page 112: Algorithms For Np Hard Problems

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

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

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 34 / 39

Page 113: Algorithms For Np Hard Problems

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

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

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 34 / 39

Page 114: Algorithms For Np Hard Problems

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

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

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 34 / 39

Page 115: Algorithms For Np Hard Problems

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

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 34 / 39

Page 116: Algorithms For Np Hard Problems

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

Алгоритм

Approx-TSP-Improved(G )

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 35 / 39

Page 117: Algorithms For Np Hard Problems

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

Алгоритм

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 35 / 39

Page 118: Algorithms For Np Hard Problems

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

Алгоритм

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 35 / 39

Page 119: Algorithms For Np Hard Problems

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

Алгоритм

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 35 / 39

Page 120: Algorithms For Np Hard Problems

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

Алгоритм

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 35 / 39

Page 121: Algorithms For Np Hard Problems

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

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 36 / 39

Page 122: Algorithms For Np Hard Problems

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

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

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 36 / 39

Page 123: Algorithms For Np Hard Problems

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

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

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 36 / 39

Page 124: Algorithms For Np Hard Problems

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

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

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 36 / 39

Page 125: Algorithms For Np Hard Problems

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

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

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 36 / 39

Page 126: Algorithms For Np Hard Problems

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

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 36 / 39

Page 127: Algorithms For Np Hard Problems

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

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 37 / 39

Page 128: Algorithms For Np Hard Problems

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

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 37 / 39

Page 129: Algorithms For Np Hard Problems

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

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 37 / 39

Page 130: Algorithms For Np Hard Problems

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

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 37 / 39

Page 131: Algorithms For Np Hard Problems

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 37 / 39

Page 132: Algorithms For Np Hard Problems

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

Факт

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 38 / 39

Page 133: Algorithms For Np Hard Problems

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

Факт

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

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 38 / 39

Page 134: Algorithms For Np Hard Problems

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

Факт

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

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 38 / 39

Page 135: Algorithms For Np Hard Problems

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

Факт

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

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 38 / 39

Page 136: Algorithms For Np Hard Problems

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

А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 39 / 39