Algoritmo genético

14
Algoritmo Genético Danilo Victor Barbosa da Costa João Paulo Ferreira da Silva

Transcript of Algoritmo genético

Page 1: Algoritmo genético

Algoritmo GenéticoDanilo Victor Barbosa da CostaJoão Paulo Ferreira da Silva

Page 2: Algoritmo genético

Sumário

● O que é?● Características● Sua história.● Onde é usado?● Como fazer?● Função de Fitness● Exemplo 1● Exemplo 2● Leituras recomendadas

Page 3: Algoritmo genético

O que é?

Um algoritmo genético (AG) é uma técnica de busca utilizada na ciência da computação para achar soluções aproximadas em problemas de otimização e busca.“ ”

Wikipédia, a enciclopédia livre (2014) - http://pt.wikipedia.org/wiki/Algoritmo_gen%C3%A9tico

Page 4: Algoritmo genético

Características

● População○ Indivíduo

■ Solução■ Apitidão

● Crossover● Mutação● Seleção Natural

Page 5: Algoritmo genético

Sua história

● Charles Darwin apresentou em 1858 sua teoria de evolução através de seleção natural.

● Ao longo dos anos vários trabalhos sobre evolução, genética, herança e diversos outros temas correlacionados foram publicados.

Page 6: Algoritmo genético

Sua história● Nos anos 50 e 60, muitos biólogos começaram a desenvolver simulações

computacionais de sistemas genéticos.● John Holland foi gradualmente refinando suas idéias e em 1975 publicou o

seu livro Adaptation in Natural and Artificial Systems, hoje considerado a Bíblia de Algoritmos Genéticos.

Page 7: Algoritmo genético

Onde é usado?

● Criptografia

● Mineração de dados

● Reconhecimento de padrões

● Etc

Page 8: Algoritmo genético

Como fazer?

Page 9: Algoritmo genético

Como fazer?Algorítimo Genético Clássico

COLLARES, Paulo (2013) - http://www.paulocollares.com.br/algoritimo-genetico-classico-em-java-hello-world/

Page 10: Algoritmo genético

Função de FitnessServe para calcular o quanto aquele candidato é apto para a solução.

Page 11: Algoritmo genético

Exemplo 1 - Olá Mundo com Algoritmo Genético, por Paulo Collares

COLLARES, Paulo (2013) - http://www.paulocollares.com.br/algoritimo-genetico-classico-em-java-hello-world/

Page 12: Algoritmo genético

Exemplo 2 - Resolve a heurística do caixeiro viajante, por Cesar Tinum e Sabrine Henrique

Silva, César Tinum da (2009) - http://www.vivaolinux.com.br/script/Algoritmo-genetico-rotas

Page 14: Algoritmo genético

Obrigado pela atenção!