Você está na página 1de 22

IA707 Profs.

Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

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

Tpico 14 Representao e Operadores Genticos 1

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

4 OPERADORES DE BUSCA ......................................................................................................... 25


5 OPERADORES DE MUTAO ................................................................................................... 26
5.1 CODIFICAO BINRIA ..................................................................................................... 26
5.2 CODIFICAO REAL........................................................................................................... 27
5.3 PERMUTAES ................................................................................................................... 30
5.4 MQUINAS DE ESTADO FINITO .......................................................................................... 31
5.5 RVORES SINTTICAS ....................................................................................................... 32
6 OPERADORES DE RECOMBINAO.......................................................................................... 33
6.1 CODIFICAO BINRIA ..................................................................................................... 33
6.2 CODIFICAO REAL........................................................................................................... 34
6.3 PERMUTAES ................................................................................................................... 36
6.4 MQUINAS DE ESTADO FINITO .......................................................................................... 38
6.5 RVORES SINTTICAS ....................................................................................................... 39
7 ABORDAGENS BASEADAS EM POPULAO ............................................................................. 39
8 DEFINIO DA POPULAO INICIAL ....................................................................................... 40
9 DECISES CRTICAS ................................................................................................................ 40
10 REFERNCIAS BIBLIOGRFICAS .............................................................................................. 41

Tpico 14 Representao e Operadores Genticos 2


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

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.

Tpico 14 Representao e Operadores Genticos 3

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

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.

Tpico 14 Representao e Operadores Genticos 4


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

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).

2.1 Codificao Binria

Na maioria das aplicaes de algoritmos genticos (GAs) as estruturas de dados


utilizadas como representao das solues candidatas so cadeias binrias,
mesmo quando as variveis do problema so inteiras ou reais.
o Uma varivel real x (a,b) pode ser codificada utilizando-se cadeias binrias
de comprimento l, o que resultar em uma preciso numrica de (ab)/(2l1).

Tpico 14 Representao e Operadores Genticos 5

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

A motivao para o uso de codificao binria vem da teoria dos esquemas


(schemata theory). HOLLAND (1975; 1992) argumenta que seria benfico para o
desempenho do algoritmo maximizar o paralelismo implcito inerente ao GA, e
prova que um alfabeto binrio maximiza o paralelismo implcito.
Entretanto, em diversas aplicaes prticas a utilizao de codificao binria leva
a um desempenho insatisfatrio. Em problemas de otimizao numrica com
parmetros reais, algoritmos genticos com representao em ponto flutuante
freqentemente apresentam desempenho superior codificao binria.
MICHALEWICZ (1996) argumenta que a representao binria apresenta
desempenho pobre quando aplicada a problemas numricos com alta
dimensionalidade e onde alta preciso requerida. Suponha por exemplo, que
temos um problema com 100 variveis com domnio no intervalo [500, 500] e
que precisamos de 6 dgitos de preciso aps a casa decimal. Neste caso
precisaramos de um cromossomo de comprimento 3000, e teramos um espao de

Tpico 14 Representao e Operadores Genticos 6


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

busca de dimenso aproximadamente 101000. Neste tipo de problema o algoritmo


gentico clssico apresenta desempenho pobre.
Uma das caractersticas da representao binria que dois pontos vizinhos no
espao de parmetros no so necessariamente vizinhos no espao de busca
definido pela representao do problema.
Uma forma de solucionar este problema utilizar uma representao do tipo
cdigo de Gray, onde a distncia Hamming entre duas cadeias consecutivas
quaisquer sempre 1.
Inteiro Binrio Gray
0 000 000
1 001 001
2 010 011
3 011 010
4 100 110
5 101 111
6 110 101
7 111 100

Tpico 14 Representao e Operadores Genticos 7

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

Mesmo assim, a mudana de um nico bit em codificao binria ou Gray pode


resultar em grandes saltos no valor decodificado.
Procedimentos para transformar um cdigo binrio em Gray e vice-versa. Sejam
b = b1, ..., bl a cadeia binria e g = g1, ..., gl a cadeia em cdigo Gray.
procedimento Binrio_para_Gray
g1 b1
para k = 2 at l faa,
gk gk-1 XOR bk
fim para
fim procedimento

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

Tpico 14 Representao e Operadores Genticos 8


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

2.2 Codificao Real

As estratgias evolutivas e a programao evolutiva, em suas formad atuais, so


