Участник:SkudarnovYaroslav/Теормин к зачёту по теории сложности — различия между версиями
(→BPP входит в PS) |
(→Теорема о двух эквивалентных определениях NP (NP = Sigma1)) |
||
(не показано 11 промежуточных версий 4 участников) | |||
Строка 36: | Строка 36: | ||
}} | }} | ||
− | == | + | == NP-полная задача == |
{{Определение | {{Определение | ||
|definition = | |definition = | ||
Строка 52: | Строка 52: | ||
<tex>\mathrm{NPC}</tex> является одним из важнейших классов в теории сложности, так как если найдется язык из этого класса, который также входит в класс <tex>\mathrm{P}</tex>, | <tex>\mathrm{NPC}</tex> является одним из важнейших классов в теории сложности, так как если найдется язык из этого класса, который также входит в класс <tex>\mathrm{P}</tex>, | ||
тогда окажется, что <tex>\mathrm{P} = \mathrm{NP}</tex>. | тогда окажется, что <tex>\mathrm{P} = \mathrm{NP}</tex>. | ||
+ | |||
+ | <tex> \mathrm{BH_{1N}} </tex> {{---}} язык троек <tex> \langle m, x, 1^t \rangle </tex>, таких что недетерминированная машина Тьюринга <tex> m </tex> на входной строке <tex> x </tex> возращает <tex>1</tex> за время <tex> T(m, x) \le t </tex>. | ||
+ | |||
+ | <tex> \mathrm{BH_{1N}} = \lbrace \langle m, x, 1^t \rangle \bigm| m </tex> {{---}} недетерминированная машина Тьюринга, <tex> m(x) = 1, T(m,x) \le t \rbrace </tex> | ||
+ | |||
+ | {{Теорема | ||
+ | |statement=<tex> \mathrm{BH_{1N}} \in \mathrm{NPC} </tex> | ||
+ | }} | ||
== Класс coNP == | == Класс coNP == | ||
Строка 64: | Строка 72: | ||
Оракул — абстракция, вычисляющая за <tex>O(1)</tex> времени, верно ли, что <tex>x</tex> принадлежит множеству <tex>A</tex>. | Оракул — абстракция, вычисляющая за <tex>O(1)</tex> времени, верно ли, что <tex>x</tex> принадлежит множеству <tex>A</tex>. | ||
}} | }} | ||
− | Сложностный класс задач, решаемых алгоритмом из класса <tex>\mathrm{C}</tex> с оракулом для языка <tex>\mathrm{A}</tex>, обозначают <tex>\mathrm{C^A}</tex>. | + | Сложностный класс задач, решаемых алгоритмом из класса <tex>\mathrm{C}</tex> с оракулом для языка <tex>\mathrm{A}</tex>, обозначают <tex>\mathrm{C^A}</tex>. |
+ | Если <tex>\mathrm{A}</tex> — множество языков, то <tex>\mathrm{C^A} =\bigcup\limits_{D \in A}\mathrm{C^D}</tex>. | ||
== Класс PS == | == Класс PS == | ||
Строка 71: | Строка 80: | ||
<tex>\mathrm{PS}=\bigcup\limits_{p(n) \in poly} \mathrm{DSPACE}(p(n))</tex>. | <tex>\mathrm{PS}=\bigcup\limits_{p(n) \in poly} \mathrm{DSPACE}(p(n))</tex>. | ||
}} | }} | ||
− | |||
== PS-полная задача == | == PS-полная задача == | ||
− | + | {{Определение | |
+ | |definition=<tex>\mathrm{TQBF}</tex> расшифровывается как '''True Quantified Boolean Formula'''. Это язык верных булевых формул с кванторами.<br/> | ||
+ | <tex>\mathrm{TQBF}=\{Q_1 x_1 Q_2 x_2 \ldots Q_n x_n \phi(x_1, x_2, \dots, x_n), Q_i \in \{\forall, \exists\}\}</tex>. | ||
+ | }} | ||
+ | {{Утверждение | ||
+ | |statement=<tex>\mathrm{TQBF} \in \mathrm{PSC}</tex> | ||
+ | }} | ||
== Класс L == | == Класс L == | ||
Строка 89: | Строка 103: | ||
== NL-полная задача == | == NL-полная задача == | ||
− | + | {{ Определение | |
+ | |definition=Задача <tex>\mathrm{CONN} = \{\langle G, s, t \rangle \bigm|</tex> в графе G есть путь из s в t<tex>\}</tex> {{---}} задача существования пути между двумя заданными вершинами в данном графе. | ||
+ | }} | ||
+ | |||
+ | {{ Теорема | ||
+ | | statement = Задача существования пути между двумя заданными вершинами в данном графе NL-[[Сведение относительно класса функций. Сведение по Карпу. Трудные и полные задачи|полна относительно <tex>\mathrm{\widetilde{L}}</tex>-сведения]]. | ||
+ | }} | ||
== Класс P/poly == | == Класс P/poly == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
Строка 244: | Строка 253: | ||
Пусть <tex>L \in \mathrm{\Sigma_1}</tex>. Тогда существуют <tex>R(x,y)</tex> и полином <tex>p</tex> из определения <tex>\mathrm{\Sigma_1}</tex>. Построим недетерминированную программу <tex>q(x)</tex>, разрешающую <tex>L</tex>. | Пусть <tex>L \in \mathrm{\Sigma_1}</tex>. Тогда существуют <tex>R(x,y)</tex> и полином <tex>p</tex> из определения <tex>\mathrm{\Sigma_1}</tex>. Построим недетерминированную программу <tex>q(x)</tex>, разрешающую <tex>L</tex>. | ||
q(x): | q(x): | ||
− | y ← <tex>\{0,1\}^{p(|x|)}</tex> | + | y ←? <tex>\{0,1\}^{p(|x|)}</tex> |
return R(x,y) | return R(x,y) | ||
Если <tex>x\in L</tex>, то программа сможет «угадать» подходящий сертификат. Если <tex>x\notin L</tex>, то подходящего сертификата не существует по определению. Таким образом, <tex>q</tex> разрешает <tex>L</tex>, следовательно <tex>L\in \mathrm{NP}</tex>. | Если <tex>x\in L</tex>, то программа сможет «угадать» подходящий сертификат. Если <tex>x\notin L</tex>, то подходящего сертификата не существует по определению. Таким образом, <tex>q</tex> разрешает <tex>L</tex>, следовательно <tex>L\in \mathrm{NP}</tex>. | ||
Строка 352: | Строка 361: | ||
= Формулировки = | = Формулировки = | ||
+ | == Теорема Кука == | ||
+ | <tex> \mathrm{SAT}</tex> {{---}} язык булевых формул из <tex> n </tex> переменных, для которых существует подстановка, при которой формула истинна. | ||
+ | |||
+ | <tex> \mathrm{SAT} = \lbrace \varphi \mid \exists x : \varphi(x) = 1 \rbrace </tex> | ||
+ | |||
+ | {{Теорема | ||
+ | |author=Кук | ||
+ | |statement=<tex> \mathrm{SAT}\in \mathrm{NPC} </tex> | ||
+ | }} | ||
+ | |||
+ | == Теорема Ладнера == | ||
+ | {{Теорема | ||
+ | |author=Ладнер | ||
+ | |statement= | ||
+ | <tex>\mathrm{P} \neq \mathrm{NP} \Rightarrow \mathrm{NP} \setminus (\mathrm{P} \cup \mathrm{NPC}) \neq \varnothing</tex>. | ||
+ | }} | ||
+ | |||
+ | == Теорема Бейкера-Гилла-Соловея (не существует релятивизующегося доказательства P != NP) == | ||
+ | {{ Теорема | ||
+ | |statement = Существуют такие оракулы <tex>A</tex> и <tex>B</tex>, что <tex>\mathrm{P^A} = \mathrm{NP^A} </tex> и <tex>\mathrm{P^B} \ne \mathrm{NP^B} </tex>. | ||
+ | }} | ||
+ | |||
+ | {{ Утверждение | ||
+ | | statement = Если существует решение вопроса равенства <tex>\mathrm{P}</tex> и <tex> \mathrm{NP}</tex>, то оно не должно «релятивизоваться». | ||
+ | }} | ||
+ | |||
+ | == Теорема Мэхени (нет редких NP-полных языков) == | ||
+ | {{Определение | ||
+ | |definition= | ||
+ | <tex>\mathrm{SPARSE} = \{L \bigm{|} \exists</tex> полином <tex>p: \forall n \, |L \cap \Sigma^n| \le p(n)\}</tex>. | ||
+ | }} | ||
+ | |||
+ | {{Теорема | ||
+ | |author=Махэни | ||
+ | |statement= | ||
+ | <tex>\mathrm{NPC} \cap \mathrm{SPARSE} \ne \varnothing \Rightarrow \mathrm{P}=\mathrm{NP}</tex>. | ||
+ | }} | ||
+ | |||
+ | == Теорема Левина (об оптимальной NP-программе) == | ||
+ | {{Теорема | ||
+ | |author=Левин | ||
+ | |statement= | ||
+ | Для любого языка <tex>L \in \Sigma_1</tex> и соответствующего ему (из определения <tex>\Sigma_1</tex>) отношения <tex>R</tex> существует «оптимальная» (работающая «не сильно дольше», чем любая другая) программа <tex>p</tex>, сопоставляющая словам из <tex>L</tex> их сертификаты, то есть: | ||
+ | # <tex>x \in L \Leftrightarrow R(x, p(x)) = 1</tex>; | ||
+ | # для любой другой программы <tex>q</tex>, для которой верно <tex>x \in L \Leftrightarrow R(x, q(x)) = 1</tex>, найдутся такие константа <tex>c</tex> и полином <tex>r</tex>, что для любого <tex>x</tex> выполняется: <tex>T(p, x) \le c \cdot T(q, x) + r(|x|)</tex>. | ||
+ | }} | ||
+ | |||
+ | == Теорема Сэвича (PS = NPS) == | ||
+ | {{Теорема | ||
+ | |statement = | ||
+ | Для любой <tex>f(n) \ge \log n </tex> справедливо: <tex>\mathrm{NSPACE}(f(n)) \subseteq \mathrm{DSPACE}(f(n)^2)</tex>. <br> | ||
+ | |||
+ | То есть, если недетерминированная машина Тьюринга может решить проблему, используя <tex>f(n)</tex> памяти, то существует детерминированная машина Тьюринга, которая решает эту же проблему, используя не больше, чем <tex>f(n)^2</tex> памяти. | ||
+ | }} | ||
+ | |||
+ | == TQBF - PS-полная задача == | ||
+ | {{Определение | ||
+ | |definition=<tex>\mathrm{TQBF}</tex> расшифровывается как '''True Quantified Boolean Formula'''. Это язык верных булевых формул с кванторами.<br/> | ||
+ | <tex>\mathrm{TQBF}=\{Q_1 x_1 Q_2 x_2 \ldots Q_n x_n \phi(x_1, x_2, \dots, x_n), Q_i \in \{\forall, \exists\}\}</tex>. | ||
+ | }} | ||
+ | |||
+ | {{Определение | ||
+ | |definition=<tex>Quantified Boolean Formula</tex> — это пропозициональная формула с кванторами. Кванторы для каждой переменной записываются в начале выражения. | ||
+ | }} | ||
+ | |||
+ | {{Теорема | ||
+ | |statement=<tex>\mathrm{TQBF} \in \mathrm{PSC}</tex>. | ||
+ | }} | ||
+ | |||
+ | == Теорема Иммермана (NL = coNL) == | ||
+ | {{ Теорема | ||
+ | |statement = <tex>\mathrm{coNL} = \mathrm{NL}.</tex> | ||
+ | }} | ||
+ | |||
+ | == Теоремы о полиномиальной иерархии == | ||
+ | {{Теорема | ||
+ | |statement = Если существует <tex>i \colon \Sigma_i = \Sigma_{i+1}</tex>, то <tex>\Sigma_i = \mathrm{PH}</tex>. | ||
+ | }} | ||
+ | |||
+ | {{Теорема | ||
+ | |statement = Если существует <tex>i > 0\colon \Sigma_i = \Pi_i</tex>, то <tex>\Sigma_i = \mathrm{PH}</tex>. | ||
+ | }} | ||
+ | |||
+ | == Теорема Лаутемана (BPP и полиномиальная иерархия) == | ||
+ | {{ Теорема | ||
+ | |about = Лаутеман | ||
+ | |statement = <tex>\mathrm{BPP} \subset \mathrm{\Sigma_2} \cap \mathrm{\Pi_2}</tex> | ||
+ | }} | ||
+ | |||
+ | == Теорема Шамира и др. (IP = PS) == | ||
+ | {{Теорема | ||
+ | |author=Шамир | ||
+ | |statement=<tex>\mathrm{IP} = \mathrm{PS}</tex> | ||
+ | }} | ||
+ | |||
+ | == PCP-теорема == | ||
+ | {{Теорема | ||
+ | |id=pcp_th | ||
+ | |about=<tex>\mathrm{PCP}</tex> теорема | ||
+ | |statement=<tex>\mathrm{PCP}[\log n, O(1)] = \mathrm{NP}</tex> | ||
+ | }} |
Текущая версия на 11:21, 6 июня 2013
Содержание
- 1 Определения
- 1.1 Класс P
- 1.2 Класс NP на языке недетерминированных машин и на языке сертификатов
- 1.3 Сведение по Карпу
- 1.4 NP-полная задача
- 1.5 Класс coNP
- 1.6 Вычисление с оракулом
- 1.7 Класс PS
- 1.8 PS-полная задача
- 1.9 Класс L
- 1.10 Класс NL
- 1.11 NL-полная задача
- 1.12 Класс P/poly
- 1.13 Вероятностные вычисления (неформальненько как-то, ну да ладно)
- 1.14 Класс BPP
- 1.15 Класс RP
- 1.16 Класс ZPP
- 1.17 Интерактивное доказательство (кажется, оно, но не уверен)
- 1.18 Класс IP
- 1.19 Класс AM
- 1.20 Класс PCP
- 2 Доказательства
- 3 Формулировки
- 3.1 Теорема Кука
- 3.2 Теорема Ладнера
- 3.3 Теорема Бейкера-Гилла-Соловея (не существует релятивизующегося доказательства P != NP)
- 3.4 Теорема Мэхени (нет редких NP-полных языков)
- 3.5 Теорема Левина (об оптимальной NP-программе)
- 3.6 Теорема Сэвича (PS = NPS)
- 3.7 TQBF - PS-полная задача
- 3.8 Теорема Иммермана (NL = coNL)
- 3.9 Теоремы о полиномиальной иерархии
- 3.10 Теорема Лаутемана (BPP и полиномиальная иерархия)
- 3.11 Теорема Шамира и др. (IP = PS)
- 3.12 PCP-теорема
Определения
Класс P
Определение: |
Класс | — класс языков (задач), разрешимых на детерминированной машине Тьюринга за полиномиальное время, то есть: .
Итого, язык лежит в классе тогда и только тогда, когда существует такая детерминированная машина Тьюринга , что:
- завершает свою работу за полиномиальное время на любых входных данных;
- если на вход машине подать слово , то она допустит его;
- если на вход машине подать слово , то она не допустит его.
Класс NP на языке недетерминированных машин и на языке сертификатов
Определение: |
. |
То есть
— это множество языков, разрешимых недетерминированной программой за полиномиальное время.
Определение: |
. |
Нестрого говоря, — это множество языков, для которых существует работающая за полиномиальное время детерминированная программа-верификатор , а для каждого слова из языка (и только для слова из языка) можно предъявить сертификат полиномиальной длины, подтверждающий принадлежность слова языку и проверяемый верификатором.
Сведение по Карпу
Определение: |
— класс языков, распознаваемых программами с некоторыми ограничениями. Тогда обозначим класс вычислимых функций, вычисляемых программами с теми же ограничениями. |
Определение: |
Язык . | -сводится по Карпу к языку ( ), если существует такая функция из , что принадлежит тогда и только тогда, когда принадлежит :
NP-полная задача
Определение: |
— -hard . | — сложностный класс, — класс вычислимых функций. Язык называется -трудным относительно -сведения ( -hard), если любой язык из -сводится к :
Определение: |
— сложностный класс, — класс вычислимых функций. Язык называется -полным относительно -сведения ( -complete), если является -трудным относительно -сведения и сам лежит в . |
Замечание. Часто используется сведение из
, поэтому вместо « -сводится по Карпу» говорят просто «сводится». Также индекс у символа сведения обычно опускают.Класс
-полных языков — . является одним из важнейших классов в теории сложности, так как если найдется язык из этого класса, который также входит в класс , тогда окажется, что .— язык троек , таких что недетерминированная машина Тьюринга на входной строке возращает за время .
— недетерминированная машина Тьюринга,
Теорема: |
Класс coNP
В теории сложности класс co-NP — класс языков (задач), дополнение к которым лежит в NP.
co-NP = Полиномиальная иерархия)
(См.Вычисление с оракулом
В теории вычислений и теории сложности "машиной с оракулом" называют абстрактную машину, предназначенную для решения какой-либо проблемы разрешимости. Такая машина может быть представлена как машина Тьюринга, дополненная оракулом с неизвестным внутренним устройством. Постулируется, что оракул способен решить определенные проблемы разрешимости за один такт машины Тьюринга. Машина Тьюринга взаимодействует с оракулом путем записи на свою ленту входных данных для оракула и затем его запуском на исполнение. За один шаг оракул вычисляет функцию, стирает входные данные и пишет выходные данные на ленту. Иногда машина Тьюринга описывается как имеющая две ленты, одна предназначена для входных данных оракула, другая — для выходных.
Определение: |
Оракул — абстракция, вычисляющая за | времени, верно ли, что принадлежит множеству .
Сложностный класс задач, решаемых алгоритмом из класса
с оракулом для языка , обозначают . Если — множество языков, то .Класс PS
Определение: |
. | — класс языков, разрешимых на детерминированной машине Тьюринга с использованием памяти полиномиального размера.
PS-полная задача
Определение: |
. | расшифровывается как True Quantified Boolean Formula. Это язык верных булевых формул с кванторами.
Утверждение: |
Класс L
Определение: |
Класс | — множество языков, разрешимых на детерминированной машине Тьюринга с использованием дополнительной памяти для входа длиной . .
Класс NL
Определение: |
Класс | — множество языков, разрешимых на недетерминированной машине Тьюринга с использованием дополнительной памяти для входа длиной . .
NL-полная задача
Определение: |
Задача | в графе G есть путь из s в t — задача существования пути между двумя заданными вершинами в данном графе.
Теорема: |
Задача существования пути между двумя заданными вершинами в данном графе NL-полна относительно . -сведения |
Класс P/poly
Определение: |
Пусть
| — сложностный класс, — функция. Тогда существуют подсказки и программа , удовлетворяющая ограничениям :
Определение: |
. |
Вероятностные вычисления (неформальненько как-то, ну да ладно)
Вероятностные вычисления — один из подходов в теории вычислительной сложности, в котором программы получают доступ, говоря неформально, к генератору случайных чисел. Мы рассмотрим классы сложности, для которых программы могут работать за полиномиальное время и делать односторонние, двусторонние ошибки или работать за полиномиальное время лишь в среднем случае.
Определение: |
Вероятностная лента — бесконечная в одну сторону последовательность битов, распределение которых подчиняется некоторому вероятностному закону (обычно считают, что биты в различных позициях независимы и вероятность нахождения | или в каждой позиции равна ).
Определение: |
Вероятностная машина Тьюринга (ВМТ) — детерминированная машина Тьюринга, имеющая вероятностную ленту. Переходы в ВМТ могут осуществляться с учетом информации, считанной с вероятностной ленты. |
Используя тезис Черча-Тьюринга, ВМТ можно сопоставить программы, имеющие доступ к случайным битам. Обращение к очередному биту можно трактовать как вызов специальной функции random(). При этом также будем предполагать, что вероятностная лента является неявным аргументом программы или ВМТ, т.е. , где — вероятностная лента.
Класс BPP
Определение: |
ВМТ , что для любого :
| (от bounded probabilistic polynomial) — множество языков , для которых существует такая
— сложностный класс, допускающий двусторонние ошибки. Константу можно заменить на любое число из промежутка , так как требуемой вероятности можно добиться множественным запуском . Замена константы на сделала бы данный класс равным (программа, возвращающая результат функции random(), подошла бы для любого языка).
Класс RP
Определение: |
Сложностный класс ВМТ такая, что для любого :
| состоит из языков таких, что существует
— сложностный класс, допускающий ошибки программ на словах из . Заметим, что константа в пункте 2 определения может быть заменена на любую другую из промежутка , поскольку требуемой вероятности можно добиться множественным запуском программы.
можно рассматривать как вероятностный аналог класса , предполагая, что вероятность угадать сертификат в случае его существования не менее .
Класс ZPP
Определение: |
— сложностный класс, такой что программы, удовлетворяющие его ограничениям, не могут делать ошибок, но работают за полиномиальное время только в среднем случае.
Напомним, что математическое ожидание является усреднением по вероятностным лентам, а не по входу
.Интерактивное доказательство (кажется, оно, но не уверен)
Определение: |
Интерактивным протоколом, разрешающим язык
| , называется абстрактная машина (см. рисунок), моделирующая вычисления как обмен сообщениями между двумя программами ( и ), такими, что
, обменивающийся сообщениями с , будем обозначать .
Интерактивные протоколы делятся на два типа в зависимости от доступа
к вероятностной ленте :- public coins — может видеть вероятностную ленту ;
- private coins — не может видеть вероятностную ленту .
Класс IP
Определение: |
|
Определение: |
Класс AM
Язык
(Arthur–Merlin games) отличается от лишь тем, что может видеть вероятностную ленту .Определение: |
|
Определение: |
Класс PCP
PCP(probabilistically checkable proof) - вид доказательства, проверяемого рандомизированным алгоритмом, использующим ограниченное число случайных бит и читающим ограниченное число бит доказательства. Такой алгоритм должен с достаточно высокими вероятностями принимать корректные доказательства и отвергать ошибочные.
Определение: |
вероятностная машина Тьюринга, имеющая доступ к доказательству — цепочке из , удовлетворяющая следующим свойствам:
| -системой (системой вероятностно проверяемых доказательств) с полнотой и обоснованностью над алфавитом для языка , где , называется верификатор —
Определение: |
Randomness complexity (вероятностной сложностью) | верификатора называется число случайных битов, используемых за всё время работы со входом длины .
Определение: |
Query complexity (запросной сложностью) | верификатора называется число запросов битов из , отсылаемых за всё время работы со входом длины .
Определение: |
Верификатор | называется non-adaptive (неадаптивным), если при отправке запроса не использует ответы на предыдущие. Иными словами, его работа не изменится, если все запросы отправить одновременно.
Определение: |
Сложностный класс Часто обозначают как . | — это объединение всех языков, для которых существует -система над бинарным алфавитом с полнотой и обоснованностью , в которой неадаптивный верификатор работает за полиномиальное время и имеет вероятностную и запросную сложности соответственно и , а доказательства имеют экспоненциальную длину.
Доказательства
Теорема о двух эквивалентных определениях NP (NP = Sigma1)
Теорема: |
. |
Доказательство: |
Пусть . Тогда существуют и полином из определения . Построим недетерминированную программу , разрешающую . q(x):
y ←?
return R(x,y)
Если , то программа сможет «угадать» подходящий сертификат. Если , то подходящего сертификата не существует по определению. Таким образом, разрешает , следовательно .
|
Задача из NPC решается за полином => P = NP
Я этого не могу найти, но, казалось бы, это очевидно. Поэтому — отсебятина:
Любая задача из NP сводима по Карпу к любой задаче из NPC, поэтому, если задача из NPC решается за полином, то после сведения мы сможем решить за полином и любую задачу из NP.
Соотношение между P, NP, PS
Очевидно, что
, так как детерминированные программы можно рассматривать как недетерминированные, в которых не используется недетерминированный выбор. Вопрос о равенстве данных классов до сих пор остается открытым.Теорема: |
. |
Доказательство: |
Рассмотрим любой язык | из . Так как , то существует машина Тьюринга , распознающая за полиномиальное время. Это значит, что не сможет использовать более, чем полиномиальное количество памяти, следовательно .
Теорема: |
. |
Доказательство: |
Рассмотрим любой язык | из . Так как , то существует программа-верификатор , что для каждого слова из (и только для них) существует такой сертификат полиномиальной длины, что допускает слово и сертификат. Тогда, чтобы проверить принадлежность слова языку, мы можем перебрать все сертификаты полиномиальной длины. Для этого необходим полиномиальный размер памяти. Из этого следует, что .
Соотношение между L, NL, P
Теорема: |
Доказательство: |
Детерминированная машина Тьюринга есть частный случай недетерминированной, поэтому | .
Теорема: |
(следствие из предыдущей теоремы). |
Доказательство: |
Необходимо доказать, что По определению верно, что . и верно, что . Следовательно, если , то , сводимого к верно, что , следовательно, поскольку класс замкнут относительно -сведения по Карпу, . Таким образом, если существует язык, принадлежащий и , то теорема доказана. Как было показано выше, . , что очевидно следует из существования алгоритма DFS. |
Соотношение между ZPP, RP, BPP (вроде то, что нужно)
Теорема: |
. |
Доказательство: |
Утверждение является очевидным, так как программы, удовлетворяющие ограничениям , также удовлетворяют ограничениям класса .Докажем, что . Для этого, покажем, что . Тогда из будет следовать требуемое.1) . Достаточно вместо возвращать .2) . Достаточно вместо возвращать .3) . Пусть программа удовлетворяет ограничениям и ошибается на словах из языка с вероятностью не более , а программа удовлетворяет ограничениям и ошибается на словах не из языка с аналогичной вероятностью. Построим программу для :Вероятность вывести (x) if (x) = 0 return 0 if (x) = 1 return 1 return ? есть . |
Теорема: |
. |
Доказательство: |
Пусть — программа для . Программу для определим следующим образом:(x) u <- (x) v <- (x) return u or v Пусть . В этом случае вероятность ошибки равна .Пусть Аналогично доказывается, что . Тогда с вероятностью будет верно и вернет правильный ответ. . |
BPP входит в PS
(так как ).
Пусть
— программа для языка . Она используют не более чем полиномиальное количество вероятностных бит, так как сама работает за полиномиальное время. Тогда программа для будет перебирать все участки вероятностных лент нужной полиномиальной длины и запускать на них . Ответом будет или в зависимости от того, каких ответов оказалось больше.Интерактивное доказательство для GNI
Теорема: |
. |
Доказательство: |
Будем использовать следующий алгоритм для :
Покажем, что это удовлетворяет ограничениям на
|
Формулировки
Теорема Кука
— язык булевых формул из переменных, для которых существует подстановка, при которой формула истинна.
Теорема (Кук): |
Теорема Ладнера
Теорема (Ладнер): |
. |
Теорема Бейкера-Гилла-Соловея (не существует релятивизующегося доказательства P != NP)
Теорема: |
Существуют такие оракулы и , что и . |
Утверждение: |
Если существует решение вопроса равенства и , то оно не должно «релятивизоваться». |
Теорема Мэхени (нет редких NP-полных языков)
Определение: |
полином . |
Теорема (Махэни): |
. |
Теорема Левина (об оптимальной NP-программе)
Теорема (Левин): |
Для любого языка и соответствующего ему (из определения ) отношения существует «оптимальная» (работающая «не сильно дольше», чем любая другая) программа , сопоставляющая словам из их сертификаты, то есть:
|
Теорема Сэвича (PS = NPS)
Теорема: |
Для любой справедливо: . То есть, если недетерминированная машина Тьюринга может решить проблему, используя памяти, то существует детерминированная машина Тьюринга, которая решает эту же проблему, используя не больше, чем памяти. |
TQBF - PS-полная задача
Определение: |
. | расшифровывается как True Quantified Boolean Formula. Это язык верных булевых формул с кванторами.
Определение: |
— это пропозициональная формула с кванторами. Кванторы для каждой переменной записываются в начале выражения. |
Теорема: |
. |
Теорема Иммермана (NL = coNL)
Теорема: |
Теоремы о полиномиальной иерархии
Теорема: |
Если существует , то . |
Теорема: |
Если существует , то . |
Теорема Лаутемана (BPP и полиномиальная иерархия)
Теорема (Лаутеман): |
Теорема Шамира и др. (IP = PS)
Теорема (Шамир): |
PCP-теорема
Теорема ( | теорема):