Post on 05-Apr-2018
7/31/2019 Algoritimos evolutivos
1/35
Fundamentos de Algoritmos Evolutivos
Paulo Henrique Ribeiro GabrielAlexandre Cludio Botazzo Delbem
7/31/2019 Algoritimos evolutivos
2/35
Sumrio
1 Introduo 1
2 Base Biolgica 4
2.1 O Processo Evolutivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.1.1 Mutao Gnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.2 Recombinao Gnica . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.3 Seleo Natural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Terminologia Bsica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1 Cromossomo, Genes e Alelos . . . . . . . . . . . . . . . . . . . . . . 52.2.2 Fitness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.3 Pais, Operadores de Reproduo e Descendentes . . . . . . . . . . . . 62.2.4 Gerao e Seleo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Algoritmos Evolutivos 8
3.1 Algoritmos Cannicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.1.1 Programao Evolutiva . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.2 Estratgias Evolutivas . . . . . . . . . . . . . . . . . . . . . . . . . . 93.1.3 Algoritmos Genticos . . . . . . . . . . . . . . . . . . . . . . . . . . 93.2 Outros Algoritmos Evolutivos . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.1 Programao Gentica . . . . . . . . . . . . . . . . . . . . . . . . . . 133.2.2 Micro-AG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.2.3 Algoritmos de Estimao de Distribuio . . . . . . . . . . . . . . . . 133.2.4 Algoritmos Evolutivos para Otimizao Multiobjetivo . . . . . . . . . 14
4 Operadores de Reproduo 17
4.1 Mutao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.2 Recombinao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2.1 Recombinao Discreta . . . . . . . . . . . . . . . . . . . . . . . . . 194.2.2 Recombinao Aritmtica . . . . . . . . . . . . . . . . . . . . . . . . 194.2.3 Blend Crossover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.2.4 Recombinao com Mltiplos Pais . . . . . . . . . . . . . . . . . . . 21
4.3 Operadores de Reproduo para Permutao . . . . . . . . . . . . . . . . . . . 224.3.1 Crossover de Ordem . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.3.2 Crossover Baseado em Posio . . . . . . . . . . . . . . . . . . . . . . 234.3.3 Crossover Baseado em Ordem . . . . . . . . . . . . . . . . . . . . . . 234.3.4 Crossover cclico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.3.5 Crossover Parcialmente Mapeado . . . . . . . . . . . . . . . . . . . . 24
5 Consideraes Finais 26
i
7/31/2019 Algoritimos evolutivos
3/35
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 proble-
mas complexos, ainda no resolvidos por outras tcnicas computacionais;
2. simplicidade dos mtodos, chamados de algoritmos evolutivos (AEs), utilizando princ-
pios 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 eSmith, 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
7/31/2019 Algoritimos evolutivos
4/35
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 aleatori-
amente 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 recom-
binao 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 indi-
vduos 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 soluesINICIALIZA populao com solues candidatas aleatrias1AVALIA cada candidata2repita3
SELECIONA pais4RECOMBINA pares de pais5MUTA os descendentes resultantes6AVALIA novas candidatas7SELECIONA indivduos para a nova gerao8
at CONDIO DE PARADA satisfeita ;9
Conforme mencionado, os AEs foram desenvolvidos originalmente como ferramentas de
modelagem e simulao computacional. No demorou, no entanto, para que fossem explora-
dos 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 probabilsti-cos. Nos ltimos anos, o desempenho dos AEs tem aumentado significativamente com o estudo
1Vrias das tcnicas que iteram um nica soluo so descritas em (Sait e Youssef, 1999).
7/31/2019 Algoritimos evolutivos
5/35
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.
7/31/2019 Algoritimos evolutivos
6/35
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. Se-
gundo 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 indi-
vduos;
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 conhe-
cida 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.
4
7/31/2019 Algoritimos evolutivos
7/35
2.2. TERMINOLOGIA BSICA 5
2.1.1 Mutao Gnica
A origem da variabilidade a mutao, processo pelo qual o gene1 sofre alteraes em
sua estrutura. Tais alteraes so modificaes na seqncia de bases do DNA. Essa molcula,
quando duplicada, produz cpias idnticas de si, ou seja, diferentes da original (sem mutao),
transmitindo hereditariamente a mudana. Isso pode acarretar a alterao da seqncia de ami-nocidos da protena, modificando o metabolismo celular, podendo favorecer o organismo ou
mesmo ser letal.
2.1.2 Recombinao Gnica
O processo evolutivo seria relativamente lento se no fosse possvel colocar juntas, em um
mesmo indivduo, mutaes ocorridas em indivduos da gerao anterior. O fenmeno que pos-
sibilita esse evento a reproduo sexuada. importante considerar que a seleo natural noatua aceitando ou rejeitando mudanas individuais, mas sim escolhendo as melhores combina-
es gnicas entre todas variaes presentes na populao.
2.1.3 Seleo Natural
A seleo natural conseqncia de dois fatores:
1. os membros de uma espcie diferem entre si;
2. a espcie produz descendncia em maior nmero o de indivduos que de fato podem
sobreviver.
Os indivduos mais aptos a sobreviver so aqueles que, graas variabilidade gentica,
herdaram a combinao gnica mais adaptada para determinadas condies naturais.
2.2 Terminologia Bsica
A seguir apresentada a terminologia necessria, adaptada de (Sait e Youssef, 1999), para
o estudo de AEs. Os principais termos discutidos encontram-se sintetizados na Figura 2.1.
2.2.1 Cromossomo, Genes e Alelos
A estrutura que codifica como os organismos so construdos chamada cromossomo. Os
cromossomos associam-se de modo a formar um organismo e seu nmero varia de uma espcie
para outra (Amabis e Martho, 1985). O conjunto completo de cromossomos de um ser vivo
chamado gentipo e as caractersticas do organismo gerado com base no gentipo constituem o1Gene um segmento de DNA que contm uma informao codificada para determinada caracterstica ou
processo que a clula tem ou executa (Amabis e Martho, 1985).
7/31/2019 Algoritimos evolutivos
8/35
2.2. TERMINOLOGIA BSICA 6
fentipo. De forma similar, a representao de solues de um problema podem ser codificadas
em uma estrutura de dados chamada cromossomo.
Os cromossomos so codificados em um conjunto de smbolos chamados genes. Os di-
ferentes valores de um gene so chamados alelos. A posio do gene em um cromossomo
denominada locus (Coello Coello et al., 2002).
A representao das solues candidatas (ou seja, dos indivduos) o primeiro estgio da
elaborao de um AE e crucial para o desempenho do algoritmo. Essa etapa consiste em
definir o gentipo e a forma com que esse mapeado no fentipo. Dependendo da escolha, so
necessrios operadores de reproduo especficos (ver Captulo 4).
A codificao mais simples a representao binria: o gentipo definido como um ar-
ranjo de 0s e 1s. necessrio definir o tamanho do arranjo, bem como o mapeamento gentipo
fentipo. Entretanto, em muitas aplicaes do mundo real, a representao binria pode apre-
sentar fraco poder de expresso (Deb, 2001), no sendo eficiente na representao das possveis
solues. Uma alternativa empregada a representao em ponto flutuante ou representao
real, segundo a qual as solues so arranjos de nmeros reais. Essa representao usualmente
empregada quando os genes so distribudos em um intervalo contnuo, em vez de um conjunto
de valores discretos (Eiben e Smith, 2003).
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 podeser o custo da soluo. Se o problema for de minimizao, as solues de maior fitness so as
de menor custo.
2.2.3 Pais, Operadores de Reproduo e Descendentes
Os AEs trabalham sobre um ou mais cromossomos a fim de gerar novas solues, chama-
das 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 cromos-
somos. 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
A gerao uma iterao do AE, na qual os indivduos da populao atual so selecionadose recombinados e/ou mutados, gerando descendentes. Devido criao de novos descendentes,
o tamanho da populao cresce; ento um mecanismo de seleo controla esse tamanho.
7/31/2019 Algoritimos evolutivos
9/35
2.2. TERMINOLOGIA BSICA 7
A idia bsica da seleo a seguinte: seja uma populao de tamanho M e seja Nd o
nmero de descendentes, ento, para a prxima gerao, so selecionados M novos indivduos
entre as M + Nd possveis solues, ou entre somente os Nd novos indivduos (Nd pode ser
maior que M, ver Captulo 3). Cada AE desenvolve, com base nesse princpio, uma estratgia
de seleo.
Locus
(Posio)
1 2 3 4 5 6 7 8 9 10.
Populao
(a) (b)
Cromossomo
Cromossomo Cromossomo
Locus
(Posio)
31 2.
.
.
Cromossomo
.
.
.
Cromossomo
Alelo (Valor) = 6.3964 Cromossomo
Alelo (Valor) = 1Alelo (Valor) = 0
1 0 1 1 1 1 0 0 1 0
1 0 1 0 0 0 1 1 1 0
0 0 1 1 1 1 1 0 0 0
0 1 0 0 1 0 1 1 1 1
0 1 1 0 0 1 0 0 1 04.3852 0.5837 8.38530 1 1 1 0 1 1 0 0 06.3964 5.5495 1.09371 0 0 0 0 1 1 1 1 11.0937 8.3853 9.38561 0 1 1 0 0 0 1 0 16.3964 1.0645 0.58370 0 1 1 0 1 0 1 1 0
0 0 1 0 1 0 1 1 0 0
Figura 2.1: Dois exemplos de estrutura de dados e terminologia de um AE (Coello Coello etal., 2002): (a) cromossomos com 10 genes e alelos binrios; (b) cromossomo com3 genes e alelos correspondendo a valores reais.
7/31/2019 Algoritimos evolutivos
10/35
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 bus-
cando 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 ge-
ntica (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
As principais caractersticas dos AEs cannicos so importantes para o entendimento de
propostas de soluo baseadas em conceitos evolutivos, bem como para o desenvolvimento de
novos AEs. As subsees 3.1.1, 3.1.1 e 3.1.3 descrevem suscintamente os AEs 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 ana-
lisados 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 to-
dos os indivduos da populao atual geram novos descendentes. Esse processo caracteriza a
chamada reproduo assexuada. Na seleo de indivduos para a prxima gerao, os descen-
dentes competem com os pais e somente os indivduos com maior fitness (no caso, os demaior payoffentre os + indivduos) sobrevivem.
8
7/31/2019 Algoritimos evolutivos
11/35
3.1. ALGORITMOS CANNICOS 9
A PE garante que todos os indivduos produziro novos descendentes e, somente, os me-
lhores 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 signi-
ficativamente 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
As estratgias evolutivas (EEs) foram desenvolvidas com o objetivo de solucionar problemas
de otimizao de parmetros. Foram propostas originalmente por Rechenberg (1965) e Schwe-
fel (1975), na dcada de 1960, que desenvolveram a chamada (1 + 1)-EE em que um pai gera
um nico descendente (reproduo assexuada) e ambos competem pela sobrevivncia.Nas EEs, cada gene no cromossomo representa uma dimenso do problema, sendo que o
alelo representado em ponto flutuante. Os cromossomos so compostos por dois arrays, um
com valores para cada dimenso e outro com o desvio padro desses valores. A gerao de um
novo indivduo feita por meio da aplicao de um operador de mutao, com distribuio de
probabilidade Gaussiana, com mdia zero e com desvio padro do gene correspondente no pai.
As EEs tambm utilizam elitismo completo.
O modelo original de EE possui convergncia lenta (De Jong, 2006). Por isso, foram desen-
volvidos outros modelos denominados respectivamente (, )-EE e ( + )-EE. No primeiro, pais morrem e sobrevivem descendente, sem competio entre os indivduos j existentes
com os novos indivduos. No segundo modelo, sobrevivem apenas indivduos selecionados
entre os indivduos atuais e os novos indivduos gerados.
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 paraproblemas de otimizao. O conceito de robustez relaciona-se ao fato de os AGs, independente-
mente das escolha dos parmetros iniciais, em geral, produzirem solues de qualidade (Gold-
berg, 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; VonZuben, 2000).
A seguir, mostram-se os principais passos de um AG, baseando-se em Michalewicz (1996):
7/31/2019 Algoritimos evolutivos
12/35
3.1. ALGORITMOS CANNICOS 10
Durante a iterao gen, um AG mantm uma populao de solues potenciais P(gen) =
{xgen1
, . . . , xgenn };
Cada indivduo xgeni avaliado produzindo uma medida de aptido, ou fitness;
Novos indivduos so gerados a partir de indivduos da populao atual, os quais so
selecionados para reproduo por um processo que tende a escolher indivduos de maior
fitnes;
Alguns indivduos sofrem alteraes, por meio de recombinao e mutao, formando
novas solues potenciais;
Dentre as solues antigas e novas ( + ), so selecionados indivduos (sobreviventes)
para a prxima gerao (gen + 1);
Este processo repetido at que uma condio de parada (cond?) seja satisfeita. Essacondio pode ser um nvel esperado de adequao das solues ou um nmero mximo
de iteraes.
A Figura 3.1 apresenta um diagrama de fluxo do AG descrito nesta Seo.
Incio
F im
Inicia Populao
cond ? Seleo para
Reproduo
Recombinao
Mutao
gen = 1
gen = gen + 1
S im
No
Seleo de
Sobreviventes
Reproduo
Figura 3.1: Diagrama de fluxo de um AG tpico.
7/31/2019 Algoritimos evolutivos
13/35
3.1. ALGORITMOS CANNICOS 11
Nos AGs cannicos (Goldberg, 1989), as solues candidatas so codificadas em arrays
binrios de tamanho fixo. A motivao para o uso de codificao binria oriunda da teoria dos
esquemas (Holland, 1992) utilizada com sucesso para explicar por que os algoritmos genticos
funcionam. Holland (1992) argumenta que seria benfico para o desempenho do algoritmo
maximizar o paralelismo implcito inerente ao AG e apresenta uma anlise qualitativa baseada
no Teorema dos Esquemas d que um alfabeto binrio poderia maximizar esse paralelismo.
Entretanto, em diversas aplicaes prticas a utilizao de codificao binria leva a um
desempenho insatisfatrio. Em problemas de otimizao numrica com parmetros reais, algo-
ritmos genticos com representao inteira ou em ponto flutuante freqentemente apresentam
desempenho superior codificao binria (Deb, 2001; Michalewicz, 1996).
Segundo Michalewicz (1996) e Deb (2001), a representao binria apresenta desempe-
nho pobre se aplicada a problemas numricos com alta dimensionalidade ou se alta preciso
numrica requerida. Alm disso, descrevem simulaes computacionais comparando o de-
sempenho de AGs com codificao binria e com ponto flutuante. Os resultados apresentadosmostram uma clara superioridade da codificao em ponto flutuante para os problemas estuda-
dos.
Em contrapartida, Fogel (1994) argumenta que o espao de busca por si s (sem levar em
conta a escolha da representao) no determina a eficincia do AG. Espaos de busca de di-
menso elevada podem s vezes ser explorados eficientemente, enquanto que espaos de busca
de dimenso reduzida podem apresentar dificuldades significativas. Concorda, entretanto, que a
maximizao do paralelismo implcito nem sempre produz um desempenho timo (Von Zuben,
2000).O AG cannico utiliza um esquema de seleo de indivduos para a prxima gerao cha-
mado mtodo da roleta (Goldberg, 1989). Esse mtodo aplicado para selecionar indivduos
a partir de pais, mantidos em uma lista de reprodutores. Um implementao comum deste
algoritmos calcula uma lista de valores [a1, a2, . . . , a], de modo que ai =i
1P(i), onde P(i)
a probabilidade proporcional ao fitness de um indivduo i passar para a prxima gerao. O
Algoritmo 2 mostra o pseudocdigo do mtodo da roleta.
O desempenho de AGs pode, em muitos casos, ainda ser melhorado forando a escolha
do melhor indivduo encontrado em todas as geraes do algoritmo. Outra opo simples-mente manter sempre o melhor indivduo da gerao atual na gerao seguinte, estratgia essa
conhecida como seleo elitista (Fogel, 1994; Michalewicz, 1996).
Outro exemplo de mecanismo de seleo a seleo baseada em rank(Michalewicz, 1996).
Esta estratgia utiliza as posies dos indivduos quando ordenados de acordo com o fitness para
determinar a probabilidade de seleo. Podem ser usados mapeamentos lineares ou no lineares
para determinar a probabilidade de seleo. Uma forma de implementao desse mecanismo
simplesmente passar os n melhores indivduos para a prxima gerao (Von Zuben, 2000).
Existe ainda a seleo por torneio, pela qual um subconjunto da populao com k indiv-duos sorteado e os melhores indivduos desse grupo so selecionados para decidir qual ir
reproduzir. Em geral, utiliza-se torneio de 2 (k = 2), isto , dois indivduos (obtidos aleato-
7/31/2019 Algoritimos evolutivos
14/35
3.2. OUTROS ALGORITMOS EVOLUTIVOS 12
Algoritmo 2: Pseudocdigo do mtodo da roleta.Entrada: , pais.Sada: lista_reprodutores.cont 1;1ai
i1P(i);2
enquantocont
faa3
Obter um valor aleatrio r de probabilidade uniforme em [0, 1];4i 1;5enquanto ai < r faa6
i i + 1;7ai ai + P(i);8
fim9
lista_reprodutores[cont] pais[i];10cont cont + 1;11
fim12
riamente da populao) competem entre si e o ganhador (o de melhor fitness) torna-se um dos
pais. O pseudocdigo do Algoritmo 3 ilustra esse procedimento para selecionar pais.
Algoritmo 3: Pseudocdigo do algoritmo de seleo por torneio.Entrada: Populao, .Sada: lista_reprodutores.cont 1;1enquanto cont faa2
Obter k indivduos aleatoriamente, com ou sem reposio;3Selecionar, com relao ao fitness o melhor indivduo dentre k;4Denotar esse indivduo por i;5lista_reprodutores[cont] i;6cont cont + 1;7
fim8
Uma importante propriedade da seleo por torneio que esta no depende de um conheci-
mento global da populao. Alm disso, essa seleo no leva em considerao o rank que o
indivduo ocupa na populao, permitindo uma seleo com menos tendncias (Eiben e Smith,
2003).
3.2 Outros Algoritmos Evolutivos
Mais recentemente, diversos aspectos complexos em problemas de otimizao e aprendi-
zado 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.
7/31/2019 Algoritimos evolutivos
15/35
3.2. OUTROS ALGORITMOS EVOLUTIVOS 13
3.2.1 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 espe-
cficos 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 desubrvore, 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
Os micro-AGs so variaes de AGs desenvolvidos para de evoluir eficientemente solues
utilizando populaes com poucos indivduos. O primeiro trabalho envolvendo micro-AGs foi
proposto por Krishnakumar (1989). Nesse modelo uma pequena populao gerada e evoluda
at que todos os indivduos tenham gentipos idnticos ou, pelo menos, muito similares. O
melhor indivduos , ento, transferido para uma nova populao; os demais novos indivduos
so gerados aleatoriamente. Em geral utiliza-se alta taxa de recombinao (prxima de 1) e
baixa de mutao (em muitos casos 0).
Micro-AGs apresentam grande importncia em diversas aplicaes, em especial projetos
onde a disponibilidade de recursos computacionais limitada, como o caso da rea de Rob-
tica Evolutiva (Carvalho et al., 2004), onde cada rob um indivduo; como invivel construir
um grande nmeros de robs, a populao deve ser pequena. Aplicaes de tempo real tam-
bm podem ser beneficiadas com a utilizao de micro-AGs, uma vez que populaes pequenas
requerem menos tempo computacional para serem geradas (Delbem et al., 2005).
3.2.3 Algoritmos de Estimao de Distribuio
Os algoritmos de estimao de distribuio (AEDs) (Larraeaga e Lozano, 2001; Paul e
Iba, 2003) foram intensamente pesquisados nos ltimos anos. OS AEDs foram introduzidos
7/31/2019 Algoritimos evolutivos
16/35
3.2. OUTROS ALGORITMOS EVOLUTIVOS 14
por Mhlenbein e Paa (1996), incorporando tcnicas de aprendizagem automatizada de corre-
laes 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 ajus-
tado. 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 propos-
tas 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) argumen-
tam 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 Algoritmos Evolutivos para Otimizao Multiobjetivo
Problemas de otimizao multiobjetivo tm despertado grande interesse na rea de Otimi-
zao. Nesses problemas, a qualidade da soluo definida com base na sua adequao emrelao 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 obje-
tivo 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 adequa-dos. 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 Schaf-
fer (1985) e denominado VEGA (do ingls, "Vector Evaluated Genetic Algorithm"). Este al-
goritmo 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 baixadiversidade.
7/31/2019 Algoritimos evolutivos
17/35
3.2. OUTROS ALGORITMOS EVOLUTIVOS 15
SelecionarN (N M)
indivduos
Ajustar o modelo de
probabilidade aos indivduosselecionados
Gerar os melhoresdescendentes de acordo com
o modelo ajustado
Selecionar os indivduos danova populao
cond?
Retornar soluo
Sim
No
Gerar populao inicial detamanho M
Figura 3.2: Diagrama de fluxo simplificado de um AED.
Goldberg (1989) criou em procedimento que ordena as solues baseado no conceito de
dominncia que fornece um valor de aptido para uma soluo proporcional ao nmero de
solues que esta domina, i.e., no perde em nenhum objetivo e melhor em pelo menos um.
Com isso as solues com maior nmero de dominados possuem maior aptido e, assim, tero
uma maior quantidade de cpias na lista de solues. Com o objetivo de manter a diversidade
das solues, Goldberg sugeriu a utilizao de um mtodo de compartilhamento que calcula o
nicho de cada soluo dentro da fronteira que a soluo pertence. Com base nas idias iniciais
de Goldberg, foram propostos vrios modelos de AEOMs.
A principal diferena entre os AEs tradicionais e os AEOMs o operador de seleo, dado
que a comparao entre duas solues deve realizar-se de acordo com o conceito de dominncia.
Em algumas proposta, como MOGA (Fonseca e Fleming, 1993) e SPEA (Zitzler e Thiele,
1998), o valor de aptido proporcional dominncia da soluo. Os outros mtodos, como
NPGA (Horn et al., 1994), utilizam a dominncia e no calculam um valor de aptido.
Os modelos de AEMO so usualmente classificados em dois grupos (Deb, 2001; Eiben e
Smith, 2003):
7/31/2019 Algoritimos evolutivos
18/35
3.2. OUTROS ALGORITMOS EVOLUTIVOS 16
1. No elitistas: compreendem os modelos que como o prprio nome indica, no utilizam
nenhuma forma de elitismo nas suas interaes;
2. Elitistas: compreendem os modelos que empregam alguma forma de elitismo. Por exem-
plo, como o SPEA e o PESA (Corne et al., 2000), utilizam uma populao externa para
armazenar as solues no dominadas encontradas at o momento. O NSGA-II (Deb etal., 2000) combina a populao atual com a populao gerada e preserva as melhores
solues de ambas. Estudo realizado por Zitzler et al. (2000) concluiu que o elitismo
melhora as solues encontradas por um modelo de AEMO. A Tabela 3.2.4 apresenta os
principais modelos de AEMO e seus autores.
Tabela 3.1: Diferentes modelos de AEMO.
Sigla Nome do Modelo Autores
VEGA Vector Evaluated Genetic Algorithm (Schaffer, 1985)WBGA Weight Based Genetic Algorithm (Hajela e Lin, 1992)MOGA Multiple Objective Genetic Algorithm (Fonseca e Fleming, 1993)NSGA Non-Dominated Sorting Genetic Algorithm (Srinivas e Deb, 1994)NPGA Niched-Pareto Genetic Algorithm (Horn et al., 1994)PPES Predator-Prey Evolution Strategy (Laumanns et al., 1998)REMOEA Rudophs Elitist Multi-Objective (Rudolph, 2001)
Evolutionay Algorithm
NSGA-II Elitist Non-Dominated Sorting Genetic (Deb et al., 2000)AlgorithmSPEA, Strenght Pareto Evolutionary Algorithm 1 e 2 (Zitzler e Thiele, 1998),SPEA-2 (Zitzler et al., 2001)TGA Thermodynamical Genetic Algorithm (Kita et al., 1996)PAES Pareto-Archived Evolutionary Strategy (Knowles e Corne, 1999)MONGA-I, Multi-Objective Messy Genetic Algorithm (Veldhuizen, 1999)MONGA-IIPESA-I, PESA-II Pareto Envelope-Base Selection Algorithm (Corne et al., 2000),
(Corne et al., 2001)
7/31/2019 Algoritimos evolutivos
19/35
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 descen-
dentes 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
O operador de mutao modifica aleatoriamente um ou mais genes de um cromossomo.
Com esse operador, um indivduo gera uma cpia de si mesmo, a qual pode sofrer alteraes.
A probabilidade de ocorrncia de mutao em um gene denominada taxa de mutao. Usu-
almente, so atribudos valores pequenos para a taxa de mutao, uma vez que esse operador
pode gerar um indivduo potencialmente pior que o original.Considerando a codificao binria (ver Seo 2.2.1), o operador de mutao padro sim-
plesmente troca o valor de um gene em um cromossomo (Goldberg, 1989). Assim, se o alelo de
um gene selecionado 1, o seu valor passar a ser 0 aps a aplicao da mutao (Figura 4.1)
Pai:
Descendente:
1 1 0 1 0 0 0 0 1
1 1 0 1 0 0 0 1 1
1 1
1
Ponto de Mutao
Figura 4.1: Representao grfica do operador de mutao.
17
7/31/2019 Algoritimos evolutivos
20/35
7/31/2019 Algoritimos evolutivos
21/35
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, cria-
se 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:
0 0 0 0 1 0 0 0 0
1 1 0 1 0 0 0 0 1
0 1 0 0 0 0 0 0 0
1 0 0 1 1 0 0 0 1
0
1 1
0
1
Figura 4.4: Recombinao uniforme. Nesse exemplo, adaptado de Ei-ben e Smith (2003), foram utilizadas as variveis aleatrias[0.31, 0.74, 0.10, 0.42, 0.89, 0.78, 0.21, 0.51, 0.36, 0.21] uniformemente distri-budas em [0, 1).
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
Essa categoria de recombinao procura fazer analogia com o processo de recombinao em
representao binria, de modo que cada cromossomo um conjunto de nmeros reais. A des-
vantagem da recombinao discreta est no fato de no inserir novos valores no cromossomo,
uma vez que gera apenas combinaes de vetores. A tarefa de inserir novos genes atribuda
apenas mutao (Eiben e Smith, 2003).
4.2.2 Recombinao Aritmtica
Proposta por Michalewicz e Janikow (1991), a recombinao aritmtica (tambm chamada
recombinao intermediria) cria novos alelos nos descendentes com valores intermedirios
aos encontrados nos pais. Define uma combinao linear entre dois cromossomos x e y, de
modo a gerar um descendente z, da seguinte forma:
z = x + (1 )y, (4.1)
7/31/2019 Algoritimos evolutivos
22/35
7/31/2019 Algoritimos evolutivos
23/35
4.2. RECOMBINAO 21
Pai 1:
Pai 2:
Filho 1:
Filho 2:
0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9
0,3 0,2 0,3 0,2 0,3 0,2 0,3 0,2 0,3
0 ,2 0, 2 0 ,3 0 ,3 0, 4 0 ,4 0, 5 0, 5 0 ,6
0 ,2 0, 2 0 ,3 0 ,3 0, 4 0 ,4 0, 5 0, 5 0 ,6
Figura 4.7: Exemplo de recombinao total para = 0.5.
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 dife-rena 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 popu-
lao 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 Recombinao com Mltiplos Pais
Alm dos operadores de reproduo descritos neste Captulo, assexuada e sexuada, pos-
svel 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 ampli-
fica 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 recombina-
o diagonal), generalizando a recombinao de n-pontos;
3. Recombinao baseado em operaes numricas sobre alelos reais (chamada recombina-
o massiva), generalizando os operadores de recombinao aritmtica.
No h estudos tericos conclusivos sobre as vantagens da utilizao de vrios pais no pro-
cesso de recombinao. No entanto, resultados experimentas demonstram vantagem dessa tc-nica em uma grande variedade de problemas (Eiben e Schippers, 1996; Eiben e Smith, 2003).
7/31/2019 Algoritimos evolutivos
24/35
4.3. OPERADORES DE REPRODUO PARA PERMUTAO 22
4.3 Operadores de Reproduo para Permutao
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
Os novos indivduos do crossover de ordem, conhecido como OX, so obtidos da seguinte
forma: selecionam-se dois pontos de corte que definem uma subseqncia entre esses pontos.
Essa subseqncia copiada do Pai 1 (Pai 2) para o Filho 1 (Filho 2) na mesma posio em que
os genes esto no pai. Para preencher as posies restantes do filho, copia-se do Pai 2 (Pai 1) o
primeiro gene posicionado a partir do segundo ponto de corte e que ainda no est presente no
filho para a primeira posio no preenchida no filho depois do segundo ponto de corte. Esse
processo de cpia continua com o prximo gene de Pai 2 (Pai 1) utilizando este pai como uma
lista circular at completar os genes do Filho 1 (Filho 2).
No exemplo, sejam os pontos de corte entre as posies 3 e 4, e 7 e 8. Primeiramente osfilhos so formados somente pelas subseqncias entre os pontos de corte, ou seja:
Filho 1 = X X D B X X
Filho 2 = X X A C X X
No passo seguinte, as demais posies dos filhos so definidas, a partir do segundo ponto de
corte a partir do pai no utilizado para compor a subseqncia. Os seguintes filhos so obtidos:
Filho 1 = A C D B F E
Filho 2 = D B A C F E
7/31/2019 Algoritimos evolutivos
25/35
7/31/2019 Algoritimos evolutivos
26/35
4.3. OPERADORES DE REPRODUO PARA PERMUTAO 24
4.3.4 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 naposio 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. Aseguir 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 Crossover Parcialmente Mapeado
Uma variao do operador OX o crossover parcialmente mapeado (PMX), pois ambos
utilizam dois pontos aleatrios de corte para definir uma subseqncia que copiada para os
descendentes. As subseqncias de cada pai definem um mapeamento entre seus genes, de
forma que um gene no primeiro pai na posio i mapeado para o gene na posio i do segundo
pai. O operador inicia copiando a subseqncia do primeiro pai para o filho. Os demais genes
do filho so copiados das posies correspondentes dos genes do segundo pai, resolvendo cada
conflito (gene do segundo pai que j foi inserido no filho) utilizando o gene correspondente
dado pelo mapeamento. Para o outro filho, o processo o mesmo s trocando o primeiro pai
com o segundo pai (Michalewicz e Fogel, 2004; Bck et al., 2000).
Por exemplo, com Pai 1 e Pai 2 definidos, escolhe-se de forma aleatria os pontos de corte
como definidos para OX, ou seja, entre as posies 2 e 3, e 4 e 5. Estes pontos de corte definem
o mapeamento de genes 4 1 e 2 3. Copia-se para Filho 1 a subseqncia definida entre os
pontos de corte de Pai 1 e de Pai 2 os genes que no geram conflito com os genes copiados de
Pai 1 obtendo:
Filho 1 = E X D B X F
7/31/2019 Algoritimos evolutivos
27/35
4.3. OPERADORES DE REPRODUO PARA PERMUTAO 25
Para os genes que geram conflito utiliza-se o mapeamento e obtm-se
Filho 1 = E C D B A F
7/31/2019 Algoritimos evolutivos
28/35
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 inde-
pendente 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 Representao Operadores
PE MEF Mutao e seleo ( + ) ou (, )Ponto flutuante Mutao e seleo ( + )
EE(dimenso do problema e desvio padro)Originalmente binria; Recombinao (principal), mutao e
AGponto flutuante em algumas aplicaes 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 colonyoptimization (ACO)1, imune systems, learning classifier algorithms (LCS), etc. Alm disso,
os AEs podem ser vistos como metaheursticas2, possibilitando uma interface (compartilha-
mento, 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).
1ACO (Dorigo e Gambardella, 1997; Dorigo et al., 1999; Pilat e White, 2002) so AEs, no sentido em queevoluem 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.2Uma metaheurstica um mtodo heurstico para soluo de uma classe geral de problemas computacionais
utilizando a combinao de outras heursticas (Blum e Roli, 2003).
26
7/31/2019 Algoritimos evolutivos
29/35
27
Finalmente, importante destacar os AEs so processos heursticos, de modo podem no
gerar, necessariamente, solues timas. Alm disso, muitos problemas de otimizao encon-
trados 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 considera-
das ineficientes.
7/31/2019 Algoritimos evolutivos
30/35
Referncias Bibliogrficas
ALBA , E. Parallel metaheuristics: A new class of algrothms. Wiley Series on Parallel and
Distributed Computing. Wiley, 2005.
AMABIS, J. M.; MARTHO, G. R. Curso bsico de biologia, v. 3. So Paulo: Editora Moderna
Ltda., 1985.
ARENALES, M. N.; ARMENTANO, V. A.; MORABITO, R. ; YANASSE, H. H. Pesquisa
operacional. Rio de Janeiro: Elsevier Editora Ltda., 2007.
BALLARD, D. H. An introduction to natural computing. MIT Press, 1999.
BAZARAA, M. S.; SHERALI, H. D.; SHETTY, C. M. Nonlinear programming: Theory and
algorithms, cap. 2. 3 ed Hoboken, NJ: John Wiley & Sons, Inc., p. 3995, 2006.
BLUM, C.; ROLI, A. Metaheuristics in combinatorial optimization: Overview and conceptual
comparison. ACM Computing Surveys, v. 35, n. 3, p. 268308, 2003.
BCK , T.; FOGEL, D. B.; MICHALEWICZ, T., eds. Evolutionary computation 1: Basic
algorithms and operators. New York: Taylor & Francis Group, 2000.
CARVALHO, A. P. L. F.; DELBEM, A.; SIMES, E. V.; TELLES, G. P.; ROMERO, R. A.
Computao bioinspirada. In: Apostila de minicurso XXIII JAI - Jornada de Atualizao em
Informtica, Porto Alegre: Sociedade Brasileira de Computao, 2004, p. 50.
CASTRO, L. N. Fundamentals of natural computing: Basic concepts,algorithms, and appli-
cations. CRC Press LLC, 2006.
COELLO COELLO, C. A.; VAN VELDHUIZEN, D. A.; LAMONT, G. B. Evolutionary algor-
tihms for solving multi-objective problems. Genetic Algorithms and Evolutionary Compu-
tation. New York, NY: Kluwer Academic, 2002.
CORNE, D.; JERRAM, N.; KNOWLES, J.; OATES, M. Pesa-ii: Region-based selection in
evolutionary multiobjective optimization. In: SPECTOR, L.; GOODMAN, E.; WU, A.;
LANGDON, W.; VOIGT, H.; GEN , M.; SEN , S.; DORIGO, M.; PEZESHK, S.; GARZON,
M.; BURKE, E., eds. Proceedings of the Genetic and Evolutionary Computation Conference
(GECCO 2001), Morgan Kaufmann Publishers, 2001, p. 283290.
28
7/31/2019 Algoritimos evolutivos
31/35
REFERNCIAS BIBLIOGRFICAS 29
CORNE, D.; KNOWLES, J.; OATES, M. The pareto envelope-based selection algorithm for
multiobjective optimization. In: DEB , K.; G. RUDOLPH, X. Y.; LUTTON, E.; MERELO,
J. J.; SCHWEFEL, H. P., eds. Proceedings of the Parallel Problem Solving from Nature VI
Conference,, Springer. Lecture Notes in Computer Science No. 1917, 2000, p. 839848.
DE JON G, K. A. Evolutionary computation: A unified approach. Cambridge, MA: MITPress, 2006.
Disponvel em: http://www.cs.gmu.edu/~eclab/projects/ec_courseware
(Acessado em 10/08/2008)
DEB , K. Multi-objective optimization using evolutionary algorithms. Wiley-Interscience
Series in Systems and Optimization. New York, NY: John Wiley & Sons, 2001.
DEB , K. ; AGRAWAL, S. ; PRATAB, A. ; MEYARIVAN, T. A Fast Elitist Non-Dominated
Sorting Genetic Algorithm for Multi-Objective Optimization: NSGA-II. KanGAL report200001, Indian Institute of Technology, Kanpur, India, 2000.
DELBEM, A. C. B.; CARVALHO, A. C. P. L. F.; BRETAS, 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.
DORIGO, M.; CARO , G. D.; GAMBARDELLA, L. M. Ant algorithms for discrete optimiza-
tion. Artificial Life, v. 5, n. 2, p. 137172, 1999.
DORIGO, M.; GAMBARDELLA , L. M. Ant colony system: A cooperative learning approachto the traveling salesman problem. IEEE Transactions on Evolutionary Computation, v. 1,
n. 1, p. 120, 1997.
DUNI EKISOGLU, S.; PARDALOS, P.; RESENDE, M. Parallel metaheuristics for combinato-
rial optimization. In: Models for Parallel and Distributed Computation: Theory, Algorithmic
Techniques and Applications, Kluwer Academic Publishers, p. 179206, 2002.
EIBEN, A. E.; SCHIPPERS, C. A. Multi-parents niche:n-ary crossovers on nk-landscapes. In:
VOIGT, H.-M.; EBELING, W.; RECHENBERG, I.; SCHWEFEL, H.-P., eds. Proceedings ofth 4th Conference on Parallel Problem from Nature, Berlin, Heidelberg, New York: Springer,
1996, p. 319328.
EIBEN, A. E.; SMITH, J. E. Introduction to evolutionary computing. Natural Computing
Series. Berlin: Springer, 2003.
EIBEN, A. E.; VAN KEMENADE, C. H.; KOK , J . N. Orgy in the computer: Multi-parent
reproduction in genetic algorithms. In: MORN, F.; MORENO, A.; MERELO, J. J.; CHA-
C N, P., eds. Advances in Artificial Life, Berlin, Heidelberg, New York: Springer, 1995, p.389402 (Lecture Notes in Artificial Intelligence, v.929).
http://www.cs.gmu.edu/~eclab/projects/ec_coursewarehttp://www.cs.gmu.edu/~eclab/projects/ec_courseware7/31/2019 Algoritimos evolutivos
32/35
REFERNCIAS BIBLIOGRFICAS 30
ESHELMAN, L. J.; SCHAFFER, J. D. Real-coded genetic algorithms and interval-schemata.
In: Foundations of Genetic Algorithms 2 (FOGA-2), San Mateo, CA, 1993, p. 187202.
FEO , T. A.; RESENDE, M. G. C. Greedy randomized adaptive search procedures. J. of
Global Optimization, v. 1, p. 109133, 1995.
FOGEL, D. B. An introduction to simulated evolution. IEEE Transaction on Neural Networks,
v. 5, n. 1, p. 314, 1994.
FOGEL, L. Autonomus automata. Industrial Research, v. 4, n. 1, p. 1419, 1962.
FONSECA, C.; FLEMING, P. Genetic Algorithms for Multiobjective Optimization: Formula-
tion, Discussion and Generalization. In: FORREST, S., ed. Proceedings of the Fifth Interna-
tional Conference on Genetic Algorithms, University of Illinois at Urbana-Champaign, San
Mateo, California: Morgan Kauffman Publishers, 1993, p. 416423.
GOLDBERG, D. E. Genetic algorithms in search, optimization, and machine learning. New
York: Addison-Wesley, 1989.
GOLDBERG, D. E. Real-coded gentic algorithms, virtual alphabets, and blocking. Complex
Systems, v. 5, n. 2, p. 139168, 1991.
GOLDBERG, D. E. The design of innovation: Lessons from and for competent genetic algo-
rithms. Boston: Kluwer, 2002.
HAJELA, P.; LIN , C. Y. Genetic search strategies in multicriterion optimal design. Structural
Optimization, v. 4, p. 99107, 1992.
HOLLAND, J. Adaptation in natural and artificial systems: An introductory analysis with
applications to biology, control, and artificial inteligence. Complex Adaptive Systems, 2
ed. Cambridge, MA: MIT Press, 1992.
HORN, J.; NAFPLIOTIS, N.; GOLDBERG, D. A Niched Pareto Genetic Algorithm for Mul-
tiobjective Optimization. In: Proceedings of the First IEEE Conference on Evolutionary
Computation, IEEE World Congress on Computational Intelligence, Piscataway, New Jer-sey: IEEE Service Center, 1994, p. 8287.
KITA, H.; YABUMOTO, Y.; MOR I, N.; NISHIKAWA, Y. Multi-Objective Optimization by
Means of the Thermodynamical Genetic Algorithm. In: VOIGT, H.-M.; EBELING, W.;
RECHENBERG, I.; SCHWEFEL, H.-P., eds. Parallel Problem Solving from NaturePPSN
IV, Lecture Notes in Computer Science, Berlin, Germany: Springer-Verlag, 1996, p. 504
512 (Lecture Notes in Computer Science, ).
KNOWLES, J.; CORNE, D. The Pareto Archived Evolution Strategy: A New Baseline Algo-rithm for Multiobjective Optimisation. In: 1999 Congress on Evolutionary Computation,
Washington, D.C.: IEEE Service Center, 1999, p. 98105.
7/31/2019 Algoritimos evolutivos
33/35
REFERNCIAS BIBLIOGRFICAS 31
KOZ A, J . R. Hierarchical genetic algorithms operating on population of computer programs.
In: Proceedings of the 11th International Join Conference on Artificial Intelligence (IJCAI-
89), Detroid, MI: Morgan Kaufmann, 1989, p. 768774.
KOZ A, J. R. Genetic programming: On the programming of computers by means of natural
selection. Cambridge, MA: MIT Press, 1992.
KOZ A, J. R. Genetic programming II: Automatic discovery of reusable programs. Cambridge,
MA: MIT Press, 1994.
KOZ A, J. R.; BENNETT III, F. H.; ANDRE, D.; KEANE, M. A. Genetic programming III:
Darwinian invention and problem solving. San Mateo, CA: Morgan Kaufmann, 1999.
KOZ A, J. R.; KEANE, M. A.; STREETER, M. J.; MYDLOWEC, W.; YU, J.; LANZA, G. Ge-
netic programming IV: Routine human-competitive machine intelligence. Kluwer Academic
Publishers, 2003.
KRISHNAKUMAR, K. Micro-genetice algorithms for stationary and non-stationary function
optimization. SPIE: Inteligent Control and Adaptative Systems, v. 1196, p. 289296, 1989.
KURI-M ORALES, A. F. Pattern recognition via vasconcelos genetic algorithm. In: Pro-
gress in Pattern Recognition, Image Analysis and Applications, v. 3287 de Lecture Notes in
Computer Science, Springer Berlin / Heidelberg, p. 328335, 2004.
KURI-M ORALES, A. F.; GUTIRREZ-G ARCA, J. Penalty functions methods for constrained
optimization with genetic algorithms: A statistical analysis. In: COELLO COELLO, C. A.;
ALBORNOZ, A.; SUCAR, L. E.; BATTISTUTTI, O. C., eds. Proceedings of the 2nd Mexi-
can International Conference on Artificial Intelligence (MICAI 2002), Heidelberg, Germany:
Springer-Verlag, 2001, p. 108117 (Lecture Notes in Artificial Intelligence, v.2313).
LARRAEAGA , P.; LOZANO, J. Estimation of distribuition algorithms: A new tool for evolu-
tionary computation. Kluwer Academic Publishers, 2001.
LAUMANNS, M.; RUDOLPH, G.; SCHWEFEL, H.-P. A Spatial Predator-Prey Approach to
Multi-Objective Optimization: A Preliminary Study. In: EIBEN, A. E.; SCHOENAUER,
M.; SCHWEFEL, H.-P., eds. Parallel Problem Solving From Nature PPSN V, Amsterdam,
Holland: Springer-Verlag, 1998, p. 241249.
MANGE, D., ed. Bio-inspired computing machine. Informatique. EPFL Press, 1998.
MELO, V. V.; DELBEM, A. C. B.; PINTO JUNIOR, D. L.; FEDERSON, F. M. Improving
global numerical optimization using a search-space reduction algorithm. In: Genetic and
Evolutionary Computation Conference, ACM, 2007, p. 11951202.
MHLENBEIN, H. The equation for response to selection and its use for prediction. Evolutio-
nary Computation, v. 5, n. 3, p. 303346, 1998.
7/31/2019 Algoritimos evolutivos
34/35
REFERNCIAS BIBLIOGRFICAS 32
MHLENBEIN, H.; PAA, G. From recombination of genes to the estimation of distribuitions:
binary parameters. In: Parallel Problem Solving from Nature PPSN IV, 1996, p. 178187
(Lecture Notes in Computer Science, v.1411).
MICHALEWICZ, Z. Genetic algorithms + data structures = evolution programs. 3ed. Berlin:
Springer, 1996.
MICHALEWICZ, Z.; FOGEL, D. B. How to solve it: Modern heuristics. 2 ed. Berlin:
Springer, 2004.
MICHALEWICZ, Z.; JANIKOW, C. Z. Handling constraints in genetic algorithms. In: Proce-
edings of the Fourth International Conference on Genetic Algorithms, 1991, p. 151157.
PAUL , T. K.; IBA, H. Linear and combinatorial optimization by estimation of distribuition
algorithms. In: Proceedings of the 9th MPS Symposium on Evolutionary Computation,
Japo, 2003.
PELIKAN, M.; GOLDBERG, D. E.; LOB O, 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.
PILAT, M. L.; WHITE, T. Using genetic algorithms to optimize ACSTSP. In: DORIGO, M.;
CARO , G. D.; SAMPELS, M., eds. Ant Algorithms : Third International Workshop, Springer,
2002, p. 282287.
RECHENBERG, I. Cybernetc solution path of an experimental problem. Relatrio Tcnico
1122, Royal Aircraft Establishment, Franborough, UK, 1965.
RESENDE, M. G. C.; RIBEIRO, C. C. Parallel greedy randomized adaptive search procedures.
In: Parallel Metaheuristics: A new class of algorithms, John Wiley and Sons, 2005.
REZENDE, S. O. Sistemas inteligentes: fundamentos e aplicaes. Barueri, SP: Malone,
2003.
RIBEIRO, C. C.; HANSEN, P. Essays and surveys on metaheuristics. Kluwer AcademicPublishers, 2002.
RIDLEY, M. Evolution. 2 ed. Cambridge, MA: Blackwell Science, Inc., 1996.
RUDOLPH, G. Evolutionary Search under Partially Ordered Fitness Sets. In: Proceedings
of the International NAISO Congress on Information Science Innovations (ISI 2001), ICSC
Academic Press: Millet/Sliedrecht, 2001, p. 818822.
SAIT, S. M.; YOUSSEF, H. Interative computer algorithms with applications in engineering:
Solving combinatorial optimization problems. Los Alamitos, CA: IEEE Computer Society,
1999.
7/31/2019 Algoritimos evolutivos
35/35