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
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
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
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
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;
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.
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.
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
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
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;
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.
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.
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.”
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
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.
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.
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.)
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.
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 .
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
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.
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
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;
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.
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.
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]
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.
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:
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
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 − ε.
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.
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.
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).
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.
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).
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:
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
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.
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.”
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.)
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.
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).
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.
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.
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).
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
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 − ǫ.
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:
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
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.
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
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)
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)
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)
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.
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.
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.
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.
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.
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.
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 .
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).
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.
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
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:
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.
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
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:
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 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.
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.
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
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.
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.
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”.”
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:
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.
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.
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
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.

Algoritmos de Aproximação e Algoritmos Probabilísticos

  • 1.
    Algoritmos de Aproxima¸c˜ao e Algoritmos Probabil´ısticos JulianaF´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 JulianaF´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 JulianaF´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
  • 4.
    Algoritmos de Aproxima¸c˜ao e Algoritmos Probabil´ısticos JulianaF´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
  • 5.
    Algoritmos de Aproxima¸c˜ao e Algoritmos Probabil´ısticos JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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
  • 9.
    Algoritmos de Aproxima¸c˜ao e Algoritmos Probabil´ısticos JulianaF´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
  • 10.
    Algoritmos de Aproxima¸c˜ao e Algoritmos Probabil´ısticos JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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.”
  • 14.
    Algoritmos de Aproxima¸c˜ao e Algoritmos Probabil´ısticos JulianaF´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
  • 15.
    Algoritmos de Aproxima¸c˜ao e Algoritmos Probabil´ısticos JulianaF´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 JulianaF´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.
  • 17.
    Algoritmos de Aproxima¸c˜ao e Algoritmos Probabil´ısticos JulianaF´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.)
  • 18.
    Algoritmos de Aproxima¸c˜ao e Algoritmos Probabil´ısticos JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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.”
  • 40.
    Algoritmos de Aproxima¸c˜ao e Algoritmos Probabil´ısticos JulianaF´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.)
  • 41.
    Algoritmos de Aproxima¸c˜ao e Algoritmos Probabil´ısticos JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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)
  • 54.
    Algoritmos de Aproxima¸c˜ao e Algoritmos Probabil´ısticos JulianaF´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)
  • 55.
    Algoritmos de Aproxima¸c˜ao e Algoritmos Probabil´ısticos JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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.
  • 64.
    Algoritmos de Aproxima¸c˜ao e Algoritmos Probabil´ısticos JulianaF´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
  • 65.
    Algoritmos de Aproxima¸c˜ao e Algoritmos Probabil´ısticos JulianaF´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 JulianaF´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 JulianaF´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
  • 68.
    Algoritmos de Aproxima¸c˜ao e Algoritmos Probabil´ısticos JulianaF´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:
  • 69.
    Algoritmos de Aproxima¸c˜ao e Algoritmos Probabil´ısticos JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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 JulianaF´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.