Участник:SkudarnovYaroslav/Теормин к зачёту по теории сложности — различия между версиями
м |
(Пока всё. Вечером, может быть, формулировки запилю.) |
||
| Строка 236: | Строка 236: | ||
= Доказательства = | = Доказательства = | ||
| + | == Теорема о двух эквивалентных определениях NP (NP = Sigma1) == | ||
| + | {{Теорема | ||
| + | |statement= | ||
| + | <tex>\mathrm{\Sigma_1}=\mathrm{NP}</tex>. | ||
| + | |proof= | ||
| + | *<tex>\mathrm{\Sigma_1} \subset \mathrm{NP}</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): | ||
| + | y ← <tex>\{0,1\}^{p(|x|)}</tex> | ||
| + | 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>\mathrm{NP} \subset \mathrm{\Sigma_1}</tex>. | ||
| + | Пусть <tex>L\in \mathrm{NP}</tex>. Тогда существует недетерминированная программа <tex>q(x)</tex>, разрешающая этот язык. Построим верификатор <tex>R(x,y)</tex>. В качестве сертификата будем использовать последовательность выборов в программе <tex>q</tex>, приводящую к допуску слова (такой сертификат имеет полиномиальную длину, поскольку выборов в <tex>q</tex> может быть сделано не более, чем время ее работы, то есть не более, чем полином). Верификатор будет аналогичен программе <tex>q</tex>, только вместо каждого недетерминированного выбора он будет присваивать значение, указанное в сертификате. Если <tex>x\in L</tex>, то в <tex>q</tex> существует последовательность выборов таких, что <tex>q(x)=1</tex>, следовательно существует и верный сертификат. Если <tex>x\notin L</tex>, то для любой последовательности выборов <tex>q(x)=0</tex>, следовательно подходящего сертификата не существует. Таким образом, <tex>L \in \mathrm{\Sigma_1}</tex>. | ||
| + | }} | ||
| + | |||
| + | == Задача из NPC решается за полином => P = NP == | ||
| + | Я этого не могу найти, но, казалось бы, это очевидно. Поэтому — отсебятина: | ||
| + | |||
| + | Любая задача из NP сводима по Карпу ({{TODO|t=тут, наверное, нужно написать про то, что за полином и почему}}) к любой задаче из NPC, поэтому, если задача из NPC решается за полином, то после сведения мы сможем решить за полином и любую задачу из NP | ||
| + | |||
| + | == Соотношение между P, NP, PS == | ||
| + | Очевидно, что <tex>\mathrm{P} \subseteq \mathrm{NP}</tex>, так как детерминированные программы можно рассматривать как недетерминированные, в которых не используется недетерминированный выбор. Вопрос о равенстве данных классов до сих пор остается открытым. | ||
| + | |||
| + | {{Теорема | ||
| + | |statement = | ||
| + | <tex>\mathrm{P} \subseteq \mathrm{PS}</tex>. | ||
| + | |proof = Рассмотрим любой язык <tex>L</tex> из <tex>\mathrm{P}</tex>. Так как <tex>L \in \mathrm{P}</tex>, то существует машина Тьюринга <tex>m</tex>, распознающая <tex>L</tex> за полиномиальное время. Это значит, что <tex>m</tex> не сможет использовать более, чем полиномиальное количество памяти, следовательно <tex> L \in \mathrm{PS}</tex>. | ||
| + | }} | ||
| + | |||
| + | {{Теорема | ||
| + | |statement = | ||
| + | <tex>\mathrm{NP} \subseteq \mathrm{PS}</tex>. | ||
| + | |proof = Рассмотрим любой язык <tex>L</tex> из <tex>\mathrm{NP}</tex>. Так как <tex>L \in \mathrm{NP}</tex>, то существует программа-верификатор <tex>R(x,y)</tex>, что для каждого слова из <tex>L</tex> (и только для них) существует такой сертификат <tex>y</tex> полиномиальной длины, что <tex>R</tex> допускает слово и сертификат. Тогда, чтобы проверить принадлежность слова языку, мы можем перебрать все сертификаты полиномиальной длины. Для этого необходим полиномиальный размер памяти. Из этого следует, что <tex>L \in \mathrm{PS}</tex>. | ||
| + | }} | ||
| + | |||
| + | == Соотношение между L, NL, P == | ||
| + | {{ Теорема | ||
| + | | statement = <tex>\mathrm{L} \subseteq \mathrm{NL}</tex> | ||
| + | | proof = Детерминированная машина Тьюринга есть частный случай недетерминированной, поэтому <tex>\mathrm{L} \subseteq \mathrm{NL}</tex>. | ||
| + | }} | ||
| + | |||
| + | {{ Теорема | ||
| + | | statement = <tex>\mathrm{NL} \subseteq \mathrm{P}</tex> (следствие из предыдущей теоремы). | ||
| + | | proof = Необходимо доказать, что <tex>\forall \mathrm{B} \in \mathrm{NL}</tex> верно, что <tex>\mathrm{B} \in \mathrm{P}</tex>. | ||
| + | |||
| + | По определению <tex>\mathrm{A} \in \mathrm{NLC} \Leftrightarrow \mathrm{A} \in \mathrm{NL} </tex> и <tex>\forall \mathrm{B} \in \mathrm{NL} </tex> верно, что <tex>\mathrm{B} \leq_{\widetilde{L}} \mathrm{A}</tex>. Следовательно, если <tex>\exists \mathrm{A} \in \mathrm{NLC} : \mathrm{A} \in \mathrm{P}</tex>, то <tex>\forall \mathrm{B}</tex>, сводимого к <tex>\mathrm{A}</tex> верно, что <tex>\mathrm{B} \leq_{\widetilde{P}} \mathrm{A}</tex>, следовательно, поскольку класс <tex>\mathrm{P}</tex> замкнут относительно <tex>\widetilde{\mathrm{P}}</tex>-сведения по Карпу, <tex>\mathrm{B} \in \mathrm{P}</tex>. Таким образом, если существует язык, принадлежащий <tex>\mathrm{NLC}</tex> и <tex>\mathrm{P}</tex>, то теорема доказана. Как было показано выше, <tex>\mathrm{CONN} \in \mathrm{NLC}</tex>. <tex>\mathrm{CONN} \in \mathrm{P}</tex>, что очевидно следует из существования алгоритма DFS. | ||
| + | }} | ||
| + | |||
| + | == Соотношение между ZPP, RP, BPP (вроде то, что нужно) == | ||
| + | {{Теорема | ||
| + | |statement = <tex>\mathrm{P} \subset \mathrm{ZPP} = \mathrm{RP} \cap \mathrm{coRP}</tex>. | ||
| + | |proof = | ||
| + | Утверждение <tex>\mathrm{P} \subset \mathrm{ZPP}</tex> является очевидным, так как программы, удовлетворяющие ограничениям <tex>\mathrm{P}</tex>, также удовлетворяют ограничениям класса <tex>\mathrm{ZPP}</tex>. | ||
| + | |||
| + | Докажем, что <tex>\mathrm{ZPP} = \mathrm{RP} \cap \mathrm{coRP}</tex>. | ||
| + | Для этого, покажем, что <tex>\mathrm{ZPP}_1 = \mathrm{RP} \cap \mathrm{coRP}</tex>. Тогда из <tex>\mathrm{ZPP} = \mathrm{ZPP}_1</tex> будет следовать требуемое. | ||
| + | |||
| + | 1) <tex>\mathrm{ZPP}_1 \subset \mathrm{RP}</tex>. Достаточно вместо <tex>?</tex> возвращать <tex>0</tex>. | ||
| + | |||
| + | 2) <tex>\mathrm{ZPP}_1 \subset\mathrm{coRP}</tex>. Достаточно вместо <tex>?</tex> возвращать <tex>1</tex>. | ||
| + | |||
| + | 3) <tex>\mathrm{ZPP}_1 \supset \mathrm{RP} \cap \mathrm{coRP}</tex>. | ||
| + | Пусть программа <tex>p_1</tex> удовлетворяет ограничениям <tex>\mathrm{RP}</tex> и ошибается на словах из языка <tex>L</tex> с вероятностью не более <tex>1/2</tex>, а программа <tex>p_2</tex> удовлетворяет ограничениям <tex>\mathrm{coRP}</tex> и ошибается на словах не из языка <tex>L</tex> с аналогичной вероятностью. Построим программу <tex>q</tex> для <tex>\mathrm{ZPP}_1</tex>: | ||
| + | <tex>q</tex>(x) | ||
| + | '''if''' <tex>p_2</tex>(x) = 0 | ||
| + | '''return''' 0 | ||
| + | '''if''' <tex>p_1</tex>(x) = 1 | ||
| + | '''return''' 1 | ||
| + | '''return''' ? | ||
| + | |||
| + | Вероятность вывести <tex>?</tex> есть <tex>\operatorname{P}(p_2(x) = 1, p_1(x) = 0) \le 1/2</tex>. | ||
| + | }} | ||
| + | |||
| + | {{Теорема | ||
| + | |statement = | ||
| + | <tex>\mathrm{RP} \cup \mathrm{coRP} \subset \mathrm{BPP}</tex>. | ||
| + | |proof = | ||
| + | Пусть <tex>p</tex> — программа для <tex>L \in \mathrm{RP}</tex>. Программу <tex>q</tex> для <tex>\mathrm{BPP}</tex> определим следующим образом: | ||
| + | <tex>q</tex>(x) | ||
| + | u <- <tex>p</tex>(x) | ||
| + | v <- <tex>p</tex>(x) | ||
| + | '''return''' u '''or''' v | ||
| + | Пусть <tex>x \in L</tex>. В этом случае вероятность ошибки равна <tex>\operatorname{P}(u = 0, v = 0) = \operatorname{P}(u = 0) \cdot \operatorname{P}(v = 0) \le 1/4</tex>. | ||
| + | |||
| + | Пусть <tex>x \notin L</tex>. Тогда с вероятностью <tex>1</tex> будет верно <tex>u = 0, v = 0</tex> и <tex>q</tex> вернет правильный ответ. | ||
| + | |||
| + | Аналогично доказывается, что <tex>\mathrm{coRP} \subset \mathrm{BPP}</tex>. | ||
| + | }} | ||
| + | |||
| + | == BPP входит в PS == | ||
| + | Либо я слепой, либо ещё что-то, не нашёл. Доказывается, наверное, несложно, но мне лень думать. | ||
| + | {{TODO|t=ЗАПИЛИТЬ} | ||
| + | |||
| + | == Интерактивное доказательство для GNI == | ||
| + | {{Теорема | ||
| + | |statement=<tex>\mathrm{GNI} \in \mathrm{IP}[1]</tex>. | ||
| + | |proof= | ||
| + | Будем использовать следующий алгоритм для <tex>\mathit{Verifier}</tex>: | ||
| + | # Возьмём случайное число <tex>i \in \{0, 1\}</tex> и случайную перестановку <tex>\pi</tex> с вероятностной ленты; <br/> | ||
| + | # Создадим новый граф, перемешав вершины графа c номером <tex>i</tex> перестановкой <tex>\pi</tex>; <br/> | ||
| + | # Перешлём <tex>\mathit{Prover}</tex> полученный граф с просьбой определить, из какого из исходных графов он был получен; <br/> | ||
| + | # Получив ответ, сравним его с правильным ответом — числом <tex>i</tex>; <br/> | ||
| + | # Если полученный ответ не совпадёт с <tex>i</tex>, то вернём <tex>0</tex>; <br/> | ||
| + | # Иначе повторим первые пять шагов ещё раз и перейдём к последнему шагу; <br/> | ||
| + | # Если мы ещё не вернули <tex>0</tex>, то вернём <tex>1</tex>. | ||
| + | |||
| + | Покажем, что это удовлетворяет ограничениям на <tex>\mathrm{IP}[1]</tex>. | ||
| + | Во-первых, очевидно, что число раундов не превосходит двух. <br/> | ||
| + | Рассмотрим теперь случаи | ||
| + | * <tex> \langle G, H \rangle \in \mathrm{GNI}</tex>. Тогда <tex>G</tex> и <tex>H</tex> неизоморфны и <tex>\mathit{Prover}</tex> сможет определить какой граф был перемешан <tex>\mathit{Verifier}</tex>. Таким образом, <tex>\mathit{Prover}</tex> сможет два раза подряд вернуть правильный ответ и в итоге <tex>\mathit{Verifier}</tex> вернёт 1. | ||
| + | * <tex> \langle G, H \rangle \notin \mathrm{GNI}</tex>. Тогда <tex>G</tex> и <tex>H</tex> изоморфны и <tex>\mathit{Prover}</tex> не сможет определить какой граф был перемешан <tex>\mathit{Verifier}</tex>. Так как <tex>\mathit{Prover}</tex> заинтересован в том, чтобы <tex>\mathit{Verifier}</tex> принял слово, ему необходимо угадать правильный ответ (иначе <tex>\mathit{Verifier}</tex> просто вернёт <tex>0</tex>). Вероятность того, что <tex>\mathit{Verifier}</tex> примет слово <tex>x</tex>, когда оно не принадлежит языку (то есть <tex>\mathit{Prover}</tex> два раза подряд верно угадает номер графа), равна <tex>\frac{1}{4}</tex>. | ||
| + | Таким образом, построенный протокол удовлетворяет условию теоремы. | ||
| + | }} | ||
| + | |||
| + | = Формулировки = | ||
Версия 15:58, 4 июня 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 Формулировки
Определения
Класс P
| Определение: |
| Класс — класс языков (задач), разрешимых на детерминированной машине Тьюринга за полиномиальное время, то есть: . |
Итого, язык лежит в классе тогда и только тогда, когда существует такая детерминированная машина Тьюринга , что:
- завершает свою работу за полиномиальное время на любых входных данных;
- если на вход машине подать слово , то она допустит его;
- если на вход машине подать слово , то она не допустит его.
Класс NP на языке недетерминированных машин и на языке сертификатов
| Определение: |
| . |
То есть — это множество языков, разрешимых недетерминированной программой за полиномиальное время.
| Определение: |
| . |
Нестрого говоря, — это множество языков, для которых существует работающая за полиномиальное время детерминированная программа-верификатор , а для каждого слова из языка (и только для слова из языка) можно предъявить сертификат полиномиальной длины, подтверждающий принадлежность слова языку и проверяемый верификатором.
Сведение по Карпу
| Определение: |
| — класс языков, распознаваемых программами с некоторыми ограничениями. Тогда обозначим класс вычислимых функций, вычисляемых программами с теми же ограничениями. |
| Определение: |
| Язык -сводится по Карпу к языку (), если существует такая функция из , что принадлежит тогда и только тогда, когда принадлежит : . |
Видимо, это про NP-полные задачи
| Определение: |
| — сложностный класс, — класс вычислимых функций. Язык называется -трудным относительно -сведения (-hard), если любой язык из -сводится к : — -hard . |
| Определение: |
| — сложностный класс, — класс вычислимых функций. Язык называется -полным относительно -сведения (-complete), если является -трудным относительно -сведения и сам лежит в . |
Замечание. Часто используется сведение из , поэтому вместо «-сводится по Карпу» говорят просто «сводится». Также индекс у символа сведения обычно опускают.
Класс -полных языков — . является одним из важнейших классов в теории сложности, так как если найдется язык из этого класса, который также входит в класс , тогда окажется, что .
Класс coNP
В теории сложности класс co-NP — класс языков (задач), дополнение к которым лежит в NP.
co-NP = (См. Полиномиальная иерархия)
Вычисление с оракулом
В теории вычислений и теории сложности "машиной с оракулом" называют абстрактную машину, предназначенную для решения какой-либо проблемы разрешимости. Такая машина может быть представлена как машина Тьюринга, дополненная оракулом с неизвестным внутренним устройством. Постулируется, что оракул способен решить определенные проблемы разрешимости за один такт машины Тьюринга. Машина Тьюринга взаимодействует с оракулом путем записи на свою ленту входных данных для оракула и затем его запуском на исполнение. За один шаг оракул вычисляет функцию, стирает входные данные и пишет выходные данные на ленту. Иногда машина Тьюринга описывается как имеющая две ленты, одна предназначена для входных данных оракула, другая — для выходных.
| Определение: |
| Оракул — абстракция, вычисляющая за времени, верно ли, что принадлежит множеству . |
Сложностный класс задач, решаемых алгоритмом из класса с оракулом для языка , обозначают .
Класс PS
| Определение: |
| — класс языков, разрешимых на детерминированной машине Тьюринга с использованием памяти полиномиального размера. . |
Если — множество языков, то .
PS-полная задача
Видимо, тут.
Класс L
| Определение: |
| Класс — множество языков, разрешимых на детерминированной машине Тьюринга с использованием дополнительной памяти для входа длиной . . |
Класс NL
| Определение: |
| Класс — множество языков, разрешимых на недетерминированной машине Тьюринга с использованием дополнительной памяти для входа длиной . . |
NL-полная задача
Опять же, тут.
Класс P/poly
| Определение: |
| — класс языков, разрешимых семейством логических схем полиномиального размера с n входами и одним выходом.
:
|
| Определение: |
Пусть — сложностный класс, — функция. Тогда существуют подсказки и программа , удовлетворяющая ограничениям :
|
| Определение: |
| . |
Вероятностные вычисления (неформальненько как-то, ну да ладно)
Вероятностные вычисления — один из подходов в теории вычислительной сложности, в котором программы получают доступ, говоря неформально, к генератору случайных чисел. Мы рассмотрим классы сложности, для которых программы могут работать за полиномиальное время и делать односторонние, двусторонние ошибки или работать за полиномиальное время лишь в среднем случае.
| Определение: |
| Вероятностная лента — бесконечная в одну сторону последовательность битов, распределение которых подчиняется некоторому вероятностному закону (обычно считают, что биты в различных позициях независимы и вероятность нахождения или в каждой позиции равна ). |
| Определение: |
| Вероятностная машина Тьюринга (ВМТ) — детерминированная машина Тьюринга, имеющая вероятностную ленту. Переходы в ВМТ могут осуществляться с учетом информации, считанной с вероятностной ленты. |
Используя тезис Черча-Тьюринга, ВМТ можно сопоставить программы, имеющие доступ к случайным битам. Обращение к очередному биту можно трактовать как вызов специальной функции random(). При этом также будем предполагать, что вероятностная лента является неявным аргументом программы или ВМТ, т.е. , где — вероятностная лента.
Класс BPP
| Определение: |
(от bounded probabilistic polynomial) — множество языков , для которых существует такая ВМТ , что для любого :
|
— сложностный класс, допускающий двусторонние ошибки. Константу можно заменить на любое число из промежутка , так как требуемой вероятности можно добиться множественным запуском . Замена константы на сделала бы данный класс равным (программа, возвращающая результат функции random(), подошла бы для любого языка).
Класс RP
| Определение: |
Сложностный класс состоит из языков таких, что существует ВМТ такая, что для любого :
|
— сложностный класс, допускающий ошибки программ на словах из . Заметим, что константа в пункте 2 определения может быть заменена на любую другую из промежутка , поскольку требуемой вероятности можно добиться множественным запуском программы.
можно рассматривать как вероятностный аналог класса , предполагая, что вероятность угадать сертификат в случае его существования не менее .
Класс ZPP
| Определение: |
(от zero-error probabilistic polynomial) — множество языков , для которых :
|
— сложностный класс, такой что программы, удовлетворяющие его ограничениям, не могут делать ошибок, но работают за полиномиальное время только в среднем случае.
Напомним, что математическое ожидание является усреднением по вероятностным лентам, а не по входу .
Интерактивное доказательство (кажется, оно, но не уверен)
| Определение: |
Интерактивным протоколом, разрешающим язык , называется абстрактная машина (см. рисунок), моделирующая вычисления как обмен сообщениями между двумя программами ( и ), такими, что
|
, обменивающийся сообщениями с , будем обозначать .
Интерактивные протоколы делятся на два типа в зависимости от доступа к вероятностной ленте :
- 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 сводима по Карпу ( TODO: тут, наверное, нужно написать про то, что за полином и почему) к любой задаче из 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
Либо я слепой, либо ещё что-то, не нашёл. Доказывается, наверное, несложно, но мне лень думать. {{TODO|t=ЗАПИЛИТЬ}
Интерактивное доказательство для GNI
| Теорема: |
. |
| Доказательство: |
|
Будем использовать следующий алгоритм для :
Покажем, что это удовлетворяет ограничениям на .
Во-первых, очевидно, что число раундов не превосходит двух.
|