ALGORITMOS PROBABILÍSTICOS
Danielli Maciel Fernandes
Leonardo Apolinário Dutra de Oliveira
Rodrigo Otávio Passos Ferreira
...
_______________________________________________________________________________
● Algoritmos probabilísticos utilizam alea...
_______________________________________________________________________________
● Exemplo simples: dado um vetor de N elem...
_______________________________________________________________________________
● Algoritmo determinista, como a busca lin...
_______________________________________________________________________________
1 - Algoritmos que NÃO garantem a exatidão...
_______________________________________________________________________________
2 - Algoritmos que garantem a exatidão da ...
_______________________________________________________________________________
Modelo que utiliza matrizes
Aceitabilidade...
_______________________________________________________________________________
AUTÔMATOS FINITOS PROBABILÍSTICOS
________...
_______________________________________________________________________________
AUTÔMATOS FINITOS PROBABILÍSTICOS
________...
_______________________________________________________________________________
Aprendizado de Máquina
● Algoritmos que po...
_______________________________________________________________________________
Redes Neurais
● São modelos computacionais...
_______________________________________________________________________________
Algoritmos Genéticos
● São utilizados em p...
_______________________________________________________________________________
Problema do Jantar dos Criptógrafos
● Prop...
_______________________________________________________________________________
Problema do Jantar dos Criptógrafos
● Cada...
_______________________________________________________________________________
Problema do Jantar dos Criptógrafos
ÁREAS ...
_______________________________________________________________________________
Problema do Jantar dos Criptógrafos
● Cada...
_______________________________________________________________________________
ÁREAS DE APLICAÇÃO
_______________________...
_______________________________________________________________________________
Protocolo DC-Net
● Esse protocolo estabele...
_______________________________________________________________________________
Protocolo DC-Net
Características:
● Os bit...
_______________________________________________________________________________
Protocolo DC-Net
Características:
● Se 2 p...
_______________________________________________________________________________
Os algoritmos probabilísticos tem se apres...
_______________________________________________________________________________
[1] http://en.wikipedia.org/wiki/Randomize...
Próximos SlideShares
Carregando em…5
×

Algoritmos probabilísticos

462 visualizações

Publicada em

Apresentação sobre algoritimos probabilísticos, apresenta o dilema do jantar dos criptógrafos bem como outras características da teoria da computação

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

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

Nenhuma nota no slide

