Randomized Complexity

561 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
561
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Randomized Complexity

  1. 1. Вероятностные вычисления Н.Н. Кузюрин С.А. Фомин 10 октября 2008 г. 1 / 28
  2. 2. Вероятностная Машина Тьюринга Определение Вероятностная машина Тьюринга аналогична недетерминированной машине Тьюринга, только вместо недетерминированного перехода в два состояния машина выбирает один из вариантов с равной вероятностью. Определение Вероятностная машина Тьюринга представляет собой детерминированную машину Тьюринга, имеющую дополнительно источник случайных битов, любое число которых, например, она может «заказать» и «загрузить» на отдельную ленту и потом использовать в вычислениях обычным для МТ образом. 2 / 28
  3. 3. Классификация ВМТ zero-error — ВМТ не допускающие ошибок (могут и не выдать никакого ответа). one-sided error — ВМТ с односторонними ошибками (могут произойти и ложные срабатывания — ошибки второго рода). two-sided error — ВМТ с двусторонними ошибками. Ошибки могут быть и первого и второго рода, но вероятность правильного ответа должна быть больше (чем больше, 1 тем лучше) 2 . 3 / 28
  4. 4. RP и coRP:«ВМТ с односторонней ошибкой» Определение Класс сложности RP (Random Polynomial-time) состоит из всех языков L, для которых существует полиномиальная ВМТ M, такая, что: 1 x ∈L ⇒ P[M(x) = 1] ≥ , 2 x ∈L / ⇒ P[M(x) = 0] = 1. Определение Класс сложности coRP (Complementary Random Polynomial-time) состоит из всех языков L, для которых существует полиномиальная ВМТ M, такая, что: x ∈L ⇒ P[M(x) = 1] = 1, 1 x ∈L / ⇒ P[M(x) = 0] ≥ . 2 4 / 28
  5. 5. RP и coRP через ДМТ Определение Класс сложности RP состоит из всех языков L, для которых существуют некий полином p(·) и полиномиальная МТ M(x, y ), такая, что: |{y : M(x, y ) = 1, |y | ≤ p(|x|)}| 1 x ∈L ⇒ ≥ , 2p(|x|) 2 x ∈L / ⇒ ∀y , M(x, y ) = 0. Определение Класс сложности coRP состоит из всех языков L, для которых существуют некий полином p(·) и полиномиальная МТ M(x, y ), такая, что: x ∈L ⇒ ∀y , M(x, y ) = 1, |{y : M(x, y ) = 0, |y | ≤ p(|x|)}| 1 x ∈L / ⇒ ≥ . 2p(|x|) 2 5 / 28
  6. 6. RP/coRP vs. N P/coN P NP RP 1 x ∈ L ⇒ ∃y , M(x, y ) = 1 x ∈ L ⇒ доля y: M(x, y ) = 1 ≥ 2 x ∈ L ⇒ ∀y , M(x, y ) = 0 / x ∈ L ⇒ ∀y , M(x, y ) = 0 / Лемма RP ⊆ N P. Лемма coRP ⊆ coN P. 6 / 28
  7. 7. Вероятностная амплификация Определение ˜ ˜ C ≡ {L : ∃ полиномиальная ВМТ M}, и ˜ 3 x ∈ L ⇒ P[M(x) = 1] ≥ 4 ˜ x ∈ L ⇒ P[M(x) = 1] = 0 / ˜ Очевидно C ⊆ RP. 7 / 28
  8. 8. Вероятностная амплификация Лемма ˜ ˜ RP ⊆ C ⇒ C ≡ RP. Доказательство. Допустим L ∈ RP ⇒ ВМТ M(x) из определения «RP». ˜ ˜ Машина M: запустим на x M два раза, выдадим M: M1 (x) ∨ M2 (x). 1 Вероятность ошибки (x ∈ L, а M(x) = 0) pM < 2 . ˜ M ошибается при ошибке машины M на обоих запусках. Вероятность такой ошибки будет 1 1 1 pM = ˜ · ≤ . pM pM 4 ˜ ˜ Для языка L, M удовлетворяет описанию C . 8 / 28
  9. 9. RP: Вероятностная амплификация Определение RP weak = {L : ∃ полиномиальная ВМТ M, и полином p(·) }: 1 x ∈ L ⇒ P[M(x) = 1] ≥ p(|x|) x ∈ L ⇒ P[M(x) = 1] = 0 / RP strong = {L : ∃ полиномиальная ВМТ M, и полином p(·) }: x ∈ L ⇒ P[M(x) = 1] ≥ 1 − 2−p(|x|) x ∈ L ⇒ P[M(x) = 1] = 0 / Лемма RP weak = RP strong = RP 9 / 28
  10. 10. RP: Вероятностная амплификация Определение RP weak = {L : ∃ полиномиальная ВМТ M, и полином p(·) }: 1 x ∈ L ⇒ P[M(x) = 1] ≥ p(|x|) x ∈ L ⇒ P[M(x) = 1] = 0 / RP strong = {L : ∃ полиномиальная ВМТ M, и полином p(·) }: x ∈ L ⇒ P[M(x) = 1] ≥ 1 − 2−p(|x|) x ∈ L ⇒ P[M(x) = 1] = 0 / Лемма RP weak = RP strong = RP 10 / 28
  11. 11. RP weak ∈ RP strong Доказательство. На x Mstrong запускает t раз Mweak , и возвращает Логическое ИЛИ от всех результатов. Вероятность ошибки (если x ∈ L): t(|x|) 1 P(Mstrong (x) = 0) = (P(Mweak (x) = 0))t(|x|) = 1− . p(|x|) Необходимое «для разгона» количество запусков: t(|x|) 1 1− ≤ 2−p(|x|) , p(|x|) log 2 p(|x|) t(|x|) ≥ − ≥ log 2 · p 2 (|x|). 1 log 1 − p(|x|) 11 / 28
  12. 12. BPP:«ВМТ с двусторонней ошибкой» Определение Класс сложности BPP (Bounded-Probability Polynomial-time) состоит из всех языков L, для которых существует полиномиальная ВМТ M, такая, что: 2 x ∈ L ⇒ P[M(x) = 1] ≥ , 3 2 x ∈ L ⇒ P[M(x) = 0] ≥ . / 3 12 / 28
  13. 13. Определение ∃ константа c, 0 < c < 1; L ∈ BPP weak ⇐⇒ ∃ положительный полином p(·); ∃ полиномиальная ВМТ M; 1 x ∈ L ⇒ P[M(x) = 1] ≥ c + p(|x|) 1 x ∈ L ⇒ P[M(x) = 1] < c − / p(|x|) ∃ положительный полином p(·); L ∈ BPP strong ⇐⇒ ∃ полиномиальная ВМТ M; x ∈ L ⇒ P[M(x) = 1] ≥ 1 − 2−p(|x|) x ∈ L ⇒ P[M(x) = 0] ≥ 1 − 2−p(|x|) / 13 / 28
  14. 14. t независимых испытаний; Mt — число осуществлений события A в t испытаниях. Закон Больших Чисел для схемы Бернулли Если событие A с одной и той же вероятностью p, тогда Mt −→ p t Mt p(1 − p) ∀ε > 0 P −p ≥ε ≤ . t tε2 Оценка Чернова (Chernoff bounds) 1 Если событие A с одной и той же вероятностью p ≥ 2 , тогда 2 t 1 P Mt > ≥ 1 − exp −2 p − t . 2 2 14 / 28
  15. 15. BPP weak ⊆ BPP ⇒ BPP weak = BPP M, вычислит p(|x|) и t = 6p 2 (|x|) раз запустит Mweak , и вернет t M(x) = Mt = Miweak > t · c i=1 P1err = P(M(x) = 0|x ∈ L) = P(Mt < t · c) 1 E(Mt (x)|x ∈ L) = t · E Miweak (x) ≥ t · c + , p(|x|) E(Mt ) Применяя теорему Бернулли и 0 ≤ t ≤ 1, получаем: Mt E(Mt ) 1 p 2 (|x|) 1 P1err ≤ P − ≥ ≤ ≤ . t t p(|x|) t 3 Аналогично оценивается P2err = P(M(x) = 1|x ∈ L). / 15 / 28
  16. 16. BPP ⊆ BPP strong ⇒ BPP strong = BPP Mstrong запускает t = 2p(|x|) + 1 раз BPP-машину M, решение — на основе «большинства». Если x ∈ L, то, согласно оценкам Чернова, вероятность правильного ответа: 2 1 P(Mstrong (x) = 1) ≥ 1 − exp −2 p − ·t 2 2 2 1 = 1 − exp −2 − · (2p(|x|) + 1) 3 2 2p(|x|) + 1 = 1 − exp − 18 p(|x|) > 1 − e− 9 > 1 − 2−p(|x|) 16 / 28
  17. 17. Неамплифицируемый класс PP Определение Класс сложности PP (Probability Polynomial-time) состоит из всех языков L, для которых существует полиномиальная ВМТ M, такая, что: 1 x ∈ L ⇒ P[M(x) = 1] > , 2 1 x ∈ L ⇒ P[M(x) = 0] > . / 2 17 / 28
  18. 18. Неамплифицируемый класс PP Определение L ∈ PP weak , если ∃ полиномиальная ВМТ M: 1 x ∈ L ⇒ P[M(x) = 1] > 2 1 x ∈ L ⇒ P[M(x) = 0] ≥ / 2 Лемма PP weak = PP Упражнение Что будет, если в определении PP, в обоих неравенствах поставить «≥»? Какой класс языков будет определен? 18 / 28
  19. 19. Неамплифицируемый класс PP Определение L ∈ PP weak , если ∃ полиномиальная ВМТ M: 1 x ∈ L ⇒ P[M(x) = 1] > 2 1 x ∈ L ⇒ P[M(x) = 0] ≥ / 2 Лемма PP weak = PP Упражнение Что будет, если в определении PP, в обоих неравенствах поставить «≥»? Какой класс языков будет определен? 19 / 28
  20. 20. Неамплифицируемый класс PP Определение L ∈ PP weak , если ∃ полиномиальная ВМТ M: 1 x ∈ L ⇒ P[M(x) = 1] > 2 1 x ∈ L ⇒ P[M(x) = 0] ≥ / 2 Лемма PP weak = PP Упражнение Что будет, если в определении PP, в обоих неравенствах поставить «≥»? Какой класс языков будет определен? 20 / 28
  21. 21. PP ⊆ PSPACE Доказательство. ∀L ∈ PP, из MPP можно сделать M: 1 запускает MPP на x и всех 2p(|x|) возможных вероятностных строках; 2 результат определяется по большинству результатов запусков. Машина M будет 1 разрешать язык L; 2 потреблять не более полинома ячеек на ленте, т.к. каждый запуск MPP может использовать один и тот же полиномиальный отрезок ленты. 21 / 28
  22. 22. N P ⊆ PP Доказательство. Пусть для MNP |y | < p(|x|). Сделаем из машины MNP машину MPP , которая будет использовать p(|x|) + 1 случайных бит: MPP (x, r1 , . . . , rp(|x|)+1 ) ≡ rp(|x|)+1 ∨ MNP (x, r1 , . . . , rp(|x|) ) x ∈ L ⇒ P(M(x) = 1) = 1 −p(|x|) 1 > 2. 2 +2 1 x ∈ L ⇒ P(M(x) = 0) = / 2. Получаем L ∈ PP weak = PP. 22 / 28
  23. 23. Класс ZPP.«Вероятность без ошибок» Определение Класс сложности ZPP состоит из всех языков L, для которых существует полиномиальная ВМТ M, возвращающая только ответы «0»,«1»,«?» («не знаю»), причем: 1 x ∈ L ⇒ P[M(x) = 1] > ∧ P[M(x) = 1] + P[M(x) = «?»] = 1, 2 1 x ∈ L ⇒ P[M(x) = 0] > / ∧ P[M(x) = 0] + P[M(x) = «?»] = 1. 2 23 / 28
  24. 24. ZPP = RP ∩ coRP Доказательство. ZPP ⊆ RP, т.к. для любого языка L ∈ ZPP, из машины MZPP можно сделать машину M из определения «RP»: Answer = MZPP (x) if Answer = «?» then Answer = 0 end if RETURN Answer 1 x ∈ L ⇒ P[MZPP (x) = 1] > 2 ⇒ P[M(x) = 1] ≥ 1 . 2 x ∈L⇒ / P[M(x) = 0] = P[MZPP (x) = 0] + P[MZPP (x) = «?»] = 1. Аналогично доказывается, что ZPP ⊆ coRP. 24 / 28
  25. 25. ZPP = RP ∩ coRP Доказательство. Покажем, что RP ∩ coRP ⊆ ZPP. Изготовим машину M (ZPP) из MRP и McoRP : if MRP (x) = 1 then RETURN «1» end if if McoRP (x) = 0 then RETURN «0» end if RETURN «?» 25 / 28
  26. 26. Упражнение Класс сложности ZPP NotNull состоит из всех языков L, для которых существует ВМТ M, всегда возвращающая правильные ответы (т.е. никаких «не знаю»), причем ∃ полином p(n), что для времени работы TM (x) машины M выполняется: E TM (x) ≤ p(|x|). Докажите, что ZPP NotNull = ZPP. 26 / 28
  27. 27. Карта памяти лекции 27 / 28
  28. 28. Интернет поддержка курса http://discopal.ispras.ru/ Вопросы? 28 / 28

×