algoritmos genéticos
DESCRIPTION
Algoritmos Genéticos. Jorge H. C. Fernandes Setembro de 1998. Algoritmos Genéticos. Modelo computacional de evolução biológica Abstrair o processo adaptativo de sistemas naturais Utilizações métodos de busca modelagem de sistemas evolucionários Baseado em genética de populações. - PowerPoint PPT PresentationTRANSCRIPT
Algoritmos Genéticos
Jorge H. C. Fernandes
Setembro de 1998
Algoritmos Genéticos
• Modelo computacional de evolução biológica
• Abstrair o processo adaptativo de sistemas naturais
• Utilizações– métodos de busca– modelagem de sistemas evolucionários
• Baseado em genética de populações
Algoritmos Genéticos
• Strings binárias são armazenadas na memória de um computador e modificadas durante um tempo de um modo análogo a populações de indivíduos que evoluem sujeitas à seleção natural
• Embora simples podem ser capazes de evoluir estruturas (indivíduos) altamente complexas e interessantes
Indivíduos em um Algoritmo Genético
• soluções para problemas
• estratégias de jogos
• imagens visuais
• programas de computador
Robustez de Algoritmos Genéticos
• Robustez de sistemas naturais versus sistemas artificiais
• Métodos de Busca Tradicionais versus GAS• Calculus based
– continuidade de valores– existência de derivadas– não modalidades
• Enumerativos e Aleatórios– Pouca eficiência
• Algoritmos Genéticos– Pouco conhecimento analítico da solução (complexo, ruidoso, dinâmico)– Exploração paralela do espaço de soluções– Soluções próximas ao ótimo
Elementos de Algoritmos Genéticos
• Operadores Genéticos– Reprodução (based on fitness evaluation - diferencial)
– Crossover (combina blocos construtures - esquemas)
– Mutation (point, duplication, etc) - perturbação no ambiente para evitar mínimos locais
• População de indivíduos inicialmente aleatória• Paralelismo implícito através dos esquemas
Aplicações
• Robótica– Com Redes Neurais
• Evolução– Estratégias de jogos– Ecossistemas– Sistemas sociais e políticos
• Otimização numérica e combinatória• Projeto de Circuitos• Escalonamento de tarefas
Co-Evolução de Estratégias de Cooperação
00 = Sempre Denuncia (AllD)11 = Sempre Coopera (AllC)
01 = Dente por Dente (TfT)10 = Anti-Dente por Dente (ATfT)
Terminologia
• String = cromossomo• Característica = gene• Valor da característica = alelo• Posição da String = locus• Estrutura = genótipo• Estrutura decodificada, conjunto de parâmetros,
alternativa de solução = fenótipo• Não linearidade = epistasia
Algorithm GA is // start with an initial time t := 0; // initialize a usually random population of individuals initpopulation P (t); // evaluate fitness of all initial individuals of population evaluate P (t); // test for termination criterion (time, fitness, etc.) while not done do // increase the time counter t := t + 1; // select a sub-population for offspring production P' := selectparents P (t); // recombine the "genes" of selected parents recombine P' (t); // perturb the mated population stochastically mutate P' (t); // evaluate it's new fitness evaluate P' (t); // select the survivors from actual fitness P := survive P,P' (t); od end GA.
Exemplo Maximizar função f(x) = x**2
• Intervalo de 0 a 31
• Genoma de 5 bits
• População com quatro indivíduos
Strings e Valores de Fitness
Número
1234
01101110000100010011
String Fitness
16957664
361
% do Total
14.449.5
5.530.9
Total 1170 100.0
Seleção dos SobreviventesPopulação de Casais
Crossover
0 1 1 0 | 1
1 1 0 0 | 0
0 1 1 0 0
1 1 0 0 1