Apresentação expotec

27
Por que preciso aprender algoritmo genético? EXPOTEC - 2016

Transcript of Apresentação expotec

Page 1: Apresentação expotec

Por que preciso aprender algoritmo

genético?EXPOTEC - 2016

Page 2: Apresentação expotec

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.

Page 3: Apresentação expotec

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

Page 4: Apresentação expotec

O que são algoritmos genéticos?

Page 5: Apresentação expotec

O que são algoritmos genéticos?

DARWIN Seleção natural

Page 6: Apresentação expotec

Seleção Natural

Page 7: Apresentação expotec

O que são algoritmos genéticos?

DARWIN Seleção sexual

Page 8: Apresentação expotec

Qual possui a melhor característica morfológica?

Page 9: Apresentação expotec

O que são algoritmos genéticos?

Outros Conceitos

Page 10: Apresentação expotec

População

Page 11: Apresentação expotec

Reprodução

Page 12: Apresentação expotec

Mutação

• Mutações genéticas geram indivíduos novos

• Geralmente afeta apenas uma pequena parte da população

Page 13: Apresentação expotec

Gerações

Page 14: Apresentação expotec

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.”

Page 15: Apresentação expotec

Representação cromossômica

Page 16: Apresentação expotec

Representação cromossômica computacional• Vetor unidimensional• Vetor bidimensional• Árvore• Grafo• ...

Page 17: Apresentação expotec

Operador de Crossover

Page 18: Apresentação expotec

Operador de crossover (reprodução)

Page 19: Apresentação expotec

Operador de Mutação

Page 20: Apresentação expotec

Operador de

mutação

Page 21: Apresentação expotec

O problema das 8

rainhas

Page 22: Apresentação expotec

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

Page 23: Apresentação expotec

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

Page 24: Apresentação expotec

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

Page 25: Apresentação expotec

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

Page 26: Apresentação expotec

Mão na massa

Page 27: Apresentação expotec

Por que preciso aprender algoritmo

genético?EXPOTEC - 2016