Redes de Alto Débito Routing com meta-heuristicas

Documentos relacionados
CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

Otimização por Colônia de Formigas (ACO)

1. Computação Evolutiva

Ant Colony Optimization

Metaheurísticas de Otimização Bio-Inspiradas

Otimização por Colônia de Formigas (Ant Colony Optimization - ACO)

OTIMIZAÇÃO POR COLÔNIA DE FORMIGAS PARA O ROTEAMENTO EM REDES DE COMPUTADORES.

Otimização em Colônias de Formigas. Prof. Eduardo R. Hruschka (Slides adaptados dos originais elaborados pelo Prof. André C. P. L. F.

Problemas de otimização

Redes Ad-Hoc FEUP MPR. » DNS, routing pouco adequados, actualmente» IP Móvel requer rede infraestruturada; HomeAgent na rede fixa

ROUTER. Alberto Felipe Friderichs Barros

Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços

Inteligência de enxame e o algoritmo das abelhas

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

Roteamento e Roteadores. Conceitos Diversos

Inteligência Coletiva. Prof. Eduardo R. Hruschka (Slides adaptados dos originais elaborados pelo Prof. André C. P. L. F.

Aula 12 Protocolo de Roteamento EIGRP

# $ % & ' ( ) * ' ( ) *! " " Orientador +, -

3º Semestre. Aula 02 Introdução Roteamento

Redes Complexas: teoria, algoritmos e aplicações em computação. Virgilio A. F. Almeida DCC UFMG 02/ /10/2009. SOLUÇÕES Propostas

Inteligência de Enxame

Roteamento em DTNs. Prof. Carlos Oberdan Rolim. *Créditos aos autores no final dos slides

Implementação da metaheurística Colônia de formigas em Java para o problema do Caixeiro Viajante Simétrico.

Como funciona o balanceamento de carga em caminhos de custos desiguais (variância) no IGRP e no EIGRP?

Redes de Computadores

Protocolos de Roteamento link-state

Inteligência Artificial

Minicurso Inteligência Artificial Aplicada a Sistemas Elétricos. Niterói, 12 de Maio de 2018

Pesquisa Operacional Aplicada à Mineração

Otimização por Enxame de Partículas (PSO) e Otimização por Colônias de Formigas (ASO) aplicadas ao Problema do Caixeiro Viajante (TSP)

4 Métodos Existentes. 4.1 Algoritmo Genético

RIP OSPF. Características do OSPF. Características do OSPF. Funcionamento do OSPF. Funcionamento do OSPF

Aula 3 Redes de Interconexão

Técnicas de comutação

Introdução aos Protocolos de Roteamento Dinâmico

Otimização por Colônia de Formigas (Ant Colony Optimization - ACO)

Inteligência Artificial

Protocolos de Roteamento Dinâmico (Vetor de Distância)

Grafos Hamiltonianos e o Problema do Caixeiro Viajante. Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá

Redes de Computadores I - Princípios de Roteamento. por Helcio Wagner da Silva

Ciclos hamiltonianos e o problema do caixeiro viajante

MPLS- Multiprotocol Label Switching

MÉTODOS DE OTIMIZAÇÃO MULTIOBJETIVO

Capítulo 5. A camada de rede

Resolução de problemas difíceis de programação linear através da relaxação Lagrangeana

Capítulo 4 A camada de REDE

Refere-se à alocação dos recursos da rede para a transmissão pelos diversos dispositivos conectados.

Graduação Tecnológica em Redes de Computadores. Tecnologias de Interligação de Redes

Barramentos de campo. Modelo OSI para sistemas comunicantes

Resolução de Problemas de Busca

Transcrição:

ADEE EST - UAlgarve Routing com meta-heuristicas Pedro Cardoso, Ph.D. pcardoso@ualg.pt w3.ualg.pt/~pcardoso 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

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 2

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 3

O que é uma metaheurística? Metaelemento 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; www.infopedia.pt Na Informática: Uma meta-heurística é um método heurístico para resolver de forma genérica problemas de optimização. 4

O que é uma metaheurística? Algoritmo aplicável a qualquer problema onde seja possível definir uma vizinhança 5

O que é uma metaheurística? Exemplos: Algoritmos genéticos Simulated annealing Tabu search Swarm Intelligence Ant Colony Optimization Particle swarm optimization... 6

SI Swarm Intelligence 7

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) 8

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!? 9

Princípios da SI O que faz um sistema Swarm Intelligence funcionar? Feedback Positivo Feedback Negativo Aleatoriedade Múltiplas interacções 10

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 11

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

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 13

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 14

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 15

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) 16

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 17

