Вероятностные вычисления. Вероятностная машина Тьюринга — различия между версиями
| Строка 1: | Строка 1: | ||
{{В разработке}} | {{В разработке}} | ||
[[Категория: Теория сложности]] | [[Категория: Теория сложности]] | ||
| − | + | Вероятностные вычисления — один из подходов в теории вычислительной сложности, в котором программы получают доступ к случайным битам. Мы рассмотрим классы сложности, для которых разрешающие программы могут делать односторонние, двусторонние ошибки или работать за полиномиальное время лишь в среднем случае. | |
== Основные определения == | == Основные определения == | ||
| Строка 11: | Строка 11: | ||
|definition = | |definition = | ||
'''Вероятностной машиной Тьюринга''' будем называть машину Тьюринга, имеющее доступ к вероятностной ленте. | '''Вероятностной машиной Тьюринга''' будем называть машину Тьюринга, имеющее доступ к вероятностной ленте. | ||
| − | |||
}} | }} | ||
При интерпретации вероятностной машины Тьюринга как программы, обращение к очередному биту можно трактовать как вызов специальной функции ''random''(). При этом также будем предполагать, что вероятностная лента является неявным аргументом для программы, т.е. <tex>p(x) = p(x, r)</tex>, где <tex>r</tex> — вероятностная лента. | При интерпретации вероятностной машины Тьюринга как программы, обращение к очередному биту можно трактовать как вызов специальной функции ''random''(). При этом также будем предполагать, что вероятностная лента является неявным аргументом для программы, т.е. <tex>p(x) = p(x, r)</tex>, где <tex>r</tex> — вероятностная лента. | ||
| + | <br> | ||
| + | В дальнейшем все вероятностные соображения будут относиться к пространству вероятностных лент <tex>r</tex>, вход же программы <tex>x</tex> будем считать фиксированным. | ||
Здесь будет теорема о том, что утверждения, связанные с ВМТ, являются событиями. | Здесь будет теорема о том, что утверждения, связанные с ВМТ, являются событиями. | ||
| − | + | ||
== Вероятностные сложностные классы == | == Вероятностные сложностные классы == | ||
| − | |||
| − | |||
| − | |||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
| Строка 69: | Строка 67: | ||
... | ... | ||
<br> | <br> | ||
| − | 2. Покажем, что <tex>\mathrm{PP} \subset \mathrm{PS}</tex>. Пусть <tex>p</tex> — разрешающая программа для языка <tex>L \in \mathrm{PP}</tex>. Она используют не более чем полиномиальное количество вероятностных бит, так как сама работает за полиномиальное время. Тогда программа для <tex>\mathrm{PS}</tex> будет перебирать все участки вероятностных лент нужной полиномиальной длины и запускать на них <tex>p</tex>. Ответом будет <tex>0</tex> или <tex>1</tex> в зависимости от того, каких ответов <tex>p</tex> оказалось больше. | + | 2. Покажем, что <tex>\mathrm{RP} \subset \mathrm{NP}</tex>. Если в разрешающей программе для <tex>L \in \mathrm{RP}</tex> заменить все вызовы ''random''() на недетерминированный выбор, то получим программу с ограничениями <tex>\mathrm{NP}</tex>, разрешающую <tex>L</tex>. |
| + | <br> | ||
| + | Покажем, что <tex>\mathrm{PP} \subset \mathrm{PS}</tex>. Пусть <tex>p</tex> — разрешающая программа для языка <tex>L \in \mathrm{PP}</tex>. Она используют не более чем полиномиальное количество вероятностных бит, так как сама работает за полиномиальное время. Тогда программа для <tex>\mathrm{PS}</tex> будет перебирать все участки вероятностных лент нужной полиномиальной длины и запускать на них <tex>p</tex>. Ответом будет <tex>0</tex> или <tex>1</tex> в зависимости от того, каких ответов <tex>p</tex> оказалось больше. | ||
<br> | <br> | ||
Теперь докажем, что <tex>\mathrm{NP} \subset \mathrm{PP}</tex>. Приведем программу <tex>q</tex> с ограничениями класса <tex>PP</tex>, которая разрешает <tex>L \in \mathrm{NP}</tex>. Пусть функция ''infair_coin''() возвращает единицу с вероятностью <tex>1/2 - \varepsilon</tex>, где <tex>\varepsilon</tex> мы определим позже, и ноль с вероятностью <tex>1/2 + \varepsilon</tex>. Пусть также <tex>V</tex> — верификатор сертификатов для <tex>L</tex>. Тогда <tex>q</tex> будет выглядеть следующим образом: | Теперь докажем, что <tex>\mathrm{NP} \subset \mathrm{PP}</tex>. Приведем программу <tex>q</tex> с ограничениями класса <tex>PP</tex>, которая разрешает <tex>L \in \mathrm{NP}</tex>. Пусть функция ''infair_coin''() возвращает единицу с вероятностью <tex>1/2 - \varepsilon</tex>, где <tex>\varepsilon</tex> мы определим позже, и ноль с вероятностью <tex>1/2 + \varepsilon</tex>. Пусть также <tex>V</tex> — верификатор сертификатов для <tex>L</tex>. Тогда <tex>q</tex> будет выглядеть следующим образом: | ||
Версия 04:08, 30 мая 2012
Вероятностные вычисления — один из подходов в теории вычислительной сложности, в котором программы получают доступ к случайным битам. Мы рассмотрим классы сложности, для которых разрешающие программы могут делать односторонние, двусторонние ошибки или работать за полиномиальное время лишь в среднем случае.
Содержание
Основные определения
| Определение: |
| Вероятностная лента — бесконечная последовательность битов. Распределение битов на ленте подчиняется некоторому вероятностному закону (обычно считают, что вероятность нахождения или в каждой позиции равна ). |
| Определение: |
| Вероятностной машиной Тьюринга будем называть машину Тьюринга, имеющее доступ к вероятностной ленте. |
При интерпретации вероятностной машины Тьюринга как программы, обращение к очередному биту можно трактовать как вызов специальной функции random(). При этом также будем предполагать, что вероятностная лента является неявным аргументом для программы, т.е. , где — вероятностная лента.
В дальнейшем все вероятностные соображения будут относиться к пространству вероятностных лент , вход же программы будем считать фиксированным.
Здесь будет теорема о том, что утверждения, связанные с ВМТ, являются событиями.
Вероятностные сложностные классы
| Определение: |
| (от zero-error probabilistic polynomial) — множество языков , для которых :
1) ; |
| Определение: |
| (от randomized polynomial) — множество языков , для которых :
1) ; |
Заметим, что константа в пункте 2 определения может быть заменена на любую другую из промежутка , поскольку требуемой вероятности можно добиться множественным запуском программы. Определим также как дополнение к .
можно рассматривать как вероятностный аналог класса , предполагая, что вероятность угадать сертификат в случае его существования не менее .
| Определение: |
| (от bounded probabilistic polynomial) — множество языков , для которых :
1) ; |
Аналогично сделанному выше замечанию, константу можно заменить на любое число из промежутка . Замена константы на сделало бы данный класс равным .
| Определение: |
| (от bounded probabilistic polynomial) — множество языков , для которых :
1) ; |
Соотношение вероятностных классов
| Теорема: |
1.
2. 3. |
| Доказательство: |
|
1. Утверждение является очевидным, так как программы, разрешающие , удовлетворяют ограничениям класса .
q(x): c <- случайный сертификат return V(c) ? 1 : infair_coin() ... 3. ... |