Seminário: Algoritmo Genético (GA

)
ICOMP/PAA/2013 Versão completa

Professor Dr.: Edleno Silva de Moura Equipe : Carlos Alberto da Costa Barata Daniela Azevedo Elson Pessoa Vasques

1

Roteiro da Apresentação
• • • • • • Computação evolucionária. Visão geral do modelo computacional. Ramos da computação evolucionária. GA: o que são, para que servem e características gerais. Funcionamento do algoritmo genético. Arcabouço GA:  codificação dos indivíduos;  população inicial;  função de aptidão;  critério de parada;  operadores genéticos. Exemplo: problema do caixeiro viajante. Decisões críticas. Dificuldade. Parâmetros genéticos. Aplicações. Conclusão.
2

• • • • • •

Computação Evolucionária

3

Resolver um problema Solução do problema

Computação Evolucionária O que fazer Conjunto de soluções candidatas

Procedurais Como fazer Uma solução

• Inicialmente, cria-se uma população de indivíduos que irão interagir, reproduzindo e competindo pela sobrevivência.
Genética Natural
Allelo Aptidão Cromossomo Fenótipo Filho, pais Genótipo ou genoma Genética Artificial Valor do caractere. Métrica de qualidade que define a capacidade do indivíduo em resolver o problema. Informações hereditárias de um organismo. Sinônimos: solução candidata, genótipo, cadeia de caracteres, indivíduo, árvore. Representação no problema. Sinônimos: conjunto de parâmetros, ponto solução, estrutura decodificada. Um filho é uma modificação dos pais. Estrutura de dados do indivíduo. Uma posição particular do genoma. Sinônimos: caractere ou característica. Iteração. Posição do gene na cadeia de caracteres. Conjunto de soluções candidatas. 4

Gene
Geração Locus População

Visão Geral do Modelo Computacional 5 .

•Operador de seleção: determinístico ou probabilístico.Ramos da Computação Evolucionária Quais são as diferenças entre eles? •Representação (codificação): estrutura de dados. •Operadores genéticos: cruzamento e/ou mutação. 6 .

Vetores reais Desvio padrão e coeficiente de corelação Valor escalonado da função objetivo Único operador Representação Auto-adaptação Aptidão Mutação Cruzamento ou Recombinação Principal operador Um dos operadores Nenhuma Seleção Determinística Probabilística Probabilística Probabilística 7 . Vetores reais Desvio padrão e covariâncias Valor da função objetivo Principal operador Diferentes variações. importante para a auto-adaptação Evolução de programas Árvores Nenhuma Valor escalonado da função objetivo Um dos operadores Previsão do comportamento de máquinas de estado finito.Resumo -Computação Evolucionária Estratégia Evolutiva Algoritmo Genético (EE) (GA) Formalizado / Desenvolvido RECHENBERG (1973) e SCHWEFEL J. (1966) Característica Ênfase na autoadaptação. HOLLAND (1975) (1975-77) Indivíduos contém um genótipo formado por cromossomos Cadeias binárias Nenhuma Valor escalonado da função objetivo Operador secundário Programação Genética (PG) KOZA (1992) Programação Evolutiva (PE) FOGEL et al.

• Amplamente utilizados. • Cada passo distinto pode ter diversas versões diferentes. Para que servem? • Busca e Otimização.Algoritmos Genéticos (GAs) O que são? • Heurísticas que encontram soluções de problemas evoluindo soluções e verificando o quão boa as respostas são para o problema. em problemas de difícil manipulação pelas técnicas tradicionais. com passos distintos e bem definidos. • Classe de procedimentos. com sucesso. • Essa classe se fundamenta em analogias a conceitos biológicos já testados à exaustão. 8 .

que não podem ser resolvidos por técnicas tradicionais. • Não é totalmente aleatório. • Capaz de lidar com funções discretas e contínuas. pois mantém uma população de soluções que são avaliadas simultaneamente.Algoritmos Genéticos Por que GAs? • Paralelo. • Não é afetado por descontinuidades na função ou em suas derivadas. • São boas técnicas para atacar problemas de busca com espaços de busca intratavelmente grandes. 9 . • Solução global.

