Você está na página 1de 16

30

3 Algoritmos Genticos e Co-Evoluo


Algoritmos Genticos (AGs) constituem uma tcnica de busca e otimizao, altamente paralela, inspirada no princpio Darwiniano de seleo natural e reproduo gentica (Michalewicz, 1996) que privilegia os indivduos mais aptos com maior longevidade e, portanto, com maior probabilidade de reproduo. Em AGs um cromossoma uma estrutura de dados que representa uma das possveis solues do espao de busca do problema. Cromossomas so ento submetidos a um processo evolucionrio que envolve avaliao, seleo, recombinao sexual (crossover) e mutao. Aps vrios ciclos de evoluo a populao dever conter indivduos mais aptos (Davis, 1996). A representao das possveis solues do espao de busca de um
PUC-Rio - Certificao Digital N 0116630/CA

problema define a estrutura do cromossoma a ser manipulado pelo algoritmo e depende do tipo de problema e do que, essencialmente, se deseja manipular geneticamente. Os principais tipos de representao so: binria, nmeros reais, inteiros, grupamento de inteiros e baseadas em ordem. AGs tm sido aplicados a diversos problemas de otimizao tais como: Otimizao de Funes Matemticas, Otimizao de Planejamento, Problema do Caixeiro Viajante, Problema de Otimizao de Rota de Veculos, etc. Na seo seguinte, revisa-se a representao baseada em ordem e a sua aplicao no problema do caixeiro viajante. 3.1 Representao de Problemas Baseados em Ordem 3.1.1 Problema do Caixeiro Viajante O problema do caixeiro viajante um problema combinatorial do tipo NPhard (Garey & Johnson, 1979) que oferece uma definio conceitualmente simples: um caixeiro viajante deve visitar todas as cidades da sua rea uma nica vez e retornar ao ponto de partida. Dado que existe um custo de transporte entre todas as cidades, deseja-se encontrar o itinerrio com o menor custo possvel. O

31 espao de busca deste problema um conjunto de permutaes de n cidades e este espao tem um tamanho de n! permutaes possveis (Michalewicz, 1996). Trs representaes vetoriais para o cromossoma tm sido constantemente usadas para soluo de problemas de TSP com algoritmos genticos: de adjacncia, ordinal e de caminho (Michalewicz, 1996). Na representao de adjacncia o caminho representado por uma lista de n cidades. A cidade j aparece na posio i se e somente se o caminho levar da cidade i para a cidade j. Por exemplo, o vetor (2 4 8 3 9 7 1 5 6) representa o caminho 1-2-4-3-8-5-9-6-7. Esta representao entretanto pode gerar caminhos ilegais. Por exemplo, o vetor (2 4 8 1 9 3 5 7 6) representa o caminho 1-2-4-1. Este caminho ilegal porque o ciclo se fecha prematuramente, no passando por algumas das cidades. Portanto, esta representao no suporta os operadores genticos convencionais necessitando de um algoritmo de reparao.
PUC-Rio - Certificao Digital N 0116630/CA

Na representao ordinal usa-se uma lista ordenada de referncia com as cidades: (1 2 3 4 5 6 7 8 9), por exemplo. Para representar um caminho como, por exemplo, 1-2-4-3-8-5-9-6-7, deve-se usar um cromossoma definido como (1 1 2 1 4 1 3 1 1). Interpreta-se este cromossoma da seguinte forma: pega-se o primeiro nmero do cromossoma. Neste caso, este nmero 1. Retira-se ento a cidade nmero 1 da lista de referncia (esta cidade a cidade 1). O prximo nmero do cromossoma tambm 1 e portanto tira-se novamente a primeira cidade da lista (que agora 2 pois j foi retirada a cidade 1 no primeiro passo). Repete-se este procedimento at a lista ordenada de referncia estar vazia. Finalmente, na representao de caminho, que provavelmente a mais natural das trs representaes, o vetor de cidades representa a ordem na qual as mesmas devem ser visitadas, ou seja, o vetor ( 5 1 7 8 9 4 6 2 3) representa o caminho 5-1-7-8-9-4-6-2-3. De acordo com Michalewicz (1996), at recentemente, trs tipos de crossover diferentes foram definidos para a representao de caminho. O crossover de mapeamento parcial (Partially Mapped Crossover PMX), o crossover de ordem (Order Crossover OX) e o crossover de ciclo (Cycle Crossover CX). O operador PMX constri descendentes atravs da seleo de uma subseqncia de um caminho de um pai e mantendo a ordem e a posio de

