IA707 Profs. Levy Boccato/Fernando Von Zuben/Romis Attux ...lboccato/topico_6_niching.pdf ·...

15
IA707 Profs. Levy Boccato/Fernando Von Zuben/Romis Attux DCA/FEEC/Unicamp Tópico 5 Algoritmos Genéticos 1 Manutenção de Diversidade em Algoritmos Evolutivos Conteúdo 1 INTRODUÇÃO ................................................................................................................................................................................................................... 2 2 MÉTODOS DE NICHING..................................................................................................................................................................................................... 2 2.1 FITNESS COMPARTILHADO (FITNESS SHARING)........................................................................................................................................................ 4 2.2 MÉTODO DE CLEARING............................................................................................................................................................................................ 8 2.3 AGLOMERAÇÃO (CROWDING).................................................................................................................................................................................. 9 3 MÉTODOS DE ESPECIAÇÃO............................................................................................................................................................................................. 11 4 DISCUSSÃO .................................................................................................................................................................................................................... 13 5 REFERÊNCIAS ................................................................................................................................................................................................................ 14

Transcript of IA707 Profs. Levy Boccato/Fernando Von Zuben/Romis Attux ...lboccato/topico_6_niching.pdf ·...

IA707 – Profs. Levy Boccato/Fernando Von Zuben/Romis Attux

DCA/FEEC/Unicamp

Tópico 5 – Algoritmos Genéticos 1

Manutenção de Diversidade em

Algoritmos Evolutivos

Conteúdo

1 INTRODUÇÃO ................................................................................................................................................................................................................... 2

2 MÉTODOS DE NICHING ..................................................................................................................................................................................................... 2

2.1 FITNESS COMPARTILHADO (FITNESS SHARING)........................................................................................................................................................ 4

2.2 MÉTODO DE CLEARING ............................................................................................................................................................................................ 8

2.3 AGLOMERAÇÃO (CROWDING) .................................................................................................................................................................................. 9

3 MÉTODOS DE ESPECIAÇÃO ............................................................................................................................................................................................. 11

4 DISCUSSÃO .................................................................................................................................................................................................................... 13

5 REFERÊNCIAS ................................................................................................................................................................................................................ 14

IA707 – Profs. Levy Boccato/Fernando Von Zuben/Romis Attux

DCA/FEEC/Unicamp

Tópico 5 – Algoritmos Genéticos 2

1 Introdução

Métodos de nichos (niching) e especiação estendem os algoritmos evolutivos para

domínios que requerem a identificação e a manutenção de múltiplas soluções.

Enquanto os algoritmos evolutivos tradicionais são aplicados basicamente a

problemas de otimização, o emprego de métodos de niching e especiação tornam

os algoritmos evolutivos apropriados a aplicações do tipo classificação,

aprendizagem de máquina, busca multimodal e multiobjetivo, e simulação de

sistemas complexos adaptativos.

2 Métodos de Niching

Inspirados no conceito de nichos ecológicos, os quais representam regiões do

ambiente que suportam diferentes tipos de vida compartilhando os recursos

disponíveis, vários métodos foram desenvolvidos com o propósito de manter a

diversidade na população e permitir a investigação de múltiplos ótimos de modo

IA707 – Profs. Levy Boccato/Fernando Von Zuben/Romis Attux

DCA/FEEC/Unicamp

Tópico 5 – Algoritmos Genéticos 3

paralelo. Tais mecanismos, conhecidos como métodos de niching, criam e mantêm

subpopulações nas vizinhanças das soluções ótimas (MAHFOUD, 1995).

Um nicho é caracterizado por uma porção limitada de recursos disponíveis para os

indivíduos (espécies) que nele se encontram. Cada indivíduo em um nicho tem

direito a uma fração dos recursos disponíveis - quanto maior o tamanho da

subpopulação, menor a fração.

No contexto de otimização de funções multimodais, os recursos disponíveis em

