SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
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.

Weitere ähnliche Inhalte

Was ist angesagt?

Equações literais
Equações literaisEquações literais
Equações literaisaldaalves
 
Matemática - Probabilidade
Matemática - ProbabilidadeMatemática - Probabilidade
Matemática - ProbabilidadeLuis
 
Geometria de Posição e Métrica - Teoria
Geometria de Posição e Métrica - TeoriaGeometria de Posição e Métrica - Teoria
Geometria de Posição e Métrica - TeoriaEverton Moraes
 
Algebra linear e geometria analitica
Algebra linear e geometria analiticaAlgebra linear e geometria analitica
Algebra linear e geometria analiticauagno
 
Trabalho de geodesia espacial ondas electromagneticas
Trabalho de geodesia espacial ondas electromagneticasTrabalho de geodesia espacial ondas electromagneticas
Trabalho de geodesia espacial ondas electromagneticasafonso zobeto
 
Acad 5_06_topografia_11
 Acad 5_06_topografia_11 Acad 5_06_topografia_11
Acad 5_06_topografia_11Maíra Barros
 
05 Microscopio ConstituiçAo Tc 0809
05 Microscopio ConstituiçAo Tc 080905 Microscopio ConstituiçAo Tc 0809
05 Microscopio ConstituiçAo Tc 0809Teresa Monteiro
 
Vetores, translações e isometrias
Vetores, translações e isometriasVetores, translações e isometrias
Vetores, translações e isometriasO Bichinho do Saber
 
Projeções cartográficas
Projeções cartográficasProjeções cartográficas
Projeções cartográficastecnomapa
 
Áreas e volumes de sólidos
Áreas e volumes de sólidosÁreas e volumes de sólidos
Áreas e volumes de sólidosJoana Ferreira
 
www.aulasapoio.com - Matemática - Semelhança de Triângulos
www.aulasapoio.com  - Matemática -  Semelhança de Triânguloswww.aulasapoio.com  - Matemática -  Semelhança de Triângulos
www.aulasapoio.com - Matemática - Semelhança de TriângulosAulas Apoio
 

Was ist angesagt? (20)

Equações literais
Equações literaisEquações literais
Equações literais
 
GEOMETRIA ESPACIAL DE POSIÇÃO
GEOMETRIA ESPACIAL DE POSIÇÃOGEOMETRIA ESPACIAL DE POSIÇÃO
GEOMETRIA ESPACIAL DE POSIÇÃO
 
Aula 21 estudo da reta - parte 2
Aula 21   estudo da reta - parte 2Aula 21   estudo da reta - parte 2
Aula 21 estudo da reta - parte 2
 
Matemática - Probabilidade
Matemática - ProbabilidadeMatemática - Probabilidade
Matemática - Probabilidade
 
Prismas
PrismasPrismas
Prismas
 
Geometria de Posição e Métrica - Teoria
Geometria de Posição e Métrica - TeoriaGeometria de Posição e Métrica - Teoria
Geometria de Posição e Métrica - Teoria
 
Algebra linear e geometria analitica
Algebra linear e geometria analiticaAlgebra linear e geometria analitica
Algebra linear e geometria analitica
 
Quadriláteros
Quadriláteros Quadriláteros
Quadriláteros
 
Trabalho de geodesia espacial ondas electromagneticas
Trabalho de geodesia espacial ondas electromagneticasTrabalho de geodesia espacial ondas electromagneticas
Trabalho de geodesia espacial ondas electromagneticas
 
Aula 10 ponto e sistemas de projeções
Aula 10   ponto e sistemas de projeçõesAula 10   ponto e sistemas de projeções
Aula 10 ponto e sistemas de projeções
 
Função do 1º grau
Função do 1º grauFunção do 1º grau
Função do 1º grau
 
Acad 5_06_topografia_11
 Acad 5_06_topografia_11 Acad 5_06_topografia_11
Acad 5_06_topografia_11
 
05 Microscopio ConstituiçAo Tc 0809
05 Microscopio ConstituiçAo Tc 080905 Microscopio ConstituiçAo Tc 0809
05 Microscopio ConstituiçAo Tc 0809
 
Circunferências
CircunferênciasCircunferências
Circunferências
 
Vetores, translações e isometrias
Vetores, translações e isometriasVetores, translações e isometrias
Vetores, translações e isometrias
 
Projeções cartográficas
Projeções cartográficasProjeções cartográficas
Projeções cartográficas
 
Matemática - PA e PG
Matemática - PA e PGMatemática - PA e PG
Matemática - PA e PG
 
Áreas e volumes de sólidos
Áreas e volumes de sólidosÁreas e volumes de sólidos
Áreas e volumes de sólidos
 
www.aulasapoio.com - Matemática - Semelhança de Triângulos
www.aulasapoio.com  - Matemática -  Semelhança de Triânguloswww.aulasapoio.com  - Matemática -  Semelhança de Triângulos
www.aulasapoio.com - Matemática - Semelhança de Triângulos
 
1ª questão
1ª questão1ª questão
1ª questão
 

Mehr von 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
 

Mehr von 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.