32 quantas cidades for possvel do outro pai. Esta subseqncia escolhida selecionando-se dois pontos de corte aleatoriamente. Por exemplo, sejam os dois cromossomas abaixo (os pontos de corte esto indicados pelo sinal | ): p1=(1 2 3 | 4 5 6 7 | 8 9) p2=(4 5 2 | 1 8 7 6 | 9 3)

(1)

Estes dois cromossomas produzem descendentes da seguinte maneira. Primeiro, os segmentos que esto entre os pontos de corte so trocados: d1=(x x x | 1 8 7 6 | x x) d2=(x x x | 4 5 6 7 | x x )
PUC-Rio - Certificao Digital N 0116630/CA

(2)

Esta troca define tambm uma srie de mapeamentos entre os valores:


1 4;8 5;7 6;6 7

(3)

Preenche-se os elementos que faltam utilizando-se os elementos originais de cada pai, dado que no haja nenhum conflito ou seja, que no se esteja colocando uma cidade que j exista no cromossoma descendente: d1=(x 2 3 | 1 8 7 6 | x 9) d2=(x x 2 | 4 5 6 7 | 9 3 ) Finalmente, anteriormente em (3): d1=(4 2 3 | 1 8 7 6 | 5 9) d2=(1 8 2 | 4 5 6 7 | 9 3 ) utilizou-se o mapeamento gerado pela troca

(4)

feita

(5)

Este operador gentico explora importantes similaridades nos valores e na ordem quando usado nas situaes corretas.

33 O operador OX constri os descendentes selecionando uma subseqncia de um caminho de um pai e preservando a ordem relativa das cidades do outro pai. Por exemplo, sejam os dois cromossomas definidos em (1). Os descendentes so gerados da seguinte forma: primeiro seleciona-se os pontos de corte. Supondo que os cortes sejam os mesmos de (2), copia-se as cidades de um pai para o outro a partir do segundo ponto de corte, mantendo-se a mesma ordem e omitindo-se os smbolos j presentes. Esta seqncia de cidades do segundo pai por exemplo, a partir do segundo ponto de corte seria 9-3-4-5-2-1-8-7-6. Removendo-se as cidades 4, 5, 6 e 7 que j existem no primeiro descendente, teremos a seqncia 93-2-1-8. Coloca-se esta seqncia de cidades no primeiro descendente (tambm a partir do segundo ponto de corte) e repete-se a operao para o segundo (selecionando a seqncia de cidades do primeiro pai). Como resultado obtm-se: d1=(2 1 8 | 4 5 6 7 | 9 3)
PUC-Rio - Certificao Digital N 0116630/CA

d2=(3 4 5 | 1 8 7 6 | 9 2)

(6)

Este operador explora o fato de que a ordem das cidades que importante e no a sua posio. Isto pode ser observado nos caminhos 9-3-4-5-21-8-7 e 4-5-2-1-8-7-6-9-3 que, apesar de serem diferentes com relao a posio, seguem a mesma ordem e portanto representam o mesmo caminho. Finalmente, o operador CX constri descendentes de modo que cada cidade e a sua posio venham de um dos pais. Isto funciona da seguinte maneira: sejam os dois cromossomas abaixo: p1=(1 2 3 4 5 6 7 8 9) p2=(4 5 2 1 8 7 6 9 3)

(7)

O primeiro descendente produzido pegando-se o primeiro elemento do primeiro pai (neste caso, 1). A cidade correspondente a esta no segundo pai a cidade 4 e portanto temos que coloc-la no primeiro descendente, na mesma posio em que ela se encontra no primeiro pai. Desta forma, teremos um cromossoma com a seguinte forma:

34 d1=(1 x x 4 x x x x x) (8)

Por sua vez, a escolha da cidade 4 implica na escolha da cidade 8 (que a que est na posio correspondente no segundo pai). Seguindo esta regra, as prximas cidades a serem escolhidas so a 3 e a 2. d1=(1 2 3 4 x x x 8 x) (9)

Deve-se notar no entanto que, aps escolher a cidade dois, a prxima cidade que deve ser includa a 1, que j est no cromossoma descendente. Portanto, tem-se um ciclo completo e agora deve-se pegar as prximas cidades dos segundo pai. Repetindo-se esta operao para o segundo descendente tem-se finalmente:
PUC-Rio - Certificao Digital N 0116630/CA

d1=(1 2 3 4 7 6 9 8 5) d2=(4 1 2 8 5 6 7 3 9)

(10)

