Теорема о соотношении coNP и IP — различия между версиями
м |
м |
||
| Строка 71: | Строка 71: | ||
:'''Шаг i''' | :'''Шаг i''' | ||
:Заметим, что если на каком-то шаге <tex>A_{i-1}(r_i) = \tilde{A}_{i-1}(r_i)</tex>, то начиная со следующего шага <tex>P</tex> может посылать правильные <tex>A_j</tex> и в итоге <tex>V</tex> вернёт '''true'''. | :Заметим, что если на каком-то шаге <tex>A_{i-1}(r_i) = \tilde{A}_{i-1}(r_i)</tex>, то начиная со следующего шага <tex>P</tex> может посылать правильные <tex>A_j</tex> и в итоге <tex>V</tex> вернёт '''true'''. | ||
| − | :Для некоторого случайно выбранного <tex>r_i</tex> вероятность того, что <tex>A_{i-1}(r_i) = \tilde{A}_{i-1}(r_i)</tex>, не превосходит <tex>\dfrac{d}{p}</tex>, так как <tex>r_i</tex> — корень полинома <tex>(A_{i-1} - \tilde{A}_{i-1})(r_i)</tex>, имеющего степень не больше <tex>d</tex>, а, по основной теореме алгебры, полином имеет ровно <tex> d </tex> корней, и <tex> r_i \in \lbrace 0, \ldots, p -1 \rbrace</tex>. | + | :Для некоторого случайно выбранного <tex>r_i</tex> вероятность того, что <tex>A_{i-1}(r_i) = \tilde{A}_{i-1}(r_i)</tex>, не превосходит <tex>\dfrac{d}{p}</tex>, так как <tex>r_i</tex> — корень полинома <tex>(A_{i-1} - \tilde{A}_{i-1})(r_i)</tex>, имеющего степень не больше <tex>d</tex>, а, по [https://ru.wikipedia.org/wiki/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%B0%D1%8F_%D1%82%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D1%8B основной теореме алгебры], полином имеет ровно <tex> d </tex> корней, и <tex> r_i \in \lbrace 0, \ldots, p -1 \rbrace</tex>. |
:<tex>\ldots</tex> | :<tex>\ldots</tex> | ||
:'''Шаг m''' | :'''Шаг m''' | ||
Версия 21:39, 2 мая 2016
| Определение: |
| — булева формула, которая имеет ровно удовлетворяющих наборов . |
| Лемма (1): |
Пусть булева формула, а — её арифметизация. Тогда . |
| Доказательство: |
| Следует из леммы (1). |
| Лемма (2): |
. |
| Доказательство: |
|
Для доказательства леммы построим программы () и () из определения класса . Сперва арифметизуем формулу . Пусть полученный полином имеет степень . По лемме (1) вместо условия , можно проверять условие . Приступим к описанию интерактивного протокола. Шаг 0 Если или , то может проверить указанное выше условие сам и вернуть соответствующий результат. Иначе запросим у такое простое число , что (такое существует в силу постулата Бертрана). Проверим на простоту и на принадлежность заданному промежутку. Как мы знаем, , следовательно на эти операции у уйдёт полиномиальное от размера входа время. Далее будем проводить все вычисления модулю , то есть над конечным полем , что не позволяет числам становиться слишком большими и упрощает анализ. Попросим прислать формулу . Заметим, что размер формулы будет полином от длины входа , так как — полином степени не выше, чем , от одной переменной, а значит его можно представить в виде . Проверим следующее утверждение: (*) (здесь и далее под словом «проверим» будем подразумевать следующее: если утверждение верно, продолжает свою работу, иначе он прекращает свою работу и возвращет false). Шаг i Пусть . Отправим программе . Попросим прислать формулу . Проверим следующее утверждение: (*). Шаг m Пусть . Отправим программе . Попросим программу прислать значение . Проверим следующее утверждение: (*). А также сами подставим в и проверим правильность присланного значения . Возвращаем true. Докажем теперь, что построенный таким образом интерактивны протокол — корректный. Для этого нужно доказать следующие утверждения:
Докажем эти утверждения.
|
| Теорема: |
. |
| Доказательство: |
|
Сведём язык к языку следующим образом: , где — количество различных переменных в формуле . Очевидно, что . По лемме (2) . Тогда . Так как , то . |