antnet pedro neves nº 27836 algoritmos de formigas aplicados a encaminhamento de pacotes em redes
TRANSCRIPT
AntNetAntNet
Pedro Neves nº 27836
Algoritmos de formigas aplicados a encaminhamento de pacotes em redes
Algoritmos FormigaAlgoritmos 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)Ant Colony Optimization (ACO)
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
1. 2.
3. 4.
Feromonas e EstigmergiaFeromonas e Estigmergia
4 / 17
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
Encaminhamento em RedesEncaminhamento 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 EncaminhamentoMétricas e Objectivos do Encaminhamento
Métricas Atraso na distribuição de pacotes (seg):
qualidade do serviço Velocidade com que os pacotes são enviados (bits / seg):
quantidade do serviço Recursos da rede utilizados
Objectivoscom muita carga: aumentar a quantidade de pacotes enviados no mesmo atraso médiocom pouca carga: diminuir o atraso médio de cada pacote
6 / 17
AntNet: EAntNet: Estruturas de dadosstruturas de dados
7 / 17
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.
AntNet: AntNet: Descrição do algoritmoDescrição do algoritmo
8 / 17
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.
AntNet: AntNet: Descrição do algoritmo (cont.)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
9 / 17
5. Se for detectado um ciclo, este é eliminado tal como toda a informação sobre esse sub-caminho
AntNet: AntNet: Descrição do algoritmo (cont.)Descrição do algoritmo (cont.)
10 / 17
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.
AntNet: AntNet: Descrição do algoritmo (cont.)Descrição do algoritmo (cont.)
11 / 17
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
AntNet: AntNet: Método de DecisãoMétodo de Decisão
12 / 17
utilizando uma Heurística Local ln que reflecte o estado actual do nó k
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
• qn – nº de bits à espera de serem enviados de k para n
AntNet: AntNet: Regra de actualização das tabelasRegra 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: AntNet: Foward Vs. Backward AntsFoward Vs. Backward Ants
14 / 17
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
AntNet: AntNet: Avaliação do caminho descobertoAvaliação do caminho descoberto
15 / 17
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
BibliografiaBibliografia
“AntNet: Distributed Stigmergetic Control for Communications Networks”
Gianni Di Caro, Marco DorigoIRIDIA, 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?Perguntas?
FIM