Este operador preserva a posio absoluta dos elementos dos pais nos seus descendentes. Alm disso, cabe citar o operador de recombinao de adjacncias. (edge recombination crossover ERX). Este operador se baseia na idia geral de que os descendentes devem ser construdos exclusivamente a partir das adjacncias presentes nos dois pais. Isto feito com o auxlio de uma lista de adjacncias criada a partir dos caminhos dos dois pais. Esta lista fornece, para cada cidade c, todas as outras cidades conectadas a ela em pelo menos um dos pais. Obviamente, para cada cidade c existem pelo menos duas e no mximo quatro cidades nesta lista. Por exemplo, dados os indivduos: d1=(1 2 3 4 7 6 9 8 5) d2=(4 1 2 8 7 6 9 3 5) A lista de adjacncias para estes dois cromossomas :

(11)

35 Cidade 1 2 3 4 5 6 7 8 9 Tem adjacncia com 9,2,4 1,3,8 2,4,9,5 3,5,1 4,6,3 5,7,9 6,8 7,9,2 8,1,6,3

Tabela 2 Lista de adjacncias

A construo dos descendentes comea com a seleo de uma cidade


PUC-Rio - Certificao Digital N 0116630/CA

inicial de um dos pais (neste caso, 1 ou 4). A cidade com o menor nmero de adjacncias na lista de adjacncias a selecionada. Caso os nmeros de adjacncias sejam iguais, uma escolha aleatria pode ser feita. Desta forma, teremos uma chance maior de completar o caminho com todas as adjacncias sendo selecionadas dos pais. Se a escolha fosse meramente aleatria, a chance de ocorrer uma falha de adjacncia, ou seja, sobrar uma cidade sem continuao da adjacncia, seria muito maior. Supondo ento que a cidade 1 fosse escolhida, nota-se pela lista que ela est conectada diretamente a trs outras cidade: 9, 2 e 4. A prxima cidade escolhida deve ento ser uma dessas. Como as cidades 4 e 2 tm apenas 3 adjacncias e a cidade 9 tem 4 adjacncias, uma escolha aleatria feita entre a 4 e a 2. Supondo que a cidade 4 tenha sido a escolhida, as candidatas para a prxima cidade no caminho seriam 3 e 5. Prosseguindo com este algoritmo, poderia se obter um cromossoma com a configurao (1 4 5 6 7 8 2 3 9). Para operadores genticos de mutao existem basicamente quatro tipos de operadores: Swap, Inverso de Posio (Position Inversion PI), Rotao a Esquerda (Rotation Left Mutation RLM), Rotao a Direita (Rotation Right Mutation RRM).

36 O operador Swap seleciona duas cidades aleatoriamente e troca suas posies. Desta forma o cromossoma (1 2 3 4 5 6 7 8 9) aps serem selecionadas para mutao a cidade 3 e 8 fica (1 2 8 4 5 6 7 3 9). O operador PI seleciona dois pontos de corte no cromossoma e inverte os elementos situados entre estes dois ponto. Suponha o cromossoma anterior com os seguintes pontos de corte, designados pelo smbolo |: (1 2 3 | 4 5 6 7 | 8 9). Aps a mutao este cromossoma se torna (1 2 3| 7 6 5 4| 8 9). Os operadores de rotao a esquerda e a direita simplesmente deslocam o cromossoma um nmero aleatrio de posies para a esquerda ou para a direita. Por exemplo, se o nmero de posies sorteadas for 3 o cromossoma do exemplo anterior ficaria (4 5 6 7 8 9 1 2 3) aps a rotao para a esquerda ou (7 8 9 1 2 3 4 5 6) aps a rotao para a direita. Finalmente, existe um algoritmo evolucionrio chamado inver-over que tambm utilizado para problemas baseados em ordem (Michalewicz & Fogel,
PUC-Rio - Certificao Digital N 0116630/CA

2000). Ele tem o propsito de ser um algoritmo evolucionrio puro, ou seja, no usa nenhum tipo de busca local e, ao mesmo tempo, ser um modelo competitivo com relao aos algoritmos que usam busca local. Este algoritmo tem as seguintes caractersticas: Cada indivduo compete apenas com os seus descendentes; Existe apenas um operador de variao mas este operador (inver-over) adaptativo; O nmero de vezes que o operador aplicado a um indivduo durante uma nica gerao varivel. O algoritmo mostrado na figura 3:

