Алгоритмы для NP-трудных задач            Лекция 1: NP-полные задачи                           Александр Куликов      Пете...
1    Задачи поиска2    NP-полные задачи3    Сведения    А. Куликов (ПОМИ РАН)   NP-полные задачи   1 марта 2013   2 / 31
Содержание1    Задачи поиска2    NP-полные задачи3    Сведения    А. Куликов (ПОМИ РАН)   NP-полные задачи   1 марта 2013 ...
Эффективные алгоритмы А. Куликов (ПОМИ РАН)   NP-полные задачи   1 марта 2013   4 / 31
Эффективные алгоритмы    Алгоритмы нахождения кратчайших путей и минимальных    покрывающих деревьев в графах, паросочетан...
Эффективные алгоритмы    Алгоритмы нахождения кратчайших путей и минимальных    покрывающих деревьев в графах, паросочетан...
Эффективные алгоритмы    Алгоритмы нахождения кратчайших путей и минимальных    покрывающих деревьев в графах, паросочетан...
Задача выполнимости А. Куликов (ПОМИ РАН)   NP-полные задачи   1 марта 2013   5 / 31
Задача выполнимости    Вход задачи пропозициональной выполнимости (satisfiability    problem, SAT) выглядит следующим обра...
Задача выполнимости    Вход задачи пропозициональной выполнимости (satisfiability    problem, SAT) выглядит следующим обра...
Задача поиска А. Куликов (ПОМИ РАН)   NP-полные задачи   1 марта 2013   6 / 31
Задача поиска    Задача выполнимости является типичной задачей поиска:    дано условие I и надо найти для него решение S. ...
Задача поиска    Задача выполнимости является типичной задачей поиска:    дано условие I и надо найти для него решение S. ...
Задача поиска А. Куликов (ПОМИ РАН)   NP-полные задачи   1 марта 2013   7 / 31
Задача коммивояжёра А. Куликов (ПОМИ РАН)   NP-полные задачи   1 марта 2013   8 / 31
Задача коммивояжёра    В задаче о коммивояжере (traveling salesman problem) дано n    вершин с номерами 1, . . . , n и все...
Задача коммивояжёра    В задаче о коммивояжере (traveling salesman problem) дано n    вершин с номерами 1, . . . , n и все...
Задача коммивояжёра    В задаче о коммивояжере (traveling salesman problem) дано n    вершин с номерами 1, . . . , n и все...
Пример                                   5                3            2              3       3                           ...
Пример                                   5                3            2              3       3                           ...
Оптимизационные задачи и задачи поиска А. Куликов (ПОМИ РАН)   NP-полные задачи   1 марта 2013   10 / 31
Оптимизационные задачи и задачи поиска    Почему мы сформулировали задачу о коммивояжере как    задачу поиска, когда на са...
Оптимизационные задачи и задачи поиска    Почему мы сформулировали задачу о коммивояжере как    задачу поиска, когда на са...
Оптимизационные задачи и задачи поиска    Почему мы сформулировали задачу о коммивояжере как    задачу поиска, когда на са...
Коммивояжёр и покрывающее дерево А. Куликов (ПОМИ РАН)   NP-полные задачи   1 марта 2013   11 / 31
Коммивояжёр и покрывающее дерево    Задача о минимальном покрывающем дереве: дана матрица    попарных расстояний и бюджет ...
Коммивояжёр и покрывающее дерево    Задача о минимальном покрывающем дереве: дана матрица    попарных расстояний и бюджет ...
Коммивояжёр и покрывающее дерево    Задача о минимальном покрывающем дереве: дана матрица    попарных расстояний и бюджет ...
Незавсисмое множество, вершинное покрытие иклика А. Куликов (ПОМИ РАН)   NP-полные задачи   1 марта 2013   12 / 31
Незавсисмое множество, вершинное покрытие иклика    В задаче о независимом множестве (independent set problem)    дан граф...
Незавсисмое множество, вершинное покрытие иклика    В задаче о независимом множестве (independent set problem)    дан граф...
Незавсисмое множество, вершинное покрытие иклика    В задаче о независимом множестве (independent set problem)    дан граф...
Содержание1    Задачи поиска2    NP-полные задачи3    Сведения    А. Куликов (ПОМИ РАН)   NP-полные задачи   1 марта 2013 ...
Сложные и простые задачи     трудные задачи (NP-полные) простые задачи (из P)                3-SAT              2-SAT, Hor...
Классы P и NP А. Куликов (ПОМИ РАН)   NP-полные задачи   1 марта 2013   15 / 31
Классы P и NP    NP — класс всех задач поиска. А. Куликов (ПОМИ РАН)   NP-полные задачи   1 марта 2013   15 / 31
Классы P и NP    NP — класс всех задач поиска.    P — класс всех задач поиска, которые могут быть решены за    полиномиаль...
СведенияСвед´ние задачи поиска A к задаче поиска B — это пара    еполиномиальных по времени алгоритмов (f , h): А. Куликов...
СведенияСвед´ние задачи поиска A к задаче поиска B — это пара    еполиномиальных по времени алгоритмов (f , h):           ...
NP-полные задачи А. Куликов (ПОМИ РАН)   NP-полные задачи   1 марта 2013   17 / 31
NP-полные задачи    Задача поиска называется NP-полной (NP-complete), если    все другие задачи поиска сводятся к ней. А. ...
NP-полные задачи    Задача поиска называется NP-полной (NP-complete), если    все другие задачи поиска сводятся к ней.    ...
NP-полные задачи    Задача поиска называется NP-полной (NP-complete), если    все другие задачи поиска сводятся к ней.    ...
Два способа использования сведенийЗадача поиска A сводится к задаче поиска B: А. Куликов (ПОМИ РАН)   NP-полные задачи    ...
Два способа использования сведенийЗадача поиска A сводится к задаче поиска B:    Мы знаем, как эффективно решать B и хотим...
Два способа использования сведенийЗадача поиска A сводится к задаче поиска B:    Мы знаем, как эффективно решать B и хотим...
Пространство NP всех задач поиска впредположении P ̸= NP                         P                   NP-полные            ...
Содержание1    Задачи поиска2    NP-полные задачи3    Сведения    А. Куликов (ПОМИ РАН)   NP-полные задачи   1 марта 2013 ...
СведенияМы построим следующие сведения:любая задача из NP → SAT → 3SAT → независимое множество →                    вершин...
3-SAT → задача о независимом множестве                y                   ¬y                   y         ¬y       ¬x      ...
SAT → 3-SAT А. Куликов (ПОМИ РАН)   NP-полные задачи   1 марта 2013   23 / 31
SAT → 3-SAT    Это интересное и типичное сведение задачи к своему    частному случаю. А. Куликов (ПОМИ РАН)   NP-полные за...
SAT → 3-SAT    Это интересное и типичное сведение задачи к своему    частному случаю.    Мы хотим показать, что задача ост...
SAT → 3-SAT    Это интересное и типичное сведение задачи к своему    частному случаю.    Мы хотим показать, что задача ост...
КонструкцияКаждый клоз (a1 ∨ a2 ∨ · · · ∨ ak ) длины более 3 заменяется намножество клозов(a1 ∨ a2 ∨ y1 )(¬y1 ∨ a3 ∨ y2 )(...
КонструкцияКаждый клоз (a1 ∨ a2 ∨ · · · ∨ ak ) длины более 3 заменяется намножество клозов(a1 ∨ a2 ∨ y1 )(¬y1 ∨ a3 ∨ y2 )(...
Задача о независимом множестве →задача о вершинном покрытииS является вершинным покрытием тогда и только тогда, когдаV − S...
Задача о независимом множестве →задача о кликеПодмножество вершин S является независимым в G тогда и                      ...
Любая задача класса NP → SATМы уже свели задачу SAT к нескольким задачам. Теперь мызамыкаем круг и показываем, что все эти...
Пример схемы                            выход                            AND                         NOT              OR  ...
SAT ↔ CIRCUIT-SAT    SAT → CIRCUIT-SAT: понятно.    Обратно: запишем схему в виде формулы в КНФ. Для    каждого гейта g мы...
Сведение А. Куликов (ПОМИ РАН)   NP-полные задачи   1 марта 2013   30 / 31
Сведение    Теперь, когда мы знаем, что CIRCUIT SAT сводится к SAT,    мы возвращаемся к нашей основной задаче — показать,...
Сведение    Теперь, когда мы знаем, что CIRCUIT SAT сводится к SAT,    мы возвращаемся к нашей основной задаче — показать,...
Сведение    Теперь, когда мы знаем, что CIRCUIT SAT сводится к SAT,    мы возвращаемся к нашей основной задаче — показать,...
Сведение    Теперь, когда мы знаем, что CIRCUIT SAT сводится к SAT,    мы возвращаемся к нашей основной задаче — показать,...
Спасибо!      Спасибо за внимание! А. Куликов (ПОМИ РАН)   NP-полные задачи   1 марта 2013   31 / 31
Upcoming SlideShare
Loading in …5
×

20130301 np algorithms_kulikov_lecture01_np

543 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
543
On SlideShare
0
From Embeds
0
Number of Embeds
154
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

20130301 np algorithms_kulikov_lecture01_np

  1. 1. Алгоритмы для NP-трудных задач Лекция 1: NP-полные задачи Александр Куликов Петербургское отделение Математического института им. В. А. Стеклова Российская академия наук Computer Science клуб в Екатеринбурге 1 марта 2013А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 1 / 31
  2. 2. 1 Задачи поиска2 NP-полные задачи3 Сведения А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 2 / 31
  3. 3. Содержание1 Задачи поиска2 NP-полные задачи3 Сведения А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 3 / 31
  4. 4. Эффективные алгоритмы А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 4 / 31
  5. 5. Эффективные алгоритмы Алгоритмы нахождения кратчайших путей и минимальных покрывающих деревьев в графах, паросочетаний в двудольных графах, наибольшей возрастающей подпоследовательности, максимального потока в сети являются эффективными, поскольку время работы каждого из них растет полиномиально (как n, n2 , n3 ) с ростом размера входа. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 4 / 31
  6. 6. Эффективные алгоритмы Алгоритмы нахождения кратчайших путей и минимальных покрывающих деревьев в графах, паросочетаний в двудольных графах, наибольшей возрастающей подпоследовательности, максимального потока в сети являются эффективными, поскольку время работы каждого из них растет полиномиально (как n, n2 , n3 ) с ростом размера входа. В каждой из решаемых ими задач мы ищем решение (путь, дерево, паросочетание) среди экспоненциально большого множества кандидатов: существует n! различных паросочетаний в двудольном n × n графе, у полного графа на n вершинах есть nn−2 покрывающих деревьев, в графе, как правило, есть экспоненциальное число путей из s в t. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 4 / 31
  7. 7. Эффективные алгоритмы Алгоритмы нахождения кратчайших путей и минимальных покрывающих деревьев в графах, паросочетаний в двудольных графах, наибольшей возрастающей подпоследовательности, максимального потока в сети являются эффективными, поскольку время работы каждого из них растет полиномиально (как n, n2 , n3 ) с ростом размера входа. В каждой из решаемых ими задач мы ищем решение (путь, дерево, паросочетание) среди экспоненциально большого множества кандидатов: существует n! различных паросочетаний в двудольном n × n графе, у полного графа на n вершинах есть nn−2 покрывающих деревьев, в графе, как правило, есть экспоненциальное число путей из s в t. Цель эффективного алгоритма: избежать полного перебора. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 4 / 31
  8. 8. Задача выполнимости А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 5 / 31
  9. 9. Задача выполнимости Вход задачи пропозициональной выполнимости (satisfiability problem, SAT) выглядит следующим образом: (x ∨ y ∨ z)(x ∨ ¬y )(y ∨ ¬z)(z ∨ ¬x)(¬x ∨ ¬y ∨ ¬z) . А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 5 / 31
  10. 10. Задача выполнимости Вход задачи пропозициональной выполнимости (satisfiability problem, SAT) выглядит следующим образом: (x ∨ y ∨ z)(x ∨ ¬y )(y ∨ ¬z)(z ∨ ¬x)(¬x ∨ ¬y ∨ ¬z) . Необходимо проверить, выполнима ли формула. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 5 / 31
  11. 11. Задача поиска А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 6 / 31
  12. 12. Задача поиска Задача выполнимости является типичной задачей поиска: дано условие I и надо найти для него решение S. При этом должен существовать способ быстрой проверки того, что решение правильное. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 6 / 31
  13. 13. Задача поиска Задача выполнимости является типичной задачей поиска: дано условие I и надо найти для него решение S. При этом должен существовать способ быстрой проверки того, что решение правильное. Будем говорить, что задача поиска задаётся алгоритмом 𝒞, который получает на вход условие I и кандидата на решение S и работает полиномиальное от |I | время. Мы говорим, что S является решением для I тогда и только тогда, когда 𝒞(I , S) = true. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 6 / 31
  14. 14. Задача поиска А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 7 / 31
  15. 15. Задача коммивояжёра А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 8 / 31
  16. 16. Задача коммивояжёра В задаче о коммивояжере (traveling salesman problem) дано n вершин с номерами 1, . . . , n и все n(n − 1)/2 попарных расстояний между ними, а также бюджет b. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 8 / 31
  17. 17. Задача коммивояжёра В задаче о коммивояжере (traveling salesman problem) дано n вершин с номерами 1, . . . , n и все n(n − 1)/2 попарных расстояний между ними, а также бюджет b. Найти необходимо цикл, проходящий через все вершины ровно по одному разу (то есть гамильтонов цикл) и имеющий длину не более b, или же сообщить, что такого цикла нет. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 8 / 31
  18. 18. Задача коммивояжёра В задаче о коммивояжере (traveling salesman problem) дано n вершин с номерами 1, . . . , n и все n(n − 1)/2 попарных расстояний между ними, а также бюджет b. Найти необходимо цикл, проходящий через все вершины ровно по одному разу (то есть гамильтонов цикл) и имеющий длину не более b, или же сообщить, что такого цикла нет. Другими словами, необходимо найти перестановку 𝜏 (1), . . . , 𝜏 (n) вершин, такую что d 𝜏 (1),𝜏 (2) + d 𝜏 (2),𝜏 (3) + · · · + d 𝜏 (n),𝜏 (1) ≤ b . А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 8 / 31
  19. 19. Пример 5 3 2 3 3 4 1 4 3 2 6 А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 9 / 31
  20. 20. Пример 5 3 2 3 3 4 1 4 3 2 6 А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 9 / 31
  21. 21. Оптимизационные задачи и задачи поиска А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 10 / 31
  22. 22. Оптимизационные задачи и задачи поиска Почему мы сформулировали задачу о коммивояжере как задачу поиска, когда на самом деле это оптимизационная задача? А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 10 / 31
  23. 23. Оптимизационные задачи и задачи поиска Почему мы сформулировали задачу о коммивояжере как задачу поиска, когда на самом деле это оптимизационная задача? Переформулировка оптимизационной задачи как задачи поиска не меняет ее сложности, поскольку обе версии сводятся друг к другу. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 10 / 31
  24. 24. Оптимизационные задачи и задачи поиска Почему мы сформулировали задачу о коммивояжере как задачу поиска, когда на самом деле это оптимизационная задача? Переформулировка оптимизационной задачи как задачи поиска не меняет ее сложности, поскольку обе версии сводятся друг к другу. Имея потенциальное решение для задачи TSP, легко проверить свойства “является маршрутом” и “имеет длину не более b”, но как проверить свойство “является оптимальным”? А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 10 / 31
  25. 25. Коммивояжёр и покрывающее дерево А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 11 / 31
  26. 26. Коммивояжёр и покрывающее дерево Задача о минимальном покрывающем дереве: дана матрица попарных расстояний и бюджет b и требуется найти дерево T , такое что ∑︁ dij ≤ b . (i,j)∈T А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 11 / 31
  27. 27. Коммивояжёр и покрывающее дерево Задача о минимальном покрывающем дереве: дана матрица попарных расстояний и бюджет b и требуется найти дерево T , такое что ∑︁ dij ≤ b . (i,j)∈T Задача коммивояжёра может рассматриваться как вариант задачи о покрывающем дереве, где искомому дереву не разрешается ветвиться и оно, таким образом, должно быть просто путем. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 11 / 31
  28. 28. Коммивояжёр и покрывающее дерево Задача о минимальном покрывающем дереве: дана матрица попарных расстояний и бюджет b и требуется найти дерево T , такое что ∑︁ dij ≤ b . (i,j)∈T Задача коммивояжёра может рассматриваться как вариант задачи о покрывающем дереве, где искомому дереву не разрешается ветвиться и оно, таким образом, должно быть просто путем. Это дополнительное условие на структуру дерева делает задачу гораздо более сложной. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 11 / 31
  29. 29. Незавсисмое множество, вершинное покрытие иклика А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 12 / 31
  30. 30. Незавсисмое множество, вершинное покрытие иклика В задаче о независимом множестве (independent set problem) дан граф и число g и требуется найти g независимых вершин, то есть таких, что никакие две из них не соединены ребром. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 12 / 31
  31. 31. Незавсисмое множество, вершинное покрытие иклика В задаче о независимом множестве (independent set problem) дан граф и число g и требуется найти g независимых вершин, то есть таких, что никакие две из них не соединены ребром. В задаче о вершинном покрытии (vertex cover problem) дан граф и число b, и требуется найти b вершин, покрывающих все ребра (то есть такое множество из b вершин, что для любого ребра хотя бы один из его концов содержится в этом множестве). А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 12 / 31
  32. 32. Незавсисмое множество, вершинное покрытие иклика В задаче о независимом множестве (independent set problem) дан граф и число g и требуется найти g независимых вершин, то есть таких, что никакие две из них не соединены ребром. В задаче о вершинном покрытии (vertex cover problem) дан граф и число b, и требуется найти b вершин, покрывающих все ребра (то есть такое множество из b вершин, что для любого ребра хотя бы один из его концов содержится в этом множестве). Задача о клике (clique problem) заключается в нахождении по графу и числу g таких g вершин, что любые две из них соединены ребром. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 12 / 31
  33. 33. Содержание1 Задачи поиска2 NP-полные задачи3 Сведения А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 13 / 31
  34. 34. Сложные и простые задачи трудные задачи (NP-полные) простые задачи (из P) 3-SAT 2-SAT, Horn SAT коммивояжёр покрывающее дерево независимое множество независимое множество в деревьях А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 14 / 31
  35. 35. Классы P и NP А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 15 / 31
  36. 36. Классы P и NP NP — класс всех задач поиска. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 15 / 31
  37. 37. Классы P и NP NP — класс всех задач поиска. P — класс всех задач поиска, которые могут быть решены за полиномиальное время. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 15 / 31
  38. 38. СведенияСвед´ние задачи поиска A к задаче поиска B — это пара еполиномиальных по времени алгоритмов (f , h): А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 16 / 31
  39. 39. СведенияСвед´ние задачи поиска A к задаче поиска B — это пара еполиномиальных по времени алгоритмов (f , h): решение S для f (I ) h решение h(S) для I условие I условие f (I ) f алгоритм для B нет решения для f (I ) нет решения для I А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 16 / 31
  40. 40. NP-полные задачи А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 17 / 31
  41. 41. NP-полные задачи Задача поиска называется NP-полной (NP-complete), если все другие задачи поиска сводятся к ней. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 17 / 31
  42. 42. NP-полные задачи Задача поиска называется NP-полной (NP-complete), если все другие задачи поиска сводятся к ней. Чтобы задача была NP-полной, с ее помощью должны решаться все задачи поиска в мире! А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 17 / 31
  43. 43. NP-полные задачи Задача поиска называется NP-полной (NP-complete), если все другие задачи поиска сводятся к ней. Чтобы задача была NP-полной, с ее помощью должны решаться все задачи поиска в мире! Удивительно, что такие задачи существуют вообще. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 17 / 31
  44. 44. Два способа использования сведенийЗадача поиска A сводится к задаче поиска B: А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 18 / 31
  45. 45. Два способа использования сведенийЗадача поиска A сводится к задаче поиска B: Мы знаем, как эффективно решать B и хотим использовать это знание для решения A. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 18 / 31
  46. 46. Два способа использования сведенийЗадача поиска A сводится к задаче поиска B: Мы знаем, как эффективно решать B и хотим использовать это знание для решения A. Мы знаем, что A трудна, и используем сведение, чтобы показать, что и B трудна. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 18 / 31
  47. 47. Пространство NP всех задач поиска впредположении P ̸= NP P NP-полные увеличение сложности А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 19 / 31
  48. 48. Содержание1 Задачи поиска2 NP-полные задачи3 Сведения А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 20 / 31
  49. 49. СведенияМы построим следующие сведения:любая задача из NP → SAT → 3SAT → независимое множество → вершинное покрытие, клика. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 21 / 31
  50. 50. 3-SAT → задача о независимом множестве y ¬y y ¬y ¬x ¬z x z x z ¬x (¬x ∨ y ∨ ¬z)(x ∨ ¬y ∨ z)(x ∨ y ∨ z)(¬x ∨ ¬y ) А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 22 / 31
  51. 51. SAT → 3-SAT А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 23 / 31
  52. 52. SAT → 3-SAT Это интересное и типичное сведение задачи к своему частному случаю. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 23 / 31
  53. 53. SAT → 3-SAT Это интересное и типичное сведение задачи к своему частному случаю. Мы хотим показать, что задача остается сложной, даже если ее входы как-то ограничены — в нашем случае, если все клозы содержат не более трех литералов. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 23 / 31
  54. 54. SAT → 3-SAT Это интересное и типичное сведение задачи к своему частному случаю. Мы хотим показать, что задача остается сложной, даже если ее входы как-то ограничены — в нашем случае, если все клозы содержат не более трех литералов. Такие сведения модифицируют входное условие так, чтобы избавиться от запрещенных конфигураций (клозов длины хотя бы четыре), не меняя при этом условия в том смысле, что решение для исходного условия можно построить из решения для полученного условия. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 23 / 31
  55. 55. КонструкцияКаждый клоз (a1 ∨ a2 ∨ · · · ∨ ak ) длины более 3 заменяется намножество клозов(a1 ∨ a2 ∨ y1 )(¬y1 ∨ a3 ∨ y2 )(¬y2 ∨ a4 ∨ y3 ) . . . (¬yk−3 ∨ ak−1 ∨ ak ) ,где {yi } суть новые переменные. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 24 / 31
  56. 56. КонструкцияКаждый клоз (a1 ∨ a2 ∨ · · · ∨ ak ) длины более 3 заменяется намножество клозов(a1 ∨ a2 ∨ y1 )(¬y1 ∨ a3 ∨ y2 )(¬y2 ∨ a4 ∨ y3 ) . . . (¬yk−3 ∨ ak−1 ∨ ak ) ,где {yi } суть новые переменные.Для каждого набора переменным {ai } клоз (a1 ∨ a2 ∨ · · · ∨ ak )выполнен тогда и только тогда, когда существует набор значенийпеременным {yi }, выполняющий все соответствующие клозы. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 24 / 31
  57. 57. Задача о независимом множестве →задача о вершинном покрытииS является вершинным покрытием тогда и только тогда, когдаV − S является независимым множеством: S А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 25 / 31
  58. 58. Задача о независимом множестве →задача о кликеПодмножество вершин S является независимым в G тогда и ¯только тогда, когда S является кликой в G . Другими словами,эти вершины попарно не соединены в G тогда и только тогда,когда любые две из них соединены ребром в G .¯ А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 26 / 31
  59. 59. Любая задача класса NP → SATМы уже свели задачу SAT к нескольким задачам. Теперь мызамыкаем круг и показываем, что все эти задачи — вдействительности все задачи класса NP — сводятся к SAT.Именно, мы покажем, что все задачи класса NP сводятся кобобщению задачи SAT, называемому задачей выполнимостибулевой схемы (CIRCUIT-SAT). А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 27 / 31
  60. 60. Пример схемы выход AND NOT OR AND OR AND true x1 x2 x3 А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 28 / 31
  61. 61. SAT ↔ CIRCUIT-SAT SAT → CIRCUIT-SAT: понятно. Обратно: запишем схему в виде формулы в КНФ. Для каждого гейта g мы заводим переменную g и моделируем этот гейт добавлением клозов следующим образом. g g g g g true false OR AND NOT (g ) (g ) h1 h2 h1 h2 h (g ∨ h1 ) (g ∨ h1 ) (g ∨ h) (g ∨ h2 ) (g ∨ h2 ) (g ∨ h) (g ∨ h1 ∨ h2 ) (g ∨ h1 ∨ h2 ) А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 29 / 31
  62. 62. Сведение А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 30 / 31
  63. 63. Сведение Теперь, когда мы знаем, что CIRCUIT SAT сводится к SAT, мы возвращаемся к нашей основной задаче — показать, что все задачи поиска сводятся к CIRCUIT SAT. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 30 / 31
  64. 64. Сведение Теперь, когда мы знаем, что CIRCUIT SAT сводится к SAT, мы возвращаемся к нашей основной задаче — показать, что все задачи поиска сводятся к CIRCUIT SAT. Итак, предположим, что задача A принадлежит классу NP. Мы должны построить сведение A к CIRCUIT-SAT. Это кажется довольно сложным, поскольку мы не знаем практически ничего про A. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 30 / 31
  65. 65. Сведение Теперь, когда мы знаем, что CIRCUIT SAT сводится к SAT, мы возвращаемся к нашей основной задаче — показать, что все задачи поиска сводятся к CIRCUIT SAT. Итак, предположим, что задача A принадлежит классу NP. Мы должны построить сведение A к CIRCUIT-SAT. Это кажется довольно сложным, поскольку мы не знаем практически ничего про A. Мы знаем, что для A есть алгоритм 𝒞, который по условию I и кандидату на решение S проверяет (за полиномиальное от I время!), верно ли, что S действительно является решением. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 30 / 31
  66. 66. Сведение Теперь, когда мы знаем, что CIRCUIT SAT сводится к SAT, мы возвращаемся к нашей основной задаче — показать, что все задачи поиска сводятся к CIRCUIT SAT. Итак, предположим, что задача A принадлежит классу NP. Мы должны построить сведение A к CIRCUIT-SAT. Это кажется довольно сложным, поскольку мы не знаем практически ничего про A. Мы знаем, что для A есть алгоритм 𝒞, который по условию I и кандидату на решение S проверяет (за полиномиальное от I время!), верно ли, что S действительно является решением. Такой алгоритм можно преобразовать в схему, полиномиального от длины I размера. А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 30 / 31
  67. 67. Спасибо! Спасибо за внимание! А. Куликов (ПОМИ РАН) NP-полные задачи 1 марта 2013 31 / 31

×