um nicho estão associados à medida de fitness do indivíduo. As técnicas de

niching atuam sobre esta medida com a intenção de impedir que todos convirjam

para a mesma região do espaço de busca, mantendo, assim, um grau de

diversidade na população (SARENI & KHÄHENBÜHL, 1998).

Os métodos de niching podem ser divididos em dois grandes grupos:

Compartilhamento de fitness (fitness sharing); e

Aglomeração (crowding).

IA707 – Profs. Levy Boccato/Fernando Von Zuben/Romis Attux

DCA/FEEC/Unicamp

Tópico 5 – Algoritmos Genéticos 4

2.1 Fitness Compartilhado (Fitness Sharing)

Ideias básicas (GOLDBERG & RICHARDSON, 1987):

Se indivíduos “similares” devem compartilhar o fitness, então o número de

indivíduos que podem estar localizados em uma região do espaço é limitado

pelo fitness daquela localidade da superfície de fitness.

O sharing acontece por meio da redução do fitness puro dos indivíduos da

população por um fator proporcional ao número de indivíduos similares na

população.

O fitness compartilhado de um indivíduo xi resulta da divisão de seu fitness puro

f(xi) por um contador de nichos ci, que mede o número de indivíduos com os quais

o indivíduo i compartilha o fitness:

.

O contador de nichos ci é calculado como uma soma de uma função de

compartilhamento (sharing) sobre todos os membros da população, como mostra a

expressão a seguir: ,

IA707 – Profs. Levy Boccato/Fernando Von Zuben/Romis Attux

DCA/FEEC/Unicamp

Tópico 5 – Algoritmos Genéticos 5

onde N é o número de indivíduos presentes na população e d(xi,xj) representa a

distância entre os indivíduos i e j.

A função de compartilhamento sh(.) mede o grau de similaridade entre dois

indivíduos da população a partir da distância entre eles. Esta função retorna o

valor 1 caso os indivíduos sejam idênticos, o valor 0, caso a distância entre eles

seja superior a um limiar de similaridade, e um valor intermediário para níveis de

similaridade intermediários.

Uma função de sharing bastante empregada é dada por (GOLDBERG &

RICHARDSON, 1987):

.

O parâmetro σs denota o limiar de similaridade, enquanto αs regula a forma da

função de sharing (usualmente, αs = 1 (GOLDBERG, 1989)), conforme exibido na

figura abaixo.

IA707 – Profs. Levy Boccato/Fernando Von Zuben/Romis Attux

DCA/FEEC/Unicamp

Tópico 5 – Algoritmos Genéticos 6

Parâmetros: αs = 1, 2, 3, 4; σs = 0,5.

Na função de compartilhamento, medidas de distância genotípicas ou fenotípicas

podem ser empregadas de acordo com o problema tratado.

O efeito do sharing é a distribuição dos indivíduos em regiões promissoras da

superfície de fitness.

IA707 – Profs. Levy Boccato/Fernando Von Zuben/Romis Attux

DCA/FEEC/Unicamp

Tópico 5 – Algoritmos Genéticos 7

A quantidade de indivíduos residindo na vizinhança de cada pico tende a ser

proporcional à altura do pico.

A estrutura do algoritmo evolutivo baseado em fitness sharing é equivalente à do

algoritmo genético, exceto pelo fato de o operador de seleção utilizar o fitness

compartilhado dos indivíduos como balizador para a comparação e a definição das

probabilidades de sobrevivência e/ou reprodução.

O método de fitness sharing preferencialmente deve trabalhar em conjunto com

operadores de seleção de baixa pressão seletiva e que favoreçam a estabilidade dos

nichos - e.g., seleção via torneio ou stochastic universal sampling (SUS)

(BAKER, 1987, BÄCK ET AL. 2000b).

Comentários:

A escolha do limiar de similaridade (σs) pressupõe certo conhecimento a