37 procedure inver-over input populao P while (not condio de trmino) for each indivduo Si em P SSi selecione aleatoriamente uma cidade c de S repeat if (rand()<=p) selecione a cidade c das cidades que sobraram em S else selecione aleatoriamente um indivduo de P associe cidade c a cidade adjacente a cidade c no indivduo selecionado
PUC-Rio - Certificao Digital N 0116630/CA

if (a cidade anterior ou posterior a cidade c em S c) exit repeat inverter a seo entre a cidade posterior a cidade c at a cidade c em S cc end repeat if (avaliao(S) <= avaliao(Si)) SiS end for each end while end procedure
Figura 3 Algoritmo inver-over

Este algoritmo pode ser entendido como um conjunto de procedimentos paralelos de subida de montanha (hill climbing). Cada alpinista (hill climber) executa um nmero varivel de trocas de adjacncias. Entretanto, o operador inver-over tem componentes adaptativos: 1. o nmero de inverses aplicadas a um nico indivduo; 2. o segmento a ser invertido determinado por outro indivduo selecionado aleatoriamente.

38 Desta forma, sempre possvel visualizar este mtodo como um algoritmo evolucionrio com uma forte presso seletiva e um operador de variao adaptativo. 3.1.2 Problema do Caixeiro Viajante com Restries de Precedncia Quando se deseja tratar problemas de planejamento com restries de precedncia, a representao baseada em ordem, muito utilizada para solucionar estes tipos de problemas, torna-se ineficaz pois ela pode gerar solues inviveis que devem ser descartadas (Moon et al, 2002). Os problemas de planejamento com restries de precedncia se caracterizam pela necessidade de executar ou planejar, obrigatoriamente, algumas tarefas antes de outras. Pode-se adaptar o problema do caixeiro viajante para que
PUC-Rio - Certificao Digital N 0116630/CA

ele tenha estas restries de precedncia (Travelling Salesman Problem with Precedence Constraints TSPPC). Nesta situao, algumas cidades devem ser visitadas obrigatoriamente antes de outras. Quando se usa uma representao baseada em ordem para solucionar este tipo de problema geram-se solues incorretas (ou seja, que no atendem as restries de precedncia) e surge a necessidade de corrigi-las atravs de algum tipo de heurstica, aumentando consideravelmente a complexidade do modelo. Como conseqncia, a performance do algoritmo evolucionrio degradada o que torna esta maneira de tratar o problema insatisfatria. Alguns tipos de abordagem tm sido utilizados para se resolver problemas deste tipo. Em Renaud et al (2000) foi usada uma soluo heurstica para resolver o problema do TSPPC. Em Mingozzi et al (1997) foram usadas estratgias de programao dinmica para o problema do caixeiro viajante com janelas de tempo e restries de precedncia. Em Fagerholt & Christiansen (2000) um modelo para otimizar uma aplicao voltada para o planejamento de navegao foi solucionado como um problema do tipo shortest path em um grafo. Em Moon et al (2002), foi utilizado um algoritmo gentico associado a um grafo dirigido para soluo do problema de TSPPC. Este ltimo modelo apresentou resultados superiores em relao aos algoritmos tradicionais

39 Curiosamente, este tipo de problema tem sido pouco tratado na rea de computao evolucionria apesar de contar com uma variedade de aplicaes prticas entre as quais podemos citar: planejamento de embarque de minrio em portos (onde no caso tratado aqui, os navios devem ser atracados na ordem em que chegam ao porto, o embarque do minrio no pode ser feito antes que o minrio tenha sido virado do trem e no se pode virar o minrio antes que uma rea de estocagem para ele tenha sido definida), problemas de transporte de carga (veculos de transporte devem recolher cargas em determinados pontos e distribulas em outros locais), entre outros. 3.2 Co-Evoluo 3.2.1 Co-Evoluo Cooperativa
PUC-Rio - Certificao Digital N 0116630/CA

Para se aplicar algoritmos evolucionrios com sucesso em problemas com complexidade cada vez maior, torna-se necessrio introduzir noes explcitas de modularidade nas solues para que elas disponham de oportunidades razoveis de evoluir na forma de subcomponentes co-adaptados (Potter & Jong, 2000). Existem duas razes principais pelas quais algoritmos evolucionrios convencionais no so totalmente adequados para resolver este tipo de problema. Em primeiro lugar, os algoritmos genticos convencionais impedem, a longo prazo, a preservao de certos componentes da soluo pois, por estarem codificados por completo em um indivduo, eles so avaliados como um todo e apenas os subcomponentes que pertencem a indivduos com avaliaes altas sero preservados. Em segundo lugar, o fato da representao estar relacionada a uma soluo completa e por no haver interaes entre os membros da populao, no existe presso evolucionria para a ocorrncia de co-adaptao, ou seja, no existe presso para a adaptao de um subcomponente dada a ocorrncia de uma mudana em outro subcomponente (Potter, 2000). A decomposio do problema no entanto tem um aspecto importante que deve ser levado em conta e que est relacionado com a evoluo de subcomponentes interdependentes. Se for possvel decompor o problema em subcomponentes independentes, cada um deles pode evoluir sem haver

