20081026 structuralcomplexitytheory lecture05-06

23
Структурная теория сложности Эдуард Алексеевич Гирш http://logic.pdmi.ras.ru/~hirsch ПОМИ РАН 26 октября 2008 г. 1/9

Transcript of 20081026 structuralcomplexitytheory lecture05-06

Page 1: 20081026 structuralcomplexitytheory lecture05-06

Структурная теория сложности

Эдуард Алексеевич Гирш

http://logic.pdmi.ras.ru/~hirsch

ПОМИ РАН

26 октября 2008 г.

1 / 9

Page 2: 20081026 structuralcomplexitytheory lecture05-06

Напоминание: полиномиальные схемы

L ∈ Size[f (n)], если существует семейство булевых схем Cnn∈N, т.ч.I ∀n |Cn| ≤ f (n),I ∀x (x ∈ L⇔ C|x |(x) = 1).

Полиномиальные схемы:

P/poly =⋃k∈N

Size[nk ].

x1

выход

x1 x2

выход

x1 x2 x3

выход . . .2 / 9

Page 3: 20081026 structuralcomplexitytheory lecture05-06

Теорема Карпа-Липтона

Теорема

NP ⊆ P/poly⇒ PH = Σ2P.

Покажем, что Σ3P-полный язык

QBF3 = F — формула в КНФ | ∃x∀y∃z F (x , y , z).лежит в Σ2P.

(∃x∀y∃z(F )) ∈ QBF3 ⇔∃ схемы C1, . . . , C|F |∃x∀y∀G — булевой формулы длины ≤ |F |(семейство Ci корректно для G ) ∧ C|F |(F (x , y , z)) = 1.

3 / 9

Page 4: 20081026 structuralcomplexitytheory lecture05-06

Теорема Карпа-Липтона

Теорема

NP ⊆ P/poly⇒ PH = Σ2P.

Покажем, что Σ3P-полный язык

QBF3 = F — формула в КНФ | ∃x∀y∃z F (x , y , z).лежит в Σ2P.

Проверка корректности схем для SAT:

C|G |(G )?= C|G [x1:=0]|(G [x1 := 0]) ∨ C|G [x1:=1]|(G [x1 := 1])

и проверка корректности для тривиальных формул.

(∃x∀y∃z(F )) ∈ QBF3 ⇔∃ схемы C1, . . . , C|F |∃x∀y∀G — булевой формулы длины ≤ |F |(семейство Ci корректно для G ) ∧ C|F |(F (x , y , z)) = 1.

3 / 9

Page 5: 20081026 structuralcomplexitytheory lecture05-06

Теорема Карпа-Липтона

Теорема

NP ⊆ P/poly⇒ PH = Σ2P.

Покажем, что Σ3P-полный язык

QBF3 = F — формула в КНФ | ∃x∀y∃z F (x , y , z).лежит в Σ2P.

(∃x∀y∃z(F )) ∈ QBF3 ⇔∃ схемы C1, . . . , C|F |∃x∀y∀G — булевой формулы длины ≤ |F |(семейство Ci корректно для G ) ∧ C|F |(F (x , y , z)) = 1.

3 / 9

Page 6: 20081026 structuralcomplexitytheory lecture05-06

Схемы фиксированного полиномиального размера

Теорема

∀k Σ4P * Size[nk ].

Из соображений мощности имеется f : 0, 1n → 0, 1, зависящая отпервых c · k · log n битов, для которой нет булевой схемы размера nk .

Сконструируем такую функцию в Σ4P.

y ∈ L ⇐⇒ ∃f ∀c (схемы размера nk)

∀f ′

∃x

∃c ′ (схема. . . ) ∀x ′

:

f (x) 6= c(x)︸ ︷︷ ︸не принимается схемой

∧ ((f ≤ f ′) ∨ f ′(x ′) = c ′(x ′))︸ ︷︷ ︸первая такая f

∧ f (y) = 1︸ ︷︷ ︸значение

.

Остаётся превратить nk в O(nk).

Следствие

∀k Σ2P ∩ Π2P * Size[nk ].

Σ2P ∩ Π2P ⊆ Size[nk ]⇒NP ⊆ P/poly⇒PH = Σ2P ∩ Π2P ⊆ Size[nk ].

4 / 9

Page 7: 20081026 structuralcomplexitytheory lecture05-06

Схемы фиксированного полиномиального размера

Теорема

∀k Σ4P * Size[nk ].

Из соображений мощности имеется f : 0, 1n → 0, 1, зависящая отпервых c · k · log n битов, для которой нет булевой схемы размера nk .

Сконструируем такую функцию в Σ4P.

y ∈ L ⇐⇒ ∃f ∀c (схемы размера nk)

∀f ′

∃x

∃c ′ (схема. . . ) ∀x ′

:

f (x) 6= c(x)︸ ︷︷ ︸не принимается схемой

