Você está na página 1de 4

9/8/2009

Tpicos Tpicos Avanados em Computao Evolucionria


Computao Natural Gisele L. Pappa
Nichos (niching)
Fitness Sharing (mtodo de niching mais popular) Crowding

Conceito de espcies (complementar a niching) Co-evoluo


Competitiva Cooperativa

Introduo a mtodos de Niching


Evoluo natural mantm a diversidade das espcies
Cada espcie ocupa um nicho ecolgico

Introduo a mtodos de Niching


Fitness Idealmente, o nmero de indivduos em torno de um pico deveria ser proporcional a fitness do pico
xxx x x x x x x

Em algoritmos evolucionrios, a populao normalmente converge para uma populao uniforme, com muitas cpias do mesmo indivduo Soluo: modificar os algoritmos para utilizar um mtodo de niching, simulando uma competio por recursos limitados

Indivduos (solues)

Motivao para Niching


Reduz a velocidade de convergncia da populao para um nico indivduo (evitando convergncia prematura) Encontra um conjunto de solues timas ou quasetimas, ao invs de uma soluo tima Onde utilizar niching
Otimizao de funes multi-modais (muita solues timas) Otimizao de funes multi-objetivas (solues avaliadas de acordo com vrios critrios)

Mtodos de Niching
2 tipos principais:
Fitness sharing Crowding

9/8/2009

Fitness Sharing (1)


Modifica apenas a maneira como a fitness de um indivduo determinadas, o resto da evoluo no alterada Seja Fi a fitness original do indivduo i Fi a fitness compartilhada de um indivduo i NCi a contagem de nicho do indivduo I, onde NC mede a saturao de um nicho Fi = Fi / NCi

Fitness Sharing (2)


Seja SH uma funo de compartilhamento, medindo a similaridade entre dois indivduos A contagem de nicho (NC) de um indivduo a soma das funes compartilhadas (SH) (das similaridades) entre o indivduo i e todos os indivduos da populao (incluindo ele mesmo), ou seja Fi =
Fi
N

SH(i,j)
j=1

onde N o nmero de indivduos da populao

Fitness Sharing (3)


SH retorna um nmero entre [0..1]
Similaridade inversamente proporcional a distncia

Fitness Sharing (4)


2 maneiras de medir a distncia entre dois indivduos
Compartilhamento de fentipo ou de gentipo

Seja dij a distncia entre dois indivduos i, j


Se dij = 0 (os indivduos so indnticos), o valor da SH 1 Se dij maior ou igual a um limiar de distncia, share , o valor da SH 0 (i e j esto em nichos diferentes) Se 0 < dij < share , ento a funo retorna um valor intermedirio, entre 0 e 1 SH(dij) = 1 (dij / share) , se dij < share 0, nos outros casos
um parmetro, que normalmente recebe valor 1

Compartilhamento de gentipo: considera o material genticos dos indivduos


Exemplo: distncia de hamming (se codificao binria utilizada)
Nmero de bits diferentes

1) 1 0 1 1 0 2) 1 0 1 0 1 3) 0 0 1 1 0

d1,1 = 0; d1,2 = 2; d1,3 = 1

Fitness Sharing (5)


Compartilhamento de fentipo: considera os indivduos decodifcados (solues candidatas)
Exemplo: decodificar 5 bits em uma varivel x

Fitness Sharing (6)


Exemplo do efeito da fitness compartilhada (quanto maior a fitness, melhor o indivduo)
indivi Fi 1 2 3 4 10 12 6 8 NCi 2.5 4 1 2 Fi 4 3 6 4 O valor de Fi utilizado para seleo.

di,j = | xi xj |, onde | x | o valor absoluto de s


material gentico decodificando x 1) 1 0 1 1 0 22 2) 1 0 1 0 1 21 3) 0 0 1 1 0 6 d1,1 = 0; d1,2 = 1; d1,3 = 16

