Representao e Operadores
Evolutivos
1 INTRODUO ............................................................................................................................. 3
2 REPRESENTAES ..................................................................................................................... 3
2.1 CODIFICAO BINRIA ....................................................................................................... 5
2.2 CODIFICAO REAL............................................................................................................. 9
2.3 PERMUTAES ................................................................................................................... 10
2.4 MQUINAS DE ESTADO FINITO .......................................................................................... 11
2.5 RVORES SINTTICAS (PARSE TREES).............................................................................. 11
2.6 DICAS PARA UMA CODIFICAO APROPRIADA ................................................................. 13
3 MECANISMOS DE SELEO ..................................................................................................... 15
3.1 TEORIA DA PRESSO SELETIVA ......................................................................................... 16
3.2 A FUNO DE FITNESS ...................................................................................................... 17
3.3 SELEO PROPORCIONAL AO FITNESS .............................................................................. 20
3.4 SELEO POR TORNEIO ..................................................................................................... 21
3.5 SELEO BASEADA EM RANK ........................................................................................... 22
3.6 SELEO DE BOLTZMANN ................................................................................................. 24
3.7 SELEES BI-CLASSISTA E ELITISTA ................................................................................ 25
1 Introduo
At o momento foram estudados os principais algoritmos evolutivos: algoritmos
genticos, estratgias evolutivas, programao evolutiva, e programao gentica.
Verificou-se que, embora todos eles sigam praticamente o mesmo algoritmo
evolutivo padro (bsico), existem algumas diferenas entre eles. (ver tabelas na
pgina 9 - Tpico 8, e pgina 28, Tpico 11.)
Este tpico tem por objetivo revisar as principais estruturas de dados utilizadas
como representao em algoritmos evolutivos, assim como os diversos tipos de
operadores genticos e mecanismos de seleo empregados em computao
evolutiva.
2 Representaes
Cada mtodo de busca manipula solues candidatas que representam uma
instncia do problema a ser resolvido.
Em boa parte dos problemas de engenharia uma soluo pode ser dada por um
vetor real que especifica as dimenses dos parmetros importantes do problema.
Exemplos:
o Problemas de controle: uma soluo dada por uma variao funcional de
parmetros de controle em relao ao espao ou ao tempo.
o Teoria de jogos: uma soluo uma estratgia de realizao de uma
determinada tarefa.
Entretanto, a estrutura de uma soluo (candidata) poder depender diretamente
do problema abordado. Cada mtodo de busca tambm possui caractersticas que
ajudam na especificao do tipo de representao a ser empregada.
o Sendo assim, a eficincia e complexidade do mtodo de busca ir depender
da representao e conseqentemente dos operadores de busca escolhidos.
Fica claro, portanto, que a definio de uma representao uma das etapas mais
crticas na implementao de um algoritmo evolutivo. A definio inadequada da
representao pode levar a superfcies de fitness extremamente acidentadas.
Em problemas de otimizao com restries, a codificao adotada pode fazer
com que indivduos modificados por crossover/mutao sejam infactveis.
o Nestes casos, cuidados especiais devem ser tomados na definio da
codificao e/ou dos operadores (BCK et al., 2000b).
procedimento Gray_para_Binrio
valor g1
b1 valor
para k = 2 at l faa,
se gk == 1
ento valor NOT valor
fim se
bk valor
fim para
fim procedimento
2.3 Permutaes
Sendo assim, para evitar uma rpida convergncia para pontos sub-timos
necessrio empregar populaes com dimenses elevadas e/ou operadores
genticos capazes de introduzir e/ou manter a diversidade populacional.
o Por outro lado, operadores genticos com estas caractersticas tornam a
convergncia do algoritmo lenta nos casos em que a presso seletiva fraca.
Isto permite uma maior explorao do espao de busca.
A discusso acima sugere que o sucesso na aplicao de um algoritmo evolutivo
depende do mecanismo de seleo empregado, que, por sua vez, ir depender dos
operadores genticos e outros parmetros escolhidos para o algoritmo.
o Um limite inferior pm = 1/l para a taxa tima de mutao pode ser empregado
(BREMERMANN et al., 1966, MHLENBEIN, 1992, BCK, 1993).
(
(t , y ) = y 1 r (1 t / T )
p
)
onde r um nmero aleatrio no intervalo [0, 1], T o nmero mximo de
geraes e p um parmetro que determina o grau de dependncia do nmero de
iteraes (valor proposto por MICHALEWICZ (1996): p = 5).
5.3 Permutaes
Qualquer mutao a ser aplicada uma permutao deve gerar uma estrutura de
dados que tambm uma permutao.
A mutao mais comum para permutaes conhecida como 2-opt (LIN &
KERNIGHAN, 1973). Este procedimento seleciona dois pontos da cadeia e reverte o
segmento entre os pontos. Exemplo:
o A|BCDE|F A|EDCB|F
O operador de mutao tambm pode ser extendido para o caso k-opt, ou seja, k
pontos so selecionados e as sub-seqncias so revertidas. Exemplo, k = 4:
o A|BCD|EF|GH|IJ A|DCB|FE|HG|IJ
ANGELINE & KINNEAR JR. (1996) propuseram 4 tipos bsicos de mutao em PG:
6.3 Permutaes
Sendo assim, operadores especficos para permutaes devem ser propostos. Exs.:
o Crossover OX:
P1: A B | C D E F | G H I
P2: f h | d a b c | i g e
F1: a b | C D E F | i g h
F2: H I | d a b c | E F G
o Partially Mapped Crossover PMX (GOLDBERG & LINGLE, 1985):
P1: A B | C D E | F G
P2: c f | e b a | d g
F1: a f | C D E | b g
F2: C D | e b a | F G
o Crossover de ordem 2 (SYSWERDA, 1991):
P1: A B C D E F G
P2: c f g b a d e
F1: f b C D E a G
F2: c f E b a d G