Top Banner

Click here to load reader

28

Randomized Complexity

Jun 26, 2015

Download

Documents

Stas Fomin
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Randomized Complexity

Вероятностные вычисления

Н.Н. Кузюрин С.А. Фомин

10 октября 2008 г.

1 / 28

Page 2: Randomized Complexity

Вероятностная Машина Тьюринга

Определение

Вероятностная машина Тьюринга аналогичнанедетерминированной машине Тьюринга, только вместонедетерминированного перехода в два состояния машина выбираетодин из вариантов с равной вероятностью.

Определение

Вероятностная машина Тьюринга представляет собойдетерминированную машину Тьюринга, имеющую дополнительноисточник случайных битов, любое число которых, например, онаможет «заказать» и «загрузить» на отдельную ленту и потомиспользовать в вычислениях обычным для МТ образом.

2 / 28

Page 3: Randomized Complexity

Классификация ВМТ

zero-error — ВМТ не допускающие ошибок (могут и не выдатьникакого ответа).

one-sided error — ВМТ с односторонними ошибками (могут произойтии ложные срабатывания — ошибки второго рода).

two-sided error — ВМТ с двусторонними ошибками. Ошибки могутбыть и первого и второго рода, но вероятностьправильного ответа должна быть больше (чем больше,тем лучше) 1

2 .

3 / 28

Page 4: Randomized Complexity

RP и coRP :«ВМТ с односторонней ошибкой»Определение

Класс сложности RP (Random Polynomial-time) состоит из всех языков L, длякоторых существует полиномиальная ВМТ M, такая, что:

x ∈ L ⇒ P[M(x) = 1] ≥ 1

2,

x /∈ L ⇒ P[M(x) = 0] = 1.

Определение

Класс сложности coRP (Complementary Random Polynomial-time) состоит из всехязыков L, для которых существует полиномиальная ВМТ M, такая, что:

x ∈ L ⇒ P[M(x) = 1] = 1,

x /∈ L ⇒ P[M(x) = 0] ≥ 1

2.

4 / 28

Page 5: Randomized Complexity

RP и coRP через ДМТОпределениеКласс сложности RP состоит из всех языков L, для которых существуют некийполином p(·) и полиномиальная МТ M(x , y), такая, что:

x ∈ L ⇒ |{y : M(x , y) = 1, |y | ≤ p(|x |)}|2p(|x|) ≥ 1

2,

x /∈ L ⇒ ∀y , M(x , y) = 0.

ОпределениеКласс сложности coRP состоит из всех языков L, для которых существуют некийполином p(·) и полиномиальная МТ M(x , y), такая, что:

x ∈ L ⇒ ∀y , M(x , y) = 1,

x /∈ L ⇒ |{y : M(x , y) = 0, |y | ≤ p(|x |)}|2p(|x|) ≥ 1

2.

5 / 28

Page 6: Randomized Complexity

RP/coRP vs. NP/coNP

NP RPx ∈ L⇒ ∃y , M(x , y) = 1 x ∈ L⇒ доля y: M(x , y) = 1 ≥ 1

2

x /∈ L⇒ ∀y , M(x , y) = 0 x /∈ L⇒ ∀y , M(x , y) = 0

ЛеммаRP ⊆ NP.

ЛеммаcoRP ⊆ coNP.

6 / 28

Page 7: Randomized Complexity

Вероятностная амплификация

Определение

C̃ ≡ {L : ∃ полиномиальная ВМТ M̃}, и

x ∈ L ⇒ P[M̃(x) = 1] ≥ 3

4

x /∈ L ⇒ P[M̃(x) = 1] = 0

Очевидно C̃ ⊆ RP.

7 / 28

Page 8: Randomized Complexity

Вероятностная амплификация

ЛеммаRP ⊆ C̃ ⇒ C̃ ≡ RP.

Доказательство.Допустим L ∈ RP ⇒ ВМТ M(x) из определения «RP».Машина M̃: запустим на x M два раза, выдадим M̃: M1(x) ∨M2(x).Вероятность ошибки (x ∈ L, а M(x) = 0) pM < 1

2 .M̃ ошибается при ошибке машины M на обоих запусках. Вероятностьтакой ошибки будет

pM̃ =1

pM· 1

pM≤ 1

4.

Для языка L, M̃ удовлетворяет описанию C̃ .

8 / 28

Page 9: Randomized Complexity

RP : Вероятностная амплификацияОпределениеRPweak = {L : ∃ полиномиальная ВМТ M, и полином p(·) }:

x ∈ L ⇒ P[M(x) = 1] ≥ 1

p(|x |)x /∈ L ⇒ P[M(x) = 1] = 0

RPstrong = {L : ∃ полиномиальная ВМТ M, и полином p(·) }:

x ∈ L ⇒ P[M(x) = 1] ≥ 1− 2−p(|x |)

x /∈ L ⇒ P[M(x) = 1] = 0

Лемма

RPweak = RPstrong = RP9 / 28

Page 10: Randomized Complexity

RP : Вероятностная амплификацияОпределениеRPweak = {L : ∃ полиномиальная ВМТ M, и полином p(·) }:

x ∈ L ⇒ P[M(x) = 1] ≥ 1

p(|x |)x /∈ L ⇒ P[M(x) = 1] = 0

RPstrong = {L : ∃ полиномиальная ВМТ M, и полином p(·) }:

x ∈ L ⇒ P[M(x) = 1] ≥ 1− 2−p(|x |)

x /∈ L ⇒ P[M(x) = 1] = 0

Лемма

RPweak = RPstrong = RP10 / 28

Page 11: Randomized Complexity

RPweak ∈ RP strong

Доказательство.На x Mstrong запускает t раз Mweak, и возвращает Логическое ИЛИ отвсех результатов.Вероятность ошибки (если x ∈ L):

P(Mstrong(x) = 0) = (P(Mweak(x) = 0))t(|x |) =

(1− 1

p(|x |)

)t(|x |).

Необходимое «для разгона» количество запусков:(1− 1

p(|x |)

)t(|x |)≤ 2−p(|x |),

t(|x |) ≥ − log 2 p(|x |)

log(1− 1

p(|x |)

) ≥ log 2 · p2(|x |).

11 / 28

Page 12: Randomized Complexity

BPP :«ВМТ с двусторонней ошибкой»

Определение

Класс сложности BPP (Bounded-Probability Polynomial-time) состоитиз всех языков L, для которых существует полиномиальная ВМТ M,такая, что:

x ∈ L ⇒ P[M(x) = 1] ≥ 2

3,

x /∈ L ⇒ P[M(x) = 0] ≥ 2

3.

12 / 28

Page 13: Randomized Complexity

Определение

L ∈ BPPweak ⇐⇒∃ константа c , 0 < c < 1;∃ положительный полином p(·);∃ полиномиальная ВМТ M;

x ∈ L ⇒ P[M(x) = 1] ≥ c +1

p(|x |)

x /∈ L ⇒ P[M(x) = 1] < c − 1

p(|x |)

L ∈ BPPstrong ⇐⇒∃ положительный полином p(·);∃ полиномиальная ВМТ M;

x ∈ L ⇒ P[M(x) = 1] ≥ 1− 2−p(|x|)

x /∈ L ⇒ P[M(x) = 0] ≥ 1− 2−p(|x|)

13 / 28

Page 14: Randomized Complexity

t независимых испытаний;Mt — число осуществлений события A в t испытаниях.

Закон Больших Чисел для схемы БернуллиЕсли событие A с одной и той же вероятностью p, тогда

Mt

t7−→ p

∀ε > 0 P

(∣∣∣∣Mt

t− p

∣∣∣∣ ≥ ε

)≤ p(1− p)

tε2.

Оценка Чернова (Chernoff bounds)

Если событие A с одной и той же вероятностью p ≥ 12 , тогда

P(Mt >

t

2

)≥ 1− exp

(−2

(p − 1

2

)2

t

).

14 / 28

Page 15: Randomized Complexity

BPPweak ⊆ BPP ⇒ BPPweak = BPPM, вычислит p(|x |) и t = 6p2(|x |) раз запустит Mweak, и вернет

M(x) =

(Mt =

t∑i=1

Miweak > t · c

)

P1err = P(M(x) = 0|x ∈ L) = P(Mt < t · c)

E(Mt(x)|x ∈ L) = t · E(Mi

weak(x))≥ t ·

(c +

1

p(|x |)

),

Применяя теорему Бернулли и 0 ≤ E(Mt)t ≤ 1, получаем:

P1err ≤ P

(∣∣∣∣Mt

t− E(Mt)

t

∣∣∣∣ ≥ 1

p(|x |)

)≤ p2(|x |)

t≤ 1

3.

Аналогично оценивается P2err = P(M(x) = 1|x /∈ L).

15 / 28

Page 16: Randomized Complexity

BPP ⊆ BPP strong ⇒ BPP strong = BPPMstrong запускает t = 2p(|x |) + 1 раз BPP-машину M, решение — наоснове «большинства».Если x ∈ L, то, согласно оценкам Чернова, вероятность правильногоответа:

P(Mstrong (x) = 1) ≥ 1− exp

(−2

(p − 1

2

)2

· t

)

= 1− exp

(−2

(2

3− 1

2

)2

· (2p(|x |) + 1)

)

= 1− exp

(−2p(|x |) + 1

18

)> 1− e−