∧ ((f ≤ f ′) ∨ f ′(x ′) = c ′(x ′))︸ ︷︷ ︸первая такая f

∧ f (y) = 1︸ ︷︷ ︸значение

.

Остаётся превратить nk в O(nk).

Следствие

∀k Σ2P ∩ Π2P * Size[nk ].

Σ2P ∩ Π2P ⊆ Size[nk ]⇒NP ⊆ P/poly⇒PH = Σ2P ∩ Π2P ⊆ Size[nk ].

4 / 9

Page 8: 20081026 structuralcomplexitytheory lecture05-06

Схемы фиксированного полиномиального размера

Теорема

∀k Σ4P * Size[nk ].

Из соображений мощности имеется f : 0, 1n → 0, 1, зависящая отпервых c · k · log n битов, для которой нет булевой схемы размера nk .

Сконструируем такую функцию в Σ4P.

y ∈ L ⇐⇒ ∃f ∀c (схемы размера nk) ∀f ′ ∃x∃c ′ (схема. . . ) ∀x ′ :

f (x) 6= c(x)︸ ︷︷ ︸не принимается схемой

∧ ((f ≤ f ′) ∨ f ′(x ′) = c ′(x ′))︸ ︷︷ ︸первая такая f

∧ f (y) = 1︸ ︷︷ ︸значение

.

Остаётся превратить nk в O(nk).

Следствие

∀k Σ2P ∩ Π2P * Size[nk ].

Σ2P ∩ Π2P ⊆ Size[nk ]⇒NP ⊆ P/poly⇒PH = Σ2P ∩ Π2P ⊆ Size[nk ].

4 / 9

Page 9: 20081026 structuralcomplexitytheory lecture05-06

Схемы фиксированного полиномиального размера

Теорема

∀k Σ4P * Size[nk ].

Из соображений мощности имеется f : 0, 1n → 0, 1, зависящая отпервых c · k · log n битов, для которой нет булевой схемы размера nk .

Сконструируем такую функцию в Σ4P.

y ∈ L ⇐⇒ ∃f ∀c (схемы размера nk) ∀f ′ ∃x∃c ′ (схема. . . ) ∀x ′ :

f (x) 6= c(x)︸ ︷︷ ︸не принимается схемой

∧ ((f ≤ f ′) ∨ f ′(x ′) = c ′(x ′))︸ ︷︷ ︸первая такая f

∧ f (y) = 1︸ ︷︷ ︸значение

.

Остаётся превратить nk в O(nk).

Следствие

∀k Σ2P ∩ Π2P * Size[nk ].

Σ2P ∩ Π2P ⊆ Size[nk ]⇒NP ⊆ P/poly⇒PH = Σ2P ∩ Π2P ⊆ Size[nk ].

4 / 9

Page 10: 20081026 structuralcomplexitytheory lecture05-06

Схемы фиксированного полиномиального размера

Теорема

∀k Σ4P * Size[nk ].

Следствие

∀k Σ2P ∩ Π2P * Size[nk ].

Σ2P ∩ Π2P ⊆ Size[nk ]⇒NP ⊆ P/poly⇒PH = Σ2P ∩ Π2P ⊆ Size[nk ].

4 / 9

Page 11: 20081026 structuralcomplexitytheory lecture05-06

Равномерные полиномиальные схемы. . . и параллельные вычисления

Семейство схем Cnn∈N равномерно, если имеется полиномиальныйалгоритм A, т.ч. A(1n) = Cn.

Ясно, что равномерные полиномиальные схемы задают P.

Logspace-равномерные: A использует память O(log n).

Глубина схемы ∼ время параллельного вычисления (см. доску).

NCi =

L∣∣∣∣ для L есть logspace-равномерныесхемы глубины O(logi n)

.

NC =⋃i

NCi ⊆ P.

5 / 9

Page 12: 20081026 structuralcomplexitytheory lecture05-06

Равномерные полиномиальные схемы. . . и параллельные вычисления

Семейство схем Cnn∈N равномерно, если имеется полиномиальныйалгоритм A, т.ч. A(1n) = Cn.

Ясно, что равномерные полиномиальные схемы задают P.

Logspace-равномерные: A использует память O(log n).

Глубина схемы ∼ время параллельного вычисления (см. доску).

NCi =

L∣∣∣∣ для L есть logspace-равномерныесхемы глубины O(logi n)

.

NC =⋃i

NCi ⊆ P.

5 / 9

Page 13: 20081026 structuralcomplexitytheory lecture05-06

P-полнота

Сведения с O(log n) памяти.

Теорема

Если L — P-полный, тоI L ∈ NC ⇐⇒ P = NC (всё параллелизуется);I L ∈ DSpace[log] ⇐⇒ P = DSpace[log].

P-полный язык:

CIRCUIT_EVAL = (схема C , вход x) | C (x) = 1.

