1. Структурная теория сложности
Эдуард Алексеевич Гирш
http://logic.pdmi.ras.ru/~hirsch
ПОМИ РАН
16 ноября 2008 г.
1 / 10
2. IP = PSPACE
Простое включение IP ⊆ PSPACE:
если перебирать все возможные ответы provera и все возможные
случайные строки verifierа, то просто выяснить “∃ док-во
Pr{verifier примет} такая-то”.
Трудное включение PSPACE ⊆ IP:
достаточно построить интерактивный протокол для
PSPACE-полной задачи QBF.
2 / 10
4. Интерактивный протокол для QBF
Протокол
Пусть d размер исходной формулы.
Рекурсивный протокол для доказательства
qxi q... . . . q... P(x1 , . . . , xi−1 , xi . . . xn )|x1 =r1 ,...,xi −1 =ri −1 = c :
Обозначим
R(x1 , . . . , xi ) = q... . . . q... P(x1 , . . . , xi ).
Prover даёт коэффициенты этого многочлена s(xi ) степени не выше d .
q = A. Если s(0)s(1) = c, verifier отвергает.
В противном случае рекурсивно проверяет
R(r1 . . . ri−1 , ri ) = s(ri ) для случайного ri .
q = E . Аналогично, с проверкой s(0) s(1) = c.
d
Вер. на одном шаге ≤ размер поля .
1
Итого ≤ d для поля размера ≥ d 4 .
4 / 10
5. Интерактивный протокол для QBF
Протокол
Пусть d размер исходной формулы.
Рекурсивный протокол для доказательства
qxi q... . . . q... P(x1 , . . . , xi−1 , xi . . . xn )|x1 =r1 ,...,xi −1 =ri −1 = c :
Обозначим
R(x1 , . . . , xi ) = q... . . . q... P(x1 , . . . , xi ).
Prover даёт коэффициенты этого многочлена s(xi ) степени не выше d .
q = L. Аналогично, но ri уже есть!
Verifier проверяет s(0) + (s(1) − s(0))ri = c и рекурсивно
проверяет, что R(r1 , . . . , ri−1 , ri ) = s(ri ) для нового случайного
ri .
d
Вер. на одном шаге ≤ размер поля .
1
Итого ≤ d для поля размера ≥ d 4 .
4 / 10
6. Leslie Valiant, Vijay Vazirani
Лемма
За полин. время F → F1 , . . . , Fm , т.ч.
F выполнима ⇒ какая-то Fi одновыполнима с вер. ≥ 1/2;
F невыполнима ⇒ все Fi невыполнимы.
5 / 10
7. Leslie Valiant, Vijay Vazirani
Лемма
За полин. время F → F1 , . . . , Fm , т.ч.
F выполнима ⇒ какая-то Fi одновыполнима с вер. ≥ 1/2;
F невыполнима ⇒ все Fi невыполнимы.
Пусть a(1) , . . . , a(D) все вып. наборы F . Оставим один!
x ∈ {0, 1}n ∼ x ∈ [0..2n − 1].
F (x) → F (x) ∧ (x mod p = r ).
i ∈ [0..n] угадаем i = log2 D с вер. 1/(n + 1).
Случайные p ∈ [1..b] и r ∈ [0..b − 1], где b = 4 · 2i n2 .
p хорошее для a(k) , если оно простое и ∀j = k a(k) ≡ a(j) (mod p).
Для данного a(k) плохих простых ≤ n · D, а всего простых
0.92129 · b/ ln b > b/ log2 b ≥ 2i+1 n. Итого ≥ 2i n хороших.
Хорошая пара (p, r ) отличает хоть какой-то набор от других.
Хороших пар ≥ D · 2i n.
А всего пар b 2 . Вероятность выбрать хорошую ≥ 1/(32n4 ) (с учётом i).10
5/
8. Probabilistically Checkable Proofs (PCP)
Доступ к доказательству π по адресу (номер бита → бит).
Язык L вероятностно проверяем, если ∃ вер. полин. A:
x ∈ L ⇒ ∃π Pr{Aπ (x) = 1} = 1,
1
x ∈ L ⇒ ∀π Pr{Aπ (x) = 1} < .
/
2
L ∈ PCP(r (n), q(n)), если он вероятностно проверяем
с r (n) случ. битами и q(n) запросами к док-ву.
Теорема (PCP Theorem)
NP = PCP(O(log n), O(1)).
Замечание
1
На самом деле достаточно трёх битов для вер. 1 − δ vs 2 + δ.
6 / 10
9. Напоминание: оптимизационные задачи
Оптимизационная задача = массовая задача M + целевая функция f .
Точный алгоритм для задачи максимизации находит по x решение s∗ :
(x, s∗ ) ∈ M;
f (x, s∗ ) = max f (x, s).
s:(x,s)∈M
ρ-приближённый алгоритм находит решение s≈ :
(x, s≈ ) ∈ M;
f (x, s≈ ) ≥ ρ · f (x, s∗ ).
7 / 10
10. Неаппроксимируемость
Теорема (PCP Theorem)
NP = PCP(O(log n), O(1)).
Теорема (Переформулировка PCP Theorem)
∃ρ < 1 т.ч. ∀L ∈ NP имеется полин. f : {0, 1}∗ → {3–КНФ} т.ч.
x ∈ L ⇒ f (x) выполнима,
x ∈ L ⇒ нельзя выполнить даже долю ρ клозов f (x).
/
Следствие
P = NP ⇒ ∃ полин. ρ-приближённого алгоритма для MAX–3–SAT.
Замечание
На самом деле если все клозы длины три, то 7/8-приближённый есть,
а (7/8 + ε)-приближённого нет.
8 / 10
11. Walsh-Hadamard code
Everything is done modulo 2.
WH(x) = ( x, y )y ∈{0,1}n (2n bits instead of n).
9 / 10
12. Walsh-Hadamard code
Everything is done modulo 2.
WH(x) = ( x, y )y ∈{0,1}n (2n bits instead of n).
Error correcting code:
1
∀x, x Pr{WH(x)(r ) = WH(x )(r )} ≥ .
r 2
9 / 10
13. Walsh-Hadamard code
Everything is done modulo 2.
WH(x) = ( x, y )y ∈{0,1}n (2n bits instead of n).
Error correcting code:
1
∀x, x Pr{WH(x)(r ) = WH(x )(r )} ≥ .
r 2
Testing for δ-closeness:
f , g are δ-close (for δ < 1/2) if Pry {f (y ) = g (y )} < δ.
For δ < 1/3, f is not δ-close to a linear function ⇒
Pr {f (y + z) = f (y ) + f (z)} > δ/2. [PROOF DELAYED]
y ,z
Repeat O(1) times, get 0.001-closeness with any small error.
9 / 10
14. Walsh-Hadamard code
Everything is done modulo 2.
WH(x) = ( x, y )y ∈{0,1}n (2n bits instead of n).
Error correcting code:
1
∀x, x Pr{WH(x)(r ) = WH(x )(r )} ≥ .
r 2
Testing for δ-closeness:
f , g are δ-close (for δ < 1/2) if Pry {f (y ) = g (y )} < δ.
For δ < 1/3, f is not δ-close to a linear function ⇒
Pr {f (y + z) = f (y ) + f (z)} > δ/2. [PROOF DELAYED]
y ,z
Repeat O(1) times, get 0.001-closeness with any small error.
˜
Self-correction: if f is δ-close to linear f , then
˜ ˜
∀y Pr{f (y ) = f (y ) + f (y + y )} ≥ 1 − 2δ
y
for δ < 1/4.
9 / 10
15. NP ⊆ PCP(nO(1) , O(1)).
NP-complete language: satisfiable systems of quadratic equations mod 2.
Input: a system presumably satisfied by u = (u1 , . . . , un ) ∈ {0, 1}n .
10 / 10
16. NP ⊆ PCP(nO(1) , O(1)).
NP-complete language: satisfiable systems of quadratic equations mod 2.
Input: a system presumably satisfied by u = (u1 , . . . , un ) ∈ {0, 1}n .
Proof: WH(u) and WH(u ⊗ u), where (y ⊗ z)ij = yi zj .
10 / 10
17. NP ⊆ PCP(nO(1) , O(1)).
NP-complete language: satisfiable systems of quadratic equations mod 2.
Input: a system presumably satisfied by u = (u1 , . . . , un ) ∈ {0, 1}n .
Proof: WH(u) and WH(u ⊗ u), where (y ⊗ z)ij = yi zj .
Verifier:
1. Test the proof for 0.001-closeness to linear,
then use linear functions f and g by self-correction.
2. Check that f and g are related as presumed.
No ⇒ Pr{f (r )f (r ) = g (r ⊗ r )} > 0.250.
3. Verify that f satisfies the system:
take a random sum of equations: coefficients a, rhs c;
f does not satisfy ⇒ Pr{g (a) = c} > 0.5.
10 / 10