O documento discute algoritmos de aproximação e algoritmos probabilísticos. Apresenta a motivação para o desenvolvimento destes algoritmos, já que problemas NP-difíceis podem não ter soluções exatas em tempo polinomial. Descreve como algoritmos de aproximação encontram soluções aproximadamente ótimas e dá o exemplo de um algoritmo que resolve aproximadamente o problema COBERTURA DE VÉRTICES. Também introduz o conceito de algoritmos probabilísticos e as classes BPP, RP e ZPP.
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Algoritmos de Aproximação e Probabilísticos
1. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Algoritmos de Aproxima¸c˜ao e Algoritmos
Probabil´ısticos
Juliana F´elix
3 de julho de 2015
2. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
1 Motiva¸c˜ao
2 Algoritmos de Aproxima¸c˜ao
3 Algoritmos Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e co-RP
CLasse ZPP
3. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
1 Motiva¸c˜ao
2 Algoritmos de Aproxima¸c˜ao
3 Algoritmos Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e co-RP
CLasse ZPP
5. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
O Problema
Obter um algoritmo polinomial para problemas NP-dif´ıcil
implicaria que P=NP;
6. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
O Problema
Obter um algoritmo polinomial para problemas NP-dif´ıcil
implicaria que P=NP;
Na pr´atica, algoritmos ´otimos podem n˜ao ser necess´arios,
e pode-se buscar algoritmos aproximativos ou
probabil´ısticos.
7. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
O Problema
Obter um algoritmo polinomial para problemas NP-dif´ıcil
implicaria que P=NP;
Na pr´atica, algoritmos ´otimos podem n˜ao ser necess´arios,
e pode-se buscar algoritmos aproximativos ou
probabil´ısticos.
Uma solu¸c˜ao quase ´otima ´e suficientemente boa quando ´e
mais f´acil de ser encontrada.
8. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
1 Motiva¸c˜ao
2 Algoritmos de Aproxima¸c˜ao
3 Algoritmos Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e co-RP
CLasse ZPP
10. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Algoritmos de Aproxima¸c˜ao
Um algoritmo de aproxima¸c˜ao ´e desenvolvido para
encontrar solu¸c˜oes aproximadamente ´otimas;
11. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Algoritmos de Aproxima¸c˜ao
Um algoritmo de aproxima¸c˜ao ´e desenvolvido para
encontrar solu¸c˜oes aproximadamente ´otimas;
Exemplo COB-VERT-MIN
Encontrar um algoritmo de tempo polinomial que produz
uma cobertura de v´ertices de G que nunca ´e mais que
duas vezes maior que uma menor cobertura de v´ertices.
12. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Algoritmos de Aproxima¸c˜ao
Um algoritmo de aproxima¸c˜ao ´e desenvolvido para
encontrar solu¸c˜oes aproximadamente ´otimas;
Exemplo COB-VERT-MIN
Encontrar um algoritmo de tempo polinomial que produz
uma cobertura de v´ertices de G que nunca ´e mais que
duas vezes maior que uma menor cobertura de v´ertices.
13. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Algoritmos de Aproxima¸c˜ao
A resolve aproximadamente COB-VERT-MIN em tempo
polinomial
A =”Sobre a entrada < G >, onde G ´e um grafo
n˜ao-direcionado:
1 Repita o seguinte at´e que todas as arestas em G toquem
uma aresta marcada:
2 Encontre uma aresta em G n˜ao tocada por nenhuma
aresta marcada.
3 Marque essa aresta.
4 Dˆe como sa´ıda todos os n´os que s˜ao extremidade de
arestas marcadas.”
15. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Algoritmos de Aproxima¸c˜ao
Prova
A roda em tempo polinomial e o conjunto X dado como
sa´ıda pelo algoritmo ´e uma cobertura, pois H (conjunto de
arestas marcadas) cont´em (ou toca) todas as arestas em
G. Logo, X toca todas em G.
16. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Algoritmos de Aproxima¸c˜ao
Prova
A roda em tempo polinomial e o conjunto X dado como
sa´ıda pelo algoritmo ´e uma cobertura, pois H (conjunto de
arestas marcadas) cont´em (ou toca) todas as arestas em
G. Logo, X toca todas em G.
X ´e duas vezes t˜ao grande quanto H, e Y (uma das
menores coberturas em G) ´e no m´ınimo t˜ao grande
quanto H.
18. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Algoritmos de Aproxima¸c˜ao
Prova (cont.)
Y ´e uma cobertura. Logo, toda aresta em H toca um n´o
em Y , e nenhum n´o de Y toca duas arestas em H, pois as
mesmas n˜ao se tocam.
19. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Algoritmos de Aproxima¸c˜ao
Prova (cont.)
Y ´e uma cobertura. Logo, toda aresta em H toca um n´o
em Y , e nenhum n´o de Y toca duas arestas em H, pois as
mesmas n˜ao se tocam.
Portanto, Y ´e no m´ınimo t˜ao grande quanto H, pois Y
possui um n´o diferente que toca toda aresta em H. Por
fim, X ´e no m´aximo duas vezes maior que Y .
20. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
1 Motiva¸c˜ao
2 Algoritmos de Aproxima¸c˜ao
3 Algoritmos Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e co-RP
CLasse ZPP
21. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Introdu¸c˜ao
Um algoritmo probabil´ıstico ´e um algoritmo concebido
para usar o resultado de um processo aleat´orio.
22. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Introdu¸c˜ao
Um algoritmo probabil´ıstico ´e um algoritmo concebido
para usar o resultado de um processo aleat´orio.
Problemas
23. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Introdu¸c˜ao
Um algoritmo probabil´ıstico ´e um algoritmo concebido
para usar o resultado de um processo aleat´orio.
Problemas
Calcular a melhor escolha pode requerer muito tempo,
enquanto estimar o resultado pode ser suficiente;
24. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Introdu¸c˜ao
Um algoritmo probabil´ıstico ´e um algoritmo concebido
para usar o resultado de um processo aleat´orio.
Problemas
Calcular a melhor escolha pode requerer muito tempo,
enquanto estimar o resultado pode ser suficiente;
Estimar o resultado pode resultar (espera-se que com
baixa probabilidade) em solu¸c˜oes errˆoneas.
25. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Defini¸c˜ao
Defini¸c˜ao
Uma m´aquina de Turing probabil´ıstica(MTP) M ´e um tipo
de m´aquina de Turing n˜ao-determin´ıstica na qual cada passo
n˜ao-determin´ıstico ´e chamado de passo de
arremesso-de-moeda e tem dois movimentos seguintes
leg´ıtimos.
26. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Defini¸c˜ao
Defini¸c˜ao (cont.)
Atribu´ımos uma probabilidade a cada ramo b da computa¸c˜ao
de M sobre a entrada w da seguinte forma. Defina a
probabilidade do ramo b como
Pr[b] = 2−k
onde k ´e o n´umero de passos de arremesso-de-moeda que
ocorrem no ramo b. Defina a probabilidade de que M aceita w
como
Pr[M aceita w] =
b ´e um ramo de aceita¸c˜ao
Pr[b]
27. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Reconhecimento em MTP
Uma MTP M admite uma probabilidade de erro ε = 2−n,
onde n ´e a entrada.
28. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Reconhecimento em MTP
Uma MTP M admite uma probabilidade de erro ε = 2−n,
onde n ´e a entrada.
Probabilidade de que M aceita w quando w ∈ L(M) ´e de:
29. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Reconhecimento em MTP
Uma MTP M admite uma probabilidade de erro ε = 2−n,
onde n ´e a entrada.
Probabilidade de que M aceita w quando w ∈ L(M) ´e de:
1 w ∈ A implica Pr[M aceita w] ≥ 1 − ε, e
30. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Reconhecimento em MTP
Uma MTP M admite uma probabilidade de erro ε = 2−n,
onde n ´e a entrada.
Probabilidade de que M aceita w quando w ∈ L(M) ´e de:
1 w ∈ A implica Pr[M aceita w] ≥ 1 − ε, e
2 w /∈ A implica Pr[M rejeita w] ≥ 1 − ε.
31. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Classe BPP (Bounded-error probabilistic
polynomial)
Defini¸c˜ao
BPP ´e a classe de linguagens reconhecidas por m´aquinas de
Turing probabil´ısticas de tempo polinomial com uma
probabilidade de erro de 1
3 .
Algoritmos que reconhecem linguagens em BPP s˜ao chamados
de Atlantic city.
32. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Classe BPP (Bounded-error probabilistic
polynomial)
Defini¸c˜ao
BPP ´e a classe de linguagens reconhecidas por m´aquinas de
Turing probabil´ısticas de tempo polinomial com uma
probabilidade de erro de 1
3 .
Algoritmos que reconhecem linguagens em BPP s˜ao chamados
de Atlantic city.
Uma defini¸c˜ao semelhante poderia ser feita para uma
probabilidade de erro entre 0 e 1
2, em virtude do lema da
amplifica¸c˜ao que oferece uma maneira simples de tornar
a probabilidade de erro exponencialmente pequena.
33. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Lema da Amplifica¸c˜ao
Lema
Seja ε uma constante fixa estritamente entre 0 e 1
2. Ent˜ao,
para qualquer polinˆomio poly(n), uma m´aquina de Turing
probabil´ıstica de tempo polinomial M1 que opera com
probabilidade de erro ε tem uma m´aquina de Turing
probabil´ıstica de tempo polinomial equivalente M2 que opera
com uma probabilidade de erro de 2−poly(n).
34. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Lema da Amplifica¸c˜ao
Id´eia da Prova
M2 simula M1 rodando-a um n´umero polinomial de vezes e
tomando o voto da maioria dos resultados. A probabilidade de
erro decresce exponencialmente com o n´umero de execu¸c˜oes de
M1 realizadas.
35. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Lema da Amplifica¸c˜ao
Dada a MT M1 que reconhece uma linguagem com uma
probabilidade de erro ǫ < 1
2 e um polinˆomio poly(n),
constru´ımos uma MT M2 que reconhece a mesma
linguagem com uma probabilidade de erro de 2−poly(n).
36. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Lema da Amplifica¸c˜ao
Dada a MT M1 que reconhece uma linguagem com uma
probabilidade de erro ǫ < 1
2 e um polinˆomio poly(n),
constru´ımos uma MT M2 que reconhece a mesma
linguagem com uma probabilidade de erro de 2−poly(n).
Prova
M2 = ”Sobre a entrada w:
37. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Lema da Amplifica¸c˜ao
Dada a MT M1 que reconhece uma linguagem com uma
probabilidade de erro ǫ < 1
2 e um polinˆomio poly(n),
constru´ımos uma MT M2 que reconhece a mesma
linguagem com uma probabilidade de erro de 2−poly(n).
Prova
M2 = ”Sobre a entrada w:
Calcule k
38. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Lema da Amplifica¸c˜ao
Dada a MT M1 que reconhece uma linguagem com uma
probabilidade de erro ǫ < 1
2 e um polinˆomio poly(n),
constru´ımos uma MT M2 que reconhece a mesma
linguagem com uma probabilidade de erro de 2−poly(n).
Prova
M2 = ”Sobre a entrada w:
Calcule k
Rode 2k simula¸c˜oes independentes de M1 sobre a entrada
w.
39. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Lema da Amplifica¸c˜ao
Dada a MT M1 que reconhece uma linguagem com uma
probabilidade de erro ǫ < 1
2 e um polinˆomio poly(n),
constru´ımos uma MT M2 que reconhece a mesma
linguagem com uma probabilidade de erro de 2−poly(n).
Prova
M2 = ”Sobre a entrada w:
Calcule k
Rode 2k simula¸c˜oes independentes de M1 sobre a entrada
w.
Se a maioria das execu¸c˜oes de M1 aceita, ent˜ao aceite;
caso contr´ario, rejeite.”
41. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Lema da Amplifica¸c˜ao
Prova (cont.)
O est´agio 2 d´a uma sequˆencia de 2k resultados da
simula¸c˜ao de M1.
42. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Lema da Amplifica¸c˜ao
Prova (cont.)
O est´agio 2 d´a uma sequˆencia de 2k resultados da
simula¸c˜ao de M1.
Cada resultado pode ser certo (c) ou errado (e).
43. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Lema da Amplifica¸c˜ao
Prova (cont.)
O est´agio 2 d´a uma sequˆencia de 2k resultados da
simula¸c˜ao de M1.
Cada resultado pode ser certo (c) ou errado (e).
S a sequˆencia de resultados obtidos no est´agio 2.
44. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Lema da Amplifica¸c˜ao
Prova (cont.)
O est´agio 2 d´a uma sequˆencia de 2k resultados da
simula¸c˜ao de M1.
Cada resultado pode ser certo (c) ou errado (e).
S a sequˆencia de resultados obtidos no est´agio 2.
S cont´em 2k resultados, onde 2k = c + e.
45. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Lema da Amplifica¸c˜ao
Prova (cont.)
O est´agio 2 d´a uma sequˆencia de 2k resultados da
simula¸c˜ao de M1.
Cada resultado pode ser certo (c) ou errado (e).
S a sequˆencia de resultados obtidos no est´agio 2.
S cont´em 2k resultados, onde 2k = c + e.
Se c ≤ e ent˜ao M2 d´a uma resposta incorreta (S ´e
denominada uma sequˆencia ruim).
46. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Lema da Amplifica¸c˜ao
Prova (cont.)
Se S ´e uma sequˆencia ruim, ent˜ao PS ≤ ǫe(1 − ǫ)c
47. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Lema da Amplifica¸c˜ao
Prova (cont.)
Se S ´e uma sequˆencia ruim, ent˜ao PS ≤ ǫe(1 − ǫ)c
ǫe(1 − ǫ)c = ǫk(1 − ǫ)k, porque k ≤ e e ǫ < 1 − ǫ.
48. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Lema da Amplifica¸c˜ao
Prova (cont.)
Se S ´e uma sequˆencia ruim, ent˜ao PS ≤ ǫe(1 − ǫ)c
ǫe(1 − ǫ)c = ǫk(1 − ǫ)k, porque k ≤ e e ǫ < 1 − ǫ.
A somat´oria de todas as sequˆencias ruins d´a a
probabilidade de que M2 gere uma sa´ıda incorreta:
49. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Lema da Amplifica¸c˜ao
Prova (cont.)
Se S ´e uma sequˆencia ruim, ent˜ao PS ≤ ǫe(1 − ǫ)c
ǫe(1 − ǫ)c = ǫk(1 − ǫ)k, porque k ≤ e e ǫ < 1 − ǫ.
A somat´oria de todas as sequˆencias ruins d´a a
probabilidade de que M2 gere uma sa´ıda incorreta:
S ruim
PS ≤ 22k
.ǫk
(1 − ǫ)k
= (4ǫ(1 − ǫ))k
50. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Lema da Amplifica¸c˜ao
Prova (cont.)
Se S ´e uma sequˆencia ruim, ent˜ao PS ≤ ǫe(1 − ǫ)c
ǫe(1 − ǫ)c = ǫk(1 − ǫ)k, porque k ≤ e e ǫ < 1 − ǫ.
A somat´oria de todas as sequˆencias ruins d´a a
probabilidade de que M2 gere uma sa´ıda incorreta:
S ruim
PS ≤ 22k
.ǫk
(1 − ǫ)k
= (4ǫ(1 − ǫ))k
Como ǫ < 1
2, portanto 4ǫ(1 − ǫ) < 1 e, consequentemente,
a probabilidade anterior decresce exponencialmente em k.
51. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Primalidade
Teorema (pequeno teorema de Fermat)
Se p ´e primo e a ∈ Z+
p , ent˜ao ap−1 ≡ 1 (mod p)
Teste de Primalidade
52. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Primalidade
Teorema (pequeno teorema de Fermat)
Se p ´e primo e a ∈ Z+
p , ent˜ao ap−1 ≡ 1 (mod p)
Teste de Primalidade
2(7−1) = 26 = 64 ≡ 1 (mod 7)
53. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Primalidade
Teorema (pequeno teorema de Fermat)
Se p ´e primo e a ∈ Z+
p , ent˜ao ap−1 ≡ 1 (mod p)
Teste de Primalidade
2(7−1) = 26 = 64 ≡ 1 (mod 7)
2(6−1) = 25 = 32 ≡ 2 (mod 6)
55. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Erros do Teste de Primalidade
2(341−1) ≡ 1 (mod 341)
11 ∗ 31 = 341.
56. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Erros do Teste de Primalidade
2(341−1) ≡ 1 (mod 341)
11 ∗ 31 = 341.
N´umeros pseudoprimos s˜ao aqueles que passam no teste
de Fermat para todo a menor que ele, e primo em rela¸c˜ao
a ele.
57. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Erros do Teste de Primalidade
2(341−1) ≡ 1 (mod 341)
11 ∗ 31 = 341.
N´umeros pseudoprimos s˜ao aqueles que passam no teste
de Fermat para todo a menor que ele, e primo em rela¸c˜ao
a ele.
N´umeros de Carmichael: n´umeros compostos que ainda
assim passam no teste de Fermat.
58. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Primalidade
PSEUDOPRIMO = ”Sobre a entrada p, fa¸ca:
1 Selecione a1, ...., ak aleatoriamente em Z+
p .
2 Compute ap−1
i mod p para cada i.
3 Se todos os valores computados forem 1, aceite. Caso
contr´ario, rejeite.
59. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Primalidade
Se p for primo, ele passa em todos os teste e o algoritmo
aceita com certeza.
60. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Primalidade
Se p for primo, ele passa em todos os teste e o algoritmo
aceita com certeza.
Se p n˜ao for pseudoprimo, ele passa em, no m´aximo,
metade de todos os testes.
61. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Primalidade
Se p for primo, ele passa em todos os teste e o algoritmo
aceita com certeza.
Se p n˜ao for pseudoprimo, ele passa em, no m´aximo,
metade de todos os testes.
Nesse caso, ele passa em cada teste com probabilidade de
no m´aximo 1
2 e, portanto, a probabilidade de que ele passe
em todos os k testes aleatoriamente selecionados ´e, no
m´aximo, 2−k .
62. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Primalidade
Se p for primo, ele passa em todos os teste e o algoritmo
aceita com certeza.
Se p n˜ao for pseudoprimo, ele passa em, no m´aximo,
metade de todos os testes.
Nesse caso, ele passa em cada teste com probabilidade de
no m´aximo 1
2 e, portanto, a probabilidade de que ele passe
em todos os k testes aleatoriamente selecionados ´e, no
m´aximo, 2−k .
O algoritmo opera em tempo polinomial porque a
exponencia¸c˜ao modular ´e comput´avel em tempo
polinomial (cap. 7).
63. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Classe RP (Randomized Polynomial time)
Defini¸c˜ao
RP ´e a classe de linguagens que s˜ao reconhecidas por m´aquinas
de Turing probabil´ısticas de tempo polinomial em que entradas
na linguagem s˜ao aceitas com uma probabilidade de, no
m´ınimo, 1
2 e entradas que n˜ao est˜ao na linguagem s˜ao
rejeitadas com uma probabilidade de 1.
65. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Classe RP (Randomized Polynomial time)
Simplificando
Se a resposta correta ´e:
66. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Classe RP (Randomized Polynomial time)
Simplificando
Se a resposta correta ´e:
n˜ao, sempre retorna n˜ao.
67. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Classe RP (Randomized Polynomial time)
Simplificando
Se a resposta correta ´e:
n˜ao, sempre retorna n˜ao.
sim, retorna sim com probabilidade de erro de 1
2
69. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Classe co-RP
Classe co-RP
Se a resposta correta ´e:
sim, sempre retorna sim.
n˜ao, retorna n˜ao com probabilidade de erro 1
2 .
70. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Classe co-RP
Classe co-RP
Se a resposta correta ´e:
sim, sempre retorna sim.
n˜ao, retorna n˜ao com probabilidade de erro 1
2 .
Algoritmos que reconhecem linguagens em RP, ou co-RP
s˜ao conhecidos como Monte-Carlo.
71. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Classe ZPP (Zero-error Probabilistic Polinomial)
Defini¸c˜ao
ZPP ´e a classe de linguagens que uma MTP p´ara em tempo
polinomial, sem falsas aceita¸c˜oes ou rejei¸c˜oes, mas `as vezes d´a
um n˜ao sei como resposta. ZPP ´e = a RP ∩ co-RP.
Conhecido como algoritmo de Las Vegas.
72. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Classe ZPP (Zero-error Probabilistic Polinomial)
Simplificando
73. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Classe ZPP (Zero-error Probabilistic Polinomial)
Simplificando
Sempre retorna uma resposta sim ou n˜ao.
74. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Classe ZPP (Zero-error Probabilistic Polinomial)
Simplificando
Sempre retorna uma resposta sim ou n˜ao.
Pode retornar um n˜ao sei como resposta.
75. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Classe ZPP (Zero-error Probabilistic Polinomial)
Prova: RP ∩ co-RP ⊆ ZPP
Seja L uma linguagem, T seu decisor em RP e B o decisor em
co-RP. A seguinte MT M decide L em ZPP.
M = ”Sobre a entrada w, fa¸ca:
1 Rode T sobre w. Se T aceita, aceite.
2 Rode B sobre w. Se T rejeita, rejeite.
3 Em outros casos, dˆe como sa´ıda ”N˜ao sei. ´E melhor rodar
a entrada novamente”.”
76. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Classe ZPP (Zero-error Probabilistic Polinomial)
Prova
Como T e B rodam em tempo polinomial, M tamb´em
roda em tempo polinomial. Pelas defini¸c˜oes de RP e
co-RP, temos que:
77. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Classe ZPP (Zero-error Probabilistic Polinomial)
Prova
Como T e B rodam em tempo polinomial, M tamb´em
roda em tempo polinomial. Pelas defini¸c˜oes de RP e
co-RP, temos que:
Se T aceita w, ent˜ao w ∈ L.
Se B rejeita w, ent˜ao w /∈ L.
78. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Classe ZPP (Zero-error Probabilistic Polinomial)
Prova
Como T e B rodam em tempo polinomial, M tamb´em
roda em tempo polinomial. Pelas defini¸c˜oes de RP e
co-RP, temos que:
Se T aceita w, ent˜ao w ∈ L.
Se B rejeita w, ent˜ao w /∈ L.
M pode ser executado por um n´umero k de vezes, e
conforme k aumenta, a probabilidade de M responder n˜ao
sei diminui.
79. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Classe ZPP (Zero-error Probabilistic Polinomial)
Prova: ZPP ⊆ RP
Seja C um algoritmo de Las Vegas.
Rode C sobre w. Se C d´a uma resposta, dˆe essa resposta.
Se C responde n˜ao sei, ent˜ao rejeite.
ZPP ⊆ co-RP ´e feita de forma similar, trocando n˜ao sei
por aceite.
ZPP ⊆ RP ∩ co-RP e RP ∩ co-RP ⊆ ZPP
ZPP = RP ∩ co-RP
80. Algoritmos de
Aproxima¸c˜ao
e Algoritmos
Probabil´ısticos
Juliana F´elix
Motiva¸c˜ao
Algoritmos de
Aproxima¸c˜ao
Algoritmos
Probabil´ısticos
Introdu¸c˜ao
Classe BPP
CLasse RP e
co-RP
CLasse ZPP
Bibliografia
Referˆencia Bibliogr´afica
Sipser, Michael(2006). Introduction To Theory of
Computation. Thompson Course Technology.