AntNet : Routing Algorithm for Data Network based on Swarm
Intelligence technique Boscato Luca Calaon Leonardo De Zotti
Giorgio Dissegna Moreno Favaretto Alessio Progetto per il corso di
Intelligenza artificiale Docente: Silvana Badaloni 1
Slide 2
Outline Introduzione o Swarm Intelligence o Algoritmi basati su
SI o PSO Ant Colony Optimization ACO o Strategia o Euristiche o
Routing Algoritmi o AntNet o Strutture dati o Ants Implementazione
o Obiettivi e Strategie o Simulatore ad Eventi o Dimostrazione
Performance o Reti di test e Risultati o Miglioramenti o
Conclusioni 2
Slide 3
Definizione Propriet di un sistema in cui il comportamento
collettivo di agenti (non sofisticati) che interagiscono localmente
con lambiente produce lemergere 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) 3
Slide 4
Caratteristiche Ogni individuo dispone di un repertorio di
comportamenti limitato Ogni individuo non conosce lo stato globale
del sistema Assenza di un capo coordinatore (lape regina non
coordina lattivit delle altre api) Chi a governare? Chi che da
ordini, che immagina cosa accadr in futuro, elabora piani e
mantiene lequilibrio? Maurice Maeterlinck Il comportamento di un
individuo influenza quello degli altri Swarm Intelligence (2/2)
4
Slide 5
Dal greco stigma ed ergon, cio segno e lavoro, (lavoro guidato
da stimoli) Maurice Maeterlinck Forma di comunicazione indiretta
Ogni individuo marca lambiente 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 5
Slide 6
Feedback positivo Fenomeno per cui le marcature allambiente
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 negativo Fenomeno opposto, ovvero zone poco marcate
dellambiente tendono ad essere tralasciate dagli individui della
popolazione, portando allimpoverimento di una soluzione Feedback
6
Slide 7
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) 7
Slide 8
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) 8
Slide 9
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) 9
Slide 10
Algoritmo appartenente alla classe PSO INDIVIDUI Configurazioni
di tentativo che si spostano e campionano la funzione obiettivo in
uno determinato spazio delle soluzioni (es. spazio reale)
INTERAZIONE SOCIALE Un 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) 10
Slide 11
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
dellenergia elettrica Altre applicazioni Controllo di veicoli
militari senza pilota Nanobot Applicazioni 11
Slide 12
Ant Colony Optimization e Routing 12 De Zotti Giorgio
Slide 13
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 13
Slide 14
Ant colony optimization (ACO) Si ispira al comportamento delle
colonie di formiche: non sono dotate di unintelligenza collettiva
ogni formica capace di operazioni elementari, assieme realizzano un
fine comune Stigmergia: i lavoratori sono inuenzati dai risultati
delle loro precedenti azioni Forma di comunicazione che si
manifesta nello scambio di stimoli di natura chimica (il feromone)
14
Slide 15
Esempio: funzionamento del feromone 15
Slide 16
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
16
Slide 17
Euristiche offline LACO utilizza anche delle euristiche che non
vengono svolte dagli agenti, ma realizzate a livello di nodo.
Levaporazione delle scie: la quantit depositata di feromone
presente sul percorso decade col passare del tempo in modo da
favorire lesplorazione 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. 17
Slide 18
Vantaggi e applicazioni VANTAGGI: LACO 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 unampia gamma di problemi. 18
Slide 19
Routing Definizione: il routing consiste nel definire dei
percorsi per i flussi di dati in modo da massimizzare le
performance dellintera rete. Linstradamento nei vari nodi si
effettua utilizzando le tabelle di routing. 19
Slide 20
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 duscita prescelto; 20
Slide 21
Costruzione Tabella di Routing Centralizzato Statico Shortest
path Distribuito Adattabile Optimal 21
Slide 22
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-vector Lalgoritmo
scelto del framework ACO AntNet 22
Slide 23
AntNet 23 Calaon Leonardo
Slide 24
AntNet Algoritmo di Routing ACO. Definizione di due tipi di
agenti: Forward Ant Backward Ant Comunicazione indiretta tramite
stigmergia Utilizzo 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."AntNet: Distributed
Stigmergetic Control for Communications Networks"(JAIR) 24
Slide 25
Strutture dati Routing Table Modello statistico Media Varianza
d1 Media Varianza d2 Media Varianza d3 P11 P21 P31 P12 P22 P32 P13
P23 P33 Porte Destinazioni 25
Slide 26
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.
26
Slide 27
Forward Ant Tempo di viaggioPorta di uscita Stack 27
Slide 28
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? 28
Slide 29
Backward Ant Arrivata a destinazione la Foward Ant passa i suoi
dati alla Backward Ant e muore. Nodo d 29
Slide 30
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. 30
Slide 31
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 31
Slide 32
Routing Table Incremento la probabilit di inoltrare a f per
spedire a d: Decremento per normalizzazione le rimanenti: 32
Slide 33
Implementazione e dimostrazione 33 Dissegna Moreno
Slide 34
Implementazione Obiettivi Sistema per comparare AntNet con
altri algoritmi di routing Funzionalit necessarie Disponibilit di
topologie di rete reali Simulazione preferibilmente in tempo reale
Possibilit di regolare il carico della rete Raccolta misure di
performance Interfaccia grafica con visualizzazione intuitiva ed in
tempo reale di Congestione Traffico Tabelle di routing Statistiche
34
Slide 35
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 35
Slide 36
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 sistema Schedulare nuovi eventi
Implementazione Simulazione ad eventi discreti 36
Slide 37
Implementazione Simulazione ad eventi discreti 37
Slide 38
Implementazione Simulazione ad eventi discreti 38
Slide 39
Dimostrazione Avvia AntNetSim 39
Slide 40
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)
40
Slide 41
Performance e improvements 41 Boscato Luca
Slide 42
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 42
Slide 43
Topologie di rete (1) Simple Net Rete con 8 nodi e 9 link Banda
10 Mbit/s Latenza 1ms 43
Slide 44
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 44
Slide 45
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) 45
Slide 46
Topologie di rete (4) Altre topologie 46
Slide 47
Throughput vs congestion level Quando il livello di congestione
basso, Distance Vector garantisce performance migliori.
Allaumentare del livello di congestione, AntNet il migliore Alla
congestione massima, i due algoritmi tornano allo stesso gap
inizale, in favore per per AntNet 47
Slide 48
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 48
Slide 49
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 49
Slide 50
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 50
Slide 51
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) 51
Slide 52
AntNet Improvement Super-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
clusters o Ant -> routing interno al cluster Risultato: o Minor
overhead o Delay inferiore per le lunghe tratte 52
Slide 53
AntNet Improvement Unaltra limitazione di AntNet sta nel tasso
di generazione dei pacchetti (ant) In una rete con N nodi, il
numero di pacchetti in circolo dellordine 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) 53
Slide 54
AntNet Improvement Load Balance In AntNet il tasso di
generazione fisso o Un tasso di generazione alto permette
statistiche ben aggiornate o 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
dellinterfaccia del nodo oltrepassa tale soglia, si obbliga a
re-instradare i pacchetti 54
Slide 55
AntNet Improvement Le reti di nuova generazione devono
supportare traffico di vario tipo: o Voice o Data o Broadcast o...
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)
55
Slide 56
AntNet Improvement QoS Vengono identificati 4 possibili classi
di traffico: o VoIP o Bandwidth Guaranteed o VPN o Best Effort Per
ogni classe di traffico un diverso agente (ant) Lopera mostra dei
buoni miglioramenti per quanto riguarda la QoS, tuttavia non viene
analizzato il throughput della rete Dalle osservazioni precedenti,
si evince che luso di 4 tipi di pacchetti di routing contribuisce
notevolmente ad incrementare loverhead della rete, con un
conseguente calo del throughput 56
Slide 57
Conclusioni Il lavoro svolto ci ha permesso di confrontare un
diffuso algoritmo di routing come Distance Vector con un algoritmo
basato sullAnt 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. 57
Slide 58
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 58
Slide 59
Domande? Boscato Luca Calaon Leonardo De Zotti Giorgio Dissegna
Moreno Favaretto Alessio 59