Классы RP и coRP — различия между версиями
м |
м (rollbackEdits.php mass rollback) |
||
| (не показано 15 промежуточных версий 5 участников) | |||
| Строка 2: | Строка 2: | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | Сложностный класс <tex>\mathrm{RP}</tex> состоит из языков <tex>L</tex> таких, что существует | + | Сложностный класс <tex>\mathrm{RP}</tex> состоит из языков <tex>L</tex> таких, что существует [[Вероятностные вычисления. Вероятностная машина Тьюринга|ВМТ]] <tex>m</tex> такая, что для любого <tex>x</tex>: |
| − | # <tex>x \notin L \Rightarrow P( | + | # <tex>x \notin L \Rightarrow P(m(x) = 0) = 1</tex>; |
| − | # <tex>x \in L \Rightarrow P( | + | # <tex>x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{2}</tex>; |
| + | # <tex>T(m(x, r)) \le poly(|x|)</tex> для любой вероятностной ленты <tex>r</tex>. | ||
}} | }} | ||
| + | <tex>\mathrm{RP}</tex> — сложностный класс, допускающий ошибки программ на словах из <tex>L</tex>. | ||
| + | Заметим, что константа <tex>1/2</tex> в пункте 2 определения <tex>\mathrm{RP}</tex> может быть заменена на любую другую из промежутка <tex>(0, 1)</tex>, поскольку требуемой вероятности можно добиться множественным запуском программы. | ||
| + | |||
| + | <tex>\mathrm{RP}</tex> можно рассматривать как вероятностный аналог класса <tex>\mathrm{NP}</tex>, предполагая, что вероятность угадать сертификат в случае его существования не менее <tex>1/2</tex>. | ||
| + | |||
| + | {{Определение | ||
| + | |definition = | ||
| + | <tex>\mathrm{coRP} = \{L \bigm| \overline L \in \mathrm{RP}\}</tex>. | ||
| + | }} | ||
| + | Класс <tex>\mathrm{coRP}</tex> допускает ошибки программ на словах, не принадлежащих <tex>L</tex>. | ||
| + | |||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | Сложностный класс <tex>\mathrm{RP_{weak}}</tex> состоит из языков <tex>L</tex> таких, что существует | + | Сложностный класс <tex>\mathrm{RP_{weak}}</tex> состоит из языков <tex>L</tex> таких, что существует ВМТ <tex>m</tex> такая, что для любого <tex>x</tex>: |
| − | # <tex>x \notin L \Rightarrow P( | + | # <tex>x \notin L \Rightarrow P(m(x) = 0) = 1</tex>; |
| − | # <tex>x \in L \Rightarrow P( | + | # <tex>x \in L \Rightarrow P(m(x) = 1) \geq \frac{1}{q(|x|)}</tex>, где <tex>q(|x|)</tex> — некоторый полином, <tex>q(|x|) \geq 1</tex>; |
| + | # <tex>T(m(x, r)) \le poly(|x|)</tex> для любой вероятностной ленты <tex>r</tex>. | ||
}} | }} | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | Сложностный класс <tex>\mathrm{RP_{strong}}</tex> состоит из языков <tex>L</tex> таких, что существует | + | Сложностный класс <tex>\mathrm{RP_{strong}}</tex> состоит из языков <tex>L</tex> таких, что существует ВМТ <tex>m</tex> такая, что для любого <tex>x</tex>: |
| − | # <tex>x \notin L \Rightarrow P( | + | # <tex>x \notin L \Rightarrow P(m(x) = 0) = 1</tex>; |
| − | # <tex>x \in L \Rightarrow P( | + | # <tex>x \in L \Rightarrow P(m(x) = 1) \geq 1 - \frac{1}{2^{q(|x|)}}</tex>, где <tex>q(|x|)</tex> — некоторый полином; |
| + | # <tex>T(m(x, r)) \le poly(|x|)</tex> для любой вероятностной ленты <tex>r</tex>. | ||
}} | }} | ||
== Теорема об эквивалентности определений == | == Теорема об эквивалентности определений == | ||
{{Теорема | {{Теорема | ||
| − | |statement=<tex>\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}</tex> | + | |statement=<tex>\mathrm{RP}=\mathrm{RP_{weak}}=\mathrm{RP_{strong}}</tex>. |
|proof= | |proof= | ||
<tex>\mathrm{RP_{weak}} \subset \mathrm{RP}\colon</tex><br/> | <tex>\mathrm{RP_{weak}} \subset \mathrm{RP}\colon</tex><br/> | ||
| Строка 27: | Строка 41: | ||
<tex>p_{\mathrm{RP}}(x)</tex> | <tex>p_{\mathrm{RP}}(x)</tex> | ||
'''for''' <tex>i = 1 \ldots k</tex> // <tex>k</tex> будет определено позже | '''for''' <tex>i = 1 \ldots k</tex> // <tex>k</tex> будет определено позже | ||
| − | '''if''' <tex>p_{\mathrm{RP_{weak}}}(x)</tex> | + | '''if''' <tex>p_{\mathrm{RP_{weak}}}(x)</tex> |
'''return''' <tex>1</tex> | '''return''' <tex>1</tex> | ||
'''return''' <tex>0</tex> | '''return''' <tex>0</tex> | ||
| Строка 36: | Строка 50: | ||
<tex>p_{\mathrm{RP_{weak}}}(x)</tex> | <tex>p_{\mathrm{RP_{weak}}}(x)</tex> | ||
'''for''' <tex>i = 1 \ldots k</tex> // <tex>k</tex> будет определено позже | '''for''' <tex>i = 1 \ldots k</tex> // <tex>k</tex> будет определено позже | ||
| − | '''if''' <tex>p_{\mathrm{RP}}(x)</tex> | + | '''if''' <tex>p_{\mathrm{RP}}(x)</tex> |
'''return''' <tex>1</tex> | '''return''' <tex>1</tex> | ||
'''return''' <tex>0</tex> | '''return''' <tex>0</tex> | ||
| Строка 46: | Строка 60: | ||
<tex>p_{\mathrm{RP_{strong}}}(x)</tex> | <tex>p_{\mathrm{RP_{strong}}}(x)</tex> | ||
'''for''' <tex>i = 1 \ldots k</tex> // <tex>k</tex> будет определено позже | '''for''' <tex>i = 1 \ldots k</tex> // <tex>k</tex> будет определено позже | ||
| − | '''if''' <tex>p_{\mathrm{RP}}(x)</tex> | + | '''if''' <tex>p_{\mathrm{RP}}(x)</tex> |
'''return''' <tex>1</tex> | '''return''' <tex>1</tex> | ||
'''return''' <tex>0</tex> | '''return''' <tex>0</tex> | ||
| Строка 55: | Строка 69: | ||
<tex>p_{\mathrm{RP}}(x)</tex> | <tex>p_{\mathrm{RP}}(x)</tex> | ||
'''for''' <tex>i = 1 \ldots k</tex> // <tex>k</tex> будет определено позже | '''for''' <tex>i = 1 \ldots k</tex> // <tex>k</tex> будет определено позже | ||
| − | '''if''' <tex>p_{\mathrm{RP_{strong}}}(x)</tex> | + | '''if''' <tex>p_{\mathrm{RP_{strong}}}(x)</tex> |
'''return''' <tex>1</tex> | '''return''' <tex>1</tex> | ||
'''return''' <tex>0</tex> | '''return''' <tex>0</tex> | ||
<tex>k</tex> надо выбрать таким, чтобы выполнялось неравенство<br/><tex>(\frac{1}{2^{q(|x|)}})^k < \frac{1}{2}</tex>.<br/> Отсюда <tex>k > \frac{1}{q(|x|)}</tex>. | <tex>k</tex> надо выбрать таким, чтобы выполнялось неравенство<br/><tex>(\frac{1}{2^{q(|x|)}})^k < \frac{1}{2}</tex>.<br/> Отсюда <tex>k > \frac{1}{q(|x|)}</tex>. | ||
}} | }} | ||
| + | |||
| + | == Литература == | ||
| + | * S.Arora, B.Barak. Randomized computation. Cambridge University, January 2007. [http://www.cs.princeton.edu/theory/complexity/bppchap.pdf] | ||
== См. также == | == См. также == | ||
*[[Вероятностные вычисления. Вероятностная машина Тьюринга]] | *[[Вероятностные вычисления. Вероятностная машина Тьюринга]] | ||
Текущая версия на 19:05, 4 сентября 2022
Определения
| Определение: |
Сложностный класс состоит из языков таких, что существует ВМТ такая, что для любого :
|
— сложностный класс, допускающий ошибки программ на словах из . Заметим, что константа в пункте 2 определения может быть заменена на любую другую из промежутка , поскольку требуемой вероятности можно добиться множественным запуском программы.
можно рассматривать как вероятностный аналог класса , предполагая, что вероятность угадать сертификат в случае его существования не менее .
| Определение: |
| . |
Класс допускает ошибки программ на словах, не принадлежащих .
| Определение: |
Сложностный класс состоит из языков таких, что существует ВМТ такая, что для любого :
|
| Определение: |
Сложностный класс состоит из языков таких, что существует ВМТ такая, что для любого :
|
Теорема об эквивалентности определений
| Теорема: |
. |
| Доказательство: |
|
for // будет определено позже if return return Если слово , то всегда возвращает . Тогда , при . Если хотя бы один вызов программы вернёт , то слово . Вероятность ошибки программы меньше, чем , то есть вероятность ошибки программы меньше, чем . надо выбрать таким, что вероятность ошибки программы при была меньше . Получается неравенство .
for // будет определено позже if return return Но здесь выбирается так, чтобы выполнялось неравенство
for // будет определено позже if return return В этом случае необходимо выбрать таким, что должно выполняться неравенство . То есть
for // будет определено позже if return returnнадо выбрать таким, чтобы выполнялось неравенство . Отсюда . |
Литература
- S.Arora, B.Barak. Randomized computation. Cambridge University, January 2007. [1]