2. PCP-система
Определение
Системой вероятностной проверки доказательств (верифицирующей
PCP-системой) для языка L называется ВМТ M с оракулом, для
которой выполняются следующие условия:
полнота (completeness): ∀x ∈ L существует оракул πx :
P[Mπx (x) = 1] = 1.
корректность (soundness): ∀x ∈ L и для любого оракула π:
/
1
P[Mπ (x) = 1] ≤ .
2
2 / 16
3. Сравнение N P и PCP верификаторов
1 Верификатором для класса N P была ДМТ, а у
PCP-системы — ВМТ.
2 ∀x строка доказательства у N P была полиномиального размера,
а у PCP-системы, каждая строка πx может быть
экспоненциального размера.
3 В случае N P, верификатор сразу же получает доступ ко всему
доказательству, а PCP-система, при любой длине доказательства,
успеет просмотреть часть не больше чем полиномиальной длины.
Впрочем, PCP-система может вполне «побрезговать» полным
доказательством, даже если оно полиномиального размера,
ограничившись просмотром константы битов из доказательства,
или вовсе не смотреть на него, вынеся результат из исследования
входного слова и вероятностного «подбрасывания монеток».
Также, PCP-система может обойтись и без «монеток».
3 / 16
4. PCP-система
Определение
Системой вероятностной проверки доказательств (верифицирующей
PCP-системой) для языка L называется ВМТ M с оракулом, для
которой выполняются следующие условия:
полнота (completeness): ∀x ∈ L существует оракул πx :
P[Mπx (x) = 1] = 1.
корректность (soundness): ∀x ∈ L и для любого оракула π:
/
1
P[Mπ (x) = 1] ≤ .
2
4 / 16
5. Класс PCP
Определение
Пусть r , q : N ⇒ N — неотрицательные целочисленные функции.
Класс сложности PCP(r (·), q(·)) состоит из языков, имеющих
верифицирующую PCP-систему, которая на входе x:
1 потребляет не более r (|x|) случайных бит;
2 делает не более q(|x|) запросов к оракулу.
Для множеств целочисленных функций R, Q определим
PCP(R, Q) ≡ PCP(r (·), q(·)).
r ∈R,q∈Q
5 / 16
6. Классы N P и coRP
Определение
Язык L ⊆ Σ∗ принадлежит классу N P, если существуют
полиномиальная детерминированная машина Тьюринга M и полином
p(·), такие, что L = {x ∈ Σ∗ : ∃ y , |y | < p(|x|)& M(x, y ) = 1}.
Определение
Класс сложности coRP состоит из всех языков L, для которых
существуют некий полином p(·) и полиномиальная МТ M(x, y ), такая,
что:
x ∈ L ⇒ ∀y , M(x, y ) = 1,
|{y : M(x, y ) = 0, |y | ≤ p(|x|)}| 1
x ∈L ⇒
/ ≥ .
2 p(|x|) 2
6 / 16
7. PCP при различных параметрах
PCP(poly , poly ) = N EX P ≡ N T IME(2poly )
«Вырожденные» случаи:
PCP(0, poly ) = N P
PCP(poly , 0) = coRP
7 / 16
8. PCP(log , poly ) ⊆ N P
L ∈ PCP(log , poly ), M —оракульная ВМТ из PCP-системы для L.
Обозначим:
1 r1 , . . . , rm — вероятностная строка, потребляемая ВМТ;
2 i — индекс вероятностных строк.
3 i i
q1 , . . . , qni — вопросы к оракулу, на x и i-й строке r1 , . . . , rm .
4 πqi , . . . , πqn
i — ответы оракула на эти вопросы.
1 i
∀i ∈ 1, . . . , m, πqi , . . . , πqn
i кодируется полиномиальной строкой y :
1 i
случайных строк — m ≤ 2log(|x|) = poly (|x|);
ответов оракула ≤ poly (|x|).
⇒ y — полиномиальное «N P-доказательство» для x.
Верификатор-ДМТ M, на x#y , просимулирует ВМТ M на всех r ,
и вместо оракула предоставит M ответы из «N P-доказательства» y .
Если на всех r M (r , x) = 1, то M (x#y ) = 1.
8 / 16
9. PCP(log , poly ) ⊆ N P
Пусть x ∈ L. Покажем ∀y : M(x, y ) = 0.
/
Допустим, что ∃y : M(x, y ) = 1, для x ∈ L.
/
Тогда, «превратим» это «N P-доказательство» y обратно
в некоторого оракула π y :
y
P M π (x) = 1 = 1
Противоречие с условием «soundness» PCP системы.
9 / 16
10. PCP-теорема
Теорема
N P ⊆ PCP(log , O(1))
Учитывая результат предыдущего слайда (PCP(log , poly ) ⊆ N P):
Теорема
N P = PCP(log , O(1))
Теорема
N P = PCP(log , q = 5)
Таких битов не может быть меньше трех, при гипотезе, что P = N P.
(N P ≈ PCP(log , q = 5))
10 / 16
11. PCP-теорема
Теорема
N P ⊆ PCP(log , O(1))
Учитывая результат предыдущего слайда (PCP(log , poly ) ⊆ N P):
Теорема
N P = PCP(log , O(1))
Теорема
N P = PCP(log , q = 5)
Таких битов не может быть меньше трех, при гипотезе, что P = N P.
(N P ≈ PCP(log , q = 5))
11 / 16
12. PCP-теорема
Теорема
N P ⊆ PCP(log , O(1))
Учитывая результат предыдущего слайда (PCP(log , poly ) ⊆ N P):
Теорема
N P = PCP(log , O(1))
Теорема
N P = PCP(log , q = 5)
Таких битов не может быть меньше трех, при гипотезе, что P = N P.
(N P ≈ PCP(log , q = 5))
12 / 16
13. PCP(log , q = 2) ⊆ P (P = PCP(log , q = 2))
На i-ую вероятностную строку r1 , . . . , rm ответов от оракула должно
i i
быть не больше чем два π1 , π2 .
По схеме верификации машиной M можно построить 2SAT-формулу
φ — КНФ, где будет m-дизъюнкций, соответствующих вероятностным
строкам, где каждая дизъюнкция содержит не больше чем 2
i i
переменные, соответствующие ответам оракула π1 , π2 .
Cуществование πx ⇐⇒ «выполнимость 2SAT-формулы φ», а эта
задача полиномиально разрешима.
13 / 16
14. Иерархия некоторых классов сложности
P
ZPP
PCP (log,q=2)
coRP RP
coN P BPP NP
PCP (poly,0)
PP PCP (log,q=5)
PCP (0,poly)
PSPACE PCP (log,log)
PCP (poly,poly)
N EX P
14 / 16