28

Click here to load reader

Randomized Complexity

Embed Size (px)

Citation preview

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