You are on page 1of 41

Ant Colony Optimization

ACO
Cristvo Rufino
Edgar Almeida
Lumadaiara Vitorino
2
Roteiro
Motivao

Objetivos

Introduo

Ant Colony Optimization - ACO

Variaes do Algoritmo

Aplicaes
12/04/2012 Ant Colony Optimization ACO

3
Motivao
Algoritmos baseados em Inteligncia de
Enxames possibilitam a criao de sistemas
inteligentes auto-organizveis, robustos e de
controle distribudo;

Algoritmos inspirados em colnias de
formigas so amplamente utilizados em
problemas de otimizao combinatorial
representados por grafos;

So aplicveis em problemas de: redes de
comunicao, escalonamento de recursos,
balanceamento de cargas, entre outros.


12/04/2012 Ant Colony Optimization ACO

4
Objetivos
Apresentar a tcnica de Inteligncia de
Enxames: Ant Colony Optimization
(ACO):

Inspirao natural;

Definir conceitualmente;

Execuo do algoritmo;

Descrever variaes;

Aplicaes.

12/04/2012 Ant Colony Optimization ACO

5
Introduo
Inspirao Natural
O comportamento forrageiro das formigas

A comunicao estigmrgica baseada no
depsito e deteco de feromnio nas trilhas;

Esse estudo fora realizado com diversas
espcias de formigas, entre as quais:
As formigas argentinas da espcie Linepithema
humile, por Vittori et al;



12/04/2012 Ant Colony Optimization ACO

6
Introduo
Caractersticas das formigas
Possuem a capacidade de recolher alimentos
para o seu ninho;
So capazes de explorar ambientes
desconhecidos, visando descobrir novas fontes
de alimento ou novos trajetos para fontes j
conhecidas;
Utilizam-se da ideia do menor gasto de energia
possvel, quando se vem com a necessidade
de aplic-lo.
12/04/2012 Ant Colony Optimization ACO

7
Introduo

12/04/2012 Ant Colony Optimization ACO

8
Introduo
Experimento das Duas Pontes
Proposto por Deneubourg
1 experimento (r = 1)
12/04/2012 Ant Colony Optimization ACO

9
Introduo
2 Experimento (r = 2)
12/04/2012 Ant Colony Optimization ACO

10
Introduo
3 Experimento
Trata a importncia do feromnio;
12/04/2012 Ant Colony Optimization ACO

11
Introduo
Na experincia estudada:
As formigas depositam feromnio no sentido
de ida e volta do caminho;

A quantidade de feromnio diretamente
proporcional a quantidade de formigas que
fizeram uso deste caminho;

O mecanismo de evaporao no
considerado.
12/04/2012 Ant Colony Optimization ACO

12
Introduo
Resultados dos experimentos
Com base no 3 experimento, existe a
possibilidade de ocorrer uma convergncia
para caminhos sub-timos;

Soluo:
Adicionar um mecanismo de evaporao do
feromnio;

12/04/2012 Ant Colony Optimization ACO

13
Introduo
Clculo de seleo de uma aresta



- probabilidade de escolher a menor rota;
- concentrao de feromnio da menor
rota;
- concentrao de feromnio do maior
caminho;
- importncia do feromnio no processo de
deciso

12/04/2012 Ant Colony Optimization ACO

( )
( ) ( )
( ) ( ) ( ) ( )
o o
o


t t t t
t t
t P
il l is s
is s
is
+ + +
+
=
is

il

o
( ) t P
is
14
Ant Colony Optimization -
ACO
Estigmergia
Mecanismo de comunicao indireta das
formigas atravs de modificaes no
ambiente;
Feromnio Artificial
Estabelece a estigmergia das formigas
artificiais;
Codifica a memria de busca na
execuo do algoritmo.
12/04/2012 Ant Colony Optimization ACO

15
Ant Colony Optimization -
ACO
Modelagem do Ambiente
Grafos mais complexos apontam
problemas para o ACO;
A ocorrncia de loops;
Surgimento de caminhos fechados;
Soluo:
Remover o mecanismo de atualizao do
feromnio no sentido de ida da formiga.
12/04/2012 Ant Colony Optimization ACO

16
Ant Colony Optimization -
ACO
Mecanismos
Escolha de Caminho



- componentes adjacentes ao n i;
- probabilidade de escolha do caminho;
- concentrao de feromnio;
- importncia do feromnio;
12/04/2012 Ant Colony Optimization ACO

( )
( )
( )
( )
( )
( )