priori a respeito das distâncias relativas entre os picos da superfície de

fitness.

IA707 – Profs. Levy Boccato/Fernando Von Zuben/Romis Attux

DCA/FEEC/Unicamp

Tópico 5 – Algoritmos Genéticos 8

σs é o mesmo para todos os indivíduos, o que supõe que todos os picos são

aproximadamente equidistantes.

Por estas razões, o fitness sharing pode não conseguir manter todos os picos

desejados.

O esquema de fitness sharing pode ser relativamente custoso, com

complexidade O(N2).

2.2 Método de Clearing

O método de clearing (PÉTROWSKI, 1996) difere do fitness sharing na medida

em que os recursos de um determinado nicho não são compartilhados, mas

totalmente atribuídos aos melhores indivíduos. Basicamente, o fitness dos

melhores indivíduos de um nicho é mantido, enquanto o fitness de todos os outros

indivíduos da mesma subpopulação é zerado.

O número máximo de indivíduos aceitos em cada nicho é denominado capacidade

do nicho (κ) e constitui um parâmetro do algoritmo.

IA707 – Profs. Levy Boccato/Fernando Von Zuben/Romis Attux

DCA/FEEC/Unicamp

Tópico 5 – Algoritmos Genéticos 9

2.3 Aglomeração (Crowding)

As técnicas de aglomeração (crowding) inserem novos indivíduos na população no

lugar dos elementos que apresentam alto grau de similaridade.

Para determinar a similaridade, os métodos de crowding também utilizam medidas

de distância genotípicas ou fenotípicas e tentam espalhar os indivíduos pelos picos

mais altos da função. Entretanto, não realizam este espalhamento de forma

proporcional ao fitness.

No método de crowding original, o filho gerado (via crossover e mutação)

substitui o indivíduo mais similar a ele dentre um conjunto de CF indivíduos da

população escolhidos aleatoriamente. Note que esta abordagem permite a perda

de bons indivíduos, denominada de erro de substituição.

MAHFOUD (1995) propôs o crowding determinístico para minimizar o número de

erros de substituição.

IA707 – Profs. Levy Boccato/Fernando Von Zuben/Romis Attux

DCA/FEEC/Unicamp

Tópico 5 – Algoritmos Genéticos 10

Ideia: o pai que apresentar maior similaridade ao filho é substituído desde que o

fitness do filho seja melhor.

Procedimento:

Agrupe todos os indivíduos da população em N/2 pares.

Cruze todos os pares e aplique o operador de mutação sobre os filhos.

Cada filho irá competir com um dos pais que o produziu. Há duas

possibilidades: (filho 1 x pai 1 e filho 2 x pai 2) ou (filho 2 x pai 1 e filho 1 x

pai 2).

No método de crowding determinístico, a opção de comparação entre pais e

filhos que forçar os indivíduos mais semelhantes a competir é a preferencial.

Se o fitness do filho for maior, então o pai que participou da comparação será

substituído por ele.

IA707 – Profs. Levy Boccato/Fernando Von Zuben/Romis Attux

DCA/FEEC/Unicamp

Tópico 5 – Algoritmos Genéticos 11

3 Métodos de especiação

Uma espécie pode ser definida de duas formas:

Indivíduos com um grau mínimo de similaridade.

Indivíduos capazes de se reproduzir.

Ideias básicas:

Espécies “artificiais” podem ser formadas e mantidas restringindo-se a

reprodução aos indivíduos similares.

A restrição do cruzamento a indivíduos similares reduz a criação de

indivíduos “letais” (i.e., indivíduos que potencialmente não se encontram

em qualquer pico da superfície de fitness).

Para se utilizar as técnicas de especiação, soluções representando cada região

promissora do espaço de busca devem ser encontradas.

Sendo assim, as técnicas de especiação não devem ser utilizadas

isoladamente.

IA707 – Profs. Levy Boccato/Fernando Von Zuben/Romis Attux

