Escolar Documentos
Profissional Documentos
Cultura Documentos
Algoritmo Evolutivo BIBLIOTECA 113 ND 75
Algoritmo Evolutivo BIBLIOTECA 113 ND 75
Sumrio
1
Introduo
Base Biolgica
2.1 O Processo Evolutivo . . . . . . . . . . . . . . . . . . .
2.1.1 Mutao Gnica . . . . . . . . . . . . . . . . .
2.1.2 Recombinao Gnica . . . . . . . . . . . . . .
2.1.3 Seleo Natural . . . . . . . . . . . . . . . . . .
2.2 Terminologia Bsica . . . . . . . . . . . . . . . . . . .
2.2.1 Cromossomo, Genes e Alelos . . . . . . . . . .
2.2.2 Fitness . . . . . . . . . . . . . . . . . . . . . .
2.2.3 Pais, Operadores de Reproduo e Descendentes
2.2.4 Gerao e Seleo . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
4
5
5
5
5
5
6
6
6
Algoritmos Evolutivos
3.1 Algoritmos Cannicos . . . . . . . . . . . . . . . . . . . . .
3.1.1 Programao Evolutiva . . . . . . . . . . . . . . . . .
3.1.2 Estratgias Evolutivas . . . . . . . . . . . . . . . . .
3.1.3 Algoritmos Genticos . . . . . . . . . . . . . . . . .
3.2 Outros Algoritmos Evolutivos . . . . . . . . . . . . . . . . .
3.2.1 Programao Gentica . . . . . . . . . . . . . . . . .
3.2.2 Micro-AG . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3 Algoritmos de Estimao de Distribuio . . . . . . .
3.2.4 Algoritmos Evolutivos para Otimizao Multiobjetivo
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
8
8
9
9
12
13
13
13
14
.
.
.
.
.
.
.
.
.
.
.
.
17
17
18
19
19
20
21
22
22
23
23
24
24
Operadores de Reproduo
4.1 Mutao . . . . . . . . . . . . . . . . . . .
4.2 Recombinao . . . . . . . . . . . . . . . .
4.2.1 Recombinao Discreta . . . . . .
4.2.2 Recombinao Aritmtica . . . . .
4.2.3 Blend Crossover . . . . . . . . . .
4.2.4 Recombinao com Mltiplos Pais
4.3 Operadores de Reproduo para Permutao
4.3.1 Crossover de Ordem . . . . . . . .
4.3.2 Crossover Baseado em Posio . . .
4.3.3 Crossover Baseado em Ordem . . .
4.3.4 Crossover cclico . . . . . . . . . .
4.3.5 Crossover Parcialmente Mapeado .
Consideraes Finais
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
26
Captulo 1
Introduo
A Computao Evolutiva (CE) uma rea de pesquisa que tem se expandido rapidamente.
Entre os motivos para isso podem ser enumerados:
1. o desenvolvimento de algoritmos capazes de encontrar solues adequadas para problemas complexos, ainda no resolvidos por outras tcnicas computacionais;
2. simplicidade dos mtodos, chamados de algoritmos evolutivos (AEs), utilizando princpios bsicos de Teoria da Evoluo e Gentica que podem ser modelados por poucas e
simples linhas de cdigo;
3. adaptao relativamente fcil para problemas das mais diversas reas.
Essa rea de pesquisa originou-se de vrias frentes de estudo, cuja interao produziu os
AEs atuais. Dentre esses, sem dvidas os algoritmos genticos (AGs) so os mais conhecidos,
principalmente devido sua utilizao em Inteligncia Artificial (IA) (Rezende, 2003). Por
outro lado, os AGs so uma tcnica evolutiva universal. Este texto busca apresentar os AEs
dando a ponderao merecida aos AGs sem, com isso, esconder aspectos dos outros AEs que,
em geral, so importantes para soluo de problemas que so difceis para os prprios AGs e
outros mtodos de otimizao e de busca.
Os primeiros trabalhos envolvendo AEs so datados da dcada de 1930, quando sistemas
evolutivos naturais passaram a ser investigados como algoritmos de explorao de mltiplos
picos de uma funo objetivo. Porm, apenas com o maior acesso a computadores, a partir da
dcada de 1960, que se intensificaram os desenvolvimentos de AEs (De Jong, 2006), com a
realizao de diversos estudos tericos e empricos.
Nesse contexto, trs abordagens de AEs foram desenvolvidas de forma independente (De
Jong, 2006): a programao evolutiva (PE), as estratgias evolutivas (EEs) e os algoritmos
genticos (AGs). O princpio bsico de todas essas tcnicas , no entanto, a mesma (Eiben e
Smith, 2003): dada uma populao de indivduos (i.e., um conjunto de solues), presses do
ambiente desencadeiam um processos de seleo natural (ou seja, um processo que privilegia
1
2
as melhores solues at ento encontradas), o que causa um incremento na adequao das
solues. Dada uma funo a ser otimizada (seja maximizada ou minimizada), gera-se aleatoriamente um conjunto de solues, i.e., elementos pertencentes ao domnio da funo, e aplica-se
a funo para medir a qualidade das solues candidatas, atribuindo-lhes um valor que mede
sua adequao, chamado fitness.
Com base no fitness, algumas das melhores solues so selecionadas para darem origem a
uma nova populao pela aplicao de operadores de recombinao e/ou mutao. A recombinao um operador aplicado a duas ou mais solues candidatas (chamadas pais) e resulta
em duas ou mais novas solues (chamadas descendentes ou filhos). A mutao aplicada em
uma candidata a fim de gerar outra. Ao final desse processo, as novas candidatas (descendentes)
competem com as candidatas da gerao anterior, com base no fitness, para assumir um lugar
na nova populao. Esse processo iterado at que uma candidata apresente uma soluo que
seja suficientemente qualificada ou at que um nmero mximo de iteraes, tambm chamadas
geraes seja obtido.
Vrios componentes de um processo evolutivo so estocsticos: a seleo favorece indivduos mais bem adaptados (ou seja, com melhor fitness), mas existe tambm a possibilidade
de serem selecionados outros indivduos. A recombinao dos indivduos aleatria, assim
como a mutao. Uma representao geral de um AE tpico pode ser vista no pseudocdigo do
Algoritmo 1 (Eiben e Smith, 2003).
Algoritmo 1: Pseudocdigo de um AE tpico.
Entrada: Parmetros tpicos (De Jong, 2006).
Sada: Populao final de solues
1 INICIALIZA populao com solues candidatas aleatrias
2 AVALIA cada candidata
3 repita
4
SELECIONA pais
5
RECOMBINA pares de pais
6
MUTA os descendentes resultantes
7
AVALIA novas candidatas
8
SELECIONA indivduos para a nova gerao
9 at CONDIO DE PARADA satisfeita ;
Conforme mencionado, os AEs foram desenvolvidos originalmente como ferramentas de
modelagem e simulao computacional. No demorou, no entanto, para que fossem explorados como tcnica de otimizao. Vale destacar tambm que, diferentemente de outras tcnicas
de busca e otimizao, as quais em geral constroem uma nica soluo por iterao1 , os AEs
trabalham com conjuntos de solues, o que reduz, em muitos casos, o nmero de iteraes
necessrias para a obteno das solues (em outras palavras, reduz o tempo de convergncia).
Trabalhos mais recentes, datados da dcada de 1990, desenvolveram AEs especficos para as
reas de Aprendizado de Mquina (AM) (Rezende, 2003) e construo de modelos probabilsticos. Nos ltimos anos, o desempenho dos AEs tem aumentado significativamente com o estudo
1
Vrias das tcnicas que iteram um nica soluo so descritas em (Sait e Youssef, 1999).
3
de algoritmos de estimao de distribuio (AEDs) (Larraeaga e Lozano, 2001; Pelikan et al.,
1999).
Este texto foca os principais AEs, suas representaes e operadores, e est organizado como
segue. O Captulo 2 apresenta aspectos bsicos do processo evolutivo que so fundamentas
para o desenvolvimento de AEs e a terminologia que ser empregada no restante deste texto. O
Captulo 3 descreve os principais tipos de AEs e o Captulo 4 apresenta mais detalhadamente os
operadores de reproduo. O Captulo 5 sintetiza os aspectos principais de AEs e consideraes
sobre a utilizao deles.
Captulo 2
Base Biolgica
Os AEs podem ser vistos como tcnicas de Computao Bioinspirada (Carvalho et al., 2004;
Mange, 1998) ou Computao Natural (Ballard, 1999; Castro, 2006). Essas reas de pesquisa
abrangem uma srie de tcnicas computacionais fundamentadas em conceitos biolgicos. As
tcnicas evolutivas apresentam conceitos cuja origem est em diversos campos da Biologia,
especialmente em idias evolucionistas e na Gentica. Este Captulo foca nesses conceitos
(Seo 2.1) e sintetiza a terminologia empregada na definio de AEs (Seo 2.2).
2.1
O Processo Evolutivo
Os AEs so fortemente inspirados em processos evolutivos que ocorrem na natureza. Segundo De Jong (2006), os principais componentes dos sistemas evolutivos so:
Populaes de indivduos: uma ou mais populaes concorrem por recursos limitados;
Aptido, que reflete a habilidade do indivduo para sobreviver e reproduzir-se;
A noo de mudanas dinmicas nas populaes devido ao nascimento e morte dos indivduos;
Os conceitos de variabilidade e hereditariedade, ou seja, os novos indivduos possuem
muitas das caractersticas de seus pais, embora no sejam idnticos.
Tais conceitos foram inspirados na chamada Teoria Sinttica da Evoluo, tambm conhecida como neodarwinismo (Ridley, 1996). O neodarwinismo admite que os principais fatores
evolutivos so a mutao, a recombinao gnica e a seleo natural (Amabis e Martho, 1985;
Ridley, 1996), resumidos nas Subsees seguintes.
2.1.1
Mutao Gnica
2.1.2
Recombinao Gnica
2.1.3
Seleo Natural
2.2
Terminologia Bsica
2.2.1
Gene um segmento de DNA que contm uma informao codificada para determinada caracterstica ou
processo que a clula tem ou executa (Amabis e Martho, 1985).
2.2.2 Fitness
O valor do fitness de um indivduo (seja um gentipo ou um cromossomo) um nmero
positivo que mede o quo adequada a soluo. Em problemas de otimizao, o fitness pode
ser o custo da soluo. Se o problema for de minimizao, as solues de maior fitness so as
de menor custo.
2.2.3
Os AEs trabalham sobre um ou mais cromossomos a fim de gerar novas solues, chamadas descendentes. Os operadores que trabalham sobre cromossomos, chamados operadores de
reproduo, so a recombinao (tambm chamada crossover) e a mutao. Esses operadores
fazem analogia aos principais mecanismos de evoluo natural, ou seja, a recombinao e a
mutao gnica (ver Seo 2.1). A recombinao aplicada, em geral, a um par de cromossomos. Os indivduos selecionados para o processo de recombinao so chamados pais. A
mutao aplicada a um simples cromossomo, modificando-o aleatoriamente. Esse operadores
so descritos mais detalhadamente no Captulo 4.
2.2.4
Gerao e Seleo
Populao
0
0
0
0
1
1
0
0
0
1
1
1
0
0
0
0
Alelo (Valor) = 0
(a)
1
0
1
1
0
1
1
1
1
0
0
1
0
1
1
0
1
1
0
0
0
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
.
0
.
0
.
1
1
0
0 Cromossomo
Locus
(Posio)
1
2
3
4.3852 0.5837 8.3853 Cromossomo
.
6.3964 5.5495 1.0937
.
.
1.0937 8.3853 9.3856
6.3964 1.0645 0.5837 Cromossomo
Alelo (Valor) = 6.3964
Alelo (Valor) = 1
(b)
Captulo 3
Algoritmos Evolutivos
Ramos distintos de pesquisa desenvolveram tcnicas computacionais que construram os
chamados AEs. A programao evolutiva, as estratgias evolutivas e os algoritmos genticos
foram fundamentais para o desenvolvimento dessa rea de pesquisa e foram denominados AEs
cannicos. A Seo 3.1 apresenta esses algoritmos. Outros AEs tm sido desenvolvidos buscando o aumento de desempenho com relao a vrios aspectos. Buscando ilustrar a diversidade
de AEs relvantes existentes na literatura, esse Captulo tambm apresenta a programao gentica (Seo 3.2.1), o micro-AG (Seo 3.2.2), os algoritmos de estimao de distribuio
(Seo 3.2.3), alm de uma introduo aos AEs para otimizao multiobjetivo (Seo 3.2.4).
3.1
Algoritmos Cannicos
3.1.1
Programao Evolutiva
A programao evolutiva (PE) foi proposta por Fogel (1962) com o objetivo de utilizar os
conceitos de evoluo no desenvolvimento Inteligncia Artificial (IA).
Em PE, cada indivduo da populao representado por uma mquina de estados finitos
(MEF), que processa uma seqncia de smbolos. Durante a avaliao, os indivduos so analisados por uma funo de payoff de acordo com a sada da mquina e a sada esperada para
soluo do problema. A reproduo feita apenas por operadores de mutao, sendo que todos os indivduos da populao atual geram novos descendentes. Esse processo caracteriza a
chamada reproduo assexuada. Na seleo de indivduos para a prxima gerao, os descendentes competem com os pais e somente os indivduos com maior fitness (no caso, os de
maior payoff entre os + indivduos) sobrevivem.
A PE garante que todos os indivduos produziro novos descendentes e, somente, os melhores indivduos entre os atuais e os descendentes sobrevivem. O domnio total dos melhores
indivduos chamado elitismo total (Kuri-Morales e Gutirrez-Garca, 2001; Kuri-Morales,
2004). O elitismo mais utilizado garante a sobrevivncia apenas dos k-melhores indivduos,
k < N , onde N o tamanho da populao. O elitismo total, no entanto, pode diminuir significativamente a diversidade de indivduos, podendo estagnar em timos locais e/ou aumentar o
tempo de convergncia do algoritmo (De Jong, 2006).
3.1.2
Estratgias Evolutivas
3.1.3
Algoritmos Genticos
Os algoritmos genticos (AGs) foram propostos por Holland e seus alunos na dcada de
1970. Holland estudou a evoluo natural considerando esta um processo robusto, simples e
poderoso, que poderia ser adaptado para obteno de solues computacionais eficientes para
problemas de otimizao. O conceito de robustez relaciona-se ao fato de os AGs, independentemente das escolha dos parmetros iniciais, em geral, produzirem solues de qualidade (Goldberg, 1989, 2002). O principal diferencial dos AGs a criao de descendente pelo operador de
recombinao (De Jong, 2006).
Alm disso, a utilizao de operadores de mutao e recombinao equilibra dois objetivos
aparentemente conflitantes: o aproveitamento das melhores solues e a explorao do espao
de busca. O processo de busca , portanto, multidimensional, preservando solues candidadas
e provocando a troca de informao entre as solues exploradas (Michalewicz, 1996; Von
Zuben, 2000).
A seguir, mostram-se os principais passos de um AG, baseando-se em Michalewicz (1996):
10
Incio
Inicia Populao
gen = 1
cond?
No
Seleo para
Reproduo
Sim
gen = gen + 1
Fim
Seleo de
Sobreviventes
Recombinao
Mutao
Reproduo
11
12
3.2
Mais recentemente, diversos aspectos complexos em problemas de otimizao e aprendizado de mquina tm sido pesquisados em CE. Esses estudos tm buscado o desenvolvimento
de novos AEs mais eficientes. As Subsees seguintes descrevem alguns AEs que apresentam
desempenho relativamente melhor em seus diferentes propsitos.
3.2.1
13
Programao Gentica
A programao gentica (PG) pode ser vista como uma extenso dos AGs. Proposta por
Koza (1989) a PG difere dos AEs cannicos devido a sua representao, seus operadores de
reproduo e seus mtodos de avaliao da funo de avaliao (Koza, 1992, 1994; Koza et
al., 1999, 2003). Introduzida para solucionar problemas de aprendizado de mquina (Rezende,
2003), a PG busca a construo automtica de programas de computadores. Os indivduos so
codificados na forma de rvores, onde cada n folha contm constantes, variveis ou parmetros
para a execuo de procedimentos e funes. Os ns internos contm operaes primrias.
Os operadores de reproduo utilizados so operadores de recombinao e mutao especficos para representaes por rvores. Na recombinao, partes das rvores so trocadas, o
ponto de corte na rvore escolhido de forma a evitar a criao de operaes invlidas. Na
mutao o valor de um n ou subrvore alterado. Se o n escolhido para a mutao for um
n interno, este ser alterado para ter uma nova operao ou funo. No caso de mutao de
subrvore, a subrvore selecionada substituda por uma nova subrvore gerada aleatoriamente.
O processo de avaliao ocorre por meio da execuo do programa representado pela rvore
do indivduo. Se este resolver o problema proposto ou se aproximar da resposta correta ter
um valor de aptido elevado; caso contrrio, sua aptido ser baixa. Geralmente, os algoritmos
de PG utilizam somente o operador de recombinao no processo de busca pelas melhores
solues.
3.2.2
Micro-AG
3.2.3
14
por Mhlenbein e Paa (1996), incorporando tcnicas de aprendizagem automatizada de correlaes entre as variveis codificadas na soluo do problema. Os indivduos, ou parte deles, so
considerados amostras. Ento, um modelo probabilstico de distribuio ajustado amostra.
Em seguida, pode-se determinar os melhores novos indivduos de acordo com o modelo ajustado. Este processo torna desnecessria a especificao de determinados parmetros dos AEs
cannicos, como a taxa de mutao e de recombinao.
A desvantagem dessas tcnicas que, em geral, os modelos probabilsticos utilizados para
guiar a busca so complexos e de alto custo computacional. Novas abordagens tm sido propostas para solucionar esse problema, com destaque os algoritmos UMDA (do ingls univariante
marginal distribution algorithm) (Mhlenbein, 1998) e BOA (do ingls Bayesian optimization
algorithm) (Pelikan et al., 1999). Mais recentemente, Melo et al. (2007) desenvolveu um AED
utilizando modelos simples que apresentam desempenho adequado para uma diversidade de
problemas.
Um AED tpico est representado no fluxograma do Figura 3.2. Paul e Iba (2003) argumentam que razovel utilizar AEDs no lugar de outros AEs, como os AGs. Porm, a estimao da
distribuio de probabilidade associada ao conjunto de indivduos selecionados um gargalo
dessa tcnica, no existindo mtodos simples para realizar clculos em modelos complexos.
3.2.4
Problemas de otimizao multiobjetivo tm despertado grande interesse na rea de Otimizao. Nesses problemas, a qualidade da soluo definida com base na sua adequao em
relao a diversos objetivos possivelmente conflitantes (Deb, 2001; Eiben e Smith, 2003). Na
prtica, os mtodos de soluo buscam reduzir esses problemas a outros com apenas um objetivo e depois buscam uma soluo. Uma classe de mtodos bastante utilizada nesse contexto
a dos mtodos baseados em pesos ou simplesmente mtodo de pesos, onde so atribudos pesos
s diferentes funes objetivo, podendo ser realizado um processo de otimizao da funo
de pesos (Arenales et al., 2007).
Esses mtodos, no entanto, so dependentes da escolha adequada dos pesos. Isso, em muitos
casos, implica um conhecimento prvio dos intervalos correspondentes aos pesos mais adequados. Por essa razo, mtodos que tentam encontrar solues que apresentam um compromisso
com os vrios objetivos sem a utilizao de pesos passaram a ser explorados (Eiben e Smith,
2003). Nesse caso, no existe somente uma soluo para o problema, mas sim um conjunto de
solues timas, denominado conjunto de Pareto timo ou fronteira de Pareto (Deb, 2001).
O primeiro AE para otimizao multiobjetivos (AEOM) desenvolvido foi proposto por Schaffer (1985) e denominado VEGA (do ingls, "Vector Evaluated Genetic Algorithm"). Este algoritmo um AG modificado que avalia cada objetivo separadamente. Um dos problemas do
algoritmo proposto por Schaffer que as solues da fronteira obtidas, em geral, possuem baixa
diversidade.
15
cond?
Selecionar os indivduos da
nova populao
Sim
Retornar soluo
16
Nome do Modelo
Vector Evaluated Genetic Algorithm
Weight Based Genetic Algorithm
Multiple Objective Genetic Algorithm
Non-Dominated Sorting Genetic Algorithm
Niched-Pareto Genetic Algorithm
Predator-Prey Evolution Strategy
Rudophs Elitist Multi-Objective
Evolutionay Algorithm
Elitist Non-Dominated Sorting Genetic
Algorithm
Strenght Pareto Evolutionary Algorithm 1 e 2
Thermodynamical Genetic Algorithm
Pareto-Archived Evolutionary Strategy
Multi-Objective Messy Genetic Algorithm
Pareto Envelope-Base Selection Algorithm
Autores
(Schaffer, 1985)
(Hajela e Lin, 1992)
(Fonseca e Fleming, 1993)
(Srinivas e Deb, 1994)
(Horn et al., 1994)
(Laumanns et al., 1998)
(Rudolph, 2001)
(Deb et al., 2000)
(Zitzler e Thiele, 1998),
(Zitzler et al., 2001)
(Kita et al., 1996)
(Knowles e Corne, 1999)
(Veldhuizen, 1999)
(Corne et al., 2000),
(Corne et al., 2001)
Captulo 4
Operadores de Reproduo
A reproduo, seguindo uma nomenclatura utilizada pela Biologia, pode ocorrer de duas
formas:
1. Assexuada, ou seja, um indivduo sozinho gera um descendente, utilizando mutao;
2. Sexuada, isto , h a participao de dois indivduos na gerao de um ou mais descendentes por meio do processo de recombinao.
As prximas Sees descrevem os operadores operadores correspondentes aos processos de
mutao e recombinao, bem como suas principais variaes.
4.1
Mutao
Descendente:
17
4.2. RECOMBINAO
18
4.2
Recombinao
Direita
Esquerda
Centro
Direita
Pai 1:
Pai 1:
Pai 2:
Pai 2:
Filho 1:
Filho 1:
Filho 2:
Filho 2:
4.2. RECOMBINAO
19
Outro tipo de recombinao muito comum a recombinao uniforme, que considera cada
gene independentemente, escolhendo de qual pai o gene do filho ser herdado. Em geral, criase uma lista de variveis aleatrias de distribuio uniforme em [0, 1]. Para cada posio, se o
valor da varivel aleatria for inferior a um dado P (usualmente 0, 5), o gene ser oriundo do
Pais 1; caso contrrio, vir do Pai 2. O segundo filho gerado pelo mapeamento inverso (ver
Figura 4.4).
Pai 1:
Pai 2:
Filho 1:
Filho 2:
Em representaes de ponto flutuante (ver Seo 2.2.1), verificou-se que h duas categorias
de operadores de recombinao: a recombinao discreta e a recombinao aritmtica, as quais
so explicadas nas Subsees 4.2.1 e 4.2.2.
4.2.1
Recombinao Discreta
4.2.2
Recombinao Aritmtica
(4.1)
4.2. RECOMBINAO
20
onde um nmero aleatrio pertencente ao intervalo [0, 1]. Geralmente, no entanto, utilizado um valor fixo para (como, por exemplo, = 0, 5, caracterizando a chamada recombinao aritmtica uniforme). Esse operador particularmente apropriado para problemas de
otimizao numrica com restries, onde a regio factvel convexa1 . A combinao linear
entre x e y pertencentes regio factvel resulta em elementos tambm pertencentes regio
factvel.
Diversos operadores de recombinao foram propostos seguindo o princpio descrito acima.
Na recombinao simples, um ponto de corte k definido; o Filho 1 construdo com os
primeiros k genes do Pai 1 e com os demais n k genes restantes obtidos pela mdia aritmtica
dos n k genes dos Pai 1 e Pai 2 (Figura 4.5). Na recombinao individual, apenas o alelo
k, escolhido aleatoriamente, recombinado pela mdia aritmtica dos alelos k dos Pais 1 e 2
(Figura 4.6).
Pai 1: 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9
Pai 1: 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9
Pai 2: 0,3 0,2 0,3 0,2 0,3 0,2 0,3 0,2 0,3
Pai 2: 0,3 0,2 0,3 0,2 0,3 0,2 0,3 0,2 0,3
Filho 1: 0,1 0,2 0,3 0,4 0,5 0,6 0,5 0,5 0,6
Filho 1: 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,5 0,9
Filho 2: 0,3 0,2 0,3 0,2 0,3 0,2 0,5 0,5 0,6
Filho 2: 0,3 0,2 0,3 0,2 0,3 0,2 0,3 0,5 0,3
A recombinao total, uma das mais utilizadas, realiza uma ponderao de todos os alelos
dos pais para cada gene:
z 1 = x + (1 )y
(4.2)
z 2 = y + (1 )x.
(4.3)
A Figura 4.7 ilustra esse processo para = 0, 5. Este valor sempre produz descendentes
iguais.
4.2.3
Blend Crossover
Uma abordagem alternativa de recombinao para valores reais a recombinao da mistura ou blend crossover (BLX-), desenvolvido por Eshelman e Schaffer (1993) com base em
um estudo organizado por Goldberg (1991). Para dois cromossomos pais x e y, assumindo
x y, o BLX- seleciona aleatoriamente uma soluo pertencente ao intervalo [xi (yi
xi ), yi (xi yi )], onde um nmero real entre 0 e 1. Assim, para = 0.0, por exemplo,
1
A descrio e anlise da convexidade de uma regio factvel pode ser encontrada em (Bazaraa et al., 2006).
4.2. RECOMBINAO
21
Pai 1: 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9
Pai 2: 0,3 0,2 0,3 0,2 0,3 0,2 0,3 0,2 0,3
Filho 1: 0,2 0,2 0,3 0,3 0,4 0,4 0,5 0,5 0,6
Filho 2: 0,2 0,2 0,3 0,3 0,4 0,4 0,5 0,5 0,6
esse operador cria uma soluo no intervalo [xi , yi ]. Esse procedimento repetido para cada
locus gerando uma nova soluo.
importante observar que a localizao da soluo gerada pelo BLX- depende da diferena entre as solues pais. Por exemplo, se a diferena entre os pais for pequena, a diferena
entre os filhos tambm ser. Essa propriedade permite afirmar que, se a diversidade na populao for grande, esperada uma grande diversidade na populao da gerao seguinte. Isso
garante uma explorao de todo espao de busca no incio do processo evolutivo, focando a
busca em uma determinada regio medida que as solues convergem (Deb, 2001).
4.2.4
Alm dos operadores de reproduo descritos neste Captulo, assexuada e sexuada, possvel explorar um esquema de reproduo inexistente em sistemas biolgico: a recombinao
com mltiplos pais. Essa estratgia foi proposta logo no incio dos estudos computacionais com
AEs, na dcada de 1960 (Eiben et al., 1995). Tecnicamente, este tipo de recombinao amplifica os efeitos da recombinao. Esse operadores podem ser categorizados de acordo com o
mecanismo de combinao empregado (Eiben et al., 1995; Eiben e Smith, 2003):
1. Recombinao baseada na seqncia de alelos (chamada eleio p-sexual), generalizando
a recombinao uniforme;
2. Recombinao baseado em segmentao e recombinao dos pais (chamada recombinao diagonal), generalizando a recombinao de n-pontos;
3. Recombinao baseado em operaes numricas sobre alelos reais (chamada recombinao massiva), generalizando os operadores de recombinao aritmtica.
No h estudos tericos conclusivos sobre as vantagens da utilizao de vrios pais no processo de recombinao. No entanto, resultados experimentas demonstram vantagem dessa tcnica em uma grande variedade de problemas (Eiben e Schippers, 1996; Eiben e Smith, 2003).
4.3
22
Uma classe importante de problemas do mundo real consiste em decidir a ordem na qual
uma seqncia de eventos deve ocorrer (Eiben e Smith, 2003). Um forma bastante natural de
representar tais problemas utilizando permutaes. Uma conseqncia imediata desse tipo
de problema a necessidade de buscar novos operadores, de modo a trabalhar com solues
factveis. Em permutaes, o operador de mutao deve garantir que o novo indivduo obtido
tambm represente uma permutao vlida. Uma primeira classe de operadores de mutao
para permutaes escolhe 2, 3 ou k pontos de corte no cromossomo e tenta trocar os segmentos
entre esses pontos. No entanto, os operadores dessa classe so custoso (Bck et al., 2000). Para
problemas onde a permutao representa uma lista de prioridades, foram propostos operadores
que fazem a troca de duas ou mais posies escolhidas de forma aleatria.
No caso da recombinao, tambm necessrio criar uma permutao vlida. Com esse
objetivo, foram desenvolvidos os operadores apresentados a seguir, nos quais so consideradas
as seguintes permutaes como cromossomos pais:
Pai 1 = C E D B F A ;
Pai 2 = E B A C D F .
4.3.1
Crossover de Ordem
4.3.2
23
Para obter novos indivduos tambm pode ser utilizado o crossover baseado em posio,
chamado PBX, o qual comea pela seleo de um conjunto de posies aleatrias de um dos
pais. Posteriormente, os genes das posies selecionadas do pai so copiados no filho exatamente na mesma posio em que esto no pai. Em seguida, os genes copiados so removidos
do segundo pai, obtendo do segundo pai os genes que faltam no filho. Esses genes so copiados
na ordem em que aparecem da esquerda para a direita nas posies vazias do filho. Para obter o
outro filho, basta trocar a ordem dos pais (Michalewicz e Fogel, 2004).
Como exemplo, considere os pais definidos anteriormente e as posies 2, 4 e 5 escolhidas
de forma aleatria e as posies comeando em um. O primeiro filho obtido inicialmente pela
cpia das posies selecionadas do primeiro pai:
Filho 1 = X E X B F X
A seguir as posies vazias so preenchidas pelos genes do segundo pai ignorando os genes j
inseridos no filho e assim obtm-se o seguinte indivduo:
Filho 1 = A E C B F D
4.3.3
4.3.4
24
Crossover cclico
A permutao tambm pode ser realizada por um crossover circular, chamado CX. Nesse,
dados dois pais, a primeira posio no filho recebe o primeiro gene do primeiro pai. O prximo
gene do filho obtido do segundo pai. Este gene copiado para o filho na posio em que este
mesmo gene aparece no primeiro pai. O algoritmo segue copiando genes do segundo pai na
posio correspondente no primeiro pai at que se forme um ciclo, ou seja, at que na posio
correspondente no segundo pai encontra-se um gene j inserido no filho. Neste caso, se restarem
posies no preenchidas no filho, essas so preenchidas da esquerda para a direita no array do
filho com os genes do segundo pai na ordem relativa que aparecem neste pai. Trocando-se o
primeiro pai pelo segundo possvel obter outro descendente (Michalewicz e Fogel, 2004).
Por exemplo, comeando com a primeira posio de Pai 1, definido anteriormente, tem-se
o gene 3 que copiado para a primeira posio do filho. O gene 3, corresponde ao gene 5, em
Pai 2 que est na posio 2 de Pai 1, que a posio utilizada para copiar o gene no filho. A
seguir considerado o gene correspondente a posio do gene 5 em Pai 1 no Pai 2 que retorna
o gene 2. O gene 2 est na posio 4 de pai1 e copiado nesta posio para filho. A posio 4
em Pai 2 corresponde ao gene 3 e neste momento se forma o ciclo. Assim,
Filho 1 = C E X B X X
Agora, as posies no preenchidas so copiadas de Pai 2 e o filho resultante
Filho 1 = C E A B D F
4.3.5
25
Captulo 5
Consideraes Finais
Neste texto foram abordados os AEs, poderosas ferramentas aplicadas principalmente em
problemas de otimizao. Os AEs tm como base idias evolucionistas, utilizando conceitos de
Gentica e dinmica populacional.
Foram apresentados os trs AEs cannicos, historicamente desenvolvidos de forma independente mas que mantm idias comuns. Tabela 5.1 apresenta um breve resumo dos pontos
em que PE, EE e AG diferem entre si. Tambm foram descritas variaes desses AEs, como a
PG e o micro-AG, alm dos AEDs e abordagens multiobjetivo.
Tabela 5.1: Diferenas fundamentais entre AEs cannicos.
AE
PE
EE
AG
Representao
MEF
Ponto flutuante
(dimenso do problema e desvio padro)
Originalmente binria;
ponto flutuante em algumas aplicaes
Operadores
Mutao e seleo ( + ) ou (, )
Mutao e seleo ( + )
Recombinao (principal), mutao e
seleo aleatria
Deve-se observar que a principal caracterstica dos AEs a idia de evoluo de solues
em paralelo. Neste contexto, so includos algoritmos como: swarm inteligence, ant colony
optimization (ACO)1 , imune systems, learning classifier algorithms (LCS), etc. Alm disso,
os AEs podem ser vistos como metaheursticas2 , possibilitando uma interface (compartilhamento, idias, hibridizao) com algoritmos como GRASP, A-teams, VNS, entre outros. (Feo
e Resende, 1995; Resende e Ribeiro, 2005; Ribeiro e Hansen, 2002) A interface amplia-se ao
se considerar verses paralelizveis dessas metaheursticas, conforme apresentado em (Alba,
2005; Duni Ekisoglu et al., 2002; Resende e Ribeiro, 2005).
1
ACO (Dorigo e Gambardella, 1997; Dorigo et al., 1999; Pilat e White, 2002) so AEs, no sentido em que
evoluem solues em paralelo, e tambm so AEDs, uma vez que utilizam um modelo probabilstico e matriz de
ferormnios construda a partir da atividade de uma populao de formigas.
2
Uma metaheurstica um mtodo heurstico para soluo de uma classe geral de problemas computacionais
utilizando a combinao de outras heursticas (Blum e Roli, 2003).
26
27
Finalmente, importante destacar os AEs so processos heursticos, de modo podem no
gerar, necessariamente, solues timas. Alm disso, muitos problemas de otimizao encontrados na mundo real podem ser resolvidos por mtodos exatos de forma eficiente. Por esse
motivo, solues baseadas em AEs devem ser utilizadas como um ltimo recurso na resoluo
de problemas, ou seja, devem se aplicadas quando mtodos de soluo exatos sejam consideradas ineficientes.
Referncias Bibliogrficas
A LBA , E. Parallel metaheuristics: A new class of algrothms. Wiley Series on Parallel and
Distributed Computing. Wiley, 2005.
A MABIS , J. M.; M ARTHO , G. R. Curso bsico de biologia, v. 3. So Paulo: Editora Moderna
Ltda., 1985.
A RENALES , M. N.; A RMENTANO , V. A.; M ORABITO , R.; YANASSE , H. H.
operacional. Rio de Janeiro: Elsevier Editora Ltda., 2007.
Pesquisa
28
REFERNCIAS BIBLIOGRFICAS
29
C ORNE , D.; K NOWLES , J.; OATES , M. The pareto envelope-based selection algorithm for
multiobjective optimization. In: D EB , K.; G. RUDOLPH , X. Y.; L UTTON , E.; M ERELO ,
J. J.; S CHWEFEL , H. P., eds. Proceedings of the Parallel Problem Solving from Nature VI
Conference,, Springer. Lecture Notes in Computer Science No. 1917, 2000, p. 839848.
D E J ONG , K. A. Evolutionary computation: A unified approach. Cambridge, MA: MIT
Press, 2006.
Disponvel em: http://www.cs.gmu.edu/~eclab/projects/ec_courseware
(Acessado em 10/08/2008)
D EB , K. Multi-objective optimization using evolutionary algorithms. Wiley-Interscience
Series in Systems and Optimization. New York, NY: John Wiley & Sons, 2001.
D EB , K.; AGRAWAL , S.; P RATAB , A.; M EYARIVAN , T. A Fast Elitist Non-Dominated
Sorting Genetic Algorithm for Multi-Objective Optimization: NSGA-II. KanGAL report
200001, Indian Institute of Technology, Kanpur, India, 2000.
D ELBEM , A. C. B.; C ARVALHO , A. C. P. L. F.; B RETAS , N. G. Main chain representation
for evolutionary algorithm applied to distribution system reconfiguration. IEEE Transactions
on Power Systems, v. 20, n. 1, p. 425436, 2005.
D ORIGO , M.; C ARO , G. D.; G AMBARDELLA , L. M. Ant algorithms for discrete optimization. Artificial Life, v. 5, n. 2, p. 137172, 1999.
D ORIGO , M.; G AMBARDELLA , L. M. Ant colony system: A cooperative learning approach
to the traveling salesman problem. IEEE Transactions on Evolutionary Computation, v. 1,
n. 1, p. 120, 1997.
D UNI E KISOGLU , S.; PARDALOS , P.; R ESENDE , M. Parallel metaheuristics for combinatorial optimization. In: Models for Parallel and Distributed Computation: Theory, Algorithmic
Techniques and Applications, Kluwer Academic Publishers, p. 179206, 2002.
E IBEN , A. E.; S CHIPPERS , C. A. Multi-parents niche:n-ary crossovers on nk-landscapes. In:
VOIGT, H.-M.; E BELING , W.; R ECHENBERG , I.; S CHWEFEL , H.-P., eds. Proceedings of
th 4th Conference on Parallel Problem from Nature, Berlin, Heidelberg, New York: Springer,
1996, p. 319328.
E IBEN , A. E.; S MITH , J. E. Introduction to evolutionary computing. Natural Computing
Series. Berlin: Springer, 2003.
E IBEN , A. E.; VAN K EMENADE , C. H.; KOK , J. N. Orgy in the computer: Multi-parent
reproduction in genetic algorithms. In: M ORN , F.; M ORENO , A.; M ERELO , J. J.; C HA CN , P., eds. Advances in Artificial Life, Berlin, Heidelberg, New York: Springer, 1995, p.
389402 (Lecture Notes in Artificial Intelligence, v.929).
REFERNCIAS BIBLIOGRFICAS
30
J. of
REFERNCIAS BIBLIOGRFICAS
31
REFERNCIAS BIBLIOGRFICAS
32
2 ed.
Berlin:
M ICHALEWICZ , Z.; JANIKOW, C. Z. Handling constraints in genetic algorithms. In: Proceedings of the Fourth International Conference on Genetic Algorithms, 1991, p. 151157.
PAUL , T. K.; I BA , H. Linear and combinatorial optimization by estimation of distribuition
algorithms. In: Proceedings of the 9th MPS Symposium on Evolutionary Computation,
Japo, 2003.
P ELIKAN , M.; G OLDBERG , D. E.; L OBO , F. A survey of optimization by building and using
probabilistic models. Relatrio Tcnico 99018, Illinois Genetic Algorithms Laboratory,
University fo Illinois at Urbana-Champaign, Urbana, IL, 15 p., 1999.
P ILAT, M. L.; W HITE , T. Using genetic algorithms to optimize ACSTSP. In: D ORIGO , M.;
C ARO , G. D.; S AMPELS , M., eds. Ant Algorithms : Third International Workshop, Springer,
2002, p. 282287.
R ECHENBERG , I. Cybernetc solution path of an experimental problem. Relatrio Tcnico
1122, Royal Aircraft Establishment, Franborough, UK, 1965.
R ESENDE , M. G. C.; R IBEIRO , C. C. Parallel greedy randomized adaptive search procedures.
In: Parallel Metaheuristics: A new class of algorithms, John Wiley and Sons, 2005.
R EZENDE , S. O.
2003.
Kluwer Academic
REFERNCIAS BIBLIOGRFICAS
33
S CHAFFER , J. Multiple objective optimization with vector evaluated genetic algorithms. In:
Genetic Algorithms and their Applications: Proceedings of the First International Conference on Genetic Algorithms, Lawrence Erlbaum, 1985, p. 93100.
S CHWEFEL , H.-P. Evolutionsstrategie und numerishe optimierung. Tese de Doutoramento,
Technical University of Berlin, Berlin, Alemanha, 1975.
S RINIVAS , N.; D EB , K. Multiobjective Optimization Using Nondominated Sorting in Genetic
Algorithms. Evolutionary Computation, v. 2, n. 3, p. 221248, 1994.
V ELDHUIZEN , D. Multiobjective Evolutionary Algorithms: Classifications, Analyses, and
New Innovations. Tese de Doutoramento, Department of Electrical and Computer Engineering. Graduate School of Engineering. Air Force Institute of Technology, Wright-Patterson
AFB, Ohio, 1999.
VON Z UBEN , F. J. Computao evolutiva: Uma abordagem pragmtica. In: Anais da I
Jornada de Estudos em Computao de Piracicaba e Regio (1a. JECOMP), Piracicaba, SP,
2000, p. 2545.
Z ITZLER , E.; D EB , K.; T HIELE , L. Comparison of Multiobjective Evolutionary Algorithms:
Empirical Results. Evolutionary Computation, v. 8, n. 2, p. 173195, 2000.
Z ITZLER , E.; L AUMANNS , M.; T HIELE , L. SPEA2: Improving the Strength Pareto Evolutionary Algorithm. Relatrio Tcnico 103, Computer Engineering and Networks Laboratory
(TIK), Swiss Federal Institute of Technology (ETH) Zurich, Gloriastrasse 35, CH-8092 Zurich, Switzerland, 2001.
Z ITZLER , E.; T HIELE , L. An Evolutionary Algorithm for Multiobjective Optimization: The
Strength Pareto Approach. Relatrio Tcnico 43, Computer Engineering and Communication Networks Lab (TIK), Swiss Federal Institute of Technology (ETH), Zurich, Switzerland,
1998.