antnet : routing algorithm for data network based on swarm intelligence technique boscato luca...
TRANSCRIPT
AntNet : Routing Algorithm for Data Network based on Swarm
Intelligence technique
Boscato LucaCalaon LeonardoDissegna MorenoDe Zotti GiorgioFavaretto Alessio
Progetto per il corso di Intelligenza artificiale
Docente: Silvana Badaloni
Outline Introduzione
o Swarm IntelligenceoAlgoritmi basati su SIo PSO
Ant Colony Optimization ACOo Strategiao Euristicheo Routing
Algoritmio AntNeto Strutture datio Ants
Implementazioneo Obiettivi e Strategieo Simulatore ad Eventio Dimostrazione
Performanceo Reti di test e Risultatio Miglioramentio Conclusioni
Definizione
“Proprietà di un sistema in cui il comportamento collettivo di agenti (non sofisticati) che interagiscono localmente con l’ambiente produce l’emergere di pattern funzionali globali nel sistema”
(Beni e Watt, 1989)Metodo di risoluzione di problemi che si ispira al comportamento di sciami di animali come formiche, api, uccelli, ecc, che singolarmente dispongono di capacità intellettive limitate, ma in gruppo riescono a risolvere problemi complessi come la costruzione di un nido o la ricerca di un percorso da una sorgente di cibo al nido stesso.
Swarm Intelligence (1/2)
Caratteristiche• Ogni individuo dispone di un repertorio di comportamenti
limitato• Ogni individuo non conosce lo stato globale del sistema• Assenza di un capo coordinatore
(l’ape regina non coordina l’attivitàdelle altre api)
“Chi è a governare? Chi è che da ordini, che immagina cosa accadrà in futuro, elabora piani e mantiene l’equilibrio?
Maurice Maeterlinck
Il comportamento di un individuo influenza quello degli altri
Swarm Intelligence (2/2)
Dal greco “stigma” ed “ergon”, cioé “segno” e “lavoro”, (lavoro guidato da stimoli)
Maurice Maeterlinck• Forma di comunicazione indiretta• Ogni individuo marca l’ambiente• Gli altri individui che rivelano la marcatura
reagiscono allo stimolo• Forma di comunicazione limitata nel tempo
La stigmergia influenza il comportamento globale della popolazione mediante il feedback
Stigmetria
Feedback positivoFenomeno per cui le marcature all’ambiente rilasciate da individui incentivano gli altri individui della popolazione a rilasciare ulteriori marcature nello stesso posto, facendo così convergere la popolazione al rinforzo di una soluzione
Feedback negativoFenomeno opposto, ovvero zone poco marcate dell’ambiente tendono ad essere tralasciate dagli individui della popolazione, portando all’impoverimento di una soluzione
Feedback
Consistono di molti sottoprogrammi semplici che lavorano in modo autonomo, pur influenzando ciascuno il comportamento degli altri (analogo degli insetti di uno sciame)
PRO• Parallelismo• Architetture distribuite• Stabilità• Flessibilità• Esistenza di risultati teorici che giusiticano le
potenzialità
CONTRO• Difficoltà di programmazione
Algoritmi basati su SI (1/2)
Classi principali del paradigma Swarm Intelligence
ACO (Ant Colony Optimization)Simula il comportamento di una colonia di formiche
PSO (Particle Swarm Optimization)Simula il comportamento di branchi di uccelli e pesci
Algoritmi basati su SI (2/2)
Lo studio delle regole mette in evidenza il comportamento di un individuo nello stormo• Seguire i propri vicini• Rimanere vicini• Evitare di urtare i vicini
Un algoritmo PSO aggiunge un obiettivo condiviso da tutti (es. ricerca di cibo)
Quando un uccello scorge una fonte di cibo può• Allontanarsi dal gruppo (individualismo)• Rimanere nel gruppo (socialità)
Se più individui si dirigono verso una fonte di cibo altri individui possono seguirli, facendo si che il gruppo si diriga verso zone promettenti
Particle swarm Optimization (1/2)
Algoritmo appartenente alla classe PSOINDIVIDUI
Configurazioni di tentativo che si spostano e campionano la funzione obiettivo in uno determinato spazio delle soluzioni (es. spazio reale)
INTERAZIONE SOCIALEUn individuo trae vantaggio dalle ricerche degli altri dirigendosi verso la regione del punto migliore globalmente trovato
Importante un compromesso tra• Indivualismo• Socialità
Particle swarm Optimization (2/2)
Principali applicazioni di Swarm Intelligence
Classe ACO• Problemi di combinatoria
(es. Commesso viaggiatore)• Robotica (es. Swarmbots)• Telecomunicazioni (es. AntNet)
Classe PSO• Reti neurali artificiali• Modelli di evoluzione grammaticale• Distribuzione dell’energia elettrica
Altre applicazioni• Controllo di veicoli militari senza pilota• Nanobot
Applicazioni
Ant colony optimization (ACO)
Definizione: La meta-euristica Ant Colony Optimization (ACO) è formata da una famiglia di algoritmi multi-agente risolutori di problemi di ottimizzazione.
Spiegazione:Una meta-euristica è una strategia di alto livello
che guida le altre euristiche nella ricerca di soluzioni.
È formato da un framework di algoritmi utilizzabile in diverse classi di problemi di ottimizzazione.
Sono inoltre necessari pochi cambiamenti per adattarlo ad un problema specifico
Ant colony optimization (ACO)
Si ispira al comportamento delle colonie di formiche:non sono dotate di un’intelligenza
collettivaogni formica è capace di operazioni
elementari, assieme realizzano un fine comune
Stigmergia: ‘i lavoratori sono influenzati dai risultati delle loro precedenti azioni’
Forma di comunicazione che si manifesta nello scambio di stimoli di natura chimica (il feromone)
Esempio: funzionamento del feromone
Strategia ACO
Modello di ricerca del percorso più breve su grafo:Le formiche sono agenti che si muovono su grafo in
modo asincrono.Ogni formica rilascia lungo il percorso la sua valutazione
sul raggiungimento della soluzione depositando feromone.
Una formica sceglierà quale percorso intraprendere in base alla quantità di feromone presente
Osservazioni:• La scelta di quale percorso intraprendere viene presa a livello di
nodo tramite un processo stocastico che utilizza solo le informazioni locali.
• Le informazioni riguardanti il feromone saranno salvate nei nodi
Euristiche offline
L’ACO utilizza anche delle euristiche che non vengono svolte dagli agenti, ma realizzate a livello di nodo.
L’evaporazione delle scie: la quantità depositata di feromone presente sul percorso decade col passare del tempo in modo da favorire l’esplorazione di nuove regioni.
Aggiornamento passivo dei feromoni: sono dei processi che monitorano la distribuzione di feromone per poi effettuare delle modifiche che premiano i percorsi che risultano particolarmente efficienti.
Vantaggi e applicazioni
VANTAGGI:L’ACO si presta quindi a risolvere problemi di
ottimizzazione su grafo con un approccio distribuito multi agente.
È flessibile, ha alta ridondanza e tolleranza ai guasti.
Sono caratteristiche desiderabili nella risoluzione di un’ampia gamma di
problemi.
Routing
Definizione: il routing consiste nel definire dei percorsi per i flussi di dati in modo da massimizzare le performance dell’intera rete. L’instradamento nei vari nodi si effettua utilizzando le tabelle di routing.
Tipologie
Circuit-switching: viene instaurato un percorso che in seguito seguiranno tutti pacchetti inviati. Ogni nodo del grafo dovrà mantenere le informazioni sullo stato di ogni sessione attiva che lo attraversa;
Packet-switching: ogni pacchetto dati è libero di seguire percorsi diversi e ogni nodo instraderà autonomamente il pacchetto sul link d’uscita prescelto;
Costruzione Tabella di Routing
Centralizzato
Statico
Shortest path
Distribuito
Adattabile
Optimal
ACO per il routing
Il lavoro che svolto è focalizzato sul paradigma packet-switching, metteremo infatti a confronto le performance di due algoritmi distribuiti, adattabili e di tipo shortest path:Uno è il diffusissimo distance-vectorL’algoritmo scelto del framework ACO è
AntNet
AntNet
Algoritmo di Routing ACO.Definizione di due tipi di agenti:
Forward AntBackward Ant
Comunicazione indiretta tramite stigmergiaUtilizzo delle strutture dati presenti nei nodi.
Di Caro G., Dorigo M., "AntNet: Distributed Stigmergetic Control for Communications Networks", Journal of Artificial Intelligence Research (JAIR), Vol. 9, Pag. 317-365, 1998.
Strutture dati
Routing Table Modello statistico
Porte
Dest
inazi
on
i
Dest
inazi
on
i
Generazione Forward Ant
Le formiche partono ad intervalli regolari Δt da ogni nodo della rete.
La destinazione d viene seleziona in base ad una probabilità proporzionale al traffico.
Forward Ant
Tempo di viaggio
Porta di uscita
Stack
Forward Ant
La porta di uscita viene selezionata in base alle probabilità nella Routing Table.
Facendo attenzione a:Non andare verso nodi
già visitati.Uccidere la formica se
forma un ciclo.
per d?
Backward Ant
Arrivata a destinazione la Foward Ant passa i suoi dati alla Backward Ant e muore.
Nodo d
Backward Ant
Ripercorre lo stesso cammino della Foward Ant ma in senso inverso.
Deve propagare velocemente le informazioni accumulate nei nodi attraversati.Utilizza una coda con priorità nei router.
Modello statistico
Aggiornare i valori di media e varianza del tempo di viaggio verso d.
Si utilizza un metodo basato sulla media mobile.
Passato Presente
Routing Table
Incremento la probabilità di inoltrare a f per spedire a d:
• Decremento per normalizzazione le rimanenti:
Implementazione
Obiettivi
Sistema per comparare AntNet con altri algoritmi di routing
Funzionalità necessarieDisponibilità di topologie di rete realiSimulazione preferibilmente in tempo realePossibilità di regolare il carico della reteRaccolta misure di performanceInterfaccia grafica con visualizzazione intuitiva
ed in tempo reale di Congestione Traffico Tabelle di routing Statistiche
• Modellazione della rete– Scelta di modellare al livello di rete ISO/OSI– Link modellati da banda e latenza, probabilità di
errore nulla– Host modellati come generatori casuali di
traffico, con send rate regolabile a intervalli di 500ms
– Router con buffer limitati• Simulazione
– Simulazione ad eventi discreti– Tempo reale– Agevole implementazione ed integrazione
Implementazione
Scelte
Modella un sistema in cui i cambiamenti di stato avvengono in punti discreti del tempo simulato
Sequenza di calcoli di effetti di eventi, a ognuno dei quali è assegnato un istante temporale
Ogni evento puòModificare lo stato del sistemaSchedulare nuovi eventi
Implementazione
Simulazione ad eventi discreti
Implementazione
Simulazione ad eventi discreti
Implementazione
Simulazione ad eventi discreti
Dimostrazione
Avvia AntNetSim
Implementazione
Suddivisione lavoro
Architettura, motore di simulazione e AntNet (Dissegna)
Generazione reti (De Zotti)Distance Vector e migliorie AntNet (Calaon)Generazione traffico e raccolta statistiche
(Boscato)Interfaccia grafica (Favaretto)
Performance Measurement
Viene confrontato il throughput di AntNet
con quello di Distance Vector
Test effettuati su diversi tipi di rete
Livello di congestione variabile nel tempo
Topologie di rete (1)
Simple Net
• Rete con 8 nodi e 9 link• Banda 10 Mbit/s• Latenza 1ms
Topologie di rete (2)
NSF Net
• Rete con 14 nodi e 21 link• Banda 1,5 Mbit/s• Latenza da 4ms a
20ms• Rappresenta la
“vecchia” backbone T1 degli USA
Topologie di rete (3)
NTT Net
• Rete con 57 nodi e 162 link• Banda 6 Mbit/s• Latenza da 1ms 5 ms• Rappresenta la backbone
del Giappone (Nippon Telephone and Telegraph company)
Topologie di rete (4)
Altre topologie
Throughput vs congestion level
• Quando il livello di congestione è basso, Distance Vector garantisce performance migliori.
• All’aumentare del livello di congestione, è AntNet il migliore• Alla congestione massima, i due algoritmi tornano allo stesso gap
inizale, in favore però per AntNet
Throughput vs time
• Il livello di congestione aumenta con il passare del tempo.
• Su reti diverse, il comportamento dei due algoritmi è lo stesso.
NTT NSF
NTT Performance
• Il livello di congestione viene aumentato bruscamente
AntNet
AntNet vs DV
Distance Vector
• AntNet risponde in modo più rapido
• Le performance di AntNet diminuiscono in modo lineare
NSF Performance
• Il livello di congestione aumenta con il passare del tempo
AntNet
Distance Vector
• Anche per questa rete AntNet è più performante
AntNet vs DV
AntNet Improvement
• AntNet è adatto per reti con un centinaio di nodi
• Se le distanze e/o il numero di nodi aumenta, le performance degradano:
• Alcune formiche possono morire (esauriscono TTL)
• Le statistiche raccolte possono non essere abbastanza aggiornate
Soluzione proposta : A novel approach to distributed Routing by Super-AntNet, Saeed Saari-A.,Mohammad-R.,Akbarzahed-T. and Mahmoud Naghibzadeh,2008 IEEE Congress on volutionary Computa-tion (CEC 2008)
AntNet ImprovementSuper-AntNet• La rete viene suddivisa in sottoreti (cluster)• La suddivisione avviene in base ai pattern del traffico
• 2 tipi di Ant-packet:o Super-Ant -> routing tra i
clusterso Ant -> routing interno al
cluster• Risultato:
o Minor overheado Delay inferiore per le lunghe
tratte
AntNet Improvement
• Un’altra limitazione di AntNet sta nel tasso di generazione dei pacchetti (ant)
• In una rete con N nodi, il numero di pacchetti in circolo è dell’ordine di N(N-1)
• I pacchetti di routing contribuiscono a loro volta a creare congestione
Soluzione proposta :Improving Load Balancing within the data network via Modified AntNet Algorithm, Reham A. Arnous, Hesham A. Arafat and Mefreh M. Salem, IEEE CCC (2007)
AntNet ImprovementLoad Balance• In AntNet il tasso di generazione è fisso
o Un tasso di generazione alto permette statistiche ben aggiornateo Porta però ad incrementare la congestione
• Viene proposto un tasso di generazione variabile in funzione del livello di congestione della rete
• Viene inoltre introdotta una soglia nei nodi: quando la congestione dell’interfaccia del nodo oltrepassa tale soglia, si obbliga a re-instradare i pacchetti
AntNet Improvement
• Le reti di nuova generazione devono supportare traffico di vario tipo:o Voiceo Datao Broadcasto ...
• AntNet non fa distinzione sul tipo di traffico
• Non è progettata per garantire QoS (Quality of service)
Soluzione proposta : A nature-inspired QoS routing algorithm for next generation networks, Heesang Lee, Gyuwoog Choi, Hyunjoon Kim, Kyuhong Lee, Fourth International Conference on Autonomic and Autonomous System (2008)
AntNet ImprovementQoS• Vengono identificati 4 possibili classi di traffico:
o VoIPo Bandwidth Guaranteedo VPNo Best Effort
• Per ogni classe di traffico un diverso agente (ant)• L’opera mostra dei buoni miglioramenti per quanto riguarda la QoS, tuttavia non viene analizzato il throughput della rete• Dalle osservazioni precedenti, si evince che l’uso di 4 tipi di pacchetti di routing contribuisce notevolmente ad incrementare l’overhead della rete, con un conseguente calo del throughput
Conclusioni• Il lavoro svolto ci ha permesso di confrontare un diffuso algoritmo di routing come Distance Vector con un algoritmo basato sull’Ant Colony Optimization : AntNet.
• Le performance dei due algoritmi sono state testate tramite un simulatore di reti ad eventi creato appositamente.
• I test sono stati eseguiti su diverse topologie di reti e facendo variare il livello di congestione nella rete.
• I risultati, in linea con quelli della letteratura, hanno mostrato come AntNet sia più performante in termini di throughput rispetto a Distance Vector.
Conclusioni
• Il throughput di Antnet, quando la rete è congestionata, è nettamente superiore a quello di Distance Vector
• Solo con basso traffico è leggermente penalizzato
• Il tempo di risposta ad un congestionamento improvviso è comunque migliore rispetto a Distance Vector
• Tramite i perfezionamenti proposti in letteratura, AntNet può essere ancora migliorato in termini scalabilità e versatilità
Fine
Domande???
Boscato LucaCalaon LeonardoDissegna MorenoDe Zotti GiorgioFavaretto Alessio