Algoritmos Genéticos Fundamentos e Aplicações Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br
Conteúdo Introdução Inteligência Artificial (IA) Algoritmos Genéticos Aplicações de Algoritmos Genéticos Conclusões e Recomendações 2
Introdução Diversos problemas de ciência e engenharia requerem aplicar técnicas de optimização. Optimização de parâmetros Consideração de restrições dos parâmetros Um amplo espaço de busca de soluções 3
Introdução Exemplos de problemas em que se requer implementar procedimentos de optimização Optimização de funções matemáticas Problema do carteiro viajante Optimização de rotas de veículos Optimização de projeto de circuitos eletrônicos Optimização de planejamento e distribuição 4
Introdução Optimização de funções matemáticas Problema do carteiro viajante Optimização de rotas de veículos Optimização de projeto de circuitos eletrônicos Optimização de planejamento e distribuição Uma grande quantidade de possíveis soluções Restrições das variáveis Problemas de Minimização/Maximização 5
Inteligência Artificial (IA) São técnicas e sistemas computacionais que imitan aspectos humanos em computadores, tais como: Percepção Raciocinio Aprendizajem Evolução Adaptação 6
Inteligência Artificial (IA) As técnicas de inteligência computacional estão inspiradas na natureza e compreendem: Algoritmos Genéticos Redes Neurais Lógica Fuzzy Sistemas Especialistas Evolução Biológica Neurônios Biológicas Processamento Linguístico Inferência Humana 7
Algoritmos Genéticos Algoritmo de busca e optimização inspirado na seleção natural e reprodução genética Seleção do mais apto Reprodução Genética 8
Algoritmos Genéticos Seleção do mais apto Reprodução Genética Paradigma utilizado para a implementação de algoritmos evolutivos para optimização 9
Algoritmos Genéticos Problema de minimização de uma função matemática y_max y y x 2 min f ( x) 31 x 31 0 y 961 x 0, y 0 y_min x_min 0 x_max 10
Ciclo de um Algoritmo Genético População Inicial de Indivíduos x Codificação Avaliação y=f(x) 10 0 01010 100 8 0 01000 64-3 1 00011 9 7 0 00111 49-6 1 00110 36 Pais 11
Ciclo de um Algoritmo Genético População Inicial de Indivíduos x Codificação Avaliação y=f(x) 10 0 01010 100 8 0 01000 64-3 1 00011 9 7 0 00111 49-6 1 00110 36 x Codificação Avaliação y=f(x) -3 1 00011 9-6 1 00110 36 12
Ciclo de um Algoritmo Genético População Inicial de Indivíduos x Codificação Avaliação y=f(x) 10 0 01010 100 8 0 01000 64-3 1 00011 9 7 0 00111 49-6 1 00110 36 1 0 0 0 1 1 1 0 0 1 1 0 1 0 0 0 1 0 =-2 1 0 0 1 1 1 =-7 1 0 0 1 1 1 1 1 0 1 1 1 =-23 13
Ciclo de um Algoritmo Genético População Inicial de Indivíduos x Codificação Avaliação y=f(x) 10 0 01010 100 8 0 01000 64-3 1 00011 9 7 0 00111 49-6 1 00110 36 1 0 0 0 1 1 1 0 0 1 1 0 1 0 0 0 1 0 =-2 1 0 0 1 1 1 =-7 1 0 0 0 1 0 =-2 1 0 0 1 1 1 =-7 1 1 0 1 1 1 =-23 1 0 0 1 1 1 1 1 0 1 1 1 =-23 14
y y y 1 2 3 Ciclo de um Algoritmo Genético f ( 7) 49 f ( 2) 4 f ( 23) 529 População Inicial de Individuos x Codificação Avaliação y=f(x) 10 0 01010 100 8 0 01000 64-3 1 00011 9 7 0 00111 49-6 1 00110 36 y=f(x) 1 0 0 0 1 0 =-2 1 0 0 1 1 1 =-7 1 0 0 1 1 1 =-7 1 0 0 0 1 0 =-2 1 1 0 1 1 1 =-23 1 1 0 1 1 1 =-23 15
y y y 1 2 3 Ciclo de um Algoritmo Genético f ( 7) 49 f ( 2) 4 f ( 23) 529 População Inicial de Indivíduos x Codificação Avaliação y=f(x) 10 0 01010 100 8 0 01000 64-3 1 00011 9 7 0 00111 49-6 1 00110 36 y=f(x) 1 0 0 0 1 0 =-2 1 0 0 1 1 1 =-7 1 0 0 1 1 1 =-7 1 0 0 0 1 0 =-2 1 1 0 1 1 1 =-23 1 1 0 1 1 1 =-23 16
Ciclo de um Algoritmo Genético Nova População de Indivíduos x Codificação Avaliação y=f(x) -2 0 00010 4 8 0 01000 64-3 1 00011 9 7 0 00111 49-6 1 00110 36 y=f(x) 17
Evolução do AG A evolução da optimização é observada através da função de fitness (Função de Avaliação) y x 2 18
Algoritmos Genéticos Algoritmo de busca e optimização inspirado na seleção natural e reprodução genética Algoritmos Genéticos empregam um processo adaptativo e paralelo de busca de soluções em problemas complexos Combina a sobrevivência do individuo mais apto e o cruzamento aleatório da informação 19
Aplicações de AGs Optimização de funções matemáticas Problema do carteiro viajante Optimização de rotas de veículos Optimização de projeto de circuitos eletrônicos Optimização de planejamento e distribuição 20
Optimização de Funções Matemáticas Maximizar a função F6(x,y) F6( x, y) 0.5 sen x y 1 0.001 2 2 x 2 2 2 0.5 y 2 100 x 100 100 y 100 21
Problema do Carteiro Viajante Se desejam visitar as cidades desde um ponto de partida, com a menor distância e sem passar dois vezes pela mesma cidade ( N 1)! Rotas Distintas 2 Para N 50 cidades (50 1)! Rotas Distintas 3.0414 10 2 62 Cidade de partida 22
Problema do Carteiro Viajante Cidade de partida e chegada com a menor distância recorrida, sem passar por dois vezes pela mesma cidade 23
Optimização de Projeto de Circuitos Eletrõnicos Para uma resposta de saída desejada, é possível otimizar o projeto do circuito eletrônico usando AG Vout 24
Optimização Planejamento e Distribuição Planejamento de Horários de aulas em Universidades em função das disponibilidades dos docentes e salas disponíveis 25
Conclusões Algoritmos Genéticos permitem encontrar soluções ótimas e em tempos curtos quando o espaço de busca é muito amplo. Os AGs realizam buscas de soluções de forma direcionada de forma adaptativa e paralela. Deve-se considerar a construção de uma função de adaptação (Fitness) que permita diferenciar aos indivíduos mais aptos. 26
Conclusões Os AGs não garantem uma solução global (Problema de estagnação) 27
Software para a Implementação de AG GEATbx: Genetic and Evolutionary Algorithm Toolbox for use with MATLAB www.geatbx.com GPLab: Genetic Programming Toolbox for use with MATLAB http.//gplab.sourceforge.net 28