Estratégia Evolutiva                               E. Q. Silva      Technical Report    -   RT-INF_005-11     -   Relatóri...
Estratégia Evolutiva                    Edjalma Queiroz da Silva ∗            Celso G. Camilo Jr †                   edjal...
Estratégia Evolutiva                                                                                     2     ES’s: Algor...
Estratégia Evolutiva                                                                                        3     O indivi...
Estratégia Evolutiva                                                                           4                          ...
Estratégia Evolutiva                                                                                        5selecionados ...
Estratégia Evolutiva                                                                                    6       Em qualque...
Estratégia Evolutiva                                                 7   • Especialidade: Auto-adaptação de tamanhos de pa...
Próximos SlideShares
Carregando em…5
×

Estrategia evolutiva

1.344 visualizações

Publicada em

autor edjalma

Publicada em: Educação
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.344
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
40
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Estrategia evolutiva

  1. 1. Estratégia Evolutiva E. Q. Silva Technical Report - RT-INF_005-11 - Relatório Técnico September - 2011 - Setembro The contents of this document are the sole responsibility of the authors.O conteúdo do presente documento é de única responsabilidade dos autores. Instituto de Informática Universidade Federal de Goiás www.inf.ufg.br
  2. 2. Estratégia Evolutiva Edjalma Queiroz da Silva ∗ Celso G. Camilo Jr † edjalma@ambientinformatica.com.br celso@inf.ufg.br1 Introdução As estratégias evolucionárias (Evolutionary Strategies, ou ES) foram propostas nos anos60 por Rechenberg e Schwefel na Alemanha para a resolução de problemas de otimização con-tínua de parâmetros para controle numérico e são descritas de forma completa em (Rechenberg,1973) [?]. Apesar de terem sido desenvolvidas de forma paralela (não conjunta) com os algo-ritmos genéticos, podem ser descritas basicamente como um GA de representação real que usaum operador de mutação baseado em uma distribuição normal. Além de terem demonstradoum grande sucesso na área de otimização de parâmetros, as ES devem ser estudadas pois seusoperadores acrescentam funcionalidades interessantes aos GAs com representação real. [?]1.1 Conceitos básicos A computação evolutiva é dividida em três grandes áreas: algoritmos genéticos (AG’s),programação evolutiva (PE’s) e estratégias evolutivas (ES’s) [?]. Em todos estes três paradig-mas, é simulada uma evolução neo-Darwiniana, onde uma população de soluções candidatas deum problema é submetida a um processo de recombinação (cruzamento), mutação e competiçãopela sobrevivência. Assumindo algumas hipóteses, é possível provar que as ES’s convergem ao ótimo globalcom probabilidade 1, considerando um tempo de busca suficientemente longo. Uma primeiraversão de ES’s focaliza um processo de busca no esquema 1 genitor - 1 descendente. Isto foidenominado (1+1)-ES , onde um único filho é criado a partir de um único genitor e ambossão confrontados numa competição por sobrevivência, onde a seleção elimina a solução maispobre. Um aspecto negativo observado é a convergência lenta, além da busca ponto a ponto sersusceptível a estagnar em mínimos locais.[?] Outras versões foram desenvolvidas com o objetivo de resolver tais problemas. Estas es-tratégias são denominadas multi-indivíduos, onde o tamanho da população é maior que 1. AsES’s multi-membros foram aperfeiçoadas tendo-se atualmente dois principais tipos (µ+λ)-ES e(µ,λ)-ES. Na primeira, µ indivíduos produzem λ descendentes, gerando-se uma população tem-porária de (µ+λ) indivíduos, de onde são escolhidos µ indivíduos para a próxima geração. Naversão (µ,λ)-ES, µ indivíduos produzem λ descendentes, com µ< λ, sendo que a nova populaçãode µ indivíduos é formada por apenas indivíduos selecionados do conjunto de λ descendentes.Assim, o período de vida de cada indivíduo é limitado a apenas uma geração. Este tipo deestratégia tem bom desempenho em problemas onde o ponto ótimo é em função do tempo, ouonde a função é afetada por ruído.[?] ∗ Mestrando em Ciência da Computação, INF-UFG † Orientador 1
  3. 3. Estratégia Evolutiva 2 ES’s: Algoritmo Padrão Considerando cada elemento composto por um par de vetores naforma v = (x,σ), o algoritmo para o modelo (µ + λ) - ES é mostrado a seguir: 1. Inicializa-se uma população de µ indivíduos com variância 1 para cada posição de x. 2. Faz-se uma recombinação dos µ pais até gerar λ descendentes. 3. Faz-se a mutação dos descendentes. e das variâncias seguindo as seguintes expressões: xi j = xi j + N (0, σ) σi j = σi j . exp(τ’ N (0,1) + τ N j (0,1)) onde i = 1,...,λ; j = 1,...,n. N(0,1) representa um número Gaussiano com média zero e variância 1, nota-se que esse número é o mesmo para todos os indivíduos quando multiplicado pelo fator τ’. O numero Gaussiano que multiplica a τ deve ser obtido independentemente para valor de j. Os parâmetros τ’ e τ foram sugeridos por Back [?, ?, ?] como: τ’ = ( 2n )-1 e τ = (4x2n)- 1. Note-se que na mutação dos descendentes a variância será diferente a cada geração (auto-adaptação) 4. Avalia-se o fitness1 de genitores e descendentes, onde serão escolhidos os µ indivíduos com os melhores valores de fitness (competição), os quais serão os pais na próxima ger- ação. 5. Repete-se o processo a partir do passo II até ser atingido o critério de parada especificado. No passo 1 a população inicial é gerada aleatoriamente, porém atendendo as restriçõesimpostas pelo problema. O passo 2 é iniciado o processo da geração da população de descen-dentes, que só estará finalizada após o término do passo 3, ou seja, após a mutação. No passo4 ocorre a competição entre todos os indivíduos, tanto genitores como descendentes. O critériode competição é a fitness, que neste problema corresponde à função objetivo a ser otimizada.Este processo é determinístico, levando em consideração que apenas µ indivíduos sobrevivam epassem para a próxima geração na qualidade de genitores. O critério de parada especificado nopasso 5 é geralmente uma certa quantidade de gerações definidas pelo usuário.2 A versão mais simples: (1 + 1)−ES Na primeira versão das estratégias evolucionárias utilizavam-se apaenas o operador demutação e um módulo seleção que só aceitava o filho gerado quando eles apresentavam umaavaliação superior a de seu pai. No método mais tradicional, o melor dos dois indivíduos seriaselecionado para se tornar pai na geração seguinte, mas existem também versões estocásticasem que cada um dos dois elementos recebe uma percentagem de chance de ser selecionadopara a nova geração. Esta versão estocástica é interessante pois permite que o algoritmo fuja demáximos locais, para os quais qualquer pequena mutação gerará um filho menos apto. [?] A ES foi desenvolvido primeiro para otimização experimental, aplicada a problemashidrodinâmica. Esta ES, Referido como a ES−(1 + 1), não faz uso de uma população. Umúnico indivíduo é usado a partir do qual uma prole é produzido através da aplicação de um op-erador de mutação. O (1 + 1)−ES é um dos primeiros algoritmos evolutivos que representa umatupla de indivíduo constituída de um vetor de decisão, x, a ser otimizada e um vetor de parâmet-ros de estratégia σ. O vetor de parâmetros de estratégia representa o tamanho do passo demutação para cada dimensão, que é dinamicamente adaptada de acordo com o desempenho.[?] 1 Entende-se por fitness a medida do desempenho do individuo na geração atual. Neste caso, a fitness corre-sponde ao valor da função objetivo do problema.
  4. 4. Estratégia Evolutiva 3 O individuo é representado pela tupla, X(t) = (x(t), σ(t)) √ ⊂ Σ× O operador de mutação usado nas ES é baseado em uma distribuilçai de probabilidadesnormal ou Gaussiana de média zero e desvio padrão σ, representada por N(0, σ) e conhecidacomo distribuição normal padrão. A fórmula de uma distribuição normal é dada por:[?] 1 x 2 e 2 ∗( a ) N(0, σ, x) = √ σ 2π images/Figura11_01.png Figura 1: Gráfico de uma distribuição normal com média zero e desvio padrão igual a 1 O gráfico de uma distribuição Gaussiana de média zero e desvio padrão unitário é dadona figura 1. A distribuição normal é extremamente importante pois descreve o comportamentoaproximado de variáveis aleatórias, sendo perfeitamente simétrica em torno da média µ (no casoda figura, µ = 0). O valor do desvio padrão deve ser escolhido de acordo com o intervalo emque os dados se concentram. Cerca de 67 por cento das escolhas ficarão dentro do intervalo[−σ, σ], logo eles devem ser correspondentes a uma “pequena” variação do valor armazenadona posição corrente. [?] images/Figura11_02.pngFigura 2: Evolução da área sob a curva normal de média zero e desvio padrão 1 como funçãodo valor de x. A área sob uma distribuição de probabilidades corresponde à probabilidade de ocorrênciado valor de x. Assim, como pode-se observar na figura 2, a área total sob uma distribuição deprobabilidade (normal ou não) é igual a 1. Baseado neste conceito, podemos escolher qual seráa variação da coordenada sorteando um valor ε pertencente ao intervalo (0,1) e determinando ovalor de x para o qual a probabilidade de que um valor sorteado qualquer seja menor do que ele,seja igual a ε. Uma vez calculado o valor de x, aplicamos a mutação à posição i em questão,aplicando a fórmia da por ci = ci + x.[?] Assim, para determinar esta probabilidade e saber o valor da mutanção a aplicar, basta xcalcular o valor da integral −∞ N(0, σ, x)dx. De acordo com McClave o problema é que nãohá uma forma fechada para esta integral, o que exige que usemos técnicas númericas paraimplementá-la2 .[?] O método do trapézio pode ser utilizado para realizar esta integração. A idéia destemétodo pode ser vista na figura3 e consiste basicamente em aproximar a curva por uma série detrapézios cuja base é igual a ∆x e seus dois lados são dados pelos valores das funcoes nos doispontos que distam ∆x um do outro. Isto consiste basicamente em fazer uma aproximação linearpor partes da função que desejamos integrar. Pode-se mostrar que o erro desta função é limitado 2 Existem tabelas que determinam a probabilidade de um valor, dado o número de desvios padrões que ele estádistante da média. Entretanto, implementar tabelas em computadores é inadequado, pois temos que digitar váriosvalores que podem, então, conter erros.É claro que os métodos numéricos também incluem aproximações quepodem causar erros de cálculo, mas eles são bem mais elegantes e podem ser aproximados até atingirmos o errodesejado, por menor que este seja, o que não é verdade para métodos baseados em tabelas.
  5. 5. Estratégia Evolutiva 4 images/Figura11_03.pngFigura 3: Funcionamento da regra dos trapézios. Note que a área total é bem aproximada pelasoma das áreas dos trapézios. Existe um erro, visível na figura, mas este pode ser diminuidoarbitrariamente diminuindo-se o valor de ∆x. Note que o valor do limite inferior do seundointervalo é igaul ao valor do superior do primeiro intervalo.pelo valor máximo da segunda derivada da função sendo integrada e que a aproximação podeser tão adequada quanto desejarmos, bastando diminuir o valor de ∆x.[?] Já foi provado que, mantido constante o valor de σ, as estratégias evolucionárias eventual-mente convergirão para uma solução ótima, mas não existe uma limitação para o tempo em queisto ocorrerá. O valor inicial de σ é decidido de forma arbitrária, mas Rechenberg (1973) criouuma regra para atualizá-lo no decorrer das iterações, que pode ajudar também na velocidade deconvergência, regra esta que ficou conhecida como a Regra de 1/5 de sucesso.[?] De acordo com a observação de que os filhos biológicos são semelhantes aos seus pais, eque os desvios menores do pai ocorre com mais freqüência do que as maiores, a prole [?] X (t) = (x (t), σ (t)) é criada pela adição de ruído gaussiano como segue: x j (t) = x j (t) + N j (0, σ j (t)) = x j (t) + σ j (t)N j (0, 1) 1 Os parâmetros de estratégia são adaptados com base na regra de sucesso 5 proposto porRechenberg: Aumentar desvios, σ j, se a freqüência relativa de mutações bem sucedidas aolongo de um determinado período é maior do que 1 , caso contrário, os desvios são reduzidos. 5Schwefel propôs que, após t > 10N x, se t mod nx = 0, o número de mutações bem sucedi-das, nm, que ocorreram durante as etapas de t − 10N x para t − 1 é calculada. Os desvios sãoatualizadas usando, images/formula1.png onde α = 0.85. Uma mutação de sucesso produz uma prole com um fitness que é melhorque o fitness dos pais.[?][?] Note que o original (1 + 1)−ES proposto por Rechenburg não adaptou desvios. Variaçõestambém foram propostos onde σ j(t) = σ, j = 1, . . . , N x. O operador de seleção seleciona os melhores entre os pais e a prole, Isto é, assumindominimização, [?] images/formula2.png e images/formula3.png Rechenberg sugeriu que a (1 + 1)−ES pode ser estendido para um multi-membros ES,denotada como (µ + 1)−ES. Esta estratégia utiliza uma população de µ > 1 pais. Dois pais são
  6. 6. Estratégia Evolutiva 5selecionados aleatoriamente e recombinados pelo crossover multiponto discreto para produziruma prole. Se x1(t) e x2(t) denotam os dois pais, então [?] images/formula4.png e images/formula5.png onde r j ~U(0, 1), j = 1, . . . , n x . A descendência é mutada para (1 + 1)−ES. É seguida uma abordagem elitista para sele-cionar a nova população: os melhores µ indivíduos fora do µ + 1 (pais e filhos) vão sobreviverpara à proxima geração.[?] Devido a problemas com a auto-adaptação de tamanhos de etapas, (µ + 1)−ES não sãoutilizados regularmente. [?]3 A versão com auto-ajuste de parâmetros Uma das grandes vantagens das estratégias evolucionárias é a capacidade que elas têmde auto-ajustar seus parâmetros, não necessitando, portanto, que se determine o valor da taxade mutação de forma “ad-hoc”. Esta habilidade faz sentido: determinar os parâmetros de umalgoritmo evolucionário é um problema muito dificil, com espaço de busca infinito e, provavel-mente, com vários máximos locais. Repare que esta é a exata definição de um problema queconsideramos adequado para um algoritmo evolucionário.[?] Quando usamos as ES mais simples, usamos como representação um vetor V, tal queV = {x1 , x2 , . . . , xn }, onde cada posição representava um dos valores sendo otimizados. Agora,para podermos também otimizar a taxa de mutação, vamos aumentar este vetor, incluindo-o noprocesso evolucionário. [?] Para fazê-lo existem três formas: [?] • Usar uma taxa única de mutação para todas as posições. Consiste em simplesmente acres- centar um valor σ ao vetor V, fazendo com que ele se torne igual a V = {x1 , x2 , . . . , xn , σ}. Neste caso, precisamos adaptar também o parâmetro σ. • Usar uma taxa diferenciada de mutação não correlacionada para cada uma das posições. Consiste em acrescentar um parâmetro a mais para cada coordenada, que representará o desvio padrão daquela posições. O vetor V se tornará então V = {x1 , x2 , . . . , xn , σ1 , σ2 , . . . , σn }, onde o valor de σk representa o desvio padrão da mutação aplicada à posição xk . • Usar mutação correlacionada, onde os valores de cada posição afetam um ou mais dos valores das outras posições. Neste caso, precisaremos definir um parâmetro ∞i j para todas combinação de posições i e j tais que i j e as usaremos para definir uma matriz de covariância.
  7. 7. Estratégia Evolutiva 6 Em qualquer uma das formas adotadas existe uma regra a ser seguida: os valores de σ e∞ devem primeiro ser aplicados às coordenadas do vetor corrente antes de sofrerem mutação.A mutação, sendo aleatória, pode levar os desvios padrões para valores muito próximos de zero.Isto é indesejado pois cerca de 2/3 dos valores selecionados ficam entre [−σ, σ] e, se o valorde σ for muito baixo, a coordenada sob sua influência ficará estagnada por um longo período.Assim, é usual estabelecer-se um limite mínimo 0 para cada valor de desvio padrão e aplicar-sea regra σ < 0 =⇒ σ = 0 , que faz com que os desvios padrões nunca sejam pequenos demaise garante o progresso da ES em direção à solução desejada.[?] Este conceito de autoparametrização foi criado inicialmente nas ES, mas não precisa ficarrestrito a elas, podendo ser estendido aos outros parâmetros dos algoritmos genéticos. Comodiscutido anteriormente, as ES possuem conceitos muito interessantes que podem ser expandi-dos para os GAs, de forma que estes obtenham um desempenho ainda melhor na resolução deproblemas.[?]4 A versão com maior número de indivíduos Recentemente, muitos pesquisadores de estratégias evolucionárias passaram a usar popu-lações maiores para evitar os efeitos de convergência genética prematura verificados em váriosexperimentos. Ao permitir o aumento da população, passou-se também a introduzir o operadorde crossover, que não fazia sentido quando havia apenas um pai disponível dentro da população.Estas modificações fazem com que as ES fiquem extremamente parecidas, quiçá idênticas, aosalgoritmos genéticos de codificação real3 .[?] É importante ressaltar que esta versão das ES é naturalmente definida como tendo ummódulo de população do tipo (µ + λ), isto é, existem µ membros na população original quegeram um conjunto de λ filhos e o pool de indivíduos total compete de forma que apenas os µindivíduos de maior avaliação sobrevivem até a próxima geração, o que significa que as ES sãoinerentemente elististas em sua concepção.[?]5 Conclusão Neste relatório, foi introduzido as estratégias de evolução (ES), outro membro da famíliados algoritmos evolutivos. Nós também usamos estes algoritmos para ilustrar um recurso muitoútil no meio evolutivo, que alguns parâmetros da EA são variados durante um ciclo evolutivode uma forma específica: os parâmetros são incluídos no cromossomo e co-evoluido com assoluções. Esta característica é inerente a estratégias de evolução moderna. Isto é, uma vez queo procedimento foi detalhada em 1977 a maioria ES foram auto-adaptativa, e nos últimos 10anos cada vez mais outras EAs vem adotado esse processo. Um resumo da ES é: • Representação: real valorizado vetores • Recombinação: Discreta ou intermediário • Mutação: perturbação gaussiana • Seleção pai: (µ, σ) ou (µ + σ) 3 Existe uma classe de problemas que não consiste de otimização numérica, mas sim de otimização combi-natorial e que pode ser resolvida perfeitamente através de GAs. Estes problemas também são conhecidos comoproblema real.
  8. 8. Estratégia Evolutiva 7 • Especialidade: Auto-adaptação de tamanhos de passo de mutação

×