SlideShare uma empresa Scribd logo
1 de 8
Baixar para ler offline
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
Estratégia Evolutiva
                    Edjalma Queiroz da Silva ∗            Celso G. Camilo Jr †
                   edjalma@ambientinformatica.com.br         celso@inf.ufg.br




1        Introdução
      As estratégias evolucionárias (Evolutionary Strategies, ou ES) foram propostas nos anos
60 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 usa
um operador de mutação baseado em uma distribuição normal. Além de terem demonstrado
um grande sucesso na área de otimização de parâmetros, as ES devem ser estudadas pois seus
operadores 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 de
um problema é submetida a um processo de recombinação (cruzamento), mutação e competição
pela sobrevivência.
      Assumindo algumas hipóteses, é possível provar que as ES’s convergem ao ótimo global
com probabilidade 1, considerando um tempo de busca suficientemente longo. Uma primeira
versão de ES’s focaliza um processo de busca no esquema 1 genitor - 1 descendente. Isto foi
denominado (1+1)-ES , onde um único filho é criado a partir de um único genitor e ambos
são confrontados numa competição por sobrevivência, onde a seleção elimina a solução mais
pobre. Um aspecto negativo observado é a convergência lenta, além da busca ponto a ponto ser
susceptí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. As
ES’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. Na
versão (µ,λ)-ES, µ indivíduos produzem λ descendentes, com µ< λ, sendo que a nova população
de µ 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 de
estratégia tem bom desempenho em problemas onde o ponto ótimo é em função do tempo, ou
onde a função é afetada por ruído.[?]
    ∗
        Mestrando em Ciência da Computação, INF-UFG
    †
        Orientador


                                                      1
Estratégia Evolutiva                                                                                     2



     ES’s: Algoritmo Padrão Considerando cada elemento composto por um par de vetores na
forma 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ções
impostas 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 passo
4 ocorre a competição entre todos os indivíduos, tanto genitores como descendentes. O critério
de 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 e
passem para a próxima geração na qualidade de genitores. O critério de parada especificado no
passo 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 de
mutação e um módulo seleção que só aceitava o filho gerado quando eles apresentavam uma
avaliação superior a de seu pai. No método mais tradicional, o melor dos dois indivíduos seria
selecionado para se tornar pai na geração seguinte, mas existem também versões estocásticas
em que cada um dos dois elementos recebe uma percentagem de chance de ser selecionado
para a nova geração. Esta versão estocástica é interessante pois permite que o algoritmo fuja de
má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 problemas
hidrodinâ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 uma
tupla 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 de
mutaçã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.
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 probabilidades
normal ou Gaussiana de média zero e desvio padrão σ, representada por N(0, σ) e conhecida
como 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 é dado
na figura 1. A distribuição normal é extremamente importante pois descreve o comportamento
aproximado de variáveis aleatórias, sendo perfeitamente simétrica em torno da média µ (no caso
da figura, µ = 0). O valor do desvio padrão deve ser escolhido de acordo com o intervalo em
que 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 armazenado
na posição corrente. [?]


                                                   images/Figura11_02.png


Figura 2: Evolução da área sob a curva normal de média zero e desvio padrão 1 como função
do valor de x.

      A área sob uma distribuição de probabilidades corresponde à probabilidade de ocorrência
