Теорема о соотношении coNP и IP — различия между версиями
Строка 18: | Строка 18: | ||
Для доказательства леммы построим программы <tex>V</tex> (<tex> \mathit{Verifier}</tex>) и <tex>P</tex> (<tex>\mathit{Prover}</tex>) из [[Интерактивные протоколы. Класс IP. Класс AM#Класс IP|определения]] класса <tex>\mathrm{IP}</tex>. | Для доказательства леммы построим программы <tex>V</tex> (<tex> \mathit{Verifier}</tex>) и <tex>P</tex> (<tex>\mathit{Prover}</tex>) из [[Интерактивные протоколы. Класс IP. Класс AM#Класс IP|определения]] класса <tex>\mathrm{IP}</tex>. | ||
− | Сперва арифметизуем формулу <tex>\varphi</tex>. Пусть полученный полином <tex>A(x_1, x_2, \ldots, x_m)</tex> имеет степень <tex>d</tex>. | + | Сперва [[Арифметизация булевых формул с кванторами|арифметизуем]] формулу <tex>\varphi</tex>. Пусть полученный полином <tex>A(x_1, x_2, \ldots, x_m)</tex> имеет степень <tex>d</tex>. |
По лемме (1) вместо условия <tex>\langle \varphi, k \rangle \in \mathrm{\#SAT}</tex>, можно проверять условие <tex>\sum\limits_{x_1 = 0}^1 \ldots \sum\limits_{x_m = 0}^1 A(x_1, \ldots, x_m)=k</tex>. | По лемме (1) вместо условия <tex>\langle \varphi, k \rangle \in \mathrm{\#SAT}</tex>, можно проверять условие <tex>\sum\limits_{x_1 = 0}^1 \ldots \sum\limits_{x_m = 0}^1 A(x_1, \ldots, x_m)=k</tex>. | ||
− | Приступим к описанию интерактивного протокола. | + | Приступим к описанию [[Интерактивные протоколы. Класс IP. Класс AM|интерактивного протокола]]. |
'''Шаг 0''' | '''Шаг 0''' | ||
Строка 57: | Строка 57: | ||
Докажем теперь, что построенный таким образом интерактивны протокол — корректный. Для этого нужно доказать следующие утверждения: | Докажем теперь, что построенный таким образом интерактивны протокол — корректный. Для этого нужно доказать следующие утверждения: | ||
− | # Построенный <tex>V</tex> - вероятностная машина Тьюринга, совершающая не более полинома от длины входа действий. | + | # Построенный <tex>V</tex> - [[Вероятностные_вычисления._Вероятностная_машина_Тьюринга|вероятностная машина Тьюринга]], совершающая не более полинома от длины входа действий. |
# <tex>\langle \varphi, k \rangle \in \mathrm{\#SAT} \Rightarrow \exists P : \mathbb{P}(V_{P}(\langle \varphi, k \rangle)=1) \geqslant 2/{3}</tex> (Completeness). | # <tex>\langle \varphi, k \rangle \in \mathrm{\#SAT} \Rightarrow \exists P : \mathbb{P}(V_{P}(\langle \varphi, k \rangle)=1) \geqslant 2/{3}</tex> (Completeness). | ||
# <tex>\langle \varphi, k \rangle \notin \mathrm{\#SAT} \Rightarrow \forall P :\mathbb{P}(V_{P}(\langle \varphi, k \rangle)=1) \leqslant 1/{3}</tex> (Soundness). | # <tex>\langle \varphi, k \rangle \notin \mathrm{\#SAT} \Rightarrow \forall P :\mathbb{P}(V_{P}(\langle \varphi, k \rangle)=1) \leqslant 1/{3}</tex> (Soundness). | ||
Строка 87: | Строка 87: | ||
|statement=<tex>\mathrm{coNP} \subset \mathrm{IP}</tex>. | |statement=<tex>\mathrm{coNP} \subset \mathrm{IP}</tex>. | ||
|proof= | |proof= | ||
− | Сведём язык <tex>\mathrm{TAUT}</tex> к языку <tex>\mathrm{\#SAT}</tex> следующим образом: <tex>\varphi \mapsto \langle \varphi, 2^k \rangle </tex>, где <tex>k</tex> — количество различных переменных в формуле <tex>\varphi</tex>. | + | Сведём [[Теорема_Бермана_—_Форчуна | язык <tex>\mathrm{TAUT}</tex>]] к языку <tex>\mathrm{\#SAT}</tex> следующим образом: <tex>\varphi \mapsto \langle \varphi, 2^k \rangle </tex>, где <tex>k</tex> — количество различных переменных в формуле <tex>\varphi</tex>. |
Очевидно, что <tex>\varphi \in \mathrm{TAUT} \Leftrightarrow \langle \varphi, 2^k \rangle \in \mathrm{\#SAT}</tex>. | Очевидно, что <tex>\varphi \in \mathrm{TAUT} \Leftrightarrow \langle \varphi, 2^k \rangle \in \mathrm{\#SAT}</tex>. | ||
Строка 93: | Строка 93: | ||
По лемме (2) <tex>\mathrm{\#SAT} \in \mathrm{IP}</tex>. Тогда <tex>\mathrm{TAUT} \in \mathrm{IP}</tex>. Так как <tex>\mathrm{TAUT} \in \mathrm{coNPC}</tex>, то <tex>\mathrm{coNP} \subset \mathrm{IP}</tex>. | По лемме (2) <tex>\mathrm{\#SAT} \in \mathrm{IP}</tex>. Тогда <tex>\mathrm{TAUT} \in \mathrm{IP}</tex>. Так как <tex>\mathrm{TAUT} \in \mathrm{coNPC}</tex>, то <tex>\mathrm{coNP} \subset \mathrm{IP}</tex>. | ||
}} | }} | ||
+ | == См. также == | ||
+ | * [[Интерактивные протоколы. Класс IP. Класс AM]] | ||
+ | * [[Арифметизация булевых формул с кванторами]] | ||
+ | * [[Вероятностные вычисления. Вероятностная машина Тьюринга]] | ||
+ | * [[Теорема Бермана — Форчуна]] | ||
[[Категория: Теория сложности]] | [[Категория: Теория сложности]] | ||
+ | [[Категория: Вероятностные сложностные классы]] | ||
+ | [[Категория: Интерактивные протоколы]] |
Версия 21:15, 2 мая 2016
Определение: |
имеет ровно удовлетворяющих наборов . |
Лемма (1): |
. |
Доказательство: |
Следует из леммы (1). |
Лемма (2): |
. |
Доказательство: |
Для доказательства леммы построим программы определения класса . ( ) и ( ) изСперва арифметизуем формулу . Пусть полученный полином имеет степень . По лемме (1) вместо условия , можно проверять условие .Приступим к описанию интерактивного протокола. Шаг 0 Если постулата Бертрана). Проверим на простоту и на принадлежность заданному промежутку. Как мы знаем, , следовательно на эти операции у уйдёт полиномиальное от размера входа время. или , то может проверить указанное выше условие сам и вернуть соответствующий результат. Иначе запросим у такое простое число , что (такое существует в силуДалее будем проводить все вычисления модулю , то есть над конечным полем , что не позволяет числам становиться слишком большими и упрощает анализ.Попросим прислать формулу . Заметим, что размер формулы будет полином от длины входа , так как — полином степени не выше, чем , от одной переменной, а значит его можно представить в виде .Проверим следующее утверждение: (*) (здесь и далее под словом «проверим» будем подразумевать следующее: если утверждение верно, продолжает свою работу, иначе он прекращает свою работу и возвращет false).Шаг i Пусть . Отправим программе .Попросим прислать формулу .Проверим следующее утверждение: (*).Шаг m Пусть . Отправим программе .Попросим программу прислать значение .Проверим следующее утверждение: (*). А также сами подставим в и проверим правильность присланного значения .Возвращаем true. Докажем теперь, что построенный таким образом интерактивны протокол — корректный. Для этого нужно доказать следующие утверждения:
Докажем эти утверждения.
|
Теорема: |
. |
Доказательство: |
Сведём язык к языку следующим образом: , где — количество различных переменных в формуле . Очевидно, что По лемме (2) . . Тогда . Так как , то . |