O documento introduz algoritmos genéticos, descrevendo um algoritmo genético simples em 3 etapas: 1) geração de uma população inicial aleatória, 2) seleção dos cromossomos mais aptos para gerar descendentes, 3) aplicação de operadores genéticos como crossover e mutação para gerar novas soluções. O algoritmo é aplicado para encontrar o máximo global de uma função com múltiplos máximos locais.
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
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
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
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.
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
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
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
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
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
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
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.
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
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:
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
¡
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).