40 necessidade de se preocupar com os outros. Pode-se visualizar isto imaginando-se que cada subcomponente evolui no seu prprio espao de busca, desacoplado do espao de busca dos outros componentes. Entretanto, a maioria dos problemas s pode ser decomposta em subcomponentes que possuem uma interdependncia complexa. O efeito de mudar um desses subcomponentes provoca uma deformao no espao de buscas dos outros subcomponentes que esto acoplados por esta interdependncia. possvel visualizar isto graficamente da seguinte forma: suponha que deseje-se minimizar uma funo de duas variveis e supondo que essas duas variveis formem dois subcomponentes interdependentes. Esta funo pode ser por exemplo descrita pela equao:
f ( x, y ) = x 2 + (x + y )
2

(12)

PUC-Rio - Certificao Digital N 0116630/CA

O grfico desta equao mostrado a seguir:

Figura 4 Grfico da equao

Supondo que deseje-se encontrar o valor mnimo desta funo, que ocorre quando x e y so iguais a zero (sendo ento f(x,y) igual a zero), o espao de busca da varivel y, assume a seguinte forma quando x igual a 40:

41

Figura 5 Grfico para x igual a 40

Quando a varivel x por outro lado, assume o valor -40, o espao de busca da varivel y se deforma e assume a seguinte forma:
PUC-Rio - Certificao Digital N 0116630/CA

Figura 6 Grfico para x igual a -40

Da figura 5 para a figura 6 pode-se notar a deformao do espao de busca da varivel y quando muda-se o valor da varivel x. No primeiro caso, o mnimo no espao de buscas de y encontra-se em -40 enquanto que no segundo caso o mnimo encontra-se em 40. Espera-se, portanto, que com o desacoplamento e com a capacidade de adaptao dos algoritmos evolucionrios os mesmos consigam se adaptar facilmente a este tipo de dinmica do problema.

42 Vrias pesquisas foram feitas visando estender o modelo evolucionrio bsico de modo que o mesmo suportasse subcomponentes co-adaptados. Uma das primeiras extenses feitas foi o modelo de sistemas classificadores (Holland, 1978)(Holland, 1986). Em Giordana et al. (1994) tem-se um sistema (chamado REGAL) que aprende regras de classificao e que utiliza um operador chamado voto universal (universal suffrage) para fazer a decomposio do problema. Em Giordana & Neri. (1996) o desempenho do sistema REGAL foi melhorado atravs do uso de ilhas populacionais semi-isoladas. Modelos com mltiplas espcies, ou seja, que incorporam populaes geneticamente isoladas tambm tm sido usados para evoluir subcomponentes co-adaptados. Trabalhos nesta rea incluem modelos hospedeiros-parasitas (host-parasite) para redes de ordenao onde uma espcie (os hospedeiros) evolui redes de ordenao para serem aplicadas em casos de teste representados pela outra espcie (os parasitas) como uma lista de nmeros a serem ordenados (Hillis, 1991). Outros modelos com duas espcies competindo foram
PUC-Rio - Certificao Digital N 0116630/CA

usados para solucionar problemas de aprendizado de jogos fazendo com que cada uma das espcies representasse um dos jogadores (Rosin & Belew, 1995). Alguns outros pesquisadores exploraram o uso de modelos com espcies em cooperao como, por exemplo, para a funo de trs bits de Goldberg (Paredis, 1995) e para a otimizao de funes (Potter & Jong, 1994). Finalmente, em Potter & Jong (2000), procurou-se definir um modelo co-evolucionrio cooperativo genrico. Nesta arquitetura duas ou mais espcies diferentes formam um ecossistema. Como na natureza, as espcies so geneticamente isoladas ou seja, os indivduos s podem se reproduzir com outros indivduos da mesma espcie. Isto feito simplesmente isolando-se as espcies em populaes separadas. As espcies somente interagem umas com as outras atravs de um domnio compartilhado e tem uma relao apenas de cooperao. O modelo co-evolucionrio cooperativo genrico (Potter & Jong, 2000) mostrado na figura 7:

