Классы BPP и PP — различия между версиями
м (rollbackEdits.php mass rollback) |
|||
(не показано 7 промежуточных версий 5 участников) | |||
Строка 6: | Строка 6: | ||
# <tex>T(p, x) \le poly(|x|)</tex> для любой [[Вероятностные вычисления. Вероятностная машина Тьюринга |вероятностной ленты]]. | # <tex>T(p, x) \le poly(|x|)</tex> для любой [[Вероятностные вычисления. Вероятностная машина Тьюринга |вероятностной ленты]]. | ||
}} | }} | ||
− | |||
<tex>\mathrm{BPP}</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''(), подошла бы для любого языка). | Константу <tex>2/3</tex> можно заменить на любое число из промежутка <tex>(1/2, 1)</tex>, так как требуемой вероятности можно добиться множественным запуском <tex>p</tex>. Замена константы на <tex>1/2</tex> сделала бы данный класс равным <tex>\Sigma^*</tex> (программа, возвращающая результат функции ''random''(), подошла бы для любого языка). | ||
+ | |||
+ | {{Определение | ||
+ | |definition = | ||
+ | <tex>\mathrm{PP}</tex> (от ''probabilistic polynomial'') — множество языков <tex>L</tex>, для которых <tex>\exists p \forall x</tex>: | ||
+ | # <tex>\operatorname{P}(p(x) = [x \in L]) > 1/2</tex>; | ||
+ | # <tex>\forall r \operatorname{T}(p, x) \le poly(|x|)</tex>. | ||
+ | }} | ||
+ | <tex>\mathrm{PP}</tex> также допускает двусторонние ошибки, но является более широким по сравнению с <tex>\mathrm{BPP}</tex>. | ||
+ | |||
{{Определение | {{Определение | ||
Строка 39: | Строка 47: | ||
# <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>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> будет выполнено. | # <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> будет выполнено. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
Строка 60: | Строка 52: | ||
* [[Вероятностные вычисления. Вероятностная машина Тьюринга]] <br> | * [[Вероятностные вычисления. Вероятностная машина Тьюринга]] <br> | ||
* [http://en.wikipedia.org/wiki/Chernoff_bound Неравенство Чернова] | * [http://en.wikipedia.org/wiki/Chernoff_bound Неравенство Чернова] | ||
+ | * [http://en.wikipedia.org/wiki/PP_(complexity) Wikipedia — PP compexity class] | ||
+ | * [http://en.wikipedia.org/wiki/Bounded-error_probabilistic_polynomial Wikipedia — BPP complexity class] | ||
− | [[Категория: Теория | + | [[Категория:Классы сложности]] |
+ | [[Категория:Теория формальных языков]] |
Текущая версия на 19:26, 4 сентября 2022
Определения
Определение: |
ВМТ , что для любого :
| (от bounded probabilistic polynomial) — множество языков , для которых существует такая
— сложностный класс, допускающий двусторонние ошибки. Константу можно заменить на любое число из промежутка , так как требуемой вероятности можно добиться множественным запуском . Замена константы на сделала бы данный класс равным (программа, возвращающая результат функции random(), подошла бы для любого языка).
Определение: |
| (от probabilistic polynomial) — множество языков , для которых :
также допускает двусторонние ошибки, но является более широким по сравнению с .
Определение: |
| — класс языков , для которых существует такая ВМТ , что для любого :
Определение: |
| — класс языков , для которых существует такая ВМТ , что для любого :
Теорема
Теорема: |
. |
Доказательство: |
В доказательстве будет использоваться неравенство Чернова:
|