empregadas, na maioria dos casos, para resolver problemas de otimizao
contnua.
x* = arg minx f(x)
Enquanto o algoritmo gentico padro trabalha com o vetor de atributos
codificado em cadeias binrias, a EE e a PE operam diretamente no vetor de
atributos.
o Nos GAs, a escolha de uma codificao para os parmetros a serem
otimizados est fundamentada na teoria dos esquemas. Ou seja, acredita-se
que importante operar com sub-sees (blocos construtivos) timas de
solues candidatas.

Tpico 14 Representao e Operadores Genticos 9

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

2.3 Permutaes

Uma permutao de um conjunto finito um arranjo linear de seus elementos


(KNUTH, 1973).
o Dados n objetos, existem n! permutaes destes objetos.
Existem diversos problemas que so naturalmente representados por permutaes.
Exemplos: TSP, seqenciamento de tarefas, e caminho Hamiltoniano (conjunto de
ns formando um ciclo que passa por cada n uma nica vez). Estes problemas
apresentam caractersticas distintas dos problemas de otimizao de parmetros.
o Exemplo: no caixeiro viajante simtrico, cada deslocamento positivo ou
negativo (shift ou reversal) da permutao corresponde a mesma rota.
Neste tipo de codificao os operadores genticos a serem empregados devem ser
distintos dos utilizados com representao binria ou real.

Tpico 14 Representao e Operadores Genticos 10


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

2.4 Mquinas de Estado Finito

As primeiras tcnicas de programao evolutiva (PE) utilizavam como


representao mquinas de estado finito (MEF), definidas por uma 5-tupla:
M = Q,,,s,o.
Esta representao era apropriada para evoluir estruturas capazes de realizar
previses e generalizaes dado um conjunto de sinais de entrada utilizados para a
evoluo da MEF.

2.5 rvores Sintticas (Parse Trees)

Quando uma estrutura executvel, tal qual um programa ou uma funo


computacional, a estrutura de dados de um algoritmo evolutivo, a representao
possui um papel fundamental no sucesso da busca.
Se uma linguagem de programao tradicional for utilizada para representar os
programas a serem evoludos, a manipulao atravs dos operadores evolutivos ir

Tpico 14 Representao e Operadores Genticos 11

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

resultar quase que invariavelmente em programas sintaticamente invlidos (BCK


et al., 2000a).
o Sendo assim, til projetar uma representao que garanta a correo
sinttica dos programas criados.
o Uma representao com estas caractersticas dada por rvores sintticas.
A representao por rvores sintticas apresenta uma caracterstica recursiva
natural, permitindo a criao de estruturas com dimenso varivel.
o Entretanto, todas as aplicaes prticas descritas em KOZA (1992) utilizam
mecanismos para limitar o tamanho final do programa evoludo. Duas
tcnicas so usualmente empregadas: limitao de profundidade ou de
nmero de ns (ANGELINE & KINNEAR JR., 1996).
importante salientar que praticamente todos os compiladores das linguagens de
programao utilizam rvores sintticas para interpretar expresses aritmticas ou
algbricas.

Tpico 14 Representao e Operadores Genticos 12


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

2.6 Dicas para uma Codificao Apropriada

No Tpico 1 foi discutido que para resolver um problema empregando-se um


mtodo de busca necessrio definir 3 aspectos: representao, funo objetivo, e
funo de avaliao.
Para a aplicao de algoritmos evolutivos como ferramenta de busca, necessrio,
alm dos trs tems acima, definir tambm operadores genticos e mecanismos de
seleo.
o Entretanto, nenhum destes cinco itens independente dos demais.
A interdependncia entre a representao e as outras caractersticas do algoritmo
evolutivo escolhido sugerem que, na maioria dos casos, a escolha apropriada da
representao ir depender da habilidade do projetista visualizar a dinmica da
busca na superfcie de adaptao.
Exemplo: considere a seguinte funo f(x,y) = x2 + y2 a ser minimizada.

Tpico 14 Representao e Operadores Genticos 13

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

Uma representao intuitiva utilizar vetores reais para representar as variveis x


e y.

Tpico 14 Representao e Operadores Genticos 14


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

o Operadores genticos apropriados seriam mutao Gaussiana e crossover


