Теорема Лаутемана — различия между версиями
Assaron (обсуждение | вклад) м (→Доказательство) |
Assaron (обсуждение | вклад) м (→Доказательство) |
||
Строка 4: | Строка 4: | ||
==Доказательство== | ==Доказательство== | ||
− | Из того, что класс <tex>\mathrm{BPP}</tex> замкнут относительно дополнения и <tex>\mathrm{co}\Sigma_2 = \Pi_2</tex> следует, что достаточно доказать включение <tex>\mathrm{BPP} \subset \Sigma_2</tex>. | + | Из того, что класс <tex>\mathrm{BPP}</tex> замкнут относительно дополнения и <tex>\mathrm{co}\Sigma_2 = \Pi_2</tex>, следует, что достаточно доказать включение <tex>\mathrm{BPP} \subset \Sigma_2</tex>. |
− | <tex>\mathrm{BPP}</tex> можно определить как множество таких языков <tex>L</tex>, что <tex>x \in L \Leftrightarrow \exists</tex> «много» вероятностных лент <tex>y: R(x,y)</tex>. <tex>\Sigma_2</tex> определяется как множество <tex>\{ L \mid x \in L \Leftrightarrow \exists y \forall z R(x, y, z)\}</tex>. Таким образом, необходимо уметь записывать <tex>\exists</tex> | + | <tex>\mathrm{BPP}</tex> можно определить как множество таких языков <tex>L</tex>, что <tex>x \in L \Leftrightarrow \exists</tex> «много» вероятностных лент <tex>y: R(x,y)</tex>. <tex>\Sigma_2</tex> определяется как множество <tex>\{ L \mid x \in L \Leftrightarrow \exists y \forall z R(x, y, z)\}</tex>. Таким образом, необходимо уметь записывать «<tex>\exists</tex> много» с помощью кванторов <tex>\exists\forall</tex>. |
Рассмотрим язык <tex>G</tex> всех слов длины <tex>k</tex> над алфавитом <tex>\{0, 1\}</tex> для некоторого <tex>k</tex>, значение которого будет получено позже. Определим операцию <tex>\oplus</tex> над словами из этого языка как побитовое исключающее или. | Рассмотрим язык <tex>G</tex> всех слов длины <tex>k</tex> над алфавитом <tex>\{0, 1\}</tex> для некоторого <tex>k</tex>, значение которого будет получено позже. Определим операцию <tex>\oplus</tex> над словами из этого языка как побитовое исключающее или. | ||
Строка 41: | Строка 41: | ||
* <tex>|G|\left(1 - \frac{|X|}{|G|}\right)^k \leqslant |G| \frac1{3k}^k = \frac2{3k}^k < 1</tex>, что влечет за собой то, что <tex>X</tex> большой. | * <tex>|G|\left(1 - \frac{|X|}{|G|}\right)^k \leqslant |G| \frac1{3k}^k = \frac2{3k}^k < 1</tex>, что влечет за собой то, что <tex>X</tex> большой. | ||
− | Если <tex>x \not \in</tex>, то <tex>\frac{|X|}{|G|} \leqslant \frac1{3k} < \frac1k</tex>, а | + | Если <tex>x \not \in</tex>, то <tex>\frac{|X|}{|G|} \leqslant \frac1{3k} < \frac1k</tex>, а, следовательно, <tex>X</tex> не является большим. |
Таким образом, <tex>x \in L \Leftrightarrow \exists k, g_1, g_2, \dots, g_k \forall y \bigvee_{i=1}^{m} y \in g_i \oplus X</tex>, то есть | Таким образом, <tex>x \in L \Leftrightarrow \exists k, g_1, g_2, \dots, g_k \forall y \bigvee_{i=1}^{m} y \in g_i \oplus X</tex>, то есть | ||
<tex>x \in L \Leftrightarrow \exists k, g_1, g_2, \dots, g_k \forall y \bigvee_{i=1}^{m} M(x, y \oplus g_i)</tex>, | <tex>x \in L \Leftrightarrow \exists k, g_1, g_2, \dots, g_k \forall y \bigvee_{i=1}^{m} M(x, y \oplus g_i)</tex>, | ||
− | а значит <tex>L \in \Sigma_2</tex>, <tex>\mathrm{BPP} \subset \Sigma_2</tex> и <tex>\mathrm{BPP} \subset \Sigma_2 \cap \Pi_2</tex>, что и требовалось доказать. | + | а, значит, <tex>L \in \Sigma_2</tex>, <tex>\mathrm{BPP} \subset \Sigma_2</tex> и <tex>\mathrm{BPP} \subset \Sigma_2 \cap \Pi_2</tex>, что и требовалось доказать. |
Версия 15:10, 12 апреля 2010
Формулировка
Утверждение теоремы Лаутемана (Sipser–Lautemann theorem или Sipser–Gács–Lautemann theorem) состоит в том, что класс BPP содержится в классах и полиномиальной иерархии.
Доказательство
Из того, что класс
замкнут относительно дополнения и , следует, что достаточно доказать включение .можно определить как множество таких языков , что «много» вероятностных лент . определяется как множество . Таким образом, необходимо уметь записывать « много» с помощью кванторов .
Рассмотрим язык
всех слов длины над алфавитом для некоторого , значение которого будет получено позже. Определим операцию над словами из этого языка как побитовое исключающее или.Назовем
, содержащееся в , большим, если существует набор такой, что .Если
, то точно не является большим. Найдем достаточное условие, при котором большой.Воспользуемся утверждением, что если вероятность
, то существует из . Для этого выберем случайно набор .Для некотрого
:- ;
- ;
- ;
- .
Если
, то существует набор , что для любого , а из этого следует, что большой.Рассмотрим язык
. Не уменьшая общности, можем считать, что программа , распознающая этот язык, завершается за шагов и вероятность ошибки не превосходит , это следует из того, что если запускать программу несколько раз, то время работы растет линейно, а вероятность ошибки экспоненциально уменьшается.Зафиксируем
. Возьмем . Рассмотрим множество начал длины вероятностных лент , на которых машина выдает единицу, то есть .Из того, что вероятность ошибки не превосходит
, следует:- ;
- .
Если
, то:- ;
- ;
- , что влечет за собой то, что большой.
Если
, то , а, следовательно, не является большим.Таким образом,
, то есть , а, значит, , и , что и требовалось доказать.