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