p reducibility and npc

29
Полиномиальные сводимости и NP -полнота Н.Н. Кузюрин С.А. Фомин 10 октября 2008 г. 1 / 29

Upload: stas-fomin

Post on 26-Jun-2015

509 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: P Reducibility And Npc

Полиномиальные сводимости и NP-полнота

Н.Н. Кузюрин С.А. Фомин

10 октября 2008 г.

1 / 29

Page 2: P Reducibility And Npc

Труднорешаемые задачи

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

Существуют ли разрешимые задачи, которые тем не менее непринадлежат классу P. Ответ — «теорема об иерархии».

ТеоремаСуществует алгоритмическая задача, разрешимая некоторымалгоритмом сложности nO(log n), но не принадлежащая классу P.

2 / 29

Page 3: P Reducibility And Npc

Сводимость по КукуОпределение

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

Проблема — переполнение памяти.

Вычисление 22t

Вход: Натуральное tR ← 2for all i ∈ 1..t do

R ← R × Rend for

P получается незамкнут. Выход: рассматривать только «задачиразрешения».

3 / 29

Page 4: P Reducibility And Npc

Дискретные задачи оптимизации

Задача

«Коммивояжер», «TSPa». Заданы неориентированный граф из nвершин-городов, и dij ≡ d(vi , vj) — положительные целые расстояниямежду городами.Чему равна наименьшая возможная длина кольцевого маршрута,проходящего по одному разу через все города? Т.е. нужно найтиминимально возможное значение суммы

min

p∈

1 2 . . . n. . . .

n−1∑i=1

dpi ,pi+1 + dpn,p1 , (1)

где минимум берется по всем перестановкам p чисел 1, . . . , n.aВ англоязычной литературе — Traveling Salesman Problem.

4 / 29

Page 5: P Reducibility And Npc

Переборные задачи разрешения

Задача

«TSP-разрешимость». Заданы n городов c1, . . . , cn и попарныерасстояния dij ≡ d(ci , cj) между ними, являющиеся положительнымицелыми числами, и положительное целое B .Верно ли, что минимально возможное значение суммы (1) меньше B?

5 / 29

Page 6: P Reducibility And Npc

Сведение бинарным поиском

Вход: m > 0, dij > 0, ∀i , j ∈ (1, . . . ,m)Выход: Перестановка πopt , такая, что сумма (1) минимальна.

{ Используется процедура TSPbool(m,D,B) для задачи «TSP-разрешимость»}Bmin ← 0Bmax ← m ·max1≤i<j≤m d(ci , cj) {Bmin ≤ (1) ≤ Bmax, где TSPbool(m, d)}while Bmax − Bmin > 1 do

B ← b(Bmin + Bmax)/2cif TSPbool(m,D,B) then

Bmax ← Belse

Bmin ← Bend if

end whileif TSPbool(m,D,Bmin) then

return Bmin

elsereturn Bmax

end if

6 / 29

Page 7: P Reducibility And Npc

Недетерминированная машина ТьюрингаОпределение

Недетерминированная машина Тьюринга (НМТ) — это наборT = 〈k ,Σ, Γ,Φ〉, где k ≥ 1 — натуральное число (число лент),Σ, Γ — конечные множества, ? ∈ Σ, START ,STOP ∈ Γ,а Φ — произвольное отношение:

Φ ⊂ (Γ× Σk)× (Γ× Σk × {−1, 0, 1}k).

Переход из состояния g , с символами на лентах h1, . . . , hk будетдопустим, если новое состояние g ′, записанные символы h′1, . . . , h

′k и

смещения головок ε1, . . . , εk удовлетворяют соотношению

(g , h1, . . . , hk , g′, h′1, . . . , h

′k , ε1, . . . , εk) ∈ Φ.

Недетерминированный алгоритм по определению выдаетокончательный ответ 1, если существует хотя бы один путь развитиявычисления, на котором выдается ответ 1,и 0 — в противном случае. 7 / 29

Page 8: P Reducibility And Npc

Временная сложность для НМТ

Классы NT IME(f (n)), NSPACE(f (n)) определяются аналогичноклассам DT IME(f (n)), DSPACE(f (n)).Но для МТ классы сложности языков замкнуты относительнодополнения.