Algoritmos probabilísticos

  1. 1. ALGORITMOS PROBABILÍSTICOS Danielli Maciel Fernandes Leonardo Apolinário Dutra de Oliveira Rodrigo Otávio Passos Ferreira ____________________________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ____________________________________________________________
  2. 2. _______________________________________________________________________________ ● Algoritmos probabilísticos utilizam aleatoriedade como princípio do seu funcionamento. ● Além do conjunto de dados que constituem a entrada do problema, é inserido um conjunto de ‘bits aleatórios’ que definirá o comportamento do algoritmo e, consequentemente, o resultado obtido para o problema. ● Isso significa que, utilizando-se os mesmos valores de entrada, se o algoritmo for executado duas vezes, pode-se obter dois resultados distintos. ● São bastante aplicados em áreas em que os algoritmos deterministas não produzem soluções satisfatórias. INTRODUÇÃO ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS
  3. 3. _______________________________________________________________________________ ● Exemplo simples: dado um vetor de N elementos, preenchido por quantidade iguais de letras A e B (N/2 letras A e N/2 letras B), que podem estar dispostas em qualquer ordem. O objetivo é desenvolver um algoritmo que encontre uma letra A e retorne a posição em que esta está. Seguem algumas possibilidades para o vetor: INTRODUÇÃO ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS A A A A A A A A B B B B B B B B B B B B B B B B A A A A A A A A B B A B B A A B A B B A A A B A
  4. 4. _______________________________________________________________________________ ● Algoritmo determinista, como a busca linear: começa-se a percorrer o vetor a partir da 1ª posição. Quando encontrar uma letra A, retorna sua posição. Vantajoso se o vetor estiver ordenado em ordem crescente. ● Algoritmo aleatório: gera um numéro aleatório de 1 a N e verifica se é uma letra A. Se for, retorna. Se não for, gera outro número aleatório e, assim, sucessivamente. Vantajoso se o vetor estiver ordenado em ordem decrescente. INTRODUÇÃO ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS
  5. 5. _______________________________________________________________________________ 1 - Algoritmos que NÃO garantem a exatidão da resposta 1.1 - Algoritmos probabilísticos numéricos Tem como característica encontrar a resposta dentro de uma margem de precisão e com uma probabilidade determinada. Segundo Brandão (2007), “Com probabilidade de 90% a resposta correcta é 59 mais ou menos 3”. 1. 2 - Algoritmos de Monte Carlo Sempre retorna uma resposta, mas não garante se é a correta. CLASSIFICAÇÃO DOS ALGORITMOS ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS
  6. 6. _______________________________________________________________________________ 2 - Algoritmos que garantem a exatidão da resposta 2.1 - Algoritmo Las Vegas A execução sempre irá produzir um resultado correto, mas é probabilístico o tempo de execução. CLASSIFICAÇÃO DOS ALGORITMOS ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS
  7. 7. _______________________________________________________________________________ Modelo que utiliza matrizes Aceitabilidade: ● Cada símbolo do alfabeto tem uma matriz associada. A matriz armazena a probabilidade de transição do estado em questão para cada um dos demais estados possíveis. ● O reconhecimento de uma palavra não é mais exato e sim, probabilístico. ● Segue exemplo de autômato para reconhecer palavras binárias da forma 00*11*00*. AUTÔMATOS FINITOS PROBABILÍSTICOS ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS P(xyz)= q T inicial . Mx .My.Mz . q final
  8. 8. _______________________________________________________________________________ AUTÔMATOS FINITOS PROBABILÍSTICOS ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS
  9. 9. _______________________________________________________________________________ AUTÔMATOS FINITOS PROBABILÍSTICOS ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS
  10. 10. _______________________________________________________________________________ Aprendizado de Máquina ● Algoritmos que podem aprimorar a sua capacidade de desempenho em determinada tarefa através da experiência. ● A experiência está relacionada a base de dados utilizada pelo algoritmo. Aumentando-se a base de dados, aumenta-se o percentual de acerto do algoritmo. ● São usados para reconhecimento de padrões, diagnóstico automático, controle robótico, processamento de linguagem natural etc. ● Tipos de algoritmos: árvores de decisão, Naive-Bayes, KNN, SVM, Redes Neurais etc. ÁREAS DE APLICAÇÃO ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS
  11. 11. _______________________________________________________________________________ Redes Neurais ● São modelos computacionais que simulam o comportamento do cérebro humano. Sistema de neurônios interconectados que efetuam cálculos a partir dos valores de entrada. ÁREAS DE APLICAÇÃO ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS
  12. 12. _______________________________________________________________________________ Algoritmos Genéticos ● São utilizados em problemas de otimização e busca. ● Fazem uso de procedimentos baseados no comportamento evolutivo de sistemas biológicos (mutação, recombinação, seleção natural). ● A ‘população inicial’ de um problema em específico é constituída de ‘indivíduos’ que são soluções criadas aleatoriamente. ● A cada geração, os ‘indivíduos’ se recombinam e sofrem mutações, alterando as características dos descendentes, criando algoritmos mais eficientes. ÁREAS DE APLICAÇÃO ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS
  13. 13. _______________________________________________________________________________ Problema do Jantar dos Criptógrafos ● Proposto em 1988 por David Chaum na Revista de Criptologia da International Association for Cryptologic Research. ● Consiste de 3 criptógrafos sentados em torno de uma mesa redonda de um restaurante. ● O jantar será pago pela NSA ou por apenas um dos criptógrafos. Se um dos criptógrafos pagar o jantar, esta informação deve ser mantida anônima. Os não- pagantes não podem saber quem pagou. Se a NSA pagar, todos podem saber. ÁREAS DE APLICAÇÃO ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS
  14. 14. _______________________________________________________________________________ Problema do Jantar dos Criptógrafos ● Cada criptográfo lança uma moeda entre ele o criptógrafo a sua direita, de modo que somente os dois vejam o resultado do lançamento. ● Assim, ao todo, 3 moedas são lançadas. ● Cada criptógrafo, fica sabendo do resultado do lançamento de duas das moedas: a que ele próprio lançou e mostrou o resultado ao criptógrafo a sua direita e a que o criptógrafo a sua esquerda lançou e mostrou a ele. ÁREAS DE APLICAÇÃO ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS
  15. 15. _______________________________________________________________________________ Problema do Jantar dos Criptógrafos ÁREAS DE APLICAÇÃO ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS
  16. 16. _______________________________________________________________________________ Problema do Jantar dos Criptógrafos ● Cada criptógrafo deve anunciar se os valores dos resultados de lançamento das duas moedas que cada um vê foram iguais ou diferentes. ● Se as duas moedas deram cara ou deram coroa, o criptógrafo deve anunciar 'igual'. Se uma das moedas deu cara e a outra coroa, deve anunciar 'diferente'. ● Se o criptógrafo for o pagante, ele deve anunciar o inverso da realidade. ● Substituindo os valores das moedas por 0 e 1, tem-se a operação XOR (OU exclusivo). ÁREAS DE APLICAÇÃO ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS
  17. 17. _______________________________________________________________________________ ÁREAS DE APLICAÇÃO ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS Moeda 1 Moeda 2 Moeda 3 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 A B A XOR B 0 0 0 0 1 1 1 0 1 0 0 0 Cript. 1 Cript. 2 Cript. 3 0 0 0 1 0 1 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 0 Sem transmissão: Cara = 0 Coroa = 1
  18. 18. _______________________________________________________________________________ Protocolo DC-Net ● Esse protocolo estabelecido foi nomeado, por David Chaum, como 'Dining Cryptographers Network' ou DC-Net. ● O protocolo pode ser estendido para N participantes, de modo que eles possam se comunicar de maneira sigilosa. ● A mensagem é recebida por todos os outros sem que ninguém conheça o remetente. ● É realizada a operação XOR (mod 2) com as declarações de todos os participantes. ÁREAS DE APLICAÇÃO ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS
  19. 19. _______________________________________________________________________________ Protocolo DC-Net Características: ● Os bits da mensagem tem de ser enviados um a um, o que causa lentidão e é inviável em certas aplicações. ● Pares de participantes devem compartilhar um bit secreto aleatório (correspondente a analogia do lançamento da moeda). Criam-se chaves para para distribuir vários bits de uma vez só. ● Para valores grandes de N, a quantidade de chaves fica impraticável. ÁREAS DE APLICAÇÃO ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS
  20. 20. _______________________________________________________________________________ Protocolo DC-Net Características: ● Se 2 participantes enviaram mensagens ao mesmo tempo, estas colidirão. E terão de ser retransmitidas. ● Necessidade de se ter disponível um canal seguro para distribuição dessas chaves. ● Se houver participantes desonestos que alterem suas declarações finais, a mensagem será corrompida. Ocorrerá envio de uma mensagem formada por bits aleatórios em vez de um texto com sentido. ● Além disso, podem conspirar para revelar a identidade do remetente. ÁREAS DE APLICAÇÃO ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS
  21. 21. _______________________________________________________________________________ Os algoritmos probabilísticos tem se apresentado como uma alternativa interessante na solução de uma gama de problemas computacionais. Principalmente para os problemas que são inviáveis de se resolver com os recursos computacionais atualmente disponíveis. Além disso, há também os problemas que tem uma natureza de incerteza, nos quais há apenas a probabilidade de se ocorrer um evento e não há garantia de ocorrência do mesmo. CONCLUSÃO ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS
  22. 22. _______________________________________________________________________________ [1] http://en.wikipedia.org/wiki/Randomized_algorithm [2] http://pt.wikipedia.org/wiki/Algoritmo_probabil%C3%ADstico [3] http://www.cise.ufl.edu/~nemo/anonymity/papers/chaum-dc.pdf [4] http://www.rbrandao.uac.pt/BioCompII_2007_08/AlgoritmosProbabilisticosParteI.pdf [5] http://www2.dc.ufscar.br/~zorzo/download/Apres21_08_07Claudio.pdf [6] http://en.wikipedia.org/wiki/Dining_cryptographers_problem BIBLIOGRAFIA ____________________________________________________________ FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO ALGORITMOS PROBABILÍSTICOS

×