computação evolutiva: estratégias evolutivas luiz eduardo s. oliveira, ph.d....

20
Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. [email protected] http://www.ppgia.pucpr.br/~soares Pontifícia Universidade Católica do Paraná Curso de Especialização em Inteligência Computacional 2004/2005

Upload: internet

Post on 17-Apr-2015

106 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade

Computação Evolutiva: Estratégias Evolutivas

Luiz Eduardo S. Oliveira, [email protected]://www.ppgia.pucpr.br/~soares

Pontifícia Universidade Católica do ParanáCurso de Especialização em Inteligência

Computacional 2004/2005

Page 2: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade

Objetivos

Introduzir os principais conceitos da estratégia evolutiva (EE).

Entender como e por que EE funcionam. Vislumbrar possíveis aplicações de

otimização usando EE.

Page 3: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade

Introdução

Desenvolvidas inicialmente na Alemanha, na década de 60Resolução de problemas contínuos de

otimização paramétrica.Recentemente estendida ao uso de

problemas discretos. Baseadas na evolução da evolução.

Page 4: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade

Representação

Se dá geralmente por um vetor de números reais.

Assim como nos AGs, cada posição corresponde a uma característica do problema.

Operações:Mutação, recombinação e seleção.

Page 5: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade

Mutação

Objetivo: Similar a PE na EE a mutação é responsável

por gerar uma nova população de indivíduos.Diferente do objetivo da mutação nos AGs.

Adicionar números aleatórios (extraídos de uma distribuição normal) às coordenadas dos pais.

Page 6: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade

Mutação

Exemplo:Considere um indivíduo X = x1, x2, x3, ...., xn

O filho do indivíduo X é dado pela seguinte equação:

X´= X + N(0,σ) O filho será composto pelas informações do seus

pais mais os parâmetros da distribuição Desvio padrão tem um papel importante.

Page 7: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade

Mutação

Desvio padrão alto:Aumenta a variabilidade dos filhosMais diferentes dos seus pais.Exploração global (Exploration)

Desvio padrão baixo: Indivíduos mais similares aos seus pais.Exploração local (Exploitation)

Page 8: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade

Mutação

Como definir qual o valor do desvio padrão a ser utilizado?Teorema da Convergência

Regra de sucesso de 1/5

+ N(0,)

+ N(0,)

+ N(0,)

Page 9: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade

Mutação

Se a taxa de sucesso (filho melhor que o pai) > 1/5 então aumenta-se o desvio padrão.

Caso contrário, o desvio é reduzido. Razão intuitiva da regra de 1/5:

Aumento da eficiência na busca Se bem sucedida, a busca continua a passos

maiores, caso contrário o passo deve ser reduzido.

Page 10: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade

Recombinação

Existem dois métodos de recombinação em EE.

LocalFormar um indivíduo com base em dois pais

selecionados aleatoriamente. Global

Os valores do indivíduo podem vir de vários pais e não somente de dois.

Page 11: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade

Recombinação

Recombinação discreta:Seleciona o valor que o indivíduo filho irá

receber de um dos pais. Similar ao cruzamento realizado nos AGs.

Recombinação intermediária:Seleciona um ponto médio dos valores dos

pais, o qual deverá ser atribuído ao filho.

Page 12: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade

Recombinação

Recombinação intermediária:

na qual C é uma constante (normalmente igual a 0.5) – para produzir o ponto médio.

(c) é o resultado de uma combinaçãoIntermediário com C = 0.5

Page 13: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade

Recombinação

Como podemos notar, a EE contem um componente de representação sexual de características.

IntermediáriaMédia entre os pais.

DiscretaO filho pode sair intacto somente com

informações de um pai ou de outro.

Page 14: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade

Seleção

Assim como em outras técnicas evolutivas, EE também determina a probabilidade de reprodução de um indivíduo através de sua fitness.Ranking Roleta Russa.

Mais utilizada por ser um processo estocástico

Page 15: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade

Seleção

Versões mais comuns da EE são (μ, λ) e (μ + λ)-EE

Em ambas versões, o número de filhos gerados a partir de μ pais é λ, e λ > μ.

Normalmente a proporção é de 7 filhos para cada pai

Page 16: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade

Seleção

Na versão original do algoritmo (1+1)-EE um pai produz um filho. O que tiver a melhor fitness, sobrevive. Essa versão já não é muito utilizada.

Na versão (μ, λ), os μ indivíduos com as melhores fitness são escolhidos entre os λ filhos. Pais não participam da seleção Estratégia não elitista (Uma boa solução pode ser perdida)

Page 17: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade

Seleção

Na versão (μ + λ)-EE os melhores μ indivíduos são selecionados entre um grupo de candidatos que incluem os μ pais e λ filhos.

Page 18: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade

Algoritmo Clássico

1. Inicializar população2. Realizar recombinação utilizando μ pais para formar λ

filhos.3. Realizar a mutação em todos os filhos4. Avaliar a fitness de μ ou μ + λ indivíduos (de acordo com a

estratégia envolvida)5. Selecionar μ indivíduos para compor a nova população.6. Se o critério de parada não for alcançado, volte ao item 2,

caso contrário, fim.

Page 19: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade

Exercício

Utilizar a EE para encontrar o ponto ótimo na esfera (De Jong’s Sphere) População = 5 Cada pais gera 5 filhos Recombinação intermediária

C = 0.5 Roleta russa na seleção Regra do 1/5

n

iixxf

1

2)(

Page 20: Computação Evolutiva: Estratégias Evolutivas Luiz Eduardo S. Oliveira, Ph.D. soares@ppgia.pucpr.br soares Pontifícia Universidade