coDT IME(f (n)) ≡ {L|L ∈ DT IME(f (n))}coDT IME(f (n)) = DT IME(f (n))

А классы сложность НМТ — нет.

coNT IME(f (n))?= NT IME(f (n))

coNSPACE(f (n))?= NSPACE(f (n))

8 / 29

Page 9: P Reducibility And Npc

Классы NP и coNP

Определение

NP = ∪c>0NT IME(nc),

coNP = {L|L ∈ NP}.

УпражнениеПокажите, что P ⊆ NP ∩ coNP.

УпражнениеПокажите, что NP ⊆ PSPACE

9 / 29

Page 10: P Reducibility And Npc

Определение NP через ДМТ

Определение

Язык L ⊆ Σ∗ принадлежит классу NP, если существуютполиномиальная детерминированная машина Тьюринга M и полиномp(·), такие, что L = {x ∈ Σ∗ : ∃ y , |y | < p(|x |)& M(x , y) = 1}.

Слово y называется обычно «подсказкой», «свидетелем» (witness),«доказательством» (proof ).

ТеоремаОпределения «NP/НМТ» и «NP/ДМТ» эквивалентны.

10 / 29

Page 11: P Reducibility And Npc

«NP/НМТ» ⇔ «NP/ДМТ»

Доказательство.⇒: ∀x ∈ L → подсказка y : закодированный кратчайший протоколвыполнения-подтверждения НМТ T, определяющей L, в смыслеопределения «NP/НМТ».

Длина кратчайшего пути-подтверждения T(x) полиномиальноограничена ⇒ y(x) — полиномиально ограничена.Проверка протокола y(x): полиномиальное время.

⇐: Пусть НМТ T, недетерминированно дописывает разделитель #и некоторое слово y , к входному слову x , а затем работает над словомx#y , как полиномиальная детерминированная машины Тьюринга изопределения «NP/ДМТ».

11 / 29

Page 12: P Reducibility And Npc

«NP/НМТ» ⇔ «NP/ДМТ»

Доказательство.⇒: ∀x ∈ L → подсказка y : закодированный кратчайший протоколвыполнения-подтверждения НМТ T, определяющей L, в смыслеопределения «NP/НМТ».

Длина кратчайшего пути-подтверждения T(x) полиномиальноограничена ⇒ y(x) — полиномиально ограничена.Проверка протокола y(x): полиномиальное время.

⇐: Пусть НМТ T, недетерминированно дописывает разделитель #и некоторое слово y , к входному слову x , а затем работает над словомx#y , как полиномиальная детерминированная машины Тьюринга изопределения «NP/ДМТ».

12 / 29

Page 13: P Reducibility And Npc

«NP/НМТ» ⇔ «NP/ДМТ»

Доказательство.⇒: ∀x ∈ L → подсказка y : закодированный кратчайший протоколвыполнения-подтверждения НМТ T, определяющей L, в смыслеопределения «NP/НМТ».

Длина кратчайшего пути-подтверждения T(x) полиномиальноограничена ⇒ y(x) — полиномиально ограничена.Проверка протокола y(x): полиномиальное время.

⇐: Пусть НМТ T, недетерминированно дописывает разделитель #и некоторое слово y , к входному слову x , а затем работает над словомx#y , как полиномиальная детерминированная машины Тьюринга изопределения «NP/ДМТ».

13 / 29

Page 14: P Reducibility And Npc

«NP/НМТ» ⇔ «NP/ДМТ»

Доказательство.⇒: ∀x ∈ L → подсказка y : закодированный кратчайший протоколвыполнения-подтверждения НМТ T, определяющей L, в смыслеопределения «NP/НМТ».

Длина кратчайшего пути-подтверждения T(x) полиномиальноограничена ⇒ y(x) — полиномиально ограничена.Проверка протокола y(x): полиномиальное время.

⇐: Пусть НМТ T, недетерминированно дописывает разделитель #и некоторое слово y , к входному слову x , а затем работает над словомx#y , как полиномиальная детерминированная машины Тьюринга изопределения «NP/ДМТ».

14 / 29

Page 15: P Reducibility And Npc

Сводимость по Куку: незамкнутость NP и coNP

