Классы RP и coRP — различия между версиями
(→Теорема об эквивалентности определений) |
м (→Определения) |
||
Строка 2: | Строка 2: | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
− | Сложностный класс <tex>\mathrm{RP}</tex> состоит из языков <tex>L</tex> таких, что существует программа <tex> | + | Сложностный класс <tex>\mathrm{RP}</tex> состоит из языков <tex>L</tex> таких, что существует программа <tex>p</tex>, которая работает за полиномиальное время, и: |
− | # <tex>x \notin L \Rightarrow P( | + | # <tex>x \notin L \Rightarrow P(p(x) = 0) = 1</tex>; |
− | # <tex>x \in L \Rightarrow P( | + | # <tex>x \in L \Rightarrow P(p(x) = 1) \geq \frac{1}{2}</tex>. |
}} | }} | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
− | Сложностный класс <tex>\mathrm{RP_{weak}}</tex> состоит из языков <tex>L</tex> таких, что существует программа <tex> | + | Сложностный класс <tex>\mathrm{RP_{weak}}</tex> состоит из языков <tex>L</tex> таких, что существует программа <tex>p</tex>, которая работает за полиномиальное время, и: |
− | # <tex>x \notin L \Rightarrow P( | + | # <tex>x \notin L \Rightarrow P(p(x) = 0) = 1</tex>; |
− | # <tex>x \in L \Rightarrow P( | + | # <tex>x \in L \Rightarrow P(p(x) = 1) \geq \frac{1}{q(|x|)}</tex>, где <tex>q(|x|)</tex> — некоторый полином, <tex>q(|x|) \geq 1</tex>. |
}} | }} | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
− | Сложностный класс <tex>\mathrm{RP_{strong}}</tex> состоит из языков <tex>L</tex> таких, что существует программа <tex> | + | Сложностный класс <tex>\mathrm{RP_{strong}}</tex> состоит из языков <tex>L</tex> таких, что существует программа <tex>p</tex>, которая работает за полиномиальное время, и: |
− | # <tex>x \notin L \Rightarrow P( | + | # <tex>x \notin L \Rightarrow P(p(x) = 0) = 1</tex>; |
− | # <tex>x \in L \Rightarrow P( | + | # <tex>x \in L \Rightarrow P(p(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}</tex>, где <tex>q(|x|)</tex> — некоторый полином. |
}} | }} | ||
Версия 09:59, 3 июня 2012
Определения
Определение: |
Сложностный класс
| состоит из языков таких, что существует программа , которая работает за полиномиальное время, и:
Определение: |
Сложностный класс
| состоит из языков таких, что существует программа , которая работает за полиномиальное время, и:
Определение: |
Сложностный класс
| состоит из языков таких, что существует программа , которая работает за полиномиальное время, и:
Теорема об эквивалентности определений
Теорема: |
Доказательство: |
for // будет определено позже if then return return Если слово , то всегда возвращает . Тогда , при . Если хотя бы один вызов программы вернёт , то слово . Вероятность ошибки программы равна , то есть вероятность ошибки программы равна . надо выбрать таким, что вероятность ошибки программы при была меньше . Получается неравенство . Логарифмируя, получаем: . Разложив логарифм в ряд Тейлора, получаем . Отсюда .
for // будет определено позже if then return return Но здесь выбирается так, чтобы выполнялось неравенство . Из него получается, что .
for // будет определено позже if then return return В этом случае необходимо выбрать таким, что должно выполняться неравенство . Разложив в ряд Тейлора получаем, что . То есть надо взять больше, чем .
for // будет определено позже if then return return надо выбрать таким, чтобы выполнялось неравенство . Отсюда . |