Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouAna Beatriz Ferrão Estrela Alterado mais de 7 anos atrás
1
Algoritmos Genéticos: Aspectos Práticos Estéfane G. M. de Lacerda DCA/UFRN Junho/2009
2
Algoritmos Genéticos Principais Tópicos População Inicial Funções Objetivo de Alto Custo Critérios de Parada Convergência Prematura Diversidade Tipos de Substituição Problemas na Aptidão Ranking Seleção por Torneio Amostragem Estocástica Uniforme
3
Algoritmos Genéticos População Inicial (1/3) Gerada Aleatoriatoriamente. Gerada uniformente em uma grade. Gerada com tendenciosidade para regiões promissoras do espaço de busca
4
Algoritmos Genéticos População Inicial (2/3) Para garantir que toda posição da cadeia tem 0 e 1 na população: Gera a primeira metade da população aleatoriamente. Inverte todos os bits da primeira metade: tem-se a segunda metade. 1a. metade 2a. metade 101101 0 010010 1 0111011100010 0 000110 1 111001 0 110011 0 001100 1
5
Algoritmos Genéticos População Inicial (3/3) Seeding: insere a solução obtida por outro método de otimização na população inicial (garante que AG não fará pior do que o outro método) Iniciar com uma larga população inicial e depois reduzir o tamanho.
6
Algoritmos Genéticos Convergência Prematura (1/2) O AG converge para um mínimo/máximo local.
7
Algoritmos Genéticos Convergência Prematura (2/2) Causas: Excessivo números de filhos de um mesmo indivíduo (o superindivíduo) Perda de diversidade. Deriva Genética (Genetic Drift) Desaparecimento de genes na população devido puramente ao acaso. Ocorre principalmente em pequenas populações. Alta pressão de seleção.
8
Algoritmos Genéticos Diversidade (1/2) Combatendo a perda de diversidade Aumentar a taxa de mutação. Evitar cromossomos duplicatas na população. Diminuir a pressão da seleção.
9
Algoritmos Genéticos Diversidade (2/2) Combatendo a perda de diversidade Controlar o número de filhos do superdíviduo (indivíduo com alta aptidão, mas não com aptidão ótima) usando: Ranking. Escalonamento. Seleção por torneio.
10
Algoritmos Genéticos Tipos de Substituição Substituição Geracional Substituição Geracional com Elitismo Substituição de Regime Permanente (do inglês steady state)
11
Algoritmos Genéticos Substituição Geracional Seja N o tamanho da população: Os N pais são substituídos pelos N filhos em cada geração. Os N pais são substituídos por N individuos do conjunto união de pais e filhos. Comentário: o segundo caso aumenta a pressão de seleção.
12
Algoritmos Genéticos Substituição Geracional com Elitismo Os k < N melhores pais nunca são substituídos. Tipicamente k = 1 Aumentando k aumenta a pressão de seleção (risco de convergência prematura).
13
Algoritmos Genéticos Substituição de Regime Permanente (1/2) Em cada “geração” apenas 2 (ou 1) filhos são gerados e substituem: Os 2 piores indivíduos da população. Os pais. Os 2 indivíduos mais velhos (i.e., que estão a mais tempo da população), pois já transmitiram os seus genes. Taxa de crossover é geralmente alta (~1).
14
Algoritmos Genéticos Substituição de Regime Permanente (2/2) Alternativamente, k < N filhos são gerados e substituem os k piores indivíduos. Evitar inserir um filho na população quando já existe uma duplicata dele na população.
15
Algoritmos Genéticos Problemas na Aptidão (1/3) Aptidão negativa não funciona com a roleta. Aptidão excessivamente alta Poucos individuos ocupando larga fatia da roleta Muitos individuos ocupando pequena fatia da roleta Causa convergência prematura Solução: controlar o número de filhos do superindivíduo..
16
Algoritmos Genéticos Problemas na Aptidão (2/3) Resolução insuficiente para diferenciar os melhores dos piores individuos. A seleção torna-se aleatória (Passeio ao Acaso). Convergência lenta
17
Algoritmos Genéticos Problemas na Aptidão (3/3) Exemplo: Soluções Expandir o intervalo da aptidão (usando ranking, escalamento linear) Seleção por torneio
18
Algoritmos Genéticos Ranking Linear (1/3) Onde i é o índice do cromossomo na população em ordem decrescente de valor da função objetivo. Ranking linear requer: 1 Max 2 Max + Min = 2 Valores bons para Max: de 1.2 a 1.5
19
Algoritmos Genéticos Ranking Linear (2/3)
20
Algoritmos Genéticos Ranking Linear (3/3) Controlando a pressão da seleção por Ranking linear: maior pressão => mais intensificação; menos pressão => mais diversificação.
21
Algoritmos Genéticos Ranking Exponencial q [0, 1] e i é o índice do cromossomo na população em ordem decrescente de valor da função objetivo. Ranking exponencial permite maior pressão de seleção do que o ranking linear.
22
Algoritmos Genéticos Escalonamento Linear Escalonamento linear onde g é o valor da função objetivo a e b são determinados tal que o número máximo de filhos do melhor indivíduo seja no máximo igual a C (onde tipicamente C = 2)
23
Algoritmos Genéticos Seleção por Torneio Escolhe-se k (tipicamente 2) indivíduos aleatoriamente da população e o melhor é selecionado. Não é proporcional a aptidão, Não é necessário roda da roleta, escalamento da aptidão ou ranking.
24
Algoritmos Genéticos Seleção por Torneio Os indivíduos são selecionados para os torneios com igual probabilidade. O torneio é vencido pelo indivíduo com maior aptidão
25
Algoritmos Genéticos Seleção por Torneio Aumentando o tamanho k do torneio acarreta: Aumento da pressão de seleção. Risco de convergência prematura. Por isso, o torneio binário é o mais utilizado.
26
Algoritmos Genéticos Seleção por Torneio Seleção por torneio com probabilidades (Reduz ainda mais a pressão de seleção) 1)O melhor indivíduo do torneio é selecionado com probabilidade p > 0,5 2)O segundo melhor é selecionado com probabilidade p(1-p) 3)O terceiro é selecionado com probabilidade p(1-p) 2 4)e assim por diante...
27
Algoritmos Genéticos Amostragem Estocástica Uniforme Pais selecionados Evita a grande variância de filhos esperados do método da roleta (é tão perfeito quanto possivel) e a d b c N ponteiros igualmente espaçados. aabcd
28
Algoritmos Genéticos Critérios de Parada Atingiu um dado número de gerações ou avaliações. Encontrou a solução (quando esta é conhecida). Perda de diversidade. Convergência: não ocorre melhora significativa na solução durante um dado número de gerações.
29
Algoritmos Genéticos Funções Objetivo de Alto Custo (1/3) Em muitos problemas do mundo real o custo computacional do AG está concentrado na avalição do individuo. Exemplo: Simulação completa de um processo. Um treinamento de uma rede neural.
30
Algoritmos Genéticos Funções Objetivo de Alto Custo (2/3) Dicas para reduzir o números de reavaliações do indivíduo: Evitar cromossomos iguais na população inicial. Verificar se o filho já existe nas populações passadas e na atual. Verificar se filho = pai (e.g. checar se crossover e mutação foi aplicado). Manter a população com cromossomos distintos.
31
Algoritmos Genéticos Funções Objetivo de Alto Custo (3/3) Simplificar a função objetivo (pelo menos nas gerações iniciais) Usar um método de subida de encosta quando o AG já encontrou as regiões promissoras do espaço de busca (nas gerações finais).
32
Algoritmos Genéticos Descobrindo a Frase Secreta Desenvolver um AG para descobrir um frase dada pelo usuário.
33
Algoritmos Genéticos Descobrindo a Frase Secreta Cromossomo Representar usando código ASCII. “Familia” = (102,97,109,105,108,105,97) Espaço de busca Existem 26 maiusculas + 26 minusculas + espaço em branco. Para um frase com N caracteres há: (26+26+1) N combinações possíveis.
34
Algoritmos Genéticos Descobrindo a Frase Secreta Função objetivo.
35
Algoritmos Genéticos Descobrindo a Frase Secreta Exemplos: “familia” (102,97,109,105,108,105,97) “ebnhmhb” (101,98,110,104,109,104,98) função objetivo = 7 “familiz” (102,97,109,105,108,105,122) função objetivo = 25 O que há de errado nesta função objetivo?
36
Algoritmos Genéticos Descobrindo a Frase Secreta Função objetivo alternativa. onde
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.