AntNet
Algoritmos de formigas aplicados a
encaminhamento de pacotes em redes
Pedro Neves nº 27836
Algoritmos Formiga

Na natureza …
O comportamento de recolha de alimentos de muitas sociedades de
formigas baseia-se na comunicação indirecta mediada por feromonas.

Enquanto caminham, do ninho para as fontes de alimento e vice-versa,
as formigas deixam um rasto químico que forma um trilho de feromonas.

2 / 17
Ant Colony Optimization (ACO)
1.
2.
3.
4.
Os caminhos mais curtos surgem do comportamento colectivo,
através de:

uma escolha local e probabilística de cada formiga sobre para onde se
mover, tendo maior probabilidade os caminhos que tenham mais
feromonas
 uma forma indirecta de comunicação (Estigmergia)

3 / 17
Feromonas e Estigmergia

Quando as formigas deixam um rasto de feromonas:
modificam o modo como as próximas formigas iram percepcionar o
terreno local
 influenciam a escolha do caminho a seguir das próximas formigas

Ao ler/escrever o sinal químico de feromonas de um local as formigas
estão:

a comunicar indirectamente através do ambiente
 a criar um comportamento colectivo

4 / 17
Encaminhamento em Redes
Um algoritmo de encaminhamento está distribuído por toda a rede
 Tem de escolher o melhor caminho para levar os pacotes até ao seu
destino e evitar congestionamentos

A maioria dos algoritmos serve-se de estruturas de dados nos nós
(Routing Tables)

Estas estruturas são ao mesmo tempo bases de dados e modelos
locais do estado global

a informação que guardam e como a actualizam depende do algoritmo
utilizado

5 / 17
Métricas e Objectivos do Encaminhamento

Métricas
 Atraso na distribuição de pacotes (seg):


Velocidade com que os pacotes são enviados (bits / seg):



qualidade do serviço
quantidade do serviço
Recursos da rede utilizados
Objectivos
com muita carga: aumentar a quantidade de pacotes
enviados no mesmo atraso médio
com pouca carga: diminuir o atraso médio de cada pacote
6 / 17
AntNet: Estruturas de dados

Routing Table: Para um qualquer destino d e para cada nó vizinho n
tem a probabilidade Pnd , que representa a “tendência” de escolher o
nó n como parte do caminho até ao destino d.

Local Traffic Statistics: Contém informação sobre a distribuição do
tráfego em toda a rede, tal como o nó o percepciona.
7 / 17
AntNet: Descrição do algoritmo
1. A cada intervalo de tempo t, em cada nó n, é criada uma formiga
(Foward Ant), com um destino pseudo-aleatório (depende dos padrões
de tráfego)
2. O objectivo de cada formiga é:
descobrir um caminho, desde a origem até ao destino
 deixar, em cada nó visitado, informação útil para futuras formigas

3. Cada Foward Ant guarda, na sua memória privada, os nós que visitou
e o tempo que gastou entre cada um deles.
8 / 17
AntNet: Descrição do algoritmo (cont.)
4. O próximo nó é escolhido tendo em conta:



Routing Tables probabilísticas
Heurística local baseadas no estado das ligações desse nó
memória privada dos nós percorridos até então
5. Se for detectado um ciclo, este é eliminado tal como toda a
informação sobre esse sub-caminho
9 / 17
AntNet: Descrição do algoritmo (cont.)
6. Quando chega ao seu destino a Foward Ant cria uma Backward Ant,
transfere a sua memória para a nova formiga e morre.
7. A Backward Ant faz exactamente o mesmo percurso, mas no sentido
inverso, até à origem.
10 / 17
AntNet: Descrição do algoritmo (cont.)
8. Em cada nó que passa a Backward Ant actualiza a Routing Table local
e o Modelo de Tráfego Local usando informação memorizada e local
11 / 17
AntNet: Método de Decisão

A cada nó k, a formiga, com destino d, escolhe o próximo n entre os
nós vizinhos que ainda não percorreu, ou entre todos os vizinhos
calculando a probabilidade P’nd de “tendência” para esse nó
•
Nk {conjunto de
vizinhos de k}
α peso da heurística
local
•

utilizando uma Heurística Local ln que
reflecte o estado actual do nó k
•
qn – nº de bits à espera
de serem enviados de
k para n
12 / 17
AntNet: Regra de actualização das tabelas

Para descobrir o caminho entre K e D, as probabilidades dos arcos
de saída de K são actualizadas através de um valor de reforço R

O nó f, que é o vizinho de K atravessado pela Backward Ant, recebe
um reforço positivo.

Todos os outros vizinhos recebem um reforço negativo.
13 / 17
AntNet: Foward Vs. Backward Ants

As Foward Ants têm a mesma prioridade que os restantes pacotes …

Dessa forma conseguem obter informação sobre:



o tempo global da viagem
o tempo que levou entre os nós percorridos
a velocidade com que os pacotes estão a percorrer a rede


possíveis congestionamentos
As Backward Ants têm prioridade sobre os outros pacotes

propagam a informação, obtida pela Foward Ant, pelos nós visitados
o mais depressa possível
14 / 17
AntNet: Avaliação do caminho descoberto

O caminho descoberto é avaliado de forma:



implícita, através do tempo decorrido entre a descoberta do
caminho e a actualização das Rounting Tables
implícita, através da actualização das Rounting Tables que
descobrir quais os caminhos que mais frequentemente são
descobertos
explícita, através da avaliação do tempo que a formiga gastou em
viagem T


Mas T não pode ser comparado como absoluto pois é dependente do
congestionamento existente na altura
Associamos ao tempo T uma medida de qualidade R
15 / 17
Bibliografia
“AntNet: Distributed Stigmergetic Control for Communications
Networks”


Gianni Di Caro, Marco Dorigo
IRIDIA,
Université Libre de Bruxelles – Bélgica

“Ant Colony Optimization”
 http://iridia.ulb.ac.be/~mdorigo/ACO/ACO.html

Acetatos teóricos de VA

Paulo Urbano
16 / 17
Perguntas?
FIM
Download

powerpoint