Классы BPP — различия между версиями
(→Теорема) |
м (rollbackEdits.php mass rollback) |
||
| (не показано 18 промежуточных версий 9 участников) | |||
| Строка 1: | Строка 1: | ||
==Определения== | ==Определения== | ||
| + | {{Определение | ||
| + | |definition = | ||
| + | <tex>\mathrm{BPP}</tex> (от ''bounded probabilistic polynomial'') — множество языков <tex>L</tex>, для которых существует такая [[Вероятностные вычисления. Вероятностная машина Тьюринга |ВМТ]] <tex>p</tex>, что для любого <tex>x</tex>: | ||
| + | # <tex>P(p(x) = [x \in L]) \ge 2/3</tex>; | ||
| + | # <tex>T(p, x) \le poly(|x|)</tex> для любой [[Вероятностные вычисления. Вероятностная машина Тьюринга |вероятностной ленты]]. | ||
| + | }} | ||
| + | |||
| + | <tex>\mathrm{BPP}</tex> — сложностный класс, допускающий двусторонние ошибки. | ||
| + | Константу <tex>2/3</tex> можно заменить на любое число из промежутка <tex>(1/2, 1)</tex>, так как требуемой вероятности можно добиться множественным запуском <tex>p</tex>. Замена константы на <tex>1/2</tex> сделала бы данный класс равным <tex>\Sigma^*</tex> (программа, возвращающая результат функции ''random''(), подошла бы для любого языка). | ||
| + | |||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | <tex>\mathrm{BPP_{weak}}</tex> — класс языков <tex>L</tex>, для которых существует такая | + | <tex>\mathrm{BPP_{weak}}</tex> — класс языков <tex>L</tex>, для которых существует такая ВМТ <tex>p</tex>, что для любого <tex>x</tex>: |
#<tex>P(p(x)=[x \in L]) \ge \frac {1}{2} + \frac {1} {q(|x|)}</tex>, где <tex>q</tex>-полином и <tex>q(|x|) \ge 3</tex>; | #<tex>P(p(x)=[x \in L]) \ge \frac {1}{2} + \frac {1} {q(|x|)}</tex>, где <tex>q</tex>-полином и <tex>q(|x|) \ge 3</tex>; | ||
| − | #<tex>T(p | + | #<tex>T(p, x) \le poly(|x|)</tex> для любой вероятностной ленты. |
}} | }} | ||
| Строка 11: | Строка 21: | ||
<tex>\mathrm{BPP_{strong}}</tex> — класс языков <tex>L</tex>, для которых существует такая ВМТ <tex>p</tex>, что для любого <tex>x</tex>: | <tex>\mathrm{BPP_{strong}}</tex> — класс языков <tex>L</tex>, для которых существует такая ВМТ <tex>p</tex>, что для любого <tex>x</tex>: | ||
#<tex>P(p(x)=[x \in L]) \ge 1 - \frac {1} {2^{q(|x|)}}</tex>, где <tex>q</tex>-полином и <tex>q(|x|) \ge 3</tex>; | #<tex>P(p(x)=[x \in L]) \ge 1 - \frac {1} {2^{q(|x|)}}</tex>, где <tex>q</tex>-полином и <tex>q(|x|) \ge 3</tex>; | ||
| − | #<tex>T(p | + | #<tex>T(p, x) \le poly(|x|)</tex> для любой вероятностной ленты. |
}} | }} | ||
==Теорема== | ==Теорема== | ||
{{Теорема | {{Теорема | ||
| − | |statement= <tex>\mathrm{BPP} = \mathrm{BPP_{weak}} = \mathrm{BPP_{strong}}</tex> | + | |statement= <tex>\mathrm{BPP} = \mathrm{BPP_{weak}} = \mathrm{BPP_{strong}}</tex>. |
|proof= | |proof= | ||
| − | + | В доказательстве будет использоваться ''неравенство Чернова'': <br> | |
<tex>\forall p : \frac {1} {2} \le p \le 1: \sum\limits_{i = \lfloor \frac{n}{2} \rfloor + 1}^n \binom{n}{i}p^i (1 - p)^{n - i} \ge 1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2}</tex> | <tex>\forall p : \frac {1} {2} \le p \le 1: \sum\limits_{i = \lfloor \frac{n}{2} \rfloor + 1}^n \binom{n}{i}p^i (1 - p)^{n - i} \ge 1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2}</tex> | ||
| Строка 24: | Строка 34: | ||
* Докажем, что <tex>\mathrm{BPP} = \mathrm{BPP_{weak}}</tex> | * Докажем, что <tex>\mathrm{BPP} = \mathrm{BPP_{weak}}</tex> | ||
# <tex>\mathrm{BPP} \subseteq \mathrm{BPP_{weak}}</tex> <br> Это следует из определений <tex>\mathrm{BPP}</tex> и <tex>\mathrm{BPP_{weak}}</tex>. | # <tex>\mathrm{BPP} \subseteq \mathrm{BPP_{weak}}</tex> <br> Это следует из определений <tex>\mathrm{BPP}</tex> и <tex>\mathrm{BPP_{weak}}</tex>. | ||
| − | # <tex>\mathrm{BPP_{weak}} \subseteq \mathrm{BPP}</tex> <br> Пусть <tex>L \in \mathrm{BPP_{weak}}</tex>. Тогда <tex>\exists p : P(p(x)=[x \in L]) \ge \frac {1}{2} + \frac {1} {q(|x|)}</tex>. <br> Построим ВМТ <tex>p_1</tex>, которая для входа <tex>x</tex> запускает <tex>p(x)</tex> <tex>n</tex> раз, и | + | # <tex>\mathrm{BPP_{weak}} \subseteq \mathrm{BPP}</tex> <br> Пусть <tex>L \in \mathrm{BPP_{weak}}</tex>. Тогда <tex>\exists p : P(p(x)=[x \in L]) \ge \frac {1}{2} + \frac {1} {q(|x|)}</tex>. <br> Построим ВМТ <tex>p_1</tex>, которая для входа <tex>x</tex> запускает <tex>p(x)</tex> <tex>n</tex> раз, и принимает <tex>x</tex>, если больше половины запусков принимают его. <br> Подберем <tex>n</tex>, такое, что <tex>P(p_1(x)=[x \in L]) \ge \frac {2}{3}</tex> и <tex>T(p_1(x)) \le poly(|x|)</tex>. <br> Вероятность <tex>P</tex> того, что <tex>p_1(x)</tex> даст правильный результат равна вероятности, что больше половины запусков <tex>p(x)</tex> дадут правильный результат. Тогда по схеме Бернулли <tex>P = \sum\limits_{i = \lfloor \frac{n}{2} \rfloor + 1}^n \binom{n}{i}p^i (1 - p)^{n - i}</tex>, где <tex>p=\frac {1}{2} + \frac {1} {q(|x|)}</tex> — вероятность, что запуск <tex>p(x)</tex> даст правильный ответ. По неравенству Чернова : <tex> P \ge 1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2} </tex>. То есть для того, чтобы <tex>P(p(x)=[x \in L]) \ge \frac {2}{3}</tex> достаточно подобрать такое <tex>n</tex>, что <tex>1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2} \ge \frac {2}{3}</tex>. Получаем, что <tex>n \ge \frac {\ln 3} {2(p - \frac {1} {2})^2} = \frac {{q(|x|)}^2 \ln 3}{2} </tex>. Возьмем <tex>n = \lceil \frac {{q(|x|)}^2 \ln 3}{2} \rceil </tex>, тогда неравенство <tex>T(p_1(x)) \le poly(|x|)</tex> будет выполнено. |
* Докажем, что <tex>\mathrm{BPP} = \mathrm{BPP_{strong}}</tex> | * Докажем, что <tex>\mathrm{BPP} = \mathrm{BPP_{strong}}</tex> | ||
# <tex>\mathrm{BPP_{strong}} \subseteq \mathrm{BPP} </tex> <br> Это следует из определений <tex>\mathrm{BPP}</tex> и <tex>\mathrm{BPP_{strong}}</tex>. | # <tex>\mathrm{BPP_{strong}} \subseteq \mathrm{BPP} </tex> <br> Это следует из определений <tex>\mathrm{BPP}</tex> и <tex>\mathrm{BPP_{strong}}</tex>. | ||
| − | # <tex>\mathrm{BPP} \subseteq \mathrm{BPP_{strong}}</tex> <br> Пусть <tex>L \in \mathrm{BPP}</tex>. Тогда <tex>\exists p : P(p(x)=[x \in L]) \ge \frac {2}{3}</tex>. <br> Построим ВМТ <tex>p_1</tex>, которая для входа <tex>x</tex> запускает <tex>p(x)</tex> <tex>n</tex> раз, и | + | # <tex>\mathrm{BPP} \subseteq \mathrm{BPP_{strong}}</tex> <br> Пусть <tex>L \in \mathrm{BPP}</tex>. Тогда <tex>\exists p : P(p(x)=[x \in L]) \ge \frac {2}{3}</tex>. <br> Построим ВМТ <tex>p_1</tex>, которая для входа <tex>x</tex> запускает <tex>p(x)</tex> <tex>n</tex> раз, и принимает <tex>x</tex>, если больше половины запусков принимают его. <br> Подберем <tex>n</tex>, такое, что <tex>P(p_1(x)=[x \in L]) \ge 1 - \frac {1}{2^{q(|x|)}}</tex> и <tex>T(p_1(x)) \le poly(|x|)</tex>. <br> Проводя рассуждения, аналогичные изложенным в доказательстве <tex>\mathrm{BPP_{weak}} \subseteq \mathrm{BPP}</tex>, получаем, что <tex>1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2} \ge 1 - \frac {1}{2^{q(|x|)}}</tex>, где <tex>p = \frac {2} {3}</tex>. Отсюда <tex>n \ge \frac {{q(|x|)} \ln 2}{2({\frac {2}{3} - \frac {1}{2}})^2} </tex>. Возьмем <tex>n = \lceil 18 {q(|x|)} \ln 2 \rceil </tex>, тогда неравенство <tex>T(p_1(x)) \le poly(|x|)</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>. | ||
}} | }} | ||
== См. также == | == См. также == | ||
| − | * [[Вероятностные вычисления. Вероятностная машина Тьюринга]] | + | * [[Вероятностные вычисления. Вероятностная машина Тьюринга]] <br> |
| + | * [http://en.wikipedia.org/wiki/Chernoff_bound Неравенство Чернова] | ||
| + | |||
| + | [[Категория:Классы сложности]] | ||
| + | [[Категория:Теория формальных языков]] | ||
Текущая версия на 19:33, 4 сентября 2022
Определения
| Определение: |
(от bounded probabilistic polynomial) — множество языков , для которых существует такая ВМТ , что для любого :
|
— сложностный класс, допускающий двусторонние ошибки.
Константу можно заменить на любое число из промежутка , так как требуемой вероятности можно добиться множественным запуском . Замена константы на сделала бы данный класс равным (программа, возвращающая результат функции random(), подошла бы для любого языка).
| Определение: |
— класс языков , для которых существует такая ВМТ , что для любого :
|
| Определение: |
— класс языков , для которых существует такая ВМТ , что для любого :
|
Теорема
| Теорема: |
. |
| Доказательство: |
|
В доказательстве будет использоваться неравенство Чернова:
|
| Теорема: |
. |
| Доказательство: |
|
Пусть — программа для . Программу для определим следующим образом: (x) u <- (x) v <- (x) return u or v Пусть . В этом случае вероятность ошибки равна . Пусть . Тогда с вероятностью будет верно и вернет правильный ответ. Аналогично доказывается, что . |