4.3 Adaptac¸˜ao das Probabilidades dos Operadores
4.3.5 Avaliac¸˜ao do Desempenho de um Operador
Uma vez definida a estrat´egia de adaptac¸˜ao das probabilidades, devemos definir como va- mos avaliar o desempenho de um operador evolutivo: cada operador, ap´os a sua execuc¸˜ao, deve receber uma recompensa proporcional ao seu desempenho. Uma recompensa Ri ´e o resultado
da interac¸˜ao do operador Opi com o ambiente, que no caso do um EA significa uma medida
da performance ou produtividade do operador. Para um EA com adaptac¸˜ao de probabilidades, devemos usar as recompensas obtidas em cada est´agio do processo evolutivo para incrementar a probabilidade dos operadores que s˜ao mais produtivos em detrimento dos que n˜ao est˜ao tendo uma boa performance (S´a; BARBOSA, 1998).
Em (WHITACRE, 2007), antes do processo de adaptac¸˜ao das probabilidades, cada operador Opi´e executado (aplicac¸˜ao do operador i em um indiv´ıduo da populac¸˜ao para gerar um novo in- div´ıduo) Mivezes, de forma que cada execuc¸˜ao gera uma recompensa ri( j) onde j = 1, . . . , Mi.
A cada τ iterac¸˜oes do ciclo evolutivo, o operador Opitem a sua probabilidade de selec¸˜ao atua-
lizada (adaptada) em func¸˜ao de sua recompensa m´edia Ri(t) recebida no per´ıodo, tal que:
Ri(t) = 1 Mi Mi
∑
j=1 ri( j) (4.11)4.3 Adaptac¸˜ao das Probabilidades dos Operadores 69
onde cada incremento de tempo t ´e relativo a um ciclo de adaptac¸˜ao, que por sua vez representa τ ciclos evolutivos (n ´umero de gerac¸˜oes do EA entre uma adaptac¸˜ao e outra).
Na express˜ao (4.11), a recompensa Ri(t) representa m´ultiplas interac¸˜oes entre o sistema
adaptativo e seus ambiente. Essa definic¸˜ao ´e interessante pois aumenta a possibilidade de um operador com baixa probabilidade ser usado e normaliza as recompensas para crit´erio de comparac¸˜ao de desempenho.
Considerando que cada operador gera apenas um filho (novo indiv´ıduo), as recompensas ri( j) s˜ao definidas em func¸˜ao da variac¸˜ao ∆ f do valor da func¸˜ao de aptid˜ao (func¸˜ao fitness) de um indiv´ıduo ap´os a aplicac¸˜ao do operador Opi. Whitacre (WHITACRE, 2007) apresenta
algumas possibilidades para o calculo de ri( j), o que pode ser feito seguindo algum crit´erio de
interpretac¸˜ao da variac¸˜ao ∆ f gerada pelo operador. Sendo Ff ilho o valor da func¸˜ao de aptid˜ao
do novo indiv´ıduo gerado pelo operador Opi, e considerando um problema de maximizac¸˜ao, a
recompensa ri( j) gerada na j-´esima aplicac¸˜ao de Opipode ser calcula das seguintes formas:
• Crit´erio I1: A recompensa ´e calculada com referˆencia local (em relac¸˜ao ao valor de aptid˜ao do indiv´ıduo pai Fpai) e o cr´edito ´e fixo (independe do ganho produzido):
ri( j) = (
1 se Ff ilho > Fpai
0 caso contr´ario (4.12)
• Crit´erio I2: A recompensa ´e calculada com referˆencia local (em relac¸˜ao a Fpai) e propor-
cional ao ganho/perda de aptid˜ao observado:
ri( j) = Ff ilho − Fpai (4.13)
• Crit´erio I3: A recompensa ´e calculada com referˆencia local (em relac¸˜ao a Fpai) e propor-
cional ao ganho de aptid˜ao observado:
ri( j) = Max(0, Ff ilho − Fpai) (4.14)
Diferentemente do crit´erio I2, este crit´erio n˜ao penaliza o operador (cr´edito zero) quando o indiv´ıduo filho possuir uma aptid˜ao inferior ao seu pai.
• Crit´erio I4: A recompensa ´e calculada com referˆencia global (em relac¸˜ao a m´edia dos valores de aptid˜ao dos indiv´ıduos da populac¸˜ao Fm´edia) e o cr´edito ´e fixo (independe do
ganho produzido):
ri( j) = (
1 se Ff ilho > Fm´edia
4.3 Adaptac¸˜ao das Probabilidades dos Operadores 70
• Crit´erio I5: A recompensa ´e calculada com referˆencia global e o cr´edito ´e proporcional ao ganho/perda relativo observado:
ri( j) = (Ff ilho − Fmelhor) (Fmelhor − Fm´edia)
(4.16) onde Fm´edia ´e a m´edia dos valores de aptid˜ao dos indiv´ıduos da populac¸˜ao; e Fmelhor ´e
o valor de aptid˜ao do melhor indiv´ıduo da populac¸˜ao. Neste crit´erio penalizamos um operador (cr´edito negativo) quando ela n˜ao gera um filho melhor que o melhor indiv´ıduo da populac¸˜ao.
• Crit´erio I6: A recompensa ´e calculada com referˆencia global (em relac¸˜ao a m´edia dos valores de aptid˜ao dos indiv´ıduos da populac¸˜ao Fm´edia)) e o cr´edito ´e proporcional ao
ganho observado:
ri( j) = Max(0, Ff ilho − Fmelhor) (4.17)
• Crit´erio I7: A recompensa ´e calculada com referˆencia global (em relac¸˜ao ao indiv´ıduo cuja aptid˜ao ´e maior que 90% das aptid˜oes de todos os indiv´ıduos da populac¸˜ao F90%) e
o cr´edito ´e proporcional ao ganho observado:
ri( j) = Max(0, Ff ilho − F90%) (4.18)
• Crit´erio I8: A recompensa ´e calculada atrav´es de um processo de classificac¸˜ao do in- div´ıduo filho gerado em relac¸˜ao a todos os indiv´ıduos da populac¸˜ao:
ri( j) = NP
∑
p=1 φ ( f ilho, p) (4.19) φ ( f ilho, p) = ( 1 se Ff ilho > Fj 0 sen˜aoonde NP ´e o n´umero de indiv´ıduos da populac¸˜ao, e Fj ´e o valor de aptid˜ao do p-´esimo
indiv´ıduo da populac¸˜ao.
Em todos os crit´erios mostrados acima podemos considerar o custo do operador para gerar o filho j´a que alguns operadores requerem mais de uma avaliac¸˜ao da func¸˜ao de aptid˜ao para ger´a-lo: geralmente, a avaliac¸˜ao da func¸˜ao de aptid˜ao ´e o processamento mais caro de um EA. Sendo assim, n˜ao importa como a produtividade ´e medida, parece natural dividi-la pelo custo da produc¸˜ao.
Quando um operador gera mais de um filho, consideramos que esses filhos foram gerados em eventos distintos para um mesmo operador, de forma que para cada filho teremos um cr´edito
4.3 Adaptac¸˜ao das Probabilidades dos Operadores 71
associado.
Em (BARBOSA; S´a, 2000), temos o conceito de Ancestralidade: para cada recompensa Ri(t) podemos distribu´ı-la pelos operadores que geraram os pais do indiv´ıduo filho (e possi- velmente tamb´em os av´os e bisav´os) considerando que a capacidade de gerar pais que geram bons filhos tamb´em merece ganho de produtividade. Esse recurso implica em uma estrutura de dados adicional para armazenar a ancestralidade (´arvore com os operadores) al´em da inserc¸˜ao de dois novos parˆametros: levels, o n´umero de ancestrais que ser´a levado em conta e decay que corresponde a porcentagem de cr´edito que ser´a atribu´ıda a cada n´ıvel de ancestralidade.
72
5
Algoritmo Proposto
Este cap´ıtulo descreve o algoritmo evolutivo proposto que se baseia em t´ecnicas adaptati- vas para ajustar de forma autom´atica os valores das probabilidades de selec¸˜ao dos operadores evolutivos. A ideia inicial ´e, a partir de um conjunto de nove operadores, descobrir quais opera- dores s˜ao mais eficientes na resoluc¸˜ao de um determinado problema de otimizac¸˜ao restrita, e em qual momento cada operador deve ser utilizado. O objetivo principal desta proposta ´e melhorar o desempenho do algoritmo quando comparado com algoritmos evolutivos sem adaptac¸˜ao de probabilidades (com parˆametros fixos). A metodologia adotada para fazer a manipulac¸˜ao das restric¸˜oes ´e apresentada, bem como os operadores evolutivos e as ferramentas de adaptac¸˜ao e interpretac¸˜ao da produtividade dos operadores.
5.1
Manipulac¸˜ao das Restric¸˜oes: M´etodo ε-constrained
O M´etodo de manipulac¸˜ao de restric¸˜oes ε-constrained foi inicialmente proposto por Ta- kahama e Sakai (TAKAHAMA; SAKAI, 2006) e sua eficiˆencia foi comprovada atrav´es da aplicac¸˜ao em v´arios problemas teste (benchmarks) conhecidos.
Como foi dito na sec¸˜ao 2.5.4, este m´etodo trabalha com o relaxamento das restric¸˜oes e otimiza o problema adotando uma estrat´egia de comparac¸˜ao lexogr´afica onde a satisfac¸˜ao das restric¸˜oes ´e mais importante que a otimizac¸˜ao da func¸˜ao objetivo. Esta abordagem per- mite transformar uma algoritmo de otimizac¸˜ao de problemas irrestritos em um algoritmo de otimizac¸˜ao de problemas restritos.