aritmtico.
o Um mecanismo de seleo poderia ser elitista, uma vez que a funo
convexa.
Conclui-se portanto, que a representao pode ser o mais natural possvel, ou seja,
derivada das prprias caractersticas do problema.
3 Mecanismos de Seleo
Trata-se de um dos principais operadores dos algoritmos evolutivos cujo objetivo
selecionar os melhores indivduos da populao em detrimento dos piores.
o Portanto, a seleo uma mistura de dois conceitos: seleo e reproduo.
A identificao da qualidade de um indivduo baseada em seu valor de fitness.
A idia bsica privilegiar (aumentar a probabilidade de seleo de) indivduos
com valores relativos mais elevados de fitness.
Os operadores de seleo podem ser determinticos ou probabilsticos.

Tpico 14 Representao e Operadores Genticos 15

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

3.1 Teoria da Presso Seletiva

Os operadores de seleo so caracterizados por um parmetro conhecido como


presso seletiva, que relaciona o tempo de dominncia (takeover) do operador.
O tempo de dominncia definido como sendo a velocidade para que a melhor
soluo da populao inicial domine toda a populao atravs da aplicao isolada
do operador de seleo (BCK, 1994; GOLDBERG & DEB, 1991).
Se o tempo de dominncia de um operador grande, ento a presso seletiva
fraca, e vice-versa.
Portanto, a presso seletiva oferece uma medida de quo guloso o operador de
seleo no que se refere dominncia de um indivduo da populao.
o Se o operador de seleo apresenta uma forte presso seletiva, ento a
populao perde diversidade rapidamente.

Tpico 14 Representao e Operadores Genticos 16


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

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.

3.2 A Funo de Fitness

O processo de avaliao de indivduos em um algoritmo evolutivo comea com a


definio de uma funo objetivo: f : Ax , onde Ax o espao de atributos das
variveis.

Tpico 14 Representao e Operadores Genticos 17

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

A funo de fitness : Ax + faz um mapeamento dos valores nominais da


funo objetivo em um intervalo no-negativo.
A funo de fitness geralmente uma composio da funo objetivo com uma
funo de escalonamento: (ai(t)) = g(f(ai(t))), onde ai(t) Ax.
O mapeamento acima faz-se necessrio caso se deseje minimizar a funo
objetivo, uma vez que valores maiores de fitness correspondero a valores
menores da funo objetivo. Exemplos de funes objetivo escalonadas:
o (ai(t)) = fmax f(ai(t)), caso o timo global seja conhecido
o (ai(t)) = fmax(t) f(ai(t)), onde fmax(t) o mximo at a iterao t
o (ai(t)) = 1 / [1 + f(ai(t)) fmin(t)], onde fmin(t) o mnimo at a iterao t
o (ai(t)) = 1 / [1 + fmax(t) f(ai(t))], onde fmax(t) o mximo at a iterao t
As duas ltimas funes acima retornam o valor do fitness normalizado ente (0,1].
3.2.1 Fitness Ajustado
O fitness ajustado calculado a partir do fitness escalonado:

Tpico 14 Representao e Operadores Genticos 18


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

o (ai(t)) = 1 / [1 + (ai(t))], onde (ai(t)) o fitness escalonado de ai(t).


(ai(t)) [0,1].
O fitness ajustado apresenta o benefcio de salientar pequenas diferenas no valor
escalonado do fitness.
3.2.2 Fitness Normalizado
Se o mtodo de seleo a ser empregado do tipo proporcional ao fitness, ento o
fitness a ser empregado deve ser normalizado:
o n(ai(t)) = (ai(t)) / j(a j(t)), onde (ai(t)) o fitness ajustado de ai(t).
O fitness normalizado apresenta as seguintes caractersticas:
o n(ai(t)) [0,1];
o maior para melhores indivduos; e
o i n(ai(t)) = 1.

Tpico 14 Representao e Operadores Genticos 19

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

3.2.3 Escalonamento do Fitness (Fitness Scaling)


Devido presso seletiva, a populao tende a ser dominada por aqueles
indivduos de maior fitness.
Nestes casos, as funes de fitness descritas acima tendem a definir valores
similares de fitness a todos os membros da populao.
Para solucionar este problema, mtodos de escalonamento de fitness foram
propostos com o objetivo de acentuar pequenas diferenas nos valores de fitness,
mantendo assim os efeitos da presso seletiva.
GREFENSTETTE (1986) props uma funo de fitness como sendo uma
transformao linear variante no tempo da funo objetivo:
o (ai(t)) = .f(ai(t)) (t), onde = 1 para problemas de maximizao e = 1
para problemas de minimizao, e (t) representa o pior valor encontrado nas
ltimas geraes.

