Сложностные классы RP и coRP — различия между версиями
(Новая страница: «==Определение классов RP и coRP== Классы языков RP и coRP определяются следующим образом: <tex>\mbox{RP}…») |
|||
| Строка 1: | Строка 1: | ||
==Определение классов RP и coRP== | ==Определение классов RP и coRP== | ||
| − | Классы языков RP и coRP определяются следующим образом: | + | Классы языков '''RP''' и '''coRP''' определяются следующим образом: |
| − | <tex>\mbox{RP} = \{L \mid \exists m: \mbox{P}(m(x) = 1 \mid x \in L)\geq \frac{1}{2}\}</tex> | + | <tex>\mbox{RP} = \{L \mid \exists m: \mbox{P}(m(x) = 1 \mid x \in L)\geq \frac{1}{2}\}</tex> |
| − | <tex>\mbox{coRP} = \{L \mid \exists m: \mbox{P}(m(x) = 0 \mid x \ | + | <tex>\mbox{coRP} = \{L \mid \exists m: \mbox{P}(m(x) = 0 \mid x \notin L)\geq \frac{1}{2}\}</tex> |
| + | |||
| + | В этих определениях <tex>m</tex> - это вероятностная машина Тьюринга, время работы которой ограничено полиномом от длины входа. | ||
==Теорема о равенстве ZPP и пересечения RP и coRP== | ==Теорема о равенстве ZPP и пересечения RP и coRP== | ||
| − | Поскольку ранее было доказано утверждение о равенстве классов ZPP и ZPP', можно записать утверждение этой теоремы в виде: | + | Поскольку ранее было доказано утверждение о равенстве классов '''ZPP''' и '''ZPP'''', можно записать утверждение этой теоремы в виде: |
<tex>\mbox{ZPP'} = \mbox{RP}\bigcap\mbox{coRP}</tex> | <tex>\mbox{ZPP'} = \mbox{RP}\bigcap\mbox{coRP}</tex> | ||
| Строка 17: | Строка 19: | ||
Пусть язык <tex>\L = L(m_1) \in \mbox{ZPP}</tex>. Нужно показать, что <tex>\L \in \mbox{RP}</tex>. | Пусть язык <tex>\L = L(m_1) \in \mbox{ZPP}</tex>. Нужно показать, что <tex>\L \in \mbox{RP}</tex>. | ||
| − | + | Алгоритм для вероятностной машины Тьюринга <tex>m</tex> из определения класса '''RP''' будет выглядеть так: | |
<code> | <code> | ||
| − | + | <tex>m</tex>(x){ | |
| − | switch ( | + | '''switch''' (<tex>m_1</tex>(x)) |
{ | { | ||
| − | case 0: return 0; | + | case 0: '''return''' 0; |
| − | case 1: return 1; | + | case 1: '''return''' 1; |
| − | case ?: return 0; | + | case ?: '''return''' 0; ''//<tex>m_1</tex> выдала ответ "не знаю"'' |
} | } | ||
| − | } | + | } |
| + | </code> | ||
| + | Так как машина <tex>m_1</tex> выдает ответ "не знаю" с вероятностью не больше одной второй, а в ответах 0 или 1 никогда не ошибается, вероятность правильного ответа <tex>m</tex> в случае, если слово принадлежит языку, будет не меньше одной второй, а слово не из языка всегда будет обнаружено, что соответствует определению класса '''RP'''. | ||
| + | |||
| + | Аналогичным образом доказывается, что <tex>\L \in \mbox{coRP}</tex>: | ||
| + | |||
| + | <code> | ||
| + | <tex>m</tex>(x){ | ||
| + | '''switch''' (<tex>m_1</tex>(x)) | ||
| + | { | ||
| + | case 0: '''return''' 0; | ||
| + | case 1: '''return''' 1; | ||
| + | case ?: '''return''' 1; ''//<tex>m_1</tex> выдала ответ "не знаю"'' | ||
| + | } | ||
| + | } | ||
| + | </code> | ||
| + | Осталось показать, что <tex> \mbox{RP} \bigcap \mbox{coRP} \subset \mbox{ZPP'} </tex>. То есть если <tex>L \in \mbox{RP} </tex> и <tex>L \in \mbox{coRP} </tex>, то <tex>L \in \mbox{ZPP'} </tex>. | ||
| + | |||
| + | Пусть <tex>m_1</tex> - вероятностная машина Тьюринга для языка <tex>L</tex> из определения '''RP''', а <tex>m_2</tex> - соответствующая машина из определения '''coRP'''. Тогда алгоритм для машины <tex>m</tex> из определения '''ZPP'''' будет устроен следующим образом: | ||
| + | |||
| + | <code> | ||
| + | <tex>m</tex>(x){ | ||
| + | '''if''' (<tex>m_2</tex>(x)) | ||
| + | '''return''' 1; | ||
| + | else | ||
| + | '''if''' (!<tex>m_1</tex>(x)) | ||
| + | '''return''' 0; | ||
| + | return ?; ''//возвращаем ответ "не знаю"'' | ||
| + | } | ||
</code> | </code> | ||
Версия 15:24, 27 марта 2010
Определение классов RP и coRP
Классы языков RP и coRP определяются следующим образом:
В этих определениях - это вероятностная машина Тьюринга, время работы которой ограничено полиномом от длины входа.
Теорема о равенстве ZPP и пересечения RP и coRP
Поскольку ранее было доказано утверждение о равенстве классов ZPP и ZPP', можно записать утверждение этой теоремы в виде:
Доказательство.
Пусть язык . Нужно показать, что .
Алгоритм для вероятностной машины Тьюринга из определения класса RP будет выглядеть так:
(x){ switch ((x)) { case 0: return 0; case 1: return 1; case ?: return 0; // выдала ответ "не знаю" } }
Так как машина выдает ответ "не знаю" с вероятностью не больше одной второй, а в ответах 0 или 1 никогда не ошибается, вероятность правильного ответа в случае, если слово принадлежит языку, будет не меньше одной второй, а слово не из языка всегда будет обнаружено, что соответствует определению класса RP.
Аналогичным образом доказывается, что :
(x){ switch ((x)) { case 0: return 0; case 1: return 1; case ?: return 1; // выдала ответ "не знаю" } }
Осталось показать, что . То есть если и , то .
Пусть - вероятностная машина Тьюринга для языка из определения RP, а - соответствующая машина из определения coRP. Тогда алгоритм для машины из определения ZPP' будет устроен следующим образом:
(x){ if ((x)) return 1; else if (!(x)) return 0; return ?; //возвращаем ответ "не знаю" }