6 / 9

Page 14: 20081026 structuralcomplexitytheory lecture05-06

NSpace

NSpace[f (n)] = L | L принимается НМТ с памятью O(f (n)).

f (n) должна быть неубывающей и вычислимой с памятью O(f (n)) по 1n.

В определении с подсказкой лента подсказки читается слева направо!

NPSPACE =⋃k≥0

NSpace[nk ].

7 / 9

Page 15: 20081026 structuralcomplexitytheory lecture05-06

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) =∨z

(PATH(x , z , i − 1) ∧ PATH(z , y , i − 1)).

Теорема

NSpace(f ) ⊆ DSpace(f 2) для f (n) = Ω(log n).

Следствие

PSPACE = NPSPACE.

8 / 9

Page 16: 20081026 structuralcomplexitytheory lecture05-06

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) =∨z

(PATH(x , z , i − 1) ∧ PATH(z , y , i − 1)).

ЛеммаSTCON является NSpace[log n]-полной.

Факт: для неор.графов: USTCON ∈ DSpace[log n] [Reingold, 2004].

Вопрос на засыпку: а кто DSpace[log n]-полная?

8 / 9

Page 17: 20081026 structuralcomplexitytheory lecture05-06

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) =∨z

(PATH(x , z , i − 1) ∧ PATH(z , y , i − 1)).

ЛеммаSTCON является NSpace[log n]-полной.

Факт: для неор.графов: USTCON ∈ DSpace[log n] [Reingold, 2004].

Вопрос на засыпку: а кто DSpace[log n]-полная?

8 / 9

Page 18: 20081026 structuralcomplexitytheory lecture05-06

Параллельные вычисления и логарифмическая память

Теорема

NC1 ⊆ DSpace(log) ⊆ NSpace(log) ⊆ NC2.

9 / 9

Page 19: 20081026 structuralcomplexitytheory lecture05-06

Параллельные вычисления и логарифмическая память

Теорема

NC1 ⊆ DSpace(log) ⊆ NSpace(log) ⊆ NC2.

Пусть logspace НМТ M принимает L ∈ NSpace(log).I Интересует достижимость в графе конфигураций M.I Для конкретной входной ленты их полиномиальное число k .

I A — матрица смежности (k × k).I Достаточно вычислить Ak .I Это log k последовательных умножений: A2, (A2)2, . . .I Умножение пары булевых матриц: схема глубины O(log k),

см. на доску.

9 / 9

Page 20: 20081026 structuralcomplexitytheory lecture05-06

Параллельные вычисления и логарифмическая память

Теорема

NC1 ⊆ DSpace(log) ⊆ NSpace(log) ⊆ NC2.

Пусть logspace НМТ M принимает L ∈ NSpace(log).I Интересует достижимость в графе конфигураций M.I Для конкретной входной ленты их полиномиальное число k .I A — матрица смежности (k × k).I Достаточно вычислить Ak .

I Это log k последовательных умножений: A2, (A2)2, . . .I Умножение пары булевых матриц: схема глубины O(log k),

см. на доску.

9 / 9

Page 21: 20081026 structuralcomplexitytheory lecture05-06

Параллельные вычисления и логарифмическая память

Теорема

NC1 ⊆ DSpace(log) ⊆ NSpace(log) ⊆ NC2.

Пусть logspace НМТ M принимает L ∈ NSpace(log).I Интересует достижимость в графе конфигураций M.I Для конкретной входной ленты их полиномиальное число k .I A — матрица смежности (k × k).I Достаточно вычислить Ak .I Это log k последовательных умножений: A2, (A2)2, . . .I Умножение пары булевых матриц: схема глубины O(log k),

см. на доску.

9 / 9

Page 22: 20081026 structuralcomplexitytheory lecture05-06

Параллельные вычисления и логарифмическая память

Теорема

NC1 ⊆ DSpace(log) ⊆ NSpace(log) ⊆ NC2.

Лемма. Композиция двух logspace функций f2(f1(x)).I Сделать выходную ленту f1 входной лентой f2 нельзя.I Храним только счётчики позиций.I Нужен очередной бит входа f2 — продолжим работу f1.

(Если лента не write-once, можно доводить до конца каждый раз.)

9 / 9

Page 23: 20081026 structuralcomplexitytheory lecture05-06

Параллельные вычисления и логарифмическая память

Теорема

NC1 ⊆ DSpace(log) ⊆ NSpace(log) ⊆ NC2.

x?∈ L ∈ NC1. Строим композицию трёх logspace функций с

логарифмической памятью.1. Строим схему (семейство было logspace-равномерным).2. Преобразуем схему в формулу (dag → дерево):

I гейт → путь от выхода (битовая строка),I поиск в глубину — логарифмическая память,I для возврата идём заново от корня.

3. Вычисляем значение формулы на входе x .I Снова поиск в глубину.

9 / 9