Algoritimos evolutivos

download Algoritimos evolutivos

of 35

Transcript of Algoritimos evolutivos

  • 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_courseware
  • 7/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