Сложностный класс BPP — различия между версиями
Строка 1: | Строка 1: | ||
==Определение класса PP== | ==Определение класса PP== | ||
− | Классом <tex>\mbox{PP}</tex> (от англ. ''probabilistic, polynomial'')называется множество языков, для которых существует вероятностная машина Тьюринга такая, что вероятность того, что ее выходное значение совпадает с принадлежностью входа данным языкам больше <tex>\frac{1}{2}</tex> и время ее работы ограничено полиномом от длины входа. | + | Классом <tex>\mbox{PP}</tex> (от англ. ''probabilistic, polynomial'') называется множество языков, для которых существует вероятностная машина Тьюринга такая, что вероятность того, что ее выходное значение совпадает с принадлежностью входа данным языкам больше <tex>\frac{1}{2}</tex> и время ее работы ограничено полиномом от длины входа. |
<tex>\mbox{PP} = \{L | \exists m : \mbox{T}(m,x) = poly(|x|), \mbox{P}(m(x) = [x \in L]) > \frac{1}{2} \}</tex> | <tex>\mbox{PP} = \{L | \exists m : \mbox{T}(m,x) = poly(|x|), \mbox{P}(m(x) = [x \in L]) > \frac{1}{2} \}</tex> | ||
В этом определениях <tex>m</tex> - это [[Вероятностные машины Тьюринга | вероятностная машина Тьюринга]]. | В этом определениях <tex>m</tex> - это [[Вероятностные машины Тьюринга | вероятностная машина Тьюринга]]. | ||
Строка 9: | Строка 9: | ||
Классом <tex>\mbox{BPP}</tex> (от англ. ''bounded-error, probabilistic, polynomial'') называется множество языков, для которых существует вероятностная машина Тьюринга такая, что вероятность того, что ее выходное значение совпадает с принадлежностью входа данным языкам больше <tex>\frac{2}{3}</tex> и время ее работы ограничено полиномом от длины входа. | Классом <tex>\mbox{BPP}</tex> (от англ. ''bounded-error, probabilistic, polynomial'') называется множество языков, для которых существует вероятностная машина Тьюринга такая, что вероятность того, что ее выходное значение совпадает с принадлежностью входа данным языкам больше <tex>\frac{2}{3}</tex> и время ее работы ограничено полиномом от длины входа. | ||
<tex>\mbox{BPP} = \{L | \exists m : \mbox{T}(m,x) = poly(|x|), \mbox{P}(m(x) = [x \in L]) > \frac{2}{3} \}</tex> | <tex>\mbox{BPP} = \{L | \exists m : \mbox{T}(m,x) = poly(|x|), \mbox{P}(m(x) = [x \in L]) > \frac{2}{3} \}</tex> | ||
− | , где <tex>m</tex> | + | , где <tex>m</tex> - [[Вероятностная машина Тьюринга|вероятностная машина Тьюринга]]. |
Очевидно, класс <tex>\mbox{BPP} \in \mbox{PP}</tex>. | Очевидно, класс <tex>\mbox{BPP} \in \mbox{PP}</tex>. | ||
− | Число <tex>\frac{2}{3}</tex> в определении выбрано произвольно: если вместо него выбрать любое число, строго большее <tex>\frac{1}{2}</tex>, то получится тот же самый класс. Это верно, поскольку если есть машина Тьюринга, распознающая язык с вероятностью ошибки <tex>p</tex>, то точность можно сколь угодно хорошо улучшить за счёт относительно небольшого прироста времени. Если мы запустим машину <tex> | + | |
+ | Так же еще существуют два [[Класс BPP|эквивалентных]] определения <tex>BPP</tex>: | ||
+ | *<tex>\mbox{BPP}_{weak} = \{L | \exists m : \mbox{T}(m,x) = poly(|x|), \mbox{P}(m(x) = [x \in L]) > \frac{1}{2} + 1/p(|x|)\}</tex>, где <tex>m</tex> - [[Вероятностная машина Тьюринга|ВМТ]], а <tex>p(|x|): \forall x: p(|x|) > 2</tex> - полином. | ||
+ | *<tex>\mbox{BPP}_{strong} = \{L | \exists m : \mbox{T}(m,x) = poly(|x|), \mbox{P}(m(x) = [x \in L]) > 1 - 2^{-p(|x|)}\}</tex>, где <tex>m</tex> -- [[Вероятностная машина Тьюринга|ВМТ]], а <tex>p(|x|)</tex> -- полином. | ||
+ | |||
+ | |||
+ | Число <tex>\frac{2}{3}</tex> в определении выбрано произвольно: если вместо него выбрать любое число, строго большее <tex>\frac{1}{2}</tex>, то получится тот же самый класс. Это верно, поскольку если есть машина Тьюринга, распознающая язык с вероятностью ошибки <tex>p</tex>, то точность можно сколь угодно хорошо улучшить за счёт относительно небольшого прироста времени. Если мы запустим машину <tex>k</tex> раз подряд, а в качестве результата возьмём результат большинства запусков, то вероятность ошибки упадёт до <tex>\left(2 \sqrt{p(1-p)} \right)^k</tex>, а время останется равным <tex>poly(|x|)</tex>. Здесь <tex>k</tex> запусков машины рассматриваются как схема Бернулли с <tex>k</tex> испытаниями и вероятностью успеха <tex>1-p</tex>, а формула, выражающая ошибку, — вероятность неудачи не менее чем в половине случаев. Если теперь запустить машину <tex>k^{2}</tex> раз подряд, то время все еще будет <tex>poly(|x|)</tex>, а вероятность ошибки упадёт до <tex>\left(2 \sqrt{p(1-p)} \right)^{k^2}</tex>. Таким образом, с ростом показателя многочлена, оценивающего время, точность растёт экспоненциально, и можно достичь любого нужного значения. |
Версия 13:24, 15 апреля 2010
Определение класса PP
Классом вероятностная машина Тьюринга.
(от англ. probabilistic, polynomial) называется множество языков, для которых существует вероятностная машина Тьюринга такая, что вероятность того, что ее выходное значение совпадает с принадлежностью входа данным языкам больше и время ее работы ограничено полиномом от длины входа. В этом определениях - этоНо это очень широкий класс, поэтому вводится класс
.Определение класса BPP
Классом вероятностная машина Тьюринга.
(от англ. bounded-error, probabilistic, polynomial) называется множество языков, для которых существует вероятностная машина Тьюринга такая, что вероятность того, что ее выходное значение совпадает с принадлежностью входа данным языкам больше и время ее работы ограничено полиномом от длины входа. , где -Очевидно, класс
.Так же еще существуют два эквивалентных определения :
Число в определении выбрано произвольно: если вместо него выбрать любое число, строго большее , то получится тот же самый класс. Это верно, поскольку если есть машина Тьюринга, распознающая язык с вероятностью ошибки , то точность можно сколь угодно хорошо улучшить за счёт относительно небольшого прироста времени. Если мы запустим машину раз подряд, а в качестве результата возьмём результат большинства запусков, то вероятность ошибки упадёт до , а время останется равным . Здесь запусков машины рассматриваются как схема Бернулли с испытаниями и вероятностью успеха , а формула, выражающая ошибку, — вероятность неудачи не менее чем в половине случаев. Если теперь запустить машину раз подряд, то время все еще будет , а вероятность ошибки упадёт до . Таким образом, с ростом показателя многочлена, оценивающего время, точность растёт экспоненциально, и можно достичь любого нужного значения.