redes de alto débito - w3.ualg.ptw3.ualg.pt/~jmmontei/rad/rad-routingwithmetaheuristics.pdf ·...

94
Redes de Alto Débito Redes de Alto Débito Routing com meta-heuristicas Routing com meta-heuristicas ADEE – EST - UAlgarve ADEE – EST - UAlgarve Sabia que em média uma árvore produz apenas 20 resmas de papel. Antes de imprimir este documento pense bem se tem mesmo que o fazer. Poupe papel. Lembre-se que há cada vez menos árvores. A compra de papel 100% reciclado pós-consumo diminui sua emissão de carbono em 2,2 kg por resma. Cada tonelada de papel reciclado economiza electricidade suficiente para iluminar uma casa de 3 quartos durante um ano. Fontes: http://www.openland.pt, http://www.diadaarvore.org.br Pedro Cardoso, Ph.D. [email protected] w3.ualg.pt/~pcardoso

Upload: trinhdan

Post on 12-Dec-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Redes de Alto DébitoRedes de Alto DébitoRouting com meta-heuristicasRouting com meta-heuristicas

ADEE – EST - UAlgarveADEE – EST - UAlgarve

• Sabia que em média uma árvore produz apenas 20 resmas de papel. Antes de imprimir este documento pense bem se tem mesmo que o fazer. Poupe papel. Lembre-se que há cada vez menos árvores.• A compra de papel 100% reciclado pós-consumo diminui sua emissão de carbono em 2,2 kg por resma.• Cada tonelada de papel reciclado economiza electricidade suficiente para iluminar uma casa de 3 quartos durante um ano.

Fontes: http://www.openland.pt, http://www.diadaarvore.org.br

Pedro Cardoso, Ph.D. [email protected]

w3.ualg.pt/~pcardoso

12­04­08 Redes de Alto Débito 2

O que é uma heurística?

Heurística:

Arte de inventar ou descobrir;

Método de ensino que procura que o aluno atinja os conhecimentos ou a solução para os problemas por esforço próprio;

HISTÓRIA procura de documentos;

INFORMÁTICA: regra (ou conjunto de regras) que pretende obter uma aproximação à solução de um problema;

www.infopedia.pt

12­04­08 Redes de Alto Débito 3

O que é uma heurística?

● Exemplo: Algoritmo para dar troco

– Enquanto não tiver o troco

● Dá a moeda do valor mais elevado, menor ou igual do que o troco em dívida

12­04­08 Redes de Alto Débito 4

O que é uma meta-heurística?

Meta-

elemento de formação de palavras, de origem grega, que exprime a ideia de mudança, união, transformação no vocabulário científico, e a ideia de nível superior, maior generalidade no vocabulário filosófico;

Na Informática: Uma meta-heurística é um método heurístico para resolver de forma genérica problemas de optimização.

www.infopedia.pt

12­04­08 Redes de Alto Débito 5

O que é uma meta-heurística?

Algoritmo aplicável a qualquer problema

onde seja possível definir uma “vizinhança”

12­04­08 Redes de Alto Débito 6

O que é uma meta-heurística?

Exemplos:

Algoritmos genéticos

Simulated annealing

Tabu search

Swarm Intelligence

Ant Colony Optimization

Particle swarm optimization

...

12­04­08 Redes de Alto Débito 7

SI

Swarm Intelligence

12­04­08 Redes de Alto Débito 8

Princípios da SI

Swarm Intelligence (SI)

Baseada na interacção de muito agentes simples que tentam atingir um mesmo objectivo

Emergente

Comportamento global que surge da interacção de muitos agentes

Stigmergia

Comunicação indirecta (geralmente através do ambiente)

12­04­08 Redes de Alto Débito 9

Princípios da SI

Propriedades dos algoritmos de Swarm Intelligence:

Os agentes são considerados como simples

Stigmergia: Comunicação indirecta entre agentes

O comportamento global pode ser emergente

Os comportamentos são robustos