p(|x|)9 > 1− 2−p(|x |)

16 / 28

Page 17: Randomized Complexity

Неамплифицируемый класс PP

ОпределениеКласс сложности PP (Probability Polynomial-time) состоит из всехязыков L, для которых существует полиномиальная ВМТ M, такая,что:

x ∈ L ⇒ P[M(x) = 1] >1

2,

x /∈ L ⇒ P[M(x) = 0] >1

2.

17 / 28

Page 18: Randomized Complexity

Неамплифицируемый класс PPОпределение

L ∈ PPweak , если ∃ полиномиальная ВМТ M:

x ∈ L ⇒ P[M(x) = 1] >1

2

x /∈ L ⇒ P[M(x) = 0] ≥ 1

2

Лемма

PPweak = PP

Упражнение

Что будет, если в определении PP, в обоих неравенствах поставить«≥»? Какой класс языков будет определен?

18 / 28

Page 19: Randomized Complexity

Неамплифицируемый класс PPОпределение

L ∈ PPweak , если ∃ полиномиальная ВМТ M:

x ∈ L ⇒ P[M(x) = 1] >1

2

x /∈ L ⇒ P[M(x) = 0] ≥ 1

2

Лемма

PPweak = PP

Упражнение

Что будет, если в определении PP, в обоих неравенствах поставить«≥»? Какой класс языков будет определен?

19 / 28

Page 20: Randomized Complexity

Неамплифицируемый класс PPОпределение

L ∈ PPweak , если ∃ полиномиальная ВМТ M:

x ∈ L ⇒ P[M(x) = 1] >1

2

x /∈ L ⇒ P[M(x) = 0] ≥ 1

2

Лемма

PPweak = PP

Упражнение

Что будет, если в определении PP, в обоих неравенствах поставить«≥»? Какой класс языков будет определен?

20 / 28

Page 21: Randomized Complexity

PP ⊆ PSPACE

Доказательство.∀L ∈ PP, из MPP можно сделать M:

1 запускает MPP на x и всех 2p(|x |) возможных вероятностныхстроках;

2 результат определяется по большинству результатов запусков.Машина M будет

1 разрешать язык L;2 потреблять не более полинома ячеек на ленте, т.к. каждый запуск

MPP может использовать один и тот же полиномиальный отрезокленты.

21 / 28

Page 22: Randomized Complexity

NP ⊆ 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) = 12 + 2−p(|x |) > 1

2 .

x /∈ L ⇒ P(M(x) = 0) = 12 .

Получаем L ∈ PPweak = PP.

22 / 28

Page 23: Randomized Complexity

Класс ZPP .«Вероятность без ошибок»

Определение

Класс сложности ZPP состоит из всех языков L, для которых существуетполиномиальная ВМТ M, возвращающая только ответы «0»,«1»,«?» («незнаю»), причем:

x ∈ L⇒ P[M(x) = 1] >1

2∧ P[M(x) = 1] + P[M(x) = «?»] = 1,

x /∈ L⇒ P[M(x) = 0] >1

2∧ P[M(x) = 0] + P[M(x) = «?»] = 1.

23 / 28

Page 24: Randomized Complexity

ZPP = RP ∩ coRPДоказательство.ZPP ⊆ RP, т.к. для любого языка L ∈ ZPP, из машины MZPP

можно сделать машину M из определения «RP»:

Answer = MZPP(x)if Answer = «?» then

Answer = 0end ifRETURN Answer

x ∈ L ⇒ P[MZPP(x) = 1] > 12 ⇒ P[M(x) = 1] ≥ 1

2 .

x /∈ L ⇒

P[M(x) = 0] = P[MZPP(x) = 0] + P[MZPP(x) = «?»] = 1.

Аналогично доказывается, что ZPP ⊆ coRP.24 / 28

Page 25: Randomized Complexity

ZPP = RP ∩ coRP

Доказательство.Покажем, что RP ∩ coRP ⊆ ZPP.Изготовим машину M (ZPP) из MRP и McoRP:

if MRP(x) = 1 thenRETURN «1»

end ifif McoRP(x) = 0 then

RETURN «0»end ifRETURN «?»

25 / 28

Page 26: Randomized Complexity

Упражнение

Класс сложности ZPPNotNull состоит из всех языков L, для которыхсуществует ВМТ M, всегда возвращающая правильные ответы (т.е.никаких «не знаю»), причем ∃ полином p(n), что для времени работыTM(x) машины M выполняется:

ETM(x) ≤ p(|x |).

Докажите, что ZPPNotNull = ZPP.

26 / 28

Page 27: Randomized Complexity

�Карта памяти� лекции

27 / 28

Page 28: Randomized Complexity

Интернет поддержка курса

http://discopal.ispras.ru/

Вопросы?

28 / 28