SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
Ant Colony Optimization
        (Otimização por Colônia de Formigas)


                      Por: Bruno Felipe
                             brunofelipefr@gmail.com
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.
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.
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.
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.
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
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
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
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
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 ).
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.
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.
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
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
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
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
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).
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.
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.
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.
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.
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.

Más contenido relacionado

La actualidad más candente

Concepções alternativas no ensino de física
Concepções alternativas no ensino de físicaConcepções alternativas no ensino de física
Concepções alternativas no ensino de físicaLucas Guimaraes
 
Lista de exerccios
Lista de exercciosLista de exerccios
Lista de exercciosSabrina Abud
 
Figuras Geometricas
Figuras GeometricasFiguras Geometricas
Figuras Geometricasguest2d4a73f
 
Apostila 001 potenciação radiciação
Apostila  001 potenciação radiciaçãoApostila  001 potenciação radiciação
Apostila 001 potenciação radiciaçãocon_seguir
 
Apostila 001 conjuntos operações
Apostila  001 conjuntos operaçõesApostila  001 conjuntos operações
Apostila 001 conjuntos operaçõescon_seguir
 
8o ano semana 3 geometria
8o ano semana 3 geometria8o ano semana 3 geometria
8o ano semana 3 geometriaOtávio Sales
 
Aula teorica minicurso modelagem de proteinas por homologia
Aula teorica minicurso modelagem de proteinas por homologiaAula teorica minicurso modelagem de proteinas por homologia
Aula teorica minicurso modelagem de proteinas por homologiaFabiano Reis
 
04 teste avaliação equações do 2º grau
04 teste avaliação equações do 2º grau04 teste avaliação equações do 2º grau
04 teste avaliação equações do 2º grauRui Sequeira II
 
【学会発表】LDAにおけるベイズ汎化誤差の厳密な漸近形【IBIS2020】
【学会発表】LDAにおけるベイズ汎化誤差の厳密な漸近形【IBIS2020】【学会発表】LDAにおけるベイズ汎化誤差の厳密な漸近形【IBIS2020】
【学会発表】LDAにおけるベイズ汎化誤差の厳密な漸近形【IBIS2020】Naoki Hayashi
 
Recuperação lista exercicios 9º ano 1º bimestre
Recuperação lista exercicios 9º ano 1º bimestreRecuperação lista exercicios 9º ano 1º bimestre
Recuperação lista exercicios 9º ano 1º bimestreRafael Marques
 
Aula sobre triângulos
Aula sobre triângulosAula sobre triângulos
Aula sobre triângulosandreilson18
 
離散と連続の入り混じった相互情報量を推定して、 SNP と遺伝子発現量の因果関係をさぐる
離散と連続の入り混じった相互情報量を推定して、SNP と遺伝子発現量の因果関係をさぐる離散と連続の入り混じった相互情報量を推定して、SNP と遺伝子発現量の因果関係をさぐる
離散と連続の入り混じった相互情報量を推定して、 SNP と遺伝子発現量の因果関係をさぐるJoe Suzuki
 
Gramática aula 14 - concordância nominal i
Gramática   aula 14 - concordância nominal iGramática   aula 14 - concordância nominal i
Gramática aula 14 - concordância nominal imfmpafatima
 
crescimento Logistico
crescimento Logisticocrescimento Logistico
crescimento Logisticounesp
 
Lista de exercicios_-_geometria_plana010620111337
Lista de exercicios_-_geometria_plana010620111337Lista de exercicios_-_geometria_plana010620111337
Lista de exercicios_-_geometria_plana010620111337Alcides Cabral
 

La actualidad más candente (20)

Concepções alternativas no ensino de física
Concepções alternativas no ensino de físicaConcepções alternativas no ensino de física
Concepções alternativas no ensino de física
 
Plano Cartesiano
Plano CartesianoPlano Cartesiano
Plano Cartesiano
 
Dna mitocondrial – herança materna
Dna mitocondrial – herança maternaDna mitocondrial – herança materna
Dna mitocondrial – herança materna
 
Polinomios
PolinomiosPolinomios
Polinomios
 
Lista de exerccios
Lista de exercciosLista de exerccios
Lista de exerccios
 
Pirâmides
PirâmidesPirâmides
Pirâmides
 
Figuras Geometricas
Figuras GeometricasFiguras Geometricas
Figuras Geometricas
 
Apostila 001 potenciação radiciação
Apostila  001 potenciação radiciaçãoApostila  001 potenciação radiciação
Apostila 001 potenciação radiciação
 
Apostila 001 conjuntos operações
Apostila  001 conjuntos operaçõesApostila  001 conjuntos operações
Apostila 001 conjuntos operações
 
8o ano semana 3 geometria
8o ano semana 3 geometria8o ano semana 3 geometria
8o ano semana 3 geometria
 
Aula teorica minicurso modelagem de proteinas por homologia
Aula teorica minicurso modelagem de proteinas por homologiaAula teorica minicurso modelagem de proteinas por homologia
Aula teorica minicurso modelagem de proteinas por homologia
 
04 teste avaliação equações do 2º grau
04 teste avaliação equações do 2º grau04 teste avaliação equações do 2º grau
04 teste avaliação equações do 2º grau
 
