Post on 13-Apr-2017
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.