Your SlideShare is downloading. ×
Otimização por Colônia de Formigas (ACO)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Otimização por Colônia de Formigas (ACO)

4,979
views

Published on

Uma descrição de como surgiu e funciona a técnica de otimizaçõa por colônia de formigas. Com um exemplo aplicado ao problema clássico de otimização Caixeiro Viajante

Uma descrição de como surgiu e funciona a técnica de otimizaçõa por colônia de formigas. Com um exemplo aplicado ao problema clássico de otimização Caixeiro Viajante

Published in: Technology

2 Comments
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
4,979
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
155
Comments
2
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Ant Colony Optimization (Otimização por Colônia de Formigas) Por: Bruno Felipe brunofelipefr@gmail.com
  • 2. O que é Otimização por Colônia de Formigas? É uma meta-heurística baseada em população e inspirada no comportamento de uma colônia de formigas.
  • 3. Como é o comportamento de uma colônia de formiga? Como essa técnica é baseada no comportamento das formigas, Marco Doringo observou que as formigas ao saírem de sua colônia para buscarem alimento primeiramente traçam diferentes caminhos. Com o passar do tempo, na busca do alimento elas descobrem caminhos alternativos mais curtos entre sua colônia e o alimento, então nessas rotas é deixado uma substância chamada feromônio, que serve para as formigas se comunicarem através do cheiro. Então as formigas escolhem o melhor caminho, com probabilidade no maior teor de feromônio em uma determinada rota. Com isso é encontrado a melhor rota com o caminho mais curto entre a colônia e o alimento.
  • 4. Computacionalmente falando... No meio computacional, existem diversos algoritmos baseados no comportamento das formigas, onde se tem como principal objetivo a otimização e a busca por soluções. As formigas reais são substituídas por “formigas artificiais” e o feromônio por “feromônio artificial”, assim como outras variantes. As formigas artificiais são heurísticas probabilísticas que constroem informações de duas formas: trilha de feromônio e informações heurísticas.
  • 5. ANT Sytem ANT System foi o primeiro algoritmo implementado no comportamento das formigas. Tem como características a otimização e busca por soluções. A partir dele, foi desenvolvido soluções de otimização em roteamento de redes, sistema de roteamento de veículos, busca por soluções em grafos dinâmicos e usado no problema do caixeiro viajante.
  • 6. Pseudo-Código Ant System Coloque cada formiga em uma cidade aleatória para t = 1 até número de iterações para k = 1 até m enquanto a formiga k não construir a viagem Sk k Selecione a próxima cidade pela regra p fim enquanto Calcule a distância Lk da viagem Sk ∗ se Lk < L então ∗ ∗ S = S k , L = Lk fim se fim para Atualize os feromônios ∗ fim para retornar S
  • 7. O Ant System aplico ao TSP(Travelling Salesman Problem) Matriz distância do PCV 1 2 3 4 5 1 0,0 1,0 2,2 2,0 4,1 2 2 1,0 0,0 1,4 2,2 4,0 3 3 2,2 1,4 0,0 2,2 3,2 4 2,0 2,2 2,2 0,0 2,2 1 5 4,1 4,0 3,2 2,2 0,0 Cidades do PCV 4 5
  • 8. Cada formiga irá construir uma solução movendo-se de uma cidade para outra. No ínicio, cada formiga é colocada em uma cidade diferente (ou colocada aleatoriamente). 2 3 1 4 5
  • 9. Como a formiga constrói uma solução? Começando de uma cidade i , a formiga move-se escolhendo probabilisticamente a cidade vizinha j (entre os vizinhos factíveis). 2 ? 4 3 5
  • 10. A Probabilidade de Transição A probabilidade da formiga k que está na cidade i de escolher a cidade j é dada pela regra: • τij é feromônio associado a aresta (i , j ); • α e β são parâmetros para determinar a influência do feromônio e da informação heurística; • Ni é a vizinhança factível da formiga k (i.e., o conjunto das cidades ainda não visitadas pela formiga k ).
  • 11. Informações Heurísticas do PVC Associada a aresta (i , j ) existe um valor heurístico ηij dado por: que representa a atratividade da formiga visitar a cidade i depois de visitar a cidade j. O valor ηij é inversamente proporcional a distância dij entre as cidades i e j.
  • 12. Começo da primeira iteração: passo 1 Candidatos / prob. solução formiga de transição parcial 1 2(45%), 3(21%), 4(23%), 5(11%) 1-2 2 1(41%), 3(30%), 4(19%), 5(10%) 2-1 3 1(23%), 2(37%), 4(23%), 5(16%) 3-4 4 1(27%), 2(24%), 3(24%), 5(24%) 4-5 5 1(19%), 2(20%), 3(25%), 4(36%) 5-2 A escolha do candidato é de acordo com a probabilidade de transição. É feita de forma similar ao algoritmo da roleta dos algoritmos genéticos.
  • 13. Passo 2 Candidatos / prob. solução formiga de transição parcial 1 3(50%), 4(32%), 5(18%) 1-2-3 2 3(38%), 4(42%), 5(20%) 2-1-4 3 1(35%), 2(32%), 5(32%) 3-4-5 4 1(30%), 2(31%), 3(39%) 4-5-2 5 1(46%), 3(33%), 4(21%) 5-2-1
  • 14. Passo 3 Candidatos / prob. solução formiga de transição parcial 1 4(59%), 5(41%) 1-2-3-5 2 3(50%), 5(50%) 2-1-4-5 3 1(49%), 2(51%) 3-4-5-1 4 1(58%), 3(42%) 4-5-2-1 5 3(48%), 4(52%) 5-2-1-4
  • 15. Passo 4 Candidatos / prob. solução formiga de transição parcial 1 4(100%) 1-2-3-5-4 2 3(100%) 2-1-4-5-3 3 2(100%) 3-4-5-1-2 4 3(100%) 4-5-2-1-3 5 3(100%) 5-2-1-4-3
  • 16. Final da primeira iteração formiga solução comprimento (k) completa da viagem (Lk ) 1 1-2-3-5-4-1 9,8 2 2-1-4-5-3-2 9,8 3 3-4-5-1-2-3 10,9 4 4-5-2-1-3-4 11,6 5 5-2-1-4-3-5 12,4
  • 17. Atualização do feromônio É necessário atualizar os feromônios. No feromônio τij associado a aresta (i , j ) ocorre dois eventos: A evaporação; • Evita que o feromônio acumulado cresça indefinidamente; • Permite esquecer pobres decisões do passado da busca. O depósito de feromônio de todas as formigas que passaram sobre (i , j).
  • 18. Atualização do feromônio Depois que todas as formigas construíram suas viagens, o feromônio é atualizado. é a quantidade de feromônio que a formiga k deposita sobre a aresta (i , j ). É dado por: se a aresta (i , j ) pertence a viagem Sk . Caso contrário. onde Q é uma constante.
  • 19. Atualização do feromônio O feromônio τij associado a aresta (i , j ) é atualizado pelo fórmula: onde 0 < ρ ≤ 1 é a taxa de evaporação de feromônio.
  • 20. Atualização do feromônio (atualizando a aresta 3, 5) Apenas as formigas 1, 2 e 5 depositam feromônio nesta aresta. Suponha Q = 1, 0. A contribuição de cada formiga: Suponha ρ = 0, 5.
  • 21. Quando parar com a iteração? • Estagnação é a situação na qual todas as formigas seguem sempre o mesmo percurso. • A Estagnação é causado pelo excessivo crescimento de feromônio nas arestas de uma viagem subótima.
  • 22. Estagnação Apesar da natureza estocástica do algoritmo, a forte concentração de feromônio nas arestas força a formiga a fazer sempre o mesmo percurso. Distribuição de feromônio Distribuição de feromônio no inicio da busca. após 100 iterações.