Классы 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надо выбрать таким, чтобы выполнялось неравенство . Отсюда . |