Probabilistically Checkable Proofs

685 views

Published on

  • Be the first to comment

  • Be the first to like this

Probabilistically Checkable Proofs

  1. 1. Вероятностно проверяемые доказательства Н.Н. Кузюрин С.А. Фомин 10 октября 2008 г. 1 / 16
  2. 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. 3. Сравнение N P и PCP верификаторов 1 Верификатором для класса N P была ДМТ, а у PCP-системы — ВМТ. 2 ∀x строка доказательства у N P была полиномиального размера, а у PCP-системы, каждая строка πx может быть экспоненциального размера. 3 В случае N P, верификатор сразу же получает доступ ко всему доказательству, а PCP-система, при любой длине доказательства, успеет просмотреть часть не больше чем полиномиальной длины. Впрочем, PCP-система может вполне «побрезговать» полным доказательством, даже если оно полиномиального размера, ограничившись просмотром константы битов из доказательства, или вовсе не смотреть на него, вынеся результат из исследования входного слова и вероятностного «подбрасывания монеток». Также, PCP-система может обойтись и без «монеток». 3 / 16
  4. 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. 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. 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. 7. PCP при различных параметрах PCP(poly , poly ) = N EX P ≡ N T IME(2poly ) «Вырожденные» случаи: PCP(0, poly ) = N P PCP(poly , 0) = coRP 7 / 16
  8. 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. 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. 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. 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. 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. 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. 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
  15. 15. Карта памяти лекции 15 / 16
  16. 16. Интернет поддержка курса http://discopal.ispras.ru/ Вопросы? 16 / 16

×