Tpico 14 Representao e Operadores Genticos 20


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

GOLDBERG (1989) props o sigma scaling baseado na distribuio dos valores


objetivo da populao atual:
o (ai(t)) = f(ai(t)) (fav(t) cf(t)), caso f(ai(t)) > (fav(t) cf(t)), e
o (ai(t)) = 0, caso f(ai(t)) (fav(t) cf(t)).
o Onde fav(t) o valor mdio da funo objetivo da populao atual, f(t) o
desvio padro dos valores da funo objetivo da populao atual, e c uma
constante.

3.3 Seleo Proporcional ao Fitness

O GA clssico utiliza a seleo proporcional ao fitness, geralmente implementado


com o algoritmo da roleta (roulette wheel).
O roulette wheel atribui a cada indivduo de uma populao uma probabilidade de
passar para a prxima gerao proporcional a seu fitness normalizado, ou seja, o
fitness medido em relao somatria do fitness de todos os indivduos da
populao.

Tpico 14 Representao e Operadores Genticos 21

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

Assim, quanto maior o fitness de um indivduo, maior a probabilidade dele passar


para a prxima gerao.
Observe que a seleo de indivduos por roulette wheel permite a perda do melhor
indivduo da populao.

3.4 Seleo Por Torneio

um dos mais refinados processos de seleo, por permitir ajustar a presso


seletiva.
A seleo feita em funo do nmero de vitrias de cada indivduo em N
competies contra q oponentes aleatrios da populao, sendo que vence uma
competio aquele que apresentar o maior fitness (comparado ao de seu(s)
oponente(s)).
Para propsitos prticos, q 10 conduz a uma forte presso seletiva, enquanto
valores de q entre 3 e 5 levam a uma fraca presso seletiva.
o Para q = 1, nenhuma seleo est sendo feita.

Tpico 14 Representao e Operadores Genticos 22


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

o Para q = 2, tem-se o chamado torneio binrio.


o Para q N tem-se simplesmente a seleo por ordem de fitness, sem nenhuma
aleatoriedade.

3.5 Seleo Baseada em Rank

Este mecanismo utiliza apenas as posies dos indivduos quando ordenados de


acordo com o fitness para determinar a probabilidade de seleo.
A seleo por rank simplifica o processo de mapeamento do objetio para a funo
de fitness: (ai(t)) = f(ai(t)), onde = 1 para problemas de maximizao e = 1
para problemas de minimizao.
O rank tambm elimina a necessidade de escalonamento do fitness, uma vez que a
presso seletiva mantida mesmo que os valores de fitness dos indivduos sejam
muito prximos um do outro, o que normalmente ocorre aps muitas geraes.
Podem ser usados mapeamentos lineares ou no-lineares para determinar a
probabilidade de seleo.

Tpico 14 Representao e Operadores Genticos 23

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

Ranking linear: a probabilidade de seleo de um indivduo proporcional a seu


rank, onde o indivduo menos apto (com menor fitness) possui rank 0 e o rank do
melhor indivduo N 1.
o Sejam rank e rank a quantidade esperada de filhos do melhor e do pior
indivduo da populao a cada gerao. A probabilidade de seleo de um
indivduo dada por:
o p(i) = [rank+[rank(i)/(N1)].(rankrank)]/N,
Ranking no-linear: a probabilidade de seleo de um indivduo uma funo
no-linear de seu rank. Exemplos:
o p(i) = (1)N1rank(i), onde (0,1).
o p(i) = (1exp(rank(i)))/c, onde c um fator de normalizao.
Note que os mecanismos de seleo (,) e (+) das estratgias evolutivas so
do tipo rank determinstico.

Tpico 14 Representao e Operadores Genticos 24


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

3.6 Seleo de Boltzmann

Os mecanismos de seleo de Boltzmann controlam termodinmicamente a


presso seletiva utilizando princpios de simulated annealing (SA).
Os algoritmos evolutivos com seleo de Boltzmann podem ser vistos como
extenses paralelas do algoritmo de SA (MAHFOUD & GOLDBERG, 1995).
A idia bsica da seleo de Boltzmann utilizar uma distribuio de Boltzmann-
Gibbs como mecanismo de competio entre indivduos:
P(x) = [1+exp(f(x) f(x))/ T]1,
Onde T a temperatura do sistema, x e x so os dois indivduos que esto
competindo para serem selecionados, e f() o valor da funo de fitness.

