por que preciso aprender algoritmo genético?

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

Upload: jozias-rolim

Post on 11-Feb-2017

36 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: Por que preciso aprender algoritmo genético?

Por que preciso aprender algoritmo

genético?EXPOTEC - 2016

Page 2: Por que preciso aprender algoritmo genético?

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: Por que preciso aprender algoritmo genético?

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: Por que preciso aprender algoritmo genético?

O que são algoritmos genéticos?

Page 5: Por que preciso aprender algoritmo genético?

O que são algoritmos genéticos?

DARWIN Seleção natural

Page 6: Por que preciso aprender algoritmo genético?

Seleção Natural

Page 7: Por que preciso aprender algoritmo genético?

O que são algoritmos genéticos?

DARWIN Seleção sexual

Page 8: Por que preciso aprender algoritmo genético?

Qual possui a melhor característica morfológica?

Page 9: Por que preciso aprender algoritmo genético?

O que são algoritmos genéticos?

Outros Conceitos

Page 10: Por que preciso aprender algoritmo genético?

População

Page 11: Por que preciso aprender algoritmo genético?

Reprodução

Page 12: Por que preciso aprender algoritmo genético?

Mutação

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

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

Page 13: Por que preciso aprender algoritmo genético?

Gerações

Page 14: Por que preciso aprender algoritmo genético?

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: Por que preciso aprender algoritmo genético?

Representação cromossômica

Page 16: Por que preciso aprender algoritmo genético?

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

Page 17: Por que preciso aprender algoritmo genético?

Operador de Crossover

Page 18: Por que preciso aprender algoritmo genético?

Operador de crossover (reprodução)

Page 19: Por que preciso aprender algoritmo genético?

Operador de Mutação

Page 20: Por que preciso aprender algoritmo genético?

Operador de

mutação

Page 21: Por que preciso aprender algoritmo genético?

O problema das 8

rainhas

Page 22: Por que preciso aprender algoritmo genético?

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: Por que preciso aprender algoritmo genético?

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: Por que preciso aprender algoritmo genético?

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: Por que preciso aprender algoritmo genético?

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: Por que preciso aprender algoritmo genético?

Mão na massa

Page 27: Por que preciso aprender algoritmo genético?

Por que preciso aprender algoritmo

genético?EXPOTEC - 2016