Соотношение вероятностных классов
| Теорема: |
. |
| Доказательство: |
|
1. . Если в программе для заменить все вызовы random() на недетерминированный выбор, то получим программу для с ограничениями . 2. . Приведем программу с ограничениями класса , которая разрешает . Пусть функция infair_coin() моделирует нечестную монету, а именно возвращает единицу с вероятностью , где мы определим позже, и ноль с вероятностью . Пусть также — верификатор сертификатов для . Тогда будет выглядеть следующим образом: (x) c <- случайный сертификат if (x, c) return 1 return infair_coin() Необходимо удовлетворить условию . Пусть . В этом случае вернет и результат работы программы будет зависеть от нечестной монеты. Она вернет с вероятностью . Пусть . Тогда по формуле полной вероятности , где — вероятность угадать правильный сертификат. Заметим, что поскольку длина всех сертификатов ограничена некоторым полиномом и существует хотя бы один правильный сертификат, . Найдем из неравенства : ; ; . Достаточно взять . Из сделанного выше замечания следует, что работу функции infair_coin() можно смоделировать с помощью не более чем вызовов random(). Также учтем, что длина сертификата и время работы полиномиальны относительно . Таким образом, мы построили программу , удовлетворяющую ограничениям класса . 3. . Пусть — программа для языка . Она используют не более чем полиномиальное количество вероятностных бит, так как сама работает за полиномиальное время. Тогда программа для будет перебирать все участки вероятностных лент нужной полиномиальной длины и запускать на них . Ответом будет или в зависимости от того, каких ответов оказалось больше. |