Algoritmos Randomizados

Post on 06-Jul-2015

826 views 0 download

Tags:

description

Algoritmos Randomizados

Transcript of Algoritmos Randomizados

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Algoritmos Randomizados

Juan Grados VasquezGA-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

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Sumario

1 Introducao

2 Famılias de Algoritmos Randomizados

3 Maquina de Turing Probabilıstica

4 Classes de Complexidade Probabilısticas

5 Un Paradigma Combinatorio

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Sumario

1 Introducao

2 Famılias de Algoritmos Randomizados

3 Maquina de Turing Probabilıstica

4 Classes de Complexidade Probabilısticas

5 Un Paradigma Combinatorio

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Sumario

1 Introducao

2 Famılias de Algoritmos Randomizados

3 Maquina de Turing Probabilıstica

4 Classes de Complexidade Probabilısticas

5 Un Paradigma Combinatorio

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Sumario

1 Introducao

2 Famılias de Algoritmos Randomizados

3 Maquina de Turing Probabilıstica

4 Classes de Complexidade Probabilısticas

5 Un Paradigma Combinatorio

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Sumario

1 Introducao

2 Famılias de Algoritmos Randomizados

3 Maquina de Turing Probabilıstica

4 Classes de Complexidade Probabilısticas

5 Un Paradigma Combinatorio

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Sumario

1 Introducao

2 Famılias de Algoritmos Randomizados

3 Maquina de Turing Probabilıstica

4 Classes de Complexidade Probabilısticas

5 Un Paradigma Combinatorio

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Experimento Aleatorio

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Historia

Figura 1: IncasFigura 2: Azande Figura 3: Naskapi

[Shallit, 2009]

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Historia

1777 Metodo Agulha de Buffon para a estimacao do π

1917 Calculo√

a mod p. [H. C. Pocklington]1976 Test de Primalidade.[Rabin]

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Historia

1777 Metodo Agulha de Buffon para a estimacao do π

1917 Calculo√

a mod p. [H. C. Pocklington]

1976 Test de Primalidade.[Rabin]

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Historia

1777 Metodo Agulha de Buffon para a estimacao do π

1917 Calculo√

a mod p. [H. C. Pocklington]1976 Test de Primalidade.[Rabin]

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Algoritmos Randomizados

Algoritmo?

Randomizado?

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Algoritmos Randomizados

Algoritmo?Randomizado?

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Algoritmos Randomizados

Algoritmo?Randomizado?

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Geradores Pseudo-Aleatorio e Aleatorios

Geradores Pseudo-Aleatorio: Blum Blum Shub, Fortuna, y elMersenne twister.Geradores Aleatorio: Quantum True Random Number Generatorhttp://qubit.lncc.br/trng/

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Aplicacoes

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Porque Utilizar?

Simples

Determinıstico:1 Transforme F (x).2 Compare os coeficientes

de F (x) e G(x)3 Se houver diferenca,

retorne NAO4 Se nao, retorne SIM

Randomico:1 Sorteie um inteiro w,

aleatoriamente, de 1 a100d

2 Avalie F (w) e G(w)

3 Se F (w) 6= G(w), retorneNAO

4 Se nao, retorne SIM

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Porque Utilizar?

Simples

Determinıstico:1 Transforme F (x).2 Compare os coeficientes

de F (x) e G(x)3 Se houver diferenca,

retorne NAO4 Se nao, retorne SIM

Randomico:1 Sorteie um inteiro w,

aleatoriamente, de 1 a100d

2 Avalie F (w) e G(w)

3 Se F (w) 6= G(w), retorneNAO

4 Se nao, retorne SIM

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Porque Utilizarlos?

Eficientes:

exemplo: Test de Primalidade:AKS O(log6 n(log log n))

Rabin O(log2 n(log log n))Incerteza

Resultado do AlgoritmoTempo do Algoritmo

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Porque Utilizarlos?

Eficientes: exemplo: Test de Primalidade:AKS O(log6 n(log log n))

Rabin O(log2 n(log log n))

IncertezaResultado do AlgoritmoTempo do Algoritmo

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Porque Utilizarlos?

Eficientes: exemplo: Test de Primalidade:AKS O(log6 n(log log n))

Rabin O(log2 n(log log n))Incerteza

Resultado do AlgoritmoTempo do Algoritmo

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Sumario

1 Introducao

2 Famılias de Algoritmos Randomizados

3 Maquina de Turing Probabilıstica

4 Classes de Complexidade Probabilısticas

5 Un Paradigma Combinatorio

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

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

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Erro unilateral

Erro unilateral baseado no SIM.Erro unilateral baseado no NAO.

Exemplo:

Qual e a probabilidade do algoritmo errar a resposta quando ospolinomios nao sao identicos?

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Mas probabilidades

AS o algoritmo responde SIMAN o algoritmo responde NAOCS a resposta correta para a entrada e SIMCN 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

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Mas probabilidades

AS o algoritmo responde SIMAN o algoritmo responde NAOCS a resposta correta para a entrada e SIMCN 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

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Reduzindo a Probabilidade de Errar

Seja A um algoritmo de Monte Carlo de erro-unilateral-baseadono nao.Probabilidade de errar: ε

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Algoritmos de las Vegas

Incerteza no tempo do algoritmo

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Algoritmo de Monte Carlo usando las Vegas

1 repetir N vezesSe 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

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Algoritmo de Monte Carlo usando las Vegas

1 repetir N vezesSe 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

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Sumario

1 Introducao

2 Famılias de Algoritmos Randomizados

3 Maquina de Turing Probabilıstica

4 Classes de Complexidade Probabilısticas

5 Un Paradigma Combinatorio

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

PTM

Uma maquina de Turing probabilıstica M e um tipo de maquina deTuring nao determinista onde cada passo no determinista e decididode forma aleatoria. [Sipser, pag. 336]

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

PTM: Computation Tree

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Consequencias

A NDTM e uma PTM sim probabilidades nas transicoes.A DTM pode ser vista como PTM com nao mais de uma soalternativa para cada transicao.Para uma mesma entrada pode ter tempo de execucao diferenteou pode nao parar.Pode aceitar a entrada em uma determinada execucao, masrejeitar outra entrada.

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Sumario

1 Introducao

2 Famılias de Algoritmos Randomizados

3 Maquina de Turing Probabilıstica

4 Classes de Complexidade Probabilısticas

5 Un Paradigma Combinatorio

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

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

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

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

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Sumario

1 Introducao

2 Famılias de Algoritmos Randomizados

3 Maquina de Turing Probabilıstica

4 Classes de Complexidade Probabilısticas

5 Un Paradigma Combinatorio

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

O modelo de bolas e latas

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

O modelo de bolas e latas

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Paradoxo do Aniversario

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Fim

Fim

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica

Introducao Famılias de Algoritmos Randomizados Maquina de Turing Probabilıstica Classes de Complexidade Probabilısticas Un Paradigma Combinatorio Bibliografıa

Laboratorio Nacional de Computacao Cientıfica.

Laboratorio Nacional de Computacao Cientıfica