Сложностный класс ZPP — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Доказательство)
(Альтернативное определения)
Строка 4: Строка 4:
 
<tex>ZPP = \{ L | \exists m : L(m)=L, E(T(m(x))) = O(poly(|x|)) \}</tex>
 
<tex>ZPP = \{ L | \exists m : L(m)=L, E(T(m(x))) = O(poly(|x|)) \}</tex>
  
===Альтернативное определения===
+
===Альтернативное определение===
  
 
Классом <tex>ZPP^{'}</tex> называется множество языков, для которых существует [[Вероятностная машина Тьюринга|вероятностная машина Тьюринга]] <tex>m</tex> такая, что время ее работы на входе длинны <tex>n</tex> не превосходит <tex>poly(n)</tex>. У <tex>m</tex> есть три конечных состояния: 'да', 'нет', 'не знаю' и <tex>p(m(x) = </tex>'не знаю'<tex>) \le \frac{1}{2}</tex>  
 
Классом <tex>ZPP^{'}</tex> называется множество языков, для которых существует [[Вероятностная машина Тьюринга|вероятностная машина Тьюринга]] <tex>m</tex> такая, что время ее работы на входе длинны <tex>n</tex> не превосходит <tex>poly(n)</tex>. У <tex>m</tex> есть три конечных состояния: 'да', 'нет', 'не знаю' и <tex>p(m(x) = </tex>'не знаю'<tex>) \le \frac{1}{2}</tex>  

Версия 14:04, 14 апреля 2010

Определения

Классом [math]ZPP[/math] называется множество языков, для которых существует вероятностная машина Тьюринга такая, что математическое ожидание времени ее работы на входе длинны [math]n[/math] равно [math]O(poly(n))[/math].

[math]ZPP = \{ L | \exists m : L(m)=L, E(T(m(x))) = O(poly(|x|)) \}[/math]

Альтернативное определение

Классом [math]ZPP^{'}[/math] называется множество языков, для которых существует вероятностная машина Тьюринга [math]m[/math] такая, что время ее работы на входе длинны [math]n[/math] не превосходит [math]poly(n)[/math]. У [math]m[/math] есть три конечных состояния: 'да', 'нет', 'не знаю' и [math]p(m(x) = [/math]'не знаю'[math]) \le \frac{1}{2}[/math]

[math]ZPP^{'} = \{ L | \exists m : L(m)=L, T(m(x)) \le poly(|x|) p(m(x) = ?) \le \frac{1}{2} \}[/math].

Утверждение

[math]ZPP = ZPP^{'}[/math]

Доказательство

[math]1)ZPP \supset ZPP^{'}[/math]

Пусть язык [math]L \in ZPP^{'}[/math], тогда для него существует вероятностная машина Тьюринга [math]m_1[/math]. Построим вероятностную машину Тьюринга [math]m_2[/math], которая на входе [math]x[/math] работает следущим образом:

  • Запускает [math]m_1(x)[/math].
  • Если [math]m_1(x)=0[/math] или [math]m_1(x)=1[/math], то [math]m_2[/math] возвращает [math]0[/math] или [math]1[/math] соответственно. Если же [math]m_1(x)=?[/math], то начнем сначала.

[math]E(T(m_2(x)))= \sum_{i}^{ \infty } poly(x)*p^i*i = poly(x) * \sum_{i}^{ \infty } \frac{i}{2^i}[/math]

[math]\sum_{i}^{ \infty } \frac{i}{2^i}[/math] сходится.

Таким образом [math]E(T(m_2(x)))=O(ploly(|x|))[/math], значит [math]ZPP \supset ZPP^{'}[/math].

[math]2)ZPP \subset ZPP^{'}[/math]

Пусть язык [math]L \in ZPP[/math], тогда для него существует вероятностная машина Тьюринга [math]m[/math] такая, что [math]E(T(m(x))) \le p(|x|)[/math].

Следовательно [math]T(m(x)) \le 2*p(|x|)[/math]. Значит, [math]L \in ZPP^{'}[/math].

Таким образом [math]ZPP \subset ZPP^{'}[/math].

Утверждение доказано.