Теорема Шамира
Версия от 21:04, 4 июня 2012; AndrewD (обсуждение | вклад)
Теорема (Шамир): |
Доказательство: |
Рассмотрим язык . Пусть — Verifier, соответствующий , — время его работы, — количество его запросов к Prover 'у. Напишем программу, распознающую язык на полиномиальной памяти.for //(1) for //(2) if ++ if return 1 return 0 В цикле перебираются все Prover 'ы, которые отвечают на запросов, каждый ответ имеет размер . В цикле перебираются все вероятностные ленты размера . Так как — корректен, то если нашелся Prover, при котором допускает слово с вероятностью, большей , то данное слово принадлежит , иначе — не принадлежит. Очевидно, что данная программа требует полином дополнительной памяти. Значит , следовательно .Докажем, что Пусть дана формула . Так как , то из этого будет следовать, что . . В процессе арифметизации она перейдет в . Воспользуемся протоколом, описанным в доказательстве принадлежности #SAT к классу IP. Для этого необходимо, чтобы степень полиномов была полиномиальной относительно длины входа. Преобразуем выражение с помощью оператора линеаризации к виду . Размер новой формулы не превосходит квадрата исходной, степень полиномов не превосходит двух. Тогда, используя условия, описанные в леммах 2 и 3, для проверки ответов, присылаемых Prover 'ом, можно построить искомый протокол. Значит , следовательно . |