You are on page 1of 25

Algoritmos Genéticos

Rômulo Ferreira Douro


Estrutura da apresentação
• Introdução – heurísticas
• Algoritmos genéticos
– Ideias e considerações
– Conceitos básicos: representação, geração inicial,
fitness, seleção, reprodução, mutação, parâmetros
– Procedimento de execução
– Refinamento: busca local
– AG’s paralelos
• Exemplos de aplicações
- Introdução –
Heurísticas
• Alcançar uma boa solução
• Tempo computacional aceitável
• Algoritmos evolucionários
– Aspectos biológicos
– Soluções computacionais
• Algoritmos Genéticos, Programação Genética,
Programação Evolucionária
- Algoritmos Genéticos -
Ideias e considerações
• História: Concebidos por John Holland (1975)
• Analogia com sistemas naturais
Natureza Algoritmo Genético
Cromossomo Binário, String, vetor
Gene Característica do problema
Genótipo Estrutura
Fenótipo Estrutura submetida ao problema
Indivíduo Solução
Geração Ciclo da evolução
- Algoritmos Genéticos -
Conceitos básicos
• Representação
• Dependente da necessidade do problema
– Cadeia de bits (função)
– Vetor (Caixeiro Viajante)
- Algoritmos Genéticos -
Conceitos básicos
• Representação – Cadeia de bits (função)
• f(x) = 1024-(x-32)2
- Algoritmos Genéticos -
Conceitos básicos
• Representação – Vetor (Caixeiro Viajante)
• C = {3, 4, 2, 1, 5}
4
3

5
1
- Algoritmos Genéticos -
Conceitos básicos
• Geração inicial
• População gerada aleatoriamente
• Utilização de outra heurística
– Geralmente depende do problema
– Exemplo GRASP
- Algoritmos Genéticos -
Conceitos básicos
• Fitnnes
• Também chamado de aptidão
• Geralmente se usa a própria função objetivo
• Pode ser agregado de penalidades
- Algoritmos Genéticos -
Conceitos básicos
• Seleção
• Comumente usado o método da roleta
- Algoritmos Genéticos -
Conceitos básicos

0 100

3 4 1 2
- Algoritmos Genéticos -
Conceitos básicos
• Reprodução
• Um conjunto é selecionado e trocado entre
indivíduos
- Algoritmos Genéticos -
Conceitos básicos
• Reprodução
• Aplicado ao PCV

{2,3,5,1,4} {1,5,3,2,4}
{1,5,2,4,3} {2,3,1,4,5}
- Algoritmos Genéticos -
Conceitos básicos
• Mutação
• Altera um ou mais genes = gera material
genético diversificado

{2,3,5,1,4} {2,3,4,1,5}
- Algoritmos Genéticos -
Conceitos básicos
• Parâmetros
– Tamanho da população
– Taxa de cruzamento
– Taxa de mutação
– Taxa de substituição
- Algoritmos Genéticos -
Conceitos básicos
• Tamanho da população
• Se pequeno
– Executa rápido
– Baixa qualidade
• Se grande
– Boa qualidade
– Custo computacional
- Algoritmos Genéticos -
Conceitos básicos
• Taxa de cruzamento
• Se pequeno
– Convergência demorada
• Se grande
– Perda de material genético
- Algoritmos Genéticos -
Conceitos básicos
• Taxa de mutação
• Previne a permanência em espaço de busca
limitado
– Máximos locais
• Se muito elevado
– Busca aleatória (ruim)
- Algoritmos Genéticos -
Conceitos básicos
• Taxa de substituição
• Quantidade de indivíduos a ser descartada
– Bons sobrevivem
– Menos aptos são excluídos
– Material genético desconsiderado
- Algoritmos Genéticos -
Procedimento da execução
• Esquema de execução
- Algoritmos Genéticos -
Refinamento
• Busca local
- Algoritmos Genéticos -
AG paralelo
• Principal motivo
– Elevar o tamanho populacional
• Algoritmo Genético Insular
– Populações evoluem de forma independente
– Política de migração
• Cuidado para não inserir indivíduos muito aptos e
passíveis de conquistar uma população
- Algoritmos Genéticos -
AG paralelo
• Mestre X Escravos
- Algoritmos Genéticos -
AG paralelo
• População Global com Paralelismo
– Um processador contém a população e outros
efetuam a avaliação do indivíduo
– Função de avaliação muito custosa
• Algoritmo Genético Celular
– Para cada processador é fixada a tarefa de um
indivíduo e as iterações entre eles é feita entre
processadores vizinhos
Exemplos de aplicações
• Robótica de combate a acidentes ambientais
• Dobramento de proteínas
• Configuração temporal para mercado
financeiro
• Just-in-time Scheduling
• Sequênciamento com penalidades

You might also like