1. Структурная теория сложности
Эдуард Алексеевич Гирш
http://logic.pdmi.ras.ru/~hirsch
ПОМИ РАН
26 октября 2008 г.
1/9
2. Напоминание: полиномиальные схемы
L ∈ Size[f (n)], если существует семейство булевых схем {Cn }n∈N , т.ч.
∀n |Cn | ≤ f (n),
∀x (x ∈ L ⇔ C|x| (x) = 1).
Полиномиальные схемы:
P/poly = Size[nk ].
k∈N
x1 x1 x2 x1 x2 x3
⊕ ⊕
⊕
выход выход выход ... 2/9
3. Теорема Карпа-Липтона
Теорема
NP ⊆ P/poly ⇒ PH = Σ2 P.
Покажем, что Σ3 P-полный язык
QBF3 = {F формула в КНФ | ∃x∀y ∃z F (x, y , z)}.
лежит в Σ2 P.
3/9
4. Теорема Карпа-Липтона
Теорема
NP ⊆ P/poly ⇒ PH = Σ2 P.
Покажем, что Σ3 P-полный язык
QBF3 = {F формула в КНФ | ∃x∀y ∃z F (x, y , z)}.
лежит в Σ2 P.
Проверка корректности схем для SAT:
?
C|G | (G ) = C|G [x1 :=0]| (G [x1 := 0]) ∨ C|G [x1 :=1]| (G [x1 := 1])
и проверка корректности для тривиальных формул.
3/9
5. Теорема Карпа-Липтона
Теорема
NP ⊆ P/poly ⇒ PH = Σ2 P.
Покажем, что Σ3 P-полный язык
QBF3 = {F формула в КНФ | ∃x∀y ∃z F (x, y , z)}.
лежит в Σ2 P.
(∃x∀y ∃z(F )) ∈ QBF3 ⇔
∃ схемы C1 , . . . , C|F |
∃x
∀y
∀G булевой формулы длины ≤ |F |
(семейство {Ci } корректно для G ) ∧ C|F | (F (x, y , z)) = 1.
3/9
6. Схемы фиксированного полиномиального размера
Теорема
∀k Σ4 P Size[nk ].
Из соображений мощности имеется f : {0, 1}n → {0, 1}, зависящая от
первых c · k · log n битов, для которой нет булевой схемы размера nk .
Сконструируем такую функцию в Σ4 P.
y ∈ L ⇐⇒ ∃f ∀c (схемы размера nk ) ∃x :
f (x) = c(x) .
не принимается схемой
4/9
7. Схемы фиксированного полиномиального размера
Теорема
∀k Σ4 P Size[nk ].
Из соображений мощности имеется f : {0, 1}n → {0, 1}, зависящая от
первых c · k · log n битов, для которой нет булевой схемы размера nk .
Сконструируем такую функцию в Σ4 P.
y ∈ L ⇐⇒ ∃f ∀c (схемы размера nk ) ∃x :
f (x) = c(x) ∧ f (y ) = 1 .
не принимается схемой значение
4/9
8. Схемы фиксированного полиномиального размера
Теорема
∀k Σ4 P Size[nk ].
Из соображений мощности имеется f : {0, 1}n → {0, 1}, зависящая от
первых c · k · log n битов, для которой нет булевой схемы размера nk .
Сконструируем такую функцию в Σ4 P.
y ∈ L ⇐⇒ ∃f ∀c (схемы размера nk ) ∀f ∃x∃c (схема. . . ) ∀x :
f (x) = c(x) ∧ ((f ≤ f ) ∨ f (x ) = c (x )) ∧ f (y ) = 1 .
не принимается схемой первая такая f значение
4/9
9. Схемы фиксированного полиномиального размера
Теорема
∀k Σ4 P Size[nk ].
Из соображений мощности имеется f : {0, 1}n → {0, 1}, зависящая от
первых c · k · log n битов, для которой нет булевой схемы размера nk .
Сконструируем такую функцию в Σ4 P.
y ∈ L ⇐⇒ ∃f ∀c (схемы размера nk ) ∀f ∃x∃c (схема. . . ) ∀x :
f (x) = c(x) ∧ ((f ≤ f ) ∨ f (x ) = c (x )) ∧ f (y ) = 1 .
не принимается схемой первая такая f значение
Остаётся превратить nk в O(nk ).
4/9
10. Схемы фиксированного полиномиального размера
Теорема
∀k Σ4 P Size[nk ].
Следствие
∀k Σ2 P ∩ Π2 P Size[nk ].
Σ2 P ∩ Π2 P ⊆ Size[nk ] ⇒
NP ⊆ P/poly ⇒
PH = Σ2 P ∩ Π2 P ⊆ Size[nk ].
4/9
11. Равномерные полиномиальные схемы
. . . и параллельные вычисления
Семейство схем {Cn }n∈N равномерно, если имеется полиномиальный
алгоритм A, т.ч. A(1n ) = Cn .
Ясно, что равномерные полиномиальные схемы задают P.
Logspace-равномерные: A использует память O(log n).
5/9
12. Равномерные полиномиальные схемы
. . . и параллельные вычисления
Семейство схем {Cn }n∈N равномерно, если имеется полиномиальный
алгоритм A, т.ч. A(1n ) = Cn .
Ясно, что равномерные полиномиальные схемы задают P.
Logspace-равномерные: A использует память O(log n).
Глубина схемы ∼ время параллельного вычисления (см. доску).
для L есть logspace-равномерные
NCi = L .
схемы глубины O(logi n)
NC = NCi ⊆ P.
i
5/9
13. P-полнота
Свед´ния с O(log n) памяти.
е
Теорема
Если L P-полный, то
L ∈ NC ⇐⇒ P = NC (всё параллелизуется);
L ∈ DSpace[log] ⇐⇒ P = DSpace[log].
P-полный язык:
CIRCUIT_EVAL = {(схема C , вход x) | C (x) = 1}.
6/9
14. NSpace
NSpace[f (n)] = {L | L принимается НМТ с памятью O(f (n))}.
f (n) должна быть неубывающей и вычислимой с памятью O(f (n)) по 1n .
В определении с подсказкой лента подсказки читается слева направо!
NPSPACE = NSpace[nk ].
k≥0
7/9
15. STCON; NSpace vs DSpace
STCON = {(G , s, t) | G ор.граф, s t}.
Лемма
STCON ∈ DSpace[log2 n].
PATH(x, y , i) = ∃ путь из x в y длины не более 2i .
PATH(x, y , i) = (PATH(x, z, i − 1) ∧ PATH(z, y , i − 1)).
z
Теорема
NSpace(f ) ⊆ DSpace(f 2 ) для f (n) = Ω(log n).
Следствие
PSPACE = NPSPACE.
8/9
16. STCON; NSpace vs DSpace
STCON = {(G , s, t) | G ор.граф, s t}.
Лемма
STCON ∈ DSpace[log2 n].
PATH(x, y , i) = ∃ путь из x в y длины не более 2i .
PATH(x, y , i) = (PATH(x, z, i − 1) ∧ PATH(z, y , i − 1)).
z
Лемма
STCON является NSpace[log n]-полной.
8/9
17. STCON; NSpace vs DSpace
STCON = {(G , s, t) | G ор.граф, s t}.
Лемма
STCON ∈ DSpace[log2 n].
PATH(x, y , i) = ∃ путь из x в y длины не более 2i .
PATH(x, y , i) = (PATH(x, z, i − 1) ∧ PATH(z, y , i − 1)).
z
Лемма
STCON является NSpace[log n]-полной.
Факт: для неор.графов: USTCON ∈ DSpace[log n] [Reingold, 2004].
Вопрос на засыпку: а кто DSpace[log n]-полная?
8/9
18. Параллельные вычисления и логарифмическая память
Теорема
NC1 ⊆ DSpace(log) ⊆ NSpace(log) ⊆ NC2 .
9/9
19. Параллельные вычисления и логарифмическая память
Теорема
NC1 ⊆ DSpace(log) ⊆ NSpace(log) ⊆ NC2 .
Пусть logspace НМТ M принимает L ∈ NSpace(log).
Интересует достижимость в графе конфигураций M.
Для конкретной входной ленты их полиномиальное число k.
9/9
20. Параллельные вычисления и логарифмическая память
Теорема
NC1 ⊆ DSpace(log) ⊆ NSpace(log) ⊆ NC2 .
Пусть logspace НМТ M принимает L ∈ NSpace(log).
Интересует достижимость в графе конфигураций M.
Для конкретной входной ленты их полиномиальное число k.
A матрица смежности (k × k).
Достаточно вычислить Ak .
9/9
21. Параллельные вычисления и логарифмическая память
Теорема
NC1 ⊆ DSpace(log) ⊆ NSpace(log) ⊆ NC2 .
Пусть logspace НМТ M принимает L ∈ NSpace(log).
Интересует достижимость в графе конфигураций M.
Для конкретной входной ленты их полиномиальное число k.
A матрица смежности (k × k).
Достаточно вычислить Ak .
Это log k последовательных умножений: A2 , (A2 )2 , . . .
Умножение пары булевых матриц: схема глубины O(log k),
см. на доску.
9/9
22. Параллельные вычисления и логарифмическая память
Теорема
NC1 ⊆ DSpace(log) ⊆ NSpace(log) ⊆ NC2 .
Лемма. Композиция двух logspace функций f2 (f1 (x)).
Сделать выходную ленту f1 входной лентой f2 нельзя.
Храним только счётчики позиций.
Нужен очередной бит входа f2 продолжим работу f1 .
(Если лента не write-once, можно доводить до конца каждый раз.)
9/9
23. Параллельные вычисления и логарифмическая память
Теорема
NC1 ⊆ DSpace(log) ⊆ NSpace(log) ⊆ NC2 .
?
x ∈ L ∈ NC1 . Строим композицию трёх logspace функций с
логарифмической памятью.
1. Строим схему (семейство было logspace-равномерным).
2. Преобразуем схему в формулу (dag → дерево):
гейт → путь от выхода (битовая строка),
поиск в глубину логарифмическая память,
для возврата идём заново от корня.
3. Вычисляем значение формулы на входе x.
Снова поиск в глубину.
9/9