Сложностные классы RP и coRP — различия между версиями
| Строка 9: | Строка 9: | ||
==Теорема о равенстве ZPP и пересечения RP и coRP== | ==Теорема о равенстве ZPP и пересечения RP и coRP== | ||
| − | + | <tex>\mbox{ZPP} = \mbox{RP}\bigcap\mbox{coRP}</tex> | |
| − | <tex>\mbox{ZPP | + | Воспользуемся следующим определением [[ Класс ZPP | '''ZPP''' ]]: |
| + | |||
| + | <tex>\mbox{ZPP} = \{ L \mid \exists m : L(m)=L,~ p(m(x) = ?) \le \frac{1}{2} \}</tex>, | ||
| + | |||
| + | где <tex>m</tex> - это вероятностная машина Тьюринга, время работы которой ограничено полиномом от длины входа. | ||
'''Доказательство.''' | '''Доказательство.''' | ||
| − | <tex>\mbox{ZPP | + | <tex>\mbox{ZPP} \subset\mbox{RP}</tex> |
Пусть язык <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>. | ||
| Строка 45: | Строка 49: | ||
} | } | ||
</code> | </code> | ||
| − | Осталось показать, что <tex> \mbox{RP} \bigcap \mbox{coRP} \subset \mbox{ZPP | + | Осталось показать, что <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 | + | Пусть <tex>m_1</tex> - вероятностная машина Тьюринга для языка <tex>L</tex> из определения '''RP''', а <tex>m_2</tex> - соответствующая машина из определения '''coRP'''. Тогда алгоритм для машины <tex>m</tex> из определения '''ZPP''' будет устроен следующим образом: |
<code> | <code> | ||
| Строка 63: | Строка 67: | ||
Аналогично, если <tex> x \notin L </tex>, то <tex>\mbox{P}(m(x) = 0) = \mbox{P}(m_2(x) = 0) \geq \frac{1}{2}</tex>. | Аналогично, если <tex> x \notin L </tex>, то <tex>\mbox{P}(m(x) = 0) = \mbox{P}(m_2(x) = 0) \geq \frac{1}{2}</tex>. | ||
| − | В итоге получаем, что машина <tex>m</tex> никогда не ошибается и возвращает определенный результат с вероятностью большей либо равной одной второй, что соответствует определению класса '''ZPP | + | В итоге получаем, что машина <tex>m</tex> никогда не ошибается и возвращает определенный результат с вероятностью большей либо равной одной второй, что соответствует определению класса '''ZPP'''. |
Версия 15:40, 15 апреля 2010
Определение классов RP и coRP
Классы языков RP и coRP определяются следующим образом:
В этих определениях - это вероятностная машина Тьюринга, время работы которой ограничено полиномом от длины входа.
Теорема о равенстве ZPP и пересечения RP и coRP
Воспользуемся следующим определением ZPP :
,
где - это вероятностная машина Тьюринга, время работы которой ограничено полиномом от длины входа.
Доказательство.
Пусть язык . Нужно показать, что .
Алгоритм для вероятностной машины Тьюринга из определения класса RP будет выглядеть так:
(x){ switch ((x)) { case 0: return 0; case 1: return 1; case ?: return 0; // выдала ответ "не знаю" } }
Так как машина выдает ответ "не знаю" с вероятностью не больше одной второй, а в ответах или никогда не ошибается, вероятность правильного ответа в случае, если слово принадлежит языку, будет не меньше одной второй, а слово не из языка всегда будет обнаружено, что соответствует определению класса RP.
Аналогичным образом доказывается, что :
(x){ switch ((x)) { case 0: return 0; case 1: return 1; case ?: return 1; // выдала ответ "не знаю" } }
Осталось показать, что . То есть если и , то .
Пусть - вероятностная машина Тьюринга для языка из определения RP, а - соответствующая машина из определения coRP. Тогда алгоритм для машины из определения ZPP будет устроен следующим образом:
(x){ if ((x)) return 1; if (!(x)) return 0; return ?; //возвращаем ответ "не знаю" }
Пусть . Тогда вероятность . Если же вернула , то, поскольку всегда в этой ситуации, машина вернет "не знаю". Получается, что .
Аналогично, если , то .
В итоге получаем, что машина никогда не ошибается и возвращает определенный результат с вероятностью большей либо равной одной второй, что соответствует определению класса ZPP.