Por que preciso aprender algoritmo
genético?EXPOTEC - 2016
About me!
• Mestrando em Inteligência Artificial na USP, onde pesquiso sobre: Detecção e reconhecimento de faces em ambientes não controlados com reconstrução 3D.
• Data Scientist na iColabora, onde trabalho com pesquisa e desenvolvimento de novos produtos aplicando técnicas de aprendizado de máquina.
• Tecnólogo em Sistemas para Internet pelo IFPB• Ex-aluno do curso de Lic. Ciências da
Computação pela UFPB – campus IV.
Sumário
• O que são algoritmos genéticos?• Operadores genéticos e a representação cromossômica• Aplicação do algoritmo genético – 8 rainhas• Elasticsearch• Buscas no elasticsearch• Boosting em busca no elasticsearch
O que são algoritmos genéticos?
O que são algoritmos genéticos?
DARWIN Seleção natural
Seleção Natural
O que são algoritmos genéticos?
DARWIN Seleção sexual
Qual possui a melhor característica morfológica?
O que são algoritmos genéticos?
Outros Conceitos
População
Reprodução
Mutação
• Mutações genéticas geram indivíduos novos
• Geralmente afeta apenas uma pequena parte da população
Gerações
O que são algoritmos genéticos?
“São algoritmos baseado na teoria da evolução que a partir de uma população de indivíduos, através de mutação e reprodução, buscam um indivíduo ótimo.”
Representação cromossômica
Representação cromossômica computacional• Vetor unidimensional• Vetor bidimensional• Árvore• Grafo• ...
Operador de Crossover
Operador de crossover (reprodução)
Operador de Mutação
Operador de
mutação
O problema das 8
rainhas
O problema das 8 rainhas
• Dispor 8 rainhas em um tabuleiro 8 x 8• As rainhas não podem se ameaçar• 92 soluções• Existem 4.426.165.368 maneiras de dispor as rainhas.• P(A) = 92/4.426.165.368• Considerando uma rainha por cada linha e coluna• Existem 40.320 maneiras de dispor as rainhas.• P(A) = 92/40.320
O problema das 8 rainhas
1 2 3 4 5 6 7 8
3 2 1 6 7 8 5 4
2 4 6 8 3 1 7 5
2 2 1 6 7 8 5 4
5 4 3 7 8 2 1 6
• Alfabeto e representação• Gerados aleatoriamente• Indivíduos distintos• Soluções do problema• Factíveis• Infactíveis• Qual o melhor indivíduo?• Menor quantidade de rainhas se
ameaçando• Melhores se reproduzem• Por fim a população evolui
Elasticsearch
• Base de dados orientada a documentos• Os documentos são indexados por tokens• Relevância dos documentos• Real time search• Baseado em Restfull• Livre de schema• Full text search• Distribuição massiva• JSON Documents
Elasticsearch
• Cluster – Coleção de 1 ou mais nós• Node – Subdivisão do clusters (Permite
join entre eles)• Index – Coleção de documentos com
características similares (database)• Type – Tipos de documentos (tabelas)• Document – Unidade básica a ser
armazenada (registro)• Shards – Subdivisão do Index• Replicas – Copias de segurança dos shards
Mão na massa
Por que preciso aprender algoritmo
genético?EXPOTEC - 2016