e
e
=
e
t N j se
t N j se
t
t
t p
k
i
k
i
t N u
iu
ij
k
ij
k
i
0
o
o
t
t
( ) t p
k
ij
( ) t
ij
t
o
( ) t N
k
i
17
Ant Colony Optimization -
ACO
Atualizao e evaporao do
feromnio




- contribuio de feromnio da formiga;
- taxa de decaimento

12/04/2012 Ant Colony Optimization ACO

( ) ( ) ( )
( ) ( ) ( ) t t
t t t
ij ij
n
k
k
ij ij ij
k
t t
t t t

A + = +

=
1
1
1
( ) t
k
ij
t A

18
Ant Colony Optimization -
ACO
Pseudo-cdigo
12/04/2012 Ant Colony Optimization ACO

( )
f im
f im
f eromnio do o atualiza de mecanismo o Execute
soluo na presente aresta cada Para
f aa k f ormiga cada Para
f im
evaporao de mecanismo o Execute
f aa graf o do aresta cada Para
f im
encontrada soluo da o compriment o Calcule
alcanado ser destino de n At
parcial soluo na escolhida aresta a Adiciona
tica probabils f uno na base com n prximo o Seleciona
pita
f aa k f ormiga cada Para
f aa parada de condio a atingir At
origem de n no f ormigas n Posicionar
ente aleatoriam r Inicializa
k
ij
,
,
Re
,
,
;
; 0 t
19
Variaes do Algoritmo - AS
Ant System AS

Proposto por Marco Dorigo et al em 1992;

Primeiro algoritmo que surgiu inspirado
no comportamento de formigas;
12/04/2012 Ant Colony Optimization ACO

20
Variaes do Algoritmo - AS
Caractersticas
Os valores de feromnio so atualizados
por todas as formigas;



- nmero de formigas;
- taxa de decaimento;
- quantidade de fermino
depositada.
12/04/2012 Ant Colony Optimization ACO

( ) ( ) , 1 1
1

=
A + = +
m
k
k
ij ij ij
t t t t
m

=
A
m
k
k
ij
1
t
21
Variaes do Algoritmo - AS
- Comprimento do trajeto da formiga
12/04/2012 Ant Colony Optimization ACO

