IA707 Profs. Levy Boccato/Fernando Von Zuben/Romis Attux ...lboccato/topico_6_niching.pdf ·...
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.