Сложностный класс ZPP — различия между версиями
(→Доказательство) |
м (rollbackEdits.php mass rollback) |
||
(не показано 10 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
===Определения=== | ===Определения=== | ||
− | Классом <tex>ZPP</tex> называется множество языков, для которых существует [[Вероятностная машина Тьюринга|вероятностная машина Тьюринга]] такая, что математическое ожидание времени ее работы на входе | + | Классом <tex>ZPP</tex> называется множество языков, для которых существует [[Вероятностная машина Тьюринга|вероятностная машина Тьюринга]] такая, что математическое ожидание времени ее работы на входе длины <tex>n</tex> равно <tex>O(poly(n))</tex>. |
<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>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> | ||
Строка 16: | Строка 17: | ||
==Доказательство== | ==Доказательство== | ||
− | <tex> | + | *<tex>ZPP \supset ZPP^{'}</tex> |
Пусть язык <tex>L \in ZPP^{'}</tex>, тогда для него существует [[Вероятностная машина Тьюринга|вероятностная машина Тьюринга]] <tex>m_1</tex>. Построим [[Вероятностная машина Тьюринга|вероятностную машину Тьюринга]] <tex>m_2</tex>, которая на входе <tex>x</tex> работает следущим образом: | Пусть язык <tex>L \in ZPP^{'}</tex>, тогда для него существует [[Вероятностная машина Тьюринга|вероятностная машина Тьюринга]] <tex>m_1</tex>. Построим [[Вероятностная машина Тьюринга|вероятностную машину Тьюринга]] <tex>m_2</tex>, которая на входе <tex>x</tex> работает следущим образом: | ||
− | + | 1) Запускает <tex>m_1(x)</tex>. | |
− | + | 2) Если <tex>m_1(x)=0</tex> или <tex>m_1(x)=1</tex>, то <tex>m_2</tex> возвращает <tex>0</tex> или <tex>1</tex> соответственно. Если же <tex>m_1(x)=?</tex>, то перейдем к пункту 1. | |
− | <tex>E(T(m_2(x)))= \sum_{i}^{ \infty } poly(x) | + | <tex>E(T(m_2(x)))= \sum_{i}^{ \infty } poly(x) \cdot p^i \cdot i = poly(x) \cdot \sum_{i}^{ \infty } \frac{i}{2^i}</tex> |
<tex>\sum_{i}^{ \infty } \frac{i}{2^i}</tex> сходится. | <tex>\sum_{i}^{ \infty } \frac{i}{2^i}</tex> сходится. | ||
− | Таким образом <tex>E(T(m_2(x)))=O( | + | Таким образом <tex>E(T(m_2(x)))=O(poly(|x|))</tex>, значит <tex>ZPP \supset ZPP^{'}</tex>. |
− | <tex> | + | *<tex>ZPP \subset ZPP^{'}</tex> |
Пусть язык <tex>L \in ZPP</tex>, тогда для него существует [[Вероятностная машина Тьюринга|вероятностная машина Тьюринга]] <tex>m_1</tex> такая, что <tex>E(T(m_1(x))) \le p(|x|)</tex>, где <tex>p \in poly</tex>. | Пусть язык <tex>L \in ZPP</tex>, тогда для него существует [[Вероятностная машина Тьюринга|вероятностная машина Тьюринга]] <tex>m_1</tex> такая, что <tex>E(T(m_1(x))) \le p(|x|)</tex>, где <tex>p \in poly</tex>. | ||
− | Сделаем машину <tex>m_2</tex>, которая будет запускать <tex>m_1</tex> на <tex>2 | + | Сделаем машину <tex>m_2</tex>, которая будет запускать <tex>m_1</tex> на <tex>2 \cdot p(|x|)</tex> шагов, если <tex>m_1</tex> не завершила свою работу, то <tex>m_2</tex> выдаст 'не знаю', в противном случаи вернет результат работы <tex>m_1</tex>. |
− | Значит, <tex>L \in ZPP^{'}</tex>. | + | Пусть <tex>p(m_1(x) = ?) > \frac{1}{2}</tex>, тогда <tex>E(T(m_1(x))) > p(|x|)</tex> — противоречие. |
+ | |||
+ | Значит, <tex>p(m_1(x) = ?) \le \frac{1}{2}</tex>, следовательно <tex>L \in ZPP^{'}</tex>. | ||
Таким образом <tex>ZPP \subset ZPP^{'}</tex>. | Таким образом <tex>ZPP \subset ZPP^{'}</tex>. | ||
Утверждение доказано. | Утверждение доказано. | ||
+ | |||
+ | ===Замечание=== | ||
+ | |||
+ | В дальнейшем будем рассматривать то определение класса <tex>ZPP</tex>, которое более удобно. |
Текущая версия на 19:12, 4 сентября 2022
Определения
Классом вероятностная машина Тьюринга такая, что математическое ожидание времени ее работы на входе длины равно .
называется множество языков, для которых существует
Введем в рассмотрение класс
.Определение
Классом вероятностная машина Тьюринга такая, что время ее работы на входе длинны не превосходит . У есть три конечных состояния: 'да', 'нет', 'не знаю' и 'не знаю'
называется множество языков, для которых существует.
Утверждение
Доказательство
Пусть язык вероятностная машина Тьюринга . Построим вероятностную машину Тьюринга , которая на входе работает следущим образом:
, тогда для него существует1) Запускает
.2) Если
или , то возвращает или соответственно. Если же , то перейдем к пункту 1.
сходится.
Таким образом
, значит .Пусть язык вероятностная машина Тьюринга такая, что , где .
, тогда для него существуетСделаем машину
, которая будет запускать на шагов, если не завершила свою работу, то выдаст 'не знаю', в противном случаи вернет результат работы .Пусть
, тогда — противоречие.Значит,
, следовательно .Таким образом
.Утверждение доказано.
Замечание
В дальнейшем будем рассматривать то определение класса
, которое более удобно.