Validation and analysis of mobility models

608 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
608
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Validation and analysis of mobility models

  1. 1. Facoltà di Ingegneria Corso di laurea in Ingegneria Informatica Tesi di laurea Magistrale in Ingegneria InformaticaValidation and analysis of mobility models Relatore Candidato Prof. Luca Becchetti Umberto Griffo Correlatore Prof. Leonardo Querzoni A/A 2011/2012
  2. 2. IndiceIntroduzione ..................................................................................................... 4User Mobility.................................................................................................... 8 1.1 Tecnologie................................................................................................................. 9 1.2 Tracce di mobilità .................................................................................................. 12 1.2.1 CRAWDAD ................................................................................................... 13 1.2.2 SocioPattern ................................................................................................... 14 1.2.3 SocialDIS ........................................................................................................ 17 1.2.4 MACRO.......................................................................................................... 20Mobility Models ............................................................................................. 27 2.1 Individual mobility models .................................................................................. 29 2.1.1 Random Walk (RW)...................................................................................... 29 2.1.2 Random Waypoint (RWP) ........................................................................... 30 2.1.3 Random Direction (RD) .............................................................................. 32 2.1.4 Truncated Lèvi Walk (TLW) ....................................................................... 33 2.1.5 Boundless Simulation Area (BD) ............................................................... 34 2.1.6 Gauss-Markov (GM) .................................................................................... 36 2.1.7 Probabilistic Random Walk (PRW)............................................................ 38 2.1.8 Weighted Waypoint (WW) .......................................................................... 40 2.2 Group mobility models ........................................................................................ 41 2.2.1 Exponential Correlated Random ................................................................ 41 2.2.2 Column ........................................................................................................... 41 2.2.3 Nomadic Community ................................................................................... 42 2.2.4 Pursue .............................................................................................................. 42 2.2.5 Reference Point Group (RPG) ................................................................... 43Grafi dinamici................................................................................................. 44 3.1 Definizione del grafo dinamico dei contatti ...................................................... 44 3.2 Definizione del grafo aggregato dei contatti ..................................................... 47 3.3 Indicatori statistici/metriche................................................................................ 47 3.3.1 Indicatori/metriche su grafo aggregato ..................................................... 47 3.3.2 Indicatori/metriche su grafo dinamico ..................................................... 51 2
  3. 3. 3.4 Rappresentazioni di grafi dinamici...................................................................... 55 3.4.1 Graph Exchange XML Format (GEXF) .................................................. 56 3.4.2 Dynamic Network Format (DNF) ............................................................. 57Sistema per lanalisi di grafi dinamici............................................................. 64 4.1 Gephi Platform ...................................................................................................... 64 4.1.1 Gephi Dynamic API ..................................................................................... 67 4.2 DNF Dynamic ....................................................................................................... 68 4.3 DNF Importer ....................................................................................................... 71 4.4 Mobility Model Generator ................................................................................... 72 4.4.1 Mobility Simulator......................................................................................... 72 4.4.2 Random Waypoint Mobility Model Generator ........................................ 73 4.4.3 Truncated Lèvi Walk Mobility Model Generator .................................... 74 4.5 Indicatori statistici/Metriche ............................................................................... 76 4.5.1 Weighted Clustering Coefficient e Strength ............................................. 76 4.5.2 Flooding time ................................................................................................. 77 4.5.3 Inter-contact time ed Intra-contact time ................................................... 79 4.5.4 Conditional probability Distribution of links existence ......................... 80 4.5.5 Links existence variability ........................................................................... 80 4.5.6 Pearson correlation matrix........................................................................... 81 4.6 Ulteriori script e riferimenti ................................................................................. 83Validazione sperimentale dei modelli di mobilità .......................................... 84 5.1 Comparazione con i dati dellesperimento SocialDIS ..................................... 86 5.1.1 Modelli nella loro formulazione originaria ................................................ 86 5.1.2 Modelli con aree di simulazione scalate di un fattore 10 ...................... 103 5.2 Comparazione con i dati dellesperimento MACRO ..................................... 116 5.2.1 Modelli nella loro formulazione originaria .............................................. 116 5.2.2 Modelli con aree di simulazione scalate di un fattore 10 ...................... 130 5.3 Sintesi dei risultati ottenuti ................................................................................. 141Conclusioni .................................................................................................. 143 6.1 Proposte di sviluppo future ............................................................................... 144Bibliografia ................................................................................................... 147 3
  4. 4. Introduzione I modelli di mobilità riproducono i movimenti di utenti mobili assegnando aciascuno di essi una posizione, una velocità ed unaccelerazione che cambiano neltempo. Nel lavoro svolto in questa tesi è stata condotta unestesa analisi statisticavolta a indagare lefficacia di due importanti modelli di mobilità nel riprodurre ilcomportamento di tracce reali. A tale scopo è stato fatto uso di tracce di mobilitàraccolte in due esperimenti sociali svolti in due differenti contesti: lesperimentoSocialDIS, svoltosi a partire dal 17/10/2011 al primo piano del Dipartimento diIngegneria informatica automatica e gestionale Antonio Ruberti della SapienzaUniversità di Roma, e lesperimento NeonMACRO, effettuato il 20 Giugno 2012, inoccasione della mostra darte NEON, presso il museo darte contemporanea di RomaMACRO. Tramite una piattaforma RFID-based sono stati tracciati i contatti diprossimità tra persone in entrambi gli esperimenti. A partire da questi dati, sono staticostruiti dei grafi dinamici che descrivono levoluzione temporale delle interazionisociali tra individui, usando un formalismo che consente di memorizzarli piùefficientemente di quanto fosse possibile in passato. Tale formalismo, ideato esviluppato in questo lavoro, permette una rappresentazione notevolmente compattaed efficiente in termini di occupazione di memoria e manipolabilità. Per analizzare lefficacia dei modelli nel riprodurre tracce compatibili con ilreale comportamento di agenti mobili, si sono analizzati e confrontati i grafi dinamici,ottenuti a partire dagli esperimenti sociali sopra citati, con quelli generati a partire daimodelli di mobilità Random Waypoint e Truncated Lévy Walk. A tal fine sono statisviluppati diversi moduli software basati sul framework Gephi [11] (http://gephi.org),in particolare per:  simulare la dinamicità temporale del grafo dei contatti con elevate prestazioni, in termini di tempo di calcolo e quantità di memoria allocata;  importare nella piattaforma Gephi grafi che adottano il nuovo formalismo di memorizzazione; 4
  5. 5.  generare grafi dinamici a partire dal Random Waypoint Mobility Model e dal Truncated Lévy Walk Mobility Model;  misurare le proprietà statiche (Graph Density, Cluster Coefficient, Weighted Clustering Coefficient, Strength, Modularity) e dinamiche (Inter-Intra Contact Time, Conditional probability of links existence, Links existence variability, Matrix correlation) dei grafi dinamici da confrontare. I grafi dinamici costruiti sono stati analizzati sia in forma aggregata che informa dinamica, rispettivamente aggregando le interazioni a distanza ravvicinata perintervalli di tempo che vanno dalle 2 ore (nel caso NeonMACRO) alle 12 ore (nelcaso SocialDIS), e valutando levoluzione dei contatti secondo per secondo. Le prime analisi condotte mostrano che nel caso SocialDIS tipicamente gliindividui hanno contatti di prossimità prevalentemente con altri individui con cuihanno stretto un legame damicizia e raramente con altri individui sconosciuti,mentre nel caso NeonMACRO le persone tendono a comunicare soprattutto conquelle che appartengono alla stessa comitiva e sporadicamente con tutte le altre. Questo comportamento tipico degli individui, riscontrato negli esperimenti,non viene catturato dai modelli di mobilità RWP e TLW i quali sono statiopportunamente configurati per riprodurre in modo realistico il movimento dellepersone nei due differenti contesti. In particolare, una differenza fondamentaleemerge confrontando i risultati forniti dalle metriche statiche applicabili sui grafiaggregati e dalle metriche dinamiche applicabili su quelli non aggregati. Gli agenti chesi muovono secondo questi due modelli di mobilità tendono a comunicare con quasitutti gli altri agenti e tendono a produrre intervalli tra contatti successivi chemediamente risultano eccessivamente lunghi.Successivamente si sono investigate importanti differenze temporali indotte daimodelli e presenti anche nelle tracce reali. I modelli RWP e TLW mostrano inoltresignificative correlazioni spaziali tra contatti distinti, sia simulando quanto avviene inSocialDIS che nel NeonMacro. Analizzando gli schemi delle comunicazioni inSocialDIS si è riscontrato che la correlazione spaziale tra contatti distinti risultaessere esigua, mentre risulta essere leggermente maggiore in NeonMACRO.Infine, attraverso limplementazione di un semplice protocollo di flooding si sonoinvestigate le proprietà diffusive dei grafi prodotti dalle tracce reali e le si sono 5
  6. 6. confrontate con quelle dei modelli. E stato appurato che entrambi i modelli, proprioper il fatto di generare un elevato numero di comunicazioni che coinvolgono quasitutti gli individui, falliscono nel rappresentare il comportamento diffusivo mostratodagli esperimenti SocialDIS e NeonMACRO. La totalità dei risultati statistici diquesto studio hanno permesso di chiarire quali sono i limiti dei modelli di mobilitàadottati nella sperimentazione, almeno nel tipo di scenari considerati, in modo dacomprendere quali possano essere le modifiche da apportare per ottenere dei modellipiù realistici.La tesi è strutturata come segue:  Capitolo 1: vengono illustrate quali tecnologie consentono la raccolta di tracce di mobilità nei casi reali, le più recenti tracce di mobilità collezionate e rese disponibili dal mondo accademico e quelle invece ottenute dagli esperimenti che sono stati condotti nellambito del lavoro di tesi.   Capitolo 2: viene data la definizione dei dataset sintetici e i modelli di mobilità, fornendo di questi ultimi una classificazione e successivamente illustrando quelli più usati per riprodurre il comportamento di dispositivi mobili in reti ad hoc.   Capitolo 3: viene data la definizione dei grafi dinamici dei contatti e come possono essere costruiti a partire dai dati collezionati nei casi reali e da quelli ottenuti nei casi simulati con i modelli di mobilità adottati. In seguito vengono definiti gli indicatori statistici/metriche che sono stati implementati per poter condurre lanalisi statistica (trattata nel Capitolo 5), le limitazioni del formato attualmente più utilizzato per la scrittura di grafi dinamici su file e il nuovo formato che è stato ideato per superarle.   Capitolo 4: vengono presentati i moduli software sviluppati sulla piattaforma Gephi con lo scopo di simulare la dinamicità temporale del grafo dei contatti, importare grafi dinamici memorizzati secondo un nuovo formalismo, generare grafi dinamici a partire dai modelli di mobilità e calcolare gli indicatori statistici/metriche. 6
  7. 7.  Capitolo 5: vengono illustrati e motivati i risultati dellanalisi e validazione sperimentale condotta confrontando i comportamenti degli individui tracciati negli esperimenti SocialDIS e NeonMACRO, con i comportamenti degli individui i cui movimenti sono stati dettati dai modelli di mobilità Random Waypoint e Truncated Lévy Walk. Capitolo 6: vengono presentate le considerazioni finali e i possibili sviluppi futuri. 7
  8. 8. Capitolo 1User MobilityLa crescente diffusione e popolarità di dispositivi equipaggiati con interfacce di retewireless, come ad esempio gli smartphone di ultima generazione, rende possibilecollezionare nuove sorgenti dati, che descrivono il movimento e comportamento diindividui nei più disparati ambienti e contesti. Laccesso a tali collezioni di dati,permette di investigare sulle interazioni delle reti sociali e sullevoluzione di processidinamici, come la diffusione di uninformazione, la formazione di unopinione, o unprocesso epidemico. Esistono due tipi di data set usati per valutare processi e protocolli applicabilialle reti mobili: dataset empirici (o Empirical dataset), collezionati catturando i dati daicomportamenti reali dei dispositivi mobili, ovvero memorizzando le reali tracce dimobilità dei dispositivi mobili, o dataset sintetici (o Synthetic dataset), creati usando imodelli di mobilità, che provano a riprodurre il comportamento dei dispositivi mobilisenza usare tracce di mobilità reali. I dati provenienti dal mondo reale consentono di capire gli schemi dicomportamento che gli esseri umani adottano nelle loro attività. Quando si voglionocollezionare tali dati, le caratteristiche che interessa conoscere sono: posizione,direzione, velocità e tempo di pausa. Esistono diverse tecnologie che permettono diottenere dati accurati sulle posizioni dei dispositivi, come i sensori GPS-based oRadio-based, ed esistono gli accelerometri per catturare i valori di velocità, direzionee tempo di pausa. Queste tecnologie possono essere classificate in base a quanto accuratamenteriescono ad individuare la posizione di un dispositivo. Ad esempio utilizzando le reticellulari GSM/UMTS, la posizione dellutente può essere determinata tramite varietecniche che permettono la sua localizzazione con un errore di massimo 50-150m,mentre con le tecnologie GPS, si arriva ad un errore massimo di 10-100m. 8
  9. 9. Esiste un approccio alternativo per collezionare dati sui movimenti degliindividui, basato solo sulla raccolta dei contatti che avvengono tra di loro. Vengonodunque raccolte le tracce dei contatti al posto delle tracce di mobilità, omettendo tuttii dati relativi a posizione, direzione, velocità e tempi di pausa, in modo da simularesolo le comunicazioni tra dispositivi. Per quanto concerne il lavoro svolto in questa tesi, è trovato interessantequesto secondo approccio, ovvero collezionare dati generati da reti dinamiche dicontatti (o dynamic contact network), ossia grafi che rappresentano le interazioniface-to-face o di prossimità tra individui. Catturando trace di mobilità, basate suicontatti reali, si possono osservare i veri comportamenti di tali individui. Nei prossimi sottoparagrafi saranno illustrate, quali tecnologie consentono laraccolta di tracce di mobilità nei casi reali, le più recenti tracce di mobilità raccolte erese disponibili dal mondo accademico e quelle invece ottenute dagli esperimenti chesono stati condotti nellambito del lavoro di tesi.1.1 TecnologieCollezionare dataset realistici e di grandi dimensioni su attività e interazioni umane èun processo difficile e costoso. Al fine di costruire dataset empirici, ossia tracciare icomportamenti umani, sono stati usati dispositivi mobili cellulari o smartphone,laptop con schede di rete wireless e sensori wireless (ad esempio iMote), utilizzandoreti di comunicazione di tipo Bluetooth e WiFi [30],[31],[32]. Luso delle reti WiFi risulta essere, come dimostrato negli esperimenticondotti dallUniversità di Dartmouth [33] e da quella di San Diego [41] , inaccuratonel costruire tracce di mobilità realistiche tra dispositivi mobili. Utilizzando latecnologia WiFi i dati sulle interazioni device-to-device vengono raccolti assumendoche i dispositivi mobili, che entrano nel raggio di comunicazione dello stesso AP(access point), possono comunicare direttamente tra di loro, ossia i contatti vengonoregistrati al tempo in cui i due dispositivi condividono lo stesso AP. Sfortunatamente, questa assunzione non è realistica, perché due dispositivicollegati allo stesso access point non è detto che siano uno nel raggio di coperturadellaltro, e viceversa, possono essere nei rispettivi raggi di copertura e noncondividere lo stesso AP. In questultimo caso linterazione non viene registratarendendo i dati raccolti poco realistici. 9
  10. 10. Inoltre unaltra problematica relativa alla tecnologia Wifi consiste nel fattoche i dispositivi non sono sempre situati nello stesso punto dove si trova ilproprietario, pertanto i dati ottenuti non esprimono sempre i comportamenti dimobilità degli individui. La tecnologia Bluetooth, utilizzata nellesperimento [34]condotto presso luniversità di Toronto, dove le tracce di mobilità sono statecollezionate da 20 cellulari distribuiti a gruppi di studenti, permette di collezionarecontatti senza che i dispositivi debbano essere nel raggio di comunicazione dellAP,ma allo stesso tempo richiede che il cellulare sia trasportato dai soggetti e che essoabbia una batteria con unautonomia sufficiente per la durata dellintero esperimento. Se i cellulari vengono ricaricati, si possono condurre lunghi esperimenti, maovviamente per essere ricaricato, il cellulare deve essere fermo e probabilmentedistante dal proprietario, ottenendo la stessa problematica illustrata per il caso WiFi.Tracce di mobilità sono state collezionate anche con luso di sensori Intel iMote,utilizzando sempre la tecnologia Bluetooth. Essi registrano un contatto quando un dispositivo Bluetooth qualsiasi (sia unaltro iMote che un PDA) entra nel suo raggio di copertura. Tramite questa tecnologiasono state raccolte tracce di mobilità in contesti differenti [30], ad esempio durante laconferenza IEEE INFOCOM 2005 di Miami [48], dove 41 iMote sono statitrasportati dai partecipanti per 3 giorni, o presso un laboratorio di ricerca dellaUniversità di Cambrige, dove sono stati registrati i comportamenti e le tracce dimobilità di 12 studenti di dottorato. Utilizzando le tecnologie Bluetooth e Wifi si possono raccogliere dati cherivelano proprietà strutturali e temporali di schemi di comportamento sociali, maoltre che per i problemi già illustrati, queste tecnologie non sono adatte a rilevarecontatti di prossimità (o face-to face) tra dispositivi, dal momento che possiedonouna risoluzione spaziale massima di 10 metri e temporale di 2-5 minuti che non cipermette di stabilire se due individui comunicano uno di fronte allaltro a distanzaravvicinata (ad esempio 1 metro). Tali limitazioni possono essere superate attraverso luso dei dispositivi RFID(Radio Frequency Identification) [35],[65] RFID, una tecnologia per lidentificazioneautomatica di oggetti, animali o persone, basata sulla capacità di memorizzazione didati da parte di particolari dispositivi elettronici (detti tag o transponder) e sullacapacità di questi di rispondere "allinterrogazione" a distanza, da parte di appositi 10
  11. 11. apparati fissi o portatili chiamati reader a radiofrequenza, comunicando (oaggiornando) le informazioni in essi contenute. I tag RFID sono dei dispositivi dalle piccole dimensioni, facilmenteindossabili da individui, che permettono di stabilire con accuratezza se questi sono inprossimità luno dellaltro. Questo perché i dispositivi possono scambiarsi pacchettiradio a bassa frequenza solo quando due persone si trovano ad una distanza che vada 1 a 1.5 m e sono una di fronte allaltra, in quanto il corpo umano costituisce unabarriera a radio frequenze per la frequenza portante usata per la comunicazione. In tale contesto, la tecnologia RFID è stata adottata ed utilizzata dallapiattaforma SocioPatterns (http://www.sociopatterns.org) [36], un framework sperimentaleRFID-based che permette di raccogliere dati sulle interazioni face-to-face traindividui che interagiscono a distanza ravvicinata. Durante gli esperimentiSocioPatterns [37],[38],[39],[40] i partecipanti indossano dei piccoli tag RFID. Quando gli individui indossano i tag continuamente vengono inviati pacchettidati in broadcast. Quando una relazione di prossimità (o contatto) viene rilevata, ildispositivo invia un messaggio ad alta potenza. Questo pacchetto dati contiene untime stamp, lid della stazione (RFID reader) che lo ha ricevuto e lid dei tag chehanno partecipato nellinterazione. Il messaggio ricevuto dagli RFID reader,posizionati in modo fisso nellambiente, viene memorizzano localmente dal reader edinoltrato ad un server centrale tramite rete LAN (Local Area Network), in modo daprocessare le informazioni in modalità online o offline. I tag RFID e I reader RFID usati negli esperimenti SocioPatterns, e negliesperimenti condotti nella tesi, sono stati creati ed ottenuti dal progetto OpenBeacon(http://www.openbeacon.org/). In figura 1.1 viene mostrata limmagine di un tag RFID. 11
  12. 12. Fig.1.1: Viene mostrato come si presenta un tag RFID.1.2 Tracce di mobilitàStudiare le interazioni sociali di prossimità e gli schemi di comportamento traindividui, analizzando tracce di mobilità reali, permette di fare luce su diversifenomeni studiati in varie aree di ricerca. A tal fine può risultare utile analizzarecollezioni di dati raccolte e rese disponibili dal mondo accademico, oppure, come èstato fatto nel lavoro di tesi, condurre esperimenti dove vengono collezionate traccedi contatti utilizzando una piattaforma RFID-based. Nei prossimi quattro sottoparagrafi saranno illustrati rispettivamente, i datasets forniti dalla Community Resource for Archiving Wireless Data di Dartmouth(CRAWDAD) [43], i data sets raccolti durante gli esperimenti SocioPatterns [36], i daticollezionati nel progetto SocialDIS [44] presso il Dipartimento di Ingegneriainformatica automatica e gestionale Antonio Ruberti della Sapienza Università diRoma, e quelli ottenuti nel progetto MACRO [45] svoltosi presso il museo dartecontemporanea di Roma MACRO. Questi ultimi due data set sono stati collezionatiutilizzando i dispositivi ottenuti dal progetto OpenBeacon (http://www.openbeacon.org/), 12
  13. 13. in collaborazione con il Wireless Sensor Network group [46] del Dipartimento diIngegneria informatica automatica e gestionale Antonio Ruberti della SapienzaUniversità di Roma.1.2.1 CRAWDADLa Community Resource for Archiving Wireless Data di Dartmouth (CRAWDAD) [43] èun gruppo di ricerca, che ha costruito un repository (raggiungibile al seguente sitohttp://crawdad.cs.dartmouth.edu/data.php), dove vengono fornite trace di mobilitàa chiunque lavori nellambito delle reti wireless o con dispositivi mobili.Questa raccolta contiene decine di dataset, ma solo quelli che descriveremoraccolgono tracce di contatti, utili per lanalisi della mobilità di individui.Cambridge/HaggleNellarticolo [48] è stato descritto un esperimento che ha coinvolto 41 partecipantipresso la conferenza INFOCOM 2005 a Miami. Nello studio è stato mostrato che ledistribuzioni degli intervalli di tempo durante il quali due nodi possono comunicare,hanno un andamento di tipo power-law. Per collezionare le tracce di contatti è statautilizzata la tecnologia Bluetooth, di cui sono forniti i dispositivi Intel iMote. Tali dispositivi, costituiti da un processore ARM, una radio Bluetooth e unamemoria flash, sono stati confezionati e distribuiti a volontari, che si sono impegnatia trasportarli durante il loro spostamenti per tutta la durata della conferenza. Letracce dei contatti degli individui sono state collezionate eseguendo la procedura diinquiry, ossia lidentificazione, da parte di un dispositivo, dei vicini che si trovano nelsuo raggio di copertura. Lo stato di inquiry dura cinque secondi, dopo i quali il dispositivo entra inmodalità standby per 120 secondi, più ±12 secondi, valore scelto estraendo unnumero casuale da una distribuzione uniforme. Il numero di secondi casuali serve adevitare che due dispositivi possano eseguire linquiry simultaneamente senza riuscire avedersi luno con laltro. Quando viene rilevato un contatto, vengono registrati gliindirizzi MAC dei due dispositivi che hanno comunicato, il tempo in cui avvienelinterazione e il tempo in cui la comunicazione termina. 13
  14. 14. MIT/Reality MiningNathan Eagle nellarticolo [49], per ottenere gli indirizzi MAC di cellulari Bluetoothha sviluppato lapplicazione BlueAware, un software che registra i timestamp e gliindirizzi MAC dei dispositivi che si trovano in prossimità luno dellaltro, nellospecifico di 60 cellulari con sistema operativo Symbian. Lapplicazione riceve dal dispositivo Bluedar, un cellulare posizionatonellambiente di studio che scansiona tutti i dispositivi visibili nel raggio di 25m, gliindirizzi MAC, attraverso una rete 802.11b. Lesperimento Reality Mining hacollezionato dati da 100 smartphone Nokia 6600 per nove mesi, scaricabili sia dalrepository del CRAWDAD, sia dal sito del progetto (http://reality.media.mit.edu).1.2.2 SocioPatternLa Piattaforma RFID-based SocioPatterns ha collezionato tracce di mobilità,disponibili sul sito web http://www.sociopatterns.org/dataset/, in diversi ambienti econtesti. Bisogna tenere presente, che la piattaforma SocioPatterns non effettua untracciamento delle traiettorie e delle localizzazioni spaziali accurato, ma si focalizzasul raccogliere accuratamente i contatti di prossimità tra individui, basandosi sulleproprietà topologiche e temporali della mobilità dei nodi. Questa piattaforma rileva eregistra i contatti tra nodi solo attraverso lo scambio di pacchetti dati a bassa potenza,come descritto nel paragrafo 1.2.Infectious SocioPatterns dynamic contact networks. Allesibizione scientifica Infectus: Stay Away presso la Science Gallery di Dublino,Irlanda, dal 17 aprile al 17 giugno 2009, dove hanno partecipato circa 30000visitatori, vengono mostrate opere artistiche raffiguranti i meccanismi di contagio diun virus. In questa occasione è stato collezionato un dataset contenente le retidinamiche di contatti giornaliere. Dal listato 1.1, si osserva che ciascun file è costituito da righe nella forma“𝑡 𝑖 𝑗“, dove 𝑖 e 𝑗 sono gli ID anonimi delle persone che sono entrate in contatto, elintervallo durante il quale il contatto è attivo è [ 𝑡 − 20𝑠, 𝑡 ]. Se in un datointervallo ci sono più contatti attivi, nel file verranno viste più righe che comincianocon lo stesso valore di 𝑡. Il tempo è misurato in secondi ed espresso nel formatoUNIX time. Questo dataset è la controparte dinamica della rete di contatti aggregata 14
  15. 15. giornalmente, disponibile in formato GML (Graph Modelling Language) [48], unformato di file di testo che rappresenta grafi con una sintassi veramente semplice.Nel listato 1.2 ne viene fornito un semplice esempio, dove si definisce un grafocostituito da tre nodi A, B e C collegati da due archi che collegano B ad A e C ad A.Primary school. In una scuola elementare a Lione, Francia, dal 1 al 2 Ottobre 2009, sono statiraccolti dati sulle interazioni face-to-face tra 232 bambini e 10 insegnanti distribuiti in10 aule. I dataset comprendono due reti pesate di contatti avvenuti tra studenti edinsegnati, ciascuna per ognuno dei due giorni. Ciascuna rete di contatti giornaliera ècostituita da: i nodi, che sono gli individui e gli archi, che rappresentano le interazioniface-to-face. I nodi hanno un attributo che indica la classe di appartenenza dellindividuo,ad esempio gli insegnanti hanno assegnato il valore "Teacher". Gli archi tra il nodo Ae il nodo B hanno due pesi associati: durata, che è il tempo totale per cui A e Bhanno avuto un contatto durante una singola giornata, misurato in secondi;contatore, che è il numero di volte che il contatto tra A e B è avvenuto durante unagiornata scolastica. Le reti sono scaricabili come due file GEXF (Graph Exchange XML Format,http://gexf.net/), uno per ogni giorno di raccolta. Questo formato sarà descritto inmodo più approfondito nel capitolo 3, quando verrà illustrato un nuovo formalismoideato e sviluppato nel lavoro di tesi.Hypertext 2009 dynamic contact network. Alla ventesima edizione della ACM Conference on Hypertext and Hypermedia(HT09) a Torino, dal 29 giugno al 1 luglio 2009, dove il team del SocioPatternsproject ha installato lapplicazione Live Social Semantics [39]. I partecipanti allaconferenza hanno volontariamente indossato dei radio badge che monitorano i lorocontatti di prossimità. Il dataset pubblicato sul sito del progetto, che rappresenta larete dinamica di contatti di ~110 partecipanti, è costituito da due file: Contact List: è una lista separata da tabulazioni che rappresenta i contatti attivi durati intervalli di 20 secondi. Ciascuna riga del file ha la forma “𝑡 𝑖 𝑗“, dove 𝑖 e 𝑗 sono gli ID anonimi delle persone che sono entrate in contatto, e lintervallo 15
  16. 16. durante il quale il contatto è attivo è [ 𝑡 − 20𝑠, 𝑡 ]. Se in un dato intervallo ci sono più contatti attivi, nel file verranno viste più righe che cominciano con lo steso valore di 𝑡. Il tempo è misurato in secondi ed espresso nel formato UNIX time. Contact Intervals: è un file in formato JSON (http://www.json.org/) che contiene un dizionario, dove ciascuna chiave è lID di una persona e il corrispondente valore è il dizionario dei vicini di quella persona. Il dizionario dei vicini ha una chiave con lID della persona e per ogni chiave, il valore relativo è la lista di intervalli temporali durante i quali il corrispondente contatto è attivo. Nel listato 1.3 viene mostrato un esempio.1240913019 78577671 779223211240913019 78577671 964034671240913019 77922321 964034671240913039 78577671 779223211240913039 77922321 964034671240913059 78577671 779223211240913059 77922321 964034671240913079 78577671 779223211240913079 77922321 964034671240913099 96403467 779223211240913099 96403467 785776711240913099 77922321 785776711240913179 77922321 96403467Listato.1.1: Viene mostrato un frammento del file contenente la lista di contattidinamici del 28/04/2009, collezionati durante lesibisione Infectus: Stay Away.graph[ node [ id A ] node [ id B ] node [ id C ] edge [ 16
  17. 17. source B target A ] edge [ source C target A ]]Listato.1.2: Questo semplice codice mostra come definire un grafo di tre nodi e duearchi."1144": { "1336": [[203800, 203820]], "1214": [[192300, 192320], [192400, 192420], [192500, 192600], "1215": [[207600, 207620]], "1155": [[181620, 181640]], "1204": [[194040, 194060]], "1149": [[44920, 44940], [54840, 54860], [86680, 86700 [88360, 88380]], "1228": [[100680, 100700]], "1191": [[195320, 195340]], "1360": [[106560, 106580], [106620, 106700], [146640, 146660]] },Listato.1.3: Esempio rappresentazione di grafo dinamico tramite il formato JSON.1144 è la chiave che identifica una persona. Il valore associato alla chiave contiene lalista degli ID dei suoi vicini. Per ogni chiave rappresentante lID del vicino eassociato come valore la lista degli istanti temporali in cui cè stato il corrispettivocontatto.1.2.3 SocialDIS Il primo esperimento che è stato condotto, chiamato da ora in poi SocialDIS,si è svolto al primo piano del Dipartimento di Ingegneria informatica automatica egestionale Antonio Ruberti della Sapienza Università di Roma. A partire dal17/10/2011 sono stati tracciati per quattro giorni, in modo assolutamente anonimo, imovimenti e i contatti di prossimità tra gli studenti che si sono offerti volontari. Hanno aderito allesperimento circa 120 studenti, che hanno indossato un tagRFID attivo per tutta la durata della loro permanenza nel dipartimento. Come vienemostrato in figura 1.2, sono stati installati 20 lettori RFID al primo pianodelledificio, distribuendoli in tutte le aule, nella segreteria, nella sala studio, nella 17
  18. 18. presidenza e nel dispaccio (stanza dove vengono venduti cibi e bevande aglistudenti).Fig.1.2: La figura mostra come gli RFID reader, identificati dai pallini neri, sianoposizionati nelle in tutte le stanze e nei corridoi del primo piano del primo piano delDipartimento di Ingegneria informatica automatica e gestionale Antonio Rubertidella Sapienza Università di Roma. I pallini azzurri identificano gli studenti che sitrovano in prossimità dei lettori di tag RFID ad un determinato istante temporale.I tag RFID indossati dagli studenti, periodicamente diffondono in broadcastpacchetti radio a bassa frequenza contenenti informazioni riguardo, la loro posizionee i contatti ravvicinati che hanno con uno o più individui. I dispositivi, che sono statifatti indossare agli individui, sono stati sviluppati dal progetto OpenBeacon(http://www.openbeacon.org). Quando un tag RFID rileva un contatto con un altro tag, ossia due studenti sitrovano uno di fronte allaltro ad una distanza che va da 1 a 1.5 m, invia unmessaggio ad alta potenza verso il reader più vicino. Questo pacchetto dati contieneun time stamp, lid del reader che lo ha ricevuto e lid dei tag che hanno partecipatonellinterazione. Il messaggio ricevuto dai reader viene memorizzato localmente edinoltrato tramite rete LAN (Local Area Network) ad un server centrale, checolleziona e memorizza i dati, processabili successivamente offline. Alla fine 18
  19. 19. dellesperimento è stato collezionato un dataset di 250 MB, contenente tutte leinterazioni avvenute durante lesperimento, visualizzabili sotto forma di grafo pesatoin figura 1.3.Fig.1.3: Vengono mostrate le interazioni sociali tra gli studenti durante lesperimentoSocialDIS. La grandezza e il colore di un nodo indica il numero di vicini. I nodipiccoli e verdi hanno poche relazioni con gli altri nodi, mentre quelli grandi e bluhanno tante relazioni con gli altri nodi. Lo spessore dellarco indica quantofrequentemente due persone interagiscono. Un arco sottile indica poche interazionitra due persone, mentre un arco spesso indica che ci sono state molte interazioni tradue persone. 19
  20. 20. Nel grafo ciascun nodo rappresenta un visitatore e ciascun arco rappresenta ilcontatto avvenuto tra due individui. La grandezza ed il colore di ciascun nodo e ilpeso ed il colore di ciascun arco rappresentano la rispettiva frequenza, ossia ilrapporto tra il numero di secondi in cui esso esiste e la durata totale dellesperimento. Un esempio di informazione che si può ottenere da tale dataset è: Il tag conid xxxx ha incontrato il tag con id yyyy nella stanza Alpha oppure il tag con id xxxx èvicino alla stanza Beta. In alcun modo possiamo risalire alla vera identità dellapersona a cui è associato il tag con id xxxx.Inoltre a ciascun studente è stato chiesto di fornirci le seguenti informazionipersonali in forma anonima:  Età  Sesso (maschio/femmina)  Status (corso di studi e anno accademico) Con le trace di contatto che sono state ottenute dallesperimento possiamoanalizzare le relazioni tra individui: analizzare gli spazi condivisi (aule, corridoi,segreteria), analizzare le relazioni tra studenti, ad esempio individuando la formazionedi comunità o cluster. Nel capitolo 5 si vedrà, utilizzando le metriche definite e descritte nel capitolo3, se i modelli di mobilità (descritti nel capitolo 2) generano grafi dinamici, conproprietà topologiche e temporali vicine a quelle possedute dal grafo dinamicoottenuto dal dataset empirico relativo allesperimento condotto. Per quanto concerne il tracciamento della mobilità degli studenti, precisiamoche, non effettuiamo un tracciamento delle traiettorie e delle localizzazioni spazialiaccurato, ma raccogliamo solamente i contatti di prossimità tra individui. Possiamosolamente conoscere la posizione dello studente, ossia in che stanza o corridoio sitrova, in base a quale lettore RFID riceve il segnale ad alta potenza inviato dal tag.1.2.4 MACROIl 20 Giugno 2012 è stato effettuato un secondo esperimento simile a SocialDIS,presso il museo darte contemporanea di Roma MACRO, chiamato da ora in poiNeonMACRO. Durante la mostra darte NEON, sono stati tracciati in modocompletamente anonimo i movimenti dei visitatori (ad esempio, quale opera un 20
  21. 21. visitatore sta guardando e per quanto tempo), i contatti di prossimità tra i visitatoriche hanno accettato di partecipare allesperimento. I circa 120 visitatori aderenti alliniziativa, hanno indossato un tag RFIDattivo per tutta la durata della loro visita nella sala Enel del museo. Come vienemostrato in figura 1.4, sono stati installati 8 lettori RFID nella sala espositiva,posizionandoli vicino le opere darte principali. I tag RFID indossati dai visitatori,come nellesperimento SocialDIS, periodicamente diffondono in broadcast pacchettiradio a bassa frequenza contenenti informazioni riguardo, la loro posizione e icontatti ravvicinati che hanno con uno o più soggetti. Anche in questo caso, idispositivi sono stati ottenuti dal progetto OpenBeacon (http://www.openbeacon.org).Fig.1.4: La figura mostra come gli RFID reader, identificati dai pallini neri, sianoposizionati le opere darte esibite al museo darte contemporanea di Roma MACRO. 21
  22. 22. Quando due visitatori si trovano uno di fronte allaltro ad una distanza che vada 1 a 1.5 m, il rispettivo tag indossato rileva il contatto ed invia un messaggio ad altapotenza verso il reader più vicino. Il pacchetto dati inviato, contiene un time stamp,lid del reader che lo ha ricevuto e lid dei tag che hanno partecipato nellinterazione. Il messaggio ricevuto dai reader viene, anche questa volta, memorizzatolocalmente ed inoltrato tramite rete LAN (Local Area Network) ad un servercentrale, collocato in quella che viene chiamata "Area", un open space del museodove i visitatori possono rilassarsi, conoscere altre persone e condividere idee. Il server colleziona e memorizza i dati, che saranno successivamenteprocessati ed analizzati offline. Alla termine dellesperimento è stato raccolto undataset di 10 MB. In figura 1.5 possiamo visualizzare, sottoforma di grafo pesato,tutte le interazioni tra visitatori avvenute durante lesperimento.Fig.1.5: Vengono mostrate le interazioni sociali tra le persone durante lesperimentoNeonMACRO. I visitatori più sociali sono rappresentati da cerchi grandi e di colorescuro. Lo spessore degli archi dipende dalla frequenza con cui avviene linterazionetra due visitatori. 22
  23. 23. Ciascun nodo rappresenta un visitatore e ciascun arco rappresenta il contattoavvenuto tra due individui. La grandezza di ciascun nodo e il peso di ciascun arcorappresentano la rispettiva frequenza, ossia il rapporto tra il numero di secondi in cuiesso esiste e la durata totale dellesperimento. Questo permette di visualizzare immediatamente nel grafo quali siano ivisitatori più socievoli e quelli meno socievoli. A ciascun visitatore è stato chiesto difornire le seguenti informazioni in forma anonima:  Età  Sesso (maschio/femmina)  Titolo di studio  Area professionale  Nazionalità (Italiano o non Italiano)  Gruppo (se un visitatore è entrato nella sala accompagnato da altre persone, a ciascun membro del gruppo viene associato lidentificativo del gruppo ) La raccolta di queste ulteriori informazioni ha permesso di effettuare dellesemplici ed immediate analisi sul comportamento dei visitatori. In figura 1.6 sipossono visualizzare le interazioni tra gruppi di visitatori. In figura 1.7 si puòosservare, il grafo pesato rappresentante tutte le interazioni tra i visitatori (classificatiper età) e le opere darte, mentre in figura 1.8 il grafo pesato raffigura tutte leinterazioni tra i visitatori (classificati per titolo di studio) e le opere darte. Nel capitolo 5 si vedrà, utilizzando le metriche definite e descritte nel capitolo2, se i modelli di mobilità (descritti nel capitolo 2) generano grafi dinamici, conproprietà topologiche e temporali vicine a quelle possedute dal grafo dinamicoottenuto dal dataset empirico relativo allesperimento condotto. Anche in questo caso il tracciamento della mobilità dei visitatori, nonraccoglie le traiettorie e le localizzazioni spaziali in maniera accurata, ma raccogliesolamente i contatti di prossimità tra individui. Si possono solamente conoscere laposizione del visitatore, ossia in che posizione della sala Enel si trova (o che operadarte stia guardando), in base a quale lettore RFID riceve il segnale ad alta potenzainviato dal tag indossato. 23
  24. 24. Fig.1.6: Il grafo mostra le interazioni fra i gruppi di visitatori. Ciascun nodorappresenta un gruppo costituito dalle persone entrate in sala accompagnate. 24
  25. 25. Fig.1.7: Il grafo mostra le interazioni tra i visitatori e le opere darte. I pallini scuri egrandi rappresentano le opere darte, mentre i pallini colorati più piccolirappresentano i visitatori, che sono stati classificati in base alla loro età, compresa tra0-9, 10-19, 20-29, 30-39, 40-49, 50-59, 60-69, 70-79, 80 e più anni. 25
  26. 26. Fig.1.8: Il grafo mostra le interazioni tra i visitatori e le opere darte. I pallini scuri egrandi rappresentano le opere darte, mentre i pallini colorati più piccolirappresentano i visitatori, che sono stati classificati in base al titolo di studio (Master,Bachelor, High School, Ph.D., Primary School e Mid School).  26
  27. 27. Capitolo 2Mobility Models Nel precedente capitolo sono state descritte le tecnologie con le qualivengono collezionati i dataset empirici, ossia dati che mostrano i comportamenti realidei dispositivi mobili (nel nostro caso tag RFID). In questo capitolo verrà definitocosa sono invece i dataset sintetici (o Synthetic dataset), dati generati usando i modelli dimobilità, ed saranno illistrativi modelli che tentano di riprodurre il comportamentodei dispositivi mobili, senza usare tracce di mobilità reali. I Synthetic data sono secondo il McGraw-Hill Dictionary of Scientific andTechnical Terms [12] "qualunque raccolta di dati applicabile a una data situazione,che non sia ottenibile tramite una misurazione diretta". Catturare i movimenti diindividui (o nodi mobili) permette di osservare gli schemi di comportamento presentiin sistemi di vita reale. Il processo di tracciamento però, è unoperazione difficile dafare quando viene coinvolto un gran numero di persone e losservazione vieneeseguita per lunghi periodi di tempo.I protocolli e le applicazioni per le reti mobili non sono facilmente modellabili e leloro performance non sono facilmente valutabili se non si conoscono i movimentidegli individui, che verranno chiamati da ora user trace. Se si vogliono produrre delleuser trace senza ricorrere a complesse infrastrutture per collezionare i dati (ad esempiola piattaforma SocioPatters illustrata nel capitolo 1), è necessario utilizzare i syntheticmodels. I Synthetic models rappresentano realisticamente il comportamento di nodimobili senza aver bisogno di catturare user trace dal mondo reale.Tracy Camp nellarticolo [13] presenta diversi modelli di mobilità, che sono statiutilizzati per valutare le performance di protocolli per reti ad hoc. Lautore enfatizzail bisogno di sviluppare modelli di mobilità accurati per rappresentare realisticamentei movimenti di utenti mobili, esplorando le limitazioni delle strategie adottate daimodelli attualmente utilizzati. Egli classifica i modelli di mobilità in due tipi: individualmobility models e group mobility models. 27
  28. 28. Gli Individual mobility models o memoryless models [14],[15] descrivono nodi le cuiazioni sono indipendenti luno dallaltro. Questi semplici modelli sono i più usati pervalutare reti mobili wireless, in cui ogni dispositivo è indipendente dagli altri e quindinon esistono correlazioni nei comportamenti. I group mobility models [16],[17],[18] sono invece più complessi e meno utilizzati,e rappresentano il comportamento di nodi dipendenti luno dallaltro. Nei prossimiparagrafi saranno decritti i seguenti Individual mobility models, i più famosi ed utilizzatinel simulare il comportamento delle reti mobili ad hoc: 1. Random Walk Mobility Model: modello in cui i nodi mobili seguono direzioni casuali con velocità scelte in modo casuale. 2. Random Waypoint Mobility Model: modello che tiene conto di un tempo di pausa, prima che il nodo cambi direzione e velocità. 3. Random Direction Mobility Model: modello in cui i nodi mobili devono arrivare alla fine dellarea di simulazione prima di poter cambiare la direzione e la velocità. 4. Truncated Lévy Walk Mobility Model: modello dove le human walks del caso reale sono approssimate con quelle che vengono chiamate, Lévy walks. 5. Boudless Simulation Area Mobility Model: modello che trasforma larea di simulazione da rettangolare 2D a forma toroidale. 6. Gauss-Markov Mobility Model: modello in cui gli schemi di mobilità possono essere resi più o meno casuali regolando un parametro. 7. Versione probabilistica del Random Walk Mobility Model: modello che utilizza un insieme di probabilità per determinare la prossima posizione di un nodo mobile. 8. Weighted Waypoint Mobility Model: modello in cui i nodi mobili scelgono la propria destinazione secondo una certa probabilità, che dipende dalla posizione corrente, dal tempo e dalla "popolarità" della zona da raggiungere.Illustreremo anche i seguenti group mobility models: 1. Exponential Correlated Random Mobility Model: modello dove i movimenti seguono una funzione di movimento. 2. Column Mobility Model: modello dove un insieme di nodi forma una linea che si muove uniformemente lungo una specifica direzione. 28
  29. 29. 3. Nomadic Community Mobility Model: modello dove un insieme di nodi si muove da un luogo ad un altro, mantenendo una certa libertà di movimento allinterno del gruppo. 4. Pursue Mobility Model: modello dove un insieme di nodi insegue un determinato nodo. 5. Reference Point Group Mobility Model: modello dove i movimenti delle comunità sono basati sul percorso che attraversa un centro logico.2.1 Individual mobility modelsVerrano descritti ora i modelli di mobilità in cui ciascun nodo ha un comportamentoindipendente rispetto a quello degli altri nodi.2.1.1 Random Walk (RW)Il Random Walk Mobility Model è stato ideato ed illustrato per la prima volta daEinstein nel 1926 [50]. Il modello si basa sul moto browniano, ossia sul movimentodisordinato e casuale delle particelle (aventi diametro dellordine del micrometro)presenti in fluidi o sospensioni fluide. In questo modello di mobilità, vieneinizialmente definita unarea rettangolare di dimensione 𝑋 𝑚𝑎𝑥 × 𝑌 𝑚𝑎𝑥 ed il numerototale di nodi 𝑁. Ciascun nodo si muove dalla sua posizione corrente alla sua posizionesuccessiva scegliendo casualmente una direzione e una velocità con cui viaggiare. Ilvalore della velocità viene scelto da una distribuzione e può essere compreso tra unvalore minimo e un valore massimo 𝑠𝑝𝑒𝑒𝑑𝑚𝑖𝑛, 𝑠𝑝𝑒𝑒𝑑𝑚𝑎𝑥 . Anche la direzioneviene scelta casualmente da una distribuzione uniforme con valori compresi tra0, 2𝜋 . Ogni passo di simulazione termina dopo un tempo prestabilito t o dopo unacerta distanza d, alla fine delle quali ciascun nodo sceglie una nuova direzione evelocità. Del Random Walk Mobility Model sono state derivate altre versioni, chiamated-D walks, dove d rappresenta il numero di dimensioni dellarea di simulazione.Quello che abbiamo descritto è la versione 2-D. Questo modello è memoryless perchénon tiene traccia della posizione e della velocità passata dei nodi mobili. La velocità ela direzione correnti di un nodo mobile, sono indipendenti da quelle passate. In 29
  30. 30. figura 2.1 (ottenuta dal sito http://paginas.fe.up.pt/~ee03058/stat_art.html) osserviamoche questa caratteristica può generare movimenti umani irrealistici.Fig.2.1: Esempio di come si muove un nodo mobile usando il Random WalkMobility Model versione 2-D.Se il tempo 𝑡 o la distanza 𝑑, che definiscono quanto dura un passo dellasimulazione, sono troppo corti, i nodi si muovono solo in una piccola parte dellareadi simulazione, generando uno schema di movimento adatto allanalisi di reti semistatiche. Pertanto se si vogliono invece analizzare reti dinamiche, dobbiamo sceglieregrandi valori per 𝑡 e 𝑑.2.1.2 Random Waypoint (RWP)Uno dei modelli di mobilità più popolari ed utilizzati è il Random Waypoint model(RWP). Questo modello di mobilità è un semplice modello stocastico che descrivecome si muovono i nodi in una rete mobile in una data area. In questo modello dimobilità viene definita unarea rettangolare di dimensione 𝑋 𝑚𝑎𝑥 × 𝑌 𝑚𝑎𝑥 e stabilito ilnumero totale di nodi 𝑁. Ciascun nodo viene casualmente posizionato nellarea in unpunto (𝑥, 𝑦), dove 𝑥 e 𝑦 sono entrambi uniformemente distribuiti rispettivamente su0, 𝑋 𝑚𝑎𝑥 e 0, 𝑌 𝑚𝑎𝑥 . A ciascun nodo vengono assegnati un punto di arrivo odestinazione (𝑥0 , 𝑦0 ), casualmente scelto tra i punti dellarea, e una velocità v, che è 30
  31. 31. casualmente scelta da una distribuzione uniforme in un intervallo compreso tra 𝑚𝑖𝑛𝑠𝑝𝑒𝑒𝑑, 𝑚𝑎𝑥𝑠𝑝𝑒𝑒𝑑 . Un nodo inizia a muoversi verso la destinazione convelocità v. Arrivato al punto di arrivo (𝑥0 , 𝑦0 ), il nodo rimane li per un tempo p,chiamato waiting time, che è casualmente scelto da una distribuzione uniforme.Terminato il waiting time, vengono scelte una nuova destinazione e una nuova velocitànello stesso modo e il processo si ripete fino a che non termina la simulazione. In figura 2.2 (ottenuta dal sito http://www.emeraldinsight.com) come ilcomportamento di un nodo in un area di simulazione che misura 1000 x 1000 m.Fig.2.2: Esempio di come si muove un nodo mobile usando il Random WaypointMobility Model in unarea 1000 x 1000 m.Se al modello si assegna a ciascun nodo un waiting time pari a zero e 𝑚𝑖𝑛𝑠𝑝𝑒𝑒𝑑, 𝑚𝑎𝑥𝑠𝑝𝑒𝑒𝑑 = 𝑠𝑝𝑒𝑒𝑑𝑚𝑖𝑛, 𝑠𝑝𝑒𝑒𝑑𝑚𝑎𝑥 , il Random WaypointMobility Model diventa simile al Random Walk Mobility Model. Il modello presentail seguente problema [13]: ciascun nodo mobile viene posizionato in modo casualenellarea di simulazione, non rappresentando in modo realistico il modo in cui i nodisi distribuiscono quando si muovono. In [13] viene mostrato che nel modello siattenua il problema della posizione iniziale dopo circa 600 secondi di simulazione eche esistono tre possibili soluzioni per evitare linaccuratezza del modello, dovuta allaposizione iniziale dei nodi. La prima soluzione è salvare le posizioni dei nodi al termine di unasimulazione durata più di 600 secondi ed utilizzarle come posizioni iniziali nelle 31
  32. 32. simulazioni successive. La seconda è scegliere la posizione iniziale secondo unadistribuzione di probabilità che rappresenta meglio la realtà che vogliamo simulare.La terza consiste nello scartare i primi 1000 secondi di simulazione. La terzasoluzione è migliore della prima, perché garantisce che ciascuna simulazione abbia uninizializzazione esente dal problema appena trattato. Nel Random Waypoint Mobility Model esiste una correlazione tra la velocitàe il tempo di pausa di un nodo. Ad esempio, se nella simulazione i nodi percorronolarea a velocità elevate ed hanno dei tempi di pausa lunghi, vengono prodotte reti piùstabili rispetto al caso in cui, i nodi si muovono lentamente e aspettano poco tempo. La distribuzione spaziale dei nodi incide sul numero di vicini che essipossono avere, perché i nodi che sono vicini al bordo dellarea di simulazione, hannomaggiore probabilità di scegliere una destinazione che si trovi verso il centrodellarea, dove la probabilità di incontrare nodi cresce, mentre quando si trovano sulbordo dellarea la probabilità di incontrare nodi decresce. Queste variazioni di densità(chiamate density wave) del numero medio di vicini in base alla zona, vengono risoltenel modello descritto nel prossimo paragrafo.2.1.3 Random Direction (RD)Il Random Direction Mobility Model (RD)descritto in [52], è stato ideato per evitare levariazioni del numero medio di vicini che si hanno in base alla zona dellarea disimulazione raggiunta da un nodo mobile, che avvengono nel modello RWP. Iquestultimo modello è stato visto che la probabilità con cui un nodo sceglie unanuova destinazione localizzata nel centro dellarea di simulazione, o che richiedelattraversamento di essa, è alta. Pertanto il modello RD cerca di evitare il piùpossibile di diminuire questa probabilità, facendo in modo che i nodi si trovino conmaggiore probabilità vicino i bordi dellarea di simulazione. Come visto modello precedentemente illustrato, anche ora viene definitaunarea rettangolare di dimensione 𝑋 𝑚𝑎𝑥 × 𝑌 𝑚𝑎𝑥 ed il numero totale di nodi 𝑁.Ciascun nodo viene casualmente posizionato nellarea in un punto (𝑥, 𝑦), dove 𝑥 e 𝑦sono entrambi uniformemente distribuiti rispettivamente su 0, 𝑋 𝑚𝑎𝑥 e 0, 𝑌 𝑚𝑎𝑥 . A ciascun nodo viene assegnata una velocità v, casualmente scelta da unadistribuzione uniforme in un intervallo compreso tra 𝑚𝑖𝑛𝑣, 𝑚𝑎𝑥𝑣 e un angolo didirezione, scelto casualmente da una distribuzione uniforme con valori compresi tra 32
  33. 33. 0, 2𝜋 , come avviene nel modello RW. Ciascun nodo dopo aver scelto la direzione,la segue fino ad arrivare al bordo dellarea di simulazione con velocità 𝑣. Quando un nodo raggiunge il bordo si ferma per un tempo chiamato waitingtime, casualmente scelto da una distribuzione uniforme. Terminato il waiting time,vengono scelte una nuova destinazione e una nuova velocità nello stesso modo e ilprocesso si ripete fino a che non termina la simulazione. Dato che i nodi restano per molto tempo sui bordi dellarea di simulazione, ladistanza media tra i nodi risulta maggiore rispetto agli altri modelli, per questomotivo un pacchetto dati o un informazione, raggiunge un nodo attraversando unnumero medio di hop maggiore rispetto agli altri modelli. Dunque la rete ottenutadalla simulazione risulta partizionata. Per diminuire tale problema, è stata ideata una versione modificata delmodello RD, descritta in [51], in cui i nodi mobili continuano a scegliere casualmenteuna direzione, ma non devono raggiungere necessariamente il bordo dellarea disimulazione affinchè si fermino ed aspettino il waiting time, per poi ripartire per unanuova direzione. Questa modifica rende il modello RD identico al modello RW con ilwaiting time.2.1.4 Truncated Lèvi Walk (TLW) Gli schemi di mobilità degli esseri umani vengono tipicamente approssimaticon il modello RW (descritto nel paragrafo 2.1.1) o RWP (illustrato nel paragrafo2.1.2). Attraverso delle misurazioni fatte in natura si è osservato che le traiettorieseguite dagli animali sono approssimabili a un Lévy flight [19], definito da Schlesinger[60], come il più lungo viaggio che una particella segue in linea retta, da un luogo adun altro, senza cambiare direzione o tempo di pausa. Queste osservazioni sono state poi generalizzate al caso umano nello studiodescritto in [20], dove, catturando tramite tecnologia GPS le user trace di 44volontari distribuiti in diversi ambienti outdoor (campus universitari, metropolitane,parchi), si è riscontrato che le human walks hanno delle forti correlazioni statistichecon le Lévy walks. Gli autori enfatizzato il fatto che le somiglianze possono esseresolo di tipo statistico, perché gli umani si muovono in base allattività che devonosvolgere o alle loro preferenze, dunque non possono spostarsi in modo casuale. 33
  34. 34. In figura 2.5 si nota che, le Lévy walks [20] sono un insieme di tanti flight cortie rari flight lunghi e che le tracce di mobilità risultano essere più realistiche di quelleottenute dai modelli di mobilità RW e RWP. Nello studio è stato scoperto che, le flight distribution e le waiting time distributiondei partecipanti allesperimento, sono truncated power-law distribution, e che la Inter contactime (ITC) distribution delle human walk mostra un comportamento di tipo power-law[22].Fig.2.5: Esempio di user trace ottenuta da (a) Levy walks, (b) RWP e (c) RW.Usando tali risultati, Hong in [21] ha sviluppato il Truncated Levy Walk model (TLW),ossia una variante del modello RWP (illustrato nel paragrafo 2.1.2), con le seguenticaratteristiche:  Le lunghezze dei flight seguono una truncated power law con esponente 𝛼: − 1+𝛼 𝑝 𝑙 ~ 𝑙 ,𝑙< 𝑙 𝑚𝑎𝑥 ;  i waiting times seguono una truncated power law con esponente 𝛽: 𝜓 𝑡 ~𝑡 − 1+𝛽 , 0 < 𝑡 < 𝑡 𝑚𝑎𝑥 ;  langolo di direzione segue una distribuzione uniforme compresa tra 0,2𝜋 ;  la velocità cresce in modo proporzionale rispetto lunghezza del flight;2.1.5 Boundless Simulation Area (BD) Il Boundless Simulation Area Mobility Model, non è memoryless, ossia esiste unarelazione tra la direzione e la velocità di un nodo nel tempo passato e la direzione evelocità del nodo correnti [55]. Definita un arearettangolare di dimensione 𝑋 𝑚𝑎𝑥 × 𝑌 𝑚𝑎𝑥 ed il numero totale di nodi 𝑁, la velocità di un nodo mobile è descritta da unvettore 𝑣 = 𝑣, 𝜃 , dove v è la velocità e 𝜃 è la direzione. Ciascun nodo viene 34
  35. 35. casualmente posizionato nellarea in un punto (𝑥, 𝑦). Ad ogni passo dellasimulazione, di durata ∆𝑡, la velocità e la posizione di ogni nodo viene aggiornatasecondo le seguenti equazioni: 𝑣 𝑡 + ∆𝑡 = 𝑚𝑖𝑛 𝑚𝑎𝑥 𝑣 𝑡 + ∆𝑣, 0 , 𝑉𝑚𝑎𝑥 𝜃 𝑡 + ∆𝑡 = 𝜃 𝑡 + ∆𝜃 𝑥 𝑡 + ∆𝑡 = 𝑥 𝑡 + 𝑣 𝑡 ∗ 𝑐𝑜𝑠𝜃 𝑡 𝑦 𝑡 + ∆𝑡 = 𝑦 𝑡 + 𝑣 𝑡 ∗ 𝑠𝑖𝑛𝜃 𝑡dove 𝑉𝑚𝑎𝑥 è la massima velocità definita nella simulazione, ∆𝑣 è la variazione divelocità che è uniformemente distribuita tra −𝐴 𝑚𝑎𝑥 ∗ ∆𝑡, 𝐴 𝑚𝑎𝑥 ∗ ∆𝑡 , 𝐴 𝑚𝑎𝑥 è lamassima accelerazione che può raggiungere un nodo, ∆𝜃 è la variazione di direzioneche è uniformemente distribuita tra −𝛼 ∗ ∆𝑡, 𝛼 ∗ ∆𝑡 , e 𝛼 è la massima variazione diangolo nella direzione percorsa dal nodo. Dalla figura 2.3 (ottenuta dal sito webhttp://www-public.it-sudparis.eu/~gauthier/MobilityModel/mobilitymodel.html) si osserva chea differenza dei modelli illustrati nei paragrafi precedenti, i nodi possono continuare illoro percorso superando i confini dellarea di simulazione, riapparendo nel latoopposto dellarea di simulazione. 35
  36. 36. Fig.2.3: Esempio di come si muove un nodo mobile, che parte dal punto(≅390,≅290), usando il Boundless Simulation Area Mobility Model in un area di1000 x 300 m.In figura 2.4 si vede che questa tecnica crea un area di simulazione toroidale, dove inodi possono viaggiare senza confini.Fig.2.4: La figura mostra che nel Boundless Simulation Area Mobility Model larea disimulazione di forma rettangolare, viene trasformata in una forma toroidale.2.1.6 Gauss-Markov (GM) Il Gauss-Markov Mobility Model è stato implementato in [56]. A ciascun nodo,che si muove in unarea rettangolare di dimensione 𝑋 𝑚𝑎𝑥 × 𝑌 𝑚𝑎𝑥 , viene assegnatauna velocità e una direzione iniziale, che viene aggiornata ad ogni intervallo di tempofisso 𝑛. Il valore aggiornato nelln-esima istanza è calcolato in base al valore della n-1esima istanza, e al valore di una variabile casuale, usando le seguenti equazioni: 𝑠 𝑛 = 𝛼𝑠 𝑛−1 + 1 − 𝛼 𝑠 + 1 − 𝛼 2 𝑠 𝑥 𝑛 −1 𝑑 𝑛 = 𝛼𝑑 𝑛−1 + 1 − 𝛼 𝑑 + 1 − 𝛼 2 𝑑 𝑥 𝑛 −1dove 𝑠 𝑛 e 𝑑 𝑛 sono, rispettivamente la nuova velocità e la nuova direzione dei nodinellintervallo temporale 𝑛; 𝛼, compresa tra −1, 1 , è usata come parametro perregolare la casualità; 𝑠 e 𝑑 sono costanti che rappresentano il valore medio di velocità 36
  37. 37. e direzione con 𝑛 → ∞; 𝑠 𝑥 𝑛 −1 e 𝑑 𝑥 𝑛 −1 sono variabili aleatorie prese da unadistribuzione Gaussiana. Impostando 𝛼 = 0 otteniamo valori totalmente casuali, mentre con 𝛼 = 1otteniamo un moto lineare. Assegnando valori intermedi ad 𝛼, si ottengono diversilivelli di casualità. Ad ogni passo della simulazione la posizione successiva di un nodoviene calcolata in base alla posizione, velocità e direzione corrente, seguendo leseguenti equazioni: 𝑥 𝑛 = 𝑥 𝑛−1 + 𝑠 𝑛−1 ∗ 𝑐𝑜𝑠𝑑 𝑛−1 𝑦 𝑛 = 𝑦 𝑛−1 + 𝑠 𝑛−1 ∗ 𝑠𝑖𝑛𝑑 𝑛−1Dove 𝑥 𝑛 , 𝑦 𝑛 𝑒 𝑥 𝑛−1 , 𝑦 𝑛−1 sono rispettivamente le coordinate x e y dei nodimobili alln-esimo e alln-1 esimo intervallo temporale. In figura 2.5 (dal sito ottenuta dal sito web http://tinyurl.com/8oed5jz) vienemostrato il comportamento di un nodo in un area di simulazione che misura 700 x1000 m.Fig.2.5: Esempio di come si muove un nodo mobile, che parte dal punto(≅500,≅500), usando il Gauss-Markov Mobility Model in un area di 700 x 1000 m. 37
  38. 38. 2.1.7 Probabilistic Random Walk (PRW)Nella tesi di dottorato di Chiang [57] è stato creato un modello di mobilità, chiamatoProbabilistic Random Walk Mobility Model, che, utilizzando una matrice di probabilità,determina la posizione di uno specifico nodo mobile, in unarea 𝑋 𝑚𝑎𝑥 × 𝑌 𝑚𝑎𝑥 , inbase a tre possibili stati: lo stato 0 rappresenta la posizione corrente, lo stato 1rappresenta la posizione passata e lo stato 2 rappresenta la posizione futura se il nodomobile continua a muoversi nella stessa direzione. La matrice di probabilità usata e la seguente: 𝑃(0,0) 𝑃(0,1) 𝑃(0,2) 𝑃 = 𝑃(1,0) 𝑃(1,1) 𝑃(1,2) 𝑃(2,0) 𝑃(2,1) 𝑃(2,2)Dove ciascun valore 𝑃(𝑎, 𝑏) rappresenta la probabilità che un nodo mobile passidallo stato 𝑎 allo stato 𝑏. Le coordinate x e y di ciascun nodo vengono aggiornate inbase ai valori della matrice. Ogni nodo si muove casualmente con una velocità mediapredefinita. Nella seguente matrice ci sono i valori che Chiang ha usato per calcolarele variazioni nelle coordinate x e y dei nodi: 0 0.5 0.5 𝑃 = 0.3 0.7 0 0.3 0 0.7In figura 2.6 possiamo vedere la matrice illustrata sotto forma di diagramma di flusso.Per come è configurata la matrice di probabilità, un nodo mobile può andare direttoverso: nord, sud, est o ovest, senza mai prendersi una pausa (wait time = 0). Laprobabilità che il nodo continui a seguire la stessa direzione è più alta dellaprobabilità che esso la cambi. Inoltre i valori definiti non permettono movimenti trala precedente e la prossima posizione senza passare per quella corrente. 38
  39. 39. Fig.2.6: Diagramma di flusso della versione probabilistica del Random Walk MobilityModel.Questa implementazione del modello produce dei comportamenti di mobilità piùrealistici del modello RW. Ad esempio una persona che deve eseguire vari compitigiornalieri, tende a muoversi seguendo una direzione semi costante. Raramente gira improvvisamente intorno a dove era, tornando sui suoi passi,e quasi mai si muove casualmente sperando eventualmente di finire in uno dei postiche gli interessano. In figura 2.7 (ottenuta dal sito ottenuta dal sito web http://www-public.it-sudparis.eu/~gauthier/MobilityModel/mobilitymodel.html) viene illustrato unesempio di schema di mobilità di un nodo mobile usando la versione probabilisticadel modello RW. Da questa figura si osserva che la user trace ha dei cambiamenti didirezione molto meno variabili di quelli visti per il modello RW in figura 2.1, dunqueapprossima meglio gli schemi di mobilità degli esseri umani. 39
  40. 40. Fig.2.7: Esempio di come si muove un nodo mobile, che parte dal punto(≅500,≅500), usando il Probabilistic Random Walk Mobility Model in un area di 500x 560 m.2.1.8 Weighted Waypoint (WW)Il Weighted Waypoint Mobility Model (WW) [64] è una versione del modello RWP, in cuile persone non decidono una destinazione in modo casuale, ma la scelgono in basead una certa probabilità, che dipende da quanto gli individui tendono a visitarla. Tuttii modelli che sono stati illustrati nei paragrafi precedenti non considerano cheallinterno dellarea di simulazione alcune zone sono visitate più spesso rispetto adaltre. In [64] è stato dimostrato che se ne viene tenuto conto, ossia si consideralesistenza di zone in cui gli individui interagiscono tra di loro per un periodoprolungato, si possono ottenere delle user trace più accurate rispetto al modello RWP.I modelli WW ed RWP si differenziano per : 1. Le persone non scelgono casualmente la destinazione: a ciascuna zona dellarea di simulazione viene assegnato un peso, definito in base alla probabilità di scegliere quel luogo come destinazione. Tale probabilità può 40
  41. 41. essere calcolata valutando quanto le zone siano "popolari" nellambiente che stiamo tentando di simulare. 2. La probabilità di scegliere una specifica zona come prossima destinazione, dipende dalla posizione corrente e dal tempo: viene usato un modello Markoviano per assegnare tali probabilità. 3. Il waiting time in ciascuna zona, è diverso e dipende dalle proprietà specifiche del luogo.2.2 Group mobility modelsVerranno descritti ora i modelli di mobilità in cui i nodi hanno un comportamentoche dipende da quello degli altri nodi. Tali modelli risultano essere utili per tracciareuser trace che simulano realtà in cui i nodi si muovono in comunità.2.2.1 Exponential Correlated RandomQuesto modello di mobilità proposto in [58] data la posizione di un nodo (o ungruppo) al tempo 𝑡, tramite funzione di movimento 𝑏 𝑡 , viene determinata laposizione successiva del nodo (o gruppo) al tempo 𝑡 + 1, con la seguente funzione: 1 1 − 𝑏 𝑡 + 1 = 𝑏(𝑡) 𝑒 𝜏 + 𝜎 1 − (𝑒 − 𝜏 )2 𝑟dove r è una variabile casuale che segue una distribuzione Gaussiana che ha varianza𝜎, e 𝜏 regola la velocità di cambiamento del nodo dalla posizione precedente a quellasuccessiva (ad una valore minore di 𝜏 corrisponde un cambiamento più rapido). Ilproblema principale di questo particolare modello è la difficoltà di assegnare il valorepiù corretto ai parametri in modo da ottenere lo schema di mobilità che vogliamo.2.2.2 ColumnIl Column Mobility Model (http://www.disca.upv.es/misan/mobmodel.htm) è un modello cherappresenta un insieme di nodi mobili che si muovono lungo una data linea (ocolonna). Inizialmente viene definita una reference grid, ossia una colonna iniziale dinodi, dove ciascun nodo viene messo in relazione con un punto di riferimento. Inodi si possono muovere attorno al loro punto di riferimento seguendo le regoledettate da un particolare Individual mobility models (ad esempio viene consigliato di 41
  42. 42. usare il modello RW, descritto nel paragrafo 2.1.1). Il nuovo reference point per undeterminato nodo viene definito come: 𝑛𝑒𝑤 𝑟𝑒𝑓𝑒𝑟𝑒𝑛𝑐 𝑒 𝑝𝑜𝑖𝑛𝑡 = 𝑜𝑙𝑑 𝑟𝑒𝑓𝑒𝑟𝑒𝑛𝑐 𝑒 𝑝𝑜𝑖𝑛𝑡 + 𝑎𝑑𝑣𝑎𝑛𝑐𝑒 𝑣𝑒𝑐𝑡𝑜𝑟dove 𝑜𝑙𝑑 𝑟𝑒𝑓𝑒𝑟𝑒𝑛𝑐 𝑒 𝑝𝑜𝑖𝑛𝑡 è il punto di riferimento precedente e 𝑎𝑑𝑣𝑎𝑛𝑐𝑒 𝑣𝑒𝑐𝑡𝑜𝑟 unoffset angolare scelto in modo casuale che sposta la griglia di riferimento. Quando lagriglia viene ruotata con un angolo casuale (compreso tra 0 e 𝜋) e spostata ad unadistanza casuale, i nodi mobili, che si muovono seguendo il loro punto di riferimento,seguono la griglia e continuano la loro rotazione attorno al punto.2.2.3 Nomadic CommunityIl Nomadic Community Mobility Model (http://www.disca.upv.es/misan/mobmodel.htm) è unmodello che rappresenta comunità di nodi che si muovono collettivamente da unpunto ad un altro [59]. Ogni comunità o gruppo di nodi, che ha associato un puntodi riferimento in comune, si muove attorno al proprio reference point ma, allinterno diogni gruppo, ciascun nodo mantiene una propria "area personale", dove si muove inmodo casuale. Questo modello può essere usato ad esempio per simulare scenaridove una classe di studenti visitano un museo darte. Gli alunni della classe sisposteranno da un punto ad un altro insieme, mentre nel punto in cui si trovano sipossono muovere individualmente come vogliono (ad esempio secondo un Individualmobility models). Rispetto al modello Column, i nodi allinterno del gruppo sono menovincolati nella possibilità di movimento.2.2.4 PursueNel Pursue Mobility Model definito in (http://www.disca.upv.es/misan/mobmodel.htm) e in[59], uno dei nodi della rete viene selezionato come nodo target. Il nodo prescelto,che si muove secondo uno degli Individual mobility models, viene seguito dagli altri nodimobili, eseguendo dei movimenti in direzione di esso, determinati da unrandomvector , ossia un offset ottenuto seguendo uno degli Individual mobility models(ad esempio il modello RW, descritto nel paragrafo 2.1.1). La nuova posizione diciascun nodo viene calcolata utilizzando la seguente equazione:newposition = oldposition + acceleration target − oldposition + randomvector 42
  43. 43. dove acceleration target − oldposition è linformazione relativa al nodo che vieneinseguito e randomvector rappresenta loffset applicato ad ogni nodo.Dunque, per calcolare la prossima posizione di ogni nodo, questo modello utilizza laposizione corrente del nodo, un vettore casuale e il valore dellaccelerazione relativaal nodo inseguito.2.2.5 Reference Point Group (RPG) Il Reference Point Group Mobility Model (RPG) definito in [58] rappresenta ilmovimento casuale di un gruppo di nodi mobili. Gli spostamenti del gruppo sibasano sul percorso seguito da quello che è definito il centro logico del gruppo. Ilcentro logico del gruppo viene utilizzato per calcolare i movimenti del gruppoattraverso un group motion vector, 𝐺 𝑀, che può essere predefinito o scelto in modocasuale. Ogni nodo si muove casualmente seguendo il proprio reference point pre-definito, il cui spostamenti dipendono dal movimento del gruppo. Quando di unnodo viene calcolato un nuovo reference point al tempo 𝑡 + 1, 𝑅𝑃(𝑡 + 1), questoviene combinato con un random vector, 𝑅 𝑀, per rappresentare lo spostamentocasuale di ogni nodo rispetto al relativo reference point. Dunque, il vettore 𝑅 𝑀 viene usato per calcolare il nuovo reference point diogni nodo al tempo t+1. Successivamente la nuova posizione di ogni nodo vienestabilita sommando il random motion vector, 𝑅 𝑀, al nuovo reference point. 43
  44. 44. Capitolo 3Grafi dinamici Nel presente lavoro sono state generate reti dinamiche di contatti (chesaranno chiamate da ora in poi Dynamic Contact Network o Contact Graph), ricavate siada tracce di contatti basate su quello che è avvenuto negli esperimenti SocialDIS eMACRO, sia da tracce di contatti ottenute a partire dai modelli di mobilità. Neiseguenti paragrafi verrà descritto: come si definisce un Contact Graph a partire dai casireali e dai casi simulati usando modelli di mobilità; gli indicatori statistici definiti edimplementati per poter analizzare e confrontare le Dynamic Contact Network; lelimitazioni del formato attualmente più utilizzato per la scrittura di grafi dinamici sufile e il nuovo formato che è stato ideato per superarle.3.1 Definizione del grafo dinamico dei contattiLevoluzione dinamica di una rete, può essere modellata introducendo la dimensionetemporale 𝑡, che mostra come la topologia della rete varia nel tempo. Nelleopportunistic networks, un Contact Graph 𝐺(𝑉, 𝐸) è tipicamente usato per descrivereuna rete dinamica di contatti [8]. In un Contact Graph: 𝑉 è linsieme di nodi ed 𝐸 èlinsieme degli archi, dove ciascun arco è rappresentato da, una coppia di nodi, daltempo in cui il contatto è iniziato e dalla durata del contatto. Basandosi su questa definizione fornita da Ferreira [8], viene ridefinito ilContact Graph come una rete 𝐺(𝑉, 𝐸), in cui ciascun nodo 𝑣 ∈ 𝑉, rappresenta unapersona e ciascun arco 𝑒 ∈ 𝐸, rappresenta un contatto face-to-face avvenuto tra dueindividui. Sia 𝑇 = 𝑡0 , 𝑡1 , … , 𝑡 𝑛 linsieme di tutti gli istanti temporali in cui il grafovaria nel tempo. Ad ogni nodo e ogni arco viene associato un Presence Schedule, un insiemecontenente gli istanti di tempo 𝑡 ∈ 𝑇, in cui il nodo (o arco) è presente. Il Presence 44
  45. 45. Schedule di un nodo 𝑣 può essere rappresentato come 𝑃(𝑣), e il Presence Schedule di unarco 𝑒 può essere rappresentato come 𝑃(𝑒). A partire da un caso reale (ad esempio gli esperimenti SocialDIS e MACRO),si può facilmente costruire il Contact Graph dalla traccia di contatti collezionata (comeviene descritto nei paragrafi 1.2.3 e 1.2.4), generando un nodo ogni volta che un tagRFID viene rilevato per la prima volta da un reader RFID, assegnandogli ciascunavolta il tempo in cui è stato rilevato (in formato UNIX time) e generando un arcoogni volta che due individui si trovano uno di fronte allaltro ad una distanzaravvicinata. Quando questo accade, viene aggiornato il 𝑃(𝑣) di ciascun 𝑣 ∈ 𝑉 che hapartecipato nellinterazione e il 𝑃 𝑒 dellarco 𝑒 ∈ 𝐸 che li connette. Infatti, il tagRFID indossato dagli individui, quando rileva la comunicazione, invia un messaggioad alta potenza verso il reader RFID più vicino. Tale mesaggio contiene il tempo incui il contatto è avvenuto (in formato UNIX time) e lid dei tag che hannocomunicato. Il peso di ciascun arco del Dynamic Contact Graph ottenuto, è pari allafrequenza con cui il contatto avviene, ossia il rapporto tra 𝑃 𝑒 e 𝑇. A partire dai modelli di mobilità, se si vogliono rilevare i contatti diprossimità tra persone, ciascuna delle quali ha una propria posizione, direzione,velocità e tempo di pausa, bisogna considerare che ogni individuo possa vederne unaltro, entro un raggio limitato di visibilità. Un intersection graph [61] è un grafo formato a partire da una famiglia di insiemi𝑆 𝑖 , con 𝑖 = 0,1,2, … , 𝑛, creando un vertice 𝑣 𝑖 per ogni insieme 𝑆 𝑖 e connettendo duevertici 𝑣 𝑖 e 𝑣 𝑗 con un arco quando i relativi insiemi hanno unintersezione non nulla,ovvero 𝑒 = 𝑣 𝑖 , 𝑣 𝑗 |𝑆 𝑖 ∩ 𝑆𝑗 ≠ 0. Come è possibile vedere in figura 3.1, uno unit disk graph [62] è un intersectiongraph costituito da un vertice per ogni cerchio e da un arco ogni volta che due cerchisintersecano. Ciascun cerchio, definito nel piano Euclideo, ha la stessa misura.Utilizzando il principio su cui si basa la costruzione dello unit disk graph, vienecostruito il Contac Graph come segue: Siano A e B due individui che si muovonosecondo un modello di mobilità, sia (𝑥 𝑎, 𝑦 𝑎 ) la posizione di A e (𝑥 𝑏, 𝑦 𝑏 ) la posizionedi B. Siano 𝑟 𝑎 e 𝑟 𝑏 i rispettivi raggi dei cerchi di A e B.Definite le seguenti grandezze: 45
  46. 46. 𝑥 𝑑𝑖𝑓𝑓 = 𝑥 𝑎, − 𝑥 𝑏, 𝑦 𝑑𝑖𝑓𝑓 = 𝑦 𝑎, − 𝑦 𝑏, 𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝑠𝑞𝑢𝑎𝑟𝑒𝑑 = 𝑥 𝑑𝑖𝑓𝑓 2 + 𝑦 𝑑𝑖𝑓𝑓 2le persone A e B, che si muovono secondo le regole del modello di mobilità, hannoun contatto se 𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒 𝑠𝑞𝑢𝑎𝑟𝑒𝑑 < 𝑟 𝑎 + 𝑟 𝑏 2 .Fig.3.1: Esempio di unit disk graph, dove tra due nodi esiste un arco che licongiunge, se e solo se i rispettivi cerchi sintersecano.Se in ogni istante di simulazione applichiamo questa verifica ad ogni coppia di nodi,ogni volta che viene rilevato un contatto, assegniamo al Presence Schedule, di ciascunnodo e dellarco che li congiunge, il tempo in cui la comunicazione è avvenuta,ottenendo in questo modo un Contact Graph 𝐺(𝑉, 𝐸). Il peso di ciascun arco 𝑒 ∈ 𝐸, èpari alla frequenza con cui il contatto avviene, ovvero il rapporto tra 𝑃 𝑒 e 𝑇 46
  47. 47. 3.2 Definizione del grafo aggregato dei contattiI grafi dei contatti possono essere prodotti sia in forma aggregata, che in formadinamica. Sia 𝐺(𝑉, 𝐸), un Contact Graph e sia 𝑇 = 𝑡0 , 𝑡1 , … , 𝑡 𝑛 , linsieme di tutti gliistanti temporali in cui 𝐺 varia nel tempo. Si ottiene un Contact Graph aggregatorispetto un intervallo di tempo 𝑘1 , 𝑘2 , con 0 < 𝑘2 − 𝑘1 = K ≤ 𝑇, assegnado aciascun arco 𝑒 ∈ 𝐸 un peso pari alla frequenza con cui il contatto avviene, ovvero ilrapporto tra 𝑃 𝑒 e 𝐾, senza però associare alcun presence schedule ai nodi/archi delgrafo.3.3 Indicatori statistici/metricheNei prossimi sotto-paragrafi verranno definiti gli indicatori statistici (o metriche) chesono stati implementati per poter analizzare e confrontare le Dynamic Contact Networkottenute sia, a partire da casi reali che da casi simulati usando i modelli di mobilità.Tali indicatori (o metriche) si classificano in due tipi: metriche su grafo aggregato,ossia indicatori che eseguono misure non considerando i Presence schedules, e metrichesu grafo dinamico , ovvero indicatori che effettuano misure considerando i Presenceschedules.3.3.1 Indicatori/metriche su grafo aggregatoNode strength. La Strength [1] di un nodo i, definita come: 𝑁 𝑆𝑖 = 𝑤 𝑖,𝑗 𝑗𝜖𝑉dove V è linsieme dei vicini del nodo, 𝑉 = 𝑁, 𝑤 𝑖,𝑗 è il peso dellarco che connetteil nodo i al nodo j, misura la "forza" di un nodo in base alla somma dei pesi delle sueconnessioni. In un grafo pesato, la strength di un nodo è la somma dei pesi degli archiincidenti al nodo; in-strength e out-strength sono definite per i grafi pesati diretti,similarmente al in- e out-degree. In questo caso la strength è la frequenza attesa, con laquale un nodo comunica con i suoi vicini.Weighted Clustering Coefficient. Il clustering misura quanto i vicini di un nodotendono ad essere collegati tra di loro, ovvero quanto tendono con esso a formareuna clique (grafo completo). 47
  48. 48. Il local clustering di un nodo i è misurato con un coefficiente 𝐶 𝑖 , introdotto daWatts e Strogatz per le analisi delle small-world networks [2], definito come rapporto tra ilnumero attuale di archi tra il nodo i e i propri vicini e il numero massimo di archi checonnettono tra do loro i suoi vicini.Pertanto è definita come: 2 𝑒𝑖 𝐶𝑖 = 𝑑𝑣(𝑑𝑣 − 1)Dove dv è il degree del nodo i. Questa misura và calcolata solo per i nodi con 𝑑𝑣 >1, perché per quelli con 𝑑𝑣 = 1 è pari a 0.Il clustering coefficient del grafo è definito come la media di tutti i local cluster coefficient: 1 𝐶 = 𝐶𝑖 𝑁 𝑖In figura 3.2 si osserva che, nel caso di weighted graph, il semplice cluster coefficient puòsovrastimare la misura del clustering [2],[1], pertanto il local cluster coefficient vieneridefinito come: 2 𝑤 𝑖,𝑗 + 𝑤 𝑖,𝑘 𝐶𝑖 𝑊 = 𝑆 𝑖 (𝑑𝑣 − 1) 2 𝑗 ,𝑘Dove 𝑆 𝑖 è la Strength del nodo i, 𝑤 𝑖,𝑗 e 𝑤 𝑖,𝑘 sono rispettivamente i pesi degli archi checonnetto il nodo i ai suoi vicini j e k che sono tra di loro interconnessi.Fig.3.2: Esempio che mette a confronto il valore del cluster coefficient, calcolato per ilnodo 𝑣, con la rispettiva versione pesata. In questo caso particolare, il nodo 𝑣 hacomunicato con una frequenza maggiore, con il nodo 𝑗, dunque anche se 𝑣 fa parte 48
  49. 49. di una 4-clique, ne fa meno parte rispetto al caso non pesato. 𝐶 𝑣 = 0.5 risulta esserein questo caso una sovrastima rispetto a 𝐶 𝑣 𝑊 = 0.25.Modularity. Suddividere una rete in partizioni (o cluster) contenenti un elevatonumero di archi al loro interno e pochi archi che le connettono luna allaltra, vienedetto Community Detection. La modularity misura la qualità del partizionamento, ovveroquanto bene la struttura di un grafo è stata suddivisa in moduli (chiamati anchegruppi, cluster o community). Grafi con alta modularity hanno connessioni dense tra i nodi appartenenti allostesso modulo e sparse tra i nodi appartenenti a moduli differenti. La modularity èrappresentata dalla differenza tra il numero di archi contenuti nei cluster di unospecifico partizionamento del grafo e il numero atteso di archi contenuti nei clusterdi un grafo random, avente la stessa node degree distribution del grafo per cui vienecalcolata tale metrica [23],[24]. In questo modo è possibile stabilire se effettivamente il numero di archiinterni ad una community sia maggiore di quanto ci si aspetterebbe da un grafocasuale. Consideriamo un partizionamento 𝑉 = (𝑉1 , 𝑉2 , … , 𝑉 𝑘 ) di un grafo 𝐺(𝑉, 𝐸).La modularity 𝑄 è un punteggio assegnato al clustering definito come: 𝑘 1 𝑑𝑢 𝑑𝑣 𝑄= 𝐴 𝑢,𝑣 − 2𝑚 2𝑚 𝑖=1 𝑢,𝑣∈𝑉 𝑖Dove 𝑚 = #𝑎𝑟𝑐𝑕𝑖, 𝐴 𝑢,𝑣 = 1 𝑠𝑒 𝑢, 𝑣 ∈ 𝐸 e 0 altrimenti, 𝑑 𝑢 𝑑 𝑣 sono il degree dei 𝑑𝑢 𝑑𝑣rispettivi nodi 𝑢 e 𝑣, è il numero atteso di archi tra in nodi 𝑢 𝑒 𝑣 nel grafo 2𝑚random. Questa misura è un valore scalare compreso tra -1 e 1 e nel caso di retipesate è definita come [25]: 1 𝑘 𝑖 𝑘𝑗 𝑄= 𝐴 𝑖𝑗 − 𝛿 𝐶 𝑖 , 𝐶𝑗 2𝑚 2𝑚 𝑖,𝑗Dove 𝐴 𝑖𝑗 rappresenta il peso dellarco tra i nodi 𝑖 e 𝑗, 𝑘 𝑖 = 𝑗 𝐴 𝑖𝑗 è la somma deipesi degli archi incidenti al vertice 𝑖, 𝐶 𝑖 è la community a cui il vertice 𝑖 vieneassegnato, la funzione 𝛿 𝐶 𝑖 , 𝐶𝑗 è uguale a 1 se 𝐶 𝑖 = 𝐶𝑗 (𝑢 𝑒 𝑣 appartengono alla 1stessa community) e zero altrimenti ed 𝑚 = 2 𝑖,𝑗 𝐴 𝑖𝑗 . 49
  50. 50. Calcolare la modularity per grafi di grandi dimensioni, non è un processobanale in termini di tempo di calcolo. In [63] è stato definito il Louvain Method, unalgoritmo approssimato che permette di calcolare la metrica su grafi di grandidimensioni in tempi relativamente rapidi. Ad esempio, impiega solo due minuti peranalizzare una rete di due milioni di nodi. In figura 3.3 viene schematizzato il metodoLouvain, costituito da due fasi, ripetute iterativamente.Fig.3.3: vengono mostrate in modo schematico le due fasi del Louvain Method. Siripetono così i due passi fino a che non si rilevano più cambiamenti a fronte di nuoveiterazioni e la massimizzazione della modularity è raggiunta. Nella prima fase ciascun nodo viene associato ad una propria comunità. Perognuno di essi si verifica se il valore di modularità migliora inserendolo nel gruppo diciascuno dei suoi vicini. In caso positivo il nodo viene inserito nel cluster del vicino,altrimenti ognuno rimane nel proprio cluster di partenza. Questa operazione vieneripetuta fino a che non è più possibile migliorare il valore della modularity. Laseconda fase, aggrega i nodi appartenenti alla stessa community e costruisce unanuova rete, dove i nodi sono le community. Questi due passi vengono ripetutiiterativamente fino a che il valore della modulatiry converge a un valore stazionario,che risulta essere il massimo valore raggiungibile.Density. La densità di un grafo 𝐺(𝑉, 𝐸), che assume valori compresi tra 0 e 1,misura il rapporto tra il numero di archi che esistono nellinsieme 𝐸 e il massimo 50
  51. 51. numero possibile di archi che possono esistere tra tutti i nodi 𝑣 ∈ 𝑉. Pertanto ladensità viene calcolata nel caso di grafo non diretto (che non può avere cicli) comesegue: 2 𝐸 𝑉 ( 𝑉 − 1)Mentre nel caso di grafo diretto, viene calcolata come segue: 𝐸 𝑉 ( 𝑉 − 1)Se il numero di archi di un grafo si avvicina al numero massimo possibile, allora ilgrafo viene considerato denso, viceversa, se il grafo contiene pochi archi, vieneconsiderato sparso. Un grafo completo ha tutti i possibili archi, dunque ha unadensità pari a 1.3.3.2 Indicatori/metriche su grafo dinamicoFlooding time. Il processo di diffusione di un messaggio in un Contact Graph𝐺(𝑉, 𝐸), è simulato supponendo che, ogni entità che può essere diffusa su una retedi contatti, può essere modellata come un messaggio. Il processo è simulato in unoscenario ideale, dove ciascun nodo ha uninfinita quantità di risorse e il ritardo ditrasmissione del messaggio non viene considerato. Sia 𝑇 = 𝑡0 , 𝑡1 , … , 𝑡 𝑛 , linsieme di tutti gli istanti temporali in cui il grafovaria nel tempo, viene definito un semplice protocollo di flooding, dove ∀𝑡 𝑖 ∈ 𝑇, con0 ≤ 𝑖 ≤ 𝑛, un nodo 𝑣 invia il messaggio a tutti i vicini e a loro volta i vicini di 𝑣inviano il messaggio ai relativi vicini. Al fine di modellare il processo di diffusione di un messaggio, viene definitoun messaggio 𝑀 𝑣0,𝑡0 generato da un nodo 𝑣0 (chiamato seed) al tempo 𝑡0 . Il nodo𝑣0 viene scelto uniformemente fra tutti i nodi 𝑣 ∈ 𝑁 𝑛𝑜𝑡 𝑖𝑠𝑜𝑙𝑎𝑡𝑒𝑑 , dove 𝑁 𝑛𝑜𝑡 𝑖𝑠𝑜𝑙𝑎𝑡𝑒𝑑 ,è linsieme di tutti i nodi della rete non isolati e 𝑡0 è il primo tempo in cui il nodo 𝑣0appare nella rete dinamica. Viene utilizzando il protocollo di flooding, definito prima, per simulare unprocesso di diffusione di uninformazione. Eseguendo il protocollo 20 volte,calcolando una media dei risultati ottenuti per ogni simulazione, si può osservarecome in media cresce nel tempo il numero di nodi a cui il messaggio è arrivato. NelCapitolo 5 verrà usata tale osservazione per comparare i tempi diffusione di un 51

×