Tpico 14 Representao e Operadores Genticos 25

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

3.7 Selees Bi-Classista e Elitista

Na seleo bi-classista, so escolhidos os b% melhores indivduos e os w% piores


indivduos da populao. O restante (100(b+w))% selecionado aleatoriamente
com ou sem reposio.
O elitismo consiste em um caso particular de seleo bi-classista na qual um ou
mais dos melhores indivduos da populao sempre mantido e nenhum dos
piores indivduos selecionado. Ou seja, b 0 e w = 0.
4 Operadores de Busca
Sabemos que a evoluo resultado da reproduo, variao gentica e seleo
natural aplicados uma populao de indivduos.
At o momento j foram discutidos os principais tipos de representao e
mecanismos de seleo dos algoritmos evolutivos.
Resta agora identificar os principais tipos de operadores genticos a serem
empregados.

Tpico 14 Representao e Operadores Genticos 26


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

Existem transformaes unrias, do tipo mutao, que criam um novo indivduo


(filho) partindo de um nico pai, e tambm transformaes de ordem mais
elevada, do tipo recombinao, que geram novos indivduos atravs da
recombinao de caractersticas de dois ou mais indivduos pais.
Como discutido, existe uma interdependncia entre a representao empregada
(que geralmente depende do problema) e os operadores genticos escolhidos.
Sendo assim, os operadores genticos sero apresentados considerando-se a
representao adotada.
5 Operadores de Mutao
Gerao de um novo indivduo (filho) partindo de um nico pai.

5.1 Codificao Binria

A mutao inicialmente proposta para representao com cadeias binrias


denominada de mutao pontual. Cada posio da cadeia possui uma
probabilidade pm de sofrer mutao.

Tpico 14 Representao e Operadores Genticos 27

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

Estudos empricos e tericos sugerem que:

o Um valor inicial grande para a mutao deve ser adotado e decrescido


geometricamente ao longo das geraes (FOGARTY, 1989);

o Um limite inferior pm = 1/l para a taxa tima de mutao pode ser empregado
(BREMERMANN et al., 1966, MHLENBEIN, 1992, BCK, 1993).

5.2 Codificao Real

A mutao refere-se ao processo de gerar novos indivduos partindo de um nico


pai. Sendo assim, dado um indivduo x , seu correspondente valor mutado
pode ser expresso por: x = m(x), onde m() a funo de mutao. Exemplos:

o x = x + M, onde M uma varivel aleatria.

o Geralmente M possui mdia zero tal que E(x) = x, ou seja, a esperana


matemtica da diferena entre x e x zero.

Tpico 14 Representao e Operadores Genticos 28


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

o Mutao Uniforme: M pode assumir diversas formas, como, por exemplo,


uma distribuio aleatria uniforme U(a,b)l, onde a e b so os limites
inferiores e superiores da varivel. Geralmente a = b.

o Mutao Gaussiana: Outra alternativa para M utilizar uma distribuio


normal ou Gaussiana N(mean,)l de mdia mean (em geral mean = 0) e
desvio padro .
Outro operador de mutao, especialmente desenvolvido para problemas de
otimizao com restrio e codificao em ponto flutuante, a chamada mutao
no-uniforme (MICHALEWICZ, 1996; MICHALEWICZ & SCHOENAUER, 1996). A
mutao no-uniforme um operador dinmico, destinado a melhorar a sintonia
fina de um elemento simples. Podemos defin-lo da seguinte forma: seja
xt = [x1 xn] um cromossomo e suponha que o elemento xk foi selecionado para
mutao; o cromossomo resultante ser x t +1 = [x1  x k  x n ], onde

Tpico 14 Representao e Operadores Genticos 29

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

x + (t , a xk ), com 50% de probabilidade


xk = k
xk (t , xk b ), com 50% de probabilidade

onde a e b so os limites inferiores e superiores da varivel xk. A funo (t, y)


retorna um valor no intervalo [0, y] tal que a probabilidade de (t, y) ser prximo
de zero aumenta medida que t aumenta.
o Esta propriedade faz com que este operador inicialmente explore o espao
globalmente (quando t pequeno) e localmente em geraes avanadas
(quando t grande);

MICHALEWICZ (1996) prope a seguinte funo:

