Professional Documents
Culture Documents
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
!