Title: Otimiza
1Otimização baseada em Colônia de Formigas (ACO) e
por Enxames de Partículas (PSO)
- Leandro M. Almeida
- leandrolma_at_gmail.com
2Otimização baseada em colônia de formigas (ant
colony optimization ACO)
3ACO - Introdução
- Criada por Marco Dorigo (http//iridia.ulb.ac.be/
mdorigo) em sua tese de PhD defendia em 1992 - Apresentada mais formalmente e detalhadamente em
1996 - É uma heurística baseada em probabilidade, criada
para solução de problemas computacionais que
envolvem a procura de caminhos em grafos - Inspirada na observação do comportamento das
formigas ao saírem de sua colônia para encontrar
comida.
4ACO - Introdução
- ACO é uma heurística de propósito geral que pode
ser usada para problemas de otimização
combinatórial - Possui as seguintes características
- Versatilidade pode ser aplicado a versões
ligeiramente modificadas de um mesmo problema
(e.g. TSP e ATSP) - Robustez pode ser aplicado com mínimas
modificações de forma a tratar de outros
problemas de otimização combinatórial - Baseado em população permite a explotação de
feedback positivos como um mecanismo de busca, o
que facilita a implementação paralela do mesmo.
5ACO - Introdução
- Devido a ser um paradigma de propósito geral pode
ser superado por um algoritmo especializado - As atividades de busca são fundamentadas em
formigas - Existem agentes com habilidades muito simples, de
certa forma, imitando as formigas - Foi observado que as formigas são animais quase
cegos, mas que conseguem gerenciar e estabelecer
menores caminhos entre a colônia e a fonte de
alimento - Além disso, descobriu-se que o meio de
comunicação usado entre as formigas são os traços
de feromômio.
6ACO - Introdução
7ACO - Introdução
- Uma formiga durante a sua movimentação marca o
caminho com uma dada quantidade de feromônio - Enquanto uma formiga isolada realiza
movimentações essencialmente aleatórias, uma que
encontra um caminho previamente percorrido pode
detectá-lo e então decidir com uma alta
probabilidade em segui-lo, reforçando assim o
caminho com o seu próprio feromônio - O comportamento coletivo é da forma de um
comportamento autocatalítico - Quanto mais formigas seguem um caminho, mais
atrativo ele se torna.
8ACO - Introdução
- O processo é caracterizado pela existência de
laço de retroalimentação positivo, onde a
probabilidade a partir da qual uma formiga
escolhe um caminho aumenta com o número de
formigas que previamente escolheram o mesmo
caminho - Considerando um caminho ao longo do qual formigas
saem do ninho A para a fonte alimentação E e
vice-versa - Subitamente um obstáculo surge e interrompe o
caminho - No início todas as formigas possuem as mesmas
probabilidades usadas na tomada de decisão - A partir do momento que os traços de feromônios
são reforçados as probabilidades também mudam
9ACO - Introdução
10ACO - Introdução
- Um sistema que utiliza informações derivadas do
estudo de colônias de formigas reais é chamado de
Ant System (AS), já os algoritmos são chamados de
Ant Algorithms (AA) - A idéia não é simular as colônias de formigas,
mas usar colônias de formigas artificiais como
ferramenta de otimização - Diferenças entre o AS e o sistema biológico
- Formigas artificiais possuem alguma memória
- Não são completamente cegas e
- Vivem em um ambiente onde o tempo é discreto.
11ACO - Introdução
- Suponha que a distância entre D e H, B e H e
entre B e D via C são iguais a 1 e que C está
posicionado na metade entre D e B - Considerando que o tempo é discreto com
intervalos regulares t 0, 1, 2 - Suponha que 30 formigas estão indo em direção a B
e D partindo de A e E e que caminham a velocidade
1 por unidade por tempo, liberando feromônio no
tempo t com intensidade 1 - O feromônio evapora completamente e
instantaneamente no meio do intervalo de tempo
sucessivo (t1, t2)
12ACO - Introdução
13ACO - Introdução
- No tempo t1, 30 novas formigas indo para B
partindo de A encontraram pegadas com intensidade
15 deixadas por 15 formigas que foram para H e um
caminho de intensidade 30 de formigas que vieram
até A e foram até D partindo de A - A probabilidade de escolher um caminho é portanto
guiada pela quantidade de formigas que já o
escolheram - Assim, a quantidade de formigas que foram para C
é o dobro da quantidade das que foram para H 20
versus 10 - O mesmo se aplica as 30 formigas de D oriundas de
E
14ACO Ant System
- Dado um conjunto de N cidades, o problema do
caixeiro viajante (TSP) pode ser definido como
uma busca pelo menor caminho que considera todas
as cidades - dij é distância entre as cidade i e j
- bi(t) (i 1,...,n) número de formigas na cidade
i no tempo t e o número
total de formigas. - Escolhem a próxima cidade com uma função de
probabilidade que leva em conta a distância e a
quantidade de pegadas presentes numa aresta - Transições para cidades já visitadas não são
permitidas até que uma rota completa seja
encontrada - Quando uma rota completa é encontrada, uma
substância chamada trail é colocada em cada
aresta visitada
15ACO Ant System
- se refere à função de intensidade da
pegada (trail) na aresta (i, j) no tempo t - Cada formiga no tempo t escolhe a próxima cidade
que será visitada no tempo t1 - Se em uma iteração do algoritmo AS são produzidos
m movimentos por m formigas no intervalo (t,
t1), então a cada n iterações (ciclos) do
algoritmo cada formiga encontrará uma rota - Após isso, executa-se a tarefa de aplicação da
intensidade da pegada, através da seguinte
fórmula
16ACO Ant System
- Onde ? é um coeficiente tal que (1 - ?)
representa a evaporação da pegada entre o tempo t
e t n, - Onde é a quantidade de substância
(feromônio) deixada na aresta (i, j) pela k-ésima
formiga entre o tempo t e t n, que é dado por - Q/Lk se a k-ésima formiga usa a aresta (i, j) na
rota, caso contrário é 0. - Onde Q é uma constante e Lk é o tamanho da rota.
17ACO Ant System
- O parâmetro ? intensidade da retroalimentação
possuir um valor lt1 para evitar a acumulação
ilimitada de pegadas - Q é um parâmetro definido normalmente com valores
gt100 e possui pouca influência sob o modelo - Cada formiga possui internamente uma lista tabu
com a relação de cidades visitadas - Função de probabilidade de transição possui um
parâmetro de visibilidade ?ij como a quantidade
1/dij
18ACO Ant System
- Neste esquema a e ß controlam a importância
relativa das pegas versus a visibilidade - A probabilidade de transição é um trade-off entre
visibilidade (cidade mais próximas devem ser
escolhidas com alta probabilidade) e intensidade
da pegada (um alto tráfico indica uma alta
probabilidade de seguir o caminho).
19ACO - Algoritmo
- No tempo t 0, uma fase de inicialização
posiciona as formigas em diferentes cidades e
defini o mesmo valor de tij(0) para todas as
arestas - O primeiro elemento da lista tabu de cada formiga
é definido como o ponto de início do percurso - Para cada movimento da cidade i para a j
utiliza-se a função de probabilidade de
transição - Com o tempo t 0 tem-se um algoritmo guloso de
múltiplos pontos
20ACO - Algoritmo
- Após n iterações todas a formigas terminam
encontrando um caminho, as listas tabus estão
cheias, computa-se o ?tkij para cada Lk na lista - O algoritmo é executado até o número máximo de
iterações ou até atingir uma situação de
estagnação - Parâmetros
- a importância relativa da pegada a gt 0
- ß importância relativa da visibilidade ß gt0
- ? persistência da pegada, 0 lt ? lt 1 (1 ? pode
ser interpretado como a evaporação da pegada) - Q uma constante relacionada à qualidade da
pegada deixada pelas formigas.
21ACO Aplicado em outros problemas
- Para a aplicação do algoritmo autocatalítico a
problemas de otimização combinatórial é
necessário - Uma representação em grafo apropriada que permita
a busca usando muitos e simples agentes para o
problema - Um processo autocatalítico (positivo) de
retroalimentação - Uma heurística que permita uma definição
construtiva de soluções - Um método de satisfação de restrições (e.g. lista
tabu).
22ACO Vantagens e Desvantagens
- Para o TSP (Traveling Salesman Problem) é
relativamente eficiente - Para um pequeno número de nodos, TSPs podem ser
resolvidos através de buscas exaustivas - Para um grande número de nodos, TSPs são
computacionalmente muito difícieis de resolver
(NP-hard) tempo exponencial para a
convergência - Possui um melhor desempenho do que outras
técnicas de otimização global (AG, simulated
annealing, etc), quando aplicadas ao TSP
23ACO Vantagens e Desvantagens
- Comparado a AG
- Retém toda a memória da colônia ao invés da
geração anterior somente - Pouco afetado por uma inicialização pobre
(random path selection and colony memory). - Pode ser utilizado em aplicações dinâmicas
- É continuamente empregado a uma vasta variedade
de aplicações - É uma boa escolha para problemas de restrições
discretas - A análise teórica é complicada
- Seqüências aleatórias, distribuição de
probabilidade e por ser uma pesquisa experimental.
24ACO Vantagens e Desvantagens
- A codificação é um tanto complicada, não é direta
- Necessidade criar mecanismos para adição/remoção
de feromônios e atualizações locais e globais - Existe um grande número de algoritmos ACO para
explorar diferentes tipos de problemas.
25Alguns artigos...
- Martens, D. De Backer, M. Haesen, R.
Vanthienen, J. Snoeck, M. Baesens, B.
Classification With Ant Colony Optimization. IEEE
Transactions on Evolutionary Computation, vol.
11(5), 651-665, 2007. - Solnon, C. Ants can solve constraint satisfaction
problems. IEEE Transactions on Evolutionary
Computation, vol 6(4), 347-357, 2002. - Kanade, P.M. Hall, L.O. Fuzzy Ants and
Clustering. IEEE Transactions on Systems, Man and
Cybernetics, Part A, Vol. 37(5), 758-769, 2007. - De-Sian Lu, Chien-Chang Chen. Edge detection
improvement by ant colony optimization. Pattern
Recognition Letters, Vol. 29(4), 416-425, 2008.
26ACO - Referências
- Dorigo, Marco and Stützle, Thomas. (2004) Ant
Colony Optimization, Cambridge, MA The MIT
Press. - Dorigo, Marco, Gambardella, Luca M., Middendorf,
Martin. (2002) Guest Editorial, IEEE
Transactions on Evolutionary Computation, 6(4)
317-320.
27ACO - DEMOS
- Ants foraging for food
- http//website.lineone.net/john.montgomery/demos/
ants.html - The Travelling Salesman ACO Applet
- http//uk.geocities.com/markcsinclair/aco.html
28Particle Swarm Optimization (PSO)
29PSO - Pensar é social
- Pensar é uma atividade social
- A cultura (grupo) e a cognição (indivíduo) fazem
parte de um mesmo processo - Indivíduos aprendem localmente através de seus
vizinhos, compartilhando conhecimento - Uma sociedade é um sistema auto-organizável cujas
propriedades não podem ser preditas a partir de
seus componentes - A interação cultural (grupo) melhora a capacidade
cognitiva de um indivíduo
30PSO - Pensar é social
- Segundo o Modelo Cultural Adaptativo (Robert
Axelrod) - As pessoas se tornam mais similares à medida que
interagem entre si - As pessoas são atraídas por aquelas que
compartilham seus ideais - Baseado em três processos básicos
- Avaliar (classificar estímulos em positivos ou
negativos) - Comparar (definição de um referencial)
- Imitar (forma efetiva encontrada na natureza de
aprendizado)
31PSO - Pensar é social
- Simulações do ACM podem encontrar soluções para
alguns problemas combinatórios - Porém este não é seu objetivo
- O modelo ACM é a base teórica da Otimização por
Enxame de Partículas - O ACM explica o comportamento imite o melhor do
grupo da técnica PSO - Outros modelos também são utilizados para
explicar o comportamento do PSO
32Particle Swarm Optimization
- Técnica de otimização global baseada em uma
população de soluções (como nos AEs) - Criada por Kennedy e Eberhart em meados da década
de 90 - Técnica inspirada no comportamento social de
revoadas de pássaros - Os resultados obtidos com a simulação das
revoadas originou o PSO
33Particle Swarm Optimization
34Particle Swarm Optimization
- Baseado no modelo ACM (avaliar, comparar e
imitar) - Uma população de soluções é mantida
- Cada indivíduo da população (partícula) é um
vetor de reais que corresponde a uma possível
solução - Cada partícula possui uma posição e uma
velocidade no ?n - O processo de atualização de uma partícula possui
dois componentes - Melhor experiência (posição visitada) pessoal
- Melhor experiência (posição visitada) do grupo
35Particle Swarm Optimization
- xi(t) vetor posição atual da partícula i
- vi(t) vetor velocidade atual da partícula i,
pode ser visto como um ?x. Está limitada por
-vmax ,vmax - yi(t) vetor com a melhor posição visitada pela
partícula i - y(t) índice da melhor entre as melhores posições
visitadas pelo grupo - A avaliação das posições de cada partícula é
feita pela função de desempenho (fitness) a qual
se deseja otimizar
36Particle Swarm Optimization
- Expressão de atualização do PSO
- w é o peso de inércia (momento). Seu valor
geralmente decai linearmente de 0.9 a 0.4 - r1, r2 são ambas variáveis aleatórias retiradas
de U(0,1). Representam o componente estocástico
do algoritmo - 0 lt c1, c2 ? 2 são os coeficientes de aceleração
pessoal e global que influenciam no tamanho
máximo do passo que uma partícula pode dar em uma
iteração
37Particle Swarm Optimization
- - Algoritmo
- inicializar população de partículas
- repetir até critério de parada
- para cada partícula i da população faça
- se f (xi(t)) lt f (yi(t)) então yi(t) xi(t)
- se f (yi(t)) lt f (y(t)) então y(t) yi(t)
- fim-para
- atualizar velocidade e posição de cada partícula
38Particle Swarm Optimization
- Movimentação das partículas
- O vetor velocidade de cada partícula sofre a ação
do ótimo individual e do ótimo global (melhor
experiência do grupo) - Geralmente as partículas ultrapassam o ponto de
ótimo atual a partir de várias direções
explorando regiões promissoras - Todas as partículas possuem a chance de descobrir
um ótimo global e compartilhar com as demais
39Particle Swarm Optimization
- Movimentação das partículas
- Os termos aleatórios inserem um caráter
estocástico à busca - Os coeficientes c1 e c2 aceleram o deslocamento
das partículas - O fator de inércia controla o grau de exploração
da busca - Maior inércia mais exploração
- Menor inércia mais explotação
40Particle Swarm Optimization
- Princípio básicos da inteligência de enxames
- Proximidade a população deve ser capaz de
executar computações simples - Qualidade a população deve ser capaz de
responder a fatores de qualidade do ambiente - Resposta Diversificada a população deve ser
capaz de manter sua diversidade - Estabilidade a população deve se manter estável
a mudanças bruscas no ambiente - Adaptabilidade a população deve ser capaz de
responder a alterações no ambiente, sempre que
valer a pena
41Variações do PSO
- Tipo de Vizinhança
- Refere-se à topologia dos relacionamentos entre
as partículas - Determina quais partículas são influenciadas por
uma boa posição visitada - Mais usados são Lbest e Gbest
- No Gbest todos se relacionam com todos. Uma boa
posição de uma partícula é compartilhada com
todos. - No Lbest uma partícula se relaciona apenas com os
vizinhos (no espaço de índices). Uma boa posição
de uma partícula é compartilhada apenas com os
vizinhos.
42Variações do PSO
43Variações do PSO
- PSO Binário
- Os vetores xi e yi são formados por 0s e 1s
- O vetor velocidade continua real, mas é tratado
como uma probabilidade - Para isso é utilizada a função logística
sigmoidal - A expressão de atualização da velocidade é a
mesma
44Variações do PSO
- r é um valor aleatório retirado de U(0,1)
- Para evitar a saturação da função é recomendado
limitar a velocidade em -4, 4 - Resultados mostraram que o PSO Binário chega a
resultados mais rapidamente que AG e lida melhor
com alta dimensionalidade - Podem ainda ser usados valores discretos além de
0 e 1
45Variações do PSO
- Peso de Inércia (w)
- Não era utilizado originalmente, mas se tornou
padrão - Possui semelhança com a temperatura do Simulated
Annealing - Controla o grau de convergência da busca
- Pode ser fixo ou descrescente
- Uso de Seleção
- Aplica o conceito de seleção natural dos AEs,
porém modificado - Diminui a diversidade se concentrando em regiões
mais promissoras
46PSO - Aplicações
- Inicialmente utilizado no treinamento de redes
neurais - Cada elemento de um vetor xi corresponde a um
peso da rede - De fato, a maioria das aplicações de PSO envolvem
redes neurais artificiais - Uma abordagem é encontrar uma região promissora
para a inicialização de um método local - Outra é a otimização do número de unidades nas
camadas escondidas
47PSO - Aplicações
- O PSO Binário é geralmente utilizado para a
otimização de arquiteturas de Redes Neurais - PSO Padrão Binário pode ser usado para otimizar
variáveis contínuas e binárias ao mesmo tempo - PSO para treinar redes neuro-fuzzy (97 de
precisão no Iris Dataset) - Otimização de misturas de ingredientes químicos
- Em geral, PSO pode ser utilizado em qualquer
problema de otimização contínua, binária ou
discreta
48PSO - Aplicações
- Outros exemplos
- Controle adaptativo baseado em Redes Neurais
- Configuração de antenas
- Aprendizado não-supervisionado de robôs
- PSO em ambientes dinâmicos
49PSO - Aplicações
50PSO - Conclusões
- PSO em geral obtém resultados semelhantes aos
obtidos por Algoritmos Genéticos - Porém são mais rápidos (resultados relatados)
- PSO é muito mais simples de implementar
- Pode convergir prematuramente a um mínimo local,
para evitá-lo pode-se - Utilizar peso de inércia (w) descrescente (0.9 a
0.4) - Utilizar arquitetura Lbest
- O enxame pode explodir (dispersão das
partículas) - Para evitá-lo, deve-se limitar a velocidade a
-vmax, vmax
51PSO - Conclusões
- Tendências
- Coevolução em PSO
- Otimização multi-objetivo
- Life Models (PSO com seleção, cruzamento e
mutação) - Partículas com tamanho variável
- DEMO
- http//uk.geocities.com/markcsinclair/pso.html
52PSO - Referências
- J. Kennedy and R. Eberhart. Swarm Intelligence.
Morgan Kaufmann Publishers, Inc, San Francisco,
CA, 2001 - F. van den Bergh. An Analysis of Particle Swarm
Optimizers. Phd dissertation, Faculty of Natural
and Agricultural Sciences, Univ. Pretoria,
Pretoria, South Africa, 2002. - J. Kennedy and R. Eberhart. Particle Swarm
Optimization, in Proc. IEEE Intl. Conf. on
Neural Networks (Perth, Australia), IEEE Service
Center,Piscataway, NJ, IV1942-1948. - C.A. Coello Coello, G. Toscano, M.S. Lechuga.
Handling Multiple Objectives with Particle Swarm
Optimization. IEEE Transactions on Evol.
Computation, Vol. 8, No. 3, June 2004. - M. Settles, T. Soule. Breeding Swarms A GA/PSO
Hybrid. Proc. of GECCO'05, Washington DC, USA,
2005.