SlideShare a Scribd company logo
1 of 22
ALGORITMOS PROBABILÍSTICOS
Danielli Maciel Fernandes
Leonardo Apolinário Dutra de Oliveira
Rodrigo Otávio Passos Ferreira
____________________________________________________________________________
FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO
____________________________________________________________
_______________________________________________________________________________
● 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
_______________________________________________________________________________
● 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
_______________________________________________________________________________
● 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
_______________________________________________________________________________
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
_______________________________________________________________________________
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
_______________________________________________________________________________
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
_______________________________________________________________________________
AUTÔMATOS FINITOS PROBABILÍSTICOS
____________________________________________________________
FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO
ALGORITMOS PROBABILÍSTICOS
_______________________________________________________________________________
AUTÔMATOS FINITOS PROBABILÍSTICOS
____________________________________________________________
FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO
ALGORITMOS PROBABILÍSTICOS
_______________________________________________________________________________
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
_______________________________________________________________________________
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
_______________________________________________________________________________
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
_______________________________________________________________________________
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
_______________________________________________________________________________
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
_______________________________________________________________________________
Problema do Jantar dos Criptógrafos
ÁREAS DE APLICAÇÃO
____________________________________________________________
FUNDAMENTOS DE TEORIA DA COMPUTAÇÃO
ALGORITMOS PROBABILÍSTICOS
_______________________________________________________________________________
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
_______________________________________________________________________________
Á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
_______________________________________________________________________________
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
_______________________________________________________________________________
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
_______________________________________________________________________________
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
_______________________________________________________________________________
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
_______________________________________________________________________________
[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

More Related Content

What's hot

Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
elliando dias
 
A Matemática do Ensino Médio Volume 1 by Elon Lages Lima Paulo Cezar Pinto Ca...
A Matemática do Ensino Médio Volume 1 by Elon Lages Lima Paulo Cezar Pinto Ca...A Matemática do Ensino Médio Volume 1 by Elon Lages Lima Paulo Cezar Pinto Ca...
A Matemática do Ensino Médio Volume 1 by Elon Lages Lima Paulo Cezar Pinto Ca...
RodrigoLuis21
 
Ordenação de vetores
Ordenação de vetoresOrdenação de vetores
Ordenação de vetores
alfredtaddeus
 

What's hot (20)

Linguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e Funções
 
Árvore de Decisão | IA
Árvore de Decisão | IA Árvore de Decisão | IA
Árvore de Decisão | IA
 
Algoritmo recursivo
Algoritmo recursivoAlgoritmo recursivo
Algoritmo recursivo
 
Investigação Operacional - Problema de Transporte
Investigação Operacional - Problema de TransporteInvestigação Operacional - Problema de Transporte
Investigação Operacional - Problema de Transporte
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Principios do 5s
Principios do 5sPrincipios do 5s
Principios do 5s
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2
 
Material Educativo - Orçamento Matricial
Material Educativo - Orçamento MatricialMaterial Educativo - Orçamento Matricial
Material Educativo - Orçamento Matricial
 
Gestao de processos
Gestao de processosGestao de processos
Gestao de processos
 
Gestao macroprocesso
Gestao macroprocessoGestao macroprocesso
Gestao macroprocesso
 
Uma análise sobre o ciclo pdca como um método para solução de problemas da qu...
Uma análise sobre o ciclo pdca como um método para solução de problemas da qu...Uma análise sobre o ciclo pdca como um método para solução de problemas da qu...
Uma análise sobre o ciclo pdca como um método para solução de problemas da qu...
 
Programa 5S CLT Services 2014
Programa 5S CLT Services 2014Programa 5S CLT Services 2014
Programa 5S CLT Services 2014
 
Redução de custo através da revisão e otimização de processos de suprimentos
Redução de custo através da revisão e otimização de processos de suprimentosRedução de custo através da revisão e otimização de processos de suprimentos
Redução de custo através da revisão e otimização de processos de suprimentos
 
A Matemática do Ensino Médio Volume 1 by Elon Lages Lima Paulo Cezar Pinto Ca...
A Matemática do Ensino Médio Volume 1 by Elon Lages Lima Paulo Cezar Pinto Ca...A Matemática do Ensino Médio Volume 1 by Elon Lages Lima Paulo Cezar Pinto Ca...
A Matemática do Ensino Médio Volume 1 by Elon Lages Lima Paulo Cezar Pinto Ca...
 
Bai tap mau pascal
Bai tap mau pascalBai tap mau pascal
Bai tap mau pascal
 
Gerdau - Mapa Estratégico com PETI
Gerdau - Mapa Estratégico com PETIGerdau - Mapa Estratégico com PETI
Gerdau - Mapa Estratégico com PETI
 
Ordenação de vetores
Ordenação de vetoresOrdenação de vetores
Ordenação de vetores
 
Exercícios - Herança - Java
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - Java
 
Tipos de algoritmos
Tipos de algoritmosTipos de algoritmos
Tipos de algoritmos
 
Aula 02 - Lógica de Programação
Aula 02 - Lógica de ProgramaçãoAula 02 - Lógica de Programação
Aula 02 - Lógica de Programação
 

Similar to Algoritmos probabilísticos

Denny daniel collina apostila de sitemas microprocessados
Denny daniel collina   apostila de sitemas microprocessadosDenny daniel collina   apostila de sitemas microprocessados
Denny daniel collina apostila de sitemas microprocessados
Lorena Barreto
 
Ficha teorica tratamento de dados
Ficha teorica tratamento de dadosFicha teorica tratamento de dados
Ficha teorica tratamento de dados
Diogo Ana
 
Cruzadinha Matemática 01
Cruzadinha Matemática 01 Cruzadinha Matemática 01
Cruzadinha Matemática 01
Prof. Materaldo
 
Cruzadinha Matemática 01
Cruzadinha Matemática 01Cruzadinha Matemática 01
Cruzadinha Matemática 01
Prof. Materaldo
 
Ec13 pacc ficha 32_maio14
Ec13 pacc ficha 32_maio14Ec13 pacc ficha 32_maio14
Ec13 pacc ficha 32_maio14
Leonor Alves
 
Ficha de diagnóstico nova 5º ano
Ficha de diagnóstico nova 5º anoFicha de diagnóstico nova 5º ano
Ficha de diagnóstico nova 5º ano
Pcarmo
 
Ap curso+de+linguagem+c
Ap   curso+de+linguagem+cAp   curso+de+linguagem+c
Ap curso+de+linguagem+c
ariferreira3
 

Similar to Algoritmos probabilísticos (20)

Plano tematico e analitico pom2020
Plano tematico e analitico pom2020Plano tematico e analitico pom2020
Plano tematico e analitico pom2020
 
Denny daniel collina apostila de sitemas microprocessados
Denny daniel collina   apostila de sitemas microprocessadosDenny daniel collina   apostila de sitemas microprocessados
Denny daniel collina apostila de sitemas microprocessados
 
Ficha teorica tratamento de dados
Ficha teorica tratamento de dadosFicha teorica tratamento de dados
Ficha teorica tratamento de dados
 
Cruzadinha Matemática 01
Cruzadinha Matemática 01 Cruzadinha Matemática 01
Cruzadinha Matemática 01
 
Mecânica - Alinhamento
Mecânica - AlinhamentoMecânica - Alinhamento
Mecânica - Alinhamento
 
Alinhamento
AlinhamentoAlinhamento
Alinhamento
 
Elementos de máquinas 2
Elementos de máquinas 2Elementos de máquinas 2
Elementos de máquinas 2
 
Cruzadinha Matemática 01
Cruzadinha Matemática 01Cruzadinha Matemática 01
Cruzadinha Matemática 01
 
Prova Mysql
Prova MysqlProva Mysql
Prova Mysql
 
Aula 04 07-2012
Aula 04 07-2012Aula 04 07-2012
Aula 04 07-2012
 
Alinhamento
AlinhamentoAlinhamento
Alinhamento
 
Ec13 pacc ficha 32_maio14
Ec13 pacc ficha 32_maio14Ec13 pacc ficha 32_maio14
Ec13 pacc ficha 32_maio14
 
Atividade para nota recuperação paralela
Atividade para nota recuperação paralelaAtividade para nota recuperação paralela
Atividade para nota recuperação paralela
 
Modelagem I
Modelagem IModelagem I
Modelagem I
 
Ficha de diagnóstico nova 5º ano
Ficha de diagnóstico nova 5º anoFicha de diagnóstico nova 5º ano
Ficha de diagnóstico nova 5º ano
 
Circuitos logicos combinacionais
Circuitos logicos combinacionaisCircuitos logicos combinacionais
Circuitos logicos combinacionais
 
Lingc
LingcLingc
Lingc
 
Ap curso+de+linguagem+c
Ap   curso+de+linguagem+cAp   curso+de+linguagem+c
Ap curso+de+linguagem+c
 
Desenhos eletricos
Desenhos eletricosDesenhos eletricos
Desenhos eletricos
 
Desenhos eletricos
Desenhos eletricosDesenhos eletricos
Desenhos eletricos
 

More from Rodrigo Ferreira

Análise e desenvolvimento de algoritmo para operação em bolsa de valores base...
Análise e desenvolvimento de algoritmo para operação em bolsa de valores base...Análise e desenvolvimento de algoritmo para operação em bolsa de valores base...
Análise e desenvolvimento de algoritmo para operação em bolsa de valores base...
Rodrigo Ferreira
 

More from Rodrigo Ferreira (8)

Apresentação sobre TOGAF
Apresentação sobre TOGAFApresentação sobre TOGAF
Apresentação sobre TOGAF
 
Programação modular - Ferramenta para rotular seções de imagens e realizar bu...
Programação modular - Ferramenta para rotular seções de imagens e realizar bu...Programação modular - Ferramenta para rotular seções de imagens e realizar bu...
Programação modular - Ferramenta para rotular seções de imagens e realizar bu...
 
Comércio eletronico na internet
Comércio eletronico na internetComércio eletronico na internet
Comércio eletronico na internet
 
Computação Forense
Computação ForenseComputação Forense
Computação Forense
 
Ferramenta Flow - Análise estática de códigos javascript
Ferramenta Flow - Análise estática de códigos javascriptFerramenta Flow - Análise estática de códigos javascript
Ferramenta Flow - Análise estática de códigos javascript
 
Geografia das coisas - Internet das coisas com enfoque em localização
Geografia das coisas - Internet das coisas com enfoque em localizaçãoGeografia das coisas - Internet das coisas com enfoque em localização
Geografia das coisas - Internet das coisas com enfoque em localização
 
Análise e desenvolvimento de algoritmo para operação em bolsa de valores base...
Análise e desenvolvimento de algoritmo para operação em bolsa de valores base...Análise e desenvolvimento de algoritmo para operação em bolsa de valores base...
Análise e desenvolvimento de algoritmo para operação em bolsa de valores base...
 
CRM - Customer Relationship Management
CRM - Customer Relationship Management CRM - Customer Relationship Management
CRM - Customer Relationship Management
 

Algoritmos probabilísticos