Algoritmos genéticos

Post on 13-Apr-2017

78 views 0 download

Transcript of Algoritmos genéticos

ALGORITMOS GENÉTICOS

Jean F. G. RodriguesNovembro/2016

Definições• Algoritmo: sequência finita de instruções bem

definidas e não ambíguas, cada uma das quais devendo ser executadas mecânica ou eletronicamente em um intervalo de tempo finito e com uma quantidade de esforço finita[1].

Figura 1 – algoritmo de ordenação quicksort de uma matriz de valores ao acaso

Definições• Genética (do grego geno; fazer nascer): a

ciência dos genes, da hereditariedade e da variação dos organismos. Ramo da biologia que estuda a forma como se transmitem as características biológicas de geração para geração[2].

O que são algoritmos genéticos?

Algoritmos de busca estocástica da família de algoritmos evolutivos, cuja concepção se deu por Alan Turing (Turing, 1950)[3] com posterior pesquisa e desenvolvimento acadêmico-científicos e implementações feitos por diversas outras pessoas.

Definição

• Um algoritmo genético (ou AG) é uma variante de busca em feixe estocástica na qual os estados sucessores são gerados pela combinação de dois estados pais, em vez de serem gerados pela modificação de um único estado. A analogia em relação à seleção natural é a mesma que se dá na busca em feixe estocástica, exceto pelo fato de agora estarmos lidando com a reprodução sexuada, e não com a reprodução assexuada[4].

Técnicas de Busca

Figura 2 – Árvores de técnicas de busca[5]

Os algoritmos genéticos

Algoritmos genéticos usam conceitos da Teoria Sintética da Evolução, baseada nos estudos de seleção natural (Darwin, 1859), como:

➢População / indivíduo➢Genótipo / fenótipo➢Seleção Natural➢Recombinação (crossover)➢Mutação

Os algoritmos genéticos

Figura 3 – Passos dos algoritmos genéticos

Geração da população inicial

Cálculo de aptidão

Critério de

parada?Fim

Seleção Recombinação Mutação

Início

Como funcionam os algoritmos genéticos

Procedimento AG{ t = 0;inicia_população (P, t)avaliação (P, t);repita até (t >= d)

{ t = t +1;seleção_dos_pais (P,t);recombinação (P, t);mutação (P, t);avaliação (P, t);sobrevivem (P, t)}

}

onde:t - tempo atual;d - condições de aptidão para finalização do algoritmo;P - população

Como funcionam os algoritmos genéticos

• Inicialização: criar uma população de “indivíduos” candidatos à solução do problema

• Avaliação de aptidão: verificar se algum dos indivíduos propostos atendem à solução do problema

Como funcionam os algoritmos genéticos

• Seleção (método roleta):

Figura 4 – Seleção probabilística por aptidão – método roleta[6]

Como funcionam os algoritmos genéticos

• Recombinação (crossover):

Figura 5 – Um exemplo de crossover de um ponto. (a) dois indivíduos são escolhidos; (b) um ponto (4) de crossover é escolhido; (c) são

recombinadas as características, gerando dois novos indivíduos[6].

Como funcionam os algoritmos genéticos

• Mutação :

Figura 6 – Exemplo de mutação[6]

Aplicações• Exemplo: desenvolvimento da antena da

espaçonave ST5, da NASA, de 2006 [7]

Figura 7 – Versao final da antena da aeronave ST5 [7]

Dúvidas, críticas, sugestões, pontos a acrescentar?

Referências[1] Algoritmo - <https://pt.wikipedia.org/wiki/Algoritmo>. Acesso:

28/10/2016.[2] Genética - <https://pt.wikipedia.org/wiki/Genética> . Acesso:

28/10/2016.[3] COMPUTING MACHINERY AND INTELLIGENCE - TURING, A. M., 1950. [4] Inteligencia Artificial - 3a Ed - RUSSELL, Stuart; NORVIG, Peter - p. 166[5] ALGORITMOS GENETICOS -

<http://eddyalfaro.galeon.com/geneticos.html>. Acesso: 20/10/2016.[6] ALGORITMOS GENETICOS – CARVALHO, André Ponce de Leon -

<http://conteudo.icmc.usp.br/pessoas/andre/research/genetic/>. Acesso: 29/10/2016.

[7] Automated Antenna Design with Evolutionary Algorithms - AL GLOBUS, Gregory S. Hornby, LINDEN, Derek S., LOHN, Jason D. - <https://ti.arc.nasa.gov/m/pub-archive/1244h/1244%20(Hornby).pdf>. Acesso: 29/10/2016.