=
contrrio caso
j i aresta a usou k formiga a se
L
k
m
k
k
ij
, 0
) , ( ,
1
1
t
k
L
22
Variaes do Algoritmo - AS
Escolha do caminho atravs de uma funo
probabilstica que leva em conta a quantidade de
feromnio e um componente heurstico;





- informao heurstica;
- parmetros que controlam a importncia
do feromnio versus a informao heurstica;
- Componentes que ainda no pertecem a
soluo parcial.
12/04/2012 Ant Colony Optimization ACO

( )
( ) ( )
( ) ( )
( )
( )
,
, 0
,

=
e
contrrio caso
t N j se
t t
t t
t P
k
i
t N u
iu iu
ij ij
k
ij
k
i
| o
| o
q t
q t
( )
ij ij
d t 1 = q
| o e
( ) t N
k
i
23
Variaes do Algoritmo - ACS
Ant Colony System ACS

Proposto por Marco Dorigo e
Gambardella em 1997;

Diferenas em relao ao AS
Regra de deciso para escolha do
caminho;
Atualizao do feromnio
12/04/2012 Ant Colony Optimization ACO

24
Variaes do Algoritmo - ACS
Caractersticas
Pseudorandom Proportional Rule
- aleatrio e uniformemente distribudo em [0,1];
- parmetro fixo;
, utilizar o componente que maximiza

Atualizao local do feromnio (ltima
aresta)


- taxa de decaimento;
- valor inicial do feromnio.
12/04/2012 Ant Colony Optimization ACO

0
q
q
0
q q se s
| o
q t
ij ij

( ) ( ) ( )
0
1 1 t t t + = + t t
ij ij

0 0
1 L = t
25
Variaes do Algoritmo - ACS
Atualizao global do feromnio
12/04/2012 Ant Colony Optimization ACO

( ) ( ) ( )
melhor
ij ij ij
t t t t t A + = + 1 1
( )
( ) far so best L L
ou best iteration L L
L
bs melhor
ib melhor
melhor
melhor
ij
=
=
= A
,
1 t
26
Variaes do Algoritmo -
MMAS
MAX-MIN Ant System MMAS

Proposto por Sttzle e Hoos em 2000;

Diferenas em relao ao AS
Apenas a melhor formiga deposita o
feromnio;
Os valores mnimo e mximo do
feromnio so explicitamente delimitados.
12/04/2012 Ant Colony Optimization ACO

27
Variaes do Algoritmo -
MMAS
Caractersticas
Atualizao do feromnio
12/04/2012 Ant Colony Optimization ACO

( ) ( ) ( )
( ) ( )
( ) ( )
min min
max max
1 , 1
1 , 1
1 1
t t t t
t t t t
t t t
< + = +
> + = +
A + = +
t se t
t se t
t t
ij ij
ij ij
melhor
ij ij ij
28
Variaes do Algoritmo
Comparativo das atualizaes de
feromnio
12/04/2012 Ant Colony Optimization ACO

Alg. Expresso Realizado
AS Por todas as
formigas ao
completar o caminho
ACS Por todas as
formigas (ltima
aresta)
ACS Apenas pela melhor
formiga da iterao
MMAS Apenas pela melhor
formiga da iterao
29
Aplicaes - DACO
Dynamic Ant Colony Optimization
Based on Multipheromone DACO;

Utilizado na descoberta de servios
disponveis de rede e servios de QoS
(Quality of Service);

Utiliza mais de um tipo de feromnio
dependendo do tipo de servio e da
necessidade do usurio.
12/04/2012 Ant Colony Optimization ACO

30
Aplicaes - DACO
Surgiu da necessidade de ajustar
redes de computadores de um modo
dinmico e que responda prontamente
as mudanas de QoS e preferncia de
usurio;

A representao dos servios so os
ns do grafo e as informaes de QoS
e referncias como arestas do grafo;
12/04/2012 Ant Colony Optimization ACO

31
Aplicaes - DACO
12/04/2012 Ant Colony Optimization ACO

32
Aplicaes - DACO
Cada feromnio representa uma
necessidade de QoS para cada
servio;

O retorno do algoritmo uma lista
com os servios solicitados que
trazem maior satisfao para o
usurio;

O algoritmo converge mais rpido e
com melhor desempenho que o ACO
convencional.
12/04/2012 Ant Colony Optimization ACO

33
Aplicaes - DACO
12/04/2012 Ant Colony Optimization ACO

34
Aplicaes Movimentao de
Brao
Ant Colony Robot Motion Planning
ACRMP;

Utiliza a tcnica ACO juntamente com
planejamento de movimentao
probabilstico (Probabilistic Roadmap
Planner- PRM);

Calcular a movimentao 3D de braos
com 6-dof (degrees of freedom graus
de liberdade);
12/04/2012 Ant Colony Optimization ACO

35
Aplicaes Movimentao de
Brao
Com o mtodo convencional, para
grandes dimenses, o clculo torna-se
no trivial e dispendioso (recurso
computacional e tempo);

O clculo normal de movimentao
consiste em calcular vrias as rotas,
depois checar as colises e escolher o
caminho (sub)-timo;

Roadmap (RM) -> Single query
Bidirectional Lazy (SBL) -> Traveling
Salesman Problem (TSP); 12/04/2012 Ant Colony Optimization ACO

36
Aplicaes Movimentao de
Brao
O novo algoritmo realiza essas etapas
de uma vez (calcular as rotas e
verificar colises);

Conseguiu reduzir o clculo da
configurao para um tempo
aceitvel;

RM -> SBL -> TSP tornou-se F-ANTS
-> T-ANTS -> ACO-TSP;
12/04/2012 Ant Colony Optimization ACO

37
Aplicaes Movimentao de
Brao
Formigas forrageiras (F-ANTS)
calculam as trajetrias, so seguidas
pelas formigas seguidoras (T-ANTS);

Aps isso o problema reduzido para
o problema do caixeiro viajante (TSP).

12/04/2012 Ant Colony Optimization ACO

38
Aplicaes Movimentao de
Brao
12/04/2012 Ant Colony Optimization ACO

39
Aplicaes Movimentao do
Brao
12/04/2012 Ant Colony Optimization ACO

40
Consideraes Finais
A tcnica de otimizao por colnia de
formigas mostra-se consolidada na
resoluo de problemas modelados
por grafos;
As suas variaes possibilitam a
aplicao em diversas reas, como as
apresentadas hoje;
O ACO recente e interesse de
pesquisa para muitos cientistas da
rea de Inteligncia de Enxames.
12/04/2012 Ant Colony Optimization ACO

Ant Colony Optimization
ACO
Obrigado
!