1 / 52

Otimização baseada em Colônia de Formigas (ACO) e por Enxames de Partículas (PSO)

Otimização baseada em Colônia de Formigas (ACO) e por Enxames de Partículas (PSO). Leandro M. Almeida leandrolma@gmail.com. Otimização baseada em colônia de formigas ( ant colony optimization – ACO ). ACO - Introdução.

jerrell
Télécharger la présentation

Otimização baseada em Colônia de Formigas (ACO) e por Enxames de Partículas (PSO)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Otimização baseada em Colônia de Formigas (ACO) e por Enxames de Partículas (PSO) Leandro M. Almeida leandrolma@gmail.com

  2. Otimização baseada em colônia de formigas (antcolonyoptimization – ACO)

  3. ACO - 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.

  4. ACO - 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.

  5. ACO - 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.

  6. ACO - Introdução

  7. ACO - 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.

  8. ACO - 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;

  9. ACO - Introdução

  10. ACO - 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.

  11. ACO - 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 (t+1, t+2);

  12. ACO - Introdução

  13. ACO - Introdução • No tempo t=1, 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;

  14. ACO – 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;

  15. ACO – 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 t+1; • Se em uma iteração do algoritmo AS são produzidos m movimentos por m formigas no intervalo (t, t+1), 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:

  16. ACO – 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.

  17. ACO – Ant System • O parâmetro ρ“intensidade da retroalimentação” possuir um valor <1 para evitar a acumulação ilimitada de pegadas; • Q é um parâmetro definido normalmente com valores >100 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

  18. ACO – Ant System • Neste esquema α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).

  19. ACO - Algoritmo • No tempo t = 0, uma fase de inicialização posiciona as formigas em diferentes cidades e defini o mesmo valor de τij(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;

  20. ACO - Algoritmo • Após n iterações todas a formigas terminam encontrando um caminho, as listas tabus estão cheias, computa-se o Δτkij 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: • α: importância relativa da pegada α >= 0; • β: importância relativa da visibilidade β >=0; • ρ: persistência da pegada, 0 < ρ < 1 (1 – ρpode ser interpretado como a evaporação da pegada); • Q: uma constante relacionada à qualidade da pegada deixada pelas formigas.

  21. ACO – 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).

  22. ACO – 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;

  23. ACO – 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.

  24. ACO – 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.

  25. Alguns 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.

  26. ACO - 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.

  27. ACO - 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

  28. ParticleSwarmOptimization (PSO)

  29. PSO - “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

  30. PSO - “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)

  31. PSO - “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

  32. Particle 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

  33. Particle Swarm Optimization

  34. Particle 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

  35. Particle 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 ŷ(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

  36. Particle 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 < 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

  37. Particle 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)) < f (yi(t)) então yi(t) = xi(t) se f (yi(t)) < f (ŷ(t)) então ŷ(t) = yi(t) fim-para atualizar velocidade e posição de cada partícula

  38. Particle 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

  39. Particle 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

  40. Particle 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

  41. Variaçõ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.

  42. Variações do PSO Tipo de Vizinhança i i-1 i+1 ... ... Lbest Gbest

  43. Variaçõ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

  44. Variaçõ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

  45. Variaçõ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

  46. PSO - 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

  47. PSO - 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

  48. PSO - 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

  49. PSO - Aplicações

  50. PSO - 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]

More Related