43
Espcie 1 Algoritmo Evolucionrio indivduo fitness Modelo do Domnio Populao Populao Espcie 2 Algoritmo Evolucionrio

colaboradores

Figura 7 Modelo co-evolucionrio genrico

Apesar de serem mostradas apenas duas espcies neste modelo, o mesmo pode ser usado para n espcies diferentes. Cada espcie evolui em sua prpria populao (pois como j foi mencionado, elas so isoladas geneticamente) e se
PUC-Rio - Certificao Digital N 0116630/CA

adaptam ao ambiente atravs de repetidas aplicaes do algoritmo evolucionrio. Para se calcular o fitness dos indivduos de uma determinada espcie, deve-se submet-lo ao modelo do domnio (que contm a funo de avaliao) juntamente com um ou mais colaboradores de cada uma das outras espcies (de modo a formar a soluo completa). 3.2.2 Mtodos de Interao entre as Populaes O processo de seleo dos colaboradores (collaborator selection) feito em geral usando-se o ltimo conjunto de avaliaes feitas em cada espcie. O grau com que estas avaliaes vo ter peso na seleo dos colaboradores chamado de presso de seleo de colaboradores (collaborator selection pressure). A soluo final encontrada ao juntar-se indivduos de cada uma das espcies de modo a formar um elemento que represente a soluo completa chamada de colaborao. Aps ter-se montado a colaborao, a mesma pode ser submetida a funo de avaliao no modelo do domnio. Se apenas um indivduo de cada espcie for selecionado para construir a colaborao, ter-se- apenas um valor de avaliao que pode ser usado como fitness.

44 Entretanto, pode-se escolher diferentes combinaes de colaboradores das outras espcies. Neste caso, a avaliao de um indivduo de uma espcie vai consistir de mltiplas colaboraes. O nmero de colaboradores de cada uma das outras espcies chamado de tamanho do grupo de colaborao (collaboration pool size). Como cada uma dessas colaboraes vai ter uma avaliao diferente, necessrio a partir delas calcular uma avaliao nica para o fitness. Esta operao chama-se associao de crdito de colaborao (collaboration credit assignment). Como j foi dito, existem trs aspectos com relao a interao entre as diversas espcies do modelo co-evolucionrio: a associao de crdito de colaborao, a presso de seleo de colaboradores e o tamanho do grupo de colaborao. Existem trs mtodos diferentes para se definir como o crdito de colaborao deve ser associado ao indivduo (Wiegand et al, 2001):
PUC-Rio - Certificao Digital N 0116630/CA

Otimista: por ele.

este o mtodo mais tradicional. Neste mtodo, associa-se

ao fitness do indivduo o valor da avaliao da melhor colaborao feita Mdia: Pessimista: neste mtodo, associa-se ao fitness do indivduo o valor neste modelo, associa ao fitness do indivduo o valor da sua

mdio das colaboraes feitas por ele. pior colaborao. A justificativa para o mtodo pessimista de que talvez seja melhor usar um valor que seja mais seguro, que premia o indivduo pela sua pior colaborao. Entretanto, em Wiegand et al (2001), todos os testes feitos com este modelo e o modelo de mdia produziram resultados fracos com relao ao modelo otimista. Com relao a presso de seleo de colaboradores existem diversos mtodos diferentes que variam o grau de presso exercido nesta seleo. Pode-se, por exemplo, utilizar um mtodo extremamente ganancioso que seleciona sempre o melhor indivduo da gerao anterior. Ou, pode-se aliviar um pouco esta presso selecionando-se dois colaboradores sendo o primeiro o melhor da gerao anterior e o segundo um indivduo escolhido aleatoriamente. De qualquer forma, este mtodo ainda ganancioso dado que continua utilizando o melhor indivduo. Para

45 aliviar ainda mais esta presso, pode-se escolher por exemplo o melhor e o pior indivduo da gerao anterior e um indivduo aleatrio. Finalmente, a escolha do tamanho do grupo de colaborao, que consiste no fator mais importante para o sucesso dos algoritmos co-evolucionrios cooperativos (Wiegand et al, 2001), se resume a decidir quantos elementos das outras espcies, iro participar na colaborao. Em geral, aumentar o nmero de colaboradores melhora a performance do algoritmo, mas por outro lado aumenta o trabalho computacional consideravelmente, de forma proporcional ao nmero de espcies do modelo.

PUC-Rio - Certificao Digital N 0116630/CA

Você também pode gostar