• Modela possíveis soluções como indivíduos de uma população. • Vasculham várias regiões do espaço de busca de cada vez. • O objetivo é selecionar as melhores soluções para o problema. • Usa o conceito de Seleção Natural para encontrar soluções de problemas. em contraste com as derivadas utilizadas nos métodos tradicionais de otimização. • Utilizam informações diretas de qualidade. • A capacidade de um indivíduo resolver o problema (aptidão) é definida por função (Fitness Function).Algoritmos Genéticos Características Gerais • Utilizam uma codificação do conjunto de parâmetros (indivíduos) e não os próprios parâmetros (estados). 10 .

Algoritmo Genético Problema: Maximizar a função quadrática no intervalo [0.15]. Modelagem: valor máximo 15 = 1111 Geração da população inicial Indivíduo Valor real 0001 1 0010 2 1100 12 0110 6 Total Aptidão 1 4 144 36 185 11 .Funcionamento .

2.2 0110 36 19.7] ]2.5.5 1100 144 77.100] 12 .7.2.2] ]22.Funcionamento .5 0010 4 2.5] ]0. 0.8 Total 185 100 Intervalo [0. 22.Algoritmo Genético Criar a roleta Indivíduo Aptidão Roleta (%) 0001 1 0. 100] Girar a roleta produz um número [0.

2.7.5.SELEÇÃO Números gerados aleatoriamente: 25.5 1100 144 77. 0. 22.2 0110 36 19.7] ]2.8 Total 185 100 Intervalo [0.2.3 80 20 Indivíduo Aptidão Roleta (%) 0001 1 0.5 0010 4 2.2] ]22. 100] Cromossomos selecionados: 1100 0110 1100 0110 13 .3 15.5] ]0.

