Algoritmo Genético Algoritmo Genético Proposto por John Holland(1975) Metáfora Resolução de Problema Algoritmos Genéticos Problema Ambiente /Função de Avaliação Solução Candidata Indivíduo/Cromossomo Qualidade Fitness Inspiração na Teoria da Evolução proposta por Darwin Motivação Problemas não solúveis em tempo polinomial ◦ ◦ ◦ ◦ Caixeiro viajante Roteamento de veículos Coloração de Grafos Horário de Universidade O algoritmo é capaz de encontrar uma solução que fuja ao censo comum ◦ Projeto de antenas Projeto de Antenas Antena gerada em um AG Antena gerada por um especialista Algoritmo Genético Inspiração ◦ A Origem das Espécies [Charles Darwin 1859] principais pontos: ◦ existe uma variação no grau de adaptação dos indivíduos ao meio em que vivem (ambiente) ◦ a variação no grau de adaptação é hereditária ◦ pelo resultado da seleção natural (luta pela sobrevivência), os indivíduos mais adaptados terão maior chance de gerar descendentes Algoritmo Genético Gerar População Inicial Avaliação da População Eliminação dos Menos Aptos Avaliação da População Mutação Cruzamento Seleção Critério de parada F V Fim do Processo Caracterização do Cromossomo O cromossomo deve ser uma solução codificada para o problema Podendo ser uma string, matriz, uma variável qualquer A representação depende do tipo de problema a ser manipulado É inicializada uma população destes cromossomos aleatoriamente Caracterização do Cromossomo Representação Binária 1 1 0 0 1 0 1 0 0 Representação simbólica A 1 J D I B E D G F H Representação de valores reais 4 3,7 1 3 2,3 5 6 8,9 5 8 Função de Fitness Indica o grau de resolução do problema pelo cromossomo Maior dificuldade do AG ◦ Caixeiro viajante distância percorrida ◦ Coloração dos grafos número de cores adjacentes ◦ Roteamento de veículos tempo, distancia, gasto financeiro ◦ Horário de aula ??? Seleção Os selecionados são indicados para uma área de cruzamento Aqueles que possuírem maior fitness tem maior chance se passar suas características para seus descendentes Uma seleção muito rigorosa acaba com a diversidade da população, podendo fazer com que uma característica seja perdida. Seleção Seleção por torneio Cromossomo 1 1 1 0 0 Aptidão 1 0 1 0 0 5 0 1 1 1 1 8 X 1 1 0 1 1 Seleção por Roleta Cromossomo 5 Cromossomo 4 3 5 Cromossomo 0 7 10 Cromossomo 1 13 Cromossomo 3 5 10 Cromossomo 2 Cruzamento Operação onde os cromossomos previamente selecionados trocam características para gerar novos cromossomos Processo o qual caracteriza um Algoritmo Genético Os cromossomos “pais” não devem ser perdidos Cruzamento Cruzamento com 1 ponto de corte 1 1 1 0 0 1 0 1 0 0 Cromossomo1 1 1 0 1 1 0 1 1 1 1 Cromossomo 2 1 1 1 1 1 0 1 1 1 1 Cromossomo 3 1 1 0 0 0 1 0 1 0 0 Cromossomo 4 Cruzamento com 2 pontos de corte 1 1 1 0 0 1 0 1 0 0 Cromossomo 1 1 1 0 1 1 0 1 1 1 1 Cromossomo 2 1 1 1 1 1 0 0 1 0 0 Cromossomo 3 1 1 0 0 0 1 1 1 1 1 Cromossomo 4 Cruzamento Parcialmente mapeado (PMX) Mapeamento 01 02 I A B D E H H->E D I E G J A J C I B E D G F H Cromossomo 1 G F B A D H I J C E Cromossomo 2 A->I->D->B B G C A D H I J F Cromossomo 3 J->G G->J J E->H F A I B->D->I->A B E D G C H Cromossomo 4 Cruzamento Cruzamento com valores reais f ( x, y ) a x (1 a) y ◦ Onde : 0 1. = 0,5 4 3,7 1 4,5 6,4 0 f (4;4,5) 0,5 4 (1 0,5) 4,5 4,25 5,05 0,5 Mutação Chance individual de um cromossomo sofrer alteração genética Visa inserir na população uma característica nova ou perdida no processo ◦ Se for favorável poderá ser disseminada na população ◦ Se for prejudicial deverá ser eliminada pela seleção Manter a diversidade da população Este valor deve ser menor que 5% Mutação Mutação 1 1 1 0 0 1 0 1 0 0 1 1 1 0 0 0 0 1 0 0 Mutação por permutação G F C A D H I J B E G F C A B H I J D E Critério de Parada Número de Gerações Variabilidade da população Valor solução ótima atingida Parâmetros Finais de um AG Numero da população Numero de indivíduos a ser selecionados Taxa de Reprodução Taxa de Mutação Parâmetro de parada Linhas de Pesquisas Aplicação em problemas reais Algoritmos Híbridos ◦ ◦ ◦ ◦ ◦ Algoritmos Genéticos + Teoria dos Jogos Algoritmos Genéticos + Lógica Fuzzy Algoritmos Culturais + Algoritmos Genéticos Redes Neurais + Algoritmos Genéticos Vida artificial Algoritmos Genéticos + Teoria dos Jogos Teoria dos jogos influencia o fitness dos cromossomos nas etapas de seleção Visa aumentar a variabilidade da população e retardar a convergência Uma maior variabilidade na população aumentam as chances de surgir soluções melhores Teoria dos Jogos Dilema do prisioneiro Jogador 2 Jogador 1 Cooperar (C) Trair(D) Cooperar(C) (3,3) (1,5) Trair(D) (5,1) (1,1) Estratégias ◦ ◦ ◦ ◦ Sempre Trair Sempre cooperar Aleatório Tit-for-tat Teoria dos Jogos 420 430 420 -40 380 430 -60 370 21/28 Alteração da Teoria dos jogos Gerar População Inicial Avaliação da População Eliminação dos Menos Aptos Avaliação da População Mutação Cruzamento Seleção Critério de parada F V Fim do Processo