do valor de x. Assim, como pode-se observar na figura 2, a área total sob uma distribuição de
probabilidade (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 o
valor 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
                               x
calcular o valor da integral −∞ N(0, σ, x)dx. De acordo com McClave o problema é que não
há uma forma fechada para esta integral, o que exige que usemos técnicas númericas para
implementá-la2 .[?]
      O método do trapézio pode ser utilizado para realizar esta integração. A idéia deste
método pode ser vista na figura3 e consiste basicamente em aproximar a curva por uma série de
trapézios cuja base é igual a ∆x e seus dois lados são dados pelos valores das funcoes nos dois
pontos que distam ∆x um do outro. Isto consiste basicamente em fazer uma aproximação linear
por 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ários
valores que podem, então, conter erros.É claro que os métodos numéricos também incluem aproximações que
podem causar erros de cálculo, mas eles são bem mais elegantes e podem ser aproximados até atingirmos o erro
desejado, por menor que este seja, o que não é verdade para métodos baseados em tabelas.
Estratégia Evolutiva                                                                           4




                                              images/Figura11_03.png


Figura 3: Funcionamento da regra dos trapézios. Note que a área total é bem aproximada pela
soma das áreas dos trapézios. Existe um erro, visível na figura, mas este pode ser diminuido
arbitrariamente diminuindo-se o valor de ∆x. Note que o valor do limite inferior do seundo
intervalo é 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 pode
ser 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 que
isto ocorrerá. O valor inicial de σ é decidido de forma arbitrária, mas Rechenberg (1973) criou
uma regra para atualizá-lo no decorrer das iterações, que pode ajudar também na velocidade de
convergê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, e
que 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 por
Rechenberg: Aumentar desvios, σ j, se a freqüência relativa de mutações bem sucedidas ao
longo de um determinado período é maior do que 1 , caso contrário, os desvios são reduzidos.
                                                           5
Schwefel 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ão
atualizadas usando,

                                              images/formula1.png

      onde α = 0.85. Uma mutação de sucesso produz uma prole com um fitness que é melhor
que o fitness dos pais.[?][?]
      Note que o original (1 + 1)−ES proposto por Rechenburg não adaptou desvios. Variações
també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 é, assumindo
minimizaçã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
Estratégia Evolutiva                                                                                        5



selecionados aleatoriamente e recombinados pelo crossover multiponto discreto para produzir
uma 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 sobreviver
para à proxima geração.[?]
       Devido a problemas com a auto-adaptação de tamanhos de etapas, (µ + 1)−ES não são
utilizados 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êm
de auto-ajustar seus parâmetros, não necessitando, portanto, que se determine o valor da taxa
de mutação de forma “ad-hoc”. Esta habilidade faz sentido: determinar os parâmetros de um
algoritmo 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 que
consideramos adequado para um algoritmo evolucionário.[?]
      Quando usamos as ES mais simples, usamos como representação um vetor V, tal que
V = {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 no
processo 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.
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 valor
de σ 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-se
a regra σ < 0 =⇒ σ = 0 , que faz com que os desvios padrões nunca sejam pequenos demais
e 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 ficar
restrito a elas, podendo ser estendido aos outros parâmetros dos algoritmos genéticos. Como
discutido 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 de
problemas.[?]


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ários
experimentos. Ao permitir o aumento da população, passou-se também a introduzir o operador
de 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, aos
algoritmos genéticos de codificação real3 .[?]
      É importante ressaltar que esta versão das ES é naturalmente definida como tendo um
módulo de população do tipo (µ + λ), isto é, existem µ membros na população original que
geram 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ão
inerentemente elististas em sua concepção.[?]


5        Conclusão
      Neste relatório, foi introduzido as estratégias de evolução (ES), outro membro da família
dos 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 evolutivo
de uma forma específica: os parâmetros são incluídos no cromossomo e co-evoluido com as
soluções. Esta característica é inerente a estratégias de evolução moderna. Isto é, uma vez que
o procedimento foi detalhada em 1977 a maioria ES foram auto-adaptativa, e nos últimos 10
anos 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 como
problema real.
Estratégia Evolutiva                                                 7



   • Especialidade: Auto-adaptação de tamanhos de passo de mutação

Mais conteúdo relacionado

Semelhante a Estrategia evolutiva

Modelo de regressão linear: aspectos teóricos e computacionais
Modelo de regressão linear: aspectos teóricos e computacionais Modelo de regressão linear: aspectos teóricos e computacionais
Modelo de regressão linear: aspectos teóricos e computacionais
Rodrigo Rodrigues
 
Distribuicao continua
Distribuicao continuaDistribuicao continua
Distribuicao continua
carneiro62
 
Algorítimos Genéticos
Algorítimos GenéticosAlgorítimos Genéticos
Algorítimos Genéticos
iaudesc
 
Implementação mód4 - encontro 1-
Implementação   mód4 - encontro 1-Implementação   mód4 - encontro 1-
Implementação mód4 - encontro 1-
inechidias
 
Implementação módulo4
Implementação   módulo4 Implementação   módulo4
Implementação módulo4
inechidias
 
Implementação Currículo - módulo4 - Matrizes/Nºs Complexos
Implementação Currículo - módulo4 - Matrizes/Nºs ComplexosImplementação Currículo - módulo4 - Matrizes/Nºs Complexos
Implementação Currículo - módulo4 - Matrizes/Nºs Complexos
inechidias
 

Semelhante a Estrategia evolutiva (20)

Regressao linear
Regressao linearRegressao linear
Regressao linear
 
Tadeu
TadeuTadeu
Tadeu
 
Regressao linear multipla
Regressao linear multiplaRegressao linear multipla
Regressao linear multipla
 
03 tópico 2 - regressão multipla
03   tópico 2 - regressão multipla03   tópico 2 - regressão multipla
03 tópico 2 - regressão multipla
 
Probabilidade e Estatística - Aula 03
Probabilidade e Estatística - Aula 03Probabilidade e Estatística - Aula 03
Probabilidade e Estatística - Aula 03
 
Algoritmo genético
Algoritmo genéticoAlgoritmo genético
Algoritmo genético
 
Distribuição normal
Distribuição normalDistribuição normal
Distribuição normal
 
Modelo de regressão linear: aspectos teóricos e computacionais
Modelo de regressão linear: aspectos teóricos e computacionais Modelo de regressão linear: aspectos teóricos e computacionais
Modelo de regressão linear: aspectos teóricos e computacionais
 
Introdução à Regressão Linear
Introdução à Regressão LinearIntrodução à Regressão Linear
Introdução à Regressão Linear
 
Tópico 1 - Estatistica Descritiva.pdf
Tópico 1 - Estatistica Descritiva.pdfTópico 1 - Estatistica Descritiva.pdf
Tópico 1 - Estatistica Descritiva.pdf
 
A previsão do ibovespa através de um modelo de regressão linear múltipla - Da...
A previsão do ibovespa através de um modelo de regressão linear múltipla - Da...A previsão do ibovespa através de um modelo de regressão linear múltipla - Da...
A previsão do ibovespa através de um modelo de regressão linear múltipla - Da...
 
Capitulo 8 gujarati resumo
Capitulo 8 gujarati resumoCapitulo 8 gujarati resumo
Capitulo 8 gujarati resumo
 
Distribuicao continua
Distribuicao continuaDistribuicao continua
Distribuicao continua
 
Algorítimos Genéticos
Algorítimos GenéticosAlgorítimos Genéticos
Algorítimos Genéticos
 
Regressão Linear Múltipla
Regressão Linear MúltiplaRegressão Linear Múltipla
Regressão Linear Múltipla
 
Calculo d edo_1
Calculo d edo_1Calculo d edo_1
Calculo d edo_1
 
Estatística básica
Estatística básicaEstatística básica
Estatística básica
 
Implementação mód4 - encontro 1-
Implementação   mód4 - encontro 1-Implementação   mód4 - encontro 1-
Implementação mód4 - encontro 1-
 
Implementação módulo4
Implementação   módulo4 Implementação   módulo4
Implementação módulo4
 
Implementação Currículo - módulo4 - Matrizes/Nºs Complexos
Implementação Currículo - módulo4 - Matrizes/Nºs ComplexosImplementação Currículo - módulo4 - Matrizes/Nºs Complexos
Implementação Currículo - módulo4 - Matrizes/Nºs Complexos
 

Último

A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
HELENO FAVACHO
 

Último (20)

Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAEDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
LISTA DE EXERCICIOS envolveto grandezas e medidas e notação cientifica 1 ANO ...
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
Texto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.pptTexto dramático com Estrutura e exemplos.ppt
Texto dramático com Estrutura e exemplos.ppt
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 

Estrategia evolutiva

  • 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. Estratégia Evolutiva Edjalma Queiroz da Silva ∗ Celso G. Camilo Jr † edjalma@ambientinformatica.com.br celso@inf.ufg.br 1 Introdução As estratégias evolucionárias (Evolutionary Strategies, ou ES) foram propostas nos anos 60 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 usa um operador de mutação baseado em uma distribuição normal. Além de terem demonstrado um grande sucesso na área de otimização de parâmetros, as ES devem ser estudadas pois seus operadores 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 de um problema é submetida a um processo de recombinação (cruzamento), mutação e competição pela sobrevivência. Assumindo algumas hipóteses, é possível provar que as ES’s convergem ao ótimo global com probabilidade 1, considerando um tempo de busca suficientemente longo. Uma primeira versão de ES’s focaliza um processo de busca no esquema 1 genitor - 1 descendente. Isto foi denominado (1+1)-ES , onde um único filho é criado a partir de um único genitor e ambos são confrontados numa competição por sobrevivência, onde a seleção elimina a solução mais pobre. Um aspecto negativo observado é a convergência lenta, além da busca ponto a ponto ser susceptí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. As ES’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. Na versão (µ,λ)-ES, µ indivíduos produzem λ descendentes, com µ< λ, sendo que a nova população de µ 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 de estratégia tem bom desempenho em problemas onde o ponto ótimo é em função do tempo, ou onde a função é afetada por ruído.[?] ∗ Mestrando em Ciência da Computação, INF-UFG † Orientador 1
  • 3. Estratégia Evolutiva 2 ES’s: Algoritmo Padrão Considerando cada elemento composto por um par de vetores na forma 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ções impostas 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 passo 4 ocorre a competição entre todos os indivíduos, tanto genitores como descendentes. O critério de 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 e passem para a próxima geração na qualidade de genitores. O critério de parada especificado no passo 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 de mutação e um módulo seleção que só aceitava o filho gerado quando eles apresentavam uma avaliação superior a de seu pai. No método mais tradicional, o melor dos dois indivíduos seria selecionado para se tornar pai na geração seguinte, mas existem também versões estocásticas em que cada um dos dois elementos recebe uma percentagem de chance de ser selecionado para a nova geração. Esta versão estocástica é interessante pois permite que o algoritmo fuja de má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 problemas hidrodinâ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 uma tupla 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 de mutaçã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. 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 probabilidades normal ou Gaussiana de média zero e desvio padrão σ, representada por N(0, σ) e conhecida como 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 é dado na figura 1. A distribuição normal é extremamente importante pois descreve o comportamento aproximado de variáveis aleatórias, sendo perfeitamente simétrica em torno da média µ (no caso da figura, µ = 0). O valor do desvio padrão deve ser escolhido de acordo com o intervalo em que 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 armazenado na posição corrente. [?] images/Figura11_02.png Figura 2: Evolução da área sob a curva normal de média zero e desvio padrão 1 como função do valor de x. A área sob uma distribuição de probabilidades corresponde à probabilidade de ocorrência do valor de x. Assim, como pode-se observar na figura 2, a área total sob uma distribuição de probabilidade (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 o valor 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 x calcular o valor da integral −∞ N(0, σ, x)dx. De acordo com McClave o problema é que não há uma forma fechada para esta integral, o que exige que usemos técnicas númericas para implementá-la2 .[?] O método do trapézio pode ser utilizado para realizar esta integração. A idéia deste método pode ser vista na figura3 e consiste basicamente em aproximar a curva por uma série de trapézios cuja base é igual a ∆x e seus dois lados são dados pelos valores das funcoes nos dois pontos que distam ∆x um do outro. Isto consiste basicamente em fazer uma aproximação linear por 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ários valores que podem, então, conter erros.É claro que os métodos numéricos também incluem aproximações que podem causar erros de cálculo, mas eles são bem mais elegantes e podem ser aproximados até atingirmos o erro desejado, por menor que este seja, o que não é verdade para métodos baseados em tabelas.
  • 5. Estratégia Evolutiva 4 images/Figura11_03.png Figura 3: Funcionamento da regra dos trapézios. Note que a área total é bem aproximada pela soma das áreas dos trapézios. Existe um erro, visível na figura, mas este pode ser diminuido arbitrariamente diminuindo-se o valor de ∆x. Note que o valor do limite inferior do seundo intervalo é 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 pode ser 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 que isto ocorrerá. O valor inicial de σ é decidido de forma arbitrária, mas Rechenberg (1973) criou uma regra para atualizá-lo no decorrer das iterações, que pode ajudar também na velocidade de convergê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, e que 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 por Rechenberg: Aumentar desvios, σ j, se a freqüência relativa de mutações bem sucedidas ao longo de um determinado período é maior do que 1 , caso contrário, os desvios são reduzidos. 5 Schwefel 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ão atualizadas usando, images/formula1.png onde α = 0.85. Uma mutação de sucesso produz uma prole com um fitness que é melhor que o fitness dos pais.[?][?] Note que o original (1 + 1)−ES proposto por Rechenburg não adaptou desvios. Variações també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 é, assumindo minimizaçã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. Estratégia Evolutiva 5 selecionados aleatoriamente e recombinados pelo crossover multiponto discreto para produzir uma 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 sobreviver para à proxima geração.[?] Devido a problemas com a auto-adaptação de tamanhos de etapas, (µ + 1)−ES não são utilizados 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êm de auto-ajustar seus parâmetros, não necessitando, portanto, que se determine o valor da taxa de mutação de forma “ad-hoc”. Esta habilidade faz sentido: determinar os parâmetros de um algoritmo 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 que consideramos adequado para um algoritmo evolucionário.[?] Quando usamos as ES mais simples, usamos como representação um vetor V, tal que V = {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 no processo 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. 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 valor de σ 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-se a regra σ < 0 =⇒ σ = 0 , que faz com que os desvios padrões nunca sejam pequenos demais e 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 ficar restrito a elas, podendo ser estendido aos outros parâmetros dos algoritmos genéticos. Como discutido 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 de problemas.[?] 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ários experimentos. Ao permitir o aumento da população, passou-se também a introduzir o operador de 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, aos algoritmos genéticos de codificação real3 .[?] É importante ressaltar que esta versão das ES é naturalmente definida como tendo um módulo de população do tipo (µ + λ), isto é, existem µ membros na população original que geram 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ão inerentemente elististas em sua concepção.[?] 5 Conclusão Neste relatório, foi introduzido as estratégias de evolução (ES), outro membro da família dos 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 evolutivo de uma forma específica: os parâmetros são incluídos no cromossomo e co-evoluido com as soluções. Esta característica é inerente a estratégias de evolução moderna. Isto é, uma vez que o procedimento foi detalhada em 1977 a maioria ES foram auto-adaptativa, e nos últimos 10 anos 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 como problema real.
  • 8. Estratégia Evolutiva 7 • Especialidade: Auto-adaptação de tamanhos de passo de mutação