2 Indivíduos Selecionados 0123 1100 0110 1100 0110 Novos Indivíduos 1110 0100 1100 0110 MUTAÇÃO Novos Indivíduos 1110 0100 1100 0110 Mutação 1111 0101 1101 0111 14 .3]: 1.CRUZAMENTO Número aleatório inteiro [0.

Nova população Indivíduo 1111 1101 0111 1100 Valor real 15 13 7 12 Aptidão 225 169 49 144 Critério de parada: chegou a 15? Sim. Retorna o cromossomo com maior valor de aptidão. 1111 225 15 .

GA 16 .Resumo Funcionamento .

Arcabouço Algoritmo Genético 17 .

e não o contrário. • Cada pedaço indivisível desta representação é chamado de um gene. • Soluções proibidas ao problema. • Indivíduos X Estados.Codificação dos indivíduos • Traduzir a informação do nosso problema em uma maneira viável de ser tratada pelo computador. números inteiro. • Se o problema impuser condições de algum tipo. • Cada indivíduo possui um código genético que é chamado cromossomo. • Tipos: binária. • A representação tem que se adequar ao problema. • A representação deve ser a mais simples possível. não são representadas. estas devem estar implícitas dentro da nossa representação. 18 . números real.

Cromossomo • É a representação de uma possível solução para o problema. sendo possível a utilização de cromossomos pais e filhos como reprodutores.6 Genes. • Composto por genes. Critérios de atualização da população podem permitir que pais e filhos permaneçam na população. • Normalmente representado como uma string binária. 19 . removendo-se sempre os menos aptos. Ex.1}. Alelos={0.: 101110 . • Um conjunto de cromossomos forma uma População.

• Geração aleatória. • Inserir ”boas” soluções conhecidas. • Uma população mínima. • O tamanho da população deve ser mensurado num trade-off entre eficiência e eficácia. porém significativa precisa que todo alelo ocorra pelo menos uma vez em cada gene da população. • Quanto melhor for a população inicial. mais rápida e provável será a convergência para uma solução ótima. • Em problemas com restrição. 20 .População inicial Corresponde a um conjunto de indivíduos (cromossomos). deve-se tomar cuidado para não gerar indivíduos inválidos já na etapa de inicialização. • Fatores a se considerar:  tamanho da população.  método que os indivíduos são selecionados.

aproximar. • São fortemente dependentes da área de aplicação. buscar. ou seja. mas relaciona a adaptabilidade de um indivíduo com a de outros. o que se quer resolver: otimizar. • Utilizada para decidir se um cromossomo gerado através de um cruzamento (crossover) substitui ou não um cromossomo reprodutor. etc. além de ser capaz de distinguir uma solução mais completa de uma menos completa. 21 . • Deve expressar o problema e suas restrições. • Quantifica não apenas a adaptabilidade do indivíduo (capacidade de solucionar o problema). • Conjunto de treinamento (essencial). a aptidão é calculada em função da comparação entre os valores obtidos e os esperados.Função de aptidão ou medida de avaliação (fitness) • Cada individuo é avaliado em termos do quão bem ele soluciona o problema.

• O custo computacional é proporcional à cardinalidade do conjunto de treinamento. 22 . cada indivíduo da população é avaliado em várias situações diferentes e com mais de uma função de fitness.Função de aptidão ou medida de avaliação (fitness) • Geralmente. Problema de minimização (menor fitness) → maior probabilidade. • Uma função de avaliação que enxerga somente o conjunto de treinamento é míope e seu poder de generalização (capacidade de uma solução agir eficientemente em domínios não submetidos a testes pela função de avaliação) é fraco. e seu nível de adaptação é extraído da soma ponderada dos níveis de adaptação obtidos para cada situação.

• O problema é encontrar o cromossomo que minimiza a distância entre as duas curvas.Exemplo1: caso de séries temporais. a função pode ser o erro calculado entre o valor previsto e o real. O objetivo é minimizar a função de aptidão. 23 . • A função pode calcular o erro cometido em cada ponto. Ex: erro médio quadrático. modelar o relacionamento entre os pares de dados. Qualquer norma serve. ou a raiz quadrada do erro médio quadrático (RMSE). Exemplo2: na figura abaixo.

• Quando atingir um limiar de diversidade da população. • Atingir um ponto ótimo do problema (convergir).Critério de Parada • Número máximo de gerações. 24 . Elitismo Uma porcentagem da população com as melhores aptidões (fitness) é preservada para a próxima geração automaticamente. • Não há mudança genética. • Limite no tempo de computação.

• Na formação da nova população. • Cruzamento. • Reprodução. • Mutação. vários operadores genéticos são aplicados com certa probabilidade: • Seleção. • Indivíduos mais aptos tem prioridade para reproduzir. 25 .Operadores Genéticos • Métodos que recombinam / modificam os materiais genéticos da população. aumentando a probabilidade de transmitir seu código genético às próximas gerações. • É através do processo de experimentação de recombinações e/ou variações sobre padrões promissores que o espaço de busca é explorado.

 Classificação (Ranking). • A aptidão pode ser absoluta ou relativa. • Existem vários métodos de seleção:  Seleção proporcional – Roleta.Seleção Natural • Princípio básico para direcionar a evolução da população. 26 .  Torneio. • Um indivíduo é probabilisticamente selecionado de acordo com algum método baseado na sua aptidão em participar na próxima geração de indivíduos.

27 . • Se o tempo de dominância de um operador é grande. então a pressão seletiva é fraca.  Alta: somente indivíduos muito bem avaliados.Pressão da seleção • É a probabilidade da seleção dos (melhores indivíduos-piores). Medida de quão “guloso” é o operador de seleção no que se refere à dominância de um indivíduo da população.  Baixa: indivíduos de menor qualidade com mais chance de disseminar seus genes. e vice-versa. • O tempo de dominância é a velocidade com que a melhor solução da população inicial domina toda a população através da aplicação isolada do operador de seleção. População perde diversidade e rapidamente converge de forma prematura. • Relaciona o tempo de dominância (takeover) do operador.

pois sua chance de escolha não é de 100%. • Pode ocorrer que os indivíduos que possuem melhor fitness não sejam selecionados.Seleção proporcional – Roleta • O sorteio dos elementos é feito através de um “jogo de roleta”.38 9 17.08 12 23.31 12 23.54 8 15.08 52 28 .62 6 11. onde a probabilidade de cada indivíduo ser selecionado é proporcional ao seu fitness. valor de aptidão do indivíduo valor acumulado de aptidão Fitness Fitness(%) 5 9. • Cada indivíduo da população recebe uma porção da roleta proporcional ao seu valor pi.

Fitness Ranking Ranking(%) 5 1 5% 6 2 10% 8 3 14% 9 4 19% 12 5 24% 12 6 28% 52 100% 29 . Classificação (Ranking) • Os indivíduos são ordenados de acordo com seu fitness: Indivíduo menos adaptado valor 1.Problemas da Roleta • Tecnicamente resulta numa distribuição proporcional aos indivíduos. Indivíduo mais adaptado o valor é igual ao número de indivíduos da população. • Variância quase nula. • Convergência muito rápida. • Em seguida. a cada indivíduo i é associada uma probabilidade pi de ser escolhido.

30 . mais rigorosa a seleção se torna.Torneio • Seleção aleatória de k indivíduos da população. • Quanto maior o número de competidores. suas k aptidões são comparadas e o indivíduo detentor da melhor aptidão é selecionado.

compartilhando suas qualidades na modelagem dos dados. • Responsável por gerar novos indivíduos diferentes (melhores ou piores) a partir de indivíduos já promissores.  Uniforme.Cruzamento (Crossover) • Realiza a troca de informação entre dois indivíduos selecionados da população de maneira análoga à reprodução biológica sexuada. • Principal operador genético.  Multi pontos.99). • Os filhos possuem fragmentos da solução (“material genético”) de cada um dos pais.6 e 0. 31 . • Abordagens para o cruzamento:  Um ponto. • O(s) ponto(s) de corte são aleatórios. • Versões mais comuns criam sempre dois filhos para cada operação. • Aplicado a cada par de indivíduos com alta probabilidade (0.

Cruzamento um ponto Cruzamento multi ponto 32 .

• Tendência em conservar esquemas longos. Sorteio: [0 1 0 1] Pai1: Pai2: [1 0 0 1] [0 1 1 0] Filho1: [0 0 1 1] Filho2: [1 1 0 0] Maioria: Pai1: Pai2: Pai3: [1 0 1 1] [1 1 1 0] [0 0 1 0] Filho1: [1 0 1 0] 33 . • Possui grande probabilidade de estragar todo e qualquer esquema. mas tende a obter resultados superiores. • Custo computacional maior.Cruzamento uniforme • Capaz de combinar todo e qualquer esquema existente. com a mesma probabilidade que preserva esquemas de menor comprimento.

• Há outras formas de mutação (indutiva para números reais). reduz a evolução a uma busca totalmente aleatória. • Se seu uso for exagerado. 34 .Mutação • Escolha (aleatória) de um ou mais gene a ser alterado. apenas pelo operador de cruzamento. de forma que os cromossomos possam ser adequadamente reagrupados. • Na ausência de mutação. • Útil para manutenção da diversidade populacional e da variabilidade dinâmica das soluções. • Probabilidade é baixa (normalmente entre 0. a população inicial deve ser suficientemente numerosa e diversificada no sentido de conter uma diversidade de soluções.1). • Garante a possibilidade de se alcançar qualquer ponto do espaço de busca. • Contorna mínimos locais. para produzir uma solução do problema.001 e 0. • Operador genético secundário.

38.1] 35 . 326.5. -67. -69.1] Depois: [1.38.44. 0.44. 0.Exemplo de Mutação Antes: [1 0 1 1 0 1 1 0] Depois: [0 1 1 0 0 1 1 0] Antes: [1. 326.4.

Brasília • População inicial: geração aleatória. Modelagem: • Gene: número da cidade.2.Manaus 1 . D = d01 + d12 + d23 + d34 + d40.4. • Cromossomo: sequência ordenada que descreva a ordem de visita as cidades:  Indivíduo A: [0.Belo Horizonte 4 .0]  Indivíduo B: [1. que: • visite cada cidade exatamente uma vez e termine na cidade de onde partiu.0.1] • Garantir a consistência dos indivíduos. maior será o nível de aptidão do cromossomo. 36 .Rio de Janeiro 3 . Lista de cidades: 0 .3. • Função de aptidão: soma dos custos da movimentação entre cada par de cidades.2.3.4.São Paulo 2 . • a distância total da viagem seja minimizada.Exemplo: Problema do Caixeiro Viajante (PCV) Encontrar um caminho em um conjunto de cidades.1. quanto menor for o valor de D.

37 .  custo da mutação é variante de acordo com a probabilidade de ocorrência. • Calcular a aptidão para toda a população é O(nTamPop).Análise do custo computacional • População inicial O(TamPop).  cruzamento.  distância de uma cidade para outra é obtida em O(1). • Custo de gerar nova população é O(TamPop???)  seleção.  elitismo. • Função de Aptidão=Θ(n)  n é o número de genes de um indivíduo.

38 . • Operadores genéticos (só crossover. • Usar busca local.Decisões críticas • Representação do problema (tipo de codificação). • Critério de parada. • Cromossomos de tamanho fixo ou variável. • Custo computacional para encontrar uma solução boa é viável. • Usar controle de diversidade. • Operadores genéticos com probabilidades variáveis. só mutação. • Achar uma boa função de aptidão. • Tamanho da população (representar toda ou parte da solução). ou ambos).

39 . • Empregar técnicas de otimização incorporando-as em algoritmos genéticos (mais inteligência). • Utilizar uma função de penalização para penalizar a adaptação de qualquer solução inviável. • Uso de um operador heurístico que assegure a transformação de qualquer solução inviável em outra viável em tempo polinomial (exemplo: retirar itens selecionados no problema da mochila).Dificuldade: Como tratar restrições e soluções inviáveis? • Utilizar uma representação que automaticamente garanta que todas as soluções representáveis sejam viáveis. • Separar a avaliação de adaptação e viabilidade.

• Taxa do elitismo. estabilização da população. número de gerações). impossibilidade de melhorar a melhor solução. • Função de aptidão. • Taxa de mutação. 40 .Parâmetros Genéticos • Tamanho da população. • Critério de parada (quantidade de geração. • Taxa de cruzamento. • Critério de geração da nova população.

• Problemas cuja solução seja um estado final e não um caminho. • Problemas de Otimização e de Aprendizagem de Máquina. • Seleção de Rotas. • Se uma técnica tradicional puder ser empregada. • Configuração de sistemas complexos. 41 .Aplicações • Alocação de tarefas. normalmente ela encontra a melhor solução mais rápido. • Onde as técnicas tradicionais são mais difíceis de empregar. • Problemas difíceis de otimizar de forma convencional.

  Retornam boas soluções. mas retornam soluções fracas. quando não: • é possível mapear soluções para representação de cromossomo. Problema é semelhante a outro que já foi resolvido com GA. Usar quando as outras abordagens:  São eficientes.Conclusão Não usar Algoritmos Genéticos. 42 . • se consegue criar uma função de aptidão. mas são caras. • se aplica os operadores genéticos.

FIM 43 .

Aurora Trinidad Ramirez Pozo.fee.dca. • Apresentação power point: Fundamentos dos Algoritmos Genéticos.Referências • Linden.br/pub/docs/vonzuben/ia707_01/topico6_0 1. Rio de janeiro. Algortimos Géneticos. Acesso em: 12 ago.pdf >. Disponível em: < Pesquisa google: aulacap3-2. • Apresentação power point: Métodos Populacionais. • Apostila: Algoritmos Genéticos (AG’s). Disponível em: < ftp://ftp. Luis R. Editora Ciência Moderna Ltda. Disponível em: < http://pt. Ricardo. Acesso em: 10 ago. 44 . Unicamp. Lopes. 2013.ppt >. Profa. UFPR. 2012. 2013. M. 3. Acesso em: 15 ago.unicamp. Von Zuben. 2013.com/doc/138422004/Algoritmos-Geneticos >. ed.scribd. Prof.

Sign up to vote on this title
UsefulNot useful