【学会発表】LDAにおけるベイズ汎化誤差の厳密な漸近形【IBIS2020】
【学会発表】LDAにおけるベイズ汎化誤差の厳密な漸近形【IBIS2020】【学会発表】LDAにおけるベイズ汎化誤差の厳密な漸近形【IBIS2020】
【学会発表】LDAにおけるベイズ汎化誤差の厳密な漸近形【IBIS2020】
 
Recuperação lista exercicios 9º ano 1º bimestre
Recuperação lista exercicios 9º ano 1º bimestreRecuperação lista exercicios 9º ano 1º bimestre
Recuperação lista exercicios 9º ano 1º bimestre
 
Aula sobre triângulos
Aula sobre triângulosAula sobre triângulos
Aula sobre triângulos
 
Apostila probabilidade2011.doc
Apostila probabilidade2011.docApostila probabilidade2011.doc
Apostila probabilidade2011.doc
 
離散と連続の入り混じった相互情報量を推定して、 SNP と遺伝子発現量の因果関係をさぐる
離散と連続の入り混じった相互情報量を推定して、SNP と遺伝子発現量の因果関係をさぐる離散と連続の入り混じった相互情報量を推定して、SNP と遺伝子発現量の因果関係をさぐる
離散と連続の入り混じった相互情報量を推定して、 SNP と遺伝子発現量の因果関係をさぐる
 
Gramática aula 14 - concordância nominal i
Gramática   aula 14 - concordância nominal iGramática   aula 14 - concordância nominal i
Gramática aula 14 - concordância nominal i
 
crescimento Logistico
crescimento Logisticocrescimento Logistico
crescimento Logistico
 
Lista de exercicios_-_geometria_plana010620111337
Lista de exercicios_-_geometria_plana010620111337Lista de exercicios_-_geometria_plana010620111337
Lista de exercicios_-_geometria_plana010620111337
 

Más de Bruno Felipe

Blockchain Aplicado à Saúde
Blockchain Aplicado à SaúdeBlockchain Aplicado à Saúde
Blockchain Aplicado à SaúdeBruno Felipe
 
Segurança da Informação: Proteção no ambiente Virtual
Segurança da Informação: Proteção no ambiente VirtualSegurança da Informação: Proteção no ambiente Virtual
Segurança da Informação: Proteção no ambiente VirtualBruno Felipe
 
Information Quality Criteria Analysis in Query Reformulation in Distributed D...
Information Quality Criteria Analysis in Query Reformulation in Distributed D...Information Quality Criteria Analysis in Query Reformulation in Distributed D...
Information Quality Criteria Analysis in Query Reformulation in Distributed D...Bruno Felipe
 
Qualidade do Contexto
Qualidade do ContextoQualidade do Contexto
Qualidade do ContextoBruno Felipe
 
Banco de Dados e Contexto
Banco de Dados e ContextoBanco de Dados e Contexto
Banco de Dados e ContextoBruno Felipe
 
Segurança em Migração de Virtual Machines
Segurança em Migração de Virtual MachinesSegurança em Migração de Virtual Machines
Segurança em Migração de Virtual MachinesBruno Felipe
 
Arquitetura da Informação - Interatividade
Arquitetura da Informação - InteratividadeArquitetura da Informação - Interatividade
Arquitetura da Informação - InteratividadeBruno Felipe
 
12 objetivos de banco de dados distribuídos
12 objetivos de banco de dados distribuídos12 objetivos de banco de dados distribuídos
12 objetivos de banco de dados distribuídosBruno Felipe
 

Más de Bruno Felipe (11)

Blockchain Aplicado à Saúde
Blockchain Aplicado à SaúdeBlockchain Aplicado à Saúde
Blockchain Aplicado à Saúde
 
Segurança da Informação: Proteção no ambiente Virtual
Segurança da Informação: Proteção no ambiente VirtualSegurança da Informação: Proteção no ambiente Virtual
Segurança da Informação: Proteção no ambiente Virtual
 
Information Quality Criteria Analysis in Query Reformulation in Distributed D...
Information Quality Criteria Analysis in Query Reformulation in Distributed D...Information Quality Criteria Analysis in Query Reformulation in Distributed D...
Information Quality Criteria Analysis in Query Reformulation in Distributed D...
 
Linked Data
Linked DataLinked Data
Linked Data
 
Qualidade do Contexto
Qualidade do ContextoQualidade do Contexto
Qualidade do Contexto
 
Banco de Dados e Contexto
Banco de Dados e ContextoBanco de Dados e Contexto
Banco de Dados e Contexto
 
Segurança em Migração de Virtual Machines
Segurança em Migração de Virtual MachinesSegurança em Migração de Virtual Machines
Segurança em Migração de Virtual Machines
 
Arquitetura da Informação - Interatividade
Arquitetura da Informação - InteratividadeArquitetura da Informação - Interatividade
Arquitetura da Informação - Interatividade
 
SAD e OLAP
SAD e OLAPSAD e OLAP
SAD e OLAP
 
12 objetivos de banco de dados distribuídos
12 objetivos de banco de dados distribuídos12 objetivos de banco de dados distribuídos
12 objetivos de banco de dados distribuídos
 
Scrum
ScrumScrum
Scrum
 

Ant Colony Optimization - ACO

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