Algoritmo Genético
Algoritmo Genético Proposto por John Holland(1975) Metáfora Inspiração na Teoria da Evolução proposta por Darwin Resolução de Problema Algoritmos Genéticos Problema Ambiente /Função de Avaliação Solução Candidata Indivíduo/Cromossomo Qualidade Fitness
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 principais pontos: 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 V F Gerar População Inicial Avaliação da População Seleção Eliminação dos Menos Aptos Cruzamento Fim do Processo Mutação Critério de parada F V
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 Representação simbólica Representação de valores reais 1 A J D I B E G F H 4 3,7 1 3 2,3 5 6 8,9 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 Seleção por Roleta X 1 5 8 Cromossomo 5 8 Cromossomo Aptidão X 5 10 7 3 Cromossomo 0 Cromossomo 1 Cromossomo 2 Cromossomo 3 Cromossomo 4 Cromossomo 5 13
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 Cruzamento com 2 pontos de corte 1 Cromossomo1 Cromossomo 2 Cromossomo 3 Cromossomo 4 1 Cromossomo 1 Cromossomo 2 Cromossomo 3 Cromossomo 4
Cruzamento Parcialmente mapeado (PMX) Mapeamento A J C I B E D G F H Cromossomo 1 Cromossomo 2 01 02 I A B D E H G J A D H I J B G C F E A->I->D->B J->G H->E G->J B->D->I->A E->H Cromossomo 3 Cromossomo 4
Cruzamento Cruzamento com valores reais Onde : 0 1. = 0,5 4,5 6,4 4 3,7 1 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 Mutação por permutação 1 G F C A D H I J B 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 Estratégias Sempre Trair Sempre cooperar Aleatório Tit-for-tat Jogador 2 Cooperar (C) Trair(D) Jogador 1 Cooperar(C) (3,3) (1,5) (5,1) (1,1)
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 Critério de parada F V Fim do Processo Cruzamento Seleção