Теорема Шамира — различия между версиями
AndrewD (обсуждение | вклад) |
|||
Строка 1: | Строка 1: | ||
+ | {{Теорема | ||
+ | |author=Шамир | ||
+ | |statement=<tex>\mathrm{IP} = \mathrm{PS}</tex> | ||
+ | |proof= | ||
+ | * <tex>\mathrm{IP} \subset \mathrm{PS}</tex> | ||
+ | Рассмотрим язык <tex>L \in \mathrm{IP}</tex>, а также ''Verifier'' и ''Prover'', соответствующие этому языку. Так как ''Verifier'' ограничен полиномиальным временем работы, то можно считать, что размер вероятностной ленты, размер ответов ''Prover'' 'а и количество дополнительной памяти, используемой ''Verifier'' 'ом тоже ограничены некоторым полиномом. Построим программу, которая будет перебирать все возможные вероятностные ленты и для каждой из них будет симулировать работу ''Verifier'' 'а, перебирая все возможные ответы ''Prover'' 'а, а затем вернет наиболее часто встречающийся результат, возвращаемый ''Verifier'' 'ом. Данная программа использует полиномиальное количество дополнительной памяти. Значит <tex>L \in \mathrm{PS}</tex>. Поэтому <tex>\mathrm{IP} \subset \mathrm{PS}</tex> | ||
+ | * <tex>\mathrm{PS} \subset \mathrm{IP}</tex> | ||
+ | }} | ||
+ | |||
== Формулировка == | == Формулировка == | ||
'''[[Класс IP|IP]]''' = '''[[Класс PS|PS]]''' | '''[[Класс IP|IP]]''' = '''[[Класс PS|PS]]''' | ||
Строка 9: | Строка 18: | ||
Введем следующую арифметизацию булевых формул с кванторами: | Введем следующую арифметизацию булевых формул с кванторами: | ||
* <tex>\lnot x \to 1-X</tex> | * <tex>\lnot x \to 1-X</tex> | ||
− | * <tex>x \land y \to XY</tex> | + | * <tex>x \land y \to XY</tex>x |
* <tex>x \lor y \to X+Y-XY = 1-(1-X)(1-Y)</tex> | * <tex>x \lor y \to X+Y-XY = 1-(1-X)(1-Y)</tex> | ||
* <tex>\exists x \varphi(x) \to \sum\limits_{X=0}^{1} A_\varphi(X)</tex>, где <tex>A_\varphi</tex> — полином, получившийся в результате арифметизации <tex>\varphi</tex> | * <tex>\exists x \varphi(x) \to \sum\limits_{X=0}^{1} A_\varphi(X)</tex>, где <tex>A_\varphi</tex> — полином, получившийся в результате арифметизации <tex>\varphi</tex> |
Версия 16:46, 3 июня 2012
Теорема (Шамир): |
Доказательство: |
Рассмотрим язык , а также Verifier и Prover, соответствующие этому языку. Так как Verifier ограничен полиномиальным временем работы, то можно считать, что размер вероятностной ленты, размер ответов Prover 'а и количество дополнительной памяти, используемой Verifier 'ом тоже ограничены некоторым полиномом. Построим программу, которая будет перебирать все возможные вероятностные ленты и для каждой из них будет симулировать работу Verifier 'а, перебирая все возможные ответы Prover 'а, а затем вернет наиболее часто встречающийся результат, возвращаемый Verifier 'ом. Данная программа использует полиномиальное количество дополнительной памяти. Значит . Поэтому |
Содержание
Формулировка
Доказательство
IP ⊂ PS
Рассмотрим язык
. Чтобы детерминированная машина Тьюринга могла установить принадлежность слова языку , ей нужно перебрать все ответы и вероятностные ленты , просимулировав с этими данными и посчитав вероятность допуска. Ясно, что эти действия потребуют не более памяти, а значит .PS ⊂ IP
Докажем, что язык
. Этого достаточно, так как .Введем следующую арифметизацию булевых формул с кванторами:
- x
- , где — полином, получившийся в результате арифметизации
Результат этого выражения будет ненулевым в том и только в том случае, если исходная формула была истинна.
Рассмотрим пример:
Для записи этого числа нужно
бит. Если , это число невозможно передать за полиномиальное относительно длины исходной формулы время. Чтобы избежать таких больших чисел, приходится проводить все операции по какому-нибудь простому модулю .Начало интерактивного протокола:
- P выбирает простое и и посылает их V ( посылается вместе с его сертификатом простоты).
- V проверяет на простоту, а на неравенство нулю.
Хотелось бы воспользоваться протоколом из доказательства принадлежности #SAT к классу IP, проверяя в случае, когда связан квантором , и для квантора . К сожалению, сразу этот протокол применить нельзя, потому что произведение может увеличить степень полинома в два раза, а это может потребовать передачи по протоколу полиномов экспоненциальной длины, что не уложится по времени.
Поэтому потребуем, чтобы между появлением переменной и первым ее использованием было не более одного квантора #SAT для получившейся формулы, передаваться будут полиномы константной степени.
. Для этого заменим все суффиксы вида на . Это преобразование не изменит выполнимости формулы, количество ее переменных увеличится лишь в полином от их первоначального количества раз, а сама формула тоже увеличится не более, чем полиномиально. Теперь можно использовать протокол из