Теорема Лаутемана — различия между версиями
Строка 18: | Строка 18: | ||
Из того, что класс <tex>\mathrm{BPP}</tex> замкнут относительно дополнения и <tex>\mathrm{co\Sigma_2} = \mathrm{\Pi_2}</tex>, следует, что достаточно доказать включение <tex>\mathrm{BPP} \subset \mathrm{\Sigma_2}</tex>. | Из того, что класс <tex>\mathrm{BPP}</tex> замкнут относительно дополнения и <tex>\mathrm{co\Sigma_2} = \mathrm{\Pi_2}</tex>, следует, что достаточно доказать включение <tex>\mathrm{BPP} \subset \mathrm{\Sigma_2}</tex>. | ||
− | <tex>\mathrm{BPP}</tex> можно определить как множество таких языков <tex>L</tex>, что <tex>x \in L</tex> тогда и только тогда, когда существует «много» таких вероятностных лент <tex>y</tex>, что <tex> | + | <tex>\mathrm{BPP}</tex> можно определить как множество таких языков <tex>L</tex>, что <tex>x \in L</tex> тогда и только тогда, когда существует «много» таких вероятностных лент <tex>y</tex>, что <tex>M(x,y)</tex>, где <tex>M</tex> — [[Вероятностные вычисления. Вероятностная машина Тьюринга | вероятностная машина Тьюринга]] для <tex>L</tex>. <tex>\mathrm{\Sigma_2}</tex> — множество таких языков <tex>L</tex>, что <tex>x \in L</tex> тогда и только тогда, когда существует такой <tex>y</tex>, что для любого <tex>z</tex> <tex>R(x, y, z)</tex>. Таким образом, необходимо уметь записывать «существует много» с помощью кванторов <tex>\exists</tex>, <tex>\forall</tex>. |
Рассмотрим язык <tex>G = \{0, 1\}^t</tex> для некоторого <tex>t</tex>. Определим операцию <tex>\oplus</tex> над словами из этого языка как побитовое исключающее или. | Рассмотрим язык <tex>G = \{0, 1\}^t</tex> для некоторого <tex>t</tex>. Определим операцию <tex>\oplus</tex> над словами из этого языка как побитовое исключающее или. | ||
Строка 24: | Строка 24: | ||
Назовем <tex>X</tex>, содержащееся в <tex>G</tex>, <tex>k</tex>-большим, если существует такой набор <tex>\{g_i\}_{i=1}^{k} \subset G</tex>, что <tex>\bigcup\limits_{i=1}^{k} g_i \oplus X = G</tex>. Иначе будем называть <tex>X</tex> — <tex>k</tex>-маленьким. | Назовем <tex>X</tex>, содержащееся в <tex>G</tex>, <tex>k</tex>-большим, если существует такой набор <tex>\{g_i\}_{i=1}^{k} \subset G</tex>, что <tex>\bigcup\limits_{i=1}^{k} g_i \oplus X = G</tex>. Иначе будем называть <tex>X</tex> — <tex>k</tex>-маленьким. | ||
− | Если <tex>|X| < \frac{2^t}{k}</tex>, то <tex>X</tex> является <tex>k</tex>-маленьким. Найдем достаточное условие, при котором <tex>X</tex> является <tex>k</tex>-большим. | + | Если <tex>|X| < \frac{2^t}{k}</tex>, то <tex>X</tex> является <tex>k</tex>-маленьким (так как <tex>k</tex> копий <tex>X</tex> не смогут покрыть <tex>G</tex>). Найдем достаточное условие, при котором <tex>X</tex> является <tex>k</tex>-большим. |
Воспользуемся утверждением, что если вероятность <tex>P(x \in A) > 0</tex>, то существует <tex>x</tex> из <tex>A</tex>. Для этого | Воспользуемся утверждением, что если вероятность <tex>P(x \in A) > 0</tex>, то существует <tex>x</tex> из <tex>A</tex>. Для этого | ||
выберем случайно набор <tex>\{g_i\}_{i=1}^{k} \subset G</tex>. | выберем случайно набор <tex>\{g_i\}_{i=1}^{k} \subset G</tex>. | ||
− | <tex>P(\bigcup\limits_{i=1}^{k} g_i \oplus X \not = G) = P(\exists y \not \in \bigcup\limits_{i=1}^{k} g_i \oplus X) = P(\bigvee\limits_{i=1}^{2^t} y_i \not \in \bigcup\limits_{j=1}^{k} g_j \oplus X) \leqslant 2^t P(y \not \in \bigcup\limits_{i=1}^{k} g_i \oplus X) = 2^t P(\bigwedge\limits_{i=1}^{k} y \oplus g_i \not \in X) = 2^t \left(P(y \not \in X)\right)^k = 2^t \left(1 - \frac{|X|}{2^t}\right)^k</tex>. | + | <tex>P(\bigcup\limits_{i=1}^{k} g_i \oplus X \not = G) = P(\exists y \not \in \bigcup\limits_{i=1}^{k} g_i \oplus X) = P(\bigvee\limits_{i=1}^{2^t} y_i \not \in \bigcup\limits_{j=1}^{k} g_j \oplus X)</tex> <tex>\leqslant 2^t P(y \not \in \bigcup\limits_{i=1}^{k} g_i \oplus X) = 2^t P(\bigwedge\limits_{i=1}^{k} y \oplus g_i \not \in X) = 2^t \left(P(y \not \in X)\right)^k = 2^t \left(1 - \frac{|X|}{2^t}\right)^k</tex>. |
Если <tex>2^t\left(1 - \frac{|X|}{2^t}\right)^k < 1</tex>, то существует такой набор <tex>\{g_i\}_{i=1}^{k} \subset G</tex>, что <tex>\bigcup\limits_{i=1}^{k} g_i \oplus X = G</tex>, то есть <tex>X</tex> — <tex>k</tex>-большое. | Если <tex>2^t\left(1 - \frac{|X|}{2^t}\right)^k < 1</tex>, то существует такой набор <tex>\{g_i\}_{i=1}^{k} \subset G</tex>, что <tex>\bigcup\limits_{i=1}^{k} g_i \oplus X = G</tex>, то есть <tex>X</tex> — <tex>k</tex>-большое. | ||
− | Рассмотрим язык <tex>L \in \mathrm{BPP}</tex>. Из того, что <tex>\mathrm{BPP} = \mathrm{BPP_{strong}}</tex>, следует, что существует такая | + | Рассмотрим язык <tex>L \in \mathrm{BPP}</tex>. Из того, что <tex>\mathrm{BPP} = \mathrm{BPP_{strong}}</tex>, следует, что существует такая вероятностная машина Тьюринга <tex>M</tex>, что <tex>P(M(x) = [x \in L]) \geqslant 1 - \frac{1}{2^{p(n)}}</tex>, где <tex>p(n)</tex> некоторый полином, который будет определен позднее. Пусть <tex>M</tex> использует <tex>r(n)</tex> бит случайной ленты. |
Зафиксируем <tex>x</tex>. Возьмем <tex>G = \{0, 1\}^{r(n)}</tex>. Рассмотрим множество <tex>A_x = \{r \in G \bigm| M(x,r) = 1\}</tex>. Подберем теперь <tex>p(n)</tex> и <tex>k</tex> так, чтобы <tex>x \in L \Leftrightarrow A_x</tex> — <tex>k</tex>-большое. | Зафиксируем <tex>x</tex>. Возьмем <tex>G = \{0, 1\}^{r(n)}</tex>. Рассмотрим множество <tex>A_x = \{r \in G \bigm| M(x,r) = 1\}</tex>. Подберем теперь <tex>p(n)</tex> и <tex>k</tex> так, чтобы <tex>x \in L \Leftrightarrow A_x</tex> — <tex>k</tex>-большое. | ||
Строка 43: | Строка 43: | ||
Выберем <tex>p(n)</tex> так, чтобы <tex>\frac{r(n)}{p(n)} < 2^{p(n)} - 2</tex> и <tex>k = \lceil \frac{r(n)}{p(n)} \rceil + 1</tex>. Получаем <tex>\frac{r(n)}{p(n)} < k < 2^{p(n)}</tex>, то есть <tex>x \in L \Leftrightarrow A_x</tex> — <tex>k</tex>-большое. | Выберем <tex>p(n)</tex> так, чтобы <tex>\frac{r(n)}{p(n)} < 2^{p(n)} - 2</tex> и <tex>k = \lceil \frac{r(n)}{p(n)} \rceil + 1</tex>. Получаем <tex>\frac{r(n)}{p(n)} < k < 2^{p(n)}</tex>, то есть <tex>x \in L \Leftrightarrow A_x</tex> — <tex>k</tex>-большое. | ||
− | Таким образом, <tex>x \in L \Leftrightarrow \exists \{g_i\}_{i=1}^{k} \subset G</tex> : <tex>\forall y \in G</tex> <tex>\bigvee\limits_{i=1}^{k} y \in g_i \oplus A_x</tex>, <tex>y \in g_i \oplus A_x \Leftrightarrow y \oplus g_i \in A_x \Leftrightarrow M(x, y \oplus g_i)</tex> | + | Таким образом, <tex>x \in L \Leftrightarrow \exists \{g_i\}_{i=1}^{k} \subset G</tex> : <tex>\forall y \in G</tex> <tex>\bigvee\limits_{i=1}^{k} y \in g_i \oplus A_x</tex>. Заметив, что <tex>y \in g_i \oplus A_x \Leftrightarrow y \oplus g_i \in A_x \Leftrightarrow M(x, y \oplus g_i)</tex>, получаем <tex>L \in \Sigma_2</tex>, <tex>\mathrm{BPP} \subset \mathrm{\Sigma_2}</tex> и <tex>\mathrm{BPP} \subset \mathrm{\Sigma_2} \cap \mathrm{\Pi_2}</tex>. |
}} | }} | ||
Версия 16:01, 4 июня 2012
Лемма: |
Доказательство: |
Рассмотрим . Существует такая программа , что . Покажем, что . Для этого рассмотрим следующую программу:. Таким образом .
|
Теорема
Теорема (Лаутеман): |
Доказательство: |
Из того, что класс замкнут относительно дополнения и , следует, что достаточно доказать включение .вероятностная машина Тьюринга для . — множество таких языков , что тогда и только тогда, когда существует такой , что для любого . Таким образом, необходимо уметь записывать «существует много» с помощью кванторов , . можно определить как множество таких языков , что тогда и только тогда, когда существует «много» таких вероятностных лент , что , где —Рассмотрим язык для некоторого . Определим операцию над словами из этого языка как побитовое исключающее или.Назовем , содержащееся в , -большим, если существует такой набор , что . Иначе будем называть — -маленьким.Если , то является -маленьким (так как копий не смогут покрыть ). Найдем достаточное условие, при котором является -большим.Воспользуемся утверждением, что если вероятность , то существует из . Для этого выберем случайно набор .. Если , то существует такой набор , что , то есть — -большое.Рассмотрим язык . Из того, что , следует, что существует такая вероятностная машина Тьюринга , что , где некоторый полином, который будет определен позднее. Пусть использует бит случайной ленты.Зафиксируем . Возьмем . Рассмотрим множество . Подберем теперь и так, чтобы — -большое.Если , то . Значит . Чтобы в этом случае было бы -большим потребуем .Если , то . Чтобы в этом случае было бы -маленьким потребуем .Выберем Таким образом, так, чтобы и . Получаем , то есть — -большое. : . Заметив, что , получаем , и . |