Лемма о соотношении coNP и IP — различия между версиями
м |
м |
||
| Строка 4: | Строка 4: | ||
}} | }} | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
{{Лемма | {{Лемма | ||
|about=1 | |about=1 | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
|statement=<tex>\sum\limits_{x_1 = 0}^1 \ldots \sum\limits_{x_m = 0}^1 A_\phi(x_1, \ldots, x_m)=k \iff \langle\phi,k\rangle \in \#SAT</tex>. | |statement=<tex>\sum\limits_{x_1 = 0}^1 \ldots \sum\limits_{x_m = 0}^1 A_\phi(x_1, \ldots, x_m)=k \iff \langle\phi,k\rangle \in \#SAT</tex>. | ||
| − | |proof=Следует из леммы (1). | + | |proof=Следует из [[Арифметизация булевых формул с кванторами | леммы (1)]]. |
}} | }} | ||
{{Лемма | {{Лемма | ||
| − | |about= | + | |about=2 |
|statement=<tex>\#SAT \in \mathrm{IP}</tex>. | |statement=<tex>\#SAT \in \mathrm{IP}</tex>. | ||
|proof= | |proof= | ||
| − | Для доказательства леммы построим программы ''Verifier'' и ''Prover'' из определения класса <tex>\mathrm{IP}</tex>. | + | Для доказательства леммы построим программы ''Verifier'' и ''Prover'' из [[Интерактивные протоколы. Класс IP. Класс AM#Класс IP|определения]] класса <tex>\mathrm{IP}</tex>. |
Сперва арифметизуем формулу <tex>\phi</tex>. Пусть полученный полином <tex>A(x_1, x_2, ..., x_m)</tex> имеет степень <tex>d</tex>. | Сперва арифметизуем формулу <tex>\phi</tex>. Пусть полученный полином <tex>A(x_1, x_2, ..., x_m)</tex> имеет степень <tex>d</tex>. | ||
| − | По лемме ( | + | По лемме (1) вместо условия <tex>\langle \phi, k \rangle \in \#SAT</tex>, можно проверять условие <tex>\sum\limits_{x_1 = 0}^1 \ldots \sum\limits_{x_m = 0}^1 A_\phi(x_1, \ldots, x_m)=k</tex>. |
Приступим к описанию ''Verifier'''а. | Приступим к описанию ''Verifier'''а. | ||
| Строка 79: | Строка 67: | ||
{{Лемма | {{Лемма | ||
| − | |about= | + | |about=3 |
|statement=<tex>\mathrm{coNP} \subset \mathrm{IP}</tex>. | |statement=<tex>\mathrm{coNP} \subset \mathrm{IP}</tex>. | ||
|proof= | |proof= | ||
| Строка 86: | Строка 74: | ||
Очевидно, что <tex>\phi \in TAUT \iff \langle \phi, 2^k \rangle \in \#SAT</tex>. | Очевидно, что <tex>\phi \in TAUT \iff \langle \phi, 2^k \rangle \in \#SAT</tex>. | ||
| − | По лемме ( | + | По лемме (2) <tex>\#SAT \in \mathrm{IP}</tex>. Тогда <tex>TAUT \in \mathrm{IP}</tex>. Так как <tex>TAUT \in \mathrm{coNPC}</tex>, то <tex>\mathrm{coNP} \subset \mathrm{IP}</tex>. |
}} | }} | ||
[[Категория: Теория сложности]] | [[Категория: Теория сложности]] | ||
Версия 17:03, 1 июня 2012
| Определение: |
| имеет ровно удовлетворяющих наборов . |
| Лемма (1): |
. |
| Доказательство: |
| Следует из леммы (1). |
| Лемма (2): |
. |
| Доказательство: |
|
Для доказательства леммы построим программы Verifier и Prover из определения класса . Сперва арифметизуем формулу . Пусть полученный полином имеет степень . По лемме (1) вместо условия , можно проверять условие . Приступим к описанию Verifier'а. Шаг 0 Запросим у Prover'а такое простое число , что . Проверим простоту и условие (константу определим позднее). Как мы знаем, , следовательно на эти операции у Verifier'а уйдёт полиномиальное от размера входа время. Далее будем проводить все вычисления модулю . Попросим Prover 'а прислать Verifier 'у формулу . Заметим, что размер формулы будет полином от длины входа Verifier 'а, так как полином от одной переменной степени не выше, чем , а значит его можно представить в виде . Проверим следующее утверждение: (здесь и далее под словом «проверим» будем подразумевать следующее: если утверждение верно, Verifier продолжает свою работу, иначе он прекращает свою работу и возвращет false). Шаг i Пусть . Отправим программе Prover. Пусть . Попросим Prover 'а прислать Verifier 'у формулу . Проверим следующее утверждение: . Шаг m Пусть . Отправим программе Prover. Попросим программу Prover прислать Verifier 'у значение . Проверим следующее утверждение: . А также сами подставим в и проверим правильность присланного значения . Возвращаем true. Докажем теперь, что построенный таким образом Verifier — корректный. Таким образом, нужно доказать:
|
| Лемма (3): |
. |
| Доказательство: |
|
Сведём язык к языку следующим образом: , где — количество различных переменных в формуле . Очевидно, что . По лемме (2) . Тогда . Так как , то . |