SlideShare uma empresa Scribd logo
1 de 62
CAPÍTULO 3
INTRODUÇÃO AOS ALGORITMOS
GENÉTICOS
Estéfane G. M. de Lacerda
André Carlos P. L. F. de Carvalho
3.1 UM ALGORITMO GENÉTICO SIMPLES
A lgoritmos Genéticos, A Gs, são métodos de otimiz ação e
busca inspirados nos m ecanismos de evolução de populações
de seres vivos. Foram introduz idos por John Holland (Holland,
1975) e populariz ados por um dos seus alunos, David
Goldberg (Goldberg, 1989). Estes algoritmos seguem o
princípio da seleção natural e sobrevivência do mais apto,
declarado em 1859 pelo naturalista e fisiologista inglês
Charles Darwin em seu livro A Origem das Espécies. De
acordo com Charles Darwin, “Quanto melhor um indivíduo se
adaptar ao seu meio am biente, maior será sua chance de
sobreviver e gerar descendentes”.
Otimiz ação é a busca da melhor solução para um dado
problema. Consiste em tentar várias soluções e utiliz ar a
informação obtida neste processo de forma a encontrar
soluções cada vez melhores. Um exemplo simples de
otimiz ação é a melhoria da imagem das televisões com antena
acoplada no próprio aparelho. A través do ajuste manual da
antena, várias soluções são testadas, guiadas pela qualidade de
imagem obtida na TV, até a obtenção de uma resposta ótima,
ou seja, uma boa im agem.
Est
  fane Lacerda e Andr
  Carvalho88