As formigas na natureza 18

Dumb parts, properly connected into a swarm, yield smart results. The constant creeping of ants will wear away the stone Kevin Kelly The ants said: together we will be able to transport an elephant Proverbio do USA 6 Proverbio do TOGO 19

Formigas individuais Comportamentais Muito pouco sofisticados Memória muito limitada Comportamento individual com uma grande componente aleatório. 20

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; 21

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 22

Experiência com formigas ants_on_bridge.avi

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 24

Simulação Simulação do comportamento das colónias de formigas usando o starlogo 25 simulacaostarlogo.wmv

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 26

ACO Ant Colony Optimization 27

Aplicações... Os métodos ACO foram usados com sucesso em vários problemas bastante complexos: Travelling Salesman Problem Job-shop scheduling... 28

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? 29

Exemplo... Trivial 30

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.? 31

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 k pi, j = { τ iα, j d β i,j α j J k τ i, j d i, j 0 β se j J k c.c. 32

Exemplo... A fórmula k pij = { τ αij d β ij α j J k τ ij d ij 0 β se j J k c.c. J 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. 33

Exemplo... Actualização das feromonas Após cada formiga ter calculado uma solução, S_n J τij = 1 ρ τ ij Δτ ij onde { 1 Δτ ij = D S n 0 se i, j S n c.c. 34

Exemplo... Melhor solução após ciclo... Ciclo 1 Ciclo 7 Ciclo 54 Ciclo 33 35

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) 36

Aplicação ao routing 37

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!!! 38

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) 39

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 40

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 41

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 42

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 43

Formulação do Problema de routing 44

Qual é o problema? Rede de comunicações N,L, d 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 M d : L ℜ 45

Qual é o problema? Uma rede... (distancia,custo,banda usada,...) Nós Arestas 46

Qual é o problema? Objectivo Encontrar os custos mínimos entre cada par de nós (equilíbrio da rede) 47

Qual é o problema? M d : L ℜ não depende do tempo M=1 Fácil de resolver Dijkstra algorithm - O n² 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 48

Qual é o problema? Exemplo de Optimização com múltiplos objectivos Congestionamento Custo 90 42 52 52 12 12 23 23 23 35 15 23 34 56 10 96 76 43 1 2 23 23 23 23 34 44 3 34 100 34 34 33 44 34 4 66 valores para ir do nó i para o nó j 120 Congestionamento 100 80 60 40 20 0 0 20 40 60 Custo 80 100 120 49

Qual é o problema? M d : L ℜ 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... 50

Resumindo a coisa 51

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 Router A B B B B 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. B

Redes, Routers e Routing E agora por onde?????? 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

Protocolos de Routing Diz-me um pouco acerca de ti?????? 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

Protocolo de Routing É por aqui para ir para B B B 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

Joined-up Routing E para C? B C B C Vista geral podia ser melhor

Joined-up Routing B C B C Vista geral podia ser melhor do que escolher diferentes rotas individualmente?

Joined-up Routing B C B C Vista geral podia ser melhor do que escolher diferentes rotas individualmente? Parece simples!

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!

Principios Swarm intelligence... 63

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 64

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? 65

Ant colony behaviour Deixar um rasto de feromona Lê feromonas 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...

Ant colony routing? (ACR) Ant packets 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?

AntNet 68

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

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 formigabackward, 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édia Variâ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

Por outras palavras... 75

Destino? Início

Destino? Início p33.mpeg

Destino Início

? Início Destino

? Destino Início p50.mpeg

? Início Destino

Destino Início

Destino? Início

Destino? Início p3difa.mpeg

Destino Início

Destino? Início

Destino? Início p3difb.mpeg

Destino Início

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. AntNet G. 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 Algorithm M. Gunes, U. Sorges, I. Bouaziz, ARA The Ant-Colony Based Routing Algorithm for MANETs, 2003. Termite M. Roth, S. Wicker, Termite: Emergent Ad-Hoc Networking, 2003.

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...... 93

Projectos de Mestrado em Ant colony routing? Pacotes de formigas 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,...