Теорема Шамира — различия между версиями
(→PS ⊂ IP) |
(→PS ⊂ IP) |
||
Строка 11: | Строка 11: | ||
* <tex>x \land y \to XY</tex> | * <tex>x \land y \to XY</tex> | ||
* <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>\exists x \varphi(x) \to \sum\limits_{X=0}^{1} A_\varphi(X)</tex>, где <tex>A_\varphi</tex> — полином, получившийся в результате арифметизации <tex>\varphi</tex> |
* <tex>\forall x \varphi(x) \to \prod\limits_{X=0}^{1} A_\varphi(X)</tex> | * <tex>\forall x \varphi(x) \to \prod\limits_{X=0}^{1} A_\varphi(X)</tex> | ||
Результат этого выражения будет ненулевым в том и только в том случае, если исходная формула была истинна. | Результат этого выражения будет ненулевым в том и только в том случае, если исходная формула была истинна. |
Версия 19:13, 19 мая 2010
Содержание
Формулировка
Доказательство
IP ⊂ PS
Рассмотрим язык
. Чтобы детерминированная машина Тьюринга могла установить принадлежность слова языку , ей нужно перебрать все ответы и вероятностные ленты , просимулировав с этими данными и посчитав вероятность допуска. Ясно, что эти действия потребуют не более памяти, а значит .PS ⊂ IP
Докажем, что язык
. Этого достаточно, так как .Введем следующую арифметизацию булевых формул с кванторами:
- , где — полином, получившийся в результате арифметизации
Результат этого выражения будет ненулевым в том и только в том случае, если исходная формула была истинна.
Рассмотрим пример:
Для записи этого числа нужно
бит. Если , это число невозможно передать за полиномиальное относительно длины исходной формулы время. Чтобы избежать таких больших чисел, приходится проводить все операции по какому-нибудь простому модулю .Начало интерактивного протокола:
- P выбирает простое и и посылает их V ( посылается вместе с его сертификатом простоты).
- V проверяет на простоту, а на неравенство нулю.
Хотелось бы воспользоваться протоколом из доказательства принадлежности #SAT к классу IP, лишь проверяя в случае, когда по произведение. К сожалению, сразу этот протокол применить нельзя, потому что произведение может увеличить степень полинома в два раза. Поэтому потребуем, чтобы между появлением переменной и первым ее использованием было не более одного квантора . Для этого заменим все суффиксы вида на . От такого преобразования количество переменных увеличится лишь в полином от их первоначального количества раз, сама формула тоже увеличится не более, чем полиномиально. Теперь можно использовать протокол из #SAT, передаваться будут полиномы не выше второй степени.