Задача разрешения «Comm(m, d) > B» (в которой спрашиваетсяверно ли, что любой маршрут коммивояжера имеет длину по крайнеймере (B + 1)), принадлежит классу coNP и не принадлежит классуNP, при общепринятой гипотезе P 6= NP.

В то же время она очевидным образом сводится по Куку к переборнойзадаче «TSP-разрешимость», принадлежащей классу NP.

15 / 29

Page 16: P Reducibility And Npc

Сводимость по Карпу

Определение

Задача разрешения P1 полиномиально сводится к задачеразрешения P2, если существует полиномиально вычислимая функцияf , перерабатывающая массивы входных данных I1 для задачи P1

в массивы входных данных I2 ≡ f (I1) для задачи P2 таким образом,что для любого I1 ответ в задаче P1 совпадает с ответом задачи P2

для входных данных f (I1).

16 / 29

Page 17: P Reducibility And Npc

NP-полные задачи

Определение

Задача разрешения называется NP-полнойa, если она самапринадлежит классу NP, а с другой стороны, произвольная задача изNP сводится к ней полиномиально (См. определение «Сводимостьпо Карпу»). Класс NP-полных задач обозначается NPC.

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

Обратите внимание, что в определение задачи NPC обязательновходит принадлежность классу NP — если опустить это условие,получится класс NP-трудных (NP-hard) задач, включающих NPC,но выходящих за границы класса NP (при гипотезе P 6= NP).

17 / 29

Page 18: P Reducibility And Npc

Первая NP-полная задачаЗадача

«Выполнимость/SAT»a. Дано булевское выражение, являющеесяконьюнктивной нормальной формой (КНФ):

CNF =m∧

i=1

Ci , (2)

где Ci — элементарные дизъюнкции вида

xσ1j1∨ . . . ∨ xσk

jk, (3)

1 ≤ k ≤ n, σj ∈ {0, 1}, x1 = x и x0 = (¬x).Существует ли (булевский) набор переменных xj , обращающий этуформу в 1 (т.е. в «Истину»)?

aВ англоязычной литературе — Satisfiability или просто SAT.

18 / 29

Page 19: P Reducibility And Npc

Задача «SAT» — NP-полна.

Доказательство.∀x , кодирующего выполнимую входную КНФ, ∃y — значенияпеременных, при которых эта КНФ выполняется, это проверяется заполиномиальное время ⇒ задача «SAT»∈NP.

