Click here to load reader
Upload
stas-fomin
View
382
Download
0
Embed Size (px)
Citation preview
Вероятностные вычисления
Н.Н. Кузюрин С.А. Фомин
10 октября 2008 г.
1 / 28
Вероятностная Машина Тьюринга
Определение
Вероятностная машина Тьюринга аналогичнанедетерминированной машине Тьюринга, только вместонедетерминированного перехода в два состояния машина выбираетодин из вариантов с равной вероятностью.
Определение
Вероятностная машина Тьюринга представляет собойдетерминированную машину Тьюринга, имеющую дополнительноисточник случайных битов, любое число которых, например, онаможет «заказать» и «загрузить» на отдельную ленту и потомиспользовать в вычислениях обычным для МТ образом.
2 / 28
Классификация ВМТ
zero-error — ВМТ не допускающие ошибок (могут и не выдатьникакого ответа).
one-sided error — ВМТ с односторонними ошибками (могут произойтии ложные срабатывания — ошибки второго рода).
two-sided error — ВМТ с двусторонними ошибками. Ошибки могутбыть и первого и второго рода, но вероятностьправильного ответа должна быть больше (чем больше,тем лучше) 1
2 .
3 / 28
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
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
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
Вероятностная амплификация
Определение
C̃ ≡ {L : ∃ полиномиальная ВМТ M̃}, и
x ∈ L ⇒ P[M̃(x) = 1] ≥ 3
4
x /∈ L ⇒ P[M̃(x) = 1] = 0
Очевидно C̃ ⊆ RP.
7 / 28
Вероятностная амплификация
Лемма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
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
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
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
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
Определение
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
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
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
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
Неамплифицируемый класс 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
Неамплифицируемый класс 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
Неамплифицируемый класс 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
Неамплифицируемый класс 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
PP ⊆ PSPACE
Доказательство.∀L ∈ PP, из MPP можно сделать M:
1 запускает MPP на x и всех 2p(|x |) возможных вероятностныхстроках;
2 результат определяется по большинству результатов запусков.Машина M будет
1 разрешать язык L;2 потреблять не более полинома ячеек на ленте, т.к. каждый запуск
MPP может использовать один и тот же полиномиальный отрезокленты.
21 / 28
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
Класс 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
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
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
Упражнение
Класс сложности ZPPNotNull состоит из всех языков L, для которыхсуществует ВМТ M, всегда возвращающая правильные ответы (т.е.никаких «не знаю»), причем ∃ полином p(n), что для времени работыTM(x) машины M выполняется:
ETM(x) ≤ p(|x |).
Докажите, что ZPPNotNull = ZPP.
26 / 28
�Карта памяти� лекции
27 / 28