Теорема Шамира
Теорема (Шамир): |
Доказательство: |
Рассмотрим язык . Пусть — Verifier, соответствующий , — время его работы, — количество его запросов к Prover 'у. Напишем программу, распознающую язык на полиномиальной памяти.for //(1) for //(2) if ++ if return 1 return 0 В цикле перебираются все Prover 'ы, которые отвечают на запросов, каждый ответ имеет размер . В цикле перебираются все вероятностные ленты размера . Так как — корректен, то если нашелся Prover, при котором допускает слово с вероятностью, большей , то данное слово принадлежит , иначе — не принадлежит. Очевидно, что данная программа требует полином дополнительной памяти. Значит , следовательно . |
Содержание
Формулировка
Доказательство
IP ⊂ PS
Рассмотрим язык
. Чтобы детерминированная машина Тьюринга могла установить принадлежность слова языку , ей нужно перебрать все ответы и вероятностные ленты , просимулировав с этими данными и посчитав вероятность допуска. Ясно, что эти действия потребуют не более памяти, а значит .PS ⊂ IP
Докажем, что язык
. Этого достаточно, так как .Введем следующую арифметизацию булевых формул с кванторами:
- x
- , где — полином, получившийся в результате арифметизации
Результат этого выражения будет ненулевым в том и только в том случае, если исходная формула была истинна.
Рассмотрим пример:
Для записи этого числа нужно
бит. Если , это число невозможно передать за полиномиальное относительно длины исходной формулы время. Чтобы избежать таких больших чисел, приходится проводить все операции по какому-нибудь простому модулю .Начало интерактивного протокола:
- P выбирает простое и и посылает их V ( посылается вместе с его сертификатом простоты).
- V проверяет на простоту, а на неравенство нулю.
Хотелось бы воспользоваться протоколом из доказательства принадлежности #SAT к классу IP, проверяя в случае, когда связан квантором , и для квантора . К сожалению, сразу этот протокол применить нельзя, потому что произведение может увеличить степень полинома в два раза, а это может потребовать передачи по протоколу полиномов экспоненциальной длины, что не уложится по времени.
Поэтому потребуем, чтобы между появлением переменной и первым ее использованием было не более одного квантора #SAT для получившейся формулы, передаваться будут полиномы константной степени.
. Для этого заменим все суффиксы вида на . Это преобразование не изменит выполнимости формулы, количество ее переменных увеличится лишь в полином от их первоначального количества раз, а сама формула тоже увеличится не более, чем полиномиально. Теперь можно использовать протокол из