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

Материал из Викиконспекты
Перейти к: навигация, поиск
(Теорема)
Строка 2: Строка 2:
 
{{Определение
 
{{Определение
 
|definition=
 
|definition=
<tex>\mathrm{BPP_{weak}}</tex> — класс языков <tex>L</tex>, для которых существует <tex>p</tex>, такая, что для любого <tex>x</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(x)) \le poly(|x|)</tex> для любой [[Вероятностные вычисления. Вероятностная машина Тьюринга |вероятностной ленты]].
 
#<tex>T(p(x)) \le poly(|x|)</tex> для любой [[Вероятностные вычисления. Вероятностная машина Тьюринга |вероятностной ленты]].
Строка 9: Строка 9:
 
{{Определение
 
{{Определение
 
|definition=
 
|definition=
<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 - 1 / {2^{q(|x|)}}</tex>, где <tex>q</tex>-полином и <tex>q(|x|) \ge 3</tex>;
 
#<tex>P(p(x)=[x \in L]) \ge 1 - 1 / {2^{q(|x|)}}</tex>, где <tex>q</tex>-полином и <tex>q(|x|) \ge 3</tex>;
 
#<tex>T(p(x)) \le poly(|x|)</tex> для любой вероятностной ленты.
 
#<tex>T(p(x)) \le poly(|x|)</tex> для любой вероятностной ленты.
Строка 24: Строка 24:
 
* Докажем, что <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>x</tex>, то <tex>p_1</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</tex> такое, что <tex>T(p_1(x)) \le poly(|x|)</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>, то <tex>p_1</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</tex> такое, что <tex>T(p_1(x)) \le poly(|x|)</tex>
  
 
* Докажем, что <tex>\mathrm{BPP} = \mathrm{BPP_{strong}}</tex>
 
* Докажем, что <tex>\mathrm{BPP} = \mathrm{BPP_{strong}}</tex>

Версия 23:31, 1 июня 2012

Определения

Определение:
[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 - 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 \ge \frac {1} {2} : \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]p_1[/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[/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]p_1[/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]n \ge \frac {{q(|x|)} \ln 2}{2({\frac {2}{3} - \frac {1}{2}})^2} [/math]. Следовательно, мы можем взять [math]n[/math] такое, что [math]T(p_1(x)) \le poly(|x|)[/math]
[math]\triangleleft[/math]

См. также