Лемма о соотношении coNP и IP — различия между версиями
Kirelagin (обсуждение | вклад) |
|||
Строка 60: | Строка 60: | ||
Докажем теперь, что построенный таким образом ''Verifier'' — корректный. Для этого нужно доказать следующие утверждения: | Докажем теперь, что построенный таким образом ''Verifier'' — корректный. Для этого нужно доказать следующие утверждения: | ||
# Построенный ''Verifier'' - вероятностная машина Тьюринга, совершающая не более полинома от длины входа действий. | # Построенный ''Verifier'' - вероятностная машина Тьюринга, совершающая не более полинома от длины входа действий. | ||
− | # <tex>\langle \varphi, k \rangle \in \#SAT \Rightarrow \exists \mathit{Prover} : P(\mathit{Verifier^{Prover}}(\langle \varphi, k \rangle)) \ge 2/3</tex>. | + | # <tex>\langle \varphi, k \rangle \in \#SAT \Rightarrow \exists \mathit{Prover} : P(\mathit{Verifier^{Prover}}(\langle \varphi, k \rangle)=1) \ge 2/3</tex>. |
− | # <tex>\langle \varphi, k \rangle \notin \#SAT \Rightarrow \forall \mathit{Prover} : P(\mathit{Verifier^{Prover}}(\langle \varphi, k \rangle)) \le 1/3</tex>. | + | # <tex>\langle \varphi, k \rangle \notin \#SAT \Rightarrow \forall \mathit{Prover} : P(\mathit{Verifier^{Prover}}(\langle \varphi, k \rangle)=1) \le 1/3</tex>. |
Докажем эти утверждения. | Докажем эти утверждения. | ||
Строка 76: | Строка 76: | ||
:<tex>\ldots</tex> | :<tex>\ldots</tex> | ||
:'''Шаг m''' | :'''Шаг m''' | ||
− | : <tex> | + | :Допустим до шага <tex>m</tex> мы ни разу не угадали корень <tex>r_i</tex>, то есть ''Prover'' каждый обманывал ''Verifier''. Так как на последнем шаге сверяем истинное значение с присланным ''Prover'' 'ом, то ''Verifier'' не допустит слово. Значит ''Verifier'' могу допустить слово только если на каком-то шаге был угадан корень. |
: | : | ||
− | + | :<tex>P(\mathit{Verifier^{Prover}}(\langle \varphi, k \rangle)=1) \le \frac d p \sum \limits_{i=0}^{m-1} (1 - \frac d p)^i = 1 - (1 - \frac d p)^m \le 1 - (1 - \frac d {3dm})^m = 1 - (1 - \frac 1 {3m})^m \le \frac 1 3</tex>. | |
− | |||
− | :<tex>P( | ||
Таким образом, построенный нами ''Verifier'' корректен, а значит лемма доказана. | Таким образом, построенный нами ''Verifier'' корректен, а значит лемма доказана. |
Версия 16:07, 4 июня 2012
Определение: |
имеет ровно удовлетворяющих наборов . |
Лемма (1): |
. |
Доказательство: |
Следует из леммы (1). |
Лемма (2): |
. |
Доказательство: |
Для доказательства леммы построим программы Verifier и Prover из определения класса . Сперва арифметизуем формулу . Пусть полученный полином имеет степень .По лемме (1) вместо условия , можно проверять условие .Приступим к описанию Verifier'а. Шаг 0 Если постулата Бертрана). Проверим на простоту и на принадлежность заданному промежутку. Как мы знаем, , следовательно на эти операции у Verifier'а уйдёт полиномиальное от размера входа время. или , то Verifier может проверить указанное выше условие сам и вернуть соответствующий результат. Иначе запросим у Prover'а такое простое число , что (такое существует в силуДалее будем проводить все вычисления модулю .Попросим Prover 'а прислать Verifier 'у формулу . Заметим, что размер формулы будет полином от длины входа Verifier 'а, так как — полином степени не выше, чем , от одной переменной, а значит его можно представить в виде .Проверим следующее утверждение: (*) (здесь и далее под словом «проверим» будем подразумевать следующее: если утверждение верно, Verifier продолжает свою работу, иначе он прекращает свою работу и возвращет false).Шаг i Пусть . Отправим программе Prover.Попросим Prover 'а прислать Verifier 'у формулу .Проверим следующее утверждение: (*).Шаг m Пусть . Отправим программе Prover.Попросим программу Prover прислать Verifier 'у значение .Проверим следующее утверждение: (*). А также сами подставим в и проверим правильность присланного значения .Возвращаем true. Докажем теперь, что построенный таким образом Verifier — корректный. Для этого нужно доказать следующие утверждения:
Докажем эти утверждения.
|
Лемма (3): |
. |
Доказательство: |
Сведём язык к языку следующим образом: , где — количество различных переменных в формуле .Очевидно, что По лемме (2) . . Тогда . Так как , то . |