Progetto per il corso di Intelligenza artificiale Boscato Luca

Slides:



Advertisements
Presentazioni simili
Training On Line - CONP. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Pluriennali > Nuova Richiesta Si accede alla pagina di Richiesta.
Advertisements

Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
1 Tutto su liceoclassicojesi.it 1° Incontro sulla gestione di liceoclassicojesi.it.
Le distribuzioni di probabilità continue
1 MeDeC - Centro Demoscopico Metropolitano Provincia di Bologna - per Valutazione su alcuni servizi erogati nel.
TAV.1 Foto n.1 Foto n.2 SCALINATA DI ACCESSO ALL’EREMO DI SANTA CATERINA DEL SASSO DALLA CORTE DELLE CASCINE DEL QUIQUIO Foto n.3 Foto n.4.
1 Pregnana Milanese Assessorato alle Risorse Economiche Bilancio Preventivo P R O P O S T A.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Frontespizio Economia Monetaria Anno Accademico
1 la competenza alfabetica della popolazione italiana CEDE distribuzione percentuale per livelli.
1 Tavolo del Patto per la crescita intelligente, sostenibile e inclusiva Il ricorso agli ammortizzatori sociali nei territori colpiti dagli eventi sismici.
Training On Line – CONA. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Annuali > Nuova Richiesta Si accede alla pagina di Richiesta.
Ant colony optimization (ACO)
AntNET Sim Boscato Luca Calaon Leonardo Dissegna Moreno
IMPLEMENTAZIONE E DIMOSTRAZIONE Moreno Dissegna. Implementazione Obiettivi Sistema per comparare AntNet con altri algoritmi di routing Funzionalità necessarie.
Progetto per il corso di Intelligenza artificiale Boscato Luca
Lez. 3 - Gli Indici di VARIABILITA’
Evolvere robot stigmergici in Evorobot*
1 Innovazione dal punto di vista strategico Francesco Berri Medical Director ASTELLAS PHARMA SpA Bologna 10 Giugno 2011.
Routing Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
L’elasticità e le sue applicazioni
1 Facoltà di Economia U niversità degli Studi di Parma Corso di Economia Industriale Cap. 13 Anno Accademico
Implementazione dell algortimo di Viterbi attraverso la soluzione del problema di cammino mi- nimo tramite software specifico. Università degli studi di.
EIE 0607 III / 1 A B P a = 30 P b = 35 t = 2, tc = 1 Questo può essere un equilibrio? No! Politiche di un paese importatore: una tariffa allimportazione.
Il Surplus Del Consumatore e del Produttore
Obiettivi del corso di Statistica Medica.
Algoritmo di Ford-Fulkerson
Programmazione 1 9CFU – TANTE ore
Corso di Informatica (Programmazione)
Ufficio Studi UNIONCAMERE TOSCANA 1 Presentazione di Riccardo Perugi Ufficio Studi UNIONCAMERE TOSCANA Firenze, 19 dicembre 2000.
Realizzazione e caratterizzazione di una semplice rete neurale per la separazione di due campioni di eventi Vincenzo Izzo.
CONTROLLO DI SUPPLY CHAIN MEDIANTE TECNICHE H-INFINITO E NEGOZIAZIONE
I lavoratori italiani e la formazione UNA RICERCA QUANTITATIVA SVOLTA DA ASTRA, IN COLLABORAZIONE CON DOXA, PER ANES (febbraio 2005)
Master universitario di II livello in Ingegneria delle Infrastrutture e dei Sistemi Ferroviari Anno Accademico 2012/2013 Cultura dimpresa, valutazione.
La partita è molto combattuta perché le due squadre tentano di vincere fino all'ultimo minuto. Era l'ultima giornata del campionato e il risultato era.
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Scritte scritte scritte scritte scritte scritte scritte Scritte scritte Titolo.
Concetti introduttivi
Reti di Calcolatori IL LIVELLO RETE.
CALCIO SKY 2007 – 2008 PROFILO DI ASCOLTO. 2 INDICE DEGLI ARGOMENTI Profilo di ascolto CALCIO SERIE A 2007 – 2008 Totale campionato (tutte le partite)……………………………………………….
Lezione 6 Encoder ottici
Architettura e protocolli di distribuzione dello stato in videogiochi Multiplayer distribuiti Michele Pace Esame di Reti di Calcolatori LS Aa
Contatore: esempio di circuito sequenziale
CHARGE PUMP Principio di Funzionamento
Velocità ed accelerazione
2 3 4 RISERVATEZZA INTEGRITA DISPONIBILITA 5 6.
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
Elementi di Informatica di base
Scheda Ente Ente Privato Ente Pubblico. 2ROL - Richieste On Line.
UNIVERSITA’ DEGLI STUDI DI GENOVA
TECNOLOGIE DELLINFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica.
1 Guida per linsegnamento nei corsi per il conseguimento del CERTIFICATO DI IDONEITÀ ALLA GUIDA DEL CICLOMOTORE.
Bando Arti Sceniche. Per poter procedere è indispensabile aprire il testo del Bando 2ROL - Richieste On Line.
LE SAI LE TABELLINE? Mettiti alla prova!.
Il modello di riferimento OSI
1 Questionario di soddisfazione del servizio scolastico Anno scolastico 2011/2012 Istogramma- risposte famiglie.
Un trucchetto di Moltiplicazione per il calcolo mentale
21 marzo 2002 (ri-)Avvisi: Giovedi 28 marzo la lezione e sospesa. Nuovo indirizzo di Spedire messaggi e esercizi solo.
Project Management La programmazione della produzione Ing
Sviluppare un programma in C che, dato un array da 100 elementi interi caricato con numeri casuali compresi tra [10,100], sia in grado di cercare il valore.
Luca Bonini Dipartimento ricerca e sviluppo IUFFP Lugano
Applicazioni di intelligenza artificiale LS Manni Tiziano
NO WASTE Progetto continuità scuola primaria scuola secondaria Salorno a.s. 2013_
Il numero più grande Accademia dei Lincei
TRASFORMATA DI FOURIER
1 PerfectFit06 Sistema di personalizzazione dei contenuti per gli scavi archeologici di Ercolano Candidato: Vincenzo Scognamiglio Relatore: Prof. Ernesto.
A.P. cat. B - 1 Per chi vuole: Libro di testo D.P. Curtis, K. Foley, K. Sen, C. Morin Informatica di base 2° edizione Mc Graw-Hill Companies.
USR-INRiM-GMEE-CE.SE.DI Formazione&Metrologia Modulo 1 1 Modulo 1 Costruzione di un linguaggio comune Preparazione liste dei termini. Condivisione.
IL GIOCO DEL PORTIERE CASISTICA. Caso n. 1 Il portiere nella seguente azione NON commette infrazioni.
Routing Overview Routing Protocol: protocollo di costruzione delle tavole di routing nei router. Routed Protocol: protocollo di instradamento dei messaggi,
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
Transcript della presentazione:

AntNet : Routing Algorithm for Data Network based on Swarm Intelligence technique Progetto per il corso di Intelligenza artificiale Boscato Luca Calaon Leonardo De Zotti Giorgio Dissegna Moreno Favaretto Alessio Docente: Silvana Badaloni

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

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.

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

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

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

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

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

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

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à

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

Ant Colony Optimization e Routing De Zotti Giorgio Ant Colony Optimization e Routing

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

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 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 VS Centralizzato Statico Shortest path Distribuito Adattabile Optimal VS VS

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

Calaon Leonardo AntNet

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.

Strutture dati Modello statistico Routing Table Porte Destinazioni Media Varianza d2 d3 Destinazioni Destinazioni

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 Decremento per normalizzazione le rimanenti: Incremento la probabilità di inoltrare a f per spedire a d: Decremento per normalizzazione le rimanenti:

Implementazione e dimostrazione Dissegna Moreno Implementazione e dimostrazione

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

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

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

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 e improvements Boscato Luca Performance e improvements

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. NTT NSF Su reti diverse, il comportamento dei due algoritmi è lo stesso.

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

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

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

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

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)

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

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à

Domande? Boscato Luca Calaon Leonardo De Zotti Giorgio Dissegna Moreno Favaretto Alessio