Теорема о соотношении coNP и IP — различия между версиями
м |
м |
||
Строка 30: | Строка 30: | ||
Проверим <tex>p</tex> на простоту и на принадлежность заданному промежутку. Как мы [[Класс P#Примеры задач и языков из P|знаем]], <tex>\mathrm{Primes} \in \mathrm{P}</tex>, следовательно на эти операции у <tex>V</tex> уйдёт полиномиальное от размера входа время. | Проверим <tex>p</tex> на простоту и на принадлежность заданному промежутку. Как мы [[Класс P#Примеры задач и языков из P|знаем]], <tex>\mathrm{Primes} \in \mathrm{P}</tex>, следовательно на эти операции у <tex>V</tex> уйдёт полиномиальное от размера входа время. | ||
− | Далее будем проводить все вычисления модулю <tex>p</tex>, то есть над конечным полем <tex> \mathbb{F}_{p} </tex>, что не позволяет числам становиться слишком большими и упрощает анализ. | + | Далее будем проводить все вычисления по модулю <tex>p</tex>, то есть над конечным полем <tex> \mathbb{F}_{p} </tex>, что не позволяет числам становиться слишком большими и упрощает анализ. |
Попросим <tex>P</tex> прислать <tex>V</tex> формулу <tex>A_0(x_1)= \sum\limits_{x_2 = 0}^{1}\ldots\sum\limits_{x_m = 0}^{1} A_\varphi(x_1, x_2, \ldots, x_m)</tex>. | Попросим <tex>P</tex> прислать <tex>V</tex> формулу <tex>A_0(x_1)= \sum\limits_{x_2 = 0}^{1}\ldots\sum\limits_{x_m = 0}^{1} A_\varphi(x_1, x_2, \ldots, x_m)</tex>. |
Версия 21:40, 2 мая 2016
Определение: |
булева формула, которая имеет ровно удовлетворяющих наборов . | —
Лемма (1): |
Пусть арифметизация. Тогда . булева формула, а — её |
Доказательство: |
Следует из леммы (1). |
Лемма (2): |
. |
Доказательство: |
Для доказательства леммы построим программы определения класса . ( ) и ( ) изСперва арифметизуем формулу . Пусть полученный полином имеет степень .По лемме (1) вместо условия , можно проверять условие .Приступим к описанию интерактивного протокола. Шаг 0 Если постулата Бертрана). Проверим на простоту и на принадлежность заданному промежутку. Как мы знаем, , следовательно на эти операции у уйдёт полиномиальное от размера входа время. или , то может проверить указанное выше условие сам и вернуть соответствующий результат. Иначе запросим у такое простое число , что (такое существует в силуДалее будем проводить все вычисления по модулю , то есть над конечным полем , что не позволяет числам становиться слишком большими и упрощает анализ.Попросим прислать формулу . Заметим, что размер формулы будет полином от длины входа , так как — полином степени не выше, чем , от одной переменной, а значит его можно представить в виде .Проверим следующее утверждение: (*) (здесь и далее под словом «проверим» будем подразумевать следующее: если утверждение верно, продолжает свою работу, иначе он прекращает свою работу и возвращет false).Шаг i Пусть . Отправим программе .Попросим прислать формулу .Проверим следующее утверждение: (*).Шаг m Пусть . Отправим программе .Попросим программу прислать значение .Проверим следующее утверждение: (*). А также сами подставим в и проверим правильность присланного значения .Возвращаем true. Докажем теперь, что построенный таким образом интерактивны протокол — корректный. Для этого нужно доказать следующие утверждения:
Докажем эти утверждения.
|
Теорема: |
. |
Доказательство: |
Сведём язык к языку следующим образом: , где — количество различных переменных в формуле . Очевидно, что По лемме (2) . . Тогда . Так как , то . |