Классы BPP — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
м (rollbackEdits.php mass rollback)
 
Строка 1: Строка 1:
{| class="wikitable" align="center" style="color: red; background-color: black; font-size: 56px; width: 800px;"
 
|+
 
|-align="center"
 
|'''НЕТ ВОЙНЕ'''
 
|-style="font-size: 16px;"
 
|
 
24 февраля 2022 года российское руководство во главе с Владимиром Путиным развязало агрессивную войну против Украины. В глазах всего мира это военное преступление совершено от лица всей страны, всех россиян.
 
 
Будучи гражданами Российской Федерации, мы против своей воли оказались ответственными за нарушение международного права, военное вторжение и массовую гибель людей. Чудовищность совершенного преступления не оставляет возможности промолчать или ограничиться пассивным несогласием.
 
 
Мы убеждены в абсолютной ценности человеческой жизни, в незыблемости прав и свобод личности. Режим Путина — угроза этим ценностям. Наша задача — обьединить все силы для сопротивления ей.
 
 
Эту войну начали не россияне, а обезумевший диктатор. И наш гражданский долг — сделать всё, чтобы её остановить.
 
 
''Антивоенный комитет России''
 
|-style="font-size: 16px;"
 
|Распространяйте правду о текущих событиях, оберегайте от пропаганды своих друзей и близких. Изменение общественного восприятия войны - ключ к её завершению.
 
|-style="font-size: 16px;"
 
|[https://meduza.io/ meduza.io], [https://www.youtube.com/c/popularpolitics/videos Популярная политика], [https://novayagazeta.ru/ Новая газета], [https://zona.media/ zona.media], [https://www.youtube.com/c/MackNack/videos Майкл Наки].
 
|}
 
 
 
==Определения==
 
==Определения==
 
{{Определение
 
{{Определение

Текущая версия на 19:33, 4 сентября 2022

Определения

Определение:
[math]\mathrm{BPP}[/math] (от bounded probabilistic polynomial) — множество языков [math]L[/math], для которых существует такая ВМТ [math]p[/math], что для любого [math]x[/math]:
  1. [math]P(p(x) = [x \in L]) \ge 2/3[/math];
  2. [math]T(p, x) \le poly(|x|)[/math] для любой вероятностной ленты.


[math]\mathrm{BPP}[/math] — сложностный класс, допускающий двусторонние ошибки. Константу [math]2/3[/math] можно заменить на любое число из промежутка [math](1/2, 1)[/math], так как требуемой вероятности можно добиться множественным запуском [math]p[/math]. Замена константы на [math]1/2[/math] сделала бы данный класс равным [math]\Sigma^*[/math] (программа, возвращающая результат функции random(), подошла бы для любого языка).


Определение:
[math]\mathrm{BPP_{weak}}[/math] — класс языков [math]L[/math], для которых существует такая ВМТ [math]p[/math], что для любого [math]x[/math]:
  1. [math]P(p(x)=[x \in L]) \ge \frac {1}{2} + \frac {1} {q(|x|)}[/math], где [math]q[/math]-полином и [math]q(|x|) \ge 3[/math];
  2. [math]T(p, x) \le poly(|x|)[/math] для любой вероятностной ленты.


Определение:
[math]\mathrm{BPP_{strong}}[/math] — класс языков [math]L[/math], для которых существует такая ВМТ [math]p[/math], что для любого [math]x[/math]:
  1. [math]P(p(x)=[x \in L]) \ge 1 - \frac {1} {2^{q(|x|)}}[/math], где [math]q[/math]-полином и [math]q(|x|) \ge 3[/math];
  2. [math]T(p, x) \le poly(|x|)[/math] для любой вероятностной ленты.


Теорема

Теорема:
[math]\mathrm{BPP} = \mathrm{BPP_{weak}} = \mathrm{BPP_{strong}}[/math].
Доказательство:
[math]\triangleright[/math]

В доказательстве будет использоваться неравенство Чернова:
[math]\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}[/math]


  • Докажем, что [math]\mathrm{BPP} = \mathrm{BPP_{weak}}[/math]
  1. [math]\mathrm{BPP} \subseteq \mathrm{BPP_{weak}}[/math]
    Это следует из определений [math]\mathrm{BPP}[/math] и [math]\mathrm{BPP_{weak}}[/math].
  2. [math]\mathrm{BPP_{weak}} \subseteq \mathrm{BPP}[/math]
    Пусть [math]L \in \mathrm{BPP_{weak}}[/math]. Тогда [math]\exists p : P(p(x)=[x \in L]) \ge \frac {1}{2} + \frac {1} {q(|x|)}[/math].
    Построим ВМТ [math]p_1[/math], которая для входа [math]x[/math] запускает [math]p(x)[/math] [math]n[/math] раз, и принимает [math]x[/math], если больше половины запусков принимают его.
    Подберем [math]n[/math], такое, что [math]P(p_1(x)=[x \in L]) \ge \frac {2}{3}[/math] и [math]T(p_1(x)) \le poly(|x|)[/math].
    Вероятность [math]P[/math] того, что [math]p_1(x)[/math] даст правильный результат равна вероятности, что больше половины запусков [math]p(x)[/math] дадут правильный результат. Тогда по схеме Бернулли [math]P = \sum\limits_{i = \lfloor \frac{n}{2} \rfloor + 1}^n \binom{n}{i}p^i (1 - p)^{n - i}[/math], где [math]p=\frac {1}{2} + \frac {1} {q(|x|)}[/math] — вероятность, что запуск [math]p(x)[/math] даст правильный ответ. По неравенству Чернова : [math] P \ge 1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2} [/math]. То есть для того, чтобы [math]P(p(x)=[x \in L]) \ge \frac {2}{3}[/math] достаточно подобрать такое [math]n[/math], что [math]1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2} \ge \frac {2}{3}[/math]. Получаем, что [math]n \ge \frac {\ln 3} {2(p - \frac {1} {2})^2} = \frac {{q(|x|)}^2 \ln 3}{2} [/math]. Возьмем [math]n = \lceil \frac {{q(|x|)}^2 \ln 3}{2} \rceil [/math], тогда неравенство [math]T(p_1(x)) \le poly(|x|)[/math] будет выполнено.
  • Докажем, что [math]\mathrm{BPP} = \mathrm{BPP_{strong}}[/math]
  1. [math]\mathrm{BPP_{strong}} \subseteq \mathrm{BPP} [/math]
    Это следует из определений [math]\mathrm{BPP}[/math] и [math]\mathrm{BPP_{strong}}[/math].
  2. [math]\mathrm{BPP} \subseteq \mathrm{BPP_{strong}}[/math]
    Пусть [math]L \in \mathrm{BPP}[/math]. Тогда [math]\exists p : P(p(x)=[x \in L]) \ge \frac {2}{3}[/math].
    Построим ВМТ [math]p_1[/math], которая для входа [math]x[/math] запускает [math]p(x)[/math] [math]n[/math] раз, и принимает [math]x[/math], если больше половины запусков принимают его.
    Подберем [math]n[/math], такое, что [math]P(p_1(x)=[x \in L]) \ge 1 - \frac {1}{2^{q(|x|)}}[/math] и [math]T(p_1(x)) \le poly(|x|)[/math].
    Проводя рассуждения, аналогичные изложенным в доказательстве [math]\mathrm{BPP_{weak}} \subseteq \mathrm{BPP}[/math], получаем, что [math]1 - \mathrm{e}^{- 2n \left( {p - \frac{1}{2}} \right)^2} \ge 1 - \frac {1}{2^{q(|x|)}}[/math], где [math]p = \frac {2} {3}[/math]. Отсюда [math]n \ge \frac {{q(|x|)} \ln 2}{2({\frac {2}{3} - \frac {1}{2}})^2} [/math]. Возьмем [math]n = \lceil 18 {q(|x|)} \ln 2 \rceil [/math], тогда неравенство [math]T(p_1(x)) \le poly(|x|)[/math] будет выполнено.
[math]\triangleleft[/math]
Теорема:
[math]\mathrm{RP} \cup \mathrm{coRP} \subset \mathrm{BPP}[/math].
Доказательство:
[math]\triangleright[/math]

Пусть [math]p[/math] — программа для [math]L \in \mathrm{RP}[/math]. Программу [math]q[/math] для [math]\mathrm{BPP}[/math] определим следующим образом:

 [math]q[/math](x)
   u <- [math]p[/math](x)
   v <- [math]p[/math](x)
   return u or v

Пусть [math]x \in L[/math]. В этом случае вероятность ошибки равна [math]\operatorname{P}(u = 0, v = 0) = \operatorname{P}(u = 0) \cdot \operatorname{P}(v = 0) \le 1/4[/math].

Пусть [math]x \notin L[/math]. Тогда с вероятностью [math]1[/math] будет верно [math]u = 0, v = 0[/math] и [math]q[/math] вернет правильный ответ.

Аналогично доказывается, что [math]\mathrm{coRP} \subset \mathrm{BPP}[/math].
[math]\triangleleft[/math]

См. также