1. O documento discute algoritmos randomizados, incluindo suas aplicações e vantagens em relação a algoritmos determinísticos. É mencionada a história dos algoritmos randomizados e exemplos como o teste de primalidade de Rabin.
2. São definidos conceitos como máquina de Turing probabilística e classes de complexidade probabilísticas. Algoritmos de Monte Carlo são descritos como tendo incerteza no resultado.
3. As vantagens dos algoritmos randomizados incluem eficiência, com exemplos como o teste de primalidade de Rabin sendo
1. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Algoritmos Randomizados
´
Juan Grados Vasquez
ˆ
GA-025-Ciencia da Computacao: Fundamentos
¸˜
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
17 de dezembro de 2013
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
2. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Sum´ rio
a
1
Introducao
¸˜
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
3. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Sum´ rio
a
1
Introducao
¸˜
2
Fam´lias de Algoritmos Randomizados
ı
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
4. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Sum´ rio
a
1
Introducao
¸˜
2
Fam´lias de Algoritmos Randomizados
ı
3
M´ quina de Turing Probabil´stica
a
ı
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
5. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Sum´ rio
a
1
Introducao
¸˜
2
Fam´lias de Algoritmos Randomizados
ı
3
M´ quina de Turing Probabil´stica
a
ı
4
Classes de Complexidade Probabil´sticas
ı
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
6. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Sum´ rio
a
1
Introducao
¸˜
2
Fam´lias de Algoritmos Randomizados
ı
3
M´ quina de Turing Probabil´stica
a
ı
4
Classes de Complexidade Probabil´sticas
ı
5
Un Paradigma Combinat´ rio
o
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
7. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Sum´ rio
a
1
Introducao
¸˜
2
Fam´lias de Algoritmos Randomizados
ı
3
M´ quina de Turing Probabil´stica
a
ı
4
Classes de Complexidade Probabil´sticas
ı
5
Un Paradigma Combinat´ rio
o
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
8. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Experimento Aleat´ rio
o
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
9. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Historia
Figura 1: Incas
Figura 2: Azande
Figura 3: Naskapi
[Shallit, 2009]
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
10. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Historia
´
1777 Metodo Agulha de Buffon para a estimacao do π
¸˜
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
11. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Historia
´
1777 Metodo Agulha de Buffon para a estimacao do π
¸˜
√
a mod p. [H. C. Pocklington]
´
1917 Calculo
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
12. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Historia
´
1777 Metodo Agulha de Buffon para a estimacao do π
¸˜
√
a mod p. [H. C. Pocklington]
´
1917 Calculo
1976 Test de Primalidade.[Rabin]
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
13. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Algoritmos Randomizados
Algoritmo?
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
14. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Algoritmos Randomizados
Algoritmo?
Randomizado?
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
15. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Algoritmos Randomizados
Algoritmo?
Randomizado?
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
16. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Geradores Pseudo-Aleat´ rio e Aleat´ rios
o
o
´
Geradores Pseudo-Aleatorio: Blum Blum Shub, Fortuna, y el
Mersenne twister.
´
Geradores Aleatorio: Quantum True Random Number Generator
http://qubit.lncc.br/trng/
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
17. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Aplicacoes
¸˜
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
18. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Porque Utilizar?
Simples
Determin´stico:
ı
1 Transforme F (x).
2 Compare os coeficientes
de F (x) e G(x)
3 Se houver diferenca,
¸
˜
retorne NAO
˜
4 Se nao, retorne SIM
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
19. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Porque Utilizar?
Simples
Determin´stico:
ı
1 Transforme F (x).
2 Compare os coeficientes
de F (x) e G(x)
3 Se houver diferenca,
¸
˜
retorne NAO
˜
4 Se nao, retorne SIM
ˆ
Randomico:
1 Sorteie um inteiro w,
aleatoriamente, de 1 a
100d
2 Avalie F (w) e G(w)
3 Se F (w) = G(w), retorne
˜
NAO
˜
4 Se nao, retorne SIM
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
20. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Porque Utilizarlos?
Eficientes:
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
21. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Porque Utilizarlos?
Eficientes: exemplo: Test de Primalidade:
AKS O(log6 n(log log n))
Rabin O(log2 n(log log n))
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
22. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Porque Utilizarlos?
Eficientes: exemplo: Test de Primalidade:
AKS O(log6 n(log log n))
Rabin O(log2 n(log log n))
Incerteza
Resultado do Algoritmo
Tempo do Algoritmo
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
23. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Sum´ rio
a
1
Introducao
¸˜
2
Fam´lias de Algoritmos Randomizados
ı
3
M´ quina de Turing Probabil´stica
a
ı
4
Classes de Complexidade Probabil´sticas
ı
5
Un Paradigma Combinat´ rio
o
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
24. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Algoritmos de Monte Carlo
Incerteza no resultado do Algoritmo.
˜
Problemas de decisao
Erro bilateral.
Erro unilateral.
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
25. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Erro unilateral
Erro unilateral baseado no SIM.
˜
Erro unilateral baseado no NAO.
Exemplo:
´
Qual e a probabilidade do algoritmo errar a resposta quando os
ˆ
˜
˜
ˆ
polinomios nao sao identicos?
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
26. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Mas probabilidades
AS o algoritmo responde SIM
˜
AN o algoritmo responde NAO
´
CS a resposta correta para a entrada e SIM
´ ˜
CN a resposta correta para a entrada e NAO
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
27. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Mas probabilidades
AS o algoritmo responde SIM
˜
AN o algoritmo responde NAO
´
CS a resposta correta para a entrada e SIM
´ ˜
CN a resposta correta para a entrada e NAO
Probabilidades de Acerto? Pr [AS |CS ], Pr [AN |CN ]
Probabilidades de Erro? Pr [AN |CS ], Pr [AS |CN ]
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
28. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Reduzindo a Probabilidade de Errar
Seja A um algoritmo de Monte Carlo de erro-unilateral-baseado
˜
no nao.
Probabilidade de errar:
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
29. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Algoritmos de las Vegas
Incerteza no tempo do algoritmo
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
30. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Algoritmo de Monte Carlo usando las Vegas
1 repetir N vezes
Se o algoritmo AV de uma resposta SIM, retorna SIM.
˜
2 retornar NAO
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
31. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Algoritmo de Monte Carlo usando las Vegas
1 repetir N vezes
Se o algoritmo AV de uma resposta SIM, retorna SIM.
˜
2 retornar NAO
Algoritmo de Error Unilateral Baseado no SIM.
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
32. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Sum´ rio
a
1
Introducao
¸˜
2
Fam´lias de Algoritmos Randomizados
ı
3
M´ quina de Turing Probabil´stica
a
ı
4
Classes de Complexidade Probabil´sticas
ı
5
Un Paradigma Combinat´ rio
o
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
33. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
PTM
´
´
´
Uma maquina de Turing probabil´stica M e um tipo de maquina de
ı
˜
´
Turing nao determinista onde cada passo no determinista e decidido
´
´
de forma aleatoria. [Sipser, pag. 336]
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
34. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
PTM: Computation Tree
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
35. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Consequˆ ncias
e
´
A NDTM e uma PTM sim probabilidades nas transicoes.
¸˜
˜
´
A DTM pode ser vista como PTM com nao mais de uma so
alternativa para cada transicao.
¸˜
Para uma mesma entrada pode ter tempo de execucao diferente
¸˜
˜
ou pode nao parar.
Pode aceitar a entrada em uma determinada execucao, mas
¸˜
rejeitar outra entrada.
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
36. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Sum´ rio
a
1
Introducao
¸˜
2
Fam´lias de Algoritmos Randomizados
ı
3
M´ quina de Turing Probabil´stica
a
ı
4
Classes de Complexidade Probabil´sticas
ı
5
Un Paradigma Combinat´ rio
o
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
37. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Classes de Complexidade Probabil´sticas
ı
BQP: Relacao entre MTQ e MT. 1
¸˜
1 [Deutsch
(1985)]
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
38. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Classes de Complexidade Probabil´sticas
ı
1. P=ZPP?, RP=co-RP ?, RP=NP?, co-NP?,BPP ⊆ NP?, NP⊆
BPP?, RP∪co-RP=BPP?
´
[Talbot, pag. 83]
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
39. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Sum´ rio
a
1
Introducao
¸˜
2
Fam´lias de Algoritmos Randomizados
ı
3
M´ quina de Turing Probabil´stica
a
ı
4
Classes de Complexidade Probabil´sticas
ı
5
Un Paradigma Combinat´ rio
o
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
40. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
O modelo de bolas e latas
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
41. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
O modelo de bolas e latas
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
42. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Paradoxo do Anivers´ rio
a
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
43. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
Fim
Fim
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı
44. ´
Introducao Fam´lias de Algoritmos Randomizados Maquina de Turing Probabil´stica Classes de Complexidade Probabil´sticas Un Paradigma Com
¸˜
ı
ı
ı
´
Laboratorio Nacional de Computacao Cient´fica.
¸˜
ı
´
Laboratorio Nacional de Computacao Cient´fica
¸˜
ı