Necessário em ambientes não previsíveis e/ou dinâmicos

Os indivíduos não são importantes !?

12­04­08 Redes de Alto Débito 10

Princípios da SI

O que faz um sistema Swarm Intelligence funcionar?

Feedback Positivo

Feedback Negativo

Aleatoriedade

Múltiplas interacções

12­04­08 Redes de Alto Débito 11

Princípios da SI

O que faz um sistema Swarm Intelligence funcionar?

Feedback Positivo

Reforça boas soluções

Formigas são capazes de atrair mais ajuda quando fonte de alimento é encontrado

Mais formigas sobre um trilho aumenta o rasto de feromonas e atrai ainda mais formigas

Feedback Negativo

Aleatoriedade

Múltiplas interacções

12­04­08 Redes de Alto Débito 12

Princípios da SI

O que faz um sistema Swarm Intelligence funcionar?

Feedback Positivo

Feedback Negativo

Elimina as soluções más ou velhas da memória colectiva

Diminuição dos rastos de feromonas

Soluções mais afastadas são exploradas por último

O rasto de feromonas tem menos tempo para se evaporar nas soluções mais próximas

Aleatoriedade

Múltiplas interacções

12­04­08 Redes de Alto Débito 13

Princípios da SI

O que faz um sistema Swarm Intelligence funcionar?

Feedback Positivo

Feedback Negativo

Aleatoriedade

Permite que surjam novas soluções e dirige a construção das actuais

As decisões dos agentes são aleatórias

Probabilidade de exploração (evita convergências prematuras)

Múltiplas interacções

12­04­08 Redes de Alto Débito 14

Princípios da SI

O que faz um sistema Swarm Intelligence funcionar?

Feedback Positivo

Feedback Negativo

Aleatoriedade

Múltiplas interacções

Nenhum indivíduo pode resolver um determinado problema. Só através da interacção de muitos pode ser encontrada uma solução

Um agente não pode sozinho resolver o problema. O rasto de feromonas rapidamente se evaporava

São necessários muitos agentes para sustentar o rasto de feromonas

Mais soluções podem ser encontrados mais rapidamente

12­04­08 Redes de Alto Débito 15

Princípios da SI

SI é adequada para

Encontrar soluções que não exigem controle preciso sobre a forma como a meta é alcançada

Necessita de um grande número de agentes

Os agentes podem ser simples

Comportamentos robustos

12­04­08 Redes de Alto Débito 16

De um modo geral

Vantagens

Optimização global

Versatilidade

Robustez

Optimização de situações dinâmicas

SI + heurística especifica = algoritmo eficiente

Desvantagens

Refinamento local difícil

Pode ser superado por algoritmos mais específicos

Necessário alguma capacidade computacional (memória, processador)

12­04­08 Redes de Alto Débito 17

Exemplos de métodos

Ant Colony Optimization

Colónias de formigas

Particle Swarm Optimization

Cardumes de peixes

Bandos de pássaros

Bee Colony Alg.

Colmeias de abelhas

...

movies/Catfish_School.flv

12­04­08 Redes de Alto Débito 18

As formigas na natureza

12­04­08 Redes de Alto Débito 19

Dumb parts, properly connected into a swarm, yield smart results.

Kevin Kelly

The ants said: together we will be able to transport an elephant

Proverbio do TOGO

6

The constant creeping of ants will wear away the stone

Proverbio do USA

12­04­08 Redes de Alto Débito 20

Formigas individuais

Comportamentais

Muito pouco “sofisticados”

Memória muito limitada

Comportamento individual com uma grande componente aleatório.

12­04­08 Redes de Alto Débito 21

As formigas como um colectivo

Executam tarefas complexas com grande fiabilidade e consistência.

Regulação da temperatura do ninho (~1 ºC);

Formação de pontes;

Raids massivos sobre áreas de alimentos;

Construção e protecção do formigueiro;

12­04­08 Redes de Alto Débito 22

