140 likes | 273 Views
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.
E N D
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 String Fitness % do Total 1 2 3 4 01101 11000 01000 10011 169 576 64 361 14.4 49.5 5.5 30.9 Total 1170 100.0
Crossover 0 1 1 0 | 1 0 1 1 0 0 1 1 0 0 | 0 1 1 0 0 1