(
(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).

Tpico 14 Representao e Operadores Genticos 30


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

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

Um caso particular da mutao 2-opt aquele em que duas posies (alelos) so


selecionadas e seus genes trocados. Esta mutao denominada de mutao
baseada em ordem (SYSWERDA, 1991).

Tpico 14 Representao e Operadores Genticos 31

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

Outro operador de mutao, denominado de mistura (scramble) seleciona uma


sublista e reordena seus elementos aleatoriamente (SYSWERDA, 1991).

Note que a mutao k-opt sensvel a adjacncia dos elementos da permutao.


Isso pode causar alguns efeitos interessantes:

o O TSP pode eliminar um cruzamento na rota.

o Em um problema de seqenciamento de tarefas a mutao pode corresponder


a uma mudana grande no acesso aos recursos disponveis.

5.4 Mquinas de Estado Finito

Existem diversas formas de mutar uma mquina de estado finito (MEF).


o Mudar um smbolo de sada;
o Mudar uma transio de estado;
o Adicionar um estado;
o Deletar um estado;
o Mudar o estado inicial.

Tpico 14 Representao e Operadores Genticos 32


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

5.5 rvores Sintticas

Assim como no caso dos algoritmos genticos, em PG a mutao geralmente


relegada a segundo plano. Como conseqncia, o tamanho dos indivduos da
populao pode crescer significativamente.

ANGELINE & KINNEAR JR. (1996) propuseram 4 tipos bsicos de mutao em PG:

o Crescimento, encolhimento, troca, e ciclo.


6 Operadores de Recombinao
Os operadores de recombinao trocam partes das estruturas de dados de dois ou
mais pais com o objetivo de produzir um ou mais filhos.

6.1 Codificao Binria

Crossover de 1 ou n pontos entre indivduos aleatrios (Roulette Wheel), ou ento


entre indivduo aleatrio (Roulette Wheel) e melhor indivduo.

Tpico 14 Representao e Operadores Genticos 33

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

Crossover uniforme (ACKLEY, 1987; SYSWERDA, 1989) ou baseado em mscara


entre indivduos aleatrios (Roulette Wheel), ou ento entre indivduo aleatrio
(Roulette Wheel) e melhor indivduo.

SCHAFFER & MORISHIMA (1987) propuseram o crossover puntuado (punctuated


crossover) onde uma cadeia binria representando marcas puntuadas mi, i = 1,...,l
indicam os pontos de crossover para o crossover de mltiplos pontos. Esta cadeia
binria adicionada ao final da cadeia representante da estrutura de dados e estar
sujeita ao processo evolutivo: x = (x1, x2,..., xl, m1,..., ml)

6.2 Codificao Real

A maioria dos operadores de crossover utilizados com codificao real so


derivados das estratgias evolutivas.
Entretanto, crossover de um ou mais pontos tambm podem ser empregados para
representao real.

Tpico 14 Representao e Operadores Genticos 34


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

Diversos operadores de recombinao podem ser definidos. Seja xi o atributo i do


vetor x a sofrer mutao, e a,b os ndices dos pais a ou b, respectivamente:
o Recombinao discreta (local): xi = xa,i ou xb,i (crossover uniforme)
o Recombinao intermediria (local): xi = (xa,i + xb,i)
o Recombinao discreta global: xi = xa,i ou xbi,i
o Recombinao intermediria global: xi = (xa,i + xbi,i)
onde bi um pai qualquer escolhido da populao atual.

Outro operador para representao real o crossover aritmtico definido como


uma combinao linear de dois vetores (cromossomos): sejam x1 e x2 dois
indivduos selecionados para crossover, ento os dois filhos resultantes sero
x1 = ax1 + (1 a )x 2 e x 2 = (1 a )x1 + ax 2 , onde a um nmero aleatrio
pertencente ao intervalo [0,1]. Este operador particularmente apropriado para
problemas de otimizao numrica com restries, onde a regio factvel
convexa. Isto porque, se x1 e x2 pertencem regio factvel, combinaes

Tpico 14 Representao e Operadores Genticos 35

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

convexas de x1 e x2 sero tambm factveis. Assim, garante-se que o crossover no


gera indivduos infactveis para o problema em questo.

Outros exemplos de crossover especialmente desenvolvidos para utilizao em


problemas de otimizao numrica restritos e representao real so:

o Crossover heurstico (WRIGHT, 1994): x = u(x1 x1) + x2, onde u [0,1] e x1 e


x2 so dois pais tais que f(x2) f(x1).

o Crossover geomtrico, crossover esfrico, e crossover simplex descritos em


MICHALEWICZ & SCHOENAUER (1996). Veja tambm BCK et al. (2000a).

6.3 Permutaes

A representao por permutaes possui a caracterstica de que os operadores de


crossover mais simples falham na gerao de um indivduo que tambm seja uma
permutao.

Tpico 14 Representao e Operadores Genticos 36


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

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

Tpico 14 Representao e Operadores Genticos 37

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

o Crossover de posio (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 D g b a F e
o Crossover de mxima preservao MPX (MHLENBEIN, 1991):
P1: A | B C D | E F G
P2: c | f g b | a d e
F1: e B C D f g a
F2: E f g b A C D
6.4 Mquinas de Estado Finito

Embora na verso inicialmente proposta para a PE a recombinao entre duas


MEFs no fosse empregada, alguns autores propuseram mecanismos para
recombinar partes de mquinas de estado finito. Exemplos:

Tpico 14 Representao e Operadores Genticos 38


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

o Troca de estados entre MEFs, ou seja, para um dado estado, troca-se o


smbolo de sada e a transio de prximo estado para cada entrada.

6.5 rvores Sintticas

rvores sintticas, da forma como empregadas na PG, requerem operadores de


recombinao que garantam a gerao de filhos vlidos. Ou seja, a rvore deve
possuir apenas terminais em suas folhas, e funes em seus ns de grau maior do
que 1. Alm disso, cada n funo da rvore deve possuir o nmero correto de
sub-rvores, uma para cada argumento da funo.

CRAMER (1985) definiu o operador que hoje padro para a recombinao de


rvores sintticas, o crossover de sub-rvores.

7 Abordagens baseadas em populao


Abordagem Michigan a populao como um todo a soluo para o problema.
Abordagem Pittsburgh cada elemento da populao corresponde a uma
soluo do problema.

Tpico 14 Representao e Operadores Genticos 39

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp

8 Definio da Populao Inicial


O mtodo mais comum utilizado na criao da populao a inicializao
aleatria dos indivduos. Se algum conhecimento inicial a respeito do problema
estiver disponvel, pode ser utilizado na inicializao da populao.
Por exemplo, se sabido que a soluo final (assumindo codificao binria) vai
apresentar mais 0s do que 1s, ento esta informao pode ser utilizada, mesmo
que no se saiba exatamente a proporo.
Em problemas com restrio, deve-se tomar cuidado para no gerar indivduos
invlidos j na etapa de inicializao.
9 Decises Crticas
Tipo de codificao?
Representar toda ou parte da soluo?
S crossover, s mutao, ou ambos?
Populaes de tamanho fixo ou varivel ?

Tpico 14 Representao e Operadores Genticos 40


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp

Cromossomos de tamanho fixo ou varivel?


Cromossomos haplides ou diplides?
Qual critrio de parada?
Usar controle de diversidade?
Usar busca local?
Usar busca multi-modal?
Usar co-evoluo?
Abordagem Michigan ou Pittsburgh?
Algoritmos genticos, programao gentica, estratgias evolutivas, programao
evolutiva?
10 Referncias bibliogrficas
ACKLEY, D. H. (1987), A Connectionist Machine for Genetic Hillclimbing, Kluwer.
ANGELINE, P.J., KINNEAR JR., K.E. (eds.) Advances in Genetic Programming. volume II, MIT Press, 1996.
BCK, T. (1994), Selective Pressure in Evolutionary Algorithms: A Characterization of Selection
Mechanisms, Proc. Of the 1st IEEE Conf. on Evolutionary Computation, Orlando, FL, pp. 57-62.

Tpico 14 Representao e Operadores Genticos 41

IA707 Profs. Leandro de Castro/Fernando Von Zuben


DCA/FEEC/Unicamp
BCK, T. (1993), Optimal Mutation Rates in Genetic Search, Proc. of the 5th Int. Conf. on Gen. Algorithms,
S. Forrest (ed.), pp. 2-8.
BCK, T., FOGEL, D.B. & MICHALEWICZ, Z. (eds.) Evolutionary Computation 1: Basic Algorithms and
Operators, Institute of Physics Publishing, 2000a.
BCK, T., FOGEL, D.B. & MICHALEWICZ, Z. (eds.) Evolutionary Computation 2: Advanced Algorithms and
Operators, Institute of Physics Publishing, 2000b.
BERTONI, A. & DORIGO, M. Implicit Parallelism in Genetic Algorithms, Artificial Intelligence, 61(2): 307-
314, 1993.
BREMERMANN ET AL. (1966), Global Properties of Evolution Processes, Natual Automata and Useful
Simulations, H. H. Pattec et al. (eds.), pp. 3-41.
CRAMER, N.L. A representation for the adaptive generation of simple sequential programs. in J.J.
Grefenstette (ed.) Proceedings of the First International Conference on Genetic Algorithms and Their
Applications, 1985.
FOGARTY, T. C. (1989), Varying the Probability of Mutation in the Genetic Algorithm, Proc. of the 3rd Int.
Conf. on Gen. Algorithms, pp. 104-109.
FOGEL, D. B. An Introduction to Simulated Evolutionary Computation, IEEE Transactions on Neural
Networks, 5(1): 3-14, 1994.
GOLDBERG, D. E. Messy Genetic Algorithms: Motivation, Analysis, and First Results, Complex Systems, 3:
493-530, 1989.
GOLDBERG, D. E. & DEB, K. (1991), A Comparison of Selection Schemes Used in Genetic Algorithms,
Foundations of Genetic Algorithms, G. J. E. Rawlins (ed.), Morgan Kaufmann, pp. 69-93.
GOLDBERG, D. E. & LINGLE, R. JR. (1985), Alleles, Loci, and the Travelling Salesman Problem, Proc. of
the 1st ICGA, S. Forrest (ed.), pp. 536-542.
GREFENSTETTE, J. (1986), Optimization of Control Parameters for Genetic Algorithms, IEEE Trans. on
Syst., Man, and Cybernetics, 16, pp. 122-128.
HOLLAND, J.H. Adaptation in Natural and Artificial Systems, University of Michigan Press, 1975.

Tpico 14 Representao e Operadores Genticos 42


IA707 Profs. Leandro de Castro/Fernando Von Zuben
DCA/FEEC/Unicamp
HOLLAND, J.H. Adaptation in Natural and Artificial Systems, 2nd edition, The MIT Press, 1992.
KNUTH, R. M. (1973), The Art of Computer Programming Volume 3: Sorting and Searching, Addison-
Wesley.
KOZA, J.R. Genetic Programming: On the Programming of Computers by means of Natural Selection, MIT
Press, 1992.
LIN, S. & KERNIGHAN, B. (1973), An Efficient Heuristic Procedure for the Travelling Salesman Problem,
Oper. Res., 21, pp. 498-516.
MAHFOUD, S. & GOLDBERG, D. (1995), Parallel Recombinative Simulated Annealing: A Genetic
Algorithm, Parallel Comput., 21, pp. 1-28.
MICHALEWICZ, Z. Genetic Algorithms + Data Structures = Evolution Programs, 3rd edition, Springer,
1996.
MICHALEWICZ, Z. & SCHOENAUER, M. Evolutionary Algorithms for Constrained Parameter Optimization
Problems, Evolutionary Computation, 4(1): 1-32, 1996.
MHLENBEIN, H. (1992), How Genetic Algorithms Really Work: I Mutation and Hillclimbing, PPSN, 2 pp.
15-25.
MHLENBEIN, H. (1991), Evolution in Time and Space the Parallel Genetic Algorithm, Foundations of
Genetic Algorithms, G. J. E. Rawlins (ed.), Morgan-Kaufmann.
SCHAFFER, J. D., & MORISHIMA, A. (1987), An Adaptive Crossover Distribution Mechanism for Genetic
Algorithms, Proc. of the 2nd ICGA, J. J. Grefensttete (ed.), pp. 36-40.
SYSWERDA, G. (1991), Schedule Optimization Using Genetic Algorithms, Handbook of Genetic
Algorithms, L. Davis (ed.), pp. 332-349.
SYSWERDA, G. Uniform Crossover in Genetic Algorithms, in Schaffer, J.D. (ed.), Proceedings of the Third
International Conference on Genetic Algorithms, Morgan Kaufmann Publishers, pp. 2-9, 1989.
WRIGHT, A. H. 1994, Genetic Algorithms for Real Parameter Optimization, Foundations of Genetic
Algorithms, G. Rawlins (ed.), Morgan kaufmann, pp. 205-218.

Tpico 14 Representao e Operadores Genticos 43