Algoritmos de Aproximação e Algoritmos Probabilísticos

1.537 visualizações

Publicada em

Apresentação desenvolvida para a disciplina de Teoria da Computação.

Algoritmos de Aproximação e Algoritmos Probabilísticos.

Juliana Paula Félix

0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.537
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
53
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Algoritmos de Aproximação e Algoritmos Probabilísticos

  1. 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 28 de agosto de 2014
  2. 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. 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
  4. 4. 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
  5. 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. 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. 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. 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
  9. 9. 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
  10. 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. 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. 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. 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.”
  14. 14. 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
  15. 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. 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.
  17. 17. 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.)
  18. 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. 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. 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. 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. 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. 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. 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. 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. 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] = X b ´e um ramo de aceita¸c˜ao Pr[b]
  27. 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. 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 2 L(M) ´e de:
  29. 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 2 L(M) ´e de: 1 w 2 A implica Pr[M aceita w] 1 − ε, e
  30. 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 2 L(M) ´e de: 1 w 2 A implica Pr[M aceita w] 1 − ε, e 2 w /2 A implica Pr[M rejeita w] 1 − ε.
  31. 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. 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. 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. 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. 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. 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. 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. 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. 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.”
  40. 40. 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.)
  41. 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. 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. 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. 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. 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. 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. 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. 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. 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: X S ruim PS 22k .ǫk (1 − ǫ)k = (4ǫ(1 − ǫ))k
  50. 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: X 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. 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 2 Z+p , ent˜ao ap−1 1 (mod p) Teste de Primalidade
  52. 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 2 Z+p , ent˜ao ap−1 1 (mod p) Teste de Primalidade 2(7−1) = 26 = 64 1 (mod 7)
  53. 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 2 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. 54. 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)
  55. 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. 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. 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. 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. 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. 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. 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. 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. 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.
  64. 64. 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
  65. 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. 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. 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
  68. 68. 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:
  69. 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. 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. 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. 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. 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. 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. 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. 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. 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 2 L. Se B rejeita w, ent˜ao w /2 L.
  78. 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 2 L. Se B rejeita w, ent˜ao w /2 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. 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. 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.

×