DCA/FEEC/Unicamp

Tópico 5 – Algoritmos Genéticos 12

Na presença de métodos de nichos e especiação, o método de nichos determina e

mantém subpopulações de soluções em torno de múltiplos ótimos locais, enquanto

a técnica de especiação permite fazer uma busca paralela dos ótimos.

DEB (1989) propôs uma estratégia para "controlar" a formação de pares de

indivíduos para recombinação (crossover) tendo em vista a manutenção de nichos

estáveis. Para tanto, ele sugeriu o seguinte esquema de restrição de cruzamento

baseado na distância fenotípica ou genotípica entre indivíduos:

Dois indivíduos poderão participar da recombinação (crossover) caso a

distância entre eles seja menor que um limiar mate.

Senão, outro indivíduo é escolhido aleatoriamente e a distância entre eles é

determinada.

Este processo é repetido até que um par apropriado seja encontrado ou toda

a população tenha sido avaliada. Neste último caso, um par é selecionado

aleatoriamente.

IA707 – Profs. Levy Boccato/Fernando Von Zuben/Romis Attux

DCA/FEEC/Unicamp

Tópico 5 – Algoritmos Genéticos 13

Note que, no fitness sharing, share afeta a probabilidade de seleção de um

indivíduo, enquanto na especiação o parâmetro mate afeta a probabilidade de

crossover entre dois indivíduos.

A combinação de sharing com especiação traz, na média, avanços no desempenho

do algoritmo quando comparado à versão que emprega apenas sharing.

4 Discussão

As técnicas apresentadas permitem modificar a estrutura populacional de forma a

privilegiar a geração de múltiplas soluções ótimas.

Em certo sentido, estas propostas estão relacionadas com o espírito das

abordagens Michigan, onde toda a população representa a solução para o

problema.

IA707 – Profs. Levy Boccato/Fernando Von Zuben/Romis Attux

DCA/FEEC/Unicamp

Tópico 5 – Algoritmos Genéticos 14

Existem abordagens alternativas capazes de efetuar este mesmo tipo de busca de

maneira bastante natural. Por exemplo, os sistemas imunológicos artificiais, que

serão vistos mais adiante no curso.

5 Referências

BÄCK, T., FOGEL, D.B. & MICHALEWICZ, Z. (eds.) “Evolutionary Computation 2: Advanced Algorithms and

Operators”, Institute of Physics Publishing, 2000b.

BAKER, J. E. (1987), Reducing Bias and Inefficiency in the Selection Algorithm, International Conference on

Genetic Algorithms, pp. 14-21.

DEB, K. (1989), Genetic Algorithms in Multimodal Function Optimization, M.Sc. Dissertation, Universidade

do Alabama; TCGA Report 89002.

GOLDBERG, D. E. AND RICHARDSON, J. (1987), “Genetic Algorithms with Sharing for Multimodal Function

Optimization”, Foundations of Genetic Algorithms, G. J. E. Rawlings (ed.), Morgan Kaufmann, pp.

69-93.

HOLLAND, J.H. “Adaptation in Natural and Artificial Systems”, University of Michigan Press, 1975.

MAHFOUD, S. (1995), Niching Methods for Genetic Algorithms. Ph.D. Thesis, University of Illinois at

Urbana-Champaign, May.

IA707 – Profs. Levy Boccato/Fernando Von Zuben/Romis Attux

DCA/FEEC/Unicamp

Tópico 5 – Algoritmos Genéticos 15

PÉTROWSKI, A. (1996), A Clearing Procedure as a Niching Method for Genetic Algorithms. Proceedings

1996 IEEE Int. Conf. Evolutionary Computation, Nagoya, Japan, pp. 798-803.

SARENI, B. & KRÄHENBÜHL, L. (1998), Fitness Sharing and Niching Methods Revisited. IEEE Transactions

on Evolutionary Computation, vol. 2, no. 3, pp. 97-106.