A s t
¡
cnicas de busca e otimiz aç¢ o, geralmente, apresentam:
• Um espaço de busca, onde est¢ o todas as possíveis
soluç£ es do problema;
• Uma funç¢ o objetivo (algum as vez es chamada de
funç¢ o de aptid¢ o na literatura de A Gs), que
¡
utiliz ada para avaliar as soluç£ es produz idas,
associando a cada uma delas uma nota.
Em termos matem¤ ticos, a otimiz aç¢ o consiste em achar a
soluç¢ o que corresponda ao ponto de m¤ ximo ou mínimo da
funç¢ o objetivo. Como exemplo, considere o seguinte
problema de otimiz aç¢ o que ser¤ utiliz ado no decorrer deste
capítulo:
Problema 3.1 – A char o ponto m¤ ximo da funç¢ o
1)10sen()( += xxxf π dentro do intervalo 21 ≤≤− x .
Embora aparentemente simples, o Problema 3.1 n¢ o
¡
de f¤ cil
soluç¢ o. Existem v¤ rios pontos de m¤ ximos nesta funç¢ o
(pontos que maximiz am o valor da funç¢ o), mas m uitos n¢ o
representam o maior valor que a funç¢ o pode atingir,
conforme ilustrado na Figura 3.1. Tais pontos s¢ o
denominados máximos locais, uma vez que a funç¢ o nestes
pontos atinge valores m aiores do que na viz inhança destes
pontos. A melhor soluç¢ o para este problema est¤ no ponto
em que a funç¢ o possui valor m¤ ximo, o máximo global. Neste
problema, o m¤ ximo global encontra- se no ponto cujo valor
de x
¡
igual a 1,85055. Neste ponto, a funç¢ o assume o valor
2,85027.
Conforme ser¤ mostrado na Seç¢ o 3.2, uma grande quantidade
de t
¡
cnicas de otimiz aç¢ o (por exemplo, os m
¡
todos do
gradiente) n¢ o
¡
capaz de localiz ar o ponto de m¤ ximo global
de uma funç¢ o com múltiplos pontos de m¤ xim o. Esta seç¢ o
mostrar¤ como utiliz ar A Gs para encontrar o m¤ ximo global
do Problema 3.1.
Capítulo 3 – Introdução aos Algoritmos Gen
  ticos 89
x
f(x)=xsen(10πx)+1 -1, 0
0, 0
1, 0
2, 0
3, 0
-1, 0 -0, 5 0, 0 0, 5 1, 0 1, 5 2, 0
Máxi mo gl obal
Máxi mo l ocal
Figura 3.1 - Gr¥ fico da funç¦ o da f(x) = x sen(10 πx) + 1
Est
  fane Lacerda e Andr
  Carvalho90
A lgoritmo 3.1: A lgoritmo Gen
¡
tico típico
Seja S(t) a populaç¦ o de cromossomos na geraç¦ o t.
t ← 0
inicializ ar S(t)
avaliar S(t)
enquanto o crit§ rio de parada n¦ o for satisfeito faça
t ← t+ 1
selecionar S(t) a partir de S(t- 1)
aplicar crossover sobre S(t)
aplicar m utaç¦ o sobre S(t)
avaliar S(t)
fim enquanto
O primeiro passo de um A lgoritmo Gen
¡
tico típico
¡
a geraç¢ o
de uma população inicial de cromossomos, que
¡
formada
por um conjunto aleatório de cromossomos que representam
possíveis soluç£ es do problema a ser resolvido. Durante o
processo evolutivo, esta populaç¢ o
¡
avaliada e cada
cromossomo recebe um a nota (denominada de aptidão no
jarg¢ o da literatura de A Gs), refletindo a qualidade da soluç¢ o
que ele representa. Em geral, os cromossomos mais aptos s¢ o
selecionados e os menos aptos s¢ o descartados (Darwinismo).
Os membros selecionados podem sofrer modificaç£ es em suas
características fundamentais atra¨
¡
s dos operadores de
crossover e mutação, gerando descendentes para a próxima
geraç¢ o. Este processo
¡
repetido at
¡
que uma soluç¢ o
satisfatória seja encontrada. O A lgoritmo 3.1 ilustra este
procedimento. A s seç£ es seguintes descrevem com mais
detalhes cada etapa deste algoritmo.
3.1.1 REPRESENTAÇÃO DOS PARÂMETROS
Um A G processa populaç£ es de cromossomos. Um
cromossomo
¡
uma estrutura de dados, geralmente vetor ou
Capítulo 3 – Introdução aos Algoritmos Gen
  ticos 91
cadeia de bits (cadeia de bits
¡
a estrutura mais tradicional,
por
¡
m nem sempre
¡
a melhor), que representa um a possível
soluç¢ o do problema a ser otimiz ado. Em geral, um
cromossomo representa um conjunto de parâmetros da funç¢ o
objetivo cuja resposta ser¤ maximiz ada ou minimiz ada. O
conjunto de todas as configuraç£ es que o crom ossomo pode
assumir forma o seu espaço de busca . Se o cromossomo
representa n parâmetros de uma funç¢ o, ent¢ o o espaço de
busca
¡
um espaço com n dimens£ es.
O primeiro passo para resolver o Problema 3.1 utiliz ando A Gs¡
representar o único parâmetro deste problem a (a vari¤ vel x)
na forma de um cromossomo. Ser¤ adotada um a cadeia de 22
bits para o cromossomo (maiores cadeias aumentam a
precis¢ o num
¡
rica da soluç¢ o). A ssim, um exemplo de
cromossomo poderia ser:
s1 = 1000101110110101000111
Para decodificar o crom ossomo s1
, converte- se s1
da base 2
para a base 10:
b
10
= (1000101110110101000111)
2
= 2288967
Como b10
¡
um número no intervalo [0, 2l
- 1] (sendo l o
tamanho da cadeia de bits),
¡
necess¤ rio mape¤ - lo para o
intervalo do problema [- 1,0; 2,0]. Isto pode ser feito pela
fórmula:
12
min)(maxmin 10
−
−+= l
b
x
assim,
( ) 637197,0
12
967.288.2
)12(1x 221 =
−
++−=
Vale observar que funç£ es objetivo com múltiplos parâmetros
t© m seus parâmetros representados na mesma cadeia de bit,
com cada um ocupando uma parte da cadeia. A cada
cromossomo si
¡
atribuída um a aptid¢ o fi
. A ptid¢ o
¡
uma nota
Est
  fane Lacerda e Andr
  Carvalho92
que mede qu¢ o boa
¡
a soluç¢ o codificada em si
. É baseada no
valor da funç¢ o objetivo, e ser¤ discutida na próxima seç¢ o.
3.1.2 SELEÇÃO
Um A lgoritmo Gen
¡
tico começa com uma populaç o inicial de
N cromossomos. A populaç¢ o inicial do Problem a 3.1, com
N = 30,
¡
mostrada em um a das colunas da Tabela 3.1
ordenados por ordem decrescente do valor da funç¢ o objetivo,
como tamb
¡
m mostra- se o valor de x codificado no
cromossomo, o valor da funç¢ o objetivo e a aptid¢ o para este
valor. Os cromossomos foram gerados aleatoriamente, porque
neste problema n¢ o existe nenhum conhecimento pr
¡
¨ io sobre
a regi¢ o do espaço de busca onde se encontra a soluç¢ o do
problema. Os pontos da funç¢ o representados pelos
cromossomos da populaç¢ o inicial s¢ o mostrados na Figura
3.2.
x
f(x)=xsen(10πx)+1
-1, 0
-0, 5
0, 0
0, 5
1, 0
1, 5
2, 0
2, 5
3, 0
-1, 0 -0, 5 0, 0 0, 5 1, 0 1, 5 2, 0
Figura 3.2 - Cromossomos da Populaç¢ o Inicial
Inspirado no processo de seleç¢ o natural de seres vivos, o
A lgoritmo Gen
¡
tico seleciona os melhores crom ossomos da
populaç¢ o inicial (aqueles de alta aptid¢ o) para gerar
cromossomos filhos (que s¢ o variantes dos pais) atra¨
¡
s dos
operadores de crossover e mutaç¢ o. Uma populaç o
intermedi ria (tamb
¡
m cham ada de m ating pool)
¡
utiliz ada
para alocar os cromossomos pais selecionados. Geralmente, os
pais s¢ o selecionados com probabilidade proporcional à sua
Capítulo 3 – Introdução aos Algoritmos Gen
  ticos 93
aptid o. Portanto, a probabilidade de seleç¢ o pi
, de um
cromossomo si
com aptid¢ o fi
,
¡
dada por:
∑=
= N
i i
i
i
f
f
p
1
A seleç¢ o pode ser feita pelo seguinte procedim ento pr¤ tico:
calcula- se uma coluna de aptid£ es acumuladas. Em seguida,
gera- se um n mero aleatório r (tirado de uma distribuiç¢ o
uniforme) no intervalo [0, SOMA TOTA L], onde SOMA TOTA L
¡
a
soma de todas as aptid£ es. Por fim, o cromossomo
selecionado
¡
o primeiro (seguindo a tabela de cima para
baixo) que possui aptid¢ o acumulada maior que r. Por
exemplo, se r = 28,131, ent¢ o o cromossomo da linha 23 da
Tabela 3.1
¡
selecionado, e sua cópia
¡
alocada na populaç¢ o
intermedi¤ ria. Os mesmos passos s¢ o repetidos at
¡
preencher
a populaç¢ o intermedi¤ ria com N cromossomos. Este
procedimento, conhecido como Roda da Roleta,
¡
apresentado
pelo A lgoritmo 3.2.
Tabela 3.1 - Populaç¢ o Inicial
Posiçã
o
i
Crom ossom o
si
xi
Funç¦ o
objetivo
f(xi
)
A ptid¦ o
fi
A ptid¦ o
acum ulad
a
∑ =
i
k kf
1
1
1101000000011110110
111
1,43891 2,35251 2,00000 2,00000
2
1100000110100100011
111
1,26925 2,04416 1,93103 3,93103
3
1010111001010110010
000
1,04301 2,01797 1,86207 5,79310
4
1001111000011001000
101
0,85271 1,84962 1,79310 7,58621
5
1001110110111000011
100
0,84829 1,84706 1,72414 9,31035
6
0000110011111010010
110
-
0,84792
1,84610 1,65517 10,96552
Est
  fane Lacerda e Andr
  Carvalho94
7
0011000000100111010
010
-
0,43570
1,39248 1,58621 12,55172
8
0111100101000001101
100
0,42098 1,25777 1,51724 14,06897
9
0100000000110011101
000
-
0,24764
1,24695 1,44828 15,51724
10
0100000010001111011
110
-
0,24343
1,23827 1,37931 16,89655
11
0000100101000000111
010
-
0,89156
1,23364 1,31035 18,20690
12
0001101001100010101
111
-
0,69079
1,19704 1,24138 19,44828
13
1010000110011000011
011
0,89370 1,17582 1,17241 20,62069
14
0110100001011011000
100
0,22292 1,14699 1,10345 21,72414
15
1000100011110001000
011
0,60479 1,09057 1,03448 22,75862
16
1100110011001010001
110
1,39988 0,99483 0,96552 23,72414
17
0100011001000100011
101
-
0,17655
0,88140 0,89655 24,62069
18
0011010011110100101
000
-
0,37943
0,77149 0,82759 25,44828
19
0010001101001100101
100
-
0,58633
0,75592 0,75862 26,20690
20
1101110101101111111
111
1,59497 0,74904 0,68966 26,89655
21
0011011011001101110
110
-
0,35777
0,65283 0,62069 27,51724
22
0010010001001111100
111
-
0,57448
0,58721 0,55172 28,06897
23
1100101110110011111
000
1,38714 0,45474 0,48276 28,55172
24
0010011001100110100
111
-
0,54999
0,45001 0,41379 28,96552
25
1101110010010100100
001
1,58492 0,27710 0,34483 29,31035
26
1100101011000111010
011
1,37631 0,06770 0,27586 29,58621
27 0000010000100100110 - 0,04953 0,20690 29,79310
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 95
001 0,95144
28
1110100001000000010
001
1,72169
-
0,08458
0,13793 29,93103
29
1110101000111100000
000
1,74494
-
0,72289
0,06897 30,00000
30
1111101100000001010
111
1,94147
-
0,87216
0,00000 30,00000
A lgoritmo 3.2: Roda da Roleta
total ← ∑
=
N
i
if
1
/* a som a das aptid es de todos os cromossom os da
populaç¦ o */
rand ← randômico(0, total)
total parcial ← 0
i ← 0
repetir
i ← i+ 1
total parcial ← total parcial + fi
até total parcial ≥ rand
retornar o cromossomo si
V¤ rias alternativas t© m sido propostas para definir a aptid¢ o.
A mais simples iguala a aptid¢ o ao valor da funç¢ o objetivo.
A ssim, a aptid¢ o do cromossomo s1
seria:
586345,11)637197,010sen(637197,01 =+= πf
Vale observar que a aptid¢ o definida desta forma pode
assumir valores negativos e o algoritmo Roda da Roleta n¢ o
funciona com aptid£ es negativas. A l
¡
m disso, pode gerar
tamb
¡
m problemas como converg© ncia prematura (conforme
ser¤ mostrado na Seç¢ o 3.3). É possível, no entanto, dispensar
o A lgoritmo Roda da Roleta e utiliz ar Seleç o por Torneio .
Neste caso, s¢ o escolhidos, aleatoriamente, (com
probabilidades iguais) n cromossomos da populaç¢ o, e o
cromossomo com maior aptid¢ o
¡
selecionado para a
Est
  fane Lacerda e Andr
  Carvalho96
populaç¢ o intermedi¤ ria. O processo repete- se at
¡
preencher a
populaç¢ o intermedi¤ ria. Utiliz a- se, geralmente, o valor n = 3.
Outra forma de definir aptid¢ o
¡
pelo ordenamento do
cromossomo na populaç¢ o, conforme se obteve na Tabela 3.1.
O primeiro cromossomo do ordenamento recebeu uma aptid¢ o
arbitr¤ ria igual a 2,0, e ao  ltimo cromossomo do
ordenamento foi atribuído o valor 0,0. A s demais foram
obtidas interpolando estes dois extremos por uma reta, ou
seja, ( ) ( )12 −−= NiNfi , sendo N o tamanho da populaç¢ o.
3.1.3 CROSSOVER E MUTAÇÃO
Os operadores de crossover e a m utaç¢ o s¢ o os principais
mecanismos de busca dos A Gs para explorar regi£ es
desconhecidas do espaço de busca. O operador cr ossover
¡
aplicado a um par de cromossomos retirados da populaç¢ o
intermedi¤ ria, gerando dois cromossomos filhos. Cada um dos
cromossomos pais tem sua cadeia de bits cortada em uma
posiç¢ o aleatória, produz indo duas cabeças e duas caudas. A s
caudas s¢ o trocadas, gerando dois novos cromossomos. A
Figura 3.3 ilustra o com portamento deste operador.
pai1 (0010101011100000111111)
pai2 (0011111010010010101100)
filho1 (0010101011010010101100)
filho2 (0011111010100000111111)
Figura 3.3 - Crossover
O crossover
¡
aplicado com uma dada probabilidade a cada par
de cromossomos selecionados. Na pr¤ tica, esta probabilidade,
denominada de taxa de crossover, varia entre 60% e 90%. N¢ o
ocorrendo o crossover, os filhos ser¢ o iguais aos pais (isto
permite que algumas soluç£ es sejam preservadas). Isto pode
ser implementado, gerando n meros pseudo- aleatórios no
intervalo [0,1]. A ssim, o crossover só
¡
aplicado se o n mero
gerado for menor que a taxa de crossover.
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 97
A pós a operaç¢ o de crossover, o operador de m utaç¢ o
¡
aplicado, com dada probabilidade, em cada bit dos dois filhos.
O operador de mutaç¢ o inverte os valores de bits, ou seja,
muda o valor de um dado bit de 1 para 0 ou de 0 para 1. A
Figura 3.4 apresenta um exemplo em que dois bits do primeiro
filho e um bit do segundo sofrem mutaç¢ o (bits estes que
passaram no teste de probabilidade). A mutaç¢ o melhora a
diversidade dos cromossomos na populaç¢ o, no entanto por
outro lado, destrói inform aç¢ o contida no crom ossomo, logo,
deve ser utiliz ada uma taxa de mutaç o pequena
(normalmente entre 0,1% a 5%), mas suficiente para assegurar
a diversidade.
filho1 (0010101010010010101100)
filho2 (0011111011100000111111)
filho1
filho2
(0010001010010010111100)
(0011111011000000111111)
Antes
Depois
Figura 3.4 - Mutaç¢ o
A Figura 3.5 ilustra a aplicaç¢ o do operador de cr ossover a
cada par de cromossom os da populaç¢ o intermedi¤ ria e os bits
que sofreram m utaç¢ o na nova populaç¢ o. Os pontos
representados pela primeira geraç¢ o de cromossomos s¢ o
mostrados na Figura 3.6. A inda n¢ o houve melhora
significativa com relaç¢ o à populaç¢ o inicial, ou seja, os
cromossomos ainda est¢ o distantes do m¤ ximo global da
funç¢ o.
Índice
Original
População Intermediária
(Mating pool)
Crossover
e
Mutação
Primeira Geração
(o sublinhado indica mutação)
Ponto
de
Corte
1 1101000000011110110111 1101000000011000011100 12
5 1001110110111000011100 1001110110111110110111 12
12 0001101001100010101111 0001101001100010010110 12
6 0000110011111010010110 0010110011110000101111 12
19 0010001101001100101100 0110001101000100011101 9
17 0100011001000100011101 • 0100011001001100101100 9
15 1000100011110001000011 • 1000100011110001010010 17
7 0011000000100111010010 • 0001000000100111000011 17
Est
  fane Lacerda e Andr
  Carvalho98
10 0100000010001111011110 0100000010001111101100 16
8 0111100101000001101100 0111100101000001011110 16
6 0000110011111010010110 0000110011111010010110 21
18 0011010011110100101000 0011010011110100100000 21
9 0100000000110011101000 0100100000010010101111 13
12 0001101001100010101111 0001101001100011101000 13
17 0100011001000100011101 0100011001000100010010 17
7 0011000000100111010010 0011001000100111011101 17
11 0000100101000000111010 • 0000111001010110010001 3
3 1010111001010110010000 • 1010100101010000011011 3
3 1010111001010110010000 • 1010111001010110010111 19
1 1101000000011110110111 1101000100011110110000 19
15 1000100011110001000011 1000100010011001000101 9
4 1001111000011001000101 1001111001110001000011 9
13 1010000110011000011011 1010000110011000011010 20
6 0000110011111010010110 0100111011111010010110 20
15 1000100011110001000011 1000010000100100110001 3
27 0000010000100100110001 0000100011110001000011 3
8 0111100101000001101100 0110000101000011101100 19
19 0010001101001100101100 1010001101001100101000 19
8 0111100101000001101100 0111100101000100111010 5
11 0000100101000000111010 0000100101000011101100 5
Figura 3.5 - Gerando um a nova populaç¢ o
x
f(x)=xsen(10πx)+1
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
2,5
3,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0
Figura 3.6 - Pontos da primeira geraç¢ o de cromossomos
A pós a definiç¢ o da primeira populaç¢ o, o procedimento se
repete por um dado n m ero de geraç£ es. Quando se conhece a
resposta m¤ xima da funç¢ o objetivo, pode- se utiliz ar este
valor como crit
¡
rio de parada do A lgoritmo Gen
¡
tico. Na
Figura 3.7,
¡
ilustrada a  ltima geraç¢ o, a vig
¡
sima quinta, em
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 99
que boa parte dos crom ossomos representa pontos no pico do
m¤ ximo global. N¢ o h¤ um crit
¡
rio exato para terminar a
execuç¢ o do A G. Por
¡
m, com 95% dos cromossomos
representando o mesmo valor,
¡
possível diz er que o algoritmo
convergiu.
x
f(x)=xsen(10πx)+1
-1,0
-0,5
0,0
0,5
1,0
1,5
2,0
2,5
3,0
-1,0 -0,5 0,0 0,5 1,0 1,5 2,0
Figura 3.7 - Cromossomos da vig
¡
sima quinta geraç¢ o
3.1.4 ELITISMO
A Figura 3.8 ilustra, para cada geraç¢ o, o valor da funç¢ o
objetivo para o melhor cromossomo da populaç¢ o, al
¡
m do
valor m
¡
dio da funç¢ o objetivo de toda a populaç¢ o. Vale
observar que o melhor cromossomo pode ser perdido de uma
geraç¢ o para outra devido ao corte do crossover ou à
ocorr© ncia de mutaç¢ o. Portanto,
¡
interessante transferir o
melhor cromossomo de uma geraç¢ o para outra sem
alteraç£ es (porque perder a melhor soluç¢ o encontrada at
¡
ent¢ o?). Esta estrat
¡
gia
¡
denominada Elitismo, sendo muito
comum nos A Gs tradicionais. O Elitismo foi proposto por
DeJong (1975), um dos trabalhos pioneiros sobre A Gs.
A Figura 3.9 mostra o desempenho do melhor cromossomo em
cada geraç¢ o, usando o A G com e sem Elitismo, com os valores
plotados no gr¤ fico representando a m
¡
dia de 100 execuç£ es
do A G. Claramente
¡
mostrado que, neste problem a, o A G com
elitismo encontra a soluç¢ o mais r¤ pido que o A G sem elitismo
(vale ressaltar que, em algum as execuç£ es, o A G
ocasionalmente encontra m¤ ximos locais, tornando a m
¡
dia
dos melhores cromossomos menor que o m¤ ximo da funç¢ o).
Est
  fane Lacerda e Andr
  Carvalho100
Geração
Funçãoobjetivo
0,5
1,0
1,5
2,0
2,5
3,0
0 5 10 15 20 25
Média
Melhor
Figura 3.8 - O maior valor e o valor m
¡
dio da funç¢ o objetivo
em cada geraç¢ o
Funçãoobjetivo
2,0
2,2
2,4
2,6
2,8
3,0
10
AG com elitismo
AG sem elitismo
0 5 15 20 25
Geração
Figura 3.9 - Desem penho do A G com Elitismo
3.1.5 CROSSOVERS DE N PONTOS E UNIFORME
Os tipos de operadores crossover m ais conhecidos para
cadeias de bits s¢ o o de n pontos e o uniforme. O cr ossover de
1 ponto
¡
o mesmo apresentado na Seç¢ o 3.3. O de 2 pontos
¡
apresentado na Figura 3.10. Os dois pontos de corte s¢ o
escolhidos aleatoriamente, e as seç£ es entre os dois pontos
s¢ o trocadas entre os pais. O crossover de 4 pontos
¡
mostrado
na Figura 3.11. O crossover de n pontos mais usado tem sido o
de 2 pontos por algumas raz £ es mostradas na Seç¢ o 3.7.
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 101
001011000001101
010001110101011
010 011000101011
001001110001101
pai1
pai2
filho1
filho2
Figura 3.10 - Crossover de 2 pontos
0010100100011001100
1010011100101011001
101
010010
0101001
001
001
001110
00110
11
100
pai1
pai2
filho1
fillho2
Figura 3.11 - Crossover de 4 pontos
O crossover uniforme
¡
apresentado na Figura 3.12. Para cada
par de pais
¡
gerada um a m¤ scara de bits aleatórios. Se o
primeiro bit da m¤ scara possui o valor 1, ent¢ o o primeiro bit
do pai1
¡
copiado para o primeiro bit do filho1
. Caso contr¤ rio,
o primeiro bit do pai2
¡
copiado para o primeiro bit do filho1
. O
processo se repete para os bits restantes do filho1
. Na geraç¢ o
do filho2
o procedimento
¡
invertido, ou seja, se o bit da
m¤ scara
¡
1, ent¢ o ser¤ copiado o bit do pai2.
Se o bit for igual
a 0, ent¢ o ser¤ copiado o bit do pai1
. Vale notar que o crossover
uniforme n¢ o
¡
a mesm a coisa que o crossover de (l- 1) pontos
(l
¡
o n mero de bits do cromossomo), uma vez que este
sempre leva a metade dos bits de cada pai.
Est
  fane Lacerda e Andr
  Carvalho102
1 1 0 1 0 1 1 0 1 0
1 1 1 0 1 1 0 1 1 0
1 1 1 0 0 1 0 1 1 0
0 1 1 0 0 0 1 1 0 0
Máscara de bits
pai1
filho1
pai2
Figura 3.12 - Crossover Uniforme
Em Eshelman et al. (1989),
¡
investigada a diferença de
desempenho entre v¤ rios crossovers de n pontos e uniforme. A
conclus¢ o, conforme relatado em Beasley (1993),
¡
que n¢ o h¤
grandes diferenças de desempenho entre eles. A li¤ s, segundo
Grefenstette (1986), o A G
¡
robusto de tal modo que, dentro de
uma faixa relativamente larga de variaç¢ o de parâmetros (e.g.
taxas de crossover e mutaç¢ o, tamanho da populaç¢ o, etc.), n¢ o
ocorre alteraç¢ o significativa no desempenho.
No item a seguir, ser¤ apresentada a relaç¢ o entre A Gs e a
biologia, como tamb
¡
m a explicaç¢ o dos principais termos
utiliz ados na literatura de A Gs.
3.1.6 TERMINOLOGIA
Na biologia, a teoria da evoluç¢ o diz que o meio ambiente
seleciona, em cada geraç¢ o, os seres vivos mais aptos de uma
populaç¢ o para sobreviv© ncia. Como resultado, somente os
mais aptos conseguem se reproduz ir, uma vez que os menos
adaptados geralmente s¢ o eliminados antes de gerarem
descendentes. Durante a reproduç¢ o, ocorrem fenômenos
como mutaç¢ o e crossover (recombinaç¢ o), entre outros, que
atuam sobre o material gen
¡
tico armaz enado nos
cromossomos. Estes fenômenos levam à variabilidade dos
seres vivos na populaç¢ o. Sobre esta populaç¢ o diversificada
age a seleç¢ o natural, permitindo a sobreviv© ncia apenas dos
seres mais adaptados.
Um A lgoritmo Gen
¡
tico
¡
a met¤ fora desses fenômenos, o que
explica porque A Gs possuem m uitos termos originados da
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 103
biologia. A lista apresentada a seguir descreve os principais
termos encontrados na literatura.
• Cromossomo e Genoma: Na biologia, genoma
¡
o
conjunto completo de genes de um organismo. Um
genoma pode ter v¤ rios cromossomos. Nos A Gs, os
dois representam a estrutura de dados que codifica
uma soluç¢ o para um problema, ou seja, um
cromossomo ou genom a representa um simples
ponto no espaço de busca.
• Gene: Na biologia,
¡
a unidade de hereditariedade
que
¡
transmitida pelo cromossomo e que controla
as características do organismo. Nos A Gs,
¡
um
parâmetro codificado no cromossomo, ou seja, um
elemento do vetor que representa o cromossomo.
• Indivíduo: Um simples membro da populaç¢ o. Nos
A Gs, um indivíduo
¡
formado pelo cromossomo e
sua aptid¢ o.
• Genótipo: Na biologia, representa a composiç¢ o
gen
¡
tica contida no Genoma. Nos A Gs, representa a
informaç¢ o contida no cromossomo ou genom a.
• Fenótipo: Nos A lgoritmos Gen
¡
ticos, representa o
objeto, estrutura ou organismo construído a partir
das informaç£ es do genótipo. É o cromossomo
decodificado. Por exemplo, considere que o
cromossomo codifica parâmetros como as
dimens£ es das vigas em um projeto de construç¢ o
de um edifício, ou as conex£ es e pesos de uma Rede
Neural. O fenótipo seria o edifício construído ou a
Rede Neural.
• A lelo: Na biologia, representa um a das formas
alternativas de um gene. Nos A Gs, representa os
valores que o gene pode assumir. Por exemplo, um
gene que representa o parâmetro cor de um objeto
poderia ter o alelo az ul, preto, verde, etc.
• Epistasia: Interaç¢ o entre genes do cromossom o,
isto
¡
, quando um valor de gene influ© ncia o valor de
Est
  fane Lacerda e Andr
  Carvalho104
outro gene. Problemas com alta Epistasia s¢ o de
difíceis soluç¢ o por A Gs.
A seç¢ o seguinte aborda alguns aspectos teóricos de A Gs.
3.1.7 ESQUEMAS
O Teorema dos Esquem as de Holland (1975) procura
fundamentar, teoricamente, o comportamento dos A Gs. Sua
compreens¢ o pode auxiliar na construç¢ o de aplicaç£ es
eficientes de A Gs. Holland constatou que os A Gs manipulam
determinados segmentos da cadeia de bits. Tais segmentos
foram por ele denominados de esquemas. Um
¡
formado pelos
símbolos 0, 1 e *. A ocorr© ncia do símbolo * em uma posiç¢ o
no esquema significa que esta posiç¢ o pode ser ocupada pelo
símbolo 1 ou 0. A Figura 3.13 mostra alguns exemplos.
H1 H3H2
**10*
11001
11011
10101
*0*011****
X
X
X
X X
Comprimento δ(H1) = 0
Comprimento δ(H2) = 1
Comprimento δ(H3) = 3
Ordem O(H1) = 1
Ordem O(H2) = 2
Ordem O(H3) = 3
Figura 3.13 – Esquemas
Conforme mostrado na Figura 3.13, os esquem as H1
= 1****,
H2
= **10* e H3
= *0*01 est¢ o contidos no mesmo cromossomo
10101, que ao todo pode ter 25
= 32 esquemas. Os
cromossomos 11001,11011 e 10101 possuem o esquema
1****. O comprimento de um esquema δ(H)
¡
a diferença entre
a  ltima posiç¢ o que
¡
ocupada por 1 ou 0 e a primeira
posiç¢ o que
¡
ocupada por 1 e 0. A ordem O(H) de um
esquema
¡
o n mero de símbolos 1 e 0 que o esquema cont
¡
m.
Para prever a variaç¢ o do n mero de esquemas H entre duas
geraç£ es consecutivas, considere m o n mero de
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 105
cromossomos da populaç¢ o atual que cont
¡
m o esquema H.
Considere b a m
¡
dia das aptid£ es de toda populaç¢ o e a a
m
¡
dia das aptid£ es dos cromossomos que cont
¡
m o esquema
H. A ssim, o n mero esperado de cópias m′ do esquema H na
populaç¢ o intermedi¤ ria (utiliz ando seleç¢ o proporcional à
aptid¢ o)
¡
dado por:
m
b
a
m =′
Pela equaç¢ o, conclui- se que o n mero de esquemas H
aumentar¤ na populaç¢ o intermedi¤ ria se a b, ou seja, se o
esquema H estiver contido em cromossomos de aptid¢ o acima
da aptid¢ o m
¡
dia da populaç¢ o (bons cromossomos). No
entanto, ao passar para a próxima populaç¢ o, o esquema H
pode ser destruído pelos operadores de crossover e de
mutaç¢ o. Por exemplo:
Esquema contido em pai1
(01*|**10)
Esquema contido em pai2
(***|*101)
Esquema contido em filho1
(01*|*101)
O esquema do pai2
(que tem pequeno comprim ento) foi
transmitido ao filho1
, m as o esquema do pai1
(que tem m aior
comprimento) foi destruído pelo crossover. Por
¡
m, mesmo
considerando estes fatores, o Teorema dos Esquemas afirma
que:
Pequenos esquem as contidos em bons crom ossom os (i.e. aqueles
com aptid acim a da m  dia) aum entam exponencialm ente nas
gerações seguinte, ao passo que esquem as contidos em
crom ossom os ruins (i.e. aqueles com a aptid o abaixo da m  dia)
tendem a desaparecer nas gerações seguintes (Goldberg, 1989).
Os bons esquemas de pequeno tamanho recebem o nome
especial de blocos de construç o . A informaç¢ o contida em
um bloco de construç¢ o
¡
combinada com as inform aç£ es de
outros blocos de construç¢ o. No decorrer das geraç£ es, esta
combinaç¢ o produz cromossomos de alta aptid¢ o. Esta
Est
  fane Lacerda e Andr
  Carvalho106
afirmaç¢ o
¡
conhecida como a Hipótese dos Blocos de
Construç o .
Os problemas que n¢ o obedecem à Hipótese dos Blocos de
Construç¢ o s¢ o conhecidos como A G- Deceptivos. Por
exemplo, pode ocorrer que, combinando dois ótimos blocos de
construç¢ o, resulte em um cromossomo ruim, ocorrendo isto
com genes que t© m alta Epistasia (ver Seç¢ o 3.1.6). Funç£ es
com esta propriedade tendem a ter um ponto ótimo isolado
cercado por pontos extremamente ruins. Feliz m ente, tais
funç£ es s¢ o raras na pr¤ tica. E, al
¡
m disso, s¢ o funç£ es difíceis
para qualquer t
¡
cnica de otimiz aç¢ o.
Holland tamb
¡
m notou que apesar do A G m anipular N
cromossomos, a quantidade de esquemas manipulados
¡
muito maior (na ordem de O(N 3
) esquem as). Tal propriedade
foi denominada de Paralelismo Implícito. Ou seja, o A G
manipula uma grande quantidade de informaç£ es em paralelo
com apenas N cromossom os.
Os bons blocos de construç¢ o, quando incorporados em um
cromossomo, melhoram sua aptid¢ o. Portanto,
¡
importante
estruturar a codificaç¢ o dos cromossomos de modo a
estimular a formaç¢ o de blocos de construç¢ o.
Sob a luz dos esquemas,
¡
possível analisar os diversos tipos
de crossovers. Por exem plo, o esquema 1******0 ser¤
fatalmente destruído pelo crossover de 1 ponto, seja onde for
o ponto de corte. O mesmo problema n¢ o ocorre no crossover
de 2 pontos, por
¡
m, o aumento excessivo de pontos de corte
normalmente n¢ o leva a bons resultados, um a vez que destrói
com facilidade os blocos de construç¢ o.
É interessante notar que o cromossomo pode ser interpretado
como um anel formado pela uni¢ o de suas extremidades, como
ilustra a Figura 3.14. Observando o anel, nota- se que o
crossover de 1 ponto
¡
um caso particular do de 2 pontos
quando um dos pontos de corte
¡
fixo sobre a junç¢ o do anel.
Portanto, o crossover de 2 pontos desempenha tamb
¡
m a
funç¢ o do de 1 ponto. Este
¡
um dos motivos pelo qual o
crossover de 2 pontos
¡
considerado melhor do que o
crossover de 1 ponto (Beasley, 1993b; Davis, 1991).
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 107
2º corte
1º corte
Inicio de pai1
0
0
1
0 0 0
1
1
0
0
1
01
1
1
Figura 3.14 - Crossover de 2 pontos visto como um anel
O crossover de n pontos tende a manter juntos os genes que
s¢ o codificados próxim os um do outro. Existe um operador
denominado Invers o (Holland, 1975) que busca o
ordenamento ideal dos genes no cromossomo. Dois pontos
aleatórios s¢ o escolhidos no cromossomo e os genes entre eles
s¢ o invertidos. Vale frisar que a invers¢ o n¢ o
¡
um tipo de
mutaç¢ o brutal. Na verdade n¢ o ocorre mutaç¢ o. A cada gene
¡
associado um n mero para identificar quem
¡
quem depois da
troca de posiç¢ o. Este operador, no entanto, tem sido
raramente utiliz ado na pr¤ tica.
Considerando agora o efeito destrutivo dos blocos de
construç¢ o causada pelo crossover uniforme, Syswerda (1989)
argumenta que tal destruiç¢ o
¡
compensada pelo fato de ele
poder combinar qualquer material dos cromossomos pais,
independentemente da ordem dos genes.
3.2 REPRESENTAÇÃO REAL
3.2.1 REPRESENTAÇÃO BINÁRIA × REAL
Para ilustrar esta seç¢ o, considere o Problema 3.2 que
¡
maximiz ar uma funç¢ o (conhecida na literatura de A G como
funç¢ o F6 (Davis, 1991)) com dois parâmetros x e y. Na Figura
3.15
¡
mostrado a representaç¢ o bin¤ ria do cromossomo e sua
decomposiç¢ o nos dois parâmetros x e y.
Est
  fane Lacerda e Andr
  Carvalho108
Problema
3.2
Maximiz
ar
( )( )222
2
22
001,00,1
5,0sen
5,0),(
yx
yx
yxf
++
−




 +
−=
Sujeito a –100 ≤ x ≤ 100
–100 ≤ y ≤ 100
Decodificação de Cromossomo em dois parâmetros
s1 = 01101001001001101000001000111000100001110010
Passo 1: Divisão da cadeia de bits s1 em duas cadeias de 22 bits:
0110100100100110100000 e 1000111000100001110010
Passo 2: Conversão da base 2 para a base 10:
1722784 e 2328690.
Passo 3: Mapear estes resultados para o intervalo [-100, 100]:
-17,851100+(-100)]-[100
12
1722784
221 =
−
=x
11,041100+(-100)]-[100
12
2328690
221 =
−
=y
Figura 3.15 - Decodificaç¢ o do cromossomo em dois
parâmetros (x,y)
A representaç¢ o bin¤ ria
¡
historicamente importante, uma vez
que foi utiliz ado nos trabalhos pioneiros de Holland (1975). É
a representaç¢ o tradicional, sendo f¤ cil de utiliz ar e
manipular, como tamb
¡
m
¡
simples de analisar teoricamente.
Contudo, se um problem a tem parâmetros contínuos e o
usu¤ rio quer trabalhar com boa precis¢ o numerica, ele
precisar¤ armaz enar cromossomos longos na m emória.
Pois, para cada ponto decimal acrescentado na precis¢ o,
¡
necess¤ rio adicionar 3,3 bits na cadeia. Caso 8 casas decimais
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 109
sejam necess¤ rias, 8×3,3 ≈ 27 bits ser¢ o utiliz ados para cada
parâmetro. Quando h¤ m uito parâmetros, obt
¡
m- se longas
cadeias de bits que podem faz er o algoritmo convergir
vagarosamente. A l
¡
m disso, n¢ o existe uniformidade nos
operadores. Por exemplo, mutaç¢ o nos primeiros bits do gene
afeta mais a aptid¢ o que m utaç¢ o nos  ltimos bits do gene.
A representaç¢ o real (i.e. com ponto flutuante) gera
cromossomos menores e
¡
compreendida mais naturalmente
pelo ser humano do que a cadeia de bits. No Problem a 3.2, o
cromossomo seria representado por um vetor de dois n meros
com ponto flutuante. Por exemplo (- 17,851; 11,041). Outra
vantagem da representaç¢ o real
¡
a facilidade de criar novos
operadores. Existe grande n mero deles conforme mostrado
na próxima seç¢ o.
V¤ rios pesquisadores t© m discutido qual a melhor
representaç¢ o, a bin¤ ria ou a real, e muitos deles t© m
mostrado experimentos favor¤ veis à representaç¢ o real
(Michalewicz , 1994; Haupt e Haupt, 1998).
3.2.2 CROSSOVERS PARA REPRESENTA! O REAL
A seguir ser¤ apresentada uma lista de operadores para
representaç¢ o real. Considere a seguinte notaç¢ o utiliz ada
nesta seç¢ o. Os cromossomos pais ser¢ o representados por:
p1
= (p11
, p12
,..., p1l
)
p2
= (p21
, p22
,..., p2l
)
e o cromossomo filho por
c = (c1
, c2
,..., cl
).
onde pij
∈ℜ e ci
∈ℜ. Quando h¤ mais de um filho, cada filho i
ser¤ representado por ci
= (ci1
, ci2
,..., cil
).
Os genes podem ter variados tipos de restriç£ es, mas por
simplicidade, considere que o gene ci
do filho c est¤ restrito ao
intervalo [ai
,bi
]. Se o gene ci
n¢ o satisfaz a esta restriç¢ o ent¢ o
o filho c
¡
denominado de infactível. Ser¤ utiliz ado a notaç¢ o
U(x,y) para representar um a distribuiç¢ o uniforme no intervalo
Est
  fane Lacerda e Andr
  Carvalho110
[x,y] e a notaç¢ o N (µ,σ) para representar uma distribuiç¢ o
normal com m
¡
dia µ e desvio padr¢ o σ.
Operadores Convencionais
Os operadores convencionais s¢ o resultados das
adaptaç£ es dos operadores utiliz ados para
representaç¢ o bin¤ ria. Os operadores convencionais
(crossover de n pontos e uniforme) funcionam bem na
representaç¢ o bin¤ ria, m as na representaç¢ o real eles
basicamente trocam valores dos genes e, portanto, n¢ o
criam informaç£ es novas (i.e., novos n meros reais).
Melhor ent¢ o
¡
usar operadores aritm
¡
ticos.
Operadores Aritméticos
Os operadores aritm
¡
ticos realiz am algum tipo de
combinaç¢ o linear entre os cromossomos pais.
Crossover média (Davis, 1991): dado dois cromossomos
p1
e p2
,
¡
produz ido um cromossomo c da seguinte
forma:
2)( 21 ppc +=
Um variaç¢ o deste crossover
¡
o:
Crossover média geométrica, onde cada gene ci
do filho
c
¡
dado por:
iii ppc 21= para i= 1...l
O crossover m
¡
dia tende a levar os genes para o meio
do intervalo permitido [ai
,bi
] causando perda de
diversidade. Isto pode ser melhorado com o crossover
BLX- α .
Crossover BLX- α ou crossover mistura (do ingl© s
blend crossover) (Eshelm an e Shaffer, 1993): dado dois
cromossomos p1
e p2
,
¡
produz ido um cromossomo c
da seguinte forma:
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 111
)( 121 pppc −+= β
onde β ∈U(- α,1+ α).
O BLX- α
¡
ilustrado na Figura 3.16 na qual foi escolhido
um  nico valor de β para todos os pares de genes.
Quando α = 0 o filho situam- se sobre o intervalo I entre
os dois pontos que representam os pais. O parâmetro α
extende o intervalo I. Por exemplo, se α = 0,5, o
intervalo I
¡
extendido α I em am bos os lados. O BLX-
0,5 balanceia a tend© ncia de gerar filhos próxim os ao
centro do intervalo I evitando a perda de diversidade.
Este tend© ncia ainda pode ser reduz ida com a mutaç¢ o
limite mostrada mais tarde. O BLX- α tem sido usado
com sucesso em m uitos trabalho e
¡
talvez o operador o
mais utiliz ado para representaç¢ o real.
Exemplo: Considere dois possíveis cromossomos
para o Problema 2.1:
p1
= (30,173; 85,342)
p2
= (75,989; 10,162)
A plicando o BLX- 0,5 com β = 1,262 (onde β ∈U(- 0,5;
1,5)), tem- se:
c1
= 30,173 + 1,262(75,989- 30,173) = 87,993
c2
= 85,342 + 1,262(10,162- 85,342) = - 9,535
assim o filho
¡
dado por:
c = (87,993; - 9,535)
Se o filho c for infactível, ent¢ o gerar- se outro filho com
novo β . O processo
¡
repetido at
¡
obter um filho
factível.
Note que neste exemplo, foi utiliz ado apenas um β para
todos os genes. A lternativamente, pode- se usar um β
diferente para cada par de gene. Neste caso, um
Est
  fane Lacerda e Andr
  Carvalho112
possível filho situa- se em algum lugar de um a ¤ rea
limitada por um retângulo (ver Figura 3.17). Nestes
m
¡
todos, os genes podem ser com binados de v¤ rias
maneiras. Por exemplo, combinar todos os genes ou
escolher (como no crossover de 1 ponto) um gene
aleatório k e combinar somente o genes i≥k, ou seja:
p1
= (p11
, p12
,..., p1k
, p1,k+ 1,
..., p1l
)
p2
= (p21
, p22
,..., p2k
, p2, k+ 1
,...,p2i
)
c = (p11,
p12
,...ck
, ck+ 1,
...,cl
)
Uma alternativa para o crossover BLX- α
¡
o:
Crossover linear (Wright, 1991): dados dois pais p1
e p2
obt
¡
m- se tr© s filhos c1
, c2
e c3
da seguinte form a:
211 5,05,0 ppc +=
212 5,05,1 ppc −=
213 5,15,0 ppc +−=
Desses tr© s filhos, apenas o melhor
¡
escolhido, os
outros dois s¢ o descartados.
possível filho
pai
Parâmetro2
Parâmetro 1
I
αI
αI
Figura 3.16 - Crossover BLX- α
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 113
Parâmetro 1
Parâmetro2
possível filho
pai
Figura 3.17 - Crossover BLX- α com β v¤ riavel
Outro estudo que vale m encionar
¡
o de Michalewicz
(1994), que inventou v¤ rios operadores para
representaç¢ o real. A com binaç¢ o destes operadores no
mesmo A G apresentou melhor desempenho que o A G
bin¤ rio tradicional. Ele usou: crossover aritm
¡
tico,
crossover heurístico, crossover sim ples, mutaç¢ o
uniforme, mutaç¢ o limite, mutaç¢ o n¢ o uniform e e a
mutaç¢ o n¢ o- uniforme m ltipla. A seguir ser¢ o
apresentados os crossovers, e na próxima seç¢ o, as
mutaç£ es.
Crossover aritm# tico (Michalewicz , 1994): dado dois
cromossomos p1
e p2
,
¡
produz ido dois cromossomos
c1
e c2
da seguinte forma
211 )1( ppc ββ −+=
212 )1( ppc ββ +−=
onde β ∈U(0,1). Este operador difere do crossover BLX-
α. por n¢ o extrapolar o intervalo entre p1
e p2
Crossover heurístico (Michalewicz , 1994): realiz a uma
extrapolaç¢ o linear entre os pais usando a informaç¢ o
da aptid¢ o.
Dado dois cromossomos p1
e p2
em que p1
¡
melhor do
que p2
em termos de aptid¢ o. Ent¢ o
¡
produz ido um
cromossomos c da seguinte forma
Est
  fane Lacerda e Andr
  Carvalho114
)()(onde),( 21211 pppppc ffr −+=
onde r ∈ U(0,1). Caso o crossover produz a um filho
infactível, gera- se outro n mero aleatório r, e obt
¡
m- se
novo filho. Se em t tentativas o filho continuar
infactível, ent¢ o o crossover p¤ ra sem produz ir filhos.
Crossover simples (Michalewicz , 1994):
¡
uma variaç¢ o
do crossover convencional de 1 ponto adaptado para
representaç¢ o real.
Outros Operadores
É possivel encontrar na literatura operadores gen
¡
ticos
combinados com t
¡
cnicas mais complicadas, como por
exemplo operadores que levam em consideraç¢ o a
direç¢ o aproximada do gradiente (Gen e Cheng, 1997)
ou operadores como o crossover quadr¤ tico (A dewuya,
1996) que usa tr© s pais para faz er um ajuste de curvas
quadr¤ tico com base no valor da aptid¢ o.
3.2.3 MUTA! O PARA REPRESENTA! O REAL
Mutaç o uniforme :
¡
a simples substituiç¢ o de um gene por
um n mero aleatório.
Ou seja, dado um cromossomo p com o j-
¡
simo gene
selecionado para mutaç¢ o,
¡
produz ido um cromossomo c da
seguinte forma


 =
=
contráriocaso
se),,(
i
ii
i
p
jibaU
c
onde ai
e bi
representam os limites do intervalo permitido para
o gene ci
Mutaç o gaussiana :
¡
a substituiç¢ o de um gene por um
n mero aleatório de um a distribuiç¢ o normal.
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 115
Ou seja, dado um cromossomo p com o j-
¡
simo gene
selecionado para mutaç¢ o,
¡
produz ido um cromossomo c da
seguinte forma:


 =
=
contráriocaso
se),,(
i
i
i
p
jipN
c
σ
onde N (pi
,σ)
¡
uma distribuiç¢ o normal com m
¡
dia pi
e desvio
padr¢ o σ. A lternativamente, pode- se diminuir o valor de σ, à
medida que aumenta a n mero de geraç£ es.
Mutaç o creep: adiciona ao gene um pequeno n mero
aleatório obtido de uma distribuiç¢ o normal (com m
¡
dia z ero
e desvio padr¢ o pequeno) ou de uma distribuiç¢ o uniforme.
A lternativamente, a mutaç¢ o creep pode ser realiz ada,
multiplicando o gene por um n mero aleatório próximo de
um. O n mero aleatório deve ser pequeno o suficiente para
que cause apenas pequena perturbaç¢ o no cromossomo,
porque estando perto do ponto m¤ ximo, tal perturbaç¢ o pode
mo¨ © - lo rapidamente ao topo. A taxa de mutaç¢ o creep pode
ser relativamente alta, visto que ele
¡
usada apenas para
explorar localmente o espaço de busca (a mutaç¢ o creep n¢ o
¡
muito destrutiva).
Mutaç o limite (Michalewicz , 1994):
¡
a substituiç¢ o do gene
por um dos limites do intervalo permitido [ai
,bi
].
Ou seja, dado um cromossomo p com o j-
¡
sim o gene
selecionado para mutaç¢ o,
¡
produz ido um cromossomo c da
seguinte forma:





=≥
=
=
contráriocaso
e5,0se
e5,0se
i
i
i
i
p
jirb
jira
c
onde r ∈ U(0,1). Note que este operador leva os genes para os
limites dos intervalos permitidos [ai
,bi
]. Isto
¡
feito para evitar
a perda de diversidade dos filhos gerados pelo crossover
aritm
¡
tico que tende a traz er os genes para o centro dos
intervalos permitidos.
Est
  fane Lacerda e Andr
  Carvalho116
Mutaç o n o- uniforme (Michalewicz , 1994):
¡
a simples
substituiç¢ o de um gene por um n mero extraído de uma
distribuiç¢ o n¢ o- uniforme.
Ou seja, dado um cromossomo p com o j-
¡
simo gene
selecionado para mutaç¢ o,
¡
produz ido um cromossomo c da
seguinte forma:





=≥−−
=−+
=
contráriocaso
e5,0se)()(
e5,0se)()(
1
1
i
iii
iii
i
p
jirGfapp
jirGfpbp
c
b
G
G
rGf














−=
max
2 1)(
Onde r1
e r2
∈ U(0,1), G
¡
o n mero da geraç¢ o corrente, Gmax
¡
o n mero m¤ ximo de geraç£ es e b
¡
um parâmetro do sistema
que determina a forma da funç¢ o (o autor usou b= 6).
Mutaç o n o- uniforme múltipla (Michalewicz , 1994):
¡
a
simples aplicaç¢ o do operador m utaç¢ o n¢ o- uniforme em
todos os genes do cromossomo p.
3.2.4 USANDO VÁRIOS OPERADORES
Uma soluç¢ o para trabalhar com v¤ rios operadores
¡
pondera-
los para indicar quantos filhos cada operador produz ir¤ .. Por
exemplo, considere que h¤ dois operadores crossovers e um
operador de mutaç¢ o e a necessidade de gerar 10 filhos para a
próxima geraç¢ o. Considere tamb
¡
m que foram atribuidos
para os tr© s operadores os pesos w1
= 40%, w2
= 40% e w3
=
20%, respectivamente. Ent¢ o, o primeiro crossover produz iria
4 filhos, o segundo crossover 4 filhos, e a mutaç¢ o 2 filhos
(note que aqui a mutaç¢ o
¡
um operador independente que
produz seus próprios filhos).
Em geral, os pesos perm anecem constante por todas as
geraç£ es. A lternativamente, dependendo do operador e do
problema, pode- se variar os pesos em cada geraç¢ o para
melhorar o desempenho do algoritmo (Davis, 1991).
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 117
3.3 ALGORITMOS GENÉTICOS E OTIMIZA$% O
CONVENCIONAL
Em geral, um problema otimiz aç¢ o, conforme m encionado
anteriormente, consiste em achar a soluç¢ o que corresponda
ao ponto de m¤ ximo ou mínimo de uma funç¢ o f(x,y,z,u,...) de
n parâmetros, x,y,z,u,... Um problema de maxim iz aç¢ o de uma
funç¢ o num
¡
rica pode ser transformado em um problema de
minimiz aç¢ o, e vice - versa. Por exemplo, achar o valor de x que
maximiz a a funç¢ o f(x) = 1- x2
no intervalo - 1 ≤ x ≤ 1
¡
o
mesmo que minimiz ar a funç¢ o f(x) m ultiplicada por –1, ou
seja,
¡
o mesmo que minimiz ar g(x) = - f(x) = x2
- 1. A ssim, para
simplificar a exposiç¢ o deste tópico, ser¢ o considerados a
seguir apenas problemas de minimiz aç¢ o (salvo quando
mencionado o contr¤ rio).
O gr¤ fico mostrado na Figura 3.18 apresenta dois pontos de
mínimo em x0
e x1
. O ponto x0
¡
denominado de mínimo local,
pois f(x0
) ≤ f(x) para todo x suficientemente próximo de x0
. O
ponto x1
¡
conhecido como mínimo global, pois f(x1
) ≤ f(x)
para todos os valores que x possa assumir. Um a funç¢ o que
apresenta apenas um ponto de mínimo/m¤ ximo
¡
denominada
de funç o unimodal . Quando uma funç¢ o possui mais de um
ponto de mínimo/m¤ ximo, ela
¡
denominada de funç o
multimodal. Mais adiante ser¤ mostrado que, em funç£ es
multimodais complicadas, muitas t
¡
cnicas de otimiz aç¢ o
possuem dificuldades para decidir se um dado ponto ótimo
¡
local ou global.
x1x0
Minimo global
Minimo local
Figura 3.18 - Mínim o Local e Global
Est
  fane Lacerda e Andr
  Carvalho118
Os parâmetros da funç¢ o objetivo podem ser restritos ou
irrestritos. A s restriç£ es nos parâmetros restritos podem
aparecer na forma de equaç£ es, como por exem plo:
Minim iz a
r
),( yxf
Sujeito a 522
=+ yx
ou na forma de inequaç£ es:
Minim iz a
r
),( yxf
Sujeito a 52 22
≤+ yx
Quando os parâmetros s¢ o irrestritos, eles podem assumir
qualquer valor. Por exem plo:
Minim iz a
r
)(xf
Sujeito a n
ℜ∈x
V¤ rios m
¡
todos de otim iz aç¢ o trabalham melhor com
parâmetros irrestritos. Em muitos casos,
¡
possível converter
um parâmetro restrito em um parâmetro irrestrito. Por
exemplo, considere minimiz ar f(x) sujeita à restriç¢ o
Min ≤ x ≤ Max. O parâmetro restrito x pode ser convertido no
parâmetro irrestrito u faz endo x = M in+ (M ax- Min)sen2
(u) e
minimiz ando f para qualquer valor de u. Quando a funç¢ o
objetivo e as restriç£ es s¢ o funç£ es lineares dos parâmetros, o
problema de otimiz aç¢ o
¡
conhecido como problem a de
Programaç o Linear . Quando a funç¢ o objetivo ou as
restriç£ es s¢ o funç£ es n¢ o lineares dos parâmetros, o
problema
¡
conhecido como problema de Programaç o N o-
Linear.
Os parâmetros da funç¢ o objetivo podem ser contínuos ou
discretos. Otimiz aç¢ o com parâmetros contínuos tem um
n mero infinito de soluç£ es. Otimiz aç¢ o de parâmetros
discretos, em geral, tem somente um n mero finito de
possíveis soluç£ es, resultante de uma certa com binaç¢ o dos
parâmetros. Um exemplo
¡
a decis¢ o sobre a melhor ordem
com que um conjunto de aç£ es ou tarefas devem ser
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 119
realiz adas. Este tipo de otimiz aç¢ o
¡
conhecido como
Otimizaç o Combinatória .
Visando situar A lgoritmos Gen
¡
ticos no contexto de
otimiz aç¢ o em geral, considerem - se alguns das principais
classes de m
¡
todos de otimiz aç¢ o:
Gerar- e- Testar: O algoritmo Gerar- e- testar (tamb
¡
m
conhecido como m
¡
todo da busca exaustiva ou aleatória)
¡
uma abordagem da força bruta. Emprega dois módulos: o
módulo de geraç¢ o, que enumera possíveis soluç£ es
sistematicamente ou aleatoriamente, e o módulo de teste, que
avalia cada possível soluç¢ o, podendo aceitar ou rejeit¤ - la. O
módulo gerador pode produz ir todas as possíveis soluç£ es
antes do módulo de teste começar a agir. O mais comum
¡
o
uso intercalado destes dois módulos. O m
¡
todo pode encerrar
sua execuç¢ o quando uma soluç¢ o satisfatória for encontrada,
depois de encontrar um n mero de soluç£ es satisfatórias ou
continuar at
¡
que todas as possíveis soluç£ es sejam achadas.
M# todos A nalíticos: Os m
¡
todos analíticos utiliz am
t
¡
cnicas do C¤ lculo Diferencial para determinar os pontos
extremos de uma funç¢ o e apresentam v¤ rias desvantagens:
n¢ o informam se o ponto encontrado
¡
um ponto de mínimo
local ou global; requerem funç£ es com derivadas e, al
¡
m disso,
quando existe grande n mero de parâmetros torna- se difícil
encontrar, analiticamente, todos os pontos de mínimo e
m¤ ximo. Isto torna estes m
¡
todos impratic¤ veis para otimiz ar
diversos problemas do mundo real.
Subida de Encosta: Os m
¡
todos de Subida de Encosta
(hill clim bing) investigam os pontos adjacentes do espaço de
busca e movem - se na direç¢ o que melhora o valor da funç¢ o
objetivo. Pode ser observado, portanto, que para funç£ es com
muitos ótimos locais, um m
¡
todo de Subida de Encosta ter¤
dificuldades em localiz ar qual “encosta” leva ao ótimo global.
M
¡
todos de Subida de Encosta tamb
¡
m t© m dificuldades
quando existem planícies ou platôs na superfície de busca.
Contudo, m
¡
todos de Subida de Encosta s¢ o geralmente
r¤ pidos. Um grande n mero de t
¡
cnicas importantes de
otimiz aç¢ o segue os princípios da Subida de Encosta. Um
exemplo
¡
o m
¡
todo do gradiente.
Est
  fane Lacerda e Andr
  Carvalho120
Os A lgoritmos Gen
¡
ticos t© m sido empregados em problemas
complicados de otimiz aç¢ o, em que, muitas vez es, os m
¡
todos
acima falham. A lgumas vantagens dos A Gs s¢ o:
• Funcionam tanto com parâmetros contínuos como
discretos ou um a combinaç¢ o deles.
• Realiz am buscas simultâneas em v¤ rias regi£ es do
espaço de busca, pois trabalham com uma
populaç¢ o e n¢ o com um  nico ponto.
• Utiliz am informaç£ es de custo ou recompensa e n¢ o
derivadas ou outro conhecimento auxiliar.
• N¢ o
¡
necess¤ rio conhecimento matem¤ tico
aprofundado do problema considerado.
• Otimiz am um n mero grande de vari¤ veis.
• Otimiz am parâmetros de funç£ es objetivos com
superfícies complexas e complicadas, reduz indo a
incid© ncia de mínimos locais.
• A daptam - se bem a com putadores paralelos.
• Trabalham com uma codificaç¢ o do conjunto de
parâmetros e n¢ o com os próprios parâmetros.
• Fornecem uma lista de parâmetros ótimos e n¢ o
uma simples soluç¢ o.
• Trabalham com dados gerados experimentalmente e
s¢ o tolerantes a ruídos e dados incompletos.
• S¢ o f¤ ceis de serem implementados em
computadores.
• S¢ o modulares e port¤ teis, no sentido que o
mecanismo de evoluç¢ o
¡
separado da representaç¢ o
particular do problema considerado. A ssim, eles
podem ser transferidos de um problema para outro.
• S¢ o flexíveis para trabalhar com restriç£ es
arbitr¤ rias e otimiz ar m ltiplas funç£ es com
objetivos conflitantes.
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 121
• S¢ o tamb
¡
m facilmente hibridiz ados com outras
t
¡
cnicas e heurísticas.
A pesar dessas vantagens, os A Gs n¢ o s¢ o eficientes para
muitos problemas. S¢ o bastante lentos e n¢ o raro ainda est¢ o
avaliando a populaç¢ o inicial enquanto muitos m
¡
todos de
Subida de Encosta j¤ t© m encontrado a soluç¢ o. O principal
campo de aplicaç¢ o dos A G
¡
em problemas complexos, com
m ltiplos mínimos/m¤ ximos e para os quais n¢ o existe um
algoritmo de otimiz aç¢ o eficiente conhecido para resol¨ © - los.
A seguir, ser¢ o comparados aspectos do mecanismo de busca
dos A G´ s com os m
¡
todos convencionais.
Os m
¡
todos Gerar- e- Testar possuem a característica de
explorar pontos inteiram ente novos do espaço de busca. Os
m
¡
todos de Subida de Encosta, por outro lado, caracteriz am-
se por utiliz ar a inform aç¢ o oriunda de pontos anteriormente
visitados para encontrar os melhores. Um algoritmo de
otimiz aç¢ o eficiente deve usar estas duas t
¡
cnicas
(denominadas de Exploration e Exploitation, respectivamente)
para encontrar o ótimo global da funç¢ o objetivo (Beasley et al,
1993a). A mbas as t
¡
cnicas t© m a mesma traduç¢ o para o
portugu© s, exploraç¢ o. Entretanto, Exploitation significa
exploraç¢ o no sentido de tirar de informaç£ es presentes nas
soluç£ es encontradas e Exploration diz respeito à exploraç¢ o
no sentido de visitar pontos desconhecidos no espaço de
busca à procura por novas soluç£ es.
O crossover e a mutaç¢ o s¢ o dois mecanismos de busca dos
A Gs que levam à exploraç¢ o de pontos inteiram ente novos do
espaço de busca ( exploration). Enquanto a seleç¢ o dirige a
busca em direç¢ o aos melhores pontos do espaço de busca
(exploitation), a press o da seleç o , dada pela raz ¢ o entre
aptid¢ o m¤ xima da populaç¢ o e a aptid¢ o m
¡
dia, influencia a
quantidade de Exploitation e Exploration. Quando a press¢ o de
seleç¢ o
¡
muito baixa (i.e., a aptid¢ o
¡
praticamente a mesma
para toda a populaç¢ o), o A G assume um comportamento
aleatório, pois n¢ o h¤ seleç¢ o. Isto torna o A G semelhante à
busca aleatória dos m
¡
todos Gerar- e- Testar (m uito
exploration). Quando a press¢ o de seleç¢ o
¡
muito alta, o A G
assume o comportamento dos m
¡
todos de Subida de Encosta
Est
  fane Lacerda e Andr
  Carvalho122
(muito exploitation). Na pr¤ tica,
¡
difícil conhecer qual a
press¢ o de seleç¢ o que fornece o equilíbrio ideal.
O crossover
¡
o principal mecanismo de busca do A G. Ele
¡
capaz de combinar as boas porç£ es dos cromossomos pais,
isto
¡
, os bons blocos de construç¢ o. Como resultado,
cromossomos filhos com aptid£ es mais elevadas que as dos
pais podem ser produz idos. A mutaç¢ o tamb
¡
m desempenha
importante papel no A lgoritmo Gen
¡
tico, um a vez que permite
que qualquer ponto do espaço de busca seja alcançado. A fase
de seleç¢ o descarta os cromossomos com baixa aptid¢ o e com
eles muitos genes tamb
¡
m s¢ o eliminados. Na aus© ncia de
mutaç¢ o, genes presentes apenas nos cromossomos
descartados n¢ o ser¢ o m ais recuperados, pois o crossover n¢ o
gera novos genes, apenas com bina os que j¤ existem.
O desaparecimento de determinados genes da populaç¢ o no
decorrer das geraç£ es (fenômeno denominado na biologia de
Genetic drift) impossibilita um A lgoritmo Gen
¡
tico de explorar
completamente o espaço de busca. Como resultado, o A G pode
convergir para um mínimo ou m¤ ximo local. Este problema
¡
conhecido como Convergência Prematura, que tem como um a
de suas principais causas o Genetic drift. Com taxas adequadas
de mutaç¢ o,
¡
possível m anter uma boa diversidade de genes
da populaç¢ o a fim de contrabalançar estas perdas de genes.
A l
¡
m dos A lgoritmos Gen
¡
ticos, existem outros m
¡
todos de
otimiz aç¢ o global (i.e. m
¡
todos que levam ao ótimo global),
sendo a maioria deles recentes. Os m
¡
todos antigos de
otimiz aç¢ o s¢ o quase todos m
¡
todos de Subida de Encosta.
A lguns exemplos s¢ o Recoz imento Simulado, Busca Tabu e
Branch and Bound combinado com outras t
¡
cnicas (e.g. A n¤ lise
Intervalar) (Stolfi e Figueiredo, 1997).
3.4 ASPECTOS AVAN$ ADOS
Neste item, ser¢ o comentados alguns aspectos pr¤ ticos de
A lgoritmos Gen
¡
ticos considerados importantes pelos autores.
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 123
3.4.1 POPULA! O INICIAL
A populaç¢ o inicial pode ser gerada de v¤ rias m aneiras. Se
uma populaç¢ o inicial pequena for gerada aleatoriamente,
provavelmente, algumas regi£ es do espaço de busca n¢ o ser¢ o
representadas.
Este problema pode ser minimiz ado gerando a populaç¢ o
inicial de maneira uniforme (i.e. com pontos igualmente
espaçados, como se preenchessem uma grade no espaço de
busca). Outra alternativa
¡
gerar a primeira metade da
populaç¢ o aleatoriamente e a segunda metade a partir da
primeira, invertendo os bits. Isto garante que cada posiç¢ o da
cadeia de bits tenha um representante na populaç¢ o com os
valores 0 e 1, como pode ser visto na Tabela 3.2.
Tabela 3.2 - Geraç¢ o da populaç¢ o inicial
1a
metade gerada
aleatoriamente
2a
metade inverte os
bits da 1a
metade
1011010 0100101
0111011 1000100
0001101 1110010
1100110 0011001
Pode ser interessante usar uma populaç¢ o inicial maior que a
utiliz ada nas geraç£ es subsequentes, visando a melhorar a
representaç¢ o do espaço de busca.
Uma t
¡
cnica denomina “seeding” pode ser  til em muitos
problemas pr¤ ticos. Consiste em colocar, na populaç¢ o inicial,
soluç£ es encontradas por outros m
¡
todos de otimiz aç¢ o. Isto
garante que a soluç¢ o gerada pelo A G n¢ o seja pior que as
soluç£ es geradas por estes m
¡
todos.
3.4.2 FUN! O OBJETIVO
A funç¢ o objetivo em alguns problemas pode ser bastante
complicada, demandando um alto custo computacional. Por
exemplo, existem problemas em que, para avaliar um
Est
  fane Lacerda e Andr
  Carvalho124
cromossomo,
¡
necess¤ ria uma simulaç¢ o completa do
processo, o que pode chegar a consumir horas. Haupt e Haupt
(1998) sugerem, para lidar com tais funç£ es objetivo, algum as
dicas que prop£ em cuidados a serem tomados para n¢ o avaliar
cromossomos id© nticos mais de um a vez , reutiliz ando deste
modo a avaliaç¢ o feita anteriormente.
Isto pode feito de v¤ rias maneiras: 1. evitando gerar
cromossomos id© nticos na populaç¢ o inicial; 2. verificando se
foi aplicado crossover ou mutaç¢ o nos pais, pois, caso n¢ o
tenham sido aplicados, os filhos ser¢ o iguais ao pais; 3.
observando se o filho
¡
igual a um dos pais; 4. mantendo a
populaç¢ o com todos os cromossomos distintos entre si, o que
tamb
¡
m ajuda na manutenç¢ o da diversidade (no A G do tipo
Steady State isto
¡
feito evitando inserç¢ o de cromossom os
duplicatas na populaç¢ o); 5. antes de avaliar um filho,
verificando se j¤ existe um cromossomo igual a este filho na
populaç¢ o. Em situaç£ es mais extremas, dever- se- ¢ o
armaz enar todos os cromossomos das geraç£ es atual e
passada, verificando se algum deles
¡
igual ao novo filho
gerado. É claro que tais abordagens tam b
¡
m incorporam um
custo computacional extra ao A G. Deve- se analisar se este
custo extra compensa o tempo economiz ado na avaliaç¢ o da
funç¢ o objetivo.
Uma outra abordagem
¡
procurar uma maneira de simplificar a
funç¢ o objetivo. A vers¢ o simplificada da funç¢ o objetivo seria
utiliz ada nas geraç£ es iniciais para acelerar a busca por
regi£ es promissoras do espaço de busca. Nas geraç£ es finais, a
vers¢ o original da funç¢ o objetivo seria utiliz ada para
melhorar a precis¢ o da soluç¢ o.
Outro m
¡
todo
¡
usar o A G para localiz ar a encosta do m¤ ximo
global, e posteriormente, substituir o A G por um M
¡
todo de
Subida de Encosta que rapidamente encontre a soluç¢ o (os A G
s¢ o bons para localiz ar, veloz mente, regi£ es promissoras do
espaço de busca, por
¡
m depois s¢ o lentos para refinar as
soluç£ es).
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 125
3.4.3 CRITÉRIOS DE PARADA
A lguns dos v¤ rios crit
¡
rios de parada para os A Gs, s¢ o: 1.
quando o A G atingir um dado n mero de geraç£ es (ou
avaliaç£ es); 2. chegada ao valor ótimo da funç¢ o objetivo, se
este
¡
conhecido; 3. converg© ncia, isto
¡
, quando n¢ o ocorrer
melhoramento significativo no cromossomo de maior aptid¢ o
por um dado n mero de geraç£ es.
Outras alternativas s¢ o tamb
¡
m usadas, por exemplo:
considere que um gene converge se 90% da populaç¢ o tem o
mesmo valor para este gene. Se entre 90% e 95% dos genes
convergiram, o A G convergiu.
3.4.4 SUBSTITUI ÕES GERACIONAL E STEADY- STATE
Existem dois tipos b¤ sicos de substituiç¢ o de cromossomos:
substituiç¢ o geracional e substituiç¢ o steady- state.
Na substituiç¢ o geracional (utiliz ada na Seç¢ o 3.1), toda a
populaç¢ o
¡
substituída em cada geraç¢ o, ou seja, s¢ o criados
N filhos para substituir N pais. A lternativamente, podem ser
criados N filhos, e os N m elhores indivíduos da uni¢ o de pais e
filhos substituem a populaç¢ o atual. Na substituiç¢ o
geracional com elitismo, os k melhores pais nunca s¢ o
substituídos por filhos piores. Geralmente
¡
utiliz ado um valor
de k = 1. A umentando o valor de k, aum enta- se o risco da
converg© ncia prematura.
Na substituiç¢ o steady- state, s¢ o criados apenas dois (ou um)
filhos em cada “geraç¢ o”, que substituem os dois piores
cromossomos da populaç¢ o. A lternativamente, os dois filhos
podem substituir os pais ou os dois cromossomos mais velhos
da populaç¢ o, baseado na suposiç¢ o de que o cromossomo
existente na populaç¢ o h¤ muitas geraç£ es, j¤ transmitiu seus
genes à populaç¢ o. Na forma geral da substituiç¢ o
steady- state, s¢ o criados n filhos que substituem os n piores
pais. Em geral, a taxa de crossover
¡
maior ( 1≈ ) no A G
steady- state do que no A G geracional.
Esta abordagem agressiva utiliz a os filhos para crossover t¢ o
logo eles sejam gerados (n¢ o h¤ populaç¢ o intermedi¤ ria), e
Est
  fane Lacerda e Andr
  Carvalho126
tendo apresentado bons resultados (Davis, 1991). Por
¡
m, gera
um custo computacional extra, por exemplo, para cada filho
criado
¡
necess¤ rio recalcular estatísticas, a aptid¢ o m
¡
dia,
reordenar a populaç¢ o, etc. Contudo, em muitos problemas
pr¤ ticos, este custo extra n¢ o
¡
significativo, pois o custo
computacional est¤ quase todo concentrado no c¤ lculo da
aptid¢ o. Nesta t
¡
cnica,
¡
interessante evitar inserir filhos
duplicados na populaç¢ o, pois a mesma gera, naturalmente,
um grande n mero de filhos duplicados (Davis, 1991).
3.4.5 PROBLEMAS DE CONVERGÊNCIA
A converg© ncia prematura
¡
um conhecido problema dos A Gs.
Ocorre quando surgem cromossomos de alta aptid¢ o (mas n¢ o
com aptid¢ o ótima), e os cromossomos realmente ótimos
ainda n¢ o est¢ o presentes na populaç¢ o. Tais cromossomos
(chamados de superindivíduos) geram um n mero excessivo
de filhos que dominam a populaç¢ o, uma vez que a mesma
¡
finita. Estes cromossom os espalham seus genes por toda a
populaç¢ o, enquanto outros genes desaparecem (tal
desaparecimento de genes
¡
denominado de genetic drift).
Como conseqü© ncia, o algoritmo converge para um m¤ ximo ou
mínimo local, conforme a Figura 3.19 ilustra este processo.
Combate- se a converg© ncia prematura, limitando o n mero de
filhos por cromossomos. Esta limitaç¢ o pode ser realiz ada
atra¨
¡
s do escalonamento da aptid¢ o, ordenam ento e outras
t
¡
cnicas a serem descritas mais adiante.
Manter a diversidade dos cromossomos na populaç¢ o tamb
¡
m
combate a converg© ncia prem atura, visto que
¡
tam b
¡
m
causada pela perda de diversidade. O aumento da taxa de
mutaç¢ o tamb
¡
m melhora a diversidade (mais genes s¢ o
criados). Evitar a inserç¢ o de filhos duplicados na populaç¢ o
¡
uma outra alternativa para melhorar a diversidade.
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 127
Figura 3.19 - Converg' ncia prematura
Um outro problema que pode ocorrer quando A Gs s¢ o
utiliz ados
¡
explicado pelo seguinte exemplo. Considere
substituir a funç¢ o objetivo utiliz ada no Problema 3.2 pela
nova funç¢ o objetivo (3.8). Tal substituiç¢ o torna o valor da
funç¢ o objetivo praticamente o mesmo para toda a populaç¢ o,
como na Tabela 3.3.
( )( )222
2
22
001,01
5,0sen
2000),(
yx
yx
yxf
++
−



 +
−=
Tabela 3.3 - Intervalo estreito de aptid¢ o
Crom ossom
o
Funç¦ o
objetivo
Probabilidade
de seleç¦ o
A 2.000,999588 20,004%
B 2.000,826877 20,002%
C 2.000,655533 20,001%
D 2.000,400148 19,998%
E 2.000,102002 19,995%
Neste caso, deixar a aptid¢ o igual à funç¢ o objetivo torna a
seleç¢ o um processo aleatório (qualquer cromossomo tem a
mesma probabilidade de seleç¢ o), ocorrendo problema
semelhante ocorre nas geraç£ es finais do algoritmo, mas por
outro motivo. Grande parte da populaç¢ o convergiu e os
cromossomos t© m aptid£ es praticamente iguais. A seleç¢ o
Est
  fane Lacerda e Andr
  Carvalho128
torna- se tamb
¡
m aleatória. O algoritmo tem dificuldade de
melhorar a soluç¢ o e converge lentamente. Este problema
¡
resolvido expandindo o intervalo da funç¢ o objetivo atra¨
¡
s de
ordenamento ou outra form a de mapeamento.
3.4.6 MAPEAMENTO DA FUN! O OBJETIVO
O valor da funç¢ o objetivo nem sempre
¡
adequado para ser
utiliz ado como valor de aptid¢ o. Por exemplo, a funç¢ o
objetivo pode assumir valores negativos (a roda da roleta n¢ o
funciona), valores muitos próximos (torna a seleç¢ o aleatória),
alguns valores podem ser muito elevados em relaç¢ o ao resto
da populaç¢ o (causa a converg© ncia prematura), etc. O
mapeamento da funç¢ o objetivo para o valor da aptid¢ o pode
ser feito de v¤ rios modos, alguns dos quais ser¢ o discutidos a
seguir.
Ordenamento
No m
¡
todo ordenamento linear, a aptid¢ o
¡
dada por
(Baker, 1987; Whitle, 1989):
1
)(
−
−
−+=
N
iN
MinMaxMinfi
em que i
¡
o índice do cromossomo na populaç¢ o em
ordem decrescente de valor da funç¢ o objetivo.
Normalmente
¡
utiliz ado 1 ≤ Max ≤ 2 e M ax+ Min = 2.
Vale notar que deste modo a aptid¢ o representa o
n mero de filhos esperados do cromossomo e Max- Min
representa a press¢ o de seleç¢ o (raz ¢ o entre a maior
aptid¢ o e a aptid¢ o m
¡
dia, ff /max ). Um exemplo
¡
mostrado na Tabela 3.4, que expande o intervalo dos
valores da funç¢ o objetivo que est¢ o muitos próximos
(resolvendo assim o problema mostrado na Tabela 3.3).
Tabela 3.4 - Ordenamento linear
Crom ossom
o
Funç¦ o
objetivo
Posiç¦
o
A ptid¦
o
Probabilidade
de seleç¦ o
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 129
A
2.000,99958
8
1 2,0 40%
B
2.000,82687
7
2 1,5 30%
C
2.000,65553
3
3 1,0 20%
D
2.000,40014
8
4 0,5 10%
E
2.000,10200
2
5 0,0 0%
A Figura 3.20 mostra o controle da press¢ o de seleç¢ o
utiliz ando ordenamento linear. Na Figura 3.20(a), a alta
press¢ o de seleç¢ o favorece fortemente os melhores
cromossomos, direcionando a busca às melhores
soluç£ es encontradas at
¡
ent¢ o (muito exploitation). Na
Figura 3.20(b), a baixa press¢ o de seleç¢ o favorece um
pouco mais os cromossomos de baixa aptid¢ o,
direcionando a busca para regi£ es desconhecidas do
espaço de busca (muito exploration).
alta pressão
de seleção
21 N3
min
max
posição
aptidão
21 N3
min
max
baixa pressão
de seleção
aptidão
posição
(a) (b)
Figura 3.20 - Posiç¢ o do cromossomo × press¢ o da
seleç¢ o
No m
¡
todo ordenamento exponencial, a aptid¢ o
¡
dada por (Michalewicz , 1994):
1
)1( −
−= i
i qqf
Est
  fane Lacerda e Andr
  Carvalho130
em que q ∈ [0, 1] e i
¡
o índice do cromossomo na
populaç¢ o em ordem decrescente de valor da funç¢ o
objetivo. A lternativamente, a aptid¢ o pode ser
normaliz ada dividindo a Eq.(4.3) pelo fator 1- (1- q)N
. O
ordenamento exponencial permite maior press¢ o de
seleç¢ o do que o ordenamento linear.
Escalonamento Linear
No m
¡
todo escalonamento linear, a aptid¢ o
¡
obtida
pela equaç¢ o:
bagf +=
em que g
¡
o valor da funç¢ o objetivo (ver Figura 3.21).
Os coeficientes a e b s¢ o determinados, limitando o
n mero esperado de filhos dos cromossomos (filhos em
excesso causam perda de diversidade). O escalonamento
linear de Goldberg (1989) transforma as aptid£ es de tal
modo que a aptid¢ o m
¡
dia torna- se igual ao valor
m
¡
dio da funç¢ o objetivo (i.e. gf = ), e a aptid¢ o m¤ xima
igual a C vez es a aptid¢ o m
¡
dia (i.e. gCf =max ).
Tipicamente, o valor de C est¤ entre 1,2 e 2,0. Quando o
escalonamento gera aptid£ es negativas, os coeficientes
a e b s¢ o calculados de outro modo (impondo 0min =f ).
Os resultados s¢ o resum idos na A lgoritmo 3.3 (o teste
)1()( maxmin −− CggCg , verificando se ocorre aptid¢ o
negativa).
fmax
f
gmin
g gmax
fmin
Figura 3.21 - Gr¤ fico de escalonamento da aptid¢ o
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 131
A lgoritmo 3.3: C¤ lculo dos coeficientes a e b do
escalonamento linear.
∑
=
=
N
i
ig
N
g
1
1
Elaborar equaç¦ o
se )1()( maxmin −− CggCg ent( o /* testa se ocorre aptid¦ o negativa
*/
gg −←∆ max
∆−← gCa )1(
∆−← )( max gCggb
sen( o
mingg −=∆
∆← ga
∆−= minggb
fim se
retorne a e b
3.4.7 SELE! O POR TORNEIO
Na seleç¢ o por torneio, cada cromossomo
¡
selecionado para a
populaç¢ o intermedi¤ ria do seguinte modo: s¢ o escolhidos
aleatoriamente (com probabilidades iguais) n cromossomos da
populaç¢ o e o melhor dentre estes cromossomos
¡
selecionado. O valor n = 2
¡
usual. A seleç¢ o por torneio n¢ o
precisa de escalonamento da aptid¢ o e nem de ordenamento.
Em uma outra vers¢ o, a seleç¢ o por torneio utiliz a
probabilidades diferenciadas. Se o torneio envolve dois
cromossomos, o primeiro ganha o torneio com probabilidade q
(onde 0,5  q  1); e o segundo, com probabilidade 1 - q. Para
um torneio entre n crom ossomos, o primeiro cromossomo
ganha o torneio com probabilidade q, o segundo com
probabilidade q(1- q); o terceiro, com q(1 - q)2
, e assim por
diante... (vale notar que se n = N , em que N
¡
o tamanho da
populaç¢ o, tal seleç¢ o
¡
equivalente à seleç¢ o com
ordenamento exponencial).
A umentando o n mero n de cromossomos do torneio ou a
probabilidade q do primeiro cromossomo vencer, aumenta- se
Est
  fane Lacerda e Andr
  Carvalho132
a press¢ o de seleç¢ o, isto
¡
, cromossomos com aptid¢ o acima
da m
¡
dia ter¢ o mais chances de serem selecionados.
3.4.8 AMOSTRAGEM ESTOCÁSTICA UNIVERSAL
O algoritmo Roda da Roleta possui o problema de apresentar
uma grande variância em relaç¢ o ao n mero esperado de
filhos dos cromossomos pais. A A mostragem Universal
Estoc stica ou SUS (do ingl© s, Stochastic Universal Sam pling)
(Baker, 1987) soluciona este problema de maneira simples e
t¢ o perfeita quanto possível.
Neste m
¡
todo, a populaç¢ o
¡
em baralhada e um gr¤ fico do
tipo “torta”
¡
construído com uma fatia associada a cada
cromossomo da populaç¢ o. A ¤ rea das fatias
¡
proporcional à
aptid¢ o do cromossomo que ela representa. Em volta da parte
externa da “torta” s¢ o colocados N ponteiros igualmente
espaçados. Por fim, o cromossomo apontado por cada
ponteiro
¡
selecionado para crossover e mutaç¢ o (ver Figura
3.22). Na pr¤ tica, os cromossomo selecionados podem ser
alocados em uma populaç¢ o intermedi¤ ria e ent¢ o a cada dois
cromossomos
¡
aplicado o crossover
a a b c d
Pais selecionadose
a
d
b
c
Figura 3.22 - A mostragem Universal Estoc¤ stica
3.4.9 OTIMIZA! O MULTIOBJETIVO
Muitos problemas do m undo real envolvem a otimiz aç¢ o de
mais de uma funç¢ o objetivo. Uma abordagem simples para
tratar de um conjunto de funç£ es objetivo f1
, f2
,..., fn
,
¡
formar
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 133
uma nova funç¢ o objetivo F, obtida da soma ponderada das
funç£ es objetivo, ou seja:
∑
=
=
n
i
ii fwF
1
em que wi
¡
um peso (que pode ser usado pelo usu¤ rio para
dar mais relevância a uma funç¢ o do que às outras). A
minimiz aç¢ o de F minimiz a todas as funç£ es fi
. No entanto, as
funç£ es objetivo podem ser conflitantes, no sentido de que
otimiz ar uma funç¢ o degrada a otimiz aç¢ o da outra funç¢ o
(e.g. minimiz ar custos de um produto e maximiz ar sua
qualidade tem, em geral, objetivos conflitantes).
Uma melhor abordagem seria usar o conceito de Pareto- ótimo
(Fonseca e Fleming, 1995, 1997) (devido a Vilfredo Pareto, um
dos primeiros a usar tal conceito). Este conceito introduz a
id
¡
ia de dominaç o e n o dominaç o . Uma soluç¢ o x1
¡
dita
n¢ o dominada por uma soluç¢ o x2
, quando ela, em todas as
funç£ es,
¡
no mínimo t¢ o boa quanto a soluç¢ o x2
, e em pelo
menos em uma das funç£ es, x1
¡
melhor que x2
, ou seja:
( )()(: 21 xx ii ffi ≥∀ ) E ( )()(: 21 xx jj ffj ∃ )
A meta do A G
¡
encontrar o conjunto Pareto- ótimo (tamb
¡
m
denominado de fronteira Pareto- ótimo ), que
¡
o conjunto de
todas as soluç£ es n¢ o- dominadas do espaço de busca. Seja S o
espaço de busca, o conjunto Pareto- ótimo P
¡
dado por:
}pordominadoé:|{ jiji SSP xxxx ∈∃/∈=
Exemplo: Considere um problema com duas funç£ es
objetivo, f1
(x) e f2
(x), em que todas as soluç£ es possíveis
s¢ o mostradas na Tabela 3.5. O conjunto Pareto- ótimo
¡
dado pela soluç£ es {2,4,8}, uma vez que a soluç¢ o x= 10
¡
dominada por x= 8, e x= 12
¡
dominado por x= 4.
Est
  fane Lacerda e Andr
  Carvalho134
Tabela 3.5 - Duas funç£ es objetivo
x f1
(x) f2
(x)
2 80 30
4 20 100
8 30 50
10 30 40
12 20 80
Vale notar que o A G retornar¤ ao usu¤ rio um conjunto de
soluç£ es ótimas ao in¨
¡
s de uma  nica soluç¢ o. A aptid¢ o
pode ser calculada utiliz ando ordenamento com base na n¢ o-
dominaç¢ o de indivíduos, conforme sugerido pelo seguinte
procedimento: atribui- se a posiç¢ o 1 a todos os indivíduos
n¢ o dominados da populaç¢ o. Em seguida, tais indivíduos de
posiç¢ o 1 s¢ o removidos, temporariamente, da populaç¢ o. Na
que restou, atribui- se a posiç¢ o 2 aos indivíduos n¢ o
dominados. Em seguida, retira- se temporariam ente os
indivíduos de posiç¢ o 2 da populaç¢ o. Na restante, repete- se o
procedimento, atribuindo a posiç¢ o 3 aos indivíduos n¢ o
dominados, e assim por diante at
¡
tornar- se vaz ia.
A otimiz aç¢ o com o Pareto- ótimo tem sido usado com nichos,
visando a estabiliz ar o grande n mero de subpopulaç£ es que
surgem no conjunto Pareto- ótimo (Horn e Nafpliotis, 1992).
3.4.10 RESTRI ÕES
V¤ rios problemas de otimiz aç¢ o do mundo real cont© m
restriç£ es. Em geral, um problema de otimiz aç¢ o restrita pode
ser declarado como segue:
Minim iz e f(x)
Sujeito a g1(x) ≤0
g2(x) ≤0
...
gm (x) ≤0
x∈ℜn
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 135
Uma abordagem para lidar com restriç£ es em A G
¡
simplesmente atribuir aptid¢ o z ero aos cromossomos
infactíveis (i.e. aqueles que n¢ o satisfaz em as restriç£ es).
Por
¡
m, os cromossomos infactiveis próximos das regi£ es
factíveis podem conter informaç£ es importantes para gerar
filhos factíveis. Portanto, ao in¨
¡
s de z erar a aptid¢ o de tais
cromossomos, pode- se apenas penaliz ar a aptid¢ o. Para isto,
usa- se uma funç¢ o de p© nalti )(xjΦ , que define o qu¢ o a
soluç¢ o x viola a restriç¢ o j. (i.e. o qu¢ o distante o
cromossomo infactível est¤ da regi¢ o factível).
A s funç£ es de p© nalti podem ser definidas como segue:
quando a restriç¢ o j
¡
uma inequaç¢ o, a funç¢ o de p© nalti
¡
dada por:
))(,0max()( xx jj g=Φ
Quando a restriç¢ o j
¡
uma equaç¢ o, a funç¢ o de p© nalti
¡
dada por:
)()( xx jj g=Φ
A gora o problema de otimiz aç¢ o mencionado acima torna- se
irrestrito com a soma da antiga funç¢ o objetivo com o termo
de p© nalti, isto
¡
:
Minim iz e )()()(
1
2
∑ =
Φ+=
m
j jrfh xxx
Sujeito a x∈ℜn
onde r
¡
a constante de p© nalti (serve para controlar o
tamanho da penalidade).
Uma outra abordagem
¡
faz er de cada restriç¢ o uma funç¢ o
objetivo diferente e resolver o problema como um problema
de otimiz aç¢ o multiobjetivo (Camponogara e Talukdar, 1997).
Mais detalhes sobre restriç£ es ver (Michalewicz , 1997a, 1997b).
3.4.11 AS FUN ÕES DE TESTE DE DEJONG
Existem muitas variaç£ es de A Gs, cada uma delas
¡
mais
indicada para um determinado tipo de problem a. Para permitir
Est
  fane Lacerda e Andr
  Carvalho136
comparaç£ es entre os v¤ rios A Gs,
¡
importante test¤ - los sob o
mesmo conjunto de funç£ es. A literatura de A Gs
¡
repleta
destas funç£ es.
DeJong (1975), na sua tese de doutorado, propôs e utiliz ou um
conjunto de funç£ es para testar v¤ rios A Gs. Tal conjunto foi
empregado por muitos pesquisadores e ainda hoje,
freqüentemente, utiliz ado na literatura para testes e
comparaç£ es. O conjunto
¡
formado por 5 funç£ es simples
com v¤ rios tipos de superfícies: contínua/descontínua,
convexa/n¢ o- convexa, unimodal/multimodal,
determinística/estoc¤ stica e de baixa/alta dimensionalidade. A
Tabela 3.6 apresenta as 5 funç£ es propostas.
Tabela 3.6 - Funç£ es de teste de DeJong
Nome Funç¢ o Limites Características
F1 ∑
=
3
1
2
i
ix -5,12 ≤ xi ≤ 5,12
Unim odal e
quadr¥ tica.
Com mínim o
em f(0,0,0) = 0
F2 ( ) ( )2
1
2
2
2
1 1100 xxx −+− -2,048 ≤ xi ≤ 2,048
Unim odal. É a
funç¦ o cl¥ ssica
de Rosenbrock
em duas
dim ens es.
Com minim o
em
f(1,1) = 0
F3 ∑
=
5
1
)inteiro(
i
ix -5,12 ≤ xi ≤ 5,12
Descontinua
Minim o em
f(0,0,0,0,0) = 0
F4 ∑
=
+
30
1
4
0,1)gaussiana(
i
iix -1,28≤ xi ≤ 1,28
A lta
dim ensionalida
de, estoc¥ stica
Com minim o
em
f(0,...,0) = 0
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 137
F5
( )
∑
∑=
=
−+
+
25
1
2
1
6
1
002,0
j
i
iji axj
-65,536 ≤ xi ≤ 65,536
Extremam ente
m ultim odal,
com picos
agudos.
Todas estas funç£ es representam problemas de minimiz aç¢ o.
Na funç¢ o F3, a funç¢ o inteiro( x) arredonda o valor de x para o
inteiro mais próximo. Na funç¢ o F4, a funç¢ o gaussiana (0,1)
gera um n mero aleatório obtido de uma distribuiç¢ o normal
com m
¡
dia z ero e desvio padr¢ o 1. Na funç¢ o F5, os
coeficientes aij
s¢ o constantes determinadas pelo usu¤ rio
(sugest¢ o: usar todos aij
= 10).
3.5 PROBLEMA DO CAIXEIRO VIAJANTE
O objetivo deste item
¡
mostrar como aplicar A Gs em
problemas de naturez a diferente daqueles anteriormente
descritos (otimiz aç¢ o de funç£ es n mericas). Por exemplo,
problemas que dependem da ordem com que aç£ es ou tarefas
s¢ o executadas. Tais problemas t© m sido exaustivamente
estudados na literatura de A Gs e t© m levado a proposta de
v¤ rios operadores gen
¡
ticos específicos. Para ilustrar seu uso,
estes operadores s¢ o aplicados a um problema conhecido de
otimiz aç¢ o combinatória: o problema do caixeiro viajante
(PCV).
Este problema
¡
NP- Difícil, o que significa que os algoritmos
conhecidos para encontrar sua soluç¢ o exata s¢ o intrat¤ veis
pelo computador (i.e. requerem uma quantidade de tempo
computacional que aumenta exponencialmente com o
tamanho do problema). Problemas NP- Difícil t© m sido
resolvidos com algoritmos heurísticos (por exem plo,
A lgoritmos Gen
¡
ticos) que n¢ o garantem achar a soluç¢ o
exata, mas que reduz em o tempo de processam ento.
O PCV
¡
descrito como segue. Existe uma lista de cidades que
um vendedor precisa visitar, devendo faz er a visita em cada
uma  nica vez . Cada par de cidades
¡
ligado por um a estrada.
Est
  fane Lacerda e Andr
  Carvalho138
O objetivo deste problema
¡
encontrar o caminho mais curto
que o vendedor deve seguir, começando em um a cidade e
terminando na mesma (tal cidade pode ser qualquer uma da
lista).
A alternativa mais simples para encontrar o caminho mais
curto seria a realiz aç¢ o de um a busca exaustiva, isto
¡
, a
verificaç¢ o de todos os caminhos possíveis. Esta alternativa
funciona quando existem poucas cidades, no entanto, com o
aumento do n mero de cidades, esta abordagem torna- se
proibitiva.
Para N cidades, o n mero total de caminhos possíveis
¡
igual a
(N - 1)!. O tempo para checar cada caminho
¡
proporcional a N .
Como resultado, o tempo total de busca
¡
proporcional a
N x(N - 1)!= N !. Para uma lista de apenas 30 cidades, a busca
exaustiva implica na verificaç¢ o de 30! caminhos (que
¡
um
n mero de magnitude astronômica), tornando a busca
impratic¤ vel.
A funç¢ o objetivo natural para este problema
¡
o comprimento
total do caminho (que começa em uma cidade e retorna a
mesma), que
¡
dado por:
( ) ( )∑=
++ −+−=
N
i
iiii yyxxyxf
1
2
1
2
1),(
Uma maneira de resolver o PCV via A Gs
¡
representar cada
cromossomo por uma lista de cidades.
Por exemplo, considere as cidades representadas pelas letras
A ,B,..., G na Figura 3.18, com um possível caminho a ser
seguido pelo vendedor:
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 139
A
C
E
G
B
D
F
Figura 3.18 - Uma possível rota de viagem para o vendedor do
PCV
Tal caminho seria representado por um cromossomo como:
Crom ossom o
=
A B C D F E G
Vale notar que faz endo perm utaç£ es na lista de cidades,
podem- se obter diferentes caminhos que s¢ o soluç£ es
potenciais para o PCV. T© m sido propostos v¤ rios operadores
gen
¡
ticos para realiz ar estas permutaç£ es. Na seç¢ o, a seguir,
s¢ o relacionados alguns destes operadores.
3.5.1 OPERADORES GENÉTICOS PARA PERMUTA ÕES
Uma perm utaç¢ o de m elementos
¡
uma seqü© ncia de m
elementos em que nenhum elemento
¡
repetido. Por exemplo,
(A,B,C) e (C,A ,B) s¢ o exemplos de duas permutaç£ es dos
elementos A,B e C. Um grande n mero de problemas de
otimiz aç¢ o combinatória pode ter suas soluç£ es representados
por permutaç£ es, entre os quais o PCV e problemas de
agendamento. Existem v¤ rios operadores gen
¡
ticos que
realiz am perm utaç£ es (Goldberg, 1989) (Syswerda, 1991),
sendo alguns deles descritos a seguir.
Considere um cromossomo como uma lista de elementos, por
exemplo:
Est
  fane Lacerda e Andr
  Carvalho140
Crom ossom o : A B C D F E G
Os operadores de mutaç¢ o para permutaç£ es s¢ o
relativamente simples. Na mutaç¢ o baseada na posiç¢ o, dois
elementos do cromossomo s¢ o escolhidos, aleatoriamente, e o
segundo
¡
colocado antes do primeiro. Na mutaç¢ o baseada na
ordem, dois elementos do cromossomo s¢ o escolhidos
aleatoriamente, e suas posiç£ es s¢ o trocadas. A m utaç¢ o por
embaralhamento começa escolhendo aleatoriam ente dois
cortes no cromossomo. Depois os elementos na sublista entre
os cortes s¢ o embaralhados, por exemplo:
Cromossomo : A B C D F E G
A pós a mutaç¢ o : A B F C D E G
Existem v¤ rios operadores de crossover para permutaç¢ o.
A lguns deles (Goldberg, 1989) (Syswerda, 1991) s¢ o
apresentados a seguir:
• OBX (O rder- Based Crossover);
• PBX (Position- Based Crossover);
• PMX (Partially Matched Crossover);
• CX (Cycle Crossover);
• OX (O rder Crossover).
Crossover OBX
O crossover OBX começa selecionando um conjunto de
posiç£ es aleatoriamente (cada posiç¢ o tem uma
probabilidade igual a 0,5 de ser selecionada). Depois,
¡
imposto aos elementos de pai1
, nas posiç£ es
selecionadas, o mesmo ordenamento que estes mesmos
elementos apresentam em pai2
. Em seguida, o novo
ordenamento nas posiç£ es selecionadas de pai1
¡
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 141
copiado para filho1
. Os elementos nas posiç£ es n¢ o
selecionadas de pai1
s¢ o copiados sem alteraç£ es para
filho1
. O cromossomo filho2
¡
obtido atra¨
¡
s de um
processo similar, por exemplo:
Pai1
: A B C D F E G
Pai2
: C E G A D F B
* * *
Filho1
: A D C F B E G
Filho2
: C A G D E F B
Crossover PBX
O crossover PBX tamb
¡
m começa selecionando um
conjunto de posiç£ es aleatórias. Por
¡
m, ao in¨
¡
s de
impor a ordem, imp£ e a posiç¢ o. É imposto, nas
posiç£ es selecionadas, que filho1
tenha os mesm os
elementos de pai2
. Os dem ais elementos de filho1
prov© m de pai1
mantendo o mesmo ordenamento
presente em pai1
(j¤ que manter um elemento em mais
de uma posiç¢ o n¢ o
¡
possível). Filho2
¡
obtido atrav
¡
s
de processo similar. Por exemplo:
Pai1
: A B C D F E G
Pai2
: C E G A D F B
* * *
Filho1
: B E C A D F G
Filho2
: C B E D F G A
Crossover PMX
O crossover PMX inicia com dois pontos de corte
escolhidos aleatoriamente, que definem uma sublista.
Em seguida, este operador realiz a trocas no sentido de
pai1
para pai2
e depois no sentido inverso, isto
¡
, de pai2
para pai1
, para evitar cromossomos inv¤ lidos. O
Est
  fane Lacerda e Andr
  Carvalho142
exemplo seguinte ilustra este procedimento. Considere
os seguintes pais e os dois cortes:
Pai1
: A B C D F E G
Pai2
: C E G A D F B
A primeira troca ocorre no início da sublista, no sentido
de pai1
para pai2
: C de pai1
¡
trocado com G de pai2
.
Como esta troca gera elementos duplicados, ent¢ o ao
mesmo tempo C de pai2
¡
trocado com G de pai1
.
Pai1
: A B G D F E C
Pai2
: G E C A D F B
Um procedimento similar ocorre na segunda posiç¢ o da
sublista: D de pai1
¡
trocado com A de pai2
.
Simultaneamente D de pai2
¡
trocado com A de pai1
.
Pai1
: D B G A F E C
Pai2
: G E C D A F B
Seguindo o mesmo processo, F de pai1
¡
trocado com A
de pai2
. Simultaneamente A de pai2
¡
trocado com F de
pai1
. O resultado final
¡
dado por:
Filho1
: D B G F A E C
Filho2
: G E C D F A B
Crossover CX
O crossover CX começa copiando o primeiro elemento
de pai1
para filho1
(alternativamente, pode- se começar
copiando um elemento qualquer da lista):
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 143
Pai1
: A B C D F E G
Pai2
: C E G B D F A
Filho1
: A _ _ _ _ _ _
Para evitar a duplicaç¢ o de C no filho2
¡
requerido que C
de pai1
seja copiado para filho1
.
Filho1
: A _ C _ _ _ _
Do mesmo modo, G de pai1
¡
copiado para filho1
:
Filho1
: A _ C _ _ _ G
Seguindo o mesmo processo, A de pai1
deve ser copiado
para filho1
. Por
¡
m, como A j¤ foi copiado para filho1
, o
ciclo termina.
Na etapa final, as posiç£ es que ficaram em branco, s¢ o
obtidas por simples troca de elementos entre pai1
e pai2
,
resultando em:
Filho1
: A E C B D F G
Filho2
: C B G D F E A
Crossover OX
O crossover OX inicia com dois cortes escolhidos
aleatoriamente.
Pai1
: A B C D F E G
Pai2
: C E G B D F A
Est
  fane Lacerda e Andr
  Carvalho144
Seu funcionamento
¡
melhor ilustrado interpretando o
cromossomo como um círculo, onde o primeiro e o
 ltimo elementos se juntam.
G A
B
C
D
F
E
A C
E
G
B
D
F
Pai1 : A B C D F E G Pai2 : C E G B D F A
Inicialmente, os elementos de pai1
que correspondem
aos elementos da sublista entre os dois cortes de pai2
s¢ o deletados.
- A
-
C
-
F
E
Pai1
: A - C - F E -
Em seguida, os situados na sublista de pai1
que n¢ o
foram deletados s¢ o movidos no sentido anti- hor¤ rio
de modo que todos os elementos fiquem juntos a partir
do segundo corte, ou seja:
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 145
A C
F
-
-
-
E
Pai1
: C F - - - E A
Finalmente, os espaços vaz ios s¢ o substituídos pela
sublista entre os dois cortes de pai2
, resultando no
filho1
:
Filho1
: C F G B D E A
Por processo similar
¡
obtido filho2
:
Filho2
: G B C D F A E
Vale notar que no crossover OX o que conta
¡
a ordem
dos elementos e n¢ o sua posiç¢ o, sendo v¤ lido no caso
do PCV, pois o que importa
¡
somente a ordem das
cidades visitadas.
3.5.2 PROBLEMAS DE PERMUTA! O
A l
¡
m do PCV, v¤ rios problemas de otimiz aç¢ o combinatória
podem ser resolvidos usando os operadores de perm utaç¢ o,
pois dependem de algum a forma de permutaç¢ o de tarefas ou
aç£ es. Exemplos de problemas resolvidos usando tais
operadores s¢ o o Problema de A gendamento (Syswerda, 1991)
e o Problema Coloraç¢ o de Grafos (Davis, 1991).
Est
  fane Lacerda e Andr
  Carvalho146
3.6 FONTES ADICIONAIS DE CONSULTA
H¤ v¤ rios livros de A G na literatura, desde de cl¤ ssicos como
Goldberg (1989), passando por bons livros texto b¤ sicos tais
como Michalewicz (1994), Mitchell (1998), Haupt e Haupt
(1998), at
¡
livros avançados, como Bäck et al. (1997). H¤
tamb
¡
m muitos tutoriais, como por exemplo Beasley et al.
(1993a, 1993b), Whitley (1992) e Janikow e Clair (1995). Na web
um dos sites mais conhecidos
¡
o ENCORE (1998).
REFERÊNCIAS BIBLIOGRÁFICAS
Bäck, T.; Fogel, D.B. e Michalewicz , Z. (1997). (eds), Handbook
of Evolutionary Computation. Institute of Physics Publishing
and Oxford University Press, Bristol, New York.
Baker, J. (1987). Reducing bias and inefficiency in the selection
algorithm. In: GREFENST ETTE, J. ed., Proc. of the Second
International Conference on Genetic A lgorithm s and T heir
A pplications, p.14- 21. Hillsdale, New Jersey: Lawrence
Erlbaum A ssociates.
Beasley, D.; Bull, D. R.; Martin, R. R. (1993a) A n O verview of
Genetic A lgorithm s: Part 1, Fundam entals. University
Com puting, v.15, n.2, p.58-69. (Disponível por ftp no
ENCORE no arquivo: GA /papers/over92.ps.gz )
Beasley, D.; Bull, D. R.; Martin, R. R. (1993b). An O verview of
Genetic A lgortihm s: Part 2, Research T opics, University
Com puting, 15(4) 170-181. (Disponível por ftp no ENCORE
no arquivo: GA /papers/over93-3.ps.gz )
Darwin, C. A origem das esp cies e a seleç0) atural . Hemus
editora.
Davis, L. (1991). Handbook of Genetic A lgorithm s. Van
Nostrand Reinhold.
Dejong, K. (1975). The analysis and behaviour of a class of
genetic adaptive systems. PhD thesis, University of
Michigan.
Capítulo 3 – Introduç o aos Algoritmos Gen
  ticos 147
ENCORE. The EvolutioNary COmputation REpository network.
(1998). (http://alife.santafe.edu/~ joke/encore/)
(http://www.cs.purdue.edu/coast/archive/clife/Welcome.ht
ml).
Eshelman, L. J.; Shaffer, D. J. (1992). Real- coded genetic
algorithms and interval- schemata. In: WHITLEY, D. L. (ed).
Foundations of Genetic A lgorithm s 3. San Mateo, CA : Morgan
Kaufman, p.187- 203.
Fonseca. C. M.; Fleming, P. J. (1995). A n Overview of
Evolutionary A lgorithm s in Multiobjective Optimiz ation.
Evolutionary Com putation. 3(1):1- 16.
(http://www.lania.mx/~ ccoello/EMOO/EMOObib.html).
Fonseca. C. M.; Fleming, P. J. (1997). Multiobjective
optimiz ation. In: BÄ CK, T.; FOGEL, D. B.; MICHA LEWICZ, Z.,
eds. Handbook of Evolutionary Computation, p.C4.5:1- 9.
Institute of Physics Publishing and Oxford University Press,
Bristol, New York.
Gen, M.; Cheng, R. (1997). Genetic A lgorithms and Engineering
Design. Wiley Series in Engineering Design and A utomation,
John Wiley  Sons.
Goldberg, D. E. (1989). Genetic algorithm s in search,
optim ization, and m achine learning. A ddison- Wesley.
Grefenstette, J..J. (1986). Optimiz ation of control parameters
for genetic algorithms. IEEE trans SMC. v16, p.122- 128.
Haupt, R. L.; Haupt, S. E. (1998). Pr atical Genetic Algorithm s.
Wiley- Intercience.
Holland, J. H. (1975). Adaptation in N atural and A rtificial
System s. MIT Press.
Horn, J.; Nafpliotis, N. (1992). Multiobjective optimiz ation
using the niched pareto genetic algorithm. Technical Report
IllIGA L 93005, Illinois Genetic A lgorithms Laboratory,
University of Illinois at Urbana- Champaign, Urbana, IL.
(http://gal4.ge.uiuc.edu/illigal.home.html)
Est
  fane Lacerda e Andr
  Carvalho148
Janikow, C. Z.; Clair, D. S. (1995). Genetic algorithms
simulating nature´ s methods of evolving the best design
solution. IEEE Potentials, v14, p.31- 35.
Lacerda, E.; Carvalho, A . (1997). Com binando os A lgoritm os
Gen tico e K m  dia para Configurar Redes de Funç1 es Base
Radial. A nais do IV Simpósio Brasileiro de Redes Neurais,
p¤ ginas 95- 97, Goiânia, Brasil.
Michalewicz , Z. (1994). Genetic A lgorithm s + Data
Structures = Evolution Program s. 3.ed. Springer- Verlag.
Mitchell, M. (1998). A n Introduction to Genetic A lgorithm s. The
MIT Press.
Stolfi, J.; Figueiredo, L. H. M 32 odos num  ricos auto- validados e
aplicaç1 es. 21º
Cóloquio Brasileiro de Matem¤ tica, IMPA ,
1997.
Syswerda, G. (1989). Uniform crossover in genetic algorithms.
In: J. D. Schaffer, ed. Proceedings of the T hird International
Conference on Genetic A lgorithm s, p.2- 9. Morgan
Kaufmann.
Syswerda, G. (1991). Schedule optimiz ation using genetic
algorithms. In: DA VIS, L. Handbook of Genetic Algorithm s.
p.332- 349, Van Nostrand Reinhold.
Whitley, D. (1989). The GENITOR algorithm and selection
pressure: Why rank4 based allocation of reproductive trials
is best. In: SCHA FFER J., ed. Proceedings of the T hird
International Conference on Genetic A lgorithm s, p.116- 121.
San Mateo, Calif.: Morgan Kaufmann.
Whitley, D. L. (1992). A genetic algorithm tutorial. Technical
Report CS4 934 103, Colorado State University. (Disponível
por ftp no ENCORE no arquivo: GA /papers/tutor92.ps).

Mais conteúdo relacionado

Semelhante a Introdução aos Algoritmos Genéticos e o Problema da Função Seno

Análises agrupamento e dissimilaridade no Genes
Análises agrupamento e dissimilaridade no GenesAnálises agrupamento e dissimilaridade no Genes
Análises agrupamento e dissimilaridade no GenesCristiano Lemes da Silva
 
Analise Comb E Probabilidades
Analise Comb E ProbabilidadesAnalise Comb E Probabilidades
Analise Comb E Probabilidadesgueste0e57c
 
Analise Comb E Probabilidades
Analise Comb E ProbabilidadesAnalise Comb E Probabilidades
Analise Comb E ProbabilidadesISJ
 
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 Complexosinechidias
 
Implementação currículo- Módulo IV-Matrizes/Determinantes/Nºs Complexos
Implementação currículo- Módulo IV-Matrizes/Determinantes/Nºs ComplexosImplementação currículo- Módulo IV-Matrizes/Determinantes/Nºs Complexos
Implementação currículo- Módulo IV-Matrizes/Determinantes/Nºs Complexosinechidias
 
Aula 6 - Profmat - Numeros Primos - 08 09-17
Aula 6 - Profmat - Numeros Primos -  08 09-17Aula 6 - Profmat - Numeros Primos -  08 09-17
Aula 6 - Profmat - Numeros Primos - 08 09-17Aline Guedes
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automáticabutest
 
Introdução à Amostragem Compressiva
Introdução à Amostragem CompressivaIntrodução à Amostragem Compressiva
Introdução à Amostragem CompressivaEdmar Gurjão
 
Implementação mód4
Implementação   mód4 Implementação   mód4
Implementação mód4 inechidias
 
Implementação mód4 -
Implementação   mód4 - Implementação   mód4 -
Implementação mód4 - inechidias
 
Implementação mód4
Implementação   mód4 Implementação   mód4
Implementação mód4 inechidias
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenaçãoJonas Mendonça
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automáticabutest
 

Semelhante a Introdução aos Algoritmos Genéticos e o Problema da Função Seno (20)

Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
 
Inteligência de Enxames: Abelhas
Inteligência de Enxames: AbelhasInteligência de Enxames: Abelhas
Inteligência de Enxames: Abelhas
 
Equaçoes literais
Equaçoes literaisEquaçoes literais
Equaçoes literais
 
Anova 2__fatores_prof._ivan (2)
Anova  2__fatores_prof._ivan (2)Anova  2__fatores_prof._ivan (2)
Anova 2__fatores_prof._ivan (2)
 
Análises agrupamento e dissimilaridade no Genes
Análises agrupamento e dissimilaridade no GenesAnálises agrupamento e dissimilaridade no Genes
Análises agrupamento e dissimilaridade no Genes
 
Analise Comb E Probabilidades
Analise Comb E ProbabilidadesAnalise Comb E Probabilidades
Analise Comb E Probabilidades
 
Analise Comb E Probabilidades
Analise Comb E ProbabilidadesAnalise Comb E Probabilidades
Analise Comb E Probabilidades
 
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
 
Implementação currículo- Módulo IV-Matrizes/Determinantes/Nºs Complexos
Implementação currículo- Módulo IV-Matrizes/Determinantes/Nºs ComplexosImplementação currículo- Módulo IV-Matrizes/Determinantes/Nºs Complexos
Implementação currículo- Módulo IV-Matrizes/Determinantes/Nºs Complexos
 
Aula 6 - Profmat - Numeros Primos - 08 09-17
Aula 6 - Profmat - Numeros Primos -  08 09-17Aula 6 - Profmat - Numeros Primos -  08 09-17
Aula 6 - Profmat - Numeros Primos - 08 09-17
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automática
 
Introdução à Amostragem Compressiva
Introdução à Amostragem CompressivaIntrodução à Amostragem Compressiva
Introdução à Amostragem Compressiva
 
Implementação mód4
Implementação   mód4 Implementação   mód4
Implementação mód4
 
Implementação mód4 -
Implementação   mód4 - Implementação   mód4 -
Implementação mód4 -
 
Implementação mód4
Implementação   mód4 Implementação   mód4
Implementação mód4
 
Sistema Lineares
Sistema LinearesSistema Lineares
Sistema Lineares
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
 
Algoritmos genéticos
Algoritmos genéticosAlgoritmos genéticos
Algoritmos genéticos
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automática
 
sistema.ppt
sistema.pptsistema.ppt
sistema.ppt
 

Mais de XequeMateShannon

Wow! Signal Decoded as Foundations of Theory of Everything
Wow! Signal Decoded as Foundations of Theory of EverythingWow! Signal Decoded as Foundations of Theory of Everything
Wow! Signal Decoded as Foundations of Theory of EverythingXequeMateShannon
 
A Teoria de Cordas e a Unificação das Forças da Natureza
A Teoria de Cordas e a Unificação das Forças da NaturezaA Teoria de Cordas e a Unificação das Forças da Natureza
A Teoria de Cordas e a Unificação das Forças da NaturezaXequeMateShannon
 
Hamiltonian design in readout from room-temperature Raman atomic memory
 Hamiltonian design in readout from room-temperature Raman atomic memory  Hamiltonian design in readout from room-temperature Raman atomic memory
Hamiltonian design in readout from room-temperature Raman atomic memory XequeMateShannon
 
An efficient algorithm for the computation of Bernoulli numbers
 An efficient algorithm for the computation of Bernoulli numbers An efficient algorithm for the computation of Bernoulli numbers
An efficient algorithm for the computation of Bernoulli numbersXequeMateShannon
 
Intel Random Number Generator
Intel Random Number GeneratorIntel Random Number Generator
Intel Random Number GeneratorXequeMateShannon
 
Information Theory for Intelligent People
Information Theory for Intelligent PeopleInformation Theory for Intelligent People
Information Theory for Intelligent PeopleXequeMateShannon
 
A Teoria Algorítmica da Aleatoriedade
 A Teoria Algorítmica da Aleatoriedade A Teoria Algorítmica da Aleatoriedade
A Teoria Algorítmica da AleatoriedadeXequeMateShannon
 
Quantum Computation and Information
Quantum Computation and InformationQuantum Computation and Information
Quantum Computation and InformationXequeMateShannon
 
Quantum Cryptography: from Theory to Practice
 Quantum Cryptography: from Theory to Practice Quantum Cryptography: from Theory to Practice
Quantum Cryptography: from Theory to PracticeXequeMateShannon
 
The Security of Practical Quantum Key Distribution
 The Security of Practical Quantum Key Distribution The Security of Practical Quantum Key Distribution
The Security of Practical Quantum Key DistributionXequeMateShannon
 
Experimental realisation of Shor's quantum factoring algorithm using qubit r...
 Experimental realisation of Shor's quantum factoring algorithm using qubit r... Experimental realisation of Shor's quantum factoring algorithm using qubit r...
Experimental realisation of Shor's quantum factoring algorithm using qubit r...XequeMateShannon
 
A smooth exit from eternal inflation?
A smooth exit from eternal inflation?A smooth exit from eternal inflation?
A smooth exit from eternal inflation?XequeMateShannon
 
The different faces of mass action in virus assembly
The different faces of mass action in virus assemblyThe different faces of mass action in virus assembly
The different faces of mass action in virus assemblyXequeMateShannon
 
A Digital Signature Based on a Conventional Encryption Function
A Digital Signature Based on a Conventional Encryption FunctionA Digital Signature Based on a Conventional Encryption Function
A Digital Signature Based on a Conventional Encryption FunctionXequeMateShannon
 
Quantum algorithm for solving linear systems of equations
 Quantum algorithm for solving linear systems of equations Quantum algorithm for solving linear systems of equations
Quantum algorithm for solving linear systems of equationsXequeMateShannon
 
Shor's discrete logarithm quantum algorithm for elliptic curves
 Shor's discrete logarithm quantum algorithm for elliptic curves Shor's discrete logarithm quantum algorithm for elliptic curves
Shor's discrete logarithm quantum algorithm for elliptic curvesXequeMateShannon
 
Countermeasures Against High-Order Fault-Injection Attacks on CRT-RSA
 Countermeasures Against High-Order Fault-Injection Attacks on CRT-RSA Countermeasures Against High-Order Fault-Injection Attacks on CRT-RSA
Countermeasures Against High-Order Fault-Injection Attacks on CRT-RSAXequeMateShannon
 
The complexity of promise problems with applications to public-key cryptography
The complexity of promise problems with applications to public-key cryptographyThe complexity of promise problems with applications to public-key cryptography
The complexity of promise problems with applications to public-key cryptographyXequeMateShannon
 

Mais de XequeMateShannon (20)

LCS35
LCS35LCS35
LCS35
 
Wow! Signal Decoded as Foundations of Theory of Everything
Wow! Signal Decoded as Foundations of Theory of EverythingWow! Signal Decoded as Foundations of Theory of Everything
Wow! Signal Decoded as Foundations of Theory of Everything
 
Número normal
Número normalNúmero normal
Número normal
 
A Teoria de Cordas e a Unificação das Forças da Natureza
A Teoria de Cordas e a Unificação das Forças da NaturezaA Teoria de Cordas e a Unificação das Forças da Natureza
A Teoria de Cordas e a Unificação das Forças da Natureza
 
Hamiltonian design in readout from room-temperature Raman atomic memory
 Hamiltonian design in readout from room-temperature Raman atomic memory  Hamiltonian design in readout from room-temperature Raman atomic memory
Hamiltonian design in readout from room-temperature Raman atomic memory
 
An efficient algorithm for the computation of Bernoulli numbers
 An efficient algorithm for the computation of Bernoulli numbers An efficient algorithm for the computation of Bernoulli numbers
An efficient algorithm for the computation of Bernoulli numbers
 
Intel Random Number Generator
Intel Random Number GeneratorIntel Random Number Generator
Intel Random Number Generator
 
Information Theory for Intelligent People
Information Theory for Intelligent PeopleInformation Theory for Intelligent People
Information Theory for Intelligent People
 
A Teoria Algorítmica da Aleatoriedade
 A Teoria Algorítmica da Aleatoriedade A Teoria Algorítmica da Aleatoriedade
A Teoria Algorítmica da Aleatoriedade
 
Quantum Computation and Information
Quantum Computation and InformationQuantum Computation and Information
Quantum Computation and Information
 
Quantum Cryptography: from Theory to Practice
 Quantum Cryptography: from Theory to Practice Quantum Cryptography: from Theory to Practice
Quantum Cryptography: from Theory to Practice
 
The Security of Practical Quantum Key Distribution
 The Security of Practical Quantum Key Distribution The Security of Practical Quantum Key Distribution
The Security of Practical Quantum Key Distribution
 
Experimental realisation of Shor's quantum factoring algorithm using qubit r...
 Experimental realisation of Shor's quantum factoring algorithm using qubit r... Experimental realisation of Shor's quantum factoring algorithm using qubit r...
Experimental realisation of Shor's quantum factoring algorithm using qubit r...
 
A smooth exit from eternal inflation?
A smooth exit from eternal inflation?A smooth exit from eternal inflation?
A smooth exit from eternal inflation?
 
The different faces of mass action in virus assembly
The different faces of mass action in virus assemblyThe different faces of mass action in virus assembly
The different faces of mass action in virus assembly
 
A Digital Signature Based on a Conventional Encryption Function
A Digital Signature Based on a Conventional Encryption FunctionA Digital Signature Based on a Conventional Encryption Function
A Digital Signature Based on a Conventional Encryption Function
 
Quantum algorithm for solving linear systems of equations
 Quantum algorithm for solving linear systems of equations Quantum algorithm for solving linear systems of equations
Quantum algorithm for solving linear systems of equations
 
Shor's discrete logarithm quantum algorithm for elliptic curves
 Shor's discrete logarithm quantum algorithm for elliptic curves Shor's discrete logarithm quantum algorithm for elliptic curves
Shor's discrete logarithm quantum algorithm for elliptic curves
 
Countermeasures Against High-Order Fault-Injection Attacks on CRT-RSA
 Countermeasures Against High-Order Fault-Injection Attacks on CRT-RSA Countermeasures Against High-Order Fault-Injection Attacks on CRT-RSA
Countermeasures Against High-Order Fault-Injection Attacks on CRT-RSA
 
The complexity of promise problems with applications to public-key cryptography
The complexity of promise problems with applications to public-key cryptographyThe complexity of promise problems with applications to public-key cryptography
The complexity of promise problems with applications to public-key cryptography
 

Introdução aos Algoritmos Genéticos e o Problema da Função Seno

  • 1. CAPÍTULO 3 INTRODUÇÃO AOS ALGORITMOS GENÉTICOS Estéfane G. M. de Lacerda André Carlos P. L. F. de Carvalho 3.1 UM ALGORITMO GENÉTICO SIMPLES A lgoritmos Genéticos, A Gs, são métodos de otimiz ação e busca inspirados nos m ecanismos de evolução de populações de seres vivos. Foram introduz idos por John Holland (Holland, 1975) e populariz ados por um dos seus alunos, David Goldberg (Goldberg, 1989). Estes algoritmos seguem o princípio da seleção natural e sobrevivência do mais apto, declarado em 1859 pelo naturalista e fisiologista inglês Charles Darwin em seu livro A Origem das Espécies. De acordo com Charles Darwin, “Quanto melhor um indivíduo se adaptar ao seu meio am biente, maior será sua chance de sobreviver e gerar descendentes”. Otimiz ação é a busca da melhor solução para um dado problema. Consiste em tentar várias soluções e utiliz ar a informação obtida neste processo de forma a encontrar soluções cada vez melhores. Um exemplo simples de otimiz ação é a melhoria da imagem das televisões com antena acoplada no próprio aparelho. A través do ajuste manual da antena, várias soluções são testadas, guiadas pela qualidade de imagem obtida na TV, até a obtenção de uma resposta ótima, ou seja, uma boa im agem.
  • 2. Est   fane Lacerda e Andr   Carvalho88 A s t ¡ cnicas de busca e otimiz aç¢ o, geralmente, apresentam: • Um espaço de busca, onde est¢ o todas as possíveis soluç£ es do problema; • Uma funç¢ o objetivo (algum as vez es chamada de funç¢ o de aptid¢ o na literatura de A Gs), que ¡ utiliz ada para avaliar as soluç£ es produz idas, associando a cada uma delas uma nota. Em termos matem¤ ticos, a otimiz aç¢ o consiste em achar a soluç¢ o que corresponda ao ponto de m¤ ximo ou mínimo da funç¢ o objetivo. Como exemplo, considere o seguinte problema de otimiz aç¢ o que ser¤ utiliz ado no decorrer deste capítulo: Problema 3.1 – A char o ponto m¤ ximo da funç¢ o 1)10sen()( += xxxf π dentro do intervalo 21 ≤≤− x . Embora aparentemente simples, o Problema 3.1 n¢ o ¡ de f¤ cil soluç¢ o. Existem v¤ rios pontos de m¤ ximos nesta funç¢ o (pontos que maximiz am o valor da funç¢ o), mas m uitos n¢ o representam o maior valor que a funç¢ o pode atingir, conforme ilustrado na Figura 3.1. Tais pontos s¢ o denominados máximos locais, uma vez que a funç¢ o nestes pontos atinge valores m aiores do que na viz inhança destes pontos. A melhor soluç¢ o para este problema est¤ no ponto em que a funç¢ o possui valor m¤ ximo, o máximo global. Neste problema, o m¤ ximo global encontra- se no ponto cujo valor de x ¡ igual a 1,85055. Neste ponto, a funç¢ o assume o valor 2,85027. Conforme ser¤ mostrado na Seç¢ o 3.2, uma grande quantidade de t ¡ cnicas de otimiz aç¢ o (por exemplo, os m ¡ todos do gradiente) n¢ o ¡ capaz de localiz ar o ponto de m¤ ximo global de uma funç¢ o com múltiplos pontos de m¤ xim o. Esta seç¢ o mostrar¤ como utiliz ar A Gs para encontrar o m¤ ximo global do Problema 3.1.
  • 3. Capítulo 3 – Introdução aos Algoritmos Gen   ticos 89 x f(x)=xsen(10πx)+1 -1, 0 0, 0 1, 0 2, 0 3, 0 -1, 0 -0, 5 0, 0 0, 5 1, 0 1, 5 2, 0 Máxi mo gl obal Máxi mo l ocal Figura 3.1 - Gr¥ fico da funç¦ o da f(x) = x sen(10 πx) + 1
  • 4. Est   fane Lacerda e Andr   Carvalho90 A lgoritmo 3.1: A lgoritmo Gen ¡ tico típico Seja S(t) a populaç¦ o de cromossomos na geraç¦ o t. t ← 0 inicializ ar S(t) avaliar S(t) enquanto o crit§ rio de parada n¦ o for satisfeito faça t ← t+ 1 selecionar S(t) a partir de S(t- 1) aplicar crossover sobre S(t) aplicar m utaç¦ o sobre S(t) avaliar S(t) fim enquanto O primeiro passo de um A lgoritmo Gen ¡ tico típico ¡ a geraç¢ o de uma população inicial de cromossomos, que ¡ formada por um conjunto aleatório de cromossomos que representam possíveis soluç£ es do problema a ser resolvido. Durante o processo evolutivo, esta populaç¢ o ¡ avaliada e cada cromossomo recebe um a nota (denominada de aptidão no jarg¢ o da literatura de A Gs), refletindo a qualidade da soluç¢ o que ele representa. Em geral, os cromossomos mais aptos s¢ o selecionados e os menos aptos s¢ o descartados (Darwinismo). Os membros selecionados podem sofrer modificaç£ es em suas características fundamentais atra¨ ¡ s dos operadores de crossover e mutação, gerando descendentes para a próxima geraç¢ o. Este processo ¡ repetido at ¡ que uma soluç¢ o satisfatória seja encontrada. O A lgoritmo 3.1 ilustra este procedimento. A s seç£ es seguintes descrevem com mais detalhes cada etapa deste algoritmo. 3.1.1 REPRESENTAÇÃO DOS PARÂMETROS Um A G processa populaç£ es de cromossomos. Um cromossomo ¡ uma estrutura de dados, geralmente vetor ou
  • 5. Capítulo 3 – Introdução aos Algoritmos Gen   ticos 91 cadeia de bits (cadeia de bits ¡ a estrutura mais tradicional, por ¡ m nem sempre ¡ a melhor), que representa um a possível soluç¢ o do problema a ser otimiz ado. Em geral, um cromossomo representa um conjunto de parâmetros da funç¢ o objetivo cuja resposta ser¤ maximiz ada ou minimiz ada. O conjunto de todas as configuraç£ es que o crom ossomo pode assumir forma o seu espaço de busca . Se o cromossomo representa n parâmetros de uma funç¢ o, ent¢ o o espaço de busca ¡ um espaço com n dimens£ es. O primeiro passo para resolver o Problema 3.1 utiliz ando A Gs¡ representar o único parâmetro deste problem a (a vari¤ vel x) na forma de um cromossomo. Ser¤ adotada um a cadeia de 22 bits para o cromossomo (maiores cadeias aumentam a precis¢ o num ¡ rica da soluç¢ o). A ssim, um exemplo de cromossomo poderia ser: s1 = 1000101110110101000111 Para decodificar o crom ossomo s1 , converte- se s1 da base 2 para a base 10: b 10 = (1000101110110101000111) 2 = 2288967 Como b10 ¡ um número no intervalo [0, 2l - 1] (sendo l o tamanho da cadeia de bits), ¡ necess¤ rio mape¤ - lo para o intervalo do problema [- 1,0; 2,0]. Isto pode ser feito pela fórmula: 12 min)(maxmin 10 − −+= l b x assim, ( ) 637197,0 12 967.288.2 )12(1x 221 = − ++−= Vale observar que funç£ es objetivo com múltiplos parâmetros t© m seus parâmetros representados na mesma cadeia de bit, com cada um ocupando uma parte da cadeia. A cada cromossomo si ¡ atribuída um a aptid¢ o fi . A ptid¢ o ¡ uma nota
  • 6. Est   fane Lacerda e Andr   Carvalho92 que mede qu¢ o boa ¡ a soluç¢ o codificada em si . É baseada no valor da funç¢ o objetivo, e ser¤ discutida na próxima seç¢ o. 3.1.2 SELEÇÃO Um A lgoritmo Gen ¡ tico começa com uma populaç o inicial de N cromossomos. A populaç¢ o inicial do Problem a 3.1, com N = 30, ¡ mostrada em um a das colunas da Tabela 3.1 ordenados por ordem decrescente do valor da funç¢ o objetivo, como tamb ¡ m mostra- se o valor de x codificado no cromossomo, o valor da funç¢ o objetivo e a aptid¢ o para este valor. Os cromossomos foram gerados aleatoriamente, porque neste problema n¢ o existe nenhum conhecimento pr ¡ ¨ io sobre a regi¢ o do espaço de busca onde se encontra a soluç¢ o do problema. Os pontos da funç¢ o representados pelos cromossomos da populaç¢ o inicial s¢ o mostrados na Figura 3.2. x f(x)=xsen(10πx)+1 -1, 0 -0, 5 0, 0 0, 5 1, 0 1, 5 2, 0 2, 5 3, 0 -1, 0 -0, 5 0, 0 0, 5 1, 0 1, 5 2, 0 Figura 3.2 - Cromossomos da Populaç¢ o Inicial Inspirado no processo de seleç¢ o natural de seres vivos, o A lgoritmo Gen ¡ tico seleciona os melhores crom ossomos da populaç¢ o inicial (aqueles de alta aptid¢ o) para gerar cromossomos filhos (que s¢ o variantes dos pais) atra¨ ¡ s dos operadores de crossover e mutaç¢ o. Uma populaç o intermedi ria (tamb ¡ m cham ada de m ating pool) ¡ utiliz ada para alocar os cromossomos pais selecionados. Geralmente, os pais s¢ o selecionados com probabilidade proporcional à sua
  • 7. Capítulo 3 – Introdução aos Algoritmos Gen   ticos 93 aptid o. Portanto, a probabilidade de seleç¢ o pi , de um cromossomo si com aptid¢ o fi , ¡ dada por: ∑= = N i i i i f f p 1 A seleç¢ o pode ser feita pelo seguinte procedim ento pr¤ tico: calcula- se uma coluna de aptid£ es acumuladas. Em seguida, gera- se um n mero aleatório r (tirado de uma distribuiç¢ o uniforme) no intervalo [0, SOMA TOTA L], onde SOMA TOTA L ¡ a soma de todas as aptid£ es. Por fim, o cromossomo selecionado ¡ o primeiro (seguindo a tabela de cima para baixo) que possui aptid¢ o acumulada maior que r. Por exemplo, se r = 28,131, ent¢ o o cromossomo da linha 23 da Tabela 3.1 ¡ selecionado, e sua cópia ¡ alocada na populaç¢ o intermedi¤ ria. Os mesmos passos s¢ o repetidos at ¡ preencher a populaç¢ o intermedi¤ ria com N cromossomos. Este procedimento, conhecido como Roda da Roleta, ¡ apresentado pelo A lgoritmo 3.2. Tabela 3.1 - Populaç¢ o Inicial Posiçã o i Crom ossom o si xi Funç¦ o objetivo f(xi ) A ptid¦ o fi A ptid¦ o acum ulad a ∑ = i k kf 1 1 1101000000011110110 111 1,43891 2,35251 2,00000 2,00000 2 1100000110100100011 111 1,26925 2,04416 1,93103 3,93103 3 1010111001010110010 000 1,04301 2,01797 1,86207 5,79310 4 1001111000011001000 101 0,85271 1,84962 1,79310 7,58621 5 1001110110111000011 100 0,84829 1,84706 1,72414 9,31035 6 0000110011111010010 110 - 0,84792 1,84610 1,65517 10,96552
  • 8. Est   fane Lacerda e Andr   Carvalho94 7 0011000000100111010 010 - 0,43570 1,39248 1,58621 12,55172 8 0111100101000001101 100 0,42098 1,25777 1,51724 14,06897 9 0100000000110011101 000 - 0,24764 1,24695 1,44828 15,51724 10 0100000010001111011 110 - 0,24343 1,23827 1,37931 16,89655 11 0000100101000000111 010 - 0,89156 1,23364 1,31035 18,20690 12 0001101001100010101 111 - 0,69079 1,19704 1,24138 19,44828 13 1010000110011000011 011 0,89370 1,17582 1,17241 20,62069 14 0110100001011011000 100 0,22292 1,14699 1,10345 21,72414 15 1000100011110001000 011 0,60479 1,09057 1,03448 22,75862 16 1100110011001010001 110 1,39988 0,99483 0,96552 23,72414 17 0100011001000100011 101 - 0,17655 0,88140 0,89655 24,62069 18 0011010011110100101 000 - 0,37943 0,77149 0,82759 25,44828 19 0010001101001100101 100 - 0,58633 0,75592 0,75862 26,20690 20 1101110101101111111 111 1,59497 0,74904 0,68966 26,89655 21 0011011011001101110 110 - 0,35777 0,65283 0,62069 27,51724 22 0010010001001111100 111 - 0,57448 0,58721 0,55172 28,06897 23 1100101110110011111 000 1,38714 0,45474 0,48276 28,55172 24 0010011001100110100 111 - 0,54999 0,45001 0,41379 28,96552 25 1101110010010100100 001 1,58492 0,27710 0,34483 29,31035 26 1100101011000111010 011 1,37631 0,06770 0,27586 29,58621 27 0000010000100100110 - 0,04953 0,20690 29,79310
  • 9. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 95 001 0,95144 28 1110100001000000010 001 1,72169 - 0,08458 0,13793 29,93103 29 1110101000111100000 000 1,74494 - 0,72289 0,06897 30,00000 30 1111101100000001010 111 1,94147 - 0,87216 0,00000 30,00000 A lgoritmo 3.2: Roda da Roleta total ← ∑ = N i if 1 /* a som a das aptid es de todos os cromossom os da populaç¦ o */ rand ← randômico(0, total) total parcial ← 0 i ← 0 repetir i ← i+ 1 total parcial ← total parcial + fi até total parcial ≥ rand retornar o cromossomo si V¤ rias alternativas t© m sido propostas para definir a aptid¢ o. A mais simples iguala a aptid¢ o ao valor da funç¢ o objetivo. A ssim, a aptid¢ o do cromossomo s1 seria: 586345,11)637197,010sen(637197,01 =+= πf Vale observar que a aptid¢ o definida desta forma pode assumir valores negativos e o algoritmo Roda da Roleta n¢ o funciona com aptid£ es negativas. A l ¡ m disso, pode gerar tamb ¡ m problemas como converg© ncia prematura (conforme ser¤ mostrado na Seç¢ o 3.3). É possível, no entanto, dispensar o A lgoritmo Roda da Roleta e utiliz ar Seleç o por Torneio . Neste caso, s¢ o escolhidos, aleatoriamente, (com probabilidades iguais) n cromossomos da populaç¢ o, e o cromossomo com maior aptid¢ o ¡ selecionado para a
  • 10. Est   fane Lacerda e Andr   Carvalho96 populaç¢ o intermedi¤ ria. O processo repete- se at ¡ preencher a populaç¢ o intermedi¤ ria. Utiliz a- se, geralmente, o valor n = 3. Outra forma de definir aptid¢ o ¡ pelo ordenamento do cromossomo na populaç¢ o, conforme se obteve na Tabela 3.1. O primeiro cromossomo do ordenamento recebeu uma aptid¢ o arbitr¤ ria igual a 2,0, e ao ltimo cromossomo do ordenamento foi atribuído o valor 0,0. A s demais foram obtidas interpolando estes dois extremos por uma reta, ou seja, ( ) ( )12 −−= NiNfi , sendo N o tamanho da populaç¢ o. 3.1.3 CROSSOVER E MUTAÇÃO Os operadores de crossover e a m utaç¢ o s¢ o os principais mecanismos de busca dos A Gs para explorar regi£ es desconhecidas do espaço de busca. O operador cr ossover ¡ aplicado a um par de cromossomos retirados da populaç¢ o intermedi¤ ria, gerando dois cromossomos filhos. Cada um dos cromossomos pais tem sua cadeia de bits cortada em uma posiç¢ o aleatória, produz indo duas cabeças e duas caudas. A s caudas s¢ o trocadas, gerando dois novos cromossomos. A Figura 3.3 ilustra o com portamento deste operador. pai1 (0010101011100000111111) pai2 (0011111010010010101100) filho1 (0010101011010010101100) filho2 (0011111010100000111111) Figura 3.3 - Crossover O crossover ¡ aplicado com uma dada probabilidade a cada par de cromossomos selecionados. Na pr¤ tica, esta probabilidade, denominada de taxa de crossover, varia entre 60% e 90%. N¢ o ocorrendo o crossover, os filhos ser¢ o iguais aos pais (isto permite que algumas soluç£ es sejam preservadas). Isto pode ser implementado, gerando n meros pseudo- aleatórios no intervalo [0,1]. A ssim, o crossover só ¡ aplicado se o n mero gerado for menor que a taxa de crossover.
  • 11. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 97 A pós a operaç¢ o de crossover, o operador de m utaç¢ o ¡ aplicado, com dada probabilidade, em cada bit dos dois filhos. O operador de mutaç¢ o inverte os valores de bits, ou seja, muda o valor de um dado bit de 1 para 0 ou de 0 para 1. A Figura 3.4 apresenta um exemplo em que dois bits do primeiro filho e um bit do segundo sofrem mutaç¢ o (bits estes que passaram no teste de probabilidade). A mutaç¢ o melhora a diversidade dos cromossomos na populaç¢ o, no entanto por outro lado, destrói inform aç¢ o contida no crom ossomo, logo, deve ser utiliz ada uma taxa de mutaç o pequena (normalmente entre 0,1% a 5%), mas suficiente para assegurar a diversidade. filho1 (0010101010010010101100) filho2 (0011111011100000111111) filho1 filho2 (0010001010010010111100) (0011111011000000111111) Antes Depois Figura 3.4 - Mutaç¢ o A Figura 3.5 ilustra a aplicaç¢ o do operador de cr ossover a cada par de cromossom os da populaç¢ o intermedi¤ ria e os bits que sofreram m utaç¢ o na nova populaç¢ o. Os pontos representados pela primeira geraç¢ o de cromossomos s¢ o mostrados na Figura 3.6. A inda n¢ o houve melhora significativa com relaç¢ o à populaç¢ o inicial, ou seja, os cromossomos ainda est¢ o distantes do m¤ ximo global da funç¢ o. Índice Original População Intermediária (Mating pool) Crossover e Mutação Primeira Geração (o sublinhado indica mutação) Ponto de Corte 1 1101000000011110110111 1101000000011000011100 12 5 1001110110111000011100 1001110110111110110111 12 12 0001101001100010101111 0001101001100010010110 12 6 0000110011111010010110 0010110011110000101111 12 19 0010001101001100101100 0110001101000100011101 9 17 0100011001000100011101 • 0100011001001100101100 9 15 1000100011110001000011 • 1000100011110001010010 17 7 0011000000100111010010 • 0001000000100111000011 17
  • 12. Est   fane Lacerda e Andr   Carvalho98 10 0100000010001111011110 0100000010001111101100 16 8 0111100101000001101100 0111100101000001011110 16 6 0000110011111010010110 0000110011111010010110 21 18 0011010011110100101000 0011010011110100100000 21 9 0100000000110011101000 0100100000010010101111 13 12 0001101001100010101111 0001101001100011101000 13 17 0100011001000100011101 0100011001000100010010 17 7 0011000000100111010010 0011001000100111011101 17 11 0000100101000000111010 • 0000111001010110010001 3 3 1010111001010110010000 • 1010100101010000011011 3 3 1010111001010110010000 • 1010111001010110010111 19 1 1101000000011110110111 1101000100011110110000 19 15 1000100011110001000011 1000100010011001000101 9 4 1001111000011001000101 1001111001110001000011 9 13 1010000110011000011011 1010000110011000011010 20 6 0000110011111010010110 0100111011111010010110 20 15 1000100011110001000011 1000010000100100110001 3 27 0000010000100100110001 0000100011110001000011 3 8 0111100101000001101100 0110000101000011101100 19 19 0010001101001100101100 1010001101001100101000 19 8 0111100101000001101100 0111100101000100111010 5 11 0000100101000000111010 0000100101000011101100 5 Figura 3.5 - Gerando um a nova populaç¢ o x f(x)=xsen(10πx)+1 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5 3,0 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 Figura 3.6 - Pontos da primeira geraç¢ o de cromossomos A pós a definiç¢ o da primeira populaç¢ o, o procedimento se repete por um dado n m ero de geraç£ es. Quando se conhece a resposta m¤ xima da funç¢ o objetivo, pode- se utiliz ar este valor como crit ¡ rio de parada do A lgoritmo Gen ¡ tico. Na Figura 3.7, ¡ ilustrada a ltima geraç¢ o, a vig ¡ sima quinta, em
  • 13. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 99 que boa parte dos crom ossomos representa pontos no pico do m¤ ximo global. N¢ o h¤ um crit ¡ rio exato para terminar a execuç¢ o do A G. Por ¡ m, com 95% dos cromossomos representando o mesmo valor, ¡ possível diz er que o algoritmo convergiu. x f(x)=xsen(10πx)+1 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 2,5 3,0 -1,0 -0,5 0,0 0,5 1,0 1,5 2,0 Figura 3.7 - Cromossomos da vig ¡ sima quinta geraç¢ o 3.1.4 ELITISMO A Figura 3.8 ilustra, para cada geraç¢ o, o valor da funç¢ o objetivo para o melhor cromossomo da populaç¢ o, al ¡ m do valor m ¡ dio da funç¢ o objetivo de toda a populaç¢ o. Vale observar que o melhor cromossomo pode ser perdido de uma geraç¢ o para outra devido ao corte do crossover ou à ocorr© ncia de mutaç¢ o. Portanto, ¡ interessante transferir o melhor cromossomo de uma geraç¢ o para outra sem alteraç£ es (porque perder a melhor soluç¢ o encontrada at ¡ ent¢ o?). Esta estrat ¡ gia ¡ denominada Elitismo, sendo muito comum nos A Gs tradicionais. O Elitismo foi proposto por DeJong (1975), um dos trabalhos pioneiros sobre A Gs. A Figura 3.9 mostra o desempenho do melhor cromossomo em cada geraç¢ o, usando o A G com e sem Elitismo, com os valores plotados no gr¤ fico representando a m ¡ dia de 100 execuç£ es do A G. Claramente ¡ mostrado que, neste problem a, o A G com elitismo encontra a soluç¢ o mais r¤ pido que o A G sem elitismo (vale ressaltar que, em algum as execuç£ es, o A G ocasionalmente encontra m¤ ximos locais, tornando a m ¡ dia dos melhores cromossomos menor que o m¤ ximo da funç¢ o).
  • 14. Est   fane Lacerda e Andr   Carvalho100 Geração Funçãoobjetivo 0,5 1,0 1,5 2,0 2,5 3,0 0 5 10 15 20 25 Média Melhor Figura 3.8 - O maior valor e o valor m ¡ dio da funç¢ o objetivo em cada geraç¢ o Funçãoobjetivo 2,0 2,2 2,4 2,6 2,8 3,0 10 AG com elitismo AG sem elitismo 0 5 15 20 25 Geração Figura 3.9 - Desem penho do A G com Elitismo 3.1.5 CROSSOVERS DE N PONTOS E UNIFORME Os tipos de operadores crossover m ais conhecidos para cadeias de bits s¢ o o de n pontos e o uniforme. O cr ossover de 1 ponto ¡ o mesmo apresentado na Seç¢ o 3.3. O de 2 pontos ¡ apresentado na Figura 3.10. Os dois pontos de corte s¢ o escolhidos aleatoriamente, e as seç£ es entre os dois pontos s¢ o trocadas entre os pais. O crossover de 4 pontos ¡ mostrado na Figura 3.11. O crossover de n pontos mais usado tem sido o de 2 pontos por algumas raz £ es mostradas na Seç¢ o 3.7.
  • 15. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 101 001011000001101 010001110101011 010 011000101011 001001110001101 pai1 pai2 filho1 filho2 Figura 3.10 - Crossover de 2 pontos 0010100100011001100 1010011100101011001 101 010010 0101001 001 001 001110 00110 11 100 pai1 pai2 filho1 fillho2 Figura 3.11 - Crossover de 4 pontos O crossover uniforme ¡ apresentado na Figura 3.12. Para cada par de pais ¡ gerada um a m¤ scara de bits aleatórios. Se o primeiro bit da m¤ scara possui o valor 1, ent¢ o o primeiro bit do pai1 ¡ copiado para o primeiro bit do filho1 . Caso contr¤ rio, o primeiro bit do pai2 ¡ copiado para o primeiro bit do filho1 . O processo se repete para os bits restantes do filho1 . Na geraç¢ o do filho2 o procedimento ¡ invertido, ou seja, se o bit da m¤ scara ¡ 1, ent¢ o ser¤ copiado o bit do pai2. Se o bit for igual a 0, ent¢ o ser¤ copiado o bit do pai1 . Vale notar que o crossover uniforme n¢ o ¡ a mesm a coisa que o crossover de (l- 1) pontos (l ¡ o n mero de bits do cromossomo), uma vez que este sempre leva a metade dos bits de cada pai.
  • 16. Est   fane Lacerda e Andr   Carvalho102 1 1 0 1 0 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 0 0 1 1 0 0 0 1 1 0 0 Máscara de bits pai1 filho1 pai2 Figura 3.12 - Crossover Uniforme Em Eshelman et al. (1989), ¡ investigada a diferença de desempenho entre v¤ rios crossovers de n pontos e uniforme. A conclus¢ o, conforme relatado em Beasley (1993), ¡ que n¢ o h¤ grandes diferenças de desempenho entre eles. A li¤ s, segundo Grefenstette (1986), o A G ¡ robusto de tal modo que, dentro de uma faixa relativamente larga de variaç¢ o de parâmetros (e.g. taxas de crossover e mutaç¢ o, tamanho da populaç¢ o, etc.), n¢ o ocorre alteraç¢ o significativa no desempenho. No item a seguir, ser¤ apresentada a relaç¢ o entre A Gs e a biologia, como tamb ¡ m a explicaç¢ o dos principais termos utiliz ados na literatura de A Gs. 3.1.6 TERMINOLOGIA Na biologia, a teoria da evoluç¢ o diz que o meio ambiente seleciona, em cada geraç¢ o, os seres vivos mais aptos de uma populaç¢ o para sobreviv© ncia. Como resultado, somente os mais aptos conseguem se reproduz ir, uma vez que os menos adaptados geralmente s¢ o eliminados antes de gerarem descendentes. Durante a reproduç¢ o, ocorrem fenômenos como mutaç¢ o e crossover (recombinaç¢ o), entre outros, que atuam sobre o material gen ¡ tico armaz enado nos cromossomos. Estes fenômenos levam à variabilidade dos seres vivos na populaç¢ o. Sobre esta populaç¢ o diversificada age a seleç¢ o natural, permitindo a sobreviv© ncia apenas dos seres mais adaptados. Um A lgoritmo Gen ¡ tico ¡ a met¤ fora desses fenômenos, o que explica porque A Gs possuem m uitos termos originados da
  • 17. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 103 biologia. A lista apresentada a seguir descreve os principais termos encontrados na literatura. • Cromossomo e Genoma: Na biologia, genoma ¡ o conjunto completo de genes de um organismo. Um genoma pode ter v¤ rios cromossomos. Nos A Gs, os dois representam a estrutura de dados que codifica uma soluç¢ o para um problema, ou seja, um cromossomo ou genom a representa um simples ponto no espaço de busca. • Gene: Na biologia, ¡ a unidade de hereditariedade que ¡ transmitida pelo cromossomo e que controla as características do organismo. Nos A Gs, ¡ um parâmetro codificado no cromossomo, ou seja, um elemento do vetor que representa o cromossomo. • Indivíduo: Um simples membro da populaç¢ o. Nos A Gs, um indivíduo ¡ formado pelo cromossomo e sua aptid¢ o. • Genótipo: Na biologia, representa a composiç¢ o gen ¡ tica contida no Genoma. Nos A Gs, representa a informaç¢ o contida no cromossomo ou genom a. • Fenótipo: Nos A lgoritmos Gen ¡ ticos, representa o objeto, estrutura ou organismo construído a partir das informaç£ es do genótipo. É o cromossomo decodificado. Por exemplo, considere que o cromossomo codifica parâmetros como as dimens£ es das vigas em um projeto de construç¢ o de um edifício, ou as conex£ es e pesos de uma Rede Neural. O fenótipo seria o edifício construído ou a Rede Neural. • A lelo: Na biologia, representa um a das formas alternativas de um gene. Nos A Gs, representa os valores que o gene pode assumir. Por exemplo, um gene que representa o parâmetro cor de um objeto poderia ter o alelo az ul, preto, verde, etc. • Epistasia: Interaç¢ o entre genes do cromossom o, isto ¡ , quando um valor de gene influ© ncia o valor de
  • 18. Est   fane Lacerda e Andr   Carvalho104 outro gene. Problemas com alta Epistasia s¢ o de difíceis soluç¢ o por A Gs. A seç¢ o seguinte aborda alguns aspectos teóricos de A Gs. 3.1.7 ESQUEMAS O Teorema dos Esquem as de Holland (1975) procura fundamentar, teoricamente, o comportamento dos A Gs. Sua compreens¢ o pode auxiliar na construç¢ o de aplicaç£ es eficientes de A Gs. Holland constatou que os A Gs manipulam determinados segmentos da cadeia de bits. Tais segmentos foram por ele denominados de esquemas. Um ¡ formado pelos símbolos 0, 1 e *. A ocorr© ncia do símbolo * em uma posiç¢ o no esquema significa que esta posiç¢ o pode ser ocupada pelo símbolo 1 ou 0. A Figura 3.13 mostra alguns exemplos. H1 H3H2 **10* 11001 11011 10101 *0*011**** X X X X X Comprimento δ(H1) = 0 Comprimento δ(H2) = 1 Comprimento δ(H3) = 3 Ordem O(H1) = 1 Ordem O(H2) = 2 Ordem O(H3) = 3 Figura 3.13 – Esquemas Conforme mostrado na Figura 3.13, os esquem as H1 = 1****, H2 = **10* e H3 = *0*01 est¢ o contidos no mesmo cromossomo 10101, que ao todo pode ter 25 = 32 esquemas. Os cromossomos 11001,11011 e 10101 possuem o esquema 1****. O comprimento de um esquema δ(H) ¡ a diferença entre a ltima posiç¢ o que ¡ ocupada por 1 ou 0 e a primeira posiç¢ o que ¡ ocupada por 1 e 0. A ordem O(H) de um esquema ¡ o n mero de símbolos 1 e 0 que o esquema cont ¡ m. Para prever a variaç¢ o do n mero de esquemas H entre duas geraç£ es consecutivas, considere m o n mero de
  • 19. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 105 cromossomos da populaç¢ o atual que cont ¡ m o esquema H. Considere b a m ¡ dia das aptid£ es de toda populaç¢ o e a a m ¡ dia das aptid£ es dos cromossomos que cont ¡ m o esquema H. A ssim, o n mero esperado de cópias m′ do esquema H na populaç¢ o intermedi¤ ria (utiliz ando seleç¢ o proporcional à aptid¢ o) ¡ dado por: m b a m =′ Pela equaç¢ o, conclui- se que o n mero de esquemas H aumentar¤ na populaç¢ o intermedi¤ ria se a b, ou seja, se o esquema H estiver contido em cromossomos de aptid¢ o acima da aptid¢ o m ¡ dia da populaç¢ o (bons cromossomos). No entanto, ao passar para a próxima populaç¢ o, o esquema H pode ser destruído pelos operadores de crossover e de mutaç¢ o. Por exemplo: Esquema contido em pai1 (01*|**10) Esquema contido em pai2 (***|*101) Esquema contido em filho1 (01*|*101) O esquema do pai2 (que tem pequeno comprim ento) foi transmitido ao filho1 , m as o esquema do pai1 (que tem m aior comprimento) foi destruído pelo crossover. Por ¡ m, mesmo considerando estes fatores, o Teorema dos Esquemas afirma que: Pequenos esquem as contidos em bons crom ossom os (i.e. aqueles com aptid acim a da m dia) aum entam exponencialm ente nas gerações seguinte, ao passo que esquem as contidos em crom ossom os ruins (i.e. aqueles com a aptid o abaixo da m dia) tendem a desaparecer nas gerações seguintes (Goldberg, 1989). Os bons esquemas de pequeno tamanho recebem o nome especial de blocos de construç o . A informaç¢ o contida em um bloco de construç¢ o ¡ combinada com as inform aç£ es de outros blocos de construç¢ o. No decorrer das geraç£ es, esta combinaç¢ o produz cromossomos de alta aptid¢ o. Esta
  • 20. Est   fane Lacerda e Andr   Carvalho106 afirmaç¢ o ¡ conhecida como a Hipótese dos Blocos de Construç o . Os problemas que n¢ o obedecem à Hipótese dos Blocos de Construç¢ o s¢ o conhecidos como A G- Deceptivos. Por exemplo, pode ocorrer que, combinando dois ótimos blocos de construç¢ o, resulte em um cromossomo ruim, ocorrendo isto com genes que t© m alta Epistasia (ver Seç¢ o 3.1.6). Funç£ es com esta propriedade tendem a ter um ponto ótimo isolado cercado por pontos extremamente ruins. Feliz m ente, tais funç£ es s¢ o raras na pr¤ tica. E, al ¡ m disso, s¢ o funç£ es difíceis para qualquer t ¡ cnica de otimiz aç¢ o. Holland tamb ¡ m notou que apesar do A G m anipular N cromossomos, a quantidade de esquemas manipulados ¡ muito maior (na ordem de O(N 3 ) esquem as). Tal propriedade foi denominada de Paralelismo Implícito. Ou seja, o A G manipula uma grande quantidade de informaç£ es em paralelo com apenas N cromossom os. Os bons blocos de construç¢ o, quando incorporados em um cromossomo, melhoram sua aptid¢ o. Portanto, ¡ importante estruturar a codificaç¢ o dos cromossomos de modo a estimular a formaç¢ o de blocos de construç¢ o. Sob a luz dos esquemas, ¡ possível analisar os diversos tipos de crossovers. Por exem plo, o esquema 1******0 ser¤ fatalmente destruído pelo crossover de 1 ponto, seja onde for o ponto de corte. O mesmo problema n¢ o ocorre no crossover de 2 pontos, por ¡ m, o aumento excessivo de pontos de corte normalmente n¢ o leva a bons resultados, um a vez que destrói com facilidade os blocos de construç¢ o. É interessante notar que o cromossomo pode ser interpretado como um anel formado pela uni¢ o de suas extremidades, como ilustra a Figura 3.14. Observando o anel, nota- se que o crossover de 1 ponto ¡ um caso particular do de 2 pontos quando um dos pontos de corte ¡ fixo sobre a junç¢ o do anel. Portanto, o crossover de 2 pontos desempenha tamb ¡ m a funç¢ o do de 1 ponto. Este ¡ um dos motivos pelo qual o crossover de 2 pontos ¡ considerado melhor do que o crossover de 1 ponto (Beasley, 1993b; Davis, 1991).
  • 21. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 107 2º corte 1º corte Inicio de pai1 0 0 1 0 0 0 1 1 0 0 1 01 1 1 Figura 3.14 - Crossover de 2 pontos visto como um anel O crossover de n pontos tende a manter juntos os genes que s¢ o codificados próxim os um do outro. Existe um operador denominado Invers o (Holland, 1975) que busca o ordenamento ideal dos genes no cromossomo. Dois pontos aleatórios s¢ o escolhidos no cromossomo e os genes entre eles s¢ o invertidos. Vale frisar que a invers¢ o n¢ o ¡ um tipo de mutaç¢ o brutal. Na verdade n¢ o ocorre mutaç¢ o. A cada gene ¡ associado um n mero para identificar quem ¡ quem depois da troca de posiç¢ o. Este operador, no entanto, tem sido raramente utiliz ado na pr¤ tica. Considerando agora o efeito destrutivo dos blocos de construç¢ o causada pelo crossover uniforme, Syswerda (1989) argumenta que tal destruiç¢ o ¡ compensada pelo fato de ele poder combinar qualquer material dos cromossomos pais, independentemente da ordem dos genes. 3.2 REPRESENTAÇÃO REAL 3.2.1 REPRESENTAÇÃO BINÁRIA × REAL Para ilustrar esta seç¢ o, considere o Problema 3.2 que ¡ maximiz ar uma funç¢ o (conhecida na literatura de A G como funç¢ o F6 (Davis, 1991)) com dois parâmetros x e y. Na Figura 3.15 ¡ mostrado a representaç¢ o bin¤ ria do cromossomo e sua decomposiç¢ o nos dois parâmetros x e y.
  • 22. Est   fane Lacerda e Andr   Carvalho108 Problema 3.2 Maximiz ar ( )( )222 2 22 001,00,1 5,0sen 5,0),( yx yx yxf ++ −      + −= Sujeito a –100 ≤ x ≤ 100 –100 ≤ y ≤ 100 Decodificação de Cromossomo em dois parâmetros s1 = 01101001001001101000001000111000100001110010 Passo 1: Divisão da cadeia de bits s1 em duas cadeias de 22 bits: 0110100100100110100000 e 1000111000100001110010 Passo 2: Conversão da base 2 para a base 10: 1722784 e 2328690. Passo 3: Mapear estes resultados para o intervalo [-100, 100]: -17,851100+(-100)]-[100 12 1722784 221 = − =x 11,041100+(-100)]-[100 12 2328690 221 = − =y Figura 3.15 - Decodificaç¢ o do cromossomo em dois parâmetros (x,y) A representaç¢ o bin¤ ria ¡ historicamente importante, uma vez que foi utiliz ado nos trabalhos pioneiros de Holland (1975). É a representaç¢ o tradicional, sendo f¤ cil de utiliz ar e manipular, como tamb ¡ m ¡ simples de analisar teoricamente. Contudo, se um problem a tem parâmetros contínuos e o usu¤ rio quer trabalhar com boa precis¢ o numerica, ele precisar¤ armaz enar cromossomos longos na m emória. Pois, para cada ponto decimal acrescentado na precis¢ o, ¡ necess¤ rio adicionar 3,3 bits na cadeia. Caso 8 casas decimais
  • 23. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 109 sejam necess¤ rias, 8×3,3 ≈ 27 bits ser¢ o utiliz ados para cada parâmetro. Quando h¤ m uito parâmetros, obt ¡ m- se longas cadeias de bits que podem faz er o algoritmo convergir vagarosamente. A l ¡ m disso, n¢ o existe uniformidade nos operadores. Por exemplo, mutaç¢ o nos primeiros bits do gene afeta mais a aptid¢ o que m utaç¢ o nos ltimos bits do gene. A representaç¢ o real (i.e. com ponto flutuante) gera cromossomos menores e ¡ compreendida mais naturalmente pelo ser humano do que a cadeia de bits. No Problem a 3.2, o cromossomo seria representado por um vetor de dois n meros com ponto flutuante. Por exemplo (- 17,851; 11,041). Outra vantagem da representaç¢ o real ¡ a facilidade de criar novos operadores. Existe grande n mero deles conforme mostrado na próxima seç¢ o. V¤ rios pesquisadores t© m discutido qual a melhor representaç¢ o, a bin¤ ria ou a real, e muitos deles t© m mostrado experimentos favor¤ veis à representaç¢ o real (Michalewicz , 1994; Haupt e Haupt, 1998). 3.2.2 CROSSOVERS PARA REPRESENTA! O REAL A seguir ser¤ apresentada uma lista de operadores para representaç¢ o real. Considere a seguinte notaç¢ o utiliz ada nesta seç¢ o. Os cromossomos pais ser¢ o representados por: p1 = (p11 , p12 ,..., p1l ) p2 = (p21 , p22 ,..., p2l ) e o cromossomo filho por c = (c1 , c2 ,..., cl ). onde pij ∈ℜ e ci ∈ℜ. Quando h¤ mais de um filho, cada filho i ser¤ representado por ci = (ci1 , ci2 ,..., cil ). Os genes podem ter variados tipos de restriç£ es, mas por simplicidade, considere que o gene ci do filho c est¤ restrito ao intervalo [ai ,bi ]. Se o gene ci n¢ o satisfaz a esta restriç¢ o ent¢ o o filho c ¡ denominado de infactível. Ser¤ utiliz ado a notaç¢ o U(x,y) para representar um a distribuiç¢ o uniforme no intervalo
  • 24. Est   fane Lacerda e Andr   Carvalho110 [x,y] e a notaç¢ o N (µ,σ) para representar uma distribuiç¢ o normal com m ¡ dia µ e desvio padr¢ o σ. Operadores Convencionais Os operadores convencionais s¢ o resultados das adaptaç£ es dos operadores utiliz ados para representaç¢ o bin¤ ria. Os operadores convencionais (crossover de n pontos e uniforme) funcionam bem na representaç¢ o bin¤ ria, m as na representaç¢ o real eles basicamente trocam valores dos genes e, portanto, n¢ o criam informaç£ es novas (i.e., novos n meros reais). Melhor ent¢ o ¡ usar operadores aritm ¡ ticos. Operadores Aritméticos Os operadores aritm ¡ ticos realiz am algum tipo de combinaç¢ o linear entre os cromossomos pais. Crossover média (Davis, 1991): dado dois cromossomos p1 e p2 , ¡ produz ido um cromossomo c da seguinte forma: 2)( 21 ppc += Um variaç¢ o deste crossover ¡ o: Crossover média geométrica, onde cada gene ci do filho c ¡ dado por: iii ppc 21= para i= 1...l O crossover m ¡ dia tende a levar os genes para o meio do intervalo permitido [ai ,bi ] causando perda de diversidade. Isto pode ser melhorado com o crossover BLX- α . Crossover BLX- α ou crossover mistura (do ingl© s blend crossover) (Eshelm an e Shaffer, 1993): dado dois cromossomos p1 e p2 , ¡ produz ido um cromossomo c da seguinte forma:
  • 25. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 111 )( 121 pppc −+= β onde β ∈U(- α,1+ α). O BLX- α ¡ ilustrado na Figura 3.16 na qual foi escolhido um nico valor de β para todos os pares de genes. Quando α = 0 o filho situam- se sobre o intervalo I entre os dois pontos que representam os pais. O parâmetro α extende o intervalo I. Por exemplo, se α = 0,5, o intervalo I ¡ extendido α I em am bos os lados. O BLX- 0,5 balanceia a tend© ncia de gerar filhos próxim os ao centro do intervalo I evitando a perda de diversidade. Este tend© ncia ainda pode ser reduz ida com a mutaç¢ o limite mostrada mais tarde. O BLX- α tem sido usado com sucesso em m uitos trabalho e ¡ talvez o operador o mais utiliz ado para representaç¢ o real. Exemplo: Considere dois possíveis cromossomos para o Problema 2.1: p1 = (30,173; 85,342) p2 = (75,989; 10,162) A plicando o BLX- 0,5 com β = 1,262 (onde β ∈U(- 0,5; 1,5)), tem- se: c1 = 30,173 + 1,262(75,989- 30,173) = 87,993 c2 = 85,342 + 1,262(10,162- 85,342) = - 9,535 assim o filho ¡ dado por: c = (87,993; - 9,535) Se o filho c for infactível, ent¢ o gerar- se outro filho com novo β . O processo ¡ repetido at ¡ obter um filho factível. Note que neste exemplo, foi utiliz ado apenas um β para todos os genes. A lternativamente, pode- se usar um β diferente para cada par de gene. Neste caso, um
  • 26. Est   fane Lacerda e Andr   Carvalho112 possível filho situa- se em algum lugar de um a ¤ rea limitada por um retângulo (ver Figura 3.17). Nestes m ¡ todos, os genes podem ser com binados de v¤ rias maneiras. Por exemplo, combinar todos os genes ou escolher (como no crossover de 1 ponto) um gene aleatório k e combinar somente o genes i≥k, ou seja: p1 = (p11 , p12 ,..., p1k , p1,k+ 1, ..., p1l ) p2 = (p21 , p22 ,..., p2k , p2, k+ 1 ,...,p2i ) c = (p11, p12 ,...ck , ck+ 1, ...,cl ) Uma alternativa para o crossover BLX- α ¡ o: Crossover linear (Wright, 1991): dados dois pais p1 e p2 obt ¡ m- se tr© s filhos c1 , c2 e c3 da seguinte form a: 211 5,05,0 ppc += 212 5,05,1 ppc −= 213 5,15,0 ppc +−= Desses tr© s filhos, apenas o melhor ¡ escolhido, os outros dois s¢ o descartados. possível filho pai Parâmetro2 Parâmetro 1 I αI αI Figura 3.16 - Crossover BLX- α
  • 27. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 113 Parâmetro 1 Parâmetro2 possível filho pai Figura 3.17 - Crossover BLX- α com β v¤ riavel Outro estudo que vale m encionar ¡ o de Michalewicz (1994), que inventou v¤ rios operadores para representaç¢ o real. A com binaç¢ o destes operadores no mesmo A G apresentou melhor desempenho que o A G bin¤ rio tradicional. Ele usou: crossover aritm ¡ tico, crossover heurístico, crossover sim ples, mutaç¢ o uniforme, mutaç¢ o limite, mutaç¢ o n¢ o uniform e e a mutaç¢ o n¢ o- uniforme m ltipla. A seguir ser¢ o apresentados os crossovers, e na próxima seç¢ o, as mutaç£ es. Crossover aritm# tico (Michalewicz , 1994): dado dois cromossomos p1 e p2 , ¡ produz ido dois cromossomos c1 e c2 da seguinte forma 211 )1( ppc ββ −+= 212 )1( ppc ββ +−= onde β ∈U(0,1). Este operador difere do crossover BLX- α. por n¢ o extrapolar o intervalo entre p1 e p2 Crossover heurístico (Michalewicz , 1994): realiz a uma extrapolaç¢ o linear entre os pais usando a informaç¢ o da aptid¢ o. Dado dois cromossomos p1 e p2 em que p1 ¡ melhor do que p2 em termos de aptid¢ o. Ent¢ o ¡ produz ido um cromossomos c da seguinte forma
  • 28. Est   fane Lacerda e Andr   Carvalho114 )()(onde),( 21211 pppppc ffr −+= onde r ∈ U(0,1). Caso o crossover produz a um filho infactível, gera- se outro n mero aleatório r, e obt ¡ m- se novo filho. Se em t tentativas o filho continuar infactível, ent¢ o o crossover p¤ ra sem produz ir filhos. Crossover simples (Michalewicz , 1994): ¡ uma variaç¢ o do crossover convencional de 1 ponto adaptado para representaç¢ o real. Outros Operadores É possivel encontrar na literatura operadores gen ¡ ticos combinados com t ¡ cnicas mais complicadas, como por exemplo operadores que levam em consideraç¢ o a direç¢ o aproximada do gradiente (Gen e Cheng, 1997) ou operadores como o crossover quadr¤ tico (A dewuya, 1996) que usa tr© s pais para faz er um ajuste de curvas quadr¤ tico com base no valor da aptid¢ o. 3.2.3 MUTA! O PARA REPRESENTA! O REAL Mutaç o uniforme : ¡ a simples substituiç¢ o de um gene por um n mero aleatório. Ou seja, dado um cromossomo p com o j- ¡ simo gene selecionado para mutaç¢ o, ¡ produz ido um cromossomo c da seguinte forma    = = contráriocaso se),,( i ii i p jibaU c onde ai e bi representam os limites do intervalo permitido para o gene ci Mutaç o gaussiana : ¡ a substituiç¢ o de um gene por um n mero aleatório de um a distribuiç¢ o normal.
  • 29. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 115 Ou seja, dado um cromossomo p com o j- ¡ simo gene selecionado para mutaç¢ o, ¡ produz ido um cromossomo c da seguinte forma:    = = contráriocaso se),,( i i i p jipN c σ onde N (pi ,σ) ¡ uma distribuiç¢ o normal com m ¡ dia pi e desvio padr¢ o σ. A lternativamente, pode- se diminuir o valor de σ, à medida que aumenta a n mero de geraç£ es. Mutaç o creep: adiciona ao gene um pequeno n mero aleatório obtido de uma distribuiç¢ o normal (com m ¡ dia z ero e desvio padr¢ o pequeno) ou de uma distribuiç¢ o uniforme. A lternativamente, a mutaç¢ o creep pode ser realiz ada, multiplicando o gene por um n mero aleatório próximo de um. O n mero aleatório deve ser pequeno o suficiente para que cause apenas pequena perturbaç¢ o no cromossomo, porque estando perto do ponto m¤ ximo, tal perturbaç¢ o pode mo¨ © - lo rapidamente ao topo. A taxa de mutaç¢ o creep pode ser relativamente alta, visto que ele ¡ usada apenas para explorar localmente o espaço de busca (a mutaç¢ o creep n¢ o ¡ muito destrutiva). Mutaç o limite (Michalewicz , 1994): ¡ a substituiç¢ o do gene por um dos limites do intervalo permitido [ai ,bi ]. Ou seja, dado um cromossomo p com o j- ¡ sim o gene selecionado para mutaç¢ o, ¡ produz ido um cromossomo c da seguinte forma:      =≥ = = contráriocaso e5,0se e5,0se i i i i p jirb jira c onde r ∈ U(0,1). Note que este operador leva os genes para os limites dos intervalos permitidos [ai ,bi ]. Isto ¡ feito para evitar a perda de diversidade dos filhos gerados pelo crossover aritm ¡ tico que tende a traz er os genes para o centro dos intervalos permitidos.
  • 30. Est   fane Lacerda e Andr   Carvalho116 Mutaç o n o- uniforme (Michalewicz , 1994): ¡ a simples substituiç¢ o de um gene por um n mero extraído de uma distribuiç¢ o n¢ o- uniforme. Ou seja, dado um cromossomo p com o j- ¡ simo gene selecionado para mutaç¢ o, ¡ produz ido um cromossomo c da seguinte forma:      =≥−− =−+ = contráriocaso e5,0se)()( e5,0se)()( 1 1 i iii iii i p jirGfapp jirGfpbp c b G G rGf               −= max 2 1)( Onde r1 e r2 ∈ U(0,1), G ¡ o n mero da geraç¢ o corrente, Gmax ¡ o n mero m¤ ximo de geraç£ es e b ¡ um parâmetro do sistema que determina a forma da funç¢ o (o autor usou b= 6). Mutaç o n o- uniforme múltipla (Michalewicz , 1994): ¡ a simples aplicaç¢ o do operador m utaç¢ o n¢ o- uniforme em todos os genes do cromossomo p. 3.2.4 USANDO VÁRIOS OPERADORES Uma soluç¢ o para trabalhar com v¤ rios operadores ¡ pondera- los para indicar quantos filhos cada operador produz ir¤ .. Por exemplo, considere que h¤ dois operadores crossovers e um operador de mutaç¢ o e a necessidade de gerar 10 filhos para a próxima geraç¢ o. Considere tamb ¡ m que foram atribuidos para os tr© s operadores os pesos w1 = 40%, w2 = 40% e w3 = 20%, respectivamente. Ent¢ o, o primeiro crossover produz iria 4 filhos, o segundo crossover 4 filhos, e a mutaç¢ o 2 filhos (note que aqui a mutaç¢ o ¡ um operador independente que produz seus próprios filhos). Em geral, os pesos perm anecem constante por todas as geraç£ es. A lternativamente, dependendo do operador e do problema, pode- se variar os pesos em cada geraç¢ o para melhorar o desempenho do algoritmo (Davis, 1991).
  • 31. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 117 3.3 ALGORITMOS GENÉTICOS E OTIMIZA$% O CONVENCIONAL Em geral, um problema otimiz aç¢ o, conforme m encionado anteriormente, consiste em achar a soluç¢ o que corresponda ao ponto de m¤ ximo ou mínimo de uma funç¢ o f(x,y,z,u,...) de n parâmetros, x,y,z,u,... Um problema de maxim iz aç¢ o de uma funç¢ o num ¡ rica pode ser transformado em um problema de minimiz aç¢ o, e vice - versa. Por exemplo, achar o valor de x que maximiz a a funç¢ o f(x) = 1- x2 no intervalo - 1 ≤ x ≤ 1 ¡ o mesmo que minimiz ar a funç¢ o f(x) m ultiplicada por –1, ou seja, ¡ o mesmo que minimiz ar g(x) = - f(x) = x2 - 1. A ssim, para simplificar a exposiç¢ o deste tópico, ser¢ o considerados a seguir apenas problemas de minimiz aç¢ o (salvo quando mencionado o contr¤ rio). O gr¤ fico mostrado na Figura 3.18 apresenta dois pontos de mínimo em x0 e x1 . O ponto x0 ¡ denominado de mínimo local, pois f(x0 ) ≤ f(x) para todo x suficientemente próximo de x0 . O ponto x1 ¡ conhecido como mínimo global, pois f(x1 ) ≤ f(x) para todos os valores que x possa assumir. Um a funç¢ o que apresenta apenas um ponto de mínimo/m¤ ximo ¡ denominada de funç o unimodal . Quando uma funç¢ o possui mais de um ponto de mínimo/m¤ ximo, ela ¡ denominada de funç o multimodal. Mais adiante ser¤ mostrado que, em funç£ es multimodais complicadas, muitas t ¡ cnicas de otimiz aç¢ o possuem dificuldades para decidir se um dado ponto ótimo ¡ local ou global. x1x0 Minimo global Minimo local Figura 3.18 - Mínim o Local e Global
  • 32. Est   fane Lacerda e Andr   Carvalho118 Os parâmetros da funç¢ o objetivo podem ser restritos ou irrestritos. A s restriç£ es nos parâmetros restritos podem aparecer na forma de equaç£ es, como por exem plo: Minim iz a r ),( yxf Sujeito a 522 =+ yx ou na forma de inequaç£ es: Minim iz a r ),( yxf Sujeito a 52 22 ≤+ yx Quando os parâmetros s¢ o irrestritos, eles podem assumir qualquer valor. Por exem plo: Minim iz a r )(xf Sujeito a n ℜ∈x V¤ rios m ¡ todos de otim iz aç¢ o trabalham melhor com parâmetros irrestritos. Em muitos casos, ¡ possível converter um parâmetro restrito em um parâmetro irrestrito. Por exemplo, considere minimiz ar f(x) sujeita à restriç¢ o Min ≤ x ≤ Max. O parâmetro restrito x pode ser convertido no parâmetro irrestrito u faz endo x = M in+ (M ax- Min)sen2 (u) e minimiz ando f para qualquer valor de u. Quando a funç¢ o objetivo e as restriç£ es s¢ o funç£ es lineares dos parâmetros, o problema de otimiz aç¢ o ¡ conhecido como problem a de Programaç o Linear . Quando a funç¢ o objetivo ou as restriç£ es s¢ o funç£ es n¢ o lineares dos parâmetros, o problema ¡ conhecido como problema de Programaç o N o- Linear. Os parâmetros da funç¢ o objetivo podem ser contínuos ou discretos. Otimiz aç¢ o com parâmetros contínuos tem um n mero infinito de soluç£ es. Otimiz aç¢ o de parâmetros discretos, em geral, tem somente um n mero finito de possíveis soluç£ es, resultante de uma certa com binaç¢ o dos parâmetros. Um exemplo ¡ a decis¢ o sobre a melhor ordem com que um conjunto de aç£ es ou tarefas devem ser
  • 33. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 119 realiz adas. Este tipo de otimiz aç¢ o ¡ conhecido como Otimizaç o Combinatória . Visando situar A lgoritmos Gen ¡ ticos no contexto de otimiz aç¢ o em geral, considerem - se alguns das principais classes de m ¡ todos de otimiz aç¢ o: Gerar- e- Testar: O algoritmo Gerar- e- testar (tamb ¡ m conhecido como m ¡ todo da busca exaustiva ou aleatória) ¡ uma abordagem da força bruta. Emprega dois módulos: o módulo de geraç¢ o, que enumera possíveis soluç£ es sistematicamente ou aleatoriamente, e o módulo de teste, que avalia cada possível soluç¢ o, podendo aceitar ou rejeit¤ - la. O módulo gerador pode produz ir todas as possíveis soluç£ es antes do módulo de teste começar a agir. O mais comum ¡ o uso intercalado destes dois módulos. O m ¡ todo pode encerrar sua execuç¢ o quando uma soluç¢ o satisfatória for encontrada, depois de encontrar um n mero de soluç£ es satisfatórias ou continuar at ¡ que todas as possíveis soluç£ es sejam achadas. M# todos A nalíticos: Os m ¡ todos analíticos utiliz am t ¡ cnicas do C¤ lculo Diferencial para determinar os pontos extremos de uma funç¢ o e apresentam v¤ rias desvantagens: n¢ o informam se o ponto encontrado ¡ um ponto de mínimo local ou global; requerem funç£ es com derivadas e, al ¡ m disso, quando existe grande n mero de parâmetros torna- se difícil encontrar, analiticamente, todos os pontos de mínimo e m¤ ximo. Isto torna estes m ¡ todos impratic¤ veis para otimiz ar diversos problemas do mundo real. Subida de Encosta: Os m ¡ todos de Subida de Encosta (hill clim bing) investigam os pontos adjacentes do espaço de busca e movem - se na direç¢ o que melhora o valor da funç¢ o objetivo. Pode ser observado, portanto, que para funç£ es com muitos ótimos locais, um m ¡ todo de Subida de Encosta ter¤ dificuldades em localiz ar qual “encosta” leva ao ótimo global. M ¡ todos de Subida de Encosta tamb ¡ m t© m dificuldades quando existem planícies ou platôs na superfície de busca. Contudo, m ¡ todos de Subida de Encosta s¢ o geralmente r¤ pidos. Um grande n mero de t ¡ cnicas importantes de otimiz aç¢ o segue os princípios da Subida de Encosta. Um exemplo ¡ o m ¡ todo do gradiente.
  • 34. Est   fane Lacerda e Andr   Carvalho120 Os A lgoritmos Gen ¡ ticos t© m sido empregados em problemas complicados de otimiz aç¢ o, em que, muitas vez es, os m ¡ todos acima falham. A lgumas vantagens dos A Gs s¢ o: • Funcionam tanto com parâmetros contínuos como discretos ou um a combinaç¢ o deles. • Realiz am buscas simultâneas em v¤ rias regi£ es do espaço de busca, pois trabalham com uma populaç¢ o e n¢ o com um nico ponto. • Utiliz am informaç£ es de custo ou recompensa e n¢ o derivadas ou outro conhecimento auxiliar. • N¢ o ¡ necess¤ rio conhecimento matem¤ tico aprofundado do problema considerado. • Otimiz am um n mero grande de vari¤ veis. • Otimiz am parâmetros de funç£ es objetivos com superfícies complexas e complicadas, reduz indo a incid© ncia de mínimos locais. • A daptam - se bem a com putadores paralelos. • Trabalham com uma codificaç¢ o do conjunto de parâmetros e n¢ o com os próprios parâmetros. • Fornecem uma lista de parâmetros ótimos e n¢ o uma simples soluç¢ o. • Trabalham com dados gerados experimentalmente e s¢ o tolerantes a ruídos e dados incompletos. • S¢ o f¤ ceis de serem implementados em computadores. • S¢ o modulares e port¤ teis, no sentido que o mecanismo de evoluç¢ o ¡ separado da representaç¢ o particular do problema considerado. A ssim, eles podem ser transferidos de um problema para outro. • S¢ o flexíveis para trabalhar com restriç£ es arbitr¤ rias e otimiz ar m ltiplas funç£ es com objetivos conflitantes.
  • 35. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 121 • S¢ o tamb ¡ m facilmente hibridiz ados com outras t ¡ cnicas e heurísticas. A pesar dessas vantagens, os A Gs n¢ o s¢ o eficientes para muitos problemas. S¢ o bastante lentos e n¢ o raro ainda est¢ o avaliando a populaç¢ o inicial enquanto muitos m ¡ todos de Subida de Encosta j¤ t© m encontrado a soluç¢ o. O principal campo de aplicaç¢ o dos A G ¡ em problemas complexos, com m ltiplos mínimos/m¤ ximos e para os quais n¢ o existe um algoritmo de otimiz aç¢ o eficiente conhecido para resol¨ © - los. A seguir, ser¢ o comparados aspectos do mecanismo de busca dos A G´ s com os m ¡ todos convencionais. Os m ¡ todos Gerar- e- Testar possuem a característica de explorar pontos inteiram ente novos do espaço de busca. Os m ¡ todos de Subida de Encosta, por outro lado, caracteriz am- se por utiliz ar a inform aç¢ o oriunda de pontos anteriormente visitados para encontrar os melhores. Um algoritmo de otimiz aç¢ o eficiente deve usar estas duas t ¡ cnicas (denominadas de Exploration e Exploitation, respectivamente) para encontrar o ótimo global da funç¢ o objetivo (Beasley et al, 1993a). A mbas as t ¡ cnicas t© m a mesma traduç¢ o para o portugu© s, exploraç¢ o. Entretanto, Exploitation significa exploraç¢ o no sentido de tirar de informaç£ es presentes nas soluç£ es encontradas e Exploration diz respeito à exploraç¢ o no sentido de visitar pontos desconhecidos no espaço de busca à procura por novas soluç£ es. O crossover e a mutaç¢ o s¢ o dois mecanismos de busca dos A Gs que levam à exploraç¢ o de pontos inteiram ente novos do espaço de busca ( exploration). Enquanto a seleç¢ o dirige a busca em direç¢ o aos melhores pontos do espaço de busca (exploitation), a press o da seleç o , dada pela raz ¢ o entre aptid¢ o m¤ xima da populaç¢ o e a aptid¢ o m ¡ dia, influencia a quantidade de Exploitation e Exploration. Quando a press¢ o de seleç¢ o ¡ muito baixa (i.e., a aptid¢ o ¡ praticamente a mesma para toda a populaç¢ o), o A G assume um comportamento aleatório, pois n¢ o h¤ seleç¢ o. Isto torna o A G semelhante à busca aleatória dos m ¡ todos Gerar- e- Testar (m uito exploration). Quando a press¢ o de seleç¢ o ¡ muito alta, o A G assume o comportamento dos m ¡ todos de Subida de Encosta
  • 36. Est   fane Lacerda e Andr   Carvalho122 (muito exploitation). Na pr¤ tica, ¡ difícil conhecer qual a press¢ o de seleç¢ o que fornece o equilíbrio ideal. O crossover ¡ o principal mecanismo de busca do A G. Ele ¡ capaz de combinar as boas porç£ es dos cromossomos pais, isto ¡ , os bons blocos de construç¢ o. Como resultado, cromossomos filhos com aptid£ es mais elevadas que as dos pais podem ser produz idos. A mutaç¢ o tamb ¡ m desempenha importante papel no A lgoritmo Gen ¡ tico, um a vez que permite que qualquer ponto do espaço de busca seja alcançado. A fase de seleç¢ o descarta os cromossomos com baixa aptid¢ o e com eles muitos genes tamb ¡ m s¢ o eliminados. Na aus© ncia de mutaç¢ o, genes presentes apenas nos cromossomos descartados n¢ o ser¢ o m ais recuperados, pois o crossover n¢ o gera novos genes, apenas com bina os que j¤ existem. O desaparecimento de determinados genes da populaç¢ o no decorrer das geraç£ es (fenômeno denominado na biologia de Genetic drift) impossibilita um A lgoritmo Gen ¡ tico de explorar completamente o espaço de busca. Como resultado, o A G pode convergir para um mínimo ou m¤ ximo local. Este problema ¡ conhecido como Convergência Prematura, que tem como um a de suas principais causas o Genetic drift. Com taxas adequadas de mutaç¢ o, ¡ possível m anter uma boa diversidade de genes da populaç¢ o a fim de contrabalançar estas perdas de genes. A l ¡ m dos A lgoritmos Gen ¡ ticos, existem outros m ¡ todos de otimiz aç¢ o global (i.e. m ¡ todos que levam ao ótimo global), sendo a maioria deles recentes. Os m ¡ todos antigos de otimiz aç¢ o s¢ o quase todos m ¡ todos de Subida de Encosta. A lguns exemplos s¢ o Recoz imento Simulado, Busca Tabu e Branch and Bound combinado com outras t ¡ cnicas (e.g. A n¤ lise Intervalar) (Stolfi e Figueiredo, 1997). 3.4 ASPECTOS AVAN$ ADOS Neste item, ser¢ o comentados alguns aspectos pr¤ ticos de A lgoritmos Gen ¡ ticos considerados importantes pelos autores.
  • 37. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 123 3.4.1 POPULA! O INICIAL A populaç¢ o inicial pode ser gerada de v¤ rias m aneiras. Se uma populaç¢ o inicial pequena for gerada aleatoriamente, provavelmente, algumas regi£ es do espaço de busca n¢ o ser¢ o representadas. Este problema pode ser minimiz ado gerando a populaç¢ o inicial de maneira uniforme (i.e. com pontos igualmente espaçados, como se preenchessem uma grade no espaço de busca). Outra alternativa ¡ gerar a primeira metade da populaç¢ o aleatoriamente e a segunda metade a partir da primeira, invertendo os bits. Isto garante que cada posiç¢ o da cadeia de bits tenha um representante na populaç¢ o com os valores 0 e 1, como pode ser visto na Tabela 3.2. Tabela 3.2 - Geraç¢ o da populaç¢ o inicial 1a metade gerada aleatoriamente 2a metade inverte os bits da 1a metade 1011010 0100101 0111011 1000100 0001101 1110010 1100110 0011001 Pode ser interessante usar uma populaç¢ o inicial maior que a utiliz ada nas geraç£ es subsequentes, visando a melhorar a representaç¢ o do espaço de busca. Uma t ¡ cnica denomina “seeding” pode ser til em muitos problemas pr¤ ticos. Consiste em colocar, na populaç¢ o inicial, soluç£ es encontradas por outros m ¡ todos de otimiz aç¢ o. Isto garante que a soluç¢ o gerada pelo A G n¢ o seja pior que as soluç£ es geradas por estes m ¡ todos. 3.4.2 FUN! O OBJETIVO A funç¢ o objetivo em alguns problemas pode ser bastante complicada, demandando um alto custo computacional. Por exemplo, existem problemas em que, para avaliar um
  • 38. Est   fane Lacerda e Andr   Carvalho124 cromossomo, ¡ necess¤ ria uma simulaç¢ o completa do processo, o que pode chegar a consumir horas. Haupt e Haupt (1998) sugerem, para lidar com tais funç£ es objetivo, algum as dicas que prop£ em cuidados a serem tomados para n¢ o avaliar cromossomos id© nticos mais de um a vez , reutiliz ando deste modo a avaliaç¢ o feita anteriormente. Isto pode feito de v¤ rias maneiras: 1. evitando gerar cromossomos id© nticos na populaç¢ o inicial; 2. verificando se foi aplicado crossover ou mutaç¢ o nos pais, pois, caso n¢ o tenham sido aplicados, os filhos ser¢ o iguais ao pais; 3. observando se o filho ¡ igual a um dos pais; 4. mantendo a populaç¢ o com todos os cromossomos distintos entre si, o que tamb ¡ m ajuda na manutenç¢ o da diversidade (no A G do tipo Steady State isto ¡ feito evitando inserç¢ o de cromossom os duplicatas na populaç¢ o); 5. antes de avaliar um filho, verificando se j¤ existe um cromossomo igual a este filho na populaç¢ o. Em situaç£ es mais extremas, dever- se- ¢ o armaz enar todos os cromossomos das geraç£ es atual e passada, verificando se algum deles ¡ igual ao novo filho gerado. É claro que tais abordagens tam b ¡ m incorporam um custo computacional extra ao A G. Deve- se analisar se este custo extra compensa o tempo economiz ado na avaliaç¢ o da funç¢ o objetivo. Uma outra abordagem ¡ procurar uma maneira de simplificar a funç¢ o objetivo. A vers¢ o simplificada da funç¢ o objetivo seria utiliz ada nas geraç£ es iniciais para acelerar a busca por regi£ es promissoras do espaço de busca. Nas geraç£ es finais, a vers¢ o original da funç¢ o objetivo seria utiliz ada para melhorar a precis¢ o da soluç¢ o. Outro m ¡ todo ¡ usar o A G para localiz ar a encosta do m¤ ximo global, e posteriormente, substituir o A G por um M ¡ todo de Subida de Encosta que rapidamente encontre a soluç¢ o (os A G s¢ o bons para localiz ar, veloz mente, regi£ es promissoras do espaço de busca, por ¡ m depois s¢ o lentos para refinar as soluç£ es).
  • 39. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 125 3.4.3 CRITÉRIOS DE PARADA A lguns dos v¤ rios crit ¡ rios de parada para os A Gs, s¢ o: 1. quando o A G atingir um dado n mero de geraç£ es (ou avaliaç£ es); 2. chegada ao valor ótimo da funç¢ o objetivo, se este ¡ conhecido; 3. converg© ncia, isto ¡ , quando n¢ o ocorrer melhoramento significativo no cromossomo de maior aptid¢ o por um dado n mero de geraç£ es. Outras alternativas s¢ o tamb ¡ m usadas, por exemplo: considere que um gene converge se 90% da populaç¢ o tem o mesmo valor para este gene. Se entre 90% e 95% dos genes convergiram, o A G convergiu. 3.4.4 SUBSTITUI ÕES GERACIONAL E STEADY- STATE Existem dois tipos b¤ sicos de substituiç¢ o de cromossomos: substituiç¢ o geracional e substituiç¢ o steady- state. Na substituiç¢ o geracional (utiliz ada na Seç¢ o 3.1), toda a populaç¢ o ¡ substituída em cada geraç¢ o, ou seja, s¢ o criados N filhos para substituir N pais. A lternativamente, podem ser criados N filhos, e os N m elhores indivíduos da uni¢ o de pais e filhos substituem a populaç¢ o atual. Na substituiç¢ o geracional com elitismo, os k melhores pais nunca s¢ o substituídos por filhos piores. Geralmente ¡ utiliz ado um valor de k = 1. A umentando o valor de k, aum enta- se o risco da converg© ncia prematura. Na substituiç¢ o steady- state, s¢ o criados apenas dois (ou um) filhos em cada “geraç¢ o”, que substituem os dois piores cromossomos da populaç¢ o. A lternativamente, os dois filhos podem substituir os pais ou os dois cromossomos mais velhos da populaç¢ o, baseado na suposiç¢ o de que o cromossomo existente na populaç¢ o h¤ muitas geraç£ es, j¤ transmitiu seus genes à populaç¢ o. Na forma geral da substituiç¢ o steady- state, s¢ o criados n filhos que substituem os n piores pais. Em geral, a taxa de crossover ¡ maior ( 1≈ ) no A G steady- state do que no A G geracional. Esta abordagem agressiva utiliz a os filhos para crossover t¢ o logo eles sejam gerados (n¢ o h¤ populaç¢ o intermedi¤ ria), e
  • 40. Est   fane Lacerda e Andr   Carvalho126 tendo apresentado bons resultados (Davis, 1991). Por ¡ m, gera um custo computacional extra, por exemplo, para cada filho criado ¡ necess¤ rio recalcular estatísticas, a aptid¢ o m ¡ dia, reordenar a populaç¢ o, etc. Contudo, em muitos problemas pr¤ ticos, este custo extra n¢ o ¡ significativo, pois o custo computacional est¤ quase todo concentrado no c¤ lculo da aptid¢ o. Nesta t ¡ cnica, ¡ interessante evitar inserir filhos duplicados na populaç¢ o, pois a mesma gera, naturalmente, um grande n mero de filhos duplicados (Davis, 1991). 3.4.5 PROBLEMAS DE CONVERGÊNCIA A converg© ncia prematura ¡ um conhecido problema dos A Gs. Ocorre quando surgem cromossomos de alta aptid¢ o (mas n¢ o com aptid¢ o ótima), e os cromossomos realmente ótimos ainda n¢ o est¢ o presentes na populaç¢ o. Tais cromossomos (chamados de superindivíduos) geram um n mero excessivo de filhos que dominam a populaç¢ o, uma vez que a mesma ¡ finita. Estes cromossom os espalham seus genes por toda a populaç¢ o, enquanto outros genes desaparecem (tal desaparecimento de genes ¡ denominado de genetic drift). Como conseqü© ncia, o algoritmo converge para um m¤ ximo ou mínimo local, conforme a Figura 3.19 ilustra este processo. Combate- se a converg© ncia prematura, limitando o n mero de filhos por cromossomos. Esta limitaç¢ o pode ser realiz ada atra¨ ¡ s do escalonamento da aptid¢ o, ordenam ento e outras t ¡ cnicas a serem descritas mais adiante. Manter a diversidade dos cromossomos na populaç¢ o tamb ¡ m combate a converg© ncia prem atura, visto que ¡ tam b ¡ m causada pela perda de diversidade. O aumento da taxa de mutaç¢ o tamb ¡ m melhora a diversidade (mais genes s¢ o criados). Evitar a inserç¢ o de filhos duplicados na populaç¢ o ¡ uma outra alternativa para melhorar a diversidade.
  • 41. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 127 Figura 3.19 - Converg' ncia prematura Um outro problema que pode ocorrer quando A Gs s¢ o utiliz ados ¡ explicado pelo seguinte exemplo. Considere substituir a funç¢ o objetivo utiliz ada no Problema 3.2 pela nova funç¢ o objetivo (3.8). Tal substituiç¢ o torna o valor da funç¢ o objetivo praticamente o mesmo para toda a populaç¢ o, como na Tabela 3.3. ( )( )222 2 22 001,01 5,0sen 2000),( yx yx yxf ++ −     + −= Tabela 3.3 - Intervalo estreito de aptid¢ o Crom ossom o Funç¦ o objetivo Probabilidade de seleç¦ o A 2.000,999588 20,004% B 2.000,826877 20,002% C 2.000,655533 20,001% D 2.000,400148 19,998% E 2.000,102002 19,995% Neste caso, deixar a aptid¢ o igual à funç¢ o objetivo torna a seleç¢ o um processo aleatório (qualquer cromossomo tem a mesma probabilidade de seleç¢ o), ocorrendo problema semelhante ocorre nas geraç£ es finais do algoritmo, mas por outro motivo. Grande parte da populaç¢ o convergiu e os cromossomos t© m aptid£ es praticamente iguais. A seleç¢ o
  • 42. Est   fane Lacerda e Andr   Carvalho128 torna- se tamb ¡ m aleatória. O algoritmo tem dificuldade de melhorar a soluç¢ o e converge lentamente. Este problema ¡ resolvido expandindo o intervalo da funç¢ o objetivo atra¨ ¡ s de ordenamento ou outra form a de mapeamento. 3.4.6 MAPEAMENTO DA FUN! O OBJETIVO O valor da funç¢ o objetivo nem sempre ¡ adequado para ser utiliz ado como valor de aptid¢ o. Por exemplo, a funç¢ o objetivo pode assumir valores negativos (a roda da roleta n¢ o funciona), valores muitos próximos (torna a seleç¢ o aleatória), alguns valores podem ser muito elevados em relaç¢ o ao resto da populaç¢ o (causa a converg© ncia prematura), etc. O mapeamento da funç¢ o objetivo para o valor da aptid¢ o pode ser feito de v¤ rios modos, alguns dos quais ser¢ o discutidos a seguir. Ordenamento No m ¡ todo ordenamento linear, a aptid¢ o ¡ dada por (Baker, 1987; Whitle, 1989): 1 )( − − −+= N iN MinMaxMinfi em que i ¡ o índice do cromossomo na populaç¢ o em ordem decrescente de valor da funç¢ o objetivo. Normalmente ¡ utiliz ado 1 ≤ Max ≤ 2 e M ax+ Min = 2. Vale notar que deste modo a aptid¢ o representa o n mero de filhos esperados do cromossomo e Max- Min representa a press¢ o de seleç¢ o (raz ¢ o entre a maior aptid¢ o e a aptid¢ o m ¡ dia, ff /max ). Um exemplo ¡ mostrado na Tabela 3.4, que expande o intervalo dos valores da funç¢ o objetivo que est¢ o muitos próximos (resolvendo assim o problema mostrado na Tabela 3.3). Tabela 3.4 - Ordenamento linear Crom ossom o Funç¦ o objetivo Posiç¦ o A ptid¦ o Probabilidade de seleç¦ o
  • 43. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 129 A 2.000,99958 8 1 2,0 40% B 2.000,82687 7 2 1,5 30% C 2.000,65553 3 3 1,0 20% D 2.000,40014 8 4 0,5 10% E 2.000,10200 2 5 0,0 0% A Figura 3.20 mostra o controle da press¢ o de seleç¢ o utiliz ando ordenamento linear. Na Figura 3.20(a), a alta press¢ o de seleç¢ o favorece fortemente os melhores cromossomos, direcionando a busca às melhores soluç£ es encontradas at ¡ ent¢ o (muito exploitation). Na Figura 3.20(b), a baixa press¢ o de seleç¢ o favorece um pouco mais os cromossomos de baixa aptid¢ o, direcionando a busca para regi£ es desconhecidas do espaço de busca (muito exploration). alta pressão de seleção 21 N3 min max posição aptidão 21 N3 min max baixa pressão de seleção aptidão posição (a) (b) Figura 3.20 - Posiç¢ o do cromossomo × press¢ o da seleç¢ o No m ¡ todo ordenamento exponencial, a aptid¢ o ¡ dada por (Michalewicz , 1994): 1 )1( − −= i i qqf
  • 44. Est   fane Lacerda e Andr   Carvalho130 em que q ∈ [0, 1] e i ¡ o índice do cromossomo na populaç¢ o em ordem decrescente de valor da funç¢ o objetivo. A lternativamente, a aptid¢ o pode ser normaliz ada dividindo a Eq.(4.3) pelo fator 1- (1- q)N . O ordenamento exponencial permite maior press¢ o de seleç¢ o do que o ordenamento linear. Escalonamento Linear No m ¡ todo escalonamento linear, a aptid¢ o ¡ obtida pela equaç¢ o: bagf += em que g ¡ o valor da funç¢ o objetivo (ver Figura 3.21). Os coeficientes a e b s¢ o determinados, limitando o n mero esperado de filhos dos cromossomos (filhos em excesso causam perda de diversidade). O escalonamento linear de Goldberg (1989) transforma as aptid£ es de tal modo que a aptid¢ o m ¡ dia torna- se igual ao valor m ¡ dio da funç¢ o objetivo (i.e. gf = ), e a aptid¢ o m¤ xima igual a C vez es a aptid¢ o m ¡ dia (i.e. gCf =max ). Tipicamente, o valor de C est¤ entre 1,2 e 2,0. Quando o escalonamento gera aptid£ es negativas, os coeficientes a e b s¢ o calculados de outro modo (impondo 0min =f ). Os resultados s¢ o resum idos na A lgoritmo 3.3 (o teste )1()( maxmin −− CggCg , verificando se ocorre aptid¢ o negativa). fmax f gmin g gmax fmin Figura 3.21 - Gr¤ fico de escalonamento da aptid¢ o
  • 45. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 131 A lgoritmo 3.3: C¤ lculo dos coeficientes a e b do escalonamento linear. ∑ = = N i ig N g 1 1 Elaborar equaç¦ o se )1()( maxmin −− CggCg ent( o /* testa se ocorre aptid¦ o negativa */ gg −←∆ max ∆−← gCa )1( ∆−← )( max gCggb sen( o mingg −=∆ ∆← ga ∆−= minggb fim se retorne a e b 3.4.7 SELE! O POR TORNEIO Na seleç¢ o por torneio, cada cromossomo ¡ selecionado para a populaç¢ o intermedi¤ ria do seguinte modo: s¢ o escolhidos aleatoriamente (com probabilidades iguais) n cromossomos da populaç¢ o e o melhor dentre estes cromossomos ¡ selecionado. O valor n = 2 ¡ usual. A seleç¢ o por torneio n¢ o precisa de escalonamento da aptid¢ o e nem de ordenamento. Em uma outra vers¢ o, a seleç¢ o por torneio utiliz a probabilidades diferenciadas. Se o torneio envolve dois cromossomos, o primeiro ganha o torneio com probabilidade q (onde 0,5 q 1); e o segundo, com probabilidade 1 - q. Para um torneio entre n crom ossomos, o primeiro cromossomo ganha o torneio com probabilidade q, o segundo com probabilidade q(1- q); o terceiro, com q(1 - q)2 , e assim por diante... (vale notar que se n = N , em que N ¡ o tamanho da populaç¢ o, tal seleç¢ o ¡ equivalente à seleç¢ o com ordenamento exponencial). A umentando o n mero n de cromossomos do torneio ou a probabilidade q do primeiro cromossomo vencer, aumenta- se
  • 46. Est   fane Lacerda e Andr   Carvalho132 a press¢ o de seleç¢ o, isto ¡ , cromossomos com aptid¢ o acima da m ¡ dia ter¢ o mais chances de serem selecionados. 3.4.8 AMOSTRAGEM ESTOCÁSTICA UNIVERSAL O algoritmo Roda da Roleta possui o problema de apresentar uma grande variância em relaç¢ o ao n mero esperado de filhos dos cromossomos pais. A A mostragem Universal Estoc stica ou SUS (do ingl© s, Stochastic Universal Sam pling) (Baker, 1987) soluciona este problema de maneira simples e t¢ o perfeita quanto possível. Neste m ¡ todo, a populaç¢ o ¡ em baralhada e um gr¤ fico do tipo “torta” ¡ construído com uma fatia associada a cada cromossomo da populaç¢ o. A ¤ rea das fatias ¡ proporcional à aptid¢ o do cromossomo que ela representa. Em volta da parte externa da “torta” s¢ o colocados N ponteiros igualmente espaçados. Por fim, o cromossomo apontado por cada ponteiro ¡ selecionado para crossover e mutaç¢ o (ver Figura 3.22). Na pr¤ tica, os cromossomo selecionados podem ser alocados em uma populaç¢ o intermedi¤ ria e ent¢ o a cada dois cromossomos ¡ aplicado o crossover a a b c d Pais selecionadose a d b c Figura 3.22 - A mostragem Universal Estoc¤ stica 3.4.9 OTIMIZA! O MULTIOBJETIVO Muitos problemas do m undo real envolvem a otimiz aç¢ o de mais de uma funç¢ o objetivo. Uma abordagem simples para tratar de um conjunto de funç£ es objetivo f1 , f2 ,..., fn , ¡ formar
  • 47. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 133 uma nova funç¢ o objetivo F, obtida da soma ponderada das funç£ es objetivo, ou seja: ∑ = = n i ii fwF 1 em que wi ¡ um peso (que pode ser usado pelo usu¤ rio para dar mais relevância a uma funç¢ o do que às outras). A minimiz aç¢ o de F minimiz a todas as funç£ es fi . No entanto, as funç£ es objetivo podem ser conflitantes, no sentido de que otimiz ar uma funç¢ o degrada a otimiz aç¢ o da outra funç¢ o (e.g. minimiz ar custos de um produto e maximiz ar sua qualidade tem, em geral, objetivos conflitantes). Uma melhor abordagem seria usar o conceito de Pareto- ótimo (Fonseca e Fleming, 1995, 1997) (devido a Vilfredo Pareto, um dos primeiros a usar tal conceito). Este conceito introduz a id ¡ ia de dominaç o e n o dominaç o . Uma soluç¢ o x1 ¡ dita n¢ o dominada por uma soluç¢ o x2 , quando ela, em todas as funç£ es, ¡ no mínimo t¢ o boa quanto a soluç¢ o x2 , e em pelo menos em uma das funç£ es, x1 ¡ melhor que x2 , ou seja: ( )()(: 21 xx ii ffi ≥∀ ) E ( )()(: 21 xx jj ffj ∃ ) A meta do A G ¡ encontrar o conjunto Pareto- ótimo (tamb ¡ m denominado de fronteira Pareto- ótimo ), que ¡ o conjunto de todas as soluç£ es n¢ o- dominadas do espaço de busca. Seja S o espaço de busca, o conjunto Pareto- ótimo P ¡ dado por: }pordominadoé:|{ jiji SSP xxxx ∈∃/∈= Exemplo: Considere um problema com duas funç£ es objetivo, f1 (x) e f2 (x), em que todas as soluç£ es possíveis s¢ o mostradas na Tabela 3.5. O conjunto Pareto- ótimo ¡ dado pela soluç£ es {2,4,8}, uma vez que a soluç¢ o x= 10 ¡ dominada por x= 8, e x= 12 ¡ dominado por x= 4.
  • 48. Est   fane Lacerda e Andr   Carvalho134 Tabela 3.5 - Duas funç£ es objetivo x f1 (x) f2 (x) 2 80 30 4 20 100 8 30 50 10 30 40 12 20 80 Vale notar que o A G retornar¤ ao usu¤ rio um conjunto de soluç£ es ótimas ao in¨ ¡ s de uma nica soluç¢ o. A aptid¢ o pode ser calculada utiliz ando ordenamento com base na n¢ o- dominaç¢ o de indivíduos, conforme sugerido pelo seguinte procedimento: atribui- se a posiç¢ o 1 a todos os indivíduos n¢ o dominados da populaç¢ o. Em seguida, tais indivíduos de posiç¢ o 1 s¢ o removidos, temporariamente, da populaç¢ o. Na que restou, atribui- se a posiç¢ o 2 aos indivíduos n¢ o dominados. Em seguida, retira- se temporariam ente os indivíduos de posiç¢ o 2 da populaç¢ o. Na restante, repete- se o procedimento, atribuindo a posiç¢ o 3 aos indivíduos n¢ o dominados, e assim por diante at ¡ tornar- se vaz ia. A otimiz aç¢ o com o Pareto- ótimo tem sido usado com nichos, visando a estabiliz ar o grande n mero de subpopulaç£ es que surgem no conjunto Pareto- ótimo (Horn e Nafpliotis, 1992). 3.4.10 RESTRI ÕES V¤ rios problemas de otimiz aç¢ o do mundo real cont© m restriç£ es. Em geral, um problema de otimiz aç¢ o restrita pode ser declarado como segue: Minim iz e f(x) Sujeito a g1(x) ≤0 g2(x) ≤0 ... gm (x) ≤0 x∈ℜn
  • 49. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 135 Uma abordagem para lidar com restriç£ es em A G ¡ simplesmente atribuir aptid¢ o z ero aos cromossomos infactíveis (i.e. aqueles que n¢ o satisfaz em as restriç£ es). Por ¡ m, os cromossomos infactiveis próximos das regi£ es factíveis podem conter informaç£ es importantes para gerar filhos factíveis. Portanto, ao in¨ ¡ s de z erar a aptid¢ o de tais cromossomos, pode- se apenas penaliz ar a aptid¢ o. Para isto, usa- se uma funç¢ o de p© nalti )(xjΦ , que define o qu¢ o a soluç¢ o x viola a restriç¢ o j. (i.e. o qu¢ o distante o cromossomo infactível est¤ da regi¢ o factível). A s funç£ es de p© nalti podem ser definidas como segue: quando a restriç¢ o j ¡ uma inequaç¢ o, a funç¢ o de p© nalti ¡ dada por: ))(,0max()( xx jj g=Φ Quando a restriç¢ o j ¡ uma equaç¢ o, a funç¢ o de p© nalti ¡ dada por: )()( xx jj g=Φ A gora o problema de otimiz aç¢ o mencionado acima torna- se irrestrito com a soma da antiga funç¢ o objetivo com o termo de p© nalti, isto ¡ : Minim iz e )()()( 1 2 ∑ = Φ+= m j jrfh xxx Sujeito a x∈ℜn onde r ¡ a constante de p© nalti (serve para controlar o tamanho da penalidade). Uma outra abordagem ¡ faz er de cada restriç¢ o uma funç¢ o objetivo diferente e resolver o problema como um problema de otimiz aç¢ o multiobjetivo (Camponogara e Talukdar, 1997). Mais detalhes sobre restriç£ es ver (Michalewicz , 1997a, 1997b). 3.4.11 AS FUN ÕES DE TESTE DE DEJONG Existem muitas variaç£ es de A Gs, cada uma delas ¡ mais indicada para um determinado tipo de problem a. Para permitir
  • 50. Est   fane Lacerda e Andr   Carvalho136 comparaç£ es entre os v¤ rios A Gs, ¡ importante test¤ - los sob o mesmo conjunto de funç£ es. A literatura de A Gs ¡ repleta destas funç£ es. DeJong (1975), na sua tese de doutorado, propôs e utiliz ou um conjunto de funç£ es para testar v¤ rios A Gs. Tal conjunto foi empregado por muitos pesquisadores e ainda hoje, freqüentemente, utiliz ado na literatura para testes e comparaç£ es. O conjunto ¡ formado por 5 funç£ es simples com v¤ rios tipos de superfícies: contínua/descontínua, convexa/n¢ o- convexa, unimodal/multimodal, determinística/estoc¤ stica e de baixa/alta dimensionalidade. A Tabela 3.6 apresenta as 5 funç£ es propostas. Tabela 3.6 - Funç£ es de teste de DeJong Nome Funç¢ o Limites Características F1 ∑ = 3 1 2 i ix -5,12 ≤ xi ≤ 5,12 Unim odal e quadr¥ tica. Com mínim o em f(0,0,0) = 0 F2 ( ) ( )2 1 2 2 2 1 1100 xxx −+− -2,048 ≤ xi ≤ 2,048 Unim odal. É a funç¦ o cl¥ ssica de Rosenbrock em duas dim ens es. Com minim o em f(1,1) = 0 F3 ∑ = 5 1 )inteiro( i ix -5,12 ≤ xi ≤ 5,12 Descontinua Minim o em f(0,0,0,0,0) = 0 F4 ∑ = + 30 1 4 0,1)gaussiana( i iix -1,28≤ xi ≤ 1,28 A lta dim ensionalida de, estoc¥ stica Com minim o em f(0,...,0) = 0
  • 51. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 137 F5 ( ) ∑ ∑= = −+ + 25 1 2 1 6 1 002,0 j i iji axj -65,536 ≤ xi ≤ 65,536 Extremam ente m ultim odal, com picos agudos. Todas estas funç£ es representam problemas de minimiz aç¢ o. Na funç¢ o F3, a funç¢ o inteiro( x) arredonda o valor de x para o inteiro mais próximo. Na funç¢ o F4, a funç¢ o gaussiana (0,1) gera um n mero aleatório obtido de uma distribuiç¢ o normal com m ¡ dia z ero e desvio padr¢ o 1. Na funç¢ o F5, os coeficientes aij s¢ o constantes determinadas pelo usu¤ rio (sugest¢ o: usar todos aij = 10). 3.5 PROBLEMA DO CAIXEIRO VIAJANTE O objetivo deste item ¡ mostrar como aplicar A Gs em problemas de naturez a diferente daqueles anteriormente descritos (otimiz aç¢ o de funç£ es n mericas). Por exemplo, problemas que dependem da ordem com que aç£ es ou tarefas s¢ o executadas. Tais problemas t© m sido exaustivamente estudados na literatura de A Gs e t© m levado a proposta de v¤ rios operadores gen ¡ ticos específicos. Para ilustrar seu uso, estes operadores s¢ o aplicados a um problema conhecido de otimiz aç¢ o combinatória: o problema do caixeiro viajante (PCV). Este problema ¡ NP- Difícil, o que significa que os algoritmos conhecidos para encontrar sua soluç¢ o exata s¢ o intrat¤ veis pelo computador (i.e. requerem uma quantidade de tempo computacional que aumenta exponencialmente com o tamanho do problema). Problemas NP- Difícil t© m sido resolvidos com algoritmos heurísticos (por exem plo, A lgoritmos Gen ¡ ticos) que n¢ o garantem achar a soluç¢ o exata, mas que reduz em o tempo de processam ento. O PCV ¡ descrito como segue. Existe uma lista de cidades que um vendedor precisa visitar, devendo faz er a visita em cada uma nica vez . Cada par de cidades ¡ ligado por um a estrada.
  • 52. Est   fane Lacerda e Andr   Carvalho138 O objetivo deste problema ¡ encontrar o caminho mais curto que o vendedor deve seguir, começando em um a cidade e terminando na mesma (tal cidade pode ser qualquer uma da lista). A alternativa mais simples para encontrar o caminho mais curto seria a realiz aç¢ o de um a busca exaustiva, isto ¡ , a verificaç¢ o de todos os caminhos possíveis. Esta alternativa funciona quando existem poucas cidades, no entanto, com o aumento do n mero de cidades, esta abordagem torna- se proibitiva. Para N cidades, o n mero total de caminhos possíveis ¡ igual a (N - 1)!. O tempo para checar cada caminho ¡ proporcional a N . Como resultado, o tempo total de busca ¡ proporcional a N x(N - 1)!= N !. Para uma lista de apenas 30 cidades, a busca exaustiva implica na verificaç¢ o de 30! caminhos (que ¡ um n mero de magnitude astronômica), tornando a busca impratic¤ vel. A funç¢ o objetivo natural para este problema ¡ o comprimento total do caminho (que começa em uma cidade e retorna a mesma), que ¡ dado por: ( ) ( )∑= ++ −+−= N i iiii yyxxyxf 1 2 1 2 1),( Uma maneira de resolver o PCV via A Gs ¡ representar cada cromossomo por uma lista de cidades. Por exemplo, considere as cidades representadas pelas letras A ,B,..., G na Figura 3.18, com um possível caminho a ser seguido pelo vendedor:
  • 53. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 139 A C E G B D F Figura 3.18 - Uma possível rota de viagem para o vendedor do PCV Tal caminho seria representado por um cromossomo como: Crom ossom o = A B C D F E G Vale notar que faz endo perm utaç£ es na lista de cidades, podem- se obter diferentes caminhos que s¢ o soluç£ es potenciais para o PCV. T© m sido propostos v¤ rios operadores gen ¡ ticos para realiz ar estas permutaç£ es. Na seç¢ o, a seguir, s¢ o relacionados alguns destes operadores. 3.5.1 OPERADORES GENÉTICOS PARA PERMUTA ÕES Uma perm utaç¢ o de m elementos ¡ uma seqü© ncia de m elementos em que nenhum elemento ¡ repetido. Por exemplo, (A,B,C) e (C,A ,B) s¢ o exemplos de duas permutaç£ es dos elementos A,B e C. Um grande n mero de problemas de otimiz aç¢ o combinatória pode ter suas soluç£ es representados por permutaç£ es, entre os quais o PCV e problemas de agendamento. Existem v¤ rios operadores gen ¡ ticos que realiz am perm utaç£ es (Goldberg, 1989) (Syswerda, 1991), sendo alguns deles descritos a seguir. Considere um cromossomo como uma lista de elementos, por exemplo:
  • 54. Est   fane Lacerda e Andr   Carvalho140 Crom ossom o : A B C D F E G Os operadores de mutaç¢ o para permutaç£ es s¢ o relativamente simples. Na mutaç¢ o baseada na posiç¢ o, dois elementos do cromossomo s¢ o escolhidos, aleatoriamente, e o segundo ¡ colocado antes do primeiro. Na mutaç¢ o baseada na ordem, dois elementos do cromossomo s¢ o escolhidos aleatoriamente, e suas posiç£ es s¢ o trocadas. A m utaç¢ o por embaralhamento começa escolhendo aleatoriam ente dois cortes no cromossomo. Depois os elementos na sublista entre os cortes s¢ o embaralhados, por exemplo: Cromossomo : A B C D F E G A pós a mutaç¢ o : A B F C D E G Existem v¤ rios operadores de crossover para permutaç¢ o. A lguns deles (Goldberg, 1989) (Syswerda, 1991) s¢ o apresentados a seguir: • OBX (O rder- Based Crossover); • PBX (Position- Based Crossover); • PMX (Partially Matched Crossover); • CX (Cycle Crossover); • OX (O rder Crossover). Crossover OBX O crossover OBX começa selecionando um conjunto de posiç£ es aleatoriamente (cada posiç¢ o tem uma probabilidade igual a 0,5 de ser selecionada). Depois, ¡ imposto aos elementos de pai1 , nas posiç£ es selecionadas, o mesmo ordenamento que estes mesmos elementos apresentam em pai2 . Em seguida, o novo ordenamento nas posiç£ es selecionadas de pai1 ¡
  • 55. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 141 copiado para filho1 . Os elementos nas posiç£ es n¢ o selecionadas de pai1 s¢ o copiados sem alteraç£ es para filho1 . O cromossomo filho2 ¡ obtido atra¨ ¡ s de um processo similar, por exemplo: Pai1 : A B C D F E G Pai2 : C E G A D F B * * * Filho1 : A D C F B E G Filho2 : C A G D E F B Crossover PBX O crossover PBX tamb ¡ m começa selecionando um conjunto de posiç£ es aleatórias. Por ¡ m, ao in¨ ¡ s de impor a ordem, imp£ e a posiç¢ o. É imposto, nas posiç£ es selecionadas, que filho1 tenha os mesm os elementos de pai2 . Os dem ais elementos de filho1 prov© m de pai1 mantendo o mesmo ordenamento presente em pai1 (j¤ que manter um elemento em mais de uma posiç¢ o n¢ o ¡ possível). Filho2 ¡ obtido atrav ¡ s de processo similar. Por exemplo: Pai1 : A B C D F E G Pai2 : C E G A D F B * * * Filho1 : B E C A D F G Filho2 : C B E D F G A Crossover PMX O crossover PMX inicia com dois pontos de corte escolhidos aleatoriamente, que definem uma sublista. Em seguida, este operador realiz a trocas no sentido de pai1 para pai2 e depois no sentido inverso, isto ¡ , de pai2 para pai1 , para evitar cromossomos inv¤ lidos. O
  • 56. Est   fane Lacerda e Andr   Carvalho142 exemplo seguinte ilustra este procedimento. Considere os seguintes pais e os dois cortes: Pai1 : A B C D F E G Pai2 : C E G A D F B A primeira troca ocorre no início da sublista, no sentido de pai1 para pai2 : C de pai1 ¡ trocado com G de pai2 . Como esta troca gera elementos duplicados, ent¢ o ao mesmo tempo C de pai2 ¡ trocado com G de pai1 . Pai1 : A B G D F E C Pai2 : G E C A D F B Um procedimento similar ocorre na segunda posiç¢ o da sublista: D de pai1 ¡ trocado com A de pai2 . Simultaneamente D de pai2 ¡ trocado com A de pai1 . Pai1 : D B G A F E C Pai2 : G E C D A F B Seguindo o mesmo processo, F de pai1 ¡ trocado com A de pai2 . Simultaneamente A de pai2 ¡ trocado com F de pai1 . O resultado final ¡ dado por: Filho1 : D B G F A E C Filho2 : G E C D F A B Crossover CX O crossover CX começa copiando o primeiro elemento de pai1 para filho1 (alternativamente, pode- se começar copiando um elemento qualquer da lista):
  • 57. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 143 Pai1 : A B C D F E G Pai2 : C E G B D F A Filho1 : A _ _ _ _ _ _ Para evitar a duplicaç¢ o de C no filho2 ¡ requerido que C de pai1 seja copiado para filho1 . Filho1 : A _ C _ _ _ _ Do mesmo modo, G de pai1 ¡ copiado para filho1 : Filho1 : A _ C _ _ _ G Seguindo o mesmo processo, A de pai1 deve ser copiado para filho1 . Por ¡ m, como A j¤ foi copiado para filho1 , o ciclo termina. Na etapa final, as posiç£ es que ficaram em branco, s¢ o obtidas por simples troca de elementos entre pai1 e pai2 , resultando em: Filho1 : A E C B D F G Filho2 : C B G D F E A Crossover OX O crossover OX inicia com dois cortes escolhidos aleatoriamente. Pai1 : A B C D F E G Pai2 : C E G B D F A
  • 58. Est   fane Lacerda e Andr   Carvalho144 Seu funcionamento ¡ melhor ilustrado interpretando o cromossomo como um círculo, onde o primeiro e o ltimo elementos se juntam. G A B C D F E A C E G B D F Pai1 : A B C D F E G Pai2 : C E G B D F A Inicialmente, os elementos de pai1 que correspondem aos elementos da sublista entre os dois cortes de pai2 s¢ o deletados. - A - C - F E Pai1 : A - C - F E - Em seguida, os situados na sublista de pai1 que n¢ o foram deletados s¢ o movidos no sentido anti- hor¤ rio de modo que todos os elementos fiquem juntos a partir do segundo corte, ou seja:
  • 59. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 145 A C F - - - E Pai1 : C F - - - E A Finalmente, os espaços vaz ios s¢ o substituídos pela sublista entre os dois cortes de pai2 , resultando no filho1 : Filho1 : C F G B D E A Por processo similar ¡ obtido filho2 : Filho2 : G B C D F A E Vale notar que no crossover OX o que conta ¡ a ordem dos elementos e n¢ o sua posiç¢ o, sendo v¤ lido no caso do PCV, pois o que importa ¡ somente a ordem das cidades visitadas. 3.5.2 PROBLEMAS DE PERMUTA! O A l ¡ m do PCV, v¤ rios problemas de otimiz aç¢ o combinatória podem ser resolvidos usando os operadores de perm utaç¢ o, pois dependem de algum a forma de permutaç¢ o de tarefas ou aç£ es. Exemplos de problemas resolvidos usando tais operadores s¢ o o Problema de A gendamento (Syswerda, 1991) e o Problema Coloraç¢ o de Grafos (Davis, 1991).
  • 60. Est   fane Lacerda e Andr   Carvalho146 3.6 FONTES ADICIONAIS DE CONSULTA H¤ v¤ rios livros de A G na literatura, desde de cl¤ ssicos como Goldberg (1989), passando por bons livros texto b¤ sicos tais como Michalewicz (1994), Mitchell (1998), Haupt e Haupt (1998), at ¡ livros avançados, como Bäck et al. (1997). H¤ tamb ¡ m muitos tutoriais, como por exemplo Beasley et al. (1993a, 1993b), Whitley (1992) e Janikow e Clair (1995). Na web um dos sites mais conhecidos ¡ o ENCORE (1998). REFERÊNCIAS BIBLIOGRÁFICAS Bäck, T.; Fogel, D.B. e Michalewicz , Z. (1997). (eds), Handbook of Evolutionary Computation. Institute of Physics Publishing and Oxford University Press, Bristol, New York. Baker, J. (1987). Reducing bias and inefficiency in the selection algorithm. In: GREFENST ETTE, J. ed., Proc. of the Second International Conference on Genetic A lgorithm s and T heir A pplications, p.14- 21. Hillsdale, New Jersey: Lawrence Erlbaum A ssociates. Beasley, D.; Bull, D. R.; Martin, R. R. (1993a) A n O verview of Genetic A lgorithm s: Part 1, Fundam entals. University Com puting, v.15, n.2, p.58-69. (Disponível por ftp no ENCORE no arquivo: GA /papers/over92.ps.gz ) Beasley, D.; Bull, D. R.; Martin, R. R. (1993b). An O verview of Genetic A lgortihm s: Part 2, Research T opics, University Com puting, 15(4) 170-181. (Disponível por ftp no ENCORE no arquivo: GA /papers/over93-3.ps.gz ) Darwin, C. A origem das esp cies e a seleç0) atural . Hemus editora. Davis, L. (1991). Handbook of Genetic A lgorithm s. Van Nostrand Reinhold. Dejong, K. (1975). The analysis and behaviour of a class of genetic adaptive systems. PhD thesis, University of Michigan.
  • 61. Capítulo 3 – Introduç o aos Algoritmos Gen   ticos 147 ENCORE. The EvolutioNary COmputation REpository network. (1998). (http://alife.santafe.edu/~ joke/encore/) (http://www.cs.purdue.edu/coast/archive/clife/Welcome.ht ml). Eshelman, L. J.; Shaffer, D. J. (1992). Real- coded genetic algorithms and interval- schemata. In: WHITLEY, D. L. (ed). Foundations of Genetic A lgorithm s 3. San Mateo, CA : Morgan Kaufman, p.187- 203. Fonseca. C. M.; Fleming, P. J. (1995). A n Overview of Evolutionary A lgorithm s in Multiobjective Optimiz ation. Evolutionary Com putation. 3(1):1- 16. (http://www.lania.mx/~ ccoello/EMOO/EMOObib.html). Fonseca. C. M.; Fleming, P. J. (1997). Multiobjective optimiz ation. In: BÄ CK, T.; FOGEL, D. B.; MICHA LEWICZ, Z., eds. Handbook of Evolutionary Computation, p.C4.5:1- 9. Institute of Physics Publishing and Oxford University Press, Bristol, New York. Gen, M.; Cheng, R. (1997). Genetic A lgorithms and Engineering Design. Wiley Series in Engineering Design and A utomation, John Wiley Sons. Goldberg, D. E. (1989). Genetic algorithm s in search, optim ization, and m achine learning. A ddison- Wesley. Grefenstette, J..J. (1986). Optimiz ation of control parameters for genetic algorithms. IEEE trans SMC. v16, p.122- 128. Haupt, R. L.; Haupt, S. E. (1998). Pr atical Genetic Algorithm s. Wiley- Intercience. Holland, J. H. (1975). Adaptation in N atural and A rtificial System s. MIT Press. Horn, J.; Nafpliotis, N. (1992). Multiobjective optimiz ation using the niched pareto genetic algorithm. Technical Report IllIGA L 93005, Illinois Genetic A lgorithms Laboratory, University of Illinois at Urbana- Champaign, Urbana, IL. (http://gal4.ge.uiuc.edu/illigal.home.html)
  • 62. Est   fane Lacerda e Andr   Carvalho148 Janikow, C. Z.; Clair, D. S. (1995). Genetic algorithms simulating nature´ s methods of evolving the best design solution. IEEE Potentials, v14, p.31- 35. Lacerda, E.; Carvalho, A . (1997). Com binando os A lgoritm os Gen tico e K m dia para Configurar Redes de Funç1 es Base Radial. A nais do IV Simpósio Brasileiro de Redes Neurais, p¤ ginas 95- 97, Goiânia, Brasil. Michalewicz , Z. (1994). Genetic A lgorithm s + Data Structures = Evolution Program s. 3.ed. Springer- Verlag. Mitchell, M. (1998). A n Introduction to Genetic A lgorithm s. The MIT Press. Stolfi, J.; Figueiredo, L. H. M 32 odos num ricos auto- validados e aplicaç1 es. 21º Cóloquio Brasileiro de Matem¤ tica, IMPA , 1997. Syswerda, G. (1989). Uniform crossover in genetic algorithms. In: J. D. Schaffer, ed. Proceedings of the T hird International Conference on Genetic A lgorithm s, p.2- 9. Morgan Kaufmann. Syswerda, G. (1991). Schedule optimiz ation using genetic algorithms. In: DA VIS, L. Handbook of Genetic Algorithm s. p.332- 349, Van Nostrand Reinhold. Whitley, D. (1989). The GENITOR algorithm and selection pressure: Why rank4 based allocation of reproductive trials is best. In: SCHA FFER J., ed. Proceedings of the T hird International Conference on Genetic A lgorithm s, p.116- 121. San Mateo, Calif.: Morgan Kaufmann. Whitley, D. L. (1992). A genetic algorithm tutorial. Technical Report CS4 934 103, Colorado State University. (Disponível por ftp no ENCORE no arquivo: GA /papers/tutor92.ps).