Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoOrnella Toscano Modificato 11 anni fa
1
AntNet : Routing Algorithm for Data Network based on Swarm Intelligence technique
Progetto per il corso di Intelligenza artificiale Boscato Luca Calaon Leonardo Dissegna Moreno De Zotti Giorgio Favaretto Alessio Docente: Silvana Badaloni
2
Outline Ant Colony Optimization ACO Algoritmi Implementazione
Introduzione Swarm Intelligence Algoritmi basati su SI PSO Ant Colony Optimization ACO Strategia Euristiche Routing Algoritmi AntNet Strutture dati Ants Implementazione Obiettivi e Strategie Simulatore ad Eventi Dimostrazione Performance Reti di test e Risultati Miglioramenti Conclusioni
3
Swarm Intelligence (1/2)
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.
4
Swarm Intelligence (2/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
5
Stigmetria 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
6
Feedback Feedback positivo
Fenomeno 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 negativo Fenomeno opposto, ovvero zone poco marcate dell’ambiente tendono ad essere tralasciate dagli individui della popolazione, portando all’impoverimento di una soluzione
7
Algoritmi basati su SI (1/2)
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
8
Algoritmi basati su SI (2/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
9
Particle swarm Optimization (1/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
10
Particle swarm Optimization (2/2)
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à
11
Applicazioni 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
12
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
Ant colony optimization (ACO)
Si ispira al comportamento delle colonie di formiche: non sono dotate di un’intelligenza collettiva ogni 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)
14
Esempio: funzionamento del feromone
15
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
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.
17
Vantaggi e applicazioni
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.
18
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.
19
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;
20
Costruzione Tabella di Routing
VS Centralizzato Statico Shortest path Distribuito Adattabile Optimal VS VS
21
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 L’algoritmo scelto del framework ACO è AntNet
22
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 , 1998.
23
Strutture dati Modello statistico Routing Table Porte Destinazioni
Media Varianza d2 d3 Destinazioni Destinazioni
24
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.
25
Forward Ant Tempo di viaggio Porta di uscita Stack
26
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?
27
Backward Ant Arrivata a destinazione la Foward Ant passa i suoi dati alla Backward Ant e muore. Nodo d
28
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.
29
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
30
Routing Table Decremento per normalizzazione le rimanenti:
Incremento la probabilità di inoltrare a f per spedire a d: Decremento per normalizzazione le rimanenti:
31
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
32
Implementazione Scelte
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
33
Implementazione Simulazione ad eventi discreti
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
34
Implementazione Simulazione ad eventi discreti
35
Implementazione Simulazione ad eventi discreti
36
Dimostrazione Avvia AntNetSim
37
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)
38
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
39
Topologie di rete (1) Simple Net
Rete con 8 nodi e 9 link Banda 10 Mbit/s Latenza 1ms
40
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
41
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)
42
Topologie di rete (4) Altre topologie
43
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
44
Throughput vs time Il livello di congestione aumenta con il passare del tempo. NTT NSF Su reti diverse, il comportamento dei due algoritmi è lo stesso.
45
NTT Performance Il livello di congestione viene aumentato bruscamente
AntNet risponde in modo più rapido Le performance di AntNet diminuiscono in modo lineare AntNet AntNet vs DV Distance Vector
46
NSF Performance Il livello di congestione aumenta con il passare del tempo Anche per questa rete AntNet è più performante AntNet AntNet vs DV Distance Vector
47
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)
48
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: Super-Ant -> routing tra i clusters Ant -> routing interno al cluster Risultato: Minor overhead Delay inferiore per le lunghe tratte
49
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)
50
AntNet Improvement Load Balance
In AntNet il tasso di generazione è fisso Un tasso di generazione alto permette statistiche ben aggiornate 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
51
AntNet Improvement Le reti di nuova generazione devono supportare traffico di vario tipo: Voice Data Broadcast ... 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)
52
AntNet Improvement QoS
Vengono identificati 4 possibili classi di traffico: VoIP Bandwidth Guaranteed VPN 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
53
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.
54
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à
55
Domande??? Fine Boscato Luca Calaon Leonardo Dissegna Moreno
De Zotti Giorgio Favaretto Alessio
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.