As formigas como um colectivo

Executam tarefas complexas com grande fiabilidade e consistência.

Cooperação na carga de “grandes objectos”;

emigração maciças de colónias

Cuidam dos ovos

Encontram as rotas mais curtas do ninho até uma fonte de alimento

Exploram preferencialmente as melhores fontes alimentares

Experiência com formigas

ants_on_bridge.avi

12­04­08 Redes de Alto Débito 24

Colónia de formigas naturais

Comportamento baseado em

Populações com elevado número de formigas

Interacção através de rastos de feromonas (e outros)

Processo de busca de comida

Passo 1) Busca aleatória de comida

Passo 2) Transporte de comida

Passo 3) Deixar rasto de feromona

Passo 4) Procura orientada pelas feromonas → Passos 2 → Passo 3

12­04­08 Redes de Alto Débito 25

Simulação

Simulação do comportamento das colónias de formigas usando o starlogo

simulacaoStarLogo.wmv

12­04­08 Redes de Alto Débito 26

Os enxames são...

Flexíveis

Podem responde a perturbações internas e a desafios externo

Robustos

As tarefas são completadas mesmo que alguns membros falhem

Descentralizados

Não existe um controlo central na colónia

Auto-organizados

As soluções para os desafios são emergentes e não predefinidas

12­04­08 Redes de Alto Débito 27

ACOAnt Colony

Optimization

12­04­08 Redes de Alto Débito 28

Aplicações...

Os métodos ACO foram usados com sucesso em vários problemas bastante complexos:

Travelling Salesman Problem

Job-shop scheduling

...

12­04­08 Redes de Alto Débito 29

Exemplo...

Um caixeiro viajante deve partir de sua cidade, visitar “n” cidades diferentes, e voltar a sua origem.

Mas, qual a sequência de de cidades que devo percorrer de modo que eu percorra a menor distância (gaste o menor tempo) possível?

12­04­08 Redes de Alto Débito 30

Exemplo...

Trivial

12­04­08 Redes de Alto Débito 31

Exemplo...

Não tão trivial

8 cidades = 7! = 5040 ciclos distintos

151 cidades de Portugal → 5,7 * 10^262 ciclos