O indivduo 1 mais similar ao indivduo 2 que ao indivduo 3 de acordo com a distncia de fentipos. Porm, indivduo 1 mais similar ao indivduo 3 que ao 2 de acordo com a distncia de gentipos.

Indivduos 1 e 2 tem uma fitness original alta, mas so penalizados pelo valor alto de NC Indivduo 3 tem a melhor funo compartilhada

9/8/2009

Fitness Sharing (7)


Vantagens de fitness sharing
Conceitualmente simples, boa metfora do niching natural Tenta distribuir indivduos proporcionalmente ao fitness do pico onde se encontram

Crowding
Idia bsica: os novos indivduos so inseridos na prxima gerao substituindo pais similares Ao contrrio de fitness sharing, crowding no aloca indivduos proporcionalmente a fitness do pico

Desvantagens
Dificuldade de ajustar o valor do parmetro share : idealmente, requer conhecimento sobre o nmero e o tamanho dos picos, o que no realista em problemas difceis
Soluo possvel: ajustar dinmicamente o valor de share durante a busca

Computacionalmente caro: precisa calcular a distncia entre pares de indivduos


Soluo possvel : computar o valor da funo de compartilhamento baseado em uma amostra da populao

Espcies
Niching foca em distribuir indivduos em diferentes picos, mas no na busca dentro do pico Problema: crossover pode trocar genes de indivduso em diferentes picos, produzindo solues ruins que no esto associadas e nenhum pico Soluo: utilizar um mtodo de especializao para restringir crossover a indivduos similares, ou seja, indivduos no mesmo pico/nicho O conceito de espcies complementa o niching, ajudando-o a encontrar e manter mltiplos picos

Co-evoluo
Em alguns problemas, o conceito de espcies utilizado juntamento com o conceito de co-evoluo Co-evoluo na natureza
Influncia evolucionria mtua entre duas espcies. Alguns pesquisadores acreditam que todo tipo de evoluo , na verdade, alguma forma de coevoluo

Co-evoluo
Exemplos de co-evoluo 2 tipos:
Cooperativa
Flores e insetos Mitocndria e a clula

Co-evoluo em Algs. Evolucionrios


ipos de co-evoluo:
por forma de interao: competitiva cooperativa por forma de organizao: inter-populacional intrapopulacional

Problemas:
das criaturas virtuais de Sims: competitivo e interpopulacional (vdeo) evoluo de estratgias de jogo para o dilema do prisioneiro: competitivo e intra-populacional.

Competitiva
Relaes presa/predador ou parasita/hospedeiro

9/8/2009

Co-evoluo em Algs. Evolucionrios


O fitness de um indivduo depende de outros indivduos (da interao com outros indivduos).
O fitness de um indivduo pode variar mesmo que o indivduo no varie. Mudana em um indivduo pode acarretar alterao no fitness de outros.

Vantagens da Co-evoluo
Ajuda a manter a diversidade na populao Permite construir solues complexas de forma incremental Pode acelerar o processo evolutivo; Tende a reduzir a necessidade de conhecimento sobre o problema

Desvantagens da Co-evoluo
Difcil de calibrar para se chegar aos resultados esperados Pode apresentar comportamentos de alta complexidade e no-intuitivos No necessariamente admite um propsito evolutivo absoluto, apenas relativo (arms race)
Arms race qualquer competio em que no existe objetivo absoluto, apenas o objetivo relativo de permanecer frente de seus competidores.

Onde aplicar co-evoluo ?


Problemas onde existe dificuldade no clculo do fitness:
testar todos os casos: custoso ou intratvel. testar um subconjunto de casos: qual?

Requer a definio de mtricas que atestem (ou no) progressos na busca por solues de alta qualidade.

Problemas sem nenhuma funo de fitness conhecida. Problemas modularizveis: dividir-paraconquistar

Agradecimentos
Alguns dos slides foram retirados das aulas de Computao Natural ministradas por Alex Freitas.