Рассмотрим произвольный язык L ∈ NP: ⇒∀x ∈ L, ∃y(x) : |y(x)| < poly(|x |), и ∃ МТ M, распознающаяLy = {x#y(x)|x ∈ L} за полиномиальное время (и полиномиальнуюпамять).

Процесс вычисления на x длины n можно представить таблицейвычисления размера T × S , где T = poly(n), S = poly(n).

19 / 29

Page 20: P Reducibility And Npc

Задача «SAT» — NP-полна.

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

t = 0 Γ0,1

t = 1

. . .

t = j Γ′left Γ′ Γ′right

t = j + 1 Γ

. . .

t = T . . .

︸ ︷︷ ︸S клеток

Ячейка (i , j): если головка на i-й позиции, то состояние МТ, иначе ∅.Ячейки, кодирующие часть клеток нулевой строки, определяются x ,Результат вычисления в ячейке (t, 0).

20 / 29

Page 21: P Reducibility And Npc

Задача «SAT» — NP-полна.

Доказательство.Ячейки ≡ переменные, вся таблица ≡ формула (в форме КНФ).

Чтобы таблица вычисления соответствовала правильно проведённомууспешному (с ответом 1) вычислению, должны выполнятьсялокальные правила согласования для каждой четвёрки клеток видаи результат должен быть 1.

ϕx — конъюнкция всех этих формул, первая строка — x#y ,x# – константы, остальные ячейки — переменные (y и z).M распознает x#y ⇒ ∃z(x , y) : ϕx(y , z(x , y)) = 1.M не распознает x#y ⇒ ϕx(y , z) ≡ 0.

21 / 29

Page 22: P Reducibility And Npc

Доказательство через сводимость

Если NP-полная задача P1 полиномиально сводится к переборнойзадаче P2, то P2 также NP-полна.

Задача

«3-Выполнимость/3SAT».Вариант задачи «SAT», где каждая элементарная дизъюнкция (3)имеет длину k ≤ 3. Соответствующие КНФ называются 3-КНФ.

Заменим каждую элементарную дизъюнкцию с k > 3 на:(yi2 ≡ (xσ1

j1∨ xσ2

j2))∧(yi3 ≡ (yi2 ∨ xσ3

j3))∧ . . . ∧

(yik ≡ (yi,k−1 ∨ x

σkjk

))∧ yik ,

где yi2, . . . , yik — новые булевы переменные, и трансформируемyiν ≡ (yi ,ν−1 ∨ xσνjν

) в 3-КНФ.

Задача «3SAT» — NP-полна.

22 / 29

Page 23: P Reducibility And Npc

«2SAT» ∈ P

Задача

«2-Выполнимость»(2SAT). Частный случай задачи «SAT», в которомкаждая элементарная дизъюнкция имеет длину k ≤ 2.Соответствующие КНФ называются 2-КНФ.

Можно исключить все дизъюнкции, состоящие из одного терма:Если (xi ) ⇒ xi ≡ 1 ⇒ выкидываем все дизъюнкты с xi

в положительной степени, а из дизъюнктов содержащих ¬xi ,выкидываем ¬xi (т.к. ¬xi ≡ 0). Если есть дизъюнкт (¬xi ) — формуланеразрешима.

Аналогично для (¬xi ).

⇒ все дизъюнкты в КНФ из двух термов.

23 / 29

Page 24: P Reducibility And Npc

«2SAT» ∈ P

x ∨ y ≡ (¬x → y) ∧ (¬y → x)

2SAT-формула, с n переменных xi ⇒ ориентированный граф:2n узлов: ∀i xi , ¬xi

2m дуг: дизъюнкция (x ∨ y) → дуги (¬x → y) и (¬y → x).

(x ∨ y) ∧ (y ∨ z) ∧ (x ∨ z) (x ∨ y) ∧ (y ∨ z) ∧ (x ∨ z) ∧ (x ∨ z) ∧ (y ∨ z)

24 / 29

Page 25: P Reducibility And Npc

«Вершинное покрытие»

Задача

«Вершинное покрытие»a.Дан граф G = (V ,E ) и положительное целое число K , K ≤ |V |.Имеется ли в графе G вершинное покрытие не более чем из Kэлементов, т.е. такое подмножество V ′ ⊆ V , что |V ′| ≤ K и каждоеребро из E содержит хотя бы одну вершину из V ′?

aВ англоязычной литературе — Vertex Covering.

ЛеммаЗадача «Vertex Covering» лежит в NPC.

25 / 29

Page 26: P Reducibility And Npc

Задача «Vertex Covering» ∈ NPC3-КНФ от x1, . . . , xn, k = 3 для всех (m) ЭД.

∀j xj ⇒ дуга (xj ,¬xj)

∀ ЭД ⇒ треугольник (vi1, vi2, vi3)

соединяем дугами vi1 c xσ1j1

, vi2 — c xσ2j2

и vi3 — c xσ3j3

.

(x1 ∨ x2 ∨ x4) ∧ (x2 ∨ x3 ∨ x4) ∧ (x1 ∨ x2 ∨ x4)

Выполнимо при x1 = 0, x2 = 1

(x3, x4 — любые).

Вершинное покрытие должно иметьразмер не менее (n + 2m) (n вершин на(xj ,¬xj) и 2m на (vi1, vi2, vi3)).

Если есть выполняющий набор для3КНФ, то существует вершинноепокрытие размера (n + 2m): xj если xj = 1(иначе ¬xj), этим «покрываем» по однойвершине в каждом треугольнике.Чтобы покрыть остальные, нужно + двевершины, чтобы покрыть треугольник.

26 / 29

Page 27: P Reducibility And Npc

P ?= NP

P coNPNPNPC

NP-трудные задачи

Сводимость по Карпу

NPC-задача

NP-задача

«Экспертное мнение» считает, что P 6= NP.

27 / 29

Page 28: P Reducibility And Npc

�Карта памяти� лекции

28 / 29

Page 29: P Reducibility And Npc

Интернет поддержка курса

http://discopal.ispras.ru/

Вопросы?

29 / 29