Estratégia Evolutiva (μ,λ)-ES

O que é a (μ,λ)-ES?

A (μ,λ)-ES é uma estratégia evolutiva que mantém μ pais e gera λ filhos. Aqui, λ é sempre maior que μ, geralmente λ ≈ 4μ a 7μ. Cada filho é criado por mutação gaussiana a partir de um pai escolhido. Após avaliar todos os λ filhos, apenas os μ melhores sobrevivem. Os pais antigos são completamente descartados, sem exceção. Essa abordagem é chamada de seleção de truncamento (μ,λ). Ela permite que o algoritmo esqueça soluções antigas e explore novas. Isso reduz o risco de estagnação em mínimos locais. Por outro lado, a (μ+λ)-ES mantém os pais na competição. A notação (μ,λ) enfatiza que a população parental é renovada a cada geração.

Mecanismos de auto-adaptação e recombinação

Cada indivíduo carrega seu próprio desvio-padrão para mutação adaptativa. Esses desvios também sofrem mutação log-normal e são herdados pelos filhos. Além disso, muitas variantes usam crossover para combinar dois pais. O crossover intermediário calcula a média dos vetores parentais. Já o crossover discreto troca coordenadas entre os pais escolhidos. Ambos aumentam a diversidade genética dentro da população de filhos. A seleção dos pais para reprodução é geralmente uniforme ou por torneio. Contudo, a sobrevivência é sempre determinística: os μ melhores filhos.

Vantagens e cenários de uso

A grande vantagem é a capacidade de escapar de ótimos locais com facilidade. Ela é especialmente eficaz em paisagens multimodais e ruidosas. Além disso, a auto-adaptação dispensa ajustes manuais de taxa de mutação. Seu custo computacional é maior que o da (1+1)-ES, mas ainda viável. Ela é usada em otimização de hiperparâmetros de redes neurais. Também é aplicada em design de aerofólios e roteamento de veículos. Para iniciantes, ela representa o salto natural após a (1+1)-ES.

A (μ,λ)-ES foi formalizada por Schwefel na década de 1970. Ela introduziu o conceito de “população” como um grupo de candidatos. Isso contrasta com a abordagem elitista estrita da (1+1)-ES. A escolha de μ e λ afeta diretamente a pressão seletiva do algoritmo. Valores maiores de λ aumentam a exploração, mas custam mais avaliações. Valores menores de μ concentram a busca nas melhores regiões. A razão λ/μ típica fica entre 3 e 7 para bons resultados. Os desvios-padrão evoluem conforme a regra do 1/5 ou via deriva genética. Na prática, a auto-adaptação log-normal é mais comum e robusta. Ela multiplica o sigma por exp(τ * N(0,1)), onde τ é uma constante. Isso permite que cada dimensão tenha seu próprio passo de mutação. Assim, a (μ,λ)-ES se adapta a escalas diferentes em cada variável. Ela é considerada uma das melhores para otimização contínua. Sua implementação é direta e seu desempenho é amplamente documentado.

Um exemplo clássico é minimizar a função de Ackley em 10 dimensões. Ela tem um mínimo global em (0,…,0) com valor 0. A superfície é cheia de mínimos locais, desafiando algoritmos simples. A (μ,λ)-ES encontra o ótimo com poucas gerações graças à diversidade. Esse problema demonstra o poder da recombinação e da população múltipla.


Enunciado do exemplo clássico

Implemente a (μ,λ)-ES com μ=15, λ=100 para minimizar a função de Ackley em 2 dimensões: f(x,y) = -20*exp(-0.2*sqrt(0.5*(x²+y²))) – exp(0.5*(cos(2πx)+cos(2πy))) + 20 + e. Domínio: x,y ∈ [-5, 5]. Use mutação com sigma inicial 0.5 e auto-adaptação log-normal. Execute por 200 gerações e armazene o melhor fitness e o melhor ponto por geração. Plote a curva de convergência e a trajetória do melhor ponto no espaço 2D.

Este código implementa a (μ,λ)-ES com auto-adaptação log-normal. A curva de convergência mostra queda acentuada nas primeiras gerações. A trajetória revela como o ponto se move pelo vale da função Ackley. Mesmo com muitos mínimos locais, o algoritmo encontra o global. A diversidade provida por λ=100 filhos é crucial para esse sucesso. Para iniciantes, este exemplo evidencia o poder das populações maiores. A (μ,λ)-ES é, portanto, uma ferramenta robusta e escalável.

Deixe um comentário