algorithms for np hard problems
Post on 18-Dec-2014
1.637 Views
Preview:
DESCRIPTION
TRANSCRIPT
Алгоритмы для NP-трудных задач
А. Куликов
Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН(ПОМИ РАН)
Computer Science E-Days20 марта 2010
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 1 / 39
План лекции
1 P и NP неформально
2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе
3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k
4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 2 / 39
План лекции
1 P и NP неформально
2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе
3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k
4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 2 / 39
План лекции
1 P и NP неформально
2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе
3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k
4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 2 / 39
План лекции
1 P и NP неформально
2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе
3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k
4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 2 / 39
План лекции
1 P и NP неформально
2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе
3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k
4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 3 / 39
Классы P и NP
Задача поиска задаётся алгоритмом C, который получает на входусловие I и кандидата на решение S и имеет время работы,ограниченное некоторым полиномом от |I |. S называетсярешением, если и только если C(S , I ) = true.NP — класс всех задач поиска. Другими словами, NP — классвсех задач, решение для которых может быть быстро проверено.P — класс задач поиска, решение для которых может быть быстронайдено.P 6=NP? Другими словами, существуют ли задачи, решение длякоторых может быть быстро проверено, но не может быть быстронайдено? Это один из самых важных и самых сложных открытыхвопросов Theoretical Computer Science.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 4 / 39
Классы P и NP
Задача поиска задаётся алгоритмом C, который получает на входусловие I и кандидата на решение S и имеет время работы,ограниченное некоторым полиномом от |I |. S называетсярешением, если и только если C(S , I ) = true.
NP — класс всех задач поиска. Другими словами, NP — классвсех задач, решение для которых может быть быстро проверено.P — класс задач поиска, решение для которых может быть быстронайдено.P 6=NP? Другими словами, существуют ли задачи, решение длякоторых может быть быстро проверено, но не может быть быстронайдено? Это один из самых важных и самых сложных открытыхвопросов Theoretical Computer Science.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 4 / 39
Классы P и NP
Задача поиска задаётся алгоритмом C, который получает на входусловие I и кандидата на решение S и имеет время работы,ограниченное некоторым полиномом от |I |. S называетсярешением, если и только если C(S , I ) = true.NP — класс всех задач поиска. Другими словами, NP — классвсех задач, решение для которых может быть быстро проверено.
P — класс задач поиска, решение для которых может быть быстронайдено.P 6=NP? Другими словами, существуют ли задачи, решение длякоторых может быть быстро проверено, но не может быть быстронайдено? Это один из самых важных и самых сложных открытыхвопросов Theoretical Computer Science.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 4 / 39
Классы P и NP
Задача поиска задаётся алгоритмом C, который получает на входусловие I и кандидата на решение S и имеет время работы,ограниченное некоторым полиномом от |I |. S называетсярешением, если и только если C(S , I ) = true.NP — класс всех задач поиска. Другими словами, NP — классвсех задач, решение для которых может быть быстро проверено.P — класс задач поиска, решение для которых может быть быстронайдено.
P 6=NP? Другими словами, существуют ли задачи, решение длякоторых может быть быстро проверено, но не может быть быстронайдено? Это один из самых важных и самых сложных открытыхвопросов Theoretical Computer Science.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 4 / 39
Классы P и NP
Задача поиска задаётся алгоритмом C, который получает на входусловие I и кандидата на решение S и имеет время работы,ограниченное некоторым полиномом от |I |. S называетсярешением, если и только если C(S , I ) = true.NP — класс всех задач поиска. Другими словами, NP — классвсех задач, решение для которых может быть быстро проверено.P — класс задач поиска, решение для которых может быть быстронайдено.P 6=NP? Другими словами, существуют ли задачи, решение длякоторых может быть быстро проверено, но не может быть быстронайдено? Это один из самых важных и самых сложных открытыхвопросов Theoretical Computer Science.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 4 / 39
Сведения
Говорим, что задача A сводится к задаче B , и пишем A→ B , еслипо эффективному алгоритму для задачи B можно построитьэффективный алгоритм для задачи A.По-другому: если A решить сложно и A→ B , то и B решитьсложно. То есть B не может быть сильно проще A.Задача поиска называется NP-полной, если к ней сводятся всезадачи поиска. То есть это универсальный притягивающий объектв классе NP.Удивительно (на первый взгляд), что такие задачи вообщесуществуют.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 5 / 39
Сведения
Говорим, что задача A сводится к задаче B , и пишем A→ B , еслипо эффективному алгоритму для задачи B можно построитьэффективный алгоритм для задачи A.
По-другому: если A решить сложно и A→ B , то и B решитьсложно. То есть B не может быть сильно проще A.Задача поиска называется NP-полной, если к ней сводятся всезадачи поиска. То есть это универсальный притягивающий объектв классе NP.Удивительно (на первый взгляд), что такие задачи вообщесуществуют.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 5 / 39
Сведения
Говорим, что задача A сводится к задаче B , и пишем A→ B , еслипо эффективному алгоритму для задачи B можно построитьэффективный алгоритм для задачи A.По-другому: если A решить сложно и A→ B , то и B решитьсложно. То есть B не может быть сильно проще A.
Задача поиска называется NP-полной, если к ней сводятся всезадачи поиска. То есть это универсальный притягивающий объектв классе NP.Удивительно (на первый взгляд), что такие задачи вообщесуществуют.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 5 / 39
Сведения
Говорим, что задача A сводится к задаче B , и пишем A→ B , еслипо эффективному алгоритму для задачи B можно построитьэффективный алгоритм для задачи A.По-другому: если A решить сложно и A→ B , то и B решитьсложно. То есть B не может быть сильно проще A.Задача поиска называется NP-полной, если к ней сводятся всезадачи поиска. То есть это универсальный притягивающий объектв классе NP.
Удивительно (на первый взгляд), что такие задачи вообщесуществуют.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 5 / 39
Сведения
Говорим, что задача A сводится к задаче B , и пишем A→ B , еслипо эффективному алгоритму для задачи B можно построитьэффективный алгоритм для задачи A.По-другому: если A решить сложно и A→ B , то и B решитьсложно. То есть B не может быть сильно проще A.Задача поиска называется NP-полной, если к ней сводятся всезадачи поиска. То есть это универсальный притягивающий объектв классе NP.Удивительно (на первый взгляд), что такие задачи вообщесуществуют.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 5 / 39
P vs NP
Большинство исследователей считают, что P6=NP.Есть, впрочем, и другие мнения:http://www.win.tue.nl/∼gwoegi/P-versus-NP.htmВ предположении P 6=NP не существует полиномиальныхалгоритмов для NP-трудных задач.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 6 / 39
P vs NP
Большинство исследователей считают, что P6=NP.
Есть, впрочем, и другие мнения:http://www.win.tue.nl/∼gwoegi/P-versus-NP.htmВ предположении P 6=NP не существует полиномиальныхалгоритмов для NP-трудных задач.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 6 / 39
P vs NP
Большинство исследователей считают, что P6=NP.Есть, впрочем, и другие мнения:http://www.win.tue.nl/∼gwoegi/P-versus-NP.htm
В предположении P 6=NP не существует полиномиальныхалгоритмов для NP-трудных задач.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 6 / 39
P vs NP
Большинство исследователей считают, что P6=NP.Есть, впрочем, и другие мнения:http://www.win.tue.nl/∼gwoegi/P-versus-NP.htmВ предположении P 6=NP не существует полиномиальныхалгоритмов для NP-трудных задач.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 6 / 39
Мотивация
Многим приложениям требуется решать NP-трудные задачи, даженесмотря на то, что решения могут быть найдены только длявесьма маленьких размеров входов.Лучшее понимание NP-трудных задач.Новые интересные комбинаторные и алгоритмические задачи.Общая теория.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 7 / 39
Мотивация
Многим приложениям требуется решать NP-трудные задачи, даженесмотря на то, что решения могут быть найдены только длявесьма маленьких размеров входов.
Лучшее понимание NP-трудных задач.Новые интересные комбинаторные и алгоритмические задачи.Общая теория.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 7 / 39
Мотивация
Многим приложениям требуется решать NP-трудные задачи, даженесмотря на то, что решения могут быть найдены только длявесьма маленьких размеров входов.Лучшее понимание NP-трудных задач.
Новые интересные комбинаторные и алгоритмические задачи.Общая теория.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 7 / 39
Мотивация
Многим приложениям требуется решать NP-трудные задачи, даженесмотря на то, что решения могут быть найдены только длявесьма маленьких размеров входов.Лучшее понимание NP-трудных задач.Новые интересные комбинаторные и алгоритмические задачи.
Общая теория.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 7 / 39
Мотивация
Многим приложениям требуется решать NP-трудные задачи, даженесмотря на то, что решения могут быть найдены только длявесьма маленьких размеров входов.Лучшее понимание NP-трудных задач.Новые интересные комбинаторные и алгоритмические задачи.Общая теория.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 7 / 39
План лекции
1 P и NP неформально
2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе
3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k
4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 8 / 39
Точные алгоритмы для NP-трудных задач
Алгоритмы, находящие точное решение для даннойзадачи за время cn для достаточно малой константы c.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 9 / 39
Мотивация
Представим, что у нас есть алгоритм сложности 1.7n для некоторойзадачи, который за “разумное” время позволяет решать примеры этойзадачи размера не более n0.
The “hardware” approach: возьмем в 10 раз более быстрыйкомпьютер. Теперь мы можем решать примеры размера n0 + 4.The “brainware” approach: придумаем алгоритм сложности 1.3n.Это позволит нам решать примеры размера 2 · n0.
Другими словами, уменьшение основания экспоненты времени работыалгоритма увеличивает размер решаемых за данное время примеров вконстантное число раз, в то время как использование более быстрогокомпьютера способно увеличить размер лишь на константу.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 10 / 39
Мотивация
Представим, что у нас есть алгоритм сложности 1.7n для некоторойзадачи, который за “разумное” время позволяет решать примеры этойзадачи размера не более n0.
The “hardware” approach: возьмем в 10 раз более быстрыйкомпьютер. Теперь мы можем решать примеры размера n0 + 4.
The “brainware” approach: придумаем алгоритм сложности 1.3n.Это позволит нам решать примеры размера 2 · n0.
Другими словами, уменьшение основания экспоненты времени работыалгоритма увеличивает размер решаемых за данное время примеров вконстантное число раз, в то время как использование более быстрогокомпьютера способно увеличить размер лишь на константу.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 10 / 39
Мотивация
Представим, что у нас есть алгоритм сложности 1.7n для некоторойзадачи, который за “разумное” время позволяет решать примеры этойзадачи размера не более n0.
The “hardware” approach: возьмем в 10 раз более быстрыйкомпьютер. Теперь мы можем решать примеры размера n0 + 4.The “brainware” approach: придумаем алгоритм сложности 1.3n.Это позволит нам решать примеры размера 2 · n0.
Другими словами, уменьшение основания экспоненты времени работыалгоритма увеличивает размер решаемых за данное время примеров вконстантное число раз, в то время как использование более быстрогокомпьютера способно увеличить размер лишь на константу.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 10 / 39
Мотивация
Представим, что у нас есть алгоритм сложности 1.7n для некоторойзадачи, который за “разумное” время позволяет решать примеры этойзадачи размера не более n0.
The “hardware” approach: возьмем в 10 раз более быстрыйкомпьютер. Теперь мы можем решать примеры размера n0 + 4.The “brainware” approach: придумаем алгоритм сложности 1.3n.Это позволит нам решать примеры размера 2 · n0.
Другими словами, уменьшение основания экспоненты времени работыалгоритма увеличивает размер решаемых за данное время примеров вконстантное число раз, в то время как использование более быстрогокомпьютера способно увеличить размер лишь на константу.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 10 / 39
План лекции
1 P и NP неформально
2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе
3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k
4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 11 / 39
3-клика
Определение
Задача о 3-клике (3-clique problem) заключается в проверке наличия3-клики (то есть полного подграфа на трех вершинах) во входномграфе.
Алгоритм
Matrix-Clique(G )построить матрицу смежности A графа Gпосчитать A3
вернуть “да”, если на диагонали построенной матрицы есть хотябы один не нольвернуть “нет”
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 12 / 39
3-клика
Определение
Задача о 3-клике (3-clique problem) заключается в проверке наличия3-клики (то есть полного подграфа на трех вершинах) во входномграфе.
Алгоритм
Matrix-Clique(G )
построить матрицу смежности A графа Gпосчитать A3
вернуть “да”, если на диагонали построенной матрицы есть хотябы один не нольвернуть “нет”
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 12 / 39
3-клика
Определение
Задача о 3-клике (3-clique problem) заключается в проверке наличия3-клики (то есть полного подграфа на трех вершинах) во входномграфе.
Алгоритм
Matrix-Clique(G )построить матрицу смежности A графа G
посчитать A3
вернуть “да”, если на диагонали построенной матрицы есть хотябы один не нольвернуть “нет”
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 12 / 39
3-клика
Определение
Задача о 3-клике (3-clique problem) заключается в проверке наличия3-клики (то есть полного подграфа на трех вершинах) во входномграфе.
Алгоритм
Matrix-Clique(G )построить матрицу смежности A графа Gпосчитать A3
вернуть “да”, если на диагонали построенной матрицы есть хотябы один не нольвернуть “нет”
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 12 / 39
3-клика
Определение
Задача о 3-клике (3-clique problem) заключается в проверке наличия3-клики (то есть полного подграфа на трех вершинах) во входномграфе.
Алгоритм
Matrix-Clique(G )построить матрицу смежности A графа Gпосчитать A3
вернуть “да”, если на диагонали построенной матрицы есть хотябы один не ноль
вернуть “нет”
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 12 / 39
3-клика
Определение
Задача о 3-клике (3-clique problem) заключается в проверке наличия3-клики (то есть полного подграфа на трех вершинах) во входномграфе.
Алгоритм
Matrix-Clique(G )построить матрицу смежности A графа Gпосчитать A3
вернуть “да”, если на диагонали построенной матрицы есть хотябы один не нольвернуть “нет”
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 12 / 39
Анализ алгоритма
ЛеммаАлгоритм выдает правильный ответ за время O(nω), где ω ≈ 2.376 —экспонента перемножения матриц (matrix multiplication exponent).
Доказательство
важное свойство матрицы смежности: Ak [i , j ] есть количествопутей длины k из вершины i в вершину j в графе G (легкодоказать по индукции)3-клика — это путь длины 3 из вершины в саму себядля вычисления A3 требуется два умножения матриц
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 13 / 39
Анализ алгоритма
ЛеммаАлгоритм выдает правильный ответ за время O(nω), где ω ≈ 2.376 —экспонента перемножения матриц (matrix multiplication exponent).
Доказательство
важное свойство матрицы смежности: Ak [i , j ] есть количествопутей длины k из вершины i в вершину j в графе G (легкодоказать по индукции)3-клика — это путь длины 3 из вершины в саму себядля вычисления A3 требуется два умножения матриц
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 13 / 39
Анализ алгоритма
ЛеммаАлгоритм выдает правильный ответ за время O(nω), где ω ≈ 2.376 —экспонента перемножения матриц (matrix multiplication exponent).
Доказательство
важное свойство матрицы смежности: Ak [i , j ] есть количествопутей длины k из вершины i в вершину j в графе G (легкодоказать по индукции)
3-клика — это путь длины 3 из вершины в саму себядля вычисления A3 требуется два умножения матриц
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 13 / 39
Анализ алгоритма
ЛеммаАлгоритм выдает правильный ответ за время O(nω), где ω ≈ 2.376 —экспонента перемножения матриц (matrix multiplication exponent).
Доказательство
важное свойство матрицы смежности: Ak [i , j ] есть количествопутей длины k из вершины i в вершину j в графе G (легкодоказать по индукции)3-клика — это путь длины 3 из вершины в саму себя
для вычисления A3 требуется два умножения матриц
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 13 / 39
Анализ алгоритма
ЛеммаАлгоритм выдает правильный ответ за время O(nω), где ω ≈ 2.376 —экспонента перемножения матриц (matrix multiplication exponent).
Доказательство
важное свойство матрицы смежности: Ak [i , j ] есть количествопутей длины k из вершины i в вершину j в графе G (легкодоказать по индукции)3-клика — это путь длины 3 из вершины в саму себядля вычисления A3 требуется два умножения матриц
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 13 / 39
Задача о максимальном разрезе
Определение
Задача о максимальном разрезе (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
Задача о максимальном разрезе
Определение
Задача о максимальном разрезе (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
Задача о максимальном разрезе
Определение
Задача о максимальном разрезе (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
Задача о максимальном разрезе
Определение
Задача о максимальном разрезе (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
Задача о максимальном разрезе
Определение
Задача о максимальном разрезе (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
Вспомогательный граф
H G
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39
Вспомогательный граф
H G
это три части вершин исходного графа G
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39
Вспомогательный граф
H G
это три доли вершин вспомогательного огромного графа H
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39
Вспомогательный граф
H GV3 \ X3
X3
V1 \ X1
X1
V2 \ X2
X2
X1
X2 X3
для каждого Xi ⊆ Vi создаём вершину в соответствующей доле H
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39
Вспомогательный граф
H GV3 \ X3
X3
V1 \ X1
X1
V2 \ X2
X2
X1
X2 X3
чему равен вес разреза X1 ∪ X2 ∪ X3 в G?
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39
Вспомогательный граф
H GV3 \ X3
X3
V1 \ X1
X1
V2 \ X2
X2
X1
X2 X3
чему равен вес разреза X1 ∪ X2 ∪ X3 в G?
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39
Вспомогательный граф
H GV3 \ X3
X3
V1 \ X1
X1
V2 \ X2
X2
X1
X2 X3
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39
Вспомогательный граф
H GV3 \ X3
X3
V1 \ X1
X1
V2 \ X2
X2
X1
X2 X3
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39
Вспомогательный граф
H GV3 \ X3
X3
V1 \ X1
X1
V2 \ X2
X2
X1
X2 X3
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39
Вспомогательный граф
H GV3 \ X3
X3
V1 \ X1
X1
V2 \ X2
X2
X1
X2 X3
итак, вес треугольника (H1, H2, H3) в H равенвесу разреза X1 ∪ X2 ∪ X3 в G
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 15 / 39
Алгоритм
Алгоритм
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
Алгоритм
Алгоритм
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
Алгоритм
Алгоритм
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
Алгоритм
Алгоритм
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
Алгоритм
Алгоритм
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
Алгоритм
Алгоритм
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
Алгоритм
Алгоритм
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
Алгоритм
Алгоритм
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
Известные оценки
Факт
Алгоритм, как видно, использует экспоненциальную память ипоэтому совсем не практичен.Алгоритм со временем работы 1.99999n и полиномиальнойпамятью пока не придуман.Наилучшая известная оценка относительно количества рёбер —2m/6.2.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 17 / 39
Известные оценки
ФактАлгоритм, как видно, использует экспоненциальную память ипоэтому совсем не практичен.
Алгоритм со временем работы 1.99999n и полиномиальнойпамятью пока не придуман.Наилучшая известная оценка относительно количества рёбер —2m/6.2.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 17 / 39
Известные оценки
ФактАлгоритм, как видно, использует экспоненциальную память ипоэтому совсем не практичен.Алгоритм со временем работы 1.99999n и полиномиальнойпамятью пока не придуман.
Наилучшая известная оценка относительно количества рёбер —2m/6.2.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 17 / 39
Известные оценки
ФактАлгоритм, как видно, использует экспоненциальную память ипоэтому совсем не практичен.Алгоритм со временем работы 1.99999n и полиномиальнойпамятью пока не придуман.Наилучшая известная оценка относительно количества рёбер —2m/6.2.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 17 / 39
План лекции
1 P и NP неформально
2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе
3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k
4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 18 / 39
FPT алгоритмы для NP-трудных задач
Алгоритмы, находящие точное решение для даннойзадачи за время
f (k)nc ,
гдеn — размер входа,c — константа,k — некоторый параметр,f — произвольная функция.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 19 / 39
Вершинное покрытие и доминирующее множество
Определение
(Параметризованная) задача о вершинном покрытии(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
Вершинное покрытие и доминирующее множество
Определение
(Параметризованная) задача о вершинном покрытии(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
Вершинное покрытие и доминирующее множество
Определение
(Параметризованная) задача о вершинном покрытии(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
Сравнение алгоритмов
Наивный алгоритм для задачи о вершинном покрытии имеетвремя работы 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
Сравнение алгоритмов
Наивный алгоритм для задачи о вершинном покрытии имеетвремя работы 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
Сравнение алгоритмов
Наивный алгоритм для задачи о вершинном покрытии имеетвремя работы 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
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
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
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
План лекции
1 P и NP неформально
2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе
3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k
4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 23 / 39
Задача о пути длины k
Определение
Задачи о пути длины k (k-path problem) заключается в нахождении поданному графу G с двумя выделенными вершинами s и t и числу kпростого пути между s и t, содержащего ровно k промежуточныхвершин.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 24 / 39
Color coding
Color coding
Присвоим равновероятно и независимо всем вершинам, кроме s иt, цвета от 1 до k .Проверим, есть ли полноцветный s–t путь, то есть путь, вкотором промежуточные вершины покрашены во все k цветов.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 25 / 39
Color coding
Color codingПрисвоим равновероятно и независимо всем вершинам, кроме s иt, цвета от 1 до k .
Проверим, есть ли полноцветный s–t путь, то есть путь, вкотором промежуточные вершины покрашены во все k цветов.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 25 / 39
Color coding
Color codingПрисвоим равновероятно и независимо всем вершинам, кроме s иt, цвета от 1 до k .Проверим, есть ли полноцветный s–t путь, то есть путь, вкотором промежуточные вершины покрашены во все k цветов.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 25 / 39
Оценка вероятности ошибки
Оценка вероятности ошибки
Если путь длины k есть, то вероятность того, что он полноцветен,равна
k!
kk >
(ke
)k
kk = e−k .
Вероятность того, что путь не найдётся (если он есть) после ek
повторений, не превосходит
(1− e−k)ek<
(e−e−k
)ek
= e−1 .
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 26 / 39
Оценка вероятности ошибки
Оценка вероятности ошибкиЕсли путь длины k есть, то вероятность того, что он полноцветен,равна
k!
kk >
(ke
)k
kk = e−k .
Вероятность того, что путь не найдётся (если он есть) после ek
повторений, не превосходит
(1− e−k)ek<
(e−e−k
)ek
= e−1 .
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 26 / 39
Оценка вероятности ошибки
Оценка вероятности ошибкиЕсли путь длины k есть, то вероятность того, что он полноцветен,равна
k!
kk >
(ke
)k
kk = e−k .
Вероятность того, что путь не найдётся (если он есть) после ek
повторений, не превосходит
(1− e−k)ek<
(e−e−k
)ek
= e−1 .
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 26 / 39
Как же проверять наличие полноцветного пути?
Как же проверять наличие полноцветного пути?
Мы знаем, что в полноцветном пути должны встречатьсявершины всех k цветов, но не знаем, в каком порядке.Можно перебрать все k! порядков. Когда порядок зафиксирован,нужно просто проверить наличие s–t пути в графе.
Итого
Алгоритм за время O(ekk!|E (G )|) решает задачу о пути длины k свероятностью ошибки не более e−1.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 27 / 39
Как же проверять наличие полноцветного пути?
Как же проверять наличие полноцветного пути?Мы знаем, что в полноцветном пути должны встречатьсявершины всех k цветов, но не знаем, в каком порядке.
Можно перебрать все k! порядков. Когда порядок зафиксирован,нужно просто проверить наличие s–t пути в графе.
Итого
Алгоритм за время O(ekk!|E (G )|) решает задачу о пути длины k свероятностью ошибки не более e−1.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 27 / 39
Как же проверять наличие полноцветного пути?
Как же проверять наличие полноцветного пути?Мы знаем, что в полноцветном пути должны встречатьсявершины всех k цветов, но не знаем, в каком порядке.Можно перебрать все k! порядков. Когда порядок зафиксирован,нужно просто проверить наличие s–t пути в графе.
Итого
Алгоритм за время O(ekk!|E (G )|) решает задачу о пути длины k свероятностью ошибки не более e−1.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 27 / 39
Как же проверять наличие полноцветного пути?
Как же проверять наличие полноцветного пути?Мы знаем, что в полноцветном пути должны встречатьсявершины всех k цветов, но не знаем, в каком порядке.Можно перебрать все k! порядков. Когда порядок зафиксирован,нужно просто проверить наличие s–t пути в графе.
Итого
Алгоритм за время O(ekk!|E (G )|) решает задачу о пути длины k свероятностью ошибки не более e−1.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 27 / 39
План лекции
1 P и NP неформально
2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе
3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k
4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 28 / 39
Приближённые алгоритмы для NP-трудных задач
Алгоритмы, находящие за полиномиальное время дляданной оптимизационной задачи решение, котороегарантированно не сильно хуже оптимального.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 29 / 39
План лекции
1 P и NP неформально
2 Точные алгоритмы1.732n алгоритм для задачи о максимальном разрезе
3 FPT алгоритмыFPT-алгоритм для задачи о пути длины k
4 Приближённые алгоритмы3/2-приближённый алгоритм для задачи о коммивояжёре вметрическом пространстве
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 30 / 39
Задача о коммивояжере
Определение
Дан полный неориентированный граф 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
Задача о коммивояжере
Определение
Дан полный неориентированный граф 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
Задача о коммивояжере
Определение
Дан полный неориентированный граф 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
Задача о коммивояжере
Определение
Дан полный неориентированный граф 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
2-оптимальный алгоритм
Алгоритм
Approx-TSP(G )
построим минимальное остовное дерево T графа Gпродублируем каждое ребро дерева T и в полученном графенайдем эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 32 / 39
2-оптимальный алгоритм
Алгоритм
Approx-TSP(G )построим минимальное остовное дерево T графа G
продублируем каждое ребро дерева T и в полученном графенайдем эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 32 / 39
2-оптимальный алгоритм
Алгоритм
Approx-TSP(G )построим минимальное остовное дерево T графа Gпродублируем каждое ребро дерева T и в полученном графенайдем эйлеров цикл
выкинем из полученного цикла все повторения вершин и вернемполученный цикл
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 32 / 39
2-оптимальный алгоритм
Алгоритм
Approx-TSP(G )построим минимальное остовное дерево T графа Gпродублируем каждое ребро дерева T и в полученном графенайдем эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 32 / 39
Пример работы алгоритма
Алгоритм
Approx-TSP(G )
строим минимальноеостовное дерево Tграфа Gпродублируем каждоеребро дерева T и вполученном графенайдем эйлеров циклвыкинем из полученногоцикла все повторениявершин и вернемполученный цикл
a
b
c
d
e
f g
h
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 33 / 39
Пример работы алгоритма
Алгоритм
Approx-TSP(G )строим минимальноеостовное дерево Tграфа G
продублируем каждоеребро дерева T и вполученном графенайдем эйлеров циклвыкинем из полученногоцикла все повторениявершин и вернемполученный цикл
a
b
c
d
e
f g
h
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 33 / 39
Пример работы алгоритма
Алгоритм
Approx-TSP(G )строим минимальноеостовное дерево Tграфа Gпродублируем каждоеребро дерева T и вполученном графенайдем эйлеров цикл
выкинем из полученногоцикла все повторениявершин и вернемполученный цикл
a
b
c
d
e
f g
h
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 33 / 39
Пример работы алгоритма
Алгоритм
Approx-TSP(G )строим минимальноеостовное дерево Tграфа Gпродублируем каждоеребро дерева T и вполученном графенайдем эйлеров цикл
выкинем из полученногоцикла все повторениявершин и вернемполученный цикл
a
b
c
d
e
f g
h
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 33 / 39
Пример работы алгоритма
Алгоритм
Approx-TSP(G )строим минимальноеостовное дерево Tграфа Gпродублируем каждоеребро дерева T и вполученном графенайдем эйлеров циклвыкинем из полученногоцикла все повторениявершин и вернемполученный цикл
a
b
c
d
e
f g
h
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 33 / 39
Анализ алгоритма
ЛеммаАлгоритм Approx-TSP является 2-приближенным.
Доказательствопусть WT — вес минимального остовного дерева, а Wopt — весоптимального гамильтонова циклаWT ≤Wopt, поскольку при выкидывании ребра из гамильтонвацикла получается остовное деревокаждое ребро построенного гамильтонова цикла заменяеткакой-то путь эйлерова цикла, длина которого по неравенствутреугольника не менее длины этого ребразначит, длина найденного пути не превосходит 2WT , аследовательно, и 2Wopt
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 34 / 39
Анализ алгоритма
ЛеммаАлгоритм Approx-TSP является 2-приближенным.
Доказательство
пусть WT — вес минимального остовного дерева, а Wopt — весоптимального гамильтонова циклаWT ≤Wopt, поскольку при выкидывании ребра из гамильтонвацикла получается остовное деревокаждое ребро построенного гамильтонова цикла заменяеткакой-то путь эйлерова цикла, длина которого по неравенствутреугольника не менее длины этого ребразначит, длина найденного пути не превосходит 2WT , аследовательно, и 2Wopt
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 34 / 39
Анализ алгоритма
ЛеммаАлгоритм Approx-TSP является 2-приближенным.
Доказательствопусть WT — вес минимального остовного дерева, а Wopt — весоптимального гамильтонова цикла
WT ≤Wopt, поскольку при выкидывании ребра из гамильтонвацикла получается остовное деревокаждое ребро построенного гамильтонова цикла заменяеткакой-то путь эйлерова цикла, длина которого по неравенствутреугольника не менее длины этого ребразначит, длина найденного пути не превосходит 2WT , аследовательно, и 2Wopt
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 34 / 39
Анализ алгоритма
ЛеммаАлгоритм Approx-TSP является 2-приближенным.
Доказательствопусть WT — вес минимального остовного дерева, а Wopt — весоптимального гамильтонова циклаWT ≤Wopt, поскольку при выкидывании ребра из гамильтонвацикла получается остовное дерево
каждое ребро построенного гамильтонова цикла заменяеткакой-то путь эйлерова цикла, длина которого по неравенствутреугольника не менее длины этого ребразначит, длина найденного пути не превосходит 2WT , аследовательно, и 2Wopt
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 34 / 39
Анализ алгоритма
ЛеммаАлгоритм Approx-TSP является 2-приближенным.
Доказательствопусть WT — вес минимального остовного дерева, а Wopt — весоптимального гамильтонова циклаWT ≤Wopt, поскольку при выкидывании ребра из гамильтонвацикла получается остовное деревокаждое ребро построенного гамильтонова цикла заменяеткакой-то путь эйлерова цикла, длина которого по неравенствутреугольника не менее длины этого ребра
значит, длина найденного пути не превосходит 2WT , аследовательно, и 2Wopt
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 34 / 39
Анализ алгоритма
ЛеммаАлгоритм Approx-TSP является 2-приближенным.
Доказательствопусть WT — вес минимального остовного дерева, а Wopt — весоптимального гамильтонова циклаWT ≤Wopt, поскольку при выкидывании ребра из гамильтонвацикла получается остовное деревокаждое ребро построенного гамильтонова цикла заменяеткакой-то путь эйлерова цикла, длина которого по неравенствутреугольника не менее длины этого ребразначит, длина найденного пути не превосходит 2WT , аследовательно, и 2Wopt
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 34 / 39
3/2-оптимальный алгоритм
Алгоритм
Approx-TSP-Improved(G )
строим минимальное остовное дерево T графа Gнайдем минимальное полное паросочетание всех вершин дерева Tнечетной степенидобавим найденные ребра в дерево T и найдем в полученномграфе эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 35 / 39
3/2-оптимальный алгоритм
Алгоритм
Approx-TSP-Improved(G )строим минимальное остовное дерево T графа G
найдем минимальное полное паросочетание всех вершин дерева Tнечетной степенидобавим найденные ребра в дерево T и найдем в полученномграфе эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 35 / 39
3/2-оптимальный алгоритм
Алгоритм
Approx-TSP-Improved(G )строим минимальное остовное дерево T графа Gнайдем минимальное полное паросочетание всех вершин дерева Tнечетной степени
добавим найденные ребра в дерево T и найдем в полученномграфе эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 35 / 39
3/2-оптимальный алгоритм
Алгоритм
Approx-TSP-Improved(G )строим минимальное остовное дерево T графа Gнайдем минимальное полное паросочетание всех вершин дерева Tнечетной степенидобавим найденные ребра в дерево T и найдем в полученномграфе эйлеров цикл
выкинем из полученного цикла все повторения вершин и вернемполученный цикл
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 35 / 39
3/2-оптимальный алгоритм
Алгоритм
Approx-TSP-Improved(G )строим минимальное остовное дерево T графа Gнайдем минимальное полное паросочетание всех вершин дерева Tнечетной степенидобавим найденные ребра в дерево T и найдем в полученномграфе эйлеров циклвыкинем из полученного цикла все повторения вершин и вернемполученный цикл
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 35 / 39
Анализ алгоритма
ЛеммаАлгоритм Approx-TSP-Improved является 3/2-приближенным.
Доказательствокак и в предыдущем доказательстве, вес построенного цикла непровосходит WT + WP , где WP — вес минимальногопаросочетания вершин нечетной степени дерева Tнужно показать, что WP ≤Wopt/2обозначим через A множество всех вершин нечетной степенидерева Tрассмотрим такой гамильтонов цикл на вершинах множества A:вершины множества A в нем будут встречаться в такойпоследовательности, в какой они идут в оптимальномгамильтоновом цикле графа G
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 36 / 39
Анализ алгоритма
ЛеммаАлгоритм Approx-TSP-Improved является 3/2-приближенным.
Доказательство
как и в предыдущем доказательстве, вес построенного цикла непровосходит WT + WP , где WP — вес минимальногопаросочетания вершин нечетной степени дерева Tнужно показать, что WP ≤Wopt/2обозначим через A множество всех вершин нечетной степенидерева Tрассмотрим такой гамильтонов цикл на вершинах множества A:вершины множества A в нем будут встречаться в такойпоследовательности, в какой они идут в оптимальномгамильтоновом цикле графа G
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 36 / 39
Анализ алгоритма
ЛеммаАлгоритм Approx-TSP-Improved является 3/2-приближенным.
Доказательствокак и в предыдущем доказательстве, вес построенного цикла непровосходит WT + WP , где WP — вес минимальногопаросочетания вершин нечетной степени дерева T
нужно показать, что WP ≤Wopt/2обозначим через A множество всех вершин нечетной степенидерева Tрассмотрим такой гамильтонов цикл на вершинах множества A:вершины множества A в нем будут встречаться в такойпоследовательности, в какой они идут в оптимальномгамильтоновом цикле графа G
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 36 / 39
Анализ алгоритма
ЛеммаАлгоритм Approx-TSP-Improved является 3/2-приближенным.
Доказательствокак и в предыдущем доказательстве, вес построенного цикла непровосходит WT + WP , где WP — вес минимальногопаросочетания вершин нечетной степени дерева Tнужно показать, что WP ≤Wopt/2
обозначим через A множество всех вершин нечетной степенидерева Tрассмотрим такой гамильтонов цикл на вершинах множества A:вершины множества A в нем будут встречаться в такойпоследовательности, в какой они идут в оптимальномгамильтоновом цикле графа G
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 36 / 39
Анализ алгоритма
ЛеммаАлгоритм Approx-TSP-Improved является 3/2-приближенным.
Доказательствокак и в предыдущем доказательстве, вес построенного цикла непровосходит WT + WP , где WP — вес минимальногопаросочетания вершин нечетной степени дерева Tнужно показать, что WP ≤Wopt/2обозначим через A множество всех вершин нечетной степенидерева T
рассмотрим такой гамильтонов цикл на вершинах множества A:вершины множества A в нем будут встречаться в такойпоследовательности, в какой они идут в оптимальномгамильтоновом цикле графа G
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 36 / 39
Анализ алгоритма
ЛеммаАлгоритм Approx-TSP-Improved является 3/2-приближенным.
Доказательствокак и в предыдущем доказательстве, вес построенного цикла непровосходит WT + WP , где WP — вес минимальногопаросочетания вершин нечетной степени дерева Tнужно показать, что WP ≤Wopt/2обозначим через A множество всех вершин нечетной степенидерева Tрассмотрим такой гамильтонов цикл на вершинах множества A:вершины множества A в нем будут встречаться в такойпоследовательности, в какой они идут в оптимальномгамильтоновом цикле графа G
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 36 / 39
Доказательство (продолжение)
Доказательство
важно отметить, что нам не нужно строить такой цикл; намважен лишь факт его существованияразбив вершины только что построенного цикла на четные инечетные, мы получим два паросочетаниявес хотя бы одного из них будет не более Wopt/2значит, и вес минимального паросочетания не превосходитWopt/2
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 37 / 39
Доказательство (продолжение)
Доказательствоважно отметить, что нам не нужно строить такой цикл; намважен лишь факт его существования
разбив вершины только что построенного цикла на четные инечетные, мы получим два паросочетаниявес хотя бы одного из них будет не более Wopt/2значит, и вес минимального паросочетания не превосходитWopt/2
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 37 / 39
Доказательство (продолжение)
Доказательствоважно отметить, что нам не нужно строить такой цикл; намважен лишь факт его существованияразбив вершины только что построенного цикла на четные инечетные, мы получим два паросочетания
вес хотя бы одного из них будет не более Wopt/2значит, и вес минимального паросочетания не превосходитWopt/2
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 37 / 39
Доказательство (продолжение)
Доказательствоважно отметить, что нам не нужно строить такой цикл; намважен лишь факт его существованияразбив вершины только что построенного цикла на четные инечетные, мы получим два паросочетаниявес хотя бы одного из них будет не более Wopt/2
значит, и вес минимального паросочетания не превосходитWopt/2
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 37 / 39
Доказательство (продолжение)
Доказательствоважно отметить, что нам не нужно строить такой цикл; намважен лишь факт его существованияразбив вершины только что построенного цикла на четные инечетные, мы получим два паросочетаниявес хотя бы одного из них будет не более Wopt/2значит, и вес минимального паросочетания не превосходитWopt/2
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 37 / 39
Известные оценки
Факт
Если P 6=NP, то не существует 117116 -приближенного алгоритма для
задачи о коммивояжере в метрическом пространстве.3/2 — лучшее известное приближение для задачи окоммивояжере в метрическом пространстве.Для случая, когда все ребра имеют вес 1 или 2, известен5/6-приближенный алгоритм.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 38 / 39
Известные оценки
Факт
Если P 6=NP, то не существует 117116 -приближенного алгоритма для
задачи о коммивояжере в метрическом пространстве.
3/2 — лучшее известное приближение для задачи окоммивояжере в метрическом пространстве.Для случая, когда все ребра имеют вес 1 или 2, известен5/6-приближенный алгоритм.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 38 / 39
Известные оценки
Факт
Если P 6=NP, то не существует 117116 -приближенного алгоритма для
задачи о коммивояжере в метрическом пространстве.3/2 — лучшее известное приближение для задачи окоммивояжере в метрическом пространстве.
Для случая, когда все ребра имеют вес 1 или 2, известен5/6-приближенный алгоритм.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 38 / 39
Известные оценки
Факт
Если P 6=NP, то не существует 117116 -приближенного алгоритма для
задачи о коммивояжере в метрическом пространстве.3/2 — лучшее известное приближение для задачи окоммивояжере в метрическом пространстве.Для случая, когда все ребра имеют вес 1 или 2, известен5/6-приближенный алгоритм.
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 38 / 39
Спасибо за внимание!
А. Куликов (Санкт-Петербургское отделение Математического института им. В.А. Стеклова РАН (ПОМИ РАН))Алгоритмы для NP-трудных задач 39 / 39
top related