4. ZPP
● ZPP – Zero-error, Probabilistic, Polynomial
● Também conhecido como algoritmo de Las
Vegas
● Seja M uma máquina aleatória para uma
uma linguagem L em ZPP.
– M sempre retorna “sim” ou “não”.
– Seja w uma palavra de tamanho n. O tempo
esperado de processamento, T(n), é polinomial.
6. Exercício
● Mostre que as seguinte definições são
equivalentes a dada anteriormente:
1) Seja M uma máquina aleatória. A linguagem L
é ZPP se existe uma máquina M que reconheça
L tal que:
– Sempre executa num tempo polinominal.
– Sempre retorna SIM, NÃO ou NÃO SEI.
– A resposta é sempre NÃO SEI ou a correta.
– Se a resposta é SIM, isto ocorre com a probabilidade
de pelo menos 1/2. O mesmo ocorre caso seja NÃO.
7. Exercício
2) Defina uma máquina ZPP como uma máquina de
Turing aleatória que possui três tipos de saída: ‘sim’,
‘não’ e ‘?’. Uma máquina ZPP M aceita uma
linguagem A se M sempre dá como saída uma
resposta correta em toda entrada w (‘sim’, se w ∈ A
e ‘não’, se w ∉ A) com probabilidade no mínimo 2/3
e M nunca dá uma saída errada (isto é, ‘sim’, se w
∉ A ou ‘não’, se w ∈ A). Em cada entrada w, M
pode dar como saída ‘?’ com probabilidade no
máximo 1/3. Além disso, o tempo de saída esperado
para qualquer w é limitado por um polinômio.
8. RP
● RP - Random Polynomial
● Também conhecida como algoritmo de Monte-Carlo
● Seja M uma máquina aleatória para uma uma
linguagem L em RP.
– Se w ∈ L: M reconhece w com probabilidade maior ou
igual a 0,5.
– Se w ∉ L: M reconhece w com probabilidade igual a 0.
– Seja n = |w|. O tempo de processamento de M, T(n), é
limitado por um polinômio, independente do conteúdo da
sua fita aleatória.
10. RP ∩ co-RP = ZPP
●
RP ∩ co-RP ⊂ ZPP
Seja L ∈ RP ∩ co-RP. Então existem M.T.s
de Monte-Carlo M1 e M2 que reconhecem L
e L.
Seja M uma M.T. a seguir
11. RP ∩ co-RP = ZPP
●
RP ∩ co-RP ⊂ ZPP
sim
não
M1 sim
sim
M2
não
não
M
12. RP ∩ co-RP = ZPP
●
RP ∩ co-RP ⊂ ZPP
– Assuma que as probabilidades de aceitação sejam
½ em M1 e M2.
– Um laço de M corresponde ao laço M1 seguido ou
não de M2. Em um laço temos:
● 50% para M1 aceitar w
● 50% para M2 rejeitar w
– Seja p(n) = max(T1(n), T2(n))
– Um laço de M dura no máximo 2p(n).
14. RP ∩ co-RP = ZPP
●
ZPP ⊂ RP ∩ co-RP
Primeiro: mostrar que ZPP ⊂ RP
Seja L ∈ ZPP e M a M.T. de Las Vegas que
reconhece L.
● Assuma que o tempo esperado de execução de M é
um polinômio p(n).
Seja M1 a M.T. a seguir.
15. RP ∩ co-RP = ZPP
●
ZPP ⊂ RP ∩ co-RP
sim
M1
não
M
Pare em 2p(n)
Está num
estado final
Não está num
estado final
E(T(n)) = p(n)
16. RP ∩ co-RP = ZPP
●
ZPP ⊂ RP ∩ co-RP
– Se w ∉ L: M1 nunca reconhece w. Logo, a
probabilidade de rejeição de M1é 100%.
17. RP ∩ co-RP = ZPP
●
ZPP ⊂ RP ∩ co-RP
– Se w ∈ L:
● Ou w é aceita em M1 ou w não é aceita em M1:
● Seja c a probabilidade de aceitação de w em M1.
– Qual a probabilidade de M levar mais tempo que 2p(n)?
●
Se w foi aceita por M1, então w foi aceita por M em
tempo t <= 2p(n). Logo a probabildade foi c.
● Se w não foi aceita por M1, então w seria aceita por
M se rodasse mais tempo. Ou seja, em tempo t >
2p(n). Logo, a probabildade disto ocorrer é quanto?
18. RP ∩ co-RP = ZPP
●
ZPP ⊂ RP ∩ co-RP
– Se w ∈ L:
w é aceita por M1
w não é aceita
por M1
M termina em
até 2p(n) passos ? ?
M termina em
mais que 2p(n)
passos
? ?
19. RP ∩ co-RP = ZPP
●
ZPP ⊂ RP ∩ co-RP
– Se w ∈ L:
w é aceita por M1
w não é aceita
por M1
M termina em
até 2p(n) passos c 0
M termina em
mais que 2p(n)
passos
0 1 - c
20. RP ∩ co-RP = ZPP
●
ZPP ⊂ RP ∩ co-RP
– Se w ∈ L:
●
Pela desigualdade de Markov:
Temos:
P( X≥a)<
E( X)
a
P(T (n)≥2 p(n))<
p(n)
2 p(n)
=
1
2
21. Referência
● [1] HOPCROFT, John E.; ULLMAN, Jeffrey
D.; MOTWANI, Rajeev. Introdução à teoria
de autômatos, linguagens e computação.
[Rio de Janeiro]: Campus, c2003. p. 328-
352
● [2] SIPSER, Michael. Introdução à teoria
da computação. 2.ed. São Paulo, SP:
Cengage Learning, c2007. xxi, 459 p.
ISBN 9788522104994