Изменения

Перейти к: навигация, поиск

Класс ZPP

3505 байт добавлено, 23:48, 4 июня 2012
Нет описания правки
{{Определение|definition =<tex>\mathrm{ZPP}</tex> (от ''zero-error probabilistic polynomial'') — множество языков <tex>L</tex>, для которых <tex>\exists p \forall x</tex>:#перенаправление <tex>\operatorname{P}(p(x) \ne [x \in L]) = 0</tex>;<br># <tex>\operatorname{E}[Сложностный \operatorname{T}(p, x)] = poly(|x|)</tex>.<br>}}<tex>\mathrm{ZPP}</tex> — сложностный класс , такой что программы, удовлетворяющие его ограничениям, не могут делать ошибок, но работают за полиномиальное время только в среднем случае. Напомним, что математическое ожидание является усреднением по вероятностным лентам, а не по входу <tex>x</tex>.  Для данного класса существует и другое определение. Ниже мы покажем, что оба определения эквивалентны.{{Определение|definition =<tex>\mathrm{ZPP}_1</tex> — множество языков <tex>L</tex>, для которых <tex>\exists p \forall x</tex>:# <tex>p(x) \in \{0, 1, ?\}</tex>;# <tex>p(x) \ne \enskip? \Rightarrow p(x) = [x \in L]</tex>;# <tex>\operatorname{P}(p(x) = \enskip?) \le 1/2</tex>;# <tex>\forall r \operatorname{T}(p, x) \le poly(|x|).</tex>}} {{Утверждение|statement = <tex>\mathrm{ZPP} = \mathrm{ZPP}_1</tex>.|proof =1. <tex>\mathrm{ZPP} \subset \mathrm{ZPP}_1</tex>. Пусть <tex>X</tex> — случайная величина, равная времени работы программы <tex>p</tex> для <tex>\mathrm{ZPP}</tex>, <tex>X > 0</tex>. Запишем [http://ru.wikipedia.org/wiki/Неравенство_Маркова неравенство Маркова]: <tex>\operatorname{P}(X > k \operatorname{E}[X]) \le 1/k</tex>. Подставим <tex>k = 2</tex>. Тогда, если запустить программу <tex>p</tex> для <tex>\mathrm{ZPP}</tex> с ограничением по времени <tex>2E[X]</tex>, она не успеет завершиться с вероятностью, не превышающей <tex>1/2</tex>. Опишем программу <tex>q</tex> для <tex>\mathrm{ZPP}_1</tex>. Она будет возвращать <tex>?</tex>, если <tex>p</tex> не успеет завершиться, а иначе — результат работы программы <tex>p</tex>. Заметим, что <tex>q</tex> работает полиномиальное время, так как <tex>E[X]</tex> ограничено некоторым полиномом по определению класса <tex>\mathrm{ZPP}</tex>. 2. <tex>\mathrm{ZPP_1} \subset \mathrm{ZPP}</tex>.Будем запускать программу <tex>p</tex> для <tex>\mathrm{ZPP_1}</tex>, пока не получим ответ, отличный от <tex>?</tex>. Математическое ожидание количества запусков <tex>p</tex> не превышает <tex>\sum\limits_{k = 0}^\infty \frac{k}{2^k} = 2</tex>. Значит, новая программа будет в среднем работать за полиномиальное время, что и требуется для класса <tex>\mathrm{ZPP}</tex>.}} == Литература ==* [http://www.cs.princeton.edu/theory/complexity/ Sanjeev Arora, Boaz Barak. Computational Complexity: A Modern Approach]
322
правки

Навигация