PC a 10THz → 10^12 combinações por ciclo → 5,7*10^250 segundos → 1.8 *10^243 anos!!!(universo ~ 13,7x10^9anos.

?

12­04­08 Redes de Alto Débito 32

Exemplo...

Ant Colony Optimization

1. Espalha um conjunto de formigas pelos nós

2. Cada formiga escolhe o próximo nó, de entre os que ainda não está no seu ciclo de acordo com uma fórmula probabilística

pi , j

k={

τ i , j

α ⋅d i , j

−β

∑ j∈J k τ i , j

α⋅d i , j

−β

0

se j∈J k

c .c .

12­04­08 Redes de Alto Débito 33

Exemplo...

A fórmula

pij

k={

τ ij

α⋅d ij

−β

∑ j∈J k τ ij

α⋅d ij

−β

0

se j∈J k

c .c .

● J^K - é a lista de vértices não visitados;●τ_{i,j} - é a quantidade de feromonas na aresta (i,j); ●d_{i,j } - é a distância entre os nós i e j●α e β são parâmetros que definem o grau de importância de τ e d respectivamente.

J

12­04­08 Redes de Alto Débito 34

Exemplo...

Actualização das feromonas

Após cada formiga ter calculado uma solução, S_n

J

τij=1−ρ ⋅τ ijΔτij

Δτij={1

D Sn

0

se i , j ∈Sn

c . c .

onde

12­04­08 Redes de Alto Débito 35

Exemplo...

Ciclo 1

Ciclo 54

Ciclo 7

Ciclo 33

Melhor solução após ciclo...

12­04­08 Redes de Alto Débito 36

Algoritmo Ant Colony Optimization

• Inicia o rasto de feromonas

• Enquanto ¬ (critério de paragem) faz

• Para todos formigas faz• Construir uma solução nova utilizando o

rasto de feromonas actual e heurísticas• Estimar a solução construída

• Fim para• Actualiza o rasto de feromonas usando as

soluções obtidas considerando uma dada evaporação

• Fim enquanto

• Devolve Solução(ões)

12­04­08 Redes de Alto Débito 37

Aplicação ao 

routing

12­04­08 Redes de Alto Débito 38

AVISO!

Qualquer semelhança entre o apresentado daqui para a frente (terminologia de redes e precisão) e uma apresentação de um técnico de redes (competente) são mera coincidência!!!

12­04­08 Redes de Alto Débito 39

Network Routing

Importante

Influencia a performance global da rede

Difícil

Variações estocásticas

Carga de tráfego

Topologia da rede

Tipos gerais

Circuit-switched (telefones)

Packet-switched (local network, Internet)

12­04­08 Redes de Alto Débito 40

Network Routing

Routing

Actividade de construção e uso de tabelas de routing

Tabelas de routing

Informação para fazer o forwarding dos pacotes

Uma por nó da rede

12­04­08 Redes de Alto Débito 41

Network Routing

Algoritmos classificados em

Centralizados

Controlador central → actualiza todas as tabelas de routing

Redes pequenas

Mau: atrasos na recolha da informação + envio para nós

Controlador em baixo → rede em baixo

Distribuidos

Calculo dos caminhos partilhado pelos nós

Troca de informação entre nós

Usado na maioria das redes

12­04­08 Redes de Alto Débito 42

Network Routing

Routing estático

Calculo do caminho baseado nos nós origem/destino

Não tem em conta o tráfego

Caminho = caminho mais “barato”

Routing dinâmico (adaptativo)

Adapta as políticas de routing a variações temporais/espaciais do tráfego

12­04­08 Redes de Alto Débito 43

Network Routing

Optimização

Routing óptimo

Vê a rede como um todo

Optimizar o funcionamento global da rede → função de custo global

Caminho mais curto

Não há função de custo global

Caminho mais curto de acordo com o custo das ligações

Classificados

Vector distância

Tab. Routing: (destino, distância estimada, next hop)Estado do link

Mapa dinâmico de toda a rede

12­04­08 Redes de Alto Débito 44

Formulaçãodo 

Problemade 

routing

12­04­08 Redes de Alto Débito 45

Qual é o problema?

Rede de comunicações

N - Nós da rede

L - Conjunto de ligações/arestas entre os nós

d - Função que a cada aresta faz corresponder um (vector de) custos

d : L ℜ

M

N ,L , d

12­04­08 Redes de Alto Débito 46

Qual é o problema?

●Uma rede...

Nós

Arestas

(distancia,custo,banda usada, ...)

12­04­08 Redes de Alto Débito 47

Qual é o problema?

Objectivo

Encontrar os custos mínimos entre cada par de nós

(equilíbrio da rede)

12­04­08 Redes de Alto Débito 48

Qual é o problema?

não depende do tempo

M = 1

“Fácil” de resolver

Dijkstra algorithm -

M > 1

Optimização com múltiplos objectivos

Ex: geralmente são problemas intratáveis, i.e., não existem algoritmos polinomiais para os resolver

Possível resolução recorrendo a heurísticas

d : L ℜ

M

On²

12­04­08 Redes de Alto Débito 49

Qual é o problema?

Exemplo de Optimização com múltiplos objectivos

0 20 40 60 80 100 120

0

20

40

60

80

100

120

valores para ir do nó i para o nó j

Custo

Con

gest

iona

men

toCongestionamento 90 42 52 52 12 12 23 23 23 35 15 23 34 56 10 96 76 43Custo 1 2 23 23 23 23 34 44 3 34 100 34 34 33 44 34 4 66

12­04­08 Redes de Alto Débito 50

Qual é o problema?

depende do tempo

Porquê?

A rede é dinâmica e os custos variam ao longo do tempo

Congestionamentos,

Arestas/nós indisponíveis ou condicionadas

Situação muito mais complexa...

d : L ℜ

M

12­04­08 Redes de Alto Débito 51

Resumindo a “coisa”

   

Redes, Routers e Routing

As redes actuais (por exemplo, a Internet) transportam os dados em pequenos pacotes

O grande problema é como é que esses pacotes encontram o caminho até ao seu destino

   

Redes, Routers e Routing

Para os dados (por exemplo, um email) “encontrarem o seu caminho” desde quem envia até ao destinatário, o pacote tem de ter um endereço...

… e os routers da rede têm de saber o que fazer com ele.

A

B

BB

B

B

Router

   

Redes, Routers e Routing

Cada router tem de decidir para onde enviar cada um dos pacotes…

… logo cada router tem de saber um pouco acerca do resto rede…

… e fazer a decisão baseada nos seus conhecimentos: ‘routing protocol’

E agora por onde?E agora por onde? ? ?

?

? ?

   

Protocolos de Routing

Cada router troca informação com os seus vizinhos…

… para construir uma imagem completa da rede…

… então define o “melhor” caminho para cada destino

?

??

?

?

?

“Diz-me um pouco acerca de ti …”

   

Protocolo de Routing

O problema é que cada um destes caminhos é calculado independentemente

Routers só pensam acerca dos seus caminhos em cada instante…

… e não têm ideia do que os outros routers iram fazer

B

B

“É por aqui para ir para B”

   

‘Joined-up Routing’

Vista geral…

… podia ser melhor…

B

B

C

C

“E para C?”

   

‘Joined-up Routing’

Vista geral…

… podia ser melhor…

… do que escolher diferentes rotas individualmente?

B

B

C

C

   

‘Joined-up Routing’

Vista geral…

… podia ser melhor…

… do que escolher diferentes rotas individualmente?

Parece simples!

B

B

C

C

   

Problemas!

Duas dificuldades:

Considerar todas as rotas em conjunto requer muito mais tempo e capacidade do que separadamente

Como podem os routers cooperar deste modo…

… quando cada um define as suas rotas independentemente?

!

   

Requerido...

Do que é que precisamos?

Sistema distribuido

Altamente adaptável às variações de tráfego

Adaptável à heterogeneidade das redes

Métodos eficientes para calcular rotas e …

Um método de partilhar as rotas pretendidas

… A solução podem ser as …

?

   

A Solução?

Formigas!

12­04­08 Redes de Alto Débito 63

Principios Swarm 

intelligence...

12­04­08 Redes de Alto Débito 64

Princípios da SI

Uma rede ad hoc é composto por muitos agentes simples (cooperantes?) com um conjunto de problemas que precisam ser resolvidos de forma robusta e com tão pouca comunicação directa quanto possível

12­04­08 Redes de Alto Débito 65

Princípios da SI

Routing é uma extensão da busca por fontes de comida das formigas!

Formigas à procura de comida…

Pacotes à procura de destinos…

Routing pode ser resolvido com SI?

Routing pode ser um comportamento emergente da interacção de pacotes?

   

Ant colony behaviour

As formigas movem-se

… cada uma deixa um rasto de feromona

uma mensagem para a próxima formiga

Quanto mais formigas mais feromonas

As formigas seguintes detectam as feromonas

Colectivamente a colónia encontra a melhor “estratégia”...

Deixar um rasto de feromona

Lê feromonas

   

Ant colony routing? (ACR)

Será que ACO pode melhorar o routing?

Enviar formigas-pacote para a rede…

… deixando feromonas-electrónicas

… de modo a partilhar a informação de routing

… melhora a estratégia de routing para a rede?

‘Ant’ packets

12­04­08 Redes de Alto Débito 68

AntNet

12­04­08 Redes de Alto Débito 69

AntNet

AntNet aplicado a uma rede packet- switched

AntNet semelhante ao algoritmo Ant Colony Optimization (ACO) algorithm para a resolução de problemas do tipo Traveling Salesman

   

AntNet

Formigas-forward, F, são lançadas regularmente para destinos aleatórios na rede

F mantém uma lista dos nós que visitou e o tempo decorrido para chegar lá

A formiga-pacote cresce ao atravessar a rede

Loops são removidos do caminho

F é transmitida em função da probabilidade do próximo hop

Mantida em cada nó de roteamento na tabela

   

AntNet

Quando F chega no seu destino, uma formiga-backward, B, é devolvida à origem

B segue o caminho inverso de F até à origem

Em cada nó, B actualiza a tabela de roteamento

Probabilidade do próximo hop para o destino

Estatísticas de tempo de envio para o destino

MédiaVariância

   

AntNet

Os pacotes de dados são roteados usando as probabilidades do próximo hop

As formigas-forward têm a mesma prioridade que os pacotes de dados

As formigas-forward sofrem os mesmos congestionamento e atrasos que os pacotes de dados.

As formiga-backward são encaminhadas com prioridade mais elevada do que os outros pacotes

   

AntNet

AntNet é um algoritmo de roteamento para redes datagrama

2 datagramas consecutivos enviados para o mesmo endereço podem chegar na ordem inversa

Testes explicitos de feedback são estabelecidos com formigas-forward e formiga-backward

As tabelas de probabilidades são actualizadas de acordo com as estatísticas

   

AntNet

Livro:Ant Colony Optimization, Marco Dorigo, Thomas Stützle

12­04­08 Redes de Alto Débito 75

 Por outras palavras...

   

Início

Destino

?

   

Início

Destino

?p33.mpeg

   

Início

Destino

   

Início

Destino?

   

Início

Destino?

p50.mpeg

   

Início

Destino?

   

Início

Destino

   

Início

Destino

?

   

Início

Destino

?p3difa.mpeg

   

Início

Destino

   

Início

Destino

?

   

Início

Destino

?

p3difb.mpeg

   

Início

Destino

   

Rastos de feromonas...

Destino

   

Rastos de feromonas...

Destino

   

Rastos de feromonas...

Destino

   

Outros algoritmos

Ant-Based Control (ABC)R. Schoonderwoerd, O. Holland, J. Bruten, Ant-based load balancing in telecommunications networks, 1996.

AntNetG. Di Caro, M. Dorigo, Mobile Agents for Adaptive Routing, Technical Report, Univ. Libre de Bruxelles, Beligium, 1997.

Mobile Ants Based Routing

Ant Colony Based Routing AlgorithmM. Gunes, U. Sorges, I. Bouaziz, ARA – The Ant-Colony Based Routing Algorithm for MANETs, 2003.

TermiteM. Roth, S. Wicker, Termite: Emergent Ad-Hoc Networking, 2003.

12­04­08 Redes de Alto Débito 93

Bibliografia

Ant Colony Optimization. M. Dorigo, T. Stützle. MIT Press.

Ants for load balancing in telecommunications networks. R. Schoonderwoerd, O. Holland, J. Bruten, Leon Rothkrantz

Adaptive Routing in Wireless Communication Networks using Swarm Intelligence. P. Arabshahi, A. Gray, I. Kassabalidis, A. Das

Adaptive-SDR: Adaptive Swarm-based Distributed Routing. I. Kassabalidis, M. El-Sharkawi, R. Marks II, P. Arabshahi, A. Gray

Swarm Intelligence for Routing in Communication Networks. I. Kassabalidis, M. El-Sharkawi, R.Marks II, P. Arabshahi, A. Gray

The Genetic Adaptive Routing Algorithm. Munetomo et. Al, 1997

...

...

   

Projectos de Mestrado em Ant colony routing?

Your mission ______, should you choose to accept it, … (preencher os espaços)

Projectos de Mestrado

Estudo de algoritmos na área do routing

ACR-video, ACR-QoS,...

Pacotes de formigas