SlideShare ist ein Scribd-Unternehmen logo
1 von 150
Downloaden Sie, um offline zu lesen
Facoltร  di Ingegneria
         Corso di laurea in Ingegneria Informatica


            Tesi di laurea Magistrale in

               Ingegneria Informatica


Validation and analysis of mobility models



          Relatore                        Candidato
    Prof. Luca Becchetti               Umberto Griffo
         Correlatore
  Prof. Leonardo Querzoni




                       A/A 2011/2012
Indice
Introduzione ..................................................................................................... 4

User 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.......................................................................................................... 20

Mobility 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) ................................................................... 43

Grafi 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.4      Rappresentazioni di grafi dinamici...................................................................... 55
       3.4.1       Graph Exchange XML Format (GEXF) .................................................. 56
       3.4.2       Dynamic Network Format (DNF) ............................................................. 57

Sistema per l'analisi 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 link's existence ......................... 80
       4.5.5       Link's existence variability ........................................................................... 80
       4.5.6       Pearson correlation matrix........................................................................... 81
   4.6      Ulteriori script e riferimenti ................................................................................. 83

Validazione sperimentale dei modelli di mobilitร  .......................................... 84
   5.1      Comparazione con i dati dell'esperimento 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 dell'esperimento 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 ................................................................................. 141

Conclusioni .................................................................................................. 143
   6.1      Proposte di sviluppo future ............................................................................... 144

Bibliografia ................................................................................................... 147




                                                                                                                                   3
Introduzione
        I modelli di mobilitร  riproducono i movimenti di utenti mobili assegnando a
ciascuno di essi una posizione, una velocitร  ed un'accelerazione che cambiano nel
tempo. Nel lavoro svolto in questa tesi รจ stata condotta un'estesa analisi statistica
volta a indagare l'efficacia di due importanti modelli di mobilitร  nel riprodurre il
comportamento di tracce reali. A tale scopo รจ stato fatto uso di tracce di mobilitร 
raccolte in due esperimenti sociali svolti in due differenti contesti: l'esperimento
SocialDIS, svoltosi a partire dal 17/10/2011 al primo piano del Dipartimento di
Ingegneria informatica automatica e gestionale Antonio Ruberti della Sapienza
Universitร  di Roma, e l'esperimento NeonMACRO, effettuato il 20 Giugno 2012, in
occasione della mostra d'arte NEON, presso il museo d'arte contemporanea di Roma
MACRO.
        Tramite una piattaforma RFID-based sono stati tracciati i contatti di
prossimitร  tra persone in entrambi gli esperimenti. A partire da questi dati, sono stati
costruiti dei grafi dinamici che descrivono l'evoluzione temporale delle interazioni
sociali tra individui, usando un formalismo che consente di memorizzarli piรน
efficientemente di quanto fosse possibile in passato. Tale formalismo, ideato e
sviluppato in questo lavoro, permette una rappresentazione notevolmente compatta
ed efficiente in termini di occupazione di memoria e manipolabilitร .
        Per analizzare l'efficacia dei modelli nel riprodurre tracce compatibili con il
reale 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 dai
modelli di mobilitร  Random Waypoint e Truncated Lรฉvy Walk. A tal fine sono stati
sviluppati 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
๏‚ท   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 link's existence, Link's existence
        variability, Matrix correlation) dei grafi dinamici da confrontare.


        I grafi dinamici costruiti sono stati analizzati sia in forma aggregata che in
forma dinamica, rispettivamente aggregando le interazioni a distanza ravvicinata per
intervalli di tempo che vanno dalle 2 ore (nel caso NeonMACRO) alle 12 ore (nel
caso SocialDIS), e valutando l'evoluzione dei contatti secondo per secondo.
        Le prime analisi condotte mostrano che nel caso SocialDIS tipicamente gli
individui hanno contatti di prossimitร  prevalentemente con altri individui con cui
hanno stretto un legame d'amicizia e raramente con altri individui sconosciuti,
mentre nel caso NeonMACRO le persone tendono a comunicare soprattutto con
quelle 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 stati
opportunamente configurati per riprodurre in modo realistico il movimento delle
persone nei due differenti contesti. In particolare, una differenza fondamentale
emerge confrontando i risultati forniti dalle metriche statiche applicabili sui grafi
aggregati e dalle metriche dinamiche applicabili su quelli non aggregati. Gli agenti che
si muovono secondo questi due modelli di mobilitร  tendono a comunicare con quasi
tutti gli altri agenti e tendono a produrre intervalli tra contatti successivi che
mediamente risultano eccessivamente lunghi.
Successivamente si sono investigate importanti differenze temporali indotte dai
modelli e presenti anche nelle tracce reali. I modelli RWP e TLW mostrano inoltre
significative correlazioni spaziali tra contatti distinti, sia simulando quanto avviene in
SocialDIS che nel NeonMacro. Analizzando gli schemi delle comunicazioni in
SocialDIS si รจ riscontrato che la correlazione spaziale tra contatti distinti risulta
essere esigua, mentre risulta essere leggermente maggiore in NeonMACRO.
Infine, attraverso l'implementazione di un semplice protocollo di flooding si sono
investigate le proprietร  diffusive dei grafi prodotti dalle tracce reali e le si sono


                                                                                        5
confrontate con quelle dei modelli. E' stato appurato che entrambi i modelli, proprio
per il fatto di generare un elevato numero di comunicazioni che coinvolgono quasi
tutti gli individui, falliscono nel rappresentare il comportamento diffusivo mostrato
dagli esperimenti SocialDIS e NeonMACRO. La totalitร  dei risultati statistici di
questo studio hanno permesso di chiarire quali sono i limiti dei modelli di mobilitร 
adottati nella sperimentazione, almeno nel tipo di scenari considerati, in modo da
comprendere quali possano essere le modifiche da apportare per ottenere dei modelli
piรน 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 nell'ambito 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 l'analisi 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
๏€ 
๏€    Capitolo 5: vengono illustrati e motivati i risultati dell'analisi 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
Capitolo 1

User Mobility
La crescente diffusione e popolaritร  di dispositivi equipaggiati con interfacce di rete
wireless, come ad esempio gli smartphone di ultima generazione, rende possibile
collezionare nuove sorgenti dati, che descrivono il movimento e comportamento di
individui nei piรน disparati ambienti e contesti. L'accesso a tali collezioni di dati,
permette di investigare sulle interazioni delle reti sociali e sull'evoluzione di processi
dinamici, come la diffusione di un'informazione, la formazione di un'opinione, o un
processo epidemico.
        Esistono due tipi di data set usati per valutare processi e protocolli applicabili
alle reti mobili: dataset empirici (o Empirical dataset), collezionati catturando i dati dai
comportamenti reali dei dispositivi mobili, ovvero memorizzando le reali tracce di
mobilitร  dei dispositivi mobili, o dataset sintetici (o Synthetic dataset), creati usando i
modelli di mobilitร , che provano a riprodurre il comportamento dei dispositivi mobili
senza usare tracce di mobilitร  reali.
        I dati provenienti dal mondo reale consentono di capire gli schemi di
comportamento che gli esseri umani adottano nelle loro attivitร . Quando si vogliono
collezionare tali dati, le caratteristiche che interessa conoscere sono: posizione,
direzione, velocitร  e tempo di pausa. Esistono diverse tecnologie che permettono di
ottenere dati accurati sulle posizioni dei dispositivi, come i sensori GPS-based o
Radio-based, ed esistono gli accelerometri per catturare i valori di velocitร , direzione
e tempo di pausa.
        Queste tecnologie possono essere classificate in base a quanto accuratamente
riescono ad individuare la posizione di un dispositivo. Ad esempio utilizzando le reti
cellulari GSM/UMTS, la posizione dell'utente puรฒ essere determinata tramite varie
tecniche 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
Esiste un approccio alternativo per collezionare dati sui movimenti degli
individui, basato solo sulla raccolta dei contatti che avvengono tra di loro. Vengono
dunque raccolte le tracce dei contatti al posto delle tracce di mobilitร , omettendo tutti
i dati relativi a posizione, direzione, velocitร  e tempi di pausa, in modo da simulare
solo le comunicazioni tra dispositivi.
        Per quanto concerne il lavoro svolto in questa tesi, รจ trovato interessante
questo secondo approccio, ovvero collezionare dati generati da reti dinamiche di
contatti (o dynamic contact network), ossia grafi che rappresentano le interazioni
face-to-face o di prossimitร  tra individui. Catturando trace di mobilitร , basate sui
contatti reali, si possono osservare i veri comportamenti di tali individui.
        Nei prossimi sottoparagrafi saranno illustrate, quali tecnologie consentono la
raccolta di tracce di mobilitร  nei casi reali, le piรน recenti tracce di mobilitร  raccolte e
rese disponibili dal mondo accademico e quelle invece ottenute dagli esperimenti che
sono stati condotti nell'ambito del lavoro di tesi.

1.1 Tecnologie
Collezionare dataset realistici e di grandi dimensioni su attivitร  e interazioni umane รจ
un processo difficile e costoso. Al fine di costruire dataset empirici, ossia tracciare i
comportamenti umani, sono stati usati dispositivi mobili cellulari o smartphone,
laptop con schede di rete wireless e sensori wireless (ad esempio iMote), utilizzando
reti di comunicazione di tipo Bluetooth e WiFi [30],[31],[32].
        L'uso delle reti WiFi risulta essere, come dimostrato negli esperimenti
condotti dall'Universitร  di Dartmouth [33] e da quella di San Diego [41] , inaccurato
nel costruire tracce di mobilitร  realistiche tra dispositivi mobili. Utilizzando la
tecnologia WiFi i dati sulle interazioni device-to-device vengono raccolti assumendo
che i dispositivi mobili, che entrano nel raggio di comunicazione dello stesso AP
(access point), possono comunicare direttamente tra di loro, ossia i contatti vengono
registrati al tempo in cui i due dispositivi condividono lo stesso AP.
        Sfortunatamente, questa assunzione non รจ realistica, perchรฉ due dispositivi
collegati allo stesso access point non รจ detto che siano uno nel raggio di copertura
dell'altro, e viceversa, possono essere nei rispettivi raggi di copertura e non
condividere lo stesso AP. In quest'ultimo caso l'interazione non viene registrata
rendendo i dati raccolti poco realistici.


                                                                                         9
Inoltre un'altra problematica relativa alla tecnologia Wifi consiste nel fatto
che i dispositivi non sono sempre situati nello stesso punto dove si trova il
proprietario, pertanto i dati ottenuti non esprimono sempre i comportamenti di
mobilitร  degli individui. La tecnologia Bluetooth, utilizzata nell'esperimento [34]
condotto presso l'universitร  di Toronto, dove le tracce di mobilitร  sono state
collezionate da 20 cellulari distribuiti a gruppi di studenti, permette di collezionare
contatti senza che i dispositivi debbano essere nel raggio di comunicazione dell'AP,
ma allo stesso tempo richiede che il cellulare sia trasportato dai soggetti e che esso
abbia una batteria con un'autonomia sufficiente per la durata dell'intero esperimento.
        Se i cellulari vengono ricaricati, si possono condurre lunghi esperimenti, ma
ovviamente per essere ricaricato, il cellulare deve essere fermo e probabilmente
distante dal proprietario, ottenendo la stessa problematica illustrata per il caso WiFi.
Tracce di mobilitร  sono state collezionate anche con l'uso di sensori Intel iMote,
utilizzando sempre la tecnologia Bluetooth.
        Essi registrano un contatto quando un dispositivo Bluetooth qualsiasi (sia un
altro iMote che un PDA) entra nel suo raggio di copertura. Tramite questa tecnologia
sono state raccolte tracce di mobilitร  in contesti differenti [30], ad esempio durante la
conferenza IEEE INFOCOM 2005 di Miami [48], dove 41 iMote sono stati
trasportati dai partecipanti per 3 giorni, o presso un laboratorio di ricerca della
Universitร  di Cambrige, dove sono stati registrati i comportamenti e le tracce di
mobilitร  di 12 studenti di dottorato.
        Utilizzando le tecnologie Bluetooth e Wifi si possono raccogliere dati che
rivelano proprietร  strutturali e temporali di schemi di comportamento sociali, ma
oltre che per i problemi giร  illustrati, queste tecnologie non sono adatte a rilevare
contatti di prossimitร  (o face-to face) tra dispositivi, dal momento che possiedono
una risoluzione spaziale massima di 10 metri e temporale di 2-5 minuti che non ci
permette di stabilire se due individui comunicano uno di fronte all'altro a distanza
ravvicinata (ad esempio 1 metro).
        Tali limitazioni possono essere superate attraverso l'uso dei dispositivi RFID
(Radio Frequency Identification) [35],[65] RFID, una tecnologia per l'identificazione
automatica di oggetti, animali o persone, basata sulla capacitร  di memorizzazione di
dati da parte di particolari dispositivi elettronici (detti tag o transponder) e sulla
capacitร  di questi di rispondere "all'interrogazione" a distanza, da parte di appositi


                                                                                       10
apparati fissi o portatili chiamati reader a radiofrequenza, comunicando (o
aggiornando) le informazioni in essi contenute.
       I tag RFID sono dei dispositivi dalle piccole dimensioni, facilmente
indossabili da individui, che permettono di stabilire con accuratezza se questi sono in
prossimitร  l'uno dell'altro. Questo perchรฉ i dispositivi possono scambiarsi pacchetti
radio a bassa frequenza solo quando due persone si trovano ad una distanza che va
da 1 a 1.5 m e sono una di fronte all'altra, in quanto il corpo umano costituisce una
barriera a radio frequenze per la frequenza portante usata per la comunicazione.
       In tale contesto, la tecnologia RFID รจ stata adottata ed utilizzata dalla
piattaforma SocioPatterns (http://www.sociopatterns.org) [36], un framework sperimentale
RFID-based che permette di raccogliere dati sulle interazioni face-to-face tra
individui che interagiscono a distanza ravvicinata. Durante gli esperimenti
SocioPatterns [37],[38],[39],[40] i partecipanti indossano dei piccoli tag RFID.
       Quando gli individui indossano i tag continuamente vengono inviati pacchetti
dati in broadcast. Quando una relazione di prossimitร  (o contatto) viene rilevata, il
dispositivo invia un messaggio ad alta potenza. Questo pacchetto dati contiene un
time stamp, l'id della stazione (RFID reader) che lo ha ricevuto e l'id dei tag che
hanno partecipato nell'interazione. Il messaggio ricevuto dagli RFID reader,
posizionati in modo fisso nell'ambiente, viene memorizzano localmente dal reader ed
inoltrato ad un server centrale tramite rete LAN (Local Area Network), in modo da
processare le informazioni in modalitร  online o offline.
       I tag RFID e I reader RFID usati negli esperimenti SocioPatterns, e negli
esperimenti condotti nella tesi, sono stati creati ed ottenuti dal progetto OpenBeacon
(http://www.openbeacon.org/). In figura 1.1 viene mostrata l'immagine di un tag RFID.




                                                                                     11
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 tra
individui, analizzando tracce di mobilitร  reali, permette di fare luce su diversi
fenomeni studiati in varie aree di ricerca. A tal fine puรฒ risultare utile analizzare
collezioni di dati raccolte e rese disponibili dal mondo accademico, oppure, come รจ
stato fatto nel lavoro di tesi, condurre esperimenti dove vengono collezionate tracce
di contatti utilizzando una piattaforma RFID-based.
       Nei prossimi quattro sottoparagrafi saranno illustrati rispettivamente, i data
sets forniti dalla Community Resource for Archiving Wireless Data di Dartmouth
(CRAWDAD) [43], i data sets raccolti durante gli esperimenti SocioPatterns [36], i dati
collezionati nel progetto SocialDIS [44] presso il Dipartimento di Ingegneria
informatica automatica e gestionale Antonio Ruberti della Sapienza Universitร  di
Roma, e quelli ottenuti nel progetto MACRO [45] svoltosi presso il museo d'arte
contemporanea di Roma MACRO. Questi ultimi due data set sono stati collezionati
utilizzando i dispositivi ottenuti dal progetto OpenBeacon (http://www.openbeacon.org/),



                                                                                     12
in collaborazione con il Wireless Sensor Network group [46] del Dipartimento di
Ingegneria informatica automatica e gestionale Antonio Ruberti della Sapienza
Universitร  di Roma.

1.2.1 CRAWDAD
La Community Resource for Archiving Wireless Data di Dartmouth (CRAWDAD) [43] รจ
un gruppo di ricerca, che ha costruito un repository (raggiungibile al seguente sito
http://crawdad.cs.dartmouth.edu/data.php), dove vengono fornite trace di mobilitร 
a chiunque lavori nell'ambito delle reti wireless o con dispositivi mobili.
Questa raccolta contiene decine di dataset, ma solo quelli che descriveremo
raccolgono tracce di contatti, utili per l'analisi della mobilitร  di individui.


Cambridge/Haggle
Nell'articolo [48] รจ stato descritto un esperimento che ha coinvolto 41 partecipanti
presso la conferenza INFOCOM 2005 a Miami. Nello studio รจ stato mostrato che le
distribuzioni degli intervalli di tempo durante il quali due nodi possono comunicare,
hanno un andamento di tipo power-law. Per collezionare le tracce di contatti รจ stata
utilizzata la tecnologia Bluetooth, di cui sono forniti i dispositivi Intel iMote.
        Tali dispositivi, costituiti da un processore ARM, una radio Bluetooth e una
memoria flash, sono stati confezionati e distribuiti a volontari, che si sono impegnati
a trasportarli durante il loro spostamenti per tutta la durata della conferenza. Le
tracce dei contatti degli individui sono state collezionate eseguendo la procedura di
inquiry, ossia l'identificazione, da parte di un dispositivo, dei vicini che si trovano nel
suo raggio di copertura.
        Lo stato di inquiry dura cinque secondi, dopo i quali il dispositivo entra in
modalitร  standby per 120 secondi, piรน ยฑ12 secondi, valore scelto estraendo un
numero casuale da una distribuzione uniforme. Il numero di secondi casuali serve ad
evitare che due dispositivi possano eseguire l'inquiry simultaneamente senza riuscire a
vedersi l'uno con l'altro. Quando viene rilevato un contatto, vengono registrati gli
indirizzi MAC dei due dispositivi che hanno comunicato, il tempo in cui avviene
l'interazione e il tempo in cui la comunicazione termina.




                                                                                        13
MIT/Reality Mining
Nathan Eagle nell'articolo [49], per ottenere gli indirizzi MAC di cellulari Bluetooth
ha sviluppato l'applicazione BlueAware, un software che registra i timestamp e gli
indirizzi MAC dei dispositivi che si trovano in prossimitร  l'uno dell'altro, nello
specifico di 60 cellulari con sistema operativo Symbian.
        L'applicazione riceve dal dispositivo Bluedar, un cellulare posizionato
nell'ambiente di studio che scansiona tutti i dispositivi visibili nel raggio di 25m, gli
indirizzi MAC, attraverso una rete 802.11b. L'esperimento Reality Mining ha
collezionato dati da 100 smartphone Nokia 6600 per nove mesi, scaricabili sia dal
repository del CRAWDAD, sia dal sito del progetto (http://reality.media.mit.edu).

1.2.2 SocioPattern
La Piattaforma RFID-based SocioPatterns ha collezionato tracce di mobilitร ,
disponibili sul sito web http://www.sociopatterns.org/dataset/, in diversi ambienti e
contesti. Bisogna tenere presente, che la piattaforma SocioPatterns non effettua un
tracciamento delle traiettorie e delle localizzazioni spaziali accurato, ma si focalizza
sul raccogliere accuratamente i contatti di prossimitร  tra individui, basandosi sulle
proprietร  topologiche e temporali della mobilitร  dei nodi. Questa piattaforma rileva e
registra 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.
        All'esibizione scientifica Infectus: Stay Away presso la Science Gallery di Dublino,
Irlanda, dal 17 aprile al 17 giugno 2009, dove hanno partecipato circa 30000
visitatori, vengono mostrate opere artistiche raffiguranti i meccanismi di contagio di
un virus. In questa occasione รจ stato collezionato un dataset contenente le reti
dinamiche 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, e
l'intervallo 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 stesso valore di ๐‘ก. Il tempo รจ misurato in secondi ed espresso nel formato
UNIX time. Questo dataset รจ la controparte dinamica della rete di contatti aggregata


                                                                                         14
giornalmente, disponibile in formato GML (Graph Modelling Language) [48], un
formato 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 grafo
costituito 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 stati
raccolti dati sulle interazioni face-to-face tra 232 bambini e 10 insegnanti distribuiti in
10 aule. I dataset comprendono due reti pesate di contatti avvenuti tra studenti ed
insegnati, 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 interazioni
face-to-face.
        I nodi hanno un attributo che indica la classe di appartenenza dell'individuo,
ad esempio gli insegnanti hanno assegnato il valore "Teacher". Gli archi tra il nodo A
e il nodo B hanno due pesi associati: durata, che รจ il tempo totale per cui A e B
hanno 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 una
giornata 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 in
modo piรน approfondito nel capitolo 3, quando verrร  illustrato un nuovo formalismo
ideato 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 SocioPatterns
project ha installato l'applicazione Live Social Semantics [39]. I partecipanti alla
conferenza hanno volontariamente indossato dei radio badge che monitorano i loro
contatti di prossimitร . Il dataset pubblicato sul sito del progetto, che rappresenta la
rete 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 l'intervallo


                                                                                        15
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 รจ l'ID di una persona e il corrispondente
        valore รจ il dizionario dei vicini di quella persona. Il dizionario dei vicini ha una
        chiave con l'ID 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        77922321
1240913019         78577671        96403467
1240913019         77922321        96403467
1240913039         78577671        77922321
1240913039         77922321        96403467
1240913059         78577671        77922321
1240913059         77922321        96403467
1240913079         78577671        77922321
1240913079         77922321        96403467
1240913099         96403467        77922321
1240913099         96403467        78577671
1240913099         77922321        78577671
1240913179         77922321        96403467

Listato.1.1: Viene mostrato un frammento del file contenente la lista di contatti
dinamici del 28/04/2009, collezionati durante l'esibisione Infectus: Stay Away.

graph
[
    node
    [
     id A
    ]
    node
    [
     id B
    ]
    node
    [
     id C
    ]
     edge
    [



                                                                                          16
source B
     target A
    ]
    edge
    [
     source C
     target A
    ]
]

Listato.1.2: Questo semplice codice mostra come definire un grafo di tre nodi e due
archi.


"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 la
lista degli ID dei suoi vicini. Per ogni chiave rappresentante l'ID del vicino e
associato come valore la lista degli istanti temporali in cui c'รจ stato il corrispettivo
contatto.

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 e
gestionale Antonio Ruberti della Sapienza Universitร  di Roma. A partire dal
17/10/2011 sono stati tracciati per quattro giorni, in modo assolutamente anonimo, i
movimenti e i contatti di prossimitร  tra gli studenti che si sono offerti volontari.
           Hanno aderito all'esperimento circa 120 studenti, che hanno indossato un tag
RFID attivo per tutta la durata della loro permanenza nel dipartimento. Come viene
mostrato in figura 1.2, sono stati installati 20 lettori RFID al primo piano
dell'edificio, distribuendoli in tutte le aule, nella segreteria, nella sala studio, nella



                                                                                       17
presidenza e nel dispaccio (stanza dove vengono venduti cibi e bevande agli
studenti).




Fig.1.2: La figura mostra come gli RFID reader, identificati dai pallini neri, siano
posizionati nelle in tutte le stanze e nei corridoi del primo piano del primo piano del
Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti
della Sapienza Universitร  di Roma. I pallini azzurri identificano gli studenti che si
trovano in prossimitร  dei lettori di tag RFID ad un determinato istante temporale.


I tag RFID indossati dagli studenti, periodicamente diffondono in broadcast
pacchetti radio a bassa frequenza contenenti informazioni riguardo, la loro posizione
e i contatti ravvicinati che hanno con uno o piรน individui. I dispositivi, che sono stati
fatti 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 si
trovano uno di fronte all'altro ad una distanza che va da 1 a 1.5 m, invia un
messaggio ad alta potenza verso il reader piรน vicino. Questo pacchetto dati contiene
un time stamp, l'id del reader che lo ha ricevuto e l'id dei tag che hanno partecipato
nell'interazione. Il messaggio ricevuto dai reader viene memorizzato localmente ed
inoltrato tramite rete LAN (Local Area Network) ad un server centrale, che
colleziona e memorizza i dati, processabili successivamente offline. Alla fine

                                                                                      18
dell'esperimento รจ stato collezionato un dataset di 250 MB, contenente tutte le
interazioni avvenute durante l'esperimento, visualizzabili sotto forma di grafo pesato
in figura 1.3.




Fig.1.3: Vengono mostrate le interazioni sociali tra gli studenti durante l'esperimento
SocialDIS. La grandezza e il colore di un nodo indica il numero di vicini. I nodi
piccoli e verdi hanno poche relazioni con gli altri nodi, mentre quelli grandi e blu
hanno tante relazioni con gli altri nodi. Lo spessore dell'arco indica quanto
frequentemente due persone interagiscono. Un arco sottile indica poche interazioni
tra due persone, mentre un arco spesso indica che ci sono state molte interazioni tra
due persone.




                                                                                    19
Nel grafo ciascun nodo rappresenta un visitatore e ciascun arco rappresenta il
contatto avvenuto tra due individui. La grandezza ed il colore di ciascun nodo e il
peso ed il colore di ciascun arco rappresentano la rispettiva frequenza, ossia il
rapporto tra il numero di secondi in cui esso esiste e la durata totale dell'esperimento.
        Un esempio di informazione che si puรฒ ottenere da tale dataset รจ: Il tag con
id 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ร  della
persona a cui รจ associato il tag con id xxxx.
Inoltre a ciascun studente รจ stato chiesto di fornirci le seguenti informazioni
personali in forma anonima:
    ๏‚ท   Etร 
    ๏‚ท   Sesso (maschio/femmina)
    ๏‚ท   Status (corso di studi e anno accademico)
        Con le trace di contatto che sono state ottenute dall'esperimento possiamo
analizzare le relazioni tra individui: analizzare gli spazi condivisi (aule, corridoi,
segreteria), analizzare le relazioni tra studenti, ad esempio individuando la formazione
di comunitร  o cluster.
        Nel capitolo 5 si vedrร , utilizzando le metriche definite e descritte nel capitolo
3, se i modelli di mobilitร  (descritti nel capitolo 2) generano grafi dinamici, con
proprietร  topologiche e temporali vicine a quelle possedute dal grafo dinamico
ottenuto dal dataset empirico relativo all'esperimento condotto.
        Per quanto concerne il tracciamento della mobilitร  degli studenti, precisiamo
che, non effettuiamo un tracciamento delle traiettorie e delle localizzazioni spaziali
accurato, ma raccogliamo solamente i contatti di prossimitร  tra individui. Possiamo
solamente conoscere la posizione dello studente, ossia in che stanza o corridoio si
trova, in base a quale lettore RFID riceve il segnale ad alta potenza inviato dal tag.

1.2.4 MACRO
Il 20 Giugno 2012 รจ stato effettuato un secondo esperimento simile a SocialDIS,
presso il museo d'arte contemporanea di Roma MACRO, chiamato da ora in poi
NeonMACRO. Durante la mostra d'arte NEON, sono stati tracciati in modo
completamente anonimo i movimenti dei visitatori (ad esempio, quale opera un



                                                                                         20
visitatore sta guardando e per quanto tempo), i contatti di prossimitร  tra i visitatori
che hanno accettato di partecipare all'esperimento.
        I circa 120 visitatori aderenti all'iniziativa, hanno indossato un tag RFID
attivo per tutta la durata della loro visita nella sala Enel del museo. Come viene
mostrato in figura 1.4, sono stati installati 8 lettori RFID nella sala espositiva,
posizionandoli vicino le opere d'arte principali. I tag RFID indossati dai visitatori,
come nell'esperimento SocialDIS, periodicamente diffondono in broadcast pacchetti
radio a bassa frequenza contenenti informazioni riguardo, la loro posizione e i
contatti ravvicinati che hanno con uno o piรน soggetti. Anche in questo caso, i
dispositivi sono stati ottenuti dal progetto OpenBeacon (http://www.openbeacon.org).




Fig.1.4: La figura mostra come gli RFID reader, identificati dai pallini neri, siano
posizionati le opere d'arte esibite al museo d'arte contemporanea di Roma MACRO.




                                                                                       21
Quando due visitatori si trovano uno di fronte all'altro ad una distanza che va
da 1 a 1.5 m, il rispettivo tag indossato rileva il contatto ed invia un messaggio ad alta
potenza verso il reader piรน vicino. Il pacchetto dati inviato, contiene un time stamp,
l'id del reader che lo ha ricevuto e l'id dei tag che hanno partecipato nell'interazione.
        Il messaggio ricevuto dai reader viene, anche questa volta, memorizzato
localmente ed inoltrato tramite rete LAN (Local Area Network) ad un server
centrale, collocato in quella che viene chiamata "Area", un open space del museo
dove i visitatori possono rilassarsi, conoscere altre persone e condividere idee.
         Il server colleziona e memorizza i dati, che saranno successivamente
processati ed analizzati offline. Alla termine dell'esperimento รจ stato raccolto un
dataset di 10 MB. In figura 1.5 possiamo visualizzare, sottoforma di grafo pesato,
tutte le interazioni tra visitatori avvenute durante l'esperimento.




Fig.1.5: Vengono mostrate le interazioni sociali tra le persone durante l'esperimento
NeonMACRO. I visitatori piรน sociali sono rappresentati da cerchi grandi e di colore
scuro. Lo spessore degli archi dipende dalla frequenza con cui avviene l'interazione
tra due visitatori.

                                                                                       22
Ciascun nodo rappresenta un visitatore e ciascun arco rappresenta il contatto
avvenuto tra due individui. La grandezza di ciascun nodo e il peso di ciascun arco
rappresentano la rispettiva frequenza, ossia il rapporto tra il numero di secondi in cui
esso esiste e la durata totale dell'esperimento.
        Questo permette di visualizzare immediatamente nel grafo quali siano i
visitatori piรน socievoli e quelli meno socievoli. A ciascun visitatore รจ stato chiesto di
fornire 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 l'identificativo del gruppo )

        La raccolta di queste ulteriori informazioni ha permesso di effettuare delle
semplici ed immediate analisi sul comportamento dei visitatori. In figura 1.6 si
possono visualizzare le interazioni tra gruppi di visitatori. In figura 1.7 si puรฒ
osservare, il grafo pesato rappresentante tutte le interazioni tra i visitatori (classificati
per etร ) e le opere d'arte, mentre in figura 1.8 il grafo pesato raffigura tutte le
interazioni tra i visitatori (classificati per titolo di studio) e le opere d'arte.
        Nel capitolo 5 si vedrร , utilizzando le metriche definite e descritte nel capitolo
2, se i modelli di mobilitร  (descritti nel capitolo 2) generano grafi dinamici, con
proprietร  topologiche e temporali vicine a quelle possedute dal grafo dinamico
ottenuto dal dataset empirico relativo all'esperimento condotto.
        Anche in questo caso il tracciamento della mobilitร  dei visitatori, non
raccoglie le traiettorie e le localizzazioni spaziali in maniera accurata, ma raccoglie
solamente i contatti di prossimitร  tra individui. Si possono solamente conoscere la
posizione del visitatore, ossia in che posizione della sala Enel si trova (o che opera
d'arte stia guardando), in base a quale lettore RFID riceve il segnale ad alta potenza
inviato dal tag indossato.




                                                                                          23
Fig.1.6: Il grafo mostra le interazioni fra i gruppi di visitatori. Ciascun nodo
rappresenta un gruppo costituito dalle persone entrate in sala accompagnate.




                                                                               24
Fig.1.7: Il grafo mostra le interazioni tra i visitatori e le opere d'arte. I pallini scuri e
grandi rappresentano le opere d'arte, mentre i pallini colorati piรน piccoli
rappresentano i visitatori, che sono stati classificati in base alla loro etร , compresa tra
0-9, 10-19, 20-29, 30-39, 40-49, 50-59, 60-69, 70-79, 80 e piรน anni.




                                                                                          25
Fig.1.8: Il grafo mostra le interazioni tra i visitatori e le opere d'arte. I pallini scuri e
grandi rappresentano le opere d'arte, mentre i pallini colorati piรน piccoli
rappresentano i visitatori, che sono stati classificati in base al titolo di studio (Master,
Bachelor, High School, Ph.D., Primary School e Mid School).
    ๏€ 




                                                                                          26
Capitolo 2

Mobility Models
        Nel precedente capitolo sono state descritte le tecnologie con le quali
vengono collezionati i dataset empirici, ossia dati che mostrano i comportamenti reali
dei dispositivi mobili (nel nostro caso tag RFID). In questo capitolo verrร  definito
cosa sono invece i dataset sintetici (o Synthetic dataset), dati generati usando i modelli di
mobilitร , ed saranno illistrativi modelli che tentano di riprodurre il comportamento
dei dispositivi mobili, senza usare tracce di mobilitร  reali.
        I Synthetic data sono secondo il McGraw-Hill Dictionary of Scientific and
Technical Terms [12] "qualunque raccolta di dati applicabile a una data situazione,
che non sia ottenibile tramite una misurazione diretta". Catturare i movimenti di
individui (o nodi mobili) permette di osservare gli schemi di comportamento presenti
in sistemi di vita reale. Il processo di tracciamento perรฒ, รจ un'operazione difficile da
fare quando viene coinvolto un gran numero di persone e l'osservazione viene
eseguita per lunghi periodi di tempo.
I protocolli e le applicazioni per le reti mobili non sono facilmente modellabili e le
loro performance non sono facilmente valutabili se non si conoscono i movimenti
degli individui, che verranno chiamati da ora user trace. Se si vogliono produrre delle
user trace senza ricorrere a complesse infrastrutture per collezionare i dati (ad esempio
la piattaforma SocioPatters illustrata nel capitolo 1), รจ necessario utilizzare i synthetic
models. I Synthetic models rappresentano realisticamente il comportamento di nodi
mobili senza aver bisogno di catturare user trace dal mondo reale.
Tracy Camp nell'articolo [13] presenta diversi modelli di mobilitร , che sono stati
utilizzati per valutare le performance di protocolli per reti ad hoc. L'autore enfatizza
il bisogno di sviluppare modelli di mobilitร  accurati per rappresentare realisticamente
i movimenti di utenti mobili, esplorando le limitazioni delle strategie adottate dai
modelli attualmente utilizzati. Egli classifica i modelli di mobilitร  in due tipi: individual
mobility models e group mobility models.

                                                                                          27
Gli Individual mobility models o memoryless models [14],[15] descrivono nodi le cui
azioni sono indipendenti l'uno dall'altro. Questi semplici modelli sono i piรน usati per
valutare reti mobili wireless, in cui ogni dispositivo รจ indipendente dagli altri e quindi
non 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 l'uno dall'altro. Nei prossimi
paragrafi saranno decritti i seguenti Individual mobility models, i piรน famosi ed utilizzati
nel 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 dell'area 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 l'area 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
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
        all'interno 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 models
Verrano descritti ora i modelli di mobilitร  in cui ciascun nodo ha un comportamento
indipendente 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 da
Einstein nel 1926 [50]. Il modello si basa sul moto browniano, ossia sul movimento
disordinato e casuale delle particelle (aventi diametro dell'ordine del micrometro)
presenti in fluidi o sospensioni fluide. In questo modello di mobilitร , viene
inizialmente definita un'area rettangolare di dimensione ๐‘‹ ๐‘š๐‘Ž๐‘ฅ ร— ๐‘Œ ๐‘š๐‘Ž๐‘ฅ ed il numero
totale di nodi ๐‘.
        Ciascun nodo si muove dalla sua posizione corrente alla sua posizione
successiva scegliendo casualmente una direzione e una velocitร  con cui viaggiare. Il
valore della velocitร  viene scelto da una distribuzione e puรฒ essere compreso tra un
valore minimo e un valore massimo ๐‘ ๐‘๐‘’๐‘’๐‘‘๐‘š๐‘–๐‘›, ๐‘ ๐‘๐‘’๐‘’๐‘‘๐‘š๐‘Ž๐‘ฅ . Anche la direzione
viene scelta casualmente da una distribuzione uniforme con valori compresi tra
0, 2๐œ‹ .
        Ogni passo di simulazione termina dopo un tempo prestabilito t o dopo una
certa distanza d, alla fine delle quali ciascun nodo sceglie una nuova direzione e
velocitร . Del Random Walk Mobility Model sono state derivate altre versioni, chiamate
d-D walks, dove d rappresenta il numero di dimensioni dell'area 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ร  e
la direzione correnti di un nodo mobile, sono indipendenti da quelle passate. In



                                                                                      29
figura 2.1 (ottenuta dal sito http://paginas.fe.up.pt/~ee03058/stat_art.html) osserviamo
che questa caratteristica puรฒ generare movimenti umani irrealistici.




Fig.2.1: Esempio di come si muove un nodo mobile usando il Random Walk
Mobility Model versione 2-D.


Se il tempo ๐‘ก o la distanza ๐‘‘, che definiscono quanto dura un passo della
simulazione, sono troppo corti, i nodi si muovono solo in una piccola parte dell'area
di simulazione, generando uno schema di movimento adatto all'analisi di reti semi
statiche. Pertanto se si vogliono invece analizzare reti dinamiche, dobbiamo scegliere
grandi 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 descrive
come si muovono i nodi in una rete mobile in una data area. In questo modello di
mobilitร  viene definita un'area rettangolare di dimensione ๐‘‹ ๐‘š๐‘Ž๐‘ฅ ร— ๐‘Œ ๐‘š๐‘Ž๐‘ฅ e stabilito il
numero totale di nodi ๐‘. Ciascun nodo viene casualmente posizionato nell'area in un
punto (๐‘ฅ, ๐‘ฆ), dove ๐‘ฅ e ๐‘ฆ sono entrambi uniformemente distribuiti rispettivamente su
0, ๐‘‹ ๐‘š๐‘Ž๐‘ฅ e 0, ๐‘Œ ๐‘š๐‘Ž๐‘ฅ . A ciascun nodo vengono assegnati un punto di arrivo o
destinazione (๐‘ฅ0 , ๐‘ฆ0 ), casualmente scelto tra i punti dell'area, e una velocitร  v, che รจ



                                                                                       30
casualmente scelta da una distribuzione uniforme in un intervallo compreso tra
  ๐‘š๐‘–๐‘›๐‘ ๐‘๐‘’๐‘’๐‘‘, ๐‘š๐‘Ž๐‘ฅ๐‘ ๐‘๐‘’๐‘’๐‘‘ . Un nodo inizia a muoversi verso la destinazione con
velocitร  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 il
comportamento 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 Waypoint
Mobility Model in un'area 1000 x 1000 m.


Se al modello si assegna a ciascun nodo un waiting time pari a zero e
  ๐‘š๐‘–๐‘›๐‘ ๐‘๐‘’๐‘’๐‘‘, ๐‘š๐‘Ž๐‘ฅ๐‘ ๐‘๐‘’๐‘’๐‘‘           =   ๐‘ ๐‘๐‘’๐‘’๐‘‘๐‘š๐‘–๐‘›, ๐‘ ๐‘๐‘’๐‘’๐‘‘๐‘š๐‘Ž๐‘ฅ , il Random Waypoint
Mobility Model diventa simile al Random Walk Mobility Model. Il modello presenta
il seguente problema [13]: ciascun nodo mobile viene posizionato in modo casuale
nell'area di simulazione, non rappresentando in modo realistico il modo in cui i nodi
si distribuiscono quando si muovono. In [13] viene mostrato che nel modello si
attenua il problema della posizione iniziale dopo circa 600 secondi di simulazione e
che esistono tre possibili soluzioni per evitare l'inaccuratezza del modello, dovuta alla
posizione iniziale dei nodi.
        La prima soluzione รจ salvare le posizioni dei nodi al termine di una
simulazione durata piรน di 600 secondi ed utilizzarle come posizioni iniziali nelle

                                                                                      31
simulazioni successive. La seconda รจ scegliere la posizione iniziale secondo una
distribuzione di probabilitร  che rappresenta meglio la realtร  che vogliamo simulare.
La terza consiste nello scartare i primi 1000 secondi di simulazione. La terza
soluzione รจ migliore della prima, perchรฉ garantisce che ciascuna simulazione abbia un
inizializzazione 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 percorrono
l'area 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 essi
possono avere, perchรฉ i nodi che sono vicini al bordo dell'area di simulazione, hanno
maggiore probabilitร  di scegliere una destinazione che si trovi verso il centro
dell'area, dove la probabilitร  di incontrare nodi cresce, mentre quando si trovano sul
bordo dell'area la probabilitร  di incontrare nodi decresce. Queste variazioni di densitร 
(chiamate density wave) del numero medio di vicini in base alla zona, vengono risolte
nel modello descritto nel prossimo paragrafo.

2.1.3 Random Direction (RD)
Il Random Direction Mobility Model (RD)descritto in [52], รจ stato ideato per evitare le
variazioni del numero medio di vicini che si hanno in base alla zona dell'area di
simulazione raggiunta da un nodo mobile, che avvengono nel modello RWP. I
quest'ultimo modello รจ stato visto che la probabilitร  con cui un nodo sceglie una
nuova destinazione localizzata nel centro dell'area di simulazione, o che richiede
l'attraversamento 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 con
maggiore probabilitร  vicino i bordi dell'area di simulazione.
        Come visto modello precedentemente illustrato, anche ora viene definita
un'area rettangolare di dimensione ๐‘‹ ๐‘š๐‘Ž๐‘ฅ ร— ๐‘Œ ๐‘š๐‘Ž๐‘ฅ ed il numero totale di nodi ๐‘.
Ciascun nodo viene casualmente posizionato nell'area 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 una
distribuzione uniforme in un intervallo compreso tra      ๐‘š๐‘–๐‘›๐‘ฃ, ๐‘š๐‘Ž๐‘ฅ๐‘ฃ e un angolo di
direzione, scelto casualmente da una distribuzione uniforme con valori compresi tra


                                                                                     32
0, 2๐œ‹ , come avviene nel modello RW. Ciascun nodo dopo aver scelto la direzione,
la segue fino ad arrivare al bordo dell'area di simulazione con velocitร  ๐‘ฃ.
        Quando un nodo raggiunge il bordo si ferma per un tempo chiamato waiting
time, 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.
        Dato che i nodi restano per molto tempo sui bordi dell'area di simulazione, la
distanza media tra i nodi risulta maggiore rispetto agli altri modelli, per questo
motivo un pacchetto dati o un informazione, raggiunge un nodo attraversando un
numero medio di hop maggiore rispetto agli altri modelli. Dunque la rete ottenuta
dalla simulazione risulta partizionata.
        Per diminuire tale problema, รจ stata ideata una versione modificata del
modello RD, descritta in [51], in cui i nodi mobili continuano a scegliere casualmente
una direzione, ma non devono raggiungere necessariamente il bordo dell'area di
simulazione affinchรจ si fermino ed aspettino il waiting time, per poi ripartire per una
nuova direzione. Questa modifica rende il modello RD identico al modello RW con il
waiting time.

2.1.4 Truncated Lรจvi Walk (TLW)
        Gli schemi di mobilitร  degli esseri umani vengono tipicamente approssimati
con il modello RW (descritto nel paragrafo 2.1.1) o RWP (illustrato nel paragrafo
2.1.2). Attraverso delle misurazioni fatte in natura si รจ osservato che le traiettorie
seguite 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 ad
un altro, senza cambiare direzione o tempo di pausa.
        Queste osservazioni sono state poi generalizzate al caso umano nello studio
descritto in [20], dove, catturando tramite tecnologia GPS le user trace di 44
volontari distribuiti in diversi ambienti outdoor (campus universitari, metropolitane,
parchi), si รจ riscontrato che le human walks hanno delle forti correlazioni statistiche
con le Lรฉvy walks. Gli autori enfatizzato il fatto che le somiglianze possono essere
solo di tipo statistico, perchรฉ gli umani si muovono in base all'attivitร  che devono
svolgere o alle loro preferenze, dunque non possono spostarsi in modo casuale.




                                                                                     33
In figura 2.5 si nota che, le Lรฉvy walks [20] sono un insieme di tanti flight corti
e rari flight lunghi e che le tracce di mobilitร  risultano essere piรน realistiche di quelle
ottenute dai modelli di mobilitร  RW e RWP.
        Nello studio รจ stato scoperto che, le flight distribution e le waiting time distribution
dei partecipanti all'esperimento, sono truncated power-law distribution, e che la Inter contac
time (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 seguenti
caratteristiche:
    ๏‚ท   Le lunghezze dei flight seguono una truncated power law con esponente ๐›ผ:
                   โˆ’ 1+๐›ผ
         ๐‘ ๐‘™ ~ ๐‘™           ,๐‘™< ๐‘™   ๐‘š๐‘Ž๐‘ฅ ;

    ๏‚ท   i waiting times seguono una truncated power law con esponente                         ๐›ฝ:
         ๐œ“ ๐‘ก ~๐‘ก โˆ’ 1+๐›ฝ , 0 < ๐‘ก < ๐‘ก ๐‘š๐‘Ž๐‘ฅ ;
    ๏‚ท   l'angolo 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 una
relazione tra la direzione e la velocitร  di un nodo nel tempo passato e la direzione e
velocitร  del nodo correnti [55]. Definita un area'rettangolare di dimensione ๐‘‹ ๐‘š๐‘Ž๐‘ฅ ร—
 ๐‘Œ ๐‘š๐‘Ž๐‘ฅ ed il numero totale di nodi ๐‘, la velocitร  di un nodo mobile รจ descritta da un
vettore ๐‘ฃ = ๐‘ฃ, ๐œƒ , dove v รจ la velocitร  e ๐œƒ รจ la direzione. Ciascun nodo viene

                                                                                             34
casualmente posizionato nell'area in un punto (๐‘ฅ, ๐‘ฆ). Ad ogni passo della
simulazione, di durata โˆ†๐‘ก, la velocitร  e la posizione di ogni nodo viene aggiornata
secondo le seguenti equazioni:
                    ๐‘ฃ ๐‘ก + โˆ†๐‘ก = ๐‘š๐‘–๐‘› ๐‘š๐‘Ž๐‘ฅ ๐‘ฃ ๐‘ก + โˆ†๐‘ฃ, 0 , ๐‘‰๐‘š๐‘Ž๐‘ฅ
                                 ๐œƒ ๐‘ก + โˆ†๐‘ก = ๐œƒ ๐‘ก + โˆ†๐œƒ
                          ๐‘ฅ ๐‘ก + โˆ†๐‘ก = ๐‘ฅ ๐‘ก + ๐‘ฃ ๐‘ก โˆ— ๐‘๐‘œ๐‘ ๐œƒ ๐‘ก
                          ๐‘ฆ ๐‘ก + โˆ†๐‘ก = ๐‘ฆ ๐‘ก + ๐‘ฃ ๐‘ก โˆ— ๐‘ ๐‘–๐‘›๐œƒ ๐‘ก
dove ๐‘‰๐‘š๐‘Ž๐‘ฅ รจ la massima velocitร  definita nella simulazione, โˆ†๐‘ฃ รจ la variazione di
velocitร  che รจ uniformemente distribuita tra โˆ’๐ด        ๐‘š๐‘Ž๐‘ฅ   โˆ— โˆ†๐‘ก, ๐ด   ๐‘š๐‘Ž๐‘ฅ   โˆ— โˆ†๐‘ก , ๐ด   ๐‘š๐‘Ž๐‘ฅ   รจ la
massima accelerazione che puรฒ raggiungere un nodo, โˆ†๐œƒ รจ la variazione di direzione
che รจ uniformemente distribuita tra โˆ’๐›ผ โˆ— โˆ†๐‘ก, ๐›ผ โˆ— โˆ†๐‘ก , e ๐›ผ รจ la massima variazione di
angolo nella direzione percorsa dal nodo. Dalla figura 2.3 (ottenuta dal sito web
http://www-public.it-sudparis.eu/~gauthier/MobilityModel/mobilitymodel.html) si osserva che
a differenza dei modelli illustrati nei paragrafi precedenti, i nodi possono continuare il
loro percorso superando i confini dell'area di simulazione, riapparendo nel lato
opposto dell'area di simulazione.




                                                                                               35
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 di
1000 x 300 m.


In figura 2.4 si vede che questa tecnica crea un area di simulazione toroidale, dove i
nodi possono viaggiare senza confini.




Fig.2.4: La figura mostra che nel Boundless Simulation Area Mobility Model l'area di
simulazione 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 un'area rettangolare di dimensione ๐‘‹ ๐‘š๐‘Ž๐‘ฅ ร— ๐‘Œ ๐‘š๐‘Ž๐‘ฅ , viene assegnata
una velocitร  e una direzione iniziale, che viene aggiornata ad ogni intervallo di tempo
fisso ๐‘›. Il valore aggiornato nell'n-esima istanza รจ calcolato in base al valore della n-1
esima istanza, e al valore di una variabile casuale, usando le seguenti equazioni:


                      ๐‘  ๐‘› = ๐›ผ๐‘  ๐‘›โˆ’1 + 1 โˆ’ ๐›ผ ๐‘  +       1 โˆ’ ๐›ผ 2 ๐‘  ๐‘ฅ ๐‘› โˆ’1

                     ๐‘‘ ๐‘› = ๐›ผ๐‘‘ ๐‘›โˆ’1 + 1 โˆ’ ๐›ผ ๐‘‘ +         1 โˆ’ ๐›ผ 2 ๐‘‘ ๐‘ฅ ๐‘› โˆ’1


dove ๐‘  ๐‘› e ๐‘‘ ๐‘› sono, rispettivamente la nuova velocitร  e la nuova direzione dei nodi
nell'intervallo temporale ๐‘›; ๐›ผ, compresa tra โˆ’1, 1 , รจ usata come parametro per
regolare la casualitร ; ๐‘  e ๐‘‘ sono costanti che rappresentano il valore medio di velocitร 


                                                                                       36
e direzione con ๐‘› โ†’ โˆž; ๐‘  ๐‘ฅ ๐‘› โˆ’1 e ๐‘‘ ๐‘ฅ ๐‘› โˆ’1 sono variabili aleatorie prese da una
distribuzione Gaussiana.
       Impostando ๐›ผ = 0 otteniamo valori totalmente casuali, mentre con ๐›ผ = 1
otteniamo un moto lineare. Assegnando valori intermedi ad ๐›ผ, si ottengono diversi
livelli di casualitร . Ad ogni passo della simulazione la posizione successiva di un nodo
viene calcolata in base alla posizione, velocitร  e direzione corrente, seguendo le
seguenti equazioni:
                             ๐‘ฅ ๐‘› = ๐‘ฅ ๐‘›โˆ’1 + ๐‘  ๐‘›โˆ’1 โˆ— ๐‘๐‘œ๐‘ ๐‘‘ ๐‘›โˆ’1
                             ๐‘ฆ ๐‘› = ๐‘ฆ ๐‘›โˆ’1 + ๐‘  ๐‘›โˆ’1 โˆ— ๐‘ ๐‘–๐‘›๐‘‘ ๐‘›โˆ’1


Dove      ๐‘ฅ ๐‘› , ๐‘ฆ ๐‘› ๐‘’ ๐‘ฅ ๐‘›โˆ’1 , ๐‘ฆ ๐‘›โˆ’1 sono rispettivamente le coordinate x e y dei nodi
mobili all'n-esimo e all'n-1 esimo intervallo temporale.
       In figura 2.5 (dal sito ottenuta dal sito web http://tinyurl.com/8oed5jz) viene
mostrato il comportamento di un nodo in un area di simulazione che misura 700 x
1000 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
2.1.7 Probabilistic Random Walk (PRW)
Nella tesi di dottorato di Chiang [57] รจ stato creato un modello di mobilitร , chiamato
Probabilistic Random Walk Mobility Model, che, utilizzando una matrice di probabilitร ,
determina la posizione di uno specifico nodo mobile, in un'area ๐‘‹ ๐‘š๐‘Ž๐‘ฅ ร— ๐‘Œ ๐‘š๐‘Ž๐‘ฅ , in
base a tre possibili stati: lo stato 0 rappresenta la posizione corrente, lo stato 1
rappresenta la posizione passata e lo stato 2 rappresenta la posizione futura se il nodo
mobile 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 passi
dallo stato ๐‘Ž allo stato ๐‘. Le coordinate x e y di ciascun nodo vengono aggiornate in
base ai valori della matrice. Ogni nodo si muove casualmente con una velocitร  media
predefinita. Nella seguente matrice ci sono i valori che Chiang ha usato per calcolare
le variazioni nelle coordinate x e y dei nodi:


                                       0 0.5 0.5
                                  ๐‘ƒ = 0.3 0.7 0
                                      0.3 0 0.7


In 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 diretto
verso: nord, sud, est o ovest, senza mai prendersi una pausa (wait time = 0). La
probabilitร  che il nodo continui a seguire la stessa direzione รจ piรน alta della
probabilitร  che esso la cambi. Inoltre i valori definiti non permettono movimenti tra
la precedente e la prossima posizione senza passare per quella corrente.




                                                                                     38
Fig.2.6: Diagramma di flusso della versione probabilistica del Random Walk Mobility
Model.


Questa implementazione del modello produce dei comportamenti di mobilitร  piรน
realistici del modello RW. Ad esempio una persona che deve eseguire vari compiti
giornalieri, 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 posti
che 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   un
esempio di schema di mobilitร  di un nodo mobile usando la versione probabilistica
del modello RW. Da questa figura si osserva che la user trace ha dei cambiamenti di
direzione molto meno variabili di quelli visti per il modello RW in figura 2.1, dunque
approssima meglio gli schemi di mobilitร  degli esseri umani.




                                                                                         39
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 500
x 560 m.

2.1.8 Weighted Waypoint (WW)
Il Weighted Waypoint Mobility Model (WW) [64] รจ una versione del modello RWP, in cui
le persone non decidono una destinazione in modo casuale, ma la scelgono in base
ad una certa probabilitร , che dipende da quanto gli individui tendono a visitarla. Tutti
i modelli che sono stati illustrati nei paragrafi precedenti non considerano che
all'interno dell'area di simulazione alcune zone sono visitate piรน spesso rispetto ad
altre.
         In [64] รจ stato dimostrato che se ne viene tenuto conto, ossia si considera
l'esistenza di zone in cui gli individui interagiscono tra di loro per un periodo
prolungato, 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
         dell'area di simulazione viene assegnato un peso, definito in base alla
         probabilitร  di scegliere quel luogo come destinazione. Tale probabilitร  puรฒ



                                                                                     40
essere calcolata valutando quanto le zone siano "popolari" nell'ambiente 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 models
Verranno descritti ora i modelli di mobilitร  in cui i nodi hanno un comportamento
che dipende da quello degli altri nodi. Tali modelli risultano essere utili per tracciare
user trace che simulano realtร  in cui i nodi si muovono in comunitร .

2.2.1 Exponential Correlated Random
Questo modello di mobilitร  proposto in [58] data la posizione di un nodo (o un
gruppo) al tempo ๐‘ก, tramite funzione di movimento ๐‘ ๐‘ก , viene determinata la
posizione 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 quella
successiva (ad una valore minore di ๐œ corrisponde un cambiamento piรน rapido). Il
problema principale di questo particolare modello รจ la difficoltร  di assegnare il valore
piรน corretto ai parametri in modo da ottenere lo schema di mobilitร  che vogliamo.

2.2.2 Column
Il Column Mobility Model (http://www.disca.upv.es/misan/mobmodel.htm) รจ un modello che
rappresenta un insieme di nodi mobili che si muovono lungo una data linea (o
colonna). Inizialmente viene definita una reference grid, ossia una colonna iniziale di
nodi, dove ciascun nodo viene messo in relazione con un punto di riferimento. I
nodi si possono muovere attorno al loro punto di riferimento seguendo le regole
dettate da un particolare Individual mobility models (ad esempio viene consigliato di




                                                                                      41
usare il modello RW, descritto nel paragrafo 2.1.1). Il nuovo reference point per un
determinato nodo viene definito come:
               ๐‘›๐‘’๐‘ค ๐‘Ÿ๐‘’๐‘“๐‘’๐‘Ÿ๐‘’๐‘›๐‘     ๐‘’ ๐‘๐‘œ๐‘–๐‘›๐‘ก   = ๐‘œ๐‘™๐‘‘ ๐‘Ÿ๐‘’๐‘“๐‘’๐‘Ÿ๐‘’๐‘›๐‘   ๐‘’ ๐‘๐‘œ๐‘–๐‘›๐‘ก   + ๐‘Ž๐‘‘๐‘ฃ๐‘Ž๐‘›๐‘๐‘’ ๐‘ฃ๐‘’๐‘๐‘ก๐‘œ๐‘Ÿ

dove ๐‘œ๐‘™๐‘‘ ๐‘Ÿ๐‘’๐‘“๐‘’๐‘Ÿ๐‘’๐‘›๐‘   ๐‘’ ๐‘๐‘œ๐‘–๐‘›๐‘ก   รจ il punto di riferimento precedente e ๐‘Ž๐‘‘๐‘ฃ๐‘Ž๐‘›๐‘๐‘’ ๐‘ฃ๐‘’๐‘๐‘ก๐‘œ๐‘Ÿ un
offset angolare scelto in modo casuale che sposta la griglia di riferimento. Quando la
griglia viene ruotata con un angolo casuale (compreso tra 0 e ๐œ‹) e spostata ad una
distanza 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 Community
Il Nomadic Community Mobility Model (http://www.disca.upv.es/misan/mobmodel.htm) รจ un
modello che rappresenta comunitร  di nodi che si muovono collettivamente da un
punto ad un altro [59]. Ogni comunitร  o gruppo di nodi, che ha associato un punto
di riferimento in comune, si muove attorno al proprio reference point ma, all'interno di
ogni gruppo, ciascun nodo mantiene una propria "area personale", dove si muove in
modo casuale. Questo modello puรฒ essere usato ad esempio per simulare scenari
dove una classe di studenti visitano un museo d'arte. Gli alunni della classe si
sposteranno da un punto ad un altro insieme, mentre nel punto in cui si trovano si
possono muovere individualmente come vogliono (ad esempio secondo un Individual
mobility models). Rispetto al modello Column, i nodi all'interno del gruppo sono meno
vincolati nella possibilitร  di movimento.

2.2.4 Pursue
Nel 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 nodi
mobili, eseguendo dei movimenti in direzione di esso, determinati da un
randomvector , ossia un offset ottenuto seguendo uno degli Individual mobility models
(ad esempio il modello RW, descritto nel paragrafo 2.1.1). La nuova posizione di
ciascun nodo viene calcolata utilizzando la seguente equazione:


newposition = oldposition + acceleration target โˆ’ oldposition                    + randomvector



                                                                                             42
dove acceleration target โˆ’ oldposition       รจ l'informazione relativa al nodo che viene
inseguito e randomvector rappresenta l'offset applicato ad ogni nodo.
Dunque, per calcolare la prossima posizione di ogni nodo, questo modello utilizza la
posizione corrente del nodo, un vettore casuale e il valore dell'accelerazione relativa
al nodo inseguito.

2.2.5 Reference Point Group (RPG)
           Il Reference Point Group Mobility Model (RPG) definito in [58] rappresenta il
movimento casuale di un gruppo di nodi mobili. Gli spostamenti del gruppo si
basano sul percorso seguito da quello che รจ definito il centro logico del gruppo. Il
centro logico del gruppo viene utilizzato per calcolare i movimenti del gruppo
attraverso un group motion vector, ๐บ ๐‘€, che puรฒ essere predefinito o scelto in modo
casuale.
           Ogni nodo si muove casualmente seguendo il proprio reference point pre-
definito, il cui spostamenti dipendono dal movimento del gruppo. Quando di un
nodo viene calcolato un nuovo reference point al tempo ๐‘ก + 1, ๐‘…๐‘ƒ(๐‘ก + 1), questo
viene combinato con un random vector, ๐‘… ๐‘€, per rappresentare lo spostamento
casuale di ogni nodo rispetto al relativo reference point.
           Dunque, il vettore ๐‘… ๐‘€ viene usato per calcolare il nuovo reference point di
ogni nodo al tempo t+1. Successivamente la nuova posizione di ogni nodo viene
stabilita sommando il random motion vector, ๐‘… ๐‘€, al nuovo reference point.




                                                                                     43
Capitolo 3

Grafi dinamici
        Nel presente lavoro sono state generate reti dinamiche di contatti (che
saranno chiamate da ora in poi Dynamic Contact Network o Contact Graph), ricavate sia
da tracce di contatti basate su quello che รจ avvenuto negli esperimenti SocialDIS e
MACRO, sia da tracce di contatti ottenute a partire dai modelli di mobilitร . Nei
seguenti paragrafi verrร  descritto: come si definisce un Contact Graph a partire dai casi
reali e dai casi simulati usando modelli di mobilitร ; gli indicatori statistici definiti ed
implementati per poter analizzare e confrontare le Dynamic Contact Network; le
limitazioni del formato attualmente piรน utilizzato per la scrittura di grafi dinamici su
file e il nuovo formato che รจ stato ideato per superarle.

3.1 Definizione del grafo dinamico dei contatti
L'evoluzione dinamica di una rete, puรฒ essere modellata introducendo la dimensione
temporale ๐‘ก, che mostra come la topologia della rete varia nel tempo. Nelle
opportunistic networks, un Contact Graph ๐บ(๐‘‰, ๐ธ) รจ tipicamente usato per descrivere
una rete dinamica di contatti [8]. In un Contact Graph: ๐‘‰ รจ l'insieme di nodi ed ๐ธ รจ
l'insieme degli archi, dove ciascun arco รจ rappresentato da, una coppia di nodi, dal
tempo in cui il contatto รจ iniziato e dalla durata del contatto.
        Basandosi su questa definizione fornita da Ferreira [8], viene ridefinito il
Contact Graph come una rete ๐บ(๐‘‰, ๐ธ), in cui ciascun nodo ๐‘ฃ โˆˆ ๐‘‰, rappresenta una
persona e ciascun arco ๐‘’ โˆˆ ๐ธ, rappresenta un contatto face-to-face avvenuto tra due
individui. Sia ๐‘‡ = ๐‘ก0 , ๐‘ก1 , โ€ฆ , ๐‘ก ๐‘› l'insieme di tutti gli istanti temporali in cui il grafo
varia nel tempo.
        Ad ogni nodo e ogni arco viene associato un Presence Schedule, un insieme
contenente gli istanti di tempo ๐‘ก โˆˆ ๐‘‡, in cui il nodo (o arco) รจ presente. Il Presence




                                                                                          44
Schedule di un nodo ๐‘ฃ puรฒ essere rappresentato come ๐‘ƒ(๐‘ฃ), e il Presence Schedule di un
arco ๐‘’ 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 (come
viene descritto nei paragrafi 1.2.3 e 1.2.4), generando un nodo ogni volta che un tag
RFID viene rilevato per la prima volta da un reader RFID, assegnandogli ciascuna
volta il tempo in cui รจ stato rilevato (in formato UNIX time) e generando un arco
ogni volta che due individui si trovano uno di fronte all'altro ad una distanza
ravvicinata.
        Quando questo accade, viene aggiornato il ๐‘ƒ(๐‘ฃ) di ciascun ๐‘ฃ โˆˆ ๐‘‰ che ha
partecipato nell'interazione e il ๐‘ƒ ๐‘’ dell'arco ๐‘’ โˆˆ ๐ธ che li connette. Infatti, il tag
RFID indossato dagli individui, quando rileva la comunicazione, invia un messaggio
ad alta potenza verso il reader RFID piรน vicino. Tale mesaggio contiene il tempo in
cui il contatto รจ avvenuto (in formato UNIX time) e l'id dei tag che hanno
comunicato. Il peso di ciascun arco del Dynamic Contact Graph ottenuto, รจ pari alla
frequenza con cui il contatto avviene, ossia il rapporto tra ๐‘ƒ ๐‘’      e ๐‘‡.
        A partire dai modelli di mobilitร , se si vogliono rilevare i contatti di
prossimitร  tra persone, ciascuna delle quali ha una propria posizione, direzione,
velocitร  e tempo di pausa, bisogna considerare che ogni individuo possa vederne un
altro, 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 due
vertici ๐‘ฃ ๐‘– e ๐‘ฃ ๐‘— con un arco quando i relativi insiemi hanno un'intersezione non nulla,
ovvero ๐‘’ =       ๐‘ฃ ๐‘– , ๐‘ฃ ๐‘— |๐‘† ๐‘– โˆฉ ๐‘†๐‘— โ‰  0.
        Come รจ possibile vedere in figura 3.1, uno unit disk graph [62] รจ un intersection
graph costituito da un vertice per ogni cerchio e da un arco ogni volta che due cerchi
s'intersecano. Ciascun cerchio, definito nel piano Euclideo, ha la stessa misura.
Utilizzando il principio su cui si basa la costruzione dello unit disk graph, viene
costruito il Contac Graph come segue: Siano A e B due individui che si muovono
secondo un modello di mobilitร , sia (๐‘ฅ ๐‘Ž, ๐‘ฆ ๐‘Ž ) la posizione di A e (๐‘ฅ ๐‘, ๐‘ฆ ๐‘ ) la posizione
di B. Siano ๐‘Ÿ ๐‘Ž e ๐‘Ÿ ๐‘ i rispettivi raggi dei cerchi di A e B.
Definite le seguenti grandezze:


                                                                                         45
๐‘ฅ ๐‘‘๐‘–๐‘“๐‘“ = ๐‘ฅ ๐‘Ž, โˆ’ ๐‘ฅ ๐‘,
                                    ๐‘ฆ ๐‘‘๐‘–๐‘“๐‘“ = ๐‘ฆ ๐‘Ž, โˆ’ ๐‘ฆ ๐‘,
                          ๐ท๐‘–๐‘ ๐‘ก๐‘Ž๐‘›๐‘๐‘’ ๐‘ ๐‘ž๐‘ข๐‘Ž๐‘Ÿ๐‘’๐‘‘ = ๐‘ฅ ๐‘‘๐‘–๐‘“๐‘“ 2 + ๐‘ฆ ๐‘‘๐‘–๐‘“๐‘“ 2


le persone A e B, che si muovono secondo le regole del modello di mobilitร , hanno
un contatto se ๐ท๐‘–๐‘ ๐‘ก๐‘Ž๐‘›๐‘๐‘’ ๐‘ ๐‘ž๐‘ข๐‘Ž๐‘Ÿ๐‘’๐‘‘ < ๐‘Ÿ ๐‘Ž + ๐‘Ÿ ๐‘ 2 .




Fig.3.1: Esempio di unit disk graph, dove tra due nodi esiste un arco che li
congiunge, se e solo se i rispettivi cerchi s'intersecano.


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 ciascun
nodo e dell'arco 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
3.2 Definizione del grafo aggregato dei contatti
I grafi dei contatti possono essere prodotti sia in forma aggregata, che in forma
dinamica. Sia ๐บ(๐‘‰, ๐ธ), un Contact Graph e sia ๐‘‡ = ๐‘ก0 , ๐‘ก1 , โ€ฆ , ๐‘ก ๐‘› , l'insieme di tutti gli
istanti temporali in cui ๐บ varia nel tempo. Si ottiene un Contact Graph aggregato
rispetto un intervallo di tempo      ๐‘˜1 , ๐‘˜2 , con 0 < ๐‘˜2 โˆ’ ๐‘˜1 = K โ‰ค ๐‘‡, assegnado a
ciascun arco ๐‘’ โˆˆ ๐ธ un peso pari alla frequenza con cui il contatto avviene, ovvero il
rapporto tra ๐‘ƒ ๐‘’      e ๐พ, senza perรฒ associare alcun presence schedule ai nodi/archi del
grafo.

3.3 Indicatori statistici/metriche
Nei prossimi sotto-paragrafi verranno definiti gli indicatori statistici (o metriche) che
sono stati implementati per poter analizzare e confrontare le Dynamic Contact Network
ottenute 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 metriche
su grafo dinamico , ovvero indicatori che effettuano misure considerando i Presence
schedules.

3.3.1 Indicatori/metriche su grafo aggregato
Node strength. La Strength [1] di un nodo i, definita come:
                                               ๐‘

                                       ๐‘†๐‘– =         ๐‘ค ๐‘–,๐‘—
                                              ๐‘—๐œ–๐‘‰

dove V รจ l'insieme dei vicini del nodo, ๐‘‰ = ๐‘, ๐‘ค ๐‘–,๐‘— รจ il peso dell'arco che connette
il nodo i al nodo j, misura la "forza" di un nodo in base alla somma dei pesi delle sue
connessioni. In un grafo pesato, la strength di un nodo รจ la somma dei pesi degli archi
incidenti 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 la
quale un nodo comunica con i suoi vicini.


Weighted Clustering Coefficient. Il clustering misura quanto i vicini di un nodo
tendono ad essere collegati tra di loro, ovvero quanto tendono con esso a formare
una clique (grafo completo).

                                                                                         47
Il local clustering di un nodo i รจ misurato con un coefficiente ๐ถ ๐‘– , introdotto da
Watts e Strogatz per le analisi delle small-world networks [2], definito come rapporto tra il
numero attuale di archi tra il nodo i e i propri vicini e il numero massimo di archi che
connettono 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 viene
ridefinito come:
                                              2               ๐‘ค ๐‘–,๐‘— + ๐‘ค ๐‘–,๐‘˜
                               ๐ถ๐‘– ๐‘Š =
                                        ๐‘† ๐‘– (๐‘‘๐‘ฃ โˆ’ 1)                2
                                                       ๐‘— ,๐‘˜

Dove ๐‘† ๐‘– รจ la Strength del nodo i, ๐‘ค ๐‘–,๐‘— e ๐‘ค ๐‘–,๐‘˜ sono rispettivamente i pesi degli archi che
connetto 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 il
nodo ๐‘ฃ, con la rispettiva versione pesata. In questo caso particolare, il nodo ๐‘ฃ ha
comunicato con una frequenza maggiore, con il nodo ๐‘—, dunque anche se ๐‘ฃ fa parte




                                                                                                     48
di una 4-clique, ne fa meno parte rispetto al caso non pesato. ๐ถ ๐‘ฃ = 0.5 risulta essere
in questo caso una sovrastima rispetto a ๐ถ ๐‘ฃ ๐‘Š = 0.25.


Modularity. Suddividere una rete in partizioni (o cluster) contenenti un elevato
numero di archi al loro interno e pochi archi che le connettono l'una all'altra, viene
detto Community Detection. La modularity misura la qualitร  del partizionamento, ovvero
quanto bene la struttura di un grafo รจ stata suddivisa in moduli (chiamati anche
gruppi, cluster o community).
        Grafi con alta modularity hanno connessioni dense tra i nodi appartenenti allo
stesso modulo e sparse tra i nodi appartenenti a moduli differenti. La modularity รจ
rappresentata dalla differenza tra il numero di archi contenuti nei cluster di uno
specifico partizionamento del grafo e il numero atteso di archi contenuti nei cluster
di un grafo random, avente la stessa node degree distribution del grafo per cui viene
calcolata tale metrica [23],[24].
        In questo modo รจ possibile stabilire se effettivamente il numero di archi
interni ad una community sia maggiore di quanto ci si aspetterebbe da un grafo
casuale. 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 reti
pesate รจ definita come [25]:
                                    1                       ๐‘˜ ๐‘– ๐‘˜๐‘—
                            ๐‘„=                  ๐ด ๐‘–๐‘— โˆ’             ๐›ฟ ๐ถ ๐‘– , ๐ถ๐‘—
                                    2๐‘š                      2๐‘š
                                          ๐‘–,๐‘—

Dove ๐ด ๐‘–๐‘— rappresenta il peso dell'arco tra i nodi ๐‘– e ๐‘—, ๐‘˜ ๐‘– =                   ๐‘—   ๐ด ๐‘–๐‘— รจ la somma dei
pesi degli archi incidenti al vertice ๐‘–, ๐ถ ๐‘– รจ la community a cui il vertice ๐‘– viene
assegnato, la funzione ๐›ฟ ๐ถ ๐‘– , ๐ถ๐‘—        รจ uguale a 1 se ๐ถ ๐‘– = ๐ถ๐‘— (๐‘ข ๐‘’ ๐‘ฃ appartengono alla
                                                        1
stessa community) e zero altrimenti ed ๐‘š = 2                   ๐‘–,๐‘—   ๐ด ๐‘–๐‘— .




                                                                                                      49
Calcolare la modularity per grafi di grandi dimensioni, non รจ un processo
banale in termini di tempo di calcolo. In [63] รจ stato definito il Louvain Method, un
algoritmo approssimato che permette di calcolare la metrica su grafi di grandi
dimensioni in tempi relativamente rapidi. Ad esempio, impiega solo due minuti per
analizzare una rete di due milioni di nodi. In figura 3.3 viene schematizzato il metodo
Louvain, costituito da due fasi, ripetute iterativamente.




Fig.3.3: vengono mostrate in modo schematico le due fasi del Louvain Method. Si
ripetono cosรฌ i due passi fino a che non si rilevano piรน cambiamenti a fronte di nuove
iterazioni e la massimizzazione della modularity รจ raggiunta.


        Nella prima fase ciascun nodo viene associato ad una propria comunitร . Per
ognuno di essi si verifica se il valore di modularitร  migliora inserendolo nel gruppo di
ciascuno dei suoi vicini. In caso positivo il nodo viene inserito nel cluster del vicino,
altrimenti ognuno rimane nel proprio cluster di partenza. Questa operazione viene
ripetuta fino a che non รจ piรน possibile migliorare il valore della modularity. La
seconda fase, aggrega i nodi appartenenti alla stessa community e costruisce una
nuova rete, dove i nodi sono le community. Questi due passi vengono ripetuti
iterativamente 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 nell'insieme ๐ธ e il massimo


                                                                                      50
numero possibile di archi che possono esistere tra tutti i nodi ๐‘ฃ โˆˆ ๐‘‰. Pertanto la
densitร  viene calcolata nel caso di grafo non diretto (che non puรฒ avere cicli) come
segue:
                                              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 il
grafo viene considerato denso, viceversa, se il grafo contiene pochi archi, viene
considerato sparso. Un grafo completo ha tutti i possibili archi, dunque ha una
densitร  pari a 1.

3.3.2 Indicatori/metriche su grafo dinamico
Flooding time. Il processo di diffusione di un messaggio in un Contact Graph
๐บ(๐‘‰, ๐ธ), รจ simulato supponendo che, ogni entitร  che puรฒ essere diffusa su una rete
di contatti, puรฒ essere modellata come un messaggio. Il processo รจ simulato in uno
scenario ideale, dove ciascun nodo ha un'infinita quantitร  di risorse e il ritardo di
trasmissione del messaggio non viene considerato.
         Sia ๐‘‡ = ๐‘ก0 , ๐‘ก1 , โ€ฆ , ๐‘ก ๐‘› , l'insieme di tutti gli istanti temporali in cui il grafo
varia nel tempo, viene definito un semplice protocollo di flooding, dove โˆ€๐‘ก ๐‘– โˆˆ ๐‘‡, con
0 โ‰ค ๐‘– โ‰ค ๐‘›, 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 definito
un messaggio ๐‘€ ๐‘ฃ0,๐‘ก0 generato da un nodo ๐‘ฃ0 (chiamato seed) al tempo ๐‘ก0 . Il nodo
๐‘ฃ0 viene scelto uniformemente fra tutti i nodi ๐‘ฃ โˆˆ ๐‘ ๐‘›๐‘œ๐‘ก       ๐‘–๐‘ ๐‘œ๐‘™๐‘Ž๐‘ก๐‘’๐‘‘   , dove ๐‘ ๐‘›๐‘œ๐‘ก   ๐‘–๐‘ ๐‘œ๐‘™๐‘Ž๐‘ก๐‘’๐‘‘   ,
รจ l'insieme di tutti i nodi della rete non isolati e ๐‘ก0 รจ il primo tempo in cui il nodo ๐‘ฃ0
appare nella rete dinamica.
         Viene utilizzando il protocollo di flooding, definito prima, per simulare un
processo di diffusione di un'informazione. Eseguendo il protocollo 20 volte,
calcolando una media dei risultati ottenuti per ogni simulazione, si puรฒ osservare
come in media cresce nel tempo il numero di nodi a cui il messaggio รจ arrivato. Nel
Capitolo 5 verrร  usata tale osservazione per comparare i tempi diffusione di un


                                                                                               51
messaggio, tra le reti ottenute usando i modelli di mobilitร  e quelle ottenute a partire
dalle tracce di contatti reali.


Inter-contact time. Si tratta dell'intervallo di tempo che intercorre tra due successivi
contatti tra gli stessi nodi. Viene calcolato alla fine di ogni contatto e all'inizio del
successivo. Calcolando la Inter contact time distribution si puรฒ scoprire quale รจ la
probabilitร  che un contatto, tra due stessi nodi, si ripeta dopo un determinato
numero di secondi.

Intra-contact time (o contact duration). Misura l'intervallo di tempo durante il
quale due nodi possono comunicare; si tratta quindi del tempo che i nodi possono
utilizzare per scambiarsi dati e informazioni. Il numero di questi contatti e la loro
distribuzione sono fattori importanti per determinare la capacitร  di diffusione di un
messaggio, perchรฉ maggiore รจ il numero di contatti, maggiore รจ la probabilitร  che un
messaggio si diffonda in gran parte della rete. Calcolando la Intra contact time
distribution si puรฒ osservare quale รจ la probabilitร  di avere un contatto che duri un
determinato numero di secondi.

Temporal correlations.
        La Conditional probability Distribution of link's existence รจ un indicatore ideato per
comprendere se, conoscendo l'esistenza passata di un contatto (rappresentato da un
arco del Contact Graph), รจ possibile avere informazioni riguardo la sua eventuale
esistenza futura.
        Sia ๐บ(๐‘‰, ๐ธ), un Contact Graph e sia ๐‘‡ = ๐‘ก0 , ๐‘ก1 , โ€ฆ , ๐‘ก ๐‘› , l'insieme di tutti gli
istanti temporali in cui ๐บ varia nel tempo. La probabilitร  di esistenza di un arco
๐‘’ โˆˆ ๐ธ, al tempo ๐‘ก ๐‘– โˆˆ ๐‘‡, con 0 โ‰ค ๐‘– โ‰ค ๐‘›, รจ definita come:

                                                          ๐‘ƒ ๐‘’
                                  ๐‘ƒ๐‘’ = ๐‘ƒ ๐‘‹ ๐‘’ ๐‘ก ๐‘– = 1 =
                                                            ๐‘‡

dove ๐‘ƒ ๐‘’ (cardinalitร  del presence schedule di ๐‘’) รจ il numero di istanti in cui l'arco ๐‘’
appare in ๐บ, e ๐‘‡ รจ il numero totale d'istanti temporali in cui ๐‘’ puรฒ apparire.
Definite ora le seguenti probabilitร  condizionate:

                           ๐‘ƒ ๐‘’,1 = ๐‘ƒ ๐‘‹ ๐‘’ ๐‘ก ๐‘– = 1|๐‘‹ ๐‘’ ๐‘ก ๐‘– โˆ’ 1 = 1

                                                                                           52
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models
Validation and analysis of mobility models

Weitere รคhnliche Inhalte

Was ist angesagt?

Risorse infrastrutturali area vasta di Torremaggiore
Risorse infrastrutturali area vasta di TorremaggioreRisorse infrastrutturali area vasta di Torremaggiore
Risorse infrastrutturali area vasta di Torremaggioregifanta
ย 
Dispensa Interazione Uomo Macchina
Dispensa Interazione Uomo MacchinaDispensa Interazione Uomo Macchina
Dispensa Interazione Uomo MacchinaStefano Bussolon
ย 
Progettare artefatti cognitivi
Progettare artefatti cognitiviProgettare artefatti cognitivi
Progettare artefatti cognitiviStefano Bussolon
ย 
Dispensa di analisi dei dati
Dispensa di analisi dei datiDispensa di analisi dei dati
Dispensa di analisi dei datiStefano Bussolon
ย 
Joseki : un server per interrogare risorse RDF attraverso un interfaccia Web
Joseki : un server per interrogare risorse RDF attraverso un interfaccia WebJoseki : un server per interrogare risorse RDF attraverso un interfaccia Web
Joseki : un server per interrogare risorse RDF attraverso un interfaccia WebCyclope86
ย 
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari ...
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari ...Valutazione di descrittori per il rilevamento automatico di nuclei cellulari ...
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari ...paoloUser
ย 
Resport linee guida ita 20 gennaio 2020
Resport linee guida ita 20 gennaio 2020Resport linee guida ita 20 gennaio 2020
Resport linee guida ita 20 gennaio 2020Centro Sportivo Italiano
ย 
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...Myrteza Kertusha
ย 
Aqfa probabilita
Aqfa   probabilitaAqfa   probabilita
Aqfa probabilitaLuigi Carassale
ย 
I promessi sposi 3.0 Mobile User Experience & Usability nel settore dei beni...
I promessi sposi 3.0  Mobile User Experience & Usability nel settore dei beni...I promessi sposi 3.0  Mobile User Experience & Usability nel settore dei beni...
I promessi sposi 3.0 Mobile User Experience & Usability nel settore dei beni...RiccardoPietra
ย 
Progettazione ed implementazione di una base di dati per la gestione di emiss...
Progettazione ed implementazione di una base di dati per la gestione di emiss...Progettazione ed implementazione di una base di dati per la gestione di emiss...
Progettazione ed implementazione di una base di dati per la gestione di emiss...Francesco Occhioni
ย 
Il mio libro - My book (intro)
Il mio libro - My book (intro)Il mio libro - My book (intro)
Il mio libro - My book (intro)pls3d
ย 
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - TesiIl Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - TesiFrancesco Magagnino
ย 
Analisi Usabilitร  3d Mansion
Analisi Usabilitร  3d MansionAnalisi Usabilitร  3d Mansion
Analisi Usabilitร  3d MansionRoberta Sanzani
ย 
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...Nicola Cerami
ย 
Ponte lambro dossier aprile 2011 def
Ponte lambro dossier aprile 2011 defPonte lambro dossier aprile 2011 def
Ponte lambro dossier aprile 2011 defMarco Garoffolo
ย 
Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013
Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013 Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013
Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013 AmmLibera AL
ย 
Linee guida nazionali per la valorizzazione del patrimonio informativo pubbli...
Linee guida nazionali per la valorizzazione del patrimonio informativo pubbli...Linee guida nazionali per la valorizzazione del patrimonio informativo pubbli...
Linee guida nazionali per la valorizzazione del patrimonio informativo pubbli...AmmLibera AL
ย 
Dispense Probabilitร  (1.3)
Dispense Probabilitร  (1.3)Dispense Probabilitร  (1.3)
Dispense Probabilitร  (1.3)Luigi Carassale
ย 

Was ist angesagt? (20)

Risorse infrastrutturali area vasta di Torremaggiore
Risorse infrastrutturali area vasta di TorremaggioreRisorse infrastrutturali area vasta di Torremaggiore
Risorse infrastrutturali area vasta di Torremaggiore
ย 
A.Dionisi Thesis
A.Dionisi ThesisA.Dionisi Thesis
A.Dionisi Thesis
ย 
Dispensa Interazione Uomo Macchina
Dispensa Interazione Uomo MacchinaDispensa Interazione Uomo Macchina
Dispensa Interazione Uomo Macchina
ย 
Progettare artefatti cognitivi
Progettare artefatti cognitiviProgettare artefatti cognitivi
Progettare artefatti cognitivi
ย 
Dispensa di analisi dei dati
Dispensa di analisi dei datiDispensa di analisi dei dati
Dispensa di analisi dei dati
ย 
Joseki : un server per interrogare risorse RDF attraverso un interfaccia Web
Joseki : un server per interrogare risorse RDF attraverso un interfaccia WebJoseki : un server per interrogare risorse RDF attraverso un interfaccia Web
Joseki : un server per interrogare risorse RDF attraverso un interfaccia Web
ย 
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari ...
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari ...Valutazione di descrittori per il rilevamento automatico di nuclei cellulari ...
Valutazione di descrittori per il rilevamento automatico di nuclei cellulari ...
ย 
Resport linee guida ita 20 gennaio 2020
Resport linee guida ita 20 gennaio 2020Resport linee guida ita 20 gennaio 2020
Resport linee guida ita 20 gennaio 2020
ย 
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
Progetto e realizzazione di un kernel linux per il controllo dinamico degli s...
ย 
Aqfa probabilita
Aqfa   probabilitaAqfa   probabilita
Aqfa probabilita
ย 
I promessi sposi 3.0 Mobile User Experience & Usability nel settore dei beni...
I promessi sposi 3.0  Mobile User Experience & Usability nel settore dei beni...I promessi sposi 3.0  Mobile User Experience & Usability nel settore dei beni...
I promessi sposi 3.0 Mobile User Experience & Usability nel settore dei beni...
ย 
Progettazione ed implementazione di una base di dati per la gestione di emiss...
Progettazione ed implementazione di una base di dati per la gestione di emiss...Progettazione ed implementazione di una base di dati per la gestione di emiss...
Progettazione ed implementazione di una base di dati per la gestione di emiss...
ย 
Il mio libro - My book (intro)
Il mio libro - My book (intro)Il mio libro - My book (intro)
Il mio libro - My book (intro)
ย 
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - TesiIl Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
Il Modello Pragmatico Elementare per lo sviluppo di Sistemi Adattivi - Tesi
ย 
Analisi Usabilitร  3d Mansion
Analisi Usabilitร  3d MansionAnalisi Usabilitร  3d Mansion
Analisi Usabilitร  3d Mansion
ย 
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
Progetto per lo sviluppo di un sistema di gestione della conoscenza per il pr...
ย 
Ponte lambro dossier aprile 2011 def
Ponte lambro dossier aprile 2011 defPonte lambro dossier aprile 2011 def
Ponte lambro dossier aprile 2011 def
ย 
Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013
Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013 Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013
Linee guida per il disaster recovery delle PA - AgID Aggiornamento 2013
ย 
Linee guida nazionali per la valorizzazione del patrimonio informativo pubbli...
Linee guida nazionali per la valorizzazione del patrimonio informativo pubbli...Linee guida nazionali per la valorizzazione del patrimonio informativo pubbli...
Linee guida nazionali per la valorizzazione del patrimonio informativo pubbli...
ย 
Dispense Probabilitร  (1.3)
Dispense Probabilitร  (1.3)Dispense Probabilitร  (1.3)
Dispense Probabilitร  (1.3)
ย 

Andere mochten auch

Sakilla Datawarehouse and Datamining
Sakilla Datawarehouse and DataminingSakilla Datawarehouse and Datamining
Sakilla Datawarehouse and DataminingUmberto Griffo
ย 
China tour itinerary new
China tour itinerary newChina tour itinerary new
China tour itinerary newAbdul Mukati
ย 
ใ‚ฏใƒชใ‚จใ‚คใƒ†ใ‚ฃใƒ–ใƒปใ‚ณใƒผใ‚ฏใƒƒใ‚ญใƒณใ‚ฐใฎๆ€ๆƒณใจๅฎŸ่ทตใ€ๅ’่ซ–็™บ่กจใ€‘
ใ‚ฏใƒชใ‚จใ‚คใƒ†ใ‚ฃใƒ–ใƒปใ‚ณใƒผใ‚ฏใƒƒใ‚ญใƒณใ‚ฐใฎๆ€ๆƒณใจๅฎŸ่ทตใ€ๅ’่ซ–็™บ่กจใ€‘ใ‚ฏใƒชใ‚จใ‚คใƒ†ใ‚ฃใƒ–ใƒปใ‚ณใƒผใ‚ฏใƒƒใ‚ญใƒณใ‚ฐใฎๆ€ๆƒณใจๅฎŸ่ทตใ€ๅ’่ซ–็™บ่กจใ€‘
ใ‚ฏใƒชใ‚จใ‚คใƒ†ใ‚ฃใƒ–ใƒปใ‚ณใƒผใ‚ฏใƒƒใ‚ญใƒณใ‚ฐใฎๆ€ๆƒณใจๅฎŸ่ทตใ€ๅ’่ซ–็™บ่กจใ€‘Taichi Isaku
ย 
SONNET 69 DECARIS LOGAN
SONNET 69 DECARIS LOGANSONNET 69 DECARIS LOGAN
SONNET 69 DECARIS LOGANdmulah
ย 
CoCooking Vision
CoCooking VisionCoCooking Vision
CoCooking VisionTaichi Isaku
ย 
CoCooking Space ใ€œๆ–ฐใ—ใ„้ฃŸๆ–‡ๅŒ–ใฎใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ใ€œ
CoCooking Space ใ€œๆ–ฐใ—ใ„้ฃŸๆ–‡ๅŒ–ใฎใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ใ€œCoCooking Space ใ€œๆ–ฐใ—ใ„้ฃŸๆ–‡ๅŒ–ใฎใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ใ€œ
CoCooking Space ใ€œๆ–ฐใ—ใ„้ฃŸๆ–‡ๅŒ–ใฎใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ใ€œTaichi Isaku
ย 
MACUL 2016 - Explore - MAKER ED
MACUL 2016 - Explore - MAKER EDMACUL 2016 - Explore - MAKER ED
MACUL 2016 - Explore - MAKER EDJonathonGood
ย 
Kilroy travels
Kilroy travelsKilroy travels
Kilroy travelssossoti
ย 
Treball filosofiaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(1) (1) (1)
Treball filosofiaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(1) (1) (1)Treball filosofiaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(1) (1) (1)
Treball filosofiaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(1) (1) (1)cinasintes
ย 
Best friends forever
Best friends foreverBest friends forever
Best friends foreverkaren_Escobar
ย 
1 -cemig_nas_escolas
1  -cemig_nas_escolas1  -cemig_nas_escolas
1 -cemig_nas_escolasSilvana Fontes
ย 
Management Drives Onderwijs brochure
Management Drives Onderwijs brochureManagement Drives Onderwijs brochure
Management Drives Onderwijs brochuremdonderwijs
ย 
ใ‚ฏใƒƒใ‚ญใƒณใ‚ฐใƒปใƒฉใƒณใ‚ฒใƒผใ‚ธ - ๅ’Œ้ฃŸๆ–‡ๅŒ–ใ‚’็™บไฟกใ™ใ‚‹ใ€Œใ“ใจใฐใ€ใฎใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ 
ใ‚ฏใƒƒใ‚ญใƒณใ‚ฐใƒปใƒฉใƒณใ‚ฒใƒผใ‚ธ - ๅ’Œ้ฃŸๆ–‡ๅŒ–ใ‚’็™บไฟกใ™ใ‚‹ใ€Œใ“ใจใฐใ€ใฎใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ใ‚ฏใƒƒใ‚ญใƒณใ‚ฐใƒปใƒฉใƒณใ‚ฒใƒผใ‚ธ - ๅ’Œ้ฃŸๆ–‡ๅŒ–ใ‚’็™บไฟกใ™ใ‚‹ใ€Œใ“ใจใฐใ€ใฎใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ 
ใ‚ฏใƒƒใ‚ญใƒณใ‚ฐใƒปใƒฉใƒณใ‚ฒใƒผใ‚ธ - ๅ’Œ้ฃŸๆ–‡ๅŒ–ใ‚’็™บไฟกใ™ใ‚‹ใ€Œใ“ใจใฐใ€ใฎใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ Taichi Isaku
ย 
Vameg brochure Ver. May 2013
Vameg brochure Ver. May 2013Vameg brochure Ver. May 2013
Vameg brochure Ver. May 2013Kostas Voliotis
ย 
VAMEG HELLAS Projects portfolio GB VER 2016 A web
VAMEG HELLAS Projects portfolio  GB VER 2016 A webVAMEG HELLAS Projects portfolio  GB VER 2016 A web
VAMEG HELLAS Projects portfolio GB VER 2016 A webKostas Voliotis
ย 
Seg e med-comportamento_seguro
Seg e med-comportamento_seguroSeg e med-comportamento_seguro
Seg e med-comportamento_seguroSilvana Fontes
ย 
Towards a System of Pattern-Enhanced Cooking in the Inclusively Creative City
Towards a System of Pattern-Enhanced  Cooking in the Inclusively Creative CityTowards a System of Pattern-Enhanced  Cooking in the Inclusively Creative City
Towards a System of Pattern-Enhanced Cooking in the Inclusively Creative CityTaichi Isaku
ย 

Andere mochten auch (20)

Sakilla Datawarehouse and Datamining
Sakilla Datawarehouse and DataminingSakilla Datawarehouse and Datamining
Sakilla Datawarehouse and Datamining
ย 
China tour itinerary new
China tour itinerary newChina tour itinerary new
China tour itinerary new
ย 
ใ‚ฏใƒชใ‚จใ‚คใƒ†ใ‚ฃใƒ–ใƒปใ‚ณใƒผใ‚ฏใƒƒใ‚ญใƒณใ‚ฐใฎๆ€ๆƒณใจๅฎŸ่ทตใ€ๅ’่ซ–็™บ่กจใ€‘
ใ‚ฏใƒชใ‚จใ‚คใƒ†ใ‚ฃใƒ–ใƒปใ‚ณใƒผใ‚ฏใƒƒใ‚ญใƒณใ‚ฐใฎๆ€ๆƒณใจๅฎŸ่ทตใ€ๅ’่ซ–็™บ่กจใ€‘ใ‚ฏใƒชใ‚จใ‚คใƒ†ใ‚ฃใƒ–ใƒปใ‚ณใƒผใ‚ฏใƒƒใ‚ญใƒณใ‚ฐใฎๆ€ๆƒณใจๅฎŸ่ทตใ€ๅ’่ซ–็™บ่กจใ€‘
ใ‚ฏใƒชใ‚จใ‚คใƒ†ใ‚ฃใƒ–ใƒปใ‚ณใƒผใ‚ฏใƒƒใ‚ญใƒณใ‚ฐใฎๆ€ๆƒณใจๅฎŸ่ทตใ€ๅ’่ซ–็™บ่กจใ€‘
ย 
SONNET 69 DECARIS LOGAN
SONNET 69 DECARIS LOGANSONNET 69 DECARIS LOGAN
SONNET 69 DECARIS LOGAN
ย 
CoCooking Vision
CoCooking VisionCoCooking Vision
CoCooking Vision
ย 
CoCooking Space ใ€œๆ–ฐใ—ใ„้ฃŸๆ–‡ๅŒ–ใฎใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ใ€œ
CoCooking Space ใ€œๆ–ฐใ—ใ„้ฃŸๆ–‡ๅŒ–ใฎใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ใ€œCoCooking Space ใ€œๆ–ฐใ—ใ„้ฃŸๆ–‡ๅŒ–ใฎใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ใ€œ
CoCooking Space ใ€œๆ–ฐใ—ใ„้ฃŸๆ–‡ๅŒ–ใฎใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ใ€œ
ย 
MACUL 2016 - Explore - MAKER ED
MACUL 2016 - Explore - MAKER EDMACUL 2016 - Explore - MAKER ED
MACUL 2016 - Explore - MAKER ED
ย 
Kilroy travels
Kilroy travelsKilroy travels
Kilroy travels
ย 
Treball filosofiaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(1) (1) (1)
Treball filosofiaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(1) (1) (1)Treball filosofiaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(1) (1) (1)
Treball filosofiaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(1) (1) (1)
ย 
Best friends forever
Best friends foreverBest friends forever
Best friends forever
ย 
1 -cemig_nas_escolas
1  -cemig_nas_escolas1  -cemig_nas_escolas
1 -cemig_nas_escolas
ย 
El patito feo
El patito feoEl patito feo
El patito feo
ย 
Management Drives Onderwijs brochure
Management Drives Onderwijs brochureManagement Drives Onderwijs brochure
Management Drives Onderwijs brochure
ย 
ใ‚ฏใƒƒใ‚ญใƒณใ‚ฐใƒปใƒฉใƒณใ‚ฒใƒผใ‚ธ - ๅ’Œ้ฃŸๆ–‡ๅŒ–ใ‚’็™บไฟกใ™ใ‚‹ใ€Œใ“ใจใฐใ€ใฎใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ 
ใ‚ฏใƒƒใ‚ญใƒณใ‚ฐใƒปใƒฉใƒณใ‚ฒใƒผใ‚ธ - ๅ’Œ้ฃŸๆ–‡ๅŒ–ใ‚’็™บไฟกใ™ใ‚‹ใ€Œใ“ใจใฐใ€ใฎใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ใ‚ฏใƒƒใ‚ญใƒณใ‚ฐใƒปใƒฉใƒณใ‚ฒใƒผใ‚ธ - ๅ’Œ้ฃŸๆ–‡ๅŒ–ใ‚’็™บไฟกใ™ใ‚‹ใ€Œใ“ใจใฐใ€ใฎใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ 
ใ‚ฏใƒƒใ‚ญใƒณใ‚ฐใƒปใƒฉใƒณใ‚ฒใƒผใ‚ธ - ๅ’Œ้ฃŸๆ–‡ๅŒ–ใ‚’็™บไฟกใ™ใ‚‹ใ€Œใ“ใจใฐใ€ใฎใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ 
ย 
Vameg brochure Ver. May 2013
Vameg brochure Ver. May 2013Vameg brochure Ver. May 2013
Vameg brochure Ver. May 2013
ย 
VAMEG HELLAS Projects portfolio GB VER 2016 A web
VAMEG HELLAS Projects portfolio  GB VER 2016 A webVAMEG HELLAS Projects portfolio  GB VER 2016 A web
VAMEG HELLAS Projects portfolio GB VER 2016 A web
ย 
Seg e med-comportamento_seguro
Seg e med-comportamento_seguroSeg e med-comportamento_seguro
Seg e med-comportamento_seguro
ย 
Zvit123
Zvit123Zvit123
Zvit123
ย 
Towards a System of Pattern-Enhanced Cooking in the Inclusively Creative City
Towards a System of Pattern-Enhanced  Cooking in the Inclusively Creative CityTowards a System of Pattern-Enhanced  Cooking in the Inclusively Creative City
Towards a System of Pattern-Enhanced Cooking in the Inclusively Creative City
ย 
Q1
Q1Q1
Q1
ย 

ร„hnlich wie Validation and analysis of mobility models

Piano Nazionale Scuola Digitale (risorse integrative)
Piano Nazionale Scuola Digitale (risorse integrative)Piano Nazionale Scuola Digitale (risorse integrative)
Piano Nazionale Scuola Digitale (risorse integrative)Ministry of Public Education
ย 
Il tutorial di Python
Il tutorial di PythonIl tutorial di Python
Il tutorial di PythonAmmLibera AL
ย 
Imparare c n.104
Imparare c  n.104Imparare c  n.104
Imparare c n.104Pi Libri
ย 
Orchestrazione delle risorse umane nel BPM
Orchestrazione delle risorse umane nel BPMOrchestrazione delle risorse umane nel BPM
Orchestrazione delle risorse umane nel BPMMichele Filannino
ย 
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...michael_mozzon
ย 
Innovazione, comunitร  professionali e pubblica amministrazione il caso csi
Innovazione, comunitร  professionali e pubblica amministrazione  il caso csiInnovazione, comunitร  professionali e pubblica amministrazione  il caso csi
Innovazione, comunitร  professionali e pubblica amministrazione il caso csiCarlo Mazzocco
ย 
Porting evolutivo di unโ€™applicazione per la gestione di note spese in ambient...
Porting evolutivo di unโ€™applicazione per la gestione di note spese in ambient...Porting evolutivo di unโ€™applicazione per la gestione di note spese in ambient...
Porting evolutivo di unโ€™applicazione per la gestione di note spese in ambient...enriconatella
ย 
Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...
Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...
Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...fcecutti
ย 
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Daniele Ciriello
ย 
Monitoraggio di rete con nagios
Monitoraggio di rete con nagiosMonitoraggio di rete con nagios
Monitoraggio di rete con nagiosCe.Se.N.A. Security
ย 
Openfisca Managing Tool: a tool to manage fiscal sistems
Openfisca Managing Tool: a tool to manage fiscal sistemsOpenfisca Managing Tool: a tool to manage fiscal sistems
Openfisca Managing Tool: a tool to manage fiscal sistemsLorenzo Stacchio
ย 
Sviluppo e studio di un algoritmo genetico per la ricerca di un intervallo di...
Sviluppo e studio di un algoritmo genetico per la ricerca di un intervallo di...Sviluppo e studio di un algoritmo genetico per la ricerca di un intervallo di...
Sviluppo e studio di un algoritmo genetico per la ricerca di un intervallo di...Andrea Bidinost
ย 
Inoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxInoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxCe.Se.N.A. Security
ย 
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...Domenico Schillaci
ย 
Master plan le cittร  del golfo e le isole pontine
Master plan le cittร  del golfo e le isole pontineMaster plan le cittร  del golfo e le isole pontine
Master plan le cittร  del golfo e le isole pontineLuigi Tecno
ย 
Implementazione hardware/software di un sistemamultitouch per l'interazione u...
Implementazione hardware/software di un sistemamultitouch per l'interazione u...Implementazione hardware/software di un sistemamultitouch per l'interazione u...
Implementazione hardware/software di un sistemamultitouch per l'interazione u...Pier Giuliano Nioi
ย 

ร„hnlich wie Validation and analysis of mobility models (20)

a4_centrata
a4_centrataa4_centrata
a4_centrata
ย 
Piano Nazionale Scuola Digitale (risorse integrative)
Piano Nazionale Scuola Digitale (risorse integrative)Piano Nazionale Scuola Digitale (risorse integrative)
Piano Nazionale Scuola Digitale (risorse integrative)
ย 
Il tutorial di Python
Il tutorial di PythonIl tutorial di Python
Il tutorial di Python
ย 
Imparare c n.104
Imparare c  n.104Imparare c  n.104
Imparare c n.104
ย 
Orchestrazione delle risorse umane nel BPM
Orchestrazione delle risorse umane nel BPMOrchestrazione delle risorse umane nel BPM
Orchestrazione delle risorse umane nel BPM
ย 
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
Implementazione di protocolli e simulatori MATLAB per lo sviluppo del livello...
ย 
Innovazione, comunitร  professionali e pubblica amministrazione il caso csi
Innovazione, comunitร  professionali e pubblica amministrazione  il caso csiInnovazione, comunitร  professionali e pubblica amministrazione  il caso csi
Innovazione, comunitร  professionali e pubblica amministrazione il caso csi
ย 
Porting evolutivo di unโ€™applicazione per la gestione di note spese in ambient...
Porting evolutivo di unโ€™applicazione per la gestione di note spese in ambient...Porting evolutivo di unโ€™applicazione per la gestione di note spese in ambient...
Porting evolutivo di unโ€™applicazione per la gestione di note spese in ambient...
ย 
Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...
Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...
Tecniche di Test-driven development in ambito sicurezza informatica e rilevaz...
ย 
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
Reti neurali di convoluzione per la visione artificiale - Tesi di Laurea Magi...
ย 
Tesi
TesiTesi
Tesi
ย 
Monitoraggio di rete con nagios
Monitoraggio di rete con nagiosMonitoraggio di rete con nagios
Monitoraggio di rete con nagios
ย 
Openfisca Managing Tool: a tool to manage fiscal sistems
Openfisca Managing Tool: a tool to manage fiscal sistemsOpenfisca Managing Tool: a tool to manage fiscal sistems
Openfisca Managing Tool: a tool to manage fiscal sistems
ย 
Sviluppo e studio di un algoritmo genetico per la ricerca di un intervallo di...
Sviluppo e studio di un algoritmo genetico per la ricerca di un intervallo di...Sviluppo e studio di un algoritmo genetico per la ricerca di un intervallo di...
Sviluppo e studio di un algoritmo genetico per la ricerca di un intervallo di...
ย 
Inoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linuxInoltro di pacchetti ip in sistemi linux
Inoltro di pacchetti ip in sistemi linux
ย 
Comunicazione in un progetto di educativa di strada con strumenti Web 2.0
Comunicazione in un progetto di educativa di strada con strumenti Web 2.0Comunicazione in un progetto di educativa di strada con strumenti Web 2.0
Comunicazione in un progetto di educativa di strada con strumenti Web 2.0
ย 
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
Sviluppo di un sistema per il monitoraggio ambientale basato su reti di senso...
ย 
Master plan le cittร  del golfo e le isole pontine
Master plan le cittร  del golfo e le isole pontineMaster plan le cittร  del golfo e le isole pontine
Master plan le cittร  del golfo e le isole pontine
ย 
Implementazione hardware/software di un sistemamultitouch per l'interazione u...
Implementazione hardware/software di un sistemamultitouch per l'interazione u...Implementazione hardware/software di un sistemamultitouch per l'interazione u...
Implementazione hardware/software di un sistemamultitouch per l'interazione u...
ย 
Tesi
TesiTesi
Tesi
ย 

Kรผrzlich hochgeladen

Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
ย 
Edoardo Di Pietro โ€“ โ€œVirtual Influencer vs Umano: Rubiamo il lavoro allโ€™AIโ€
Edoardo Di Pietro โ€“ โ€œVirtual Influencer vs Umano: Rubiamo il lavoro allโ€™AIโ€Edoardo Di Pietro โ€“ โ€œVirtual Influencer vs Umano: Rubiamo il lavoro allโ€™AIโ€
Edoardo Di Pietro โ€“ โ€œVirtual Influencer vs Umano: Rubiamo il lavoro allโ€™AIโ€Associazione Digital Days
ย 
Luigi Di Carlo, CEO & Founder @Evometrika srl โ€“ โ€œRuolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl โ€“ โ€œRuolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl โ€“ โ€œRuolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl โ€“ โ€œRuolo della computer vision ...Associazione Digital Days
ย 
Federico Bottino, Lead Venture Builder โ€“ โ€œRiflessioni sullโ€™Innovazione: La Cu...
Federico Bottino, Lead Venture Builder โ€“ โ€œRiflessioni sullโ€™Innovazione: La Cu...Federico Bottino, Lead Venture Builder โ€“ โ€œRiflessioni sullโ€™Innovazione: La Cu...
Federico Bottino, Lead Venture Builder โ€“ โ€œRiflessioni sullโ€™Innovazione: La Cu...Associazione Digital Days
ย 
Daniele Lunassi, CEO & Head of Design @Eye Studios โ€“ โ€œCreare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios โ€“ โ€œCreare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios โ€“ โ€œCreare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios โ€“ โ€œCreare prodotti e servi...Associazione Digital Days
ย 
ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIinfogdgmi
ย 

Kรผrzlich hochgeladen (6)

Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
ย 
Edoardo Di Pietro โ€“ โ€œVirtual Influencer vs Umano: Rubiamo il lavoro allโ€™AIโ€
Edoardo Di Pietro โ€“ โ€œVirtual Influencer vs Umano: Rubiamo il lavoro allโ€™AIโ€Edoardo Di Pietro โ€“ โ€œVirtual Influencer vs Umano: Rubiamo il lavoro allโ€™AIโ€
Edoardo Di Pietro โ€“ โ€œVirtual Influencer vs Umano: Rubiamo il lavoro allโ€™AIโ€
ย 
Luigi Di Carlo, CEO & Founder @Evometrika srl โ€“ โ€œRuolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl โ€“ โ€œRuolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl โ€“ โ€œRuolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl โ€“ โ€œRuolo della computer vision ...
ย 
Federico Bottino, Lead Venture Builder โ€“ โ€œRiflessioni sullโ€™Innovazione: La Cu...
Federico Bottino, Lead Venture Builder โ€“ โ€œRiflessioni sullโ€™Innovazione: La Cu...Federico Bottino, Lead Venture Builder โ€“ โ€œRiflessioni sullโ€™Innovazione: La Cu...
Federico Bottino, Lead Venture Builder โ€“ โ€œRiflessioni sullโ€™Innovazione: La Cu...
ย 
Daniele Lunassi, CEO & Head of Design @Eye Studios โ€“ โ€œCreare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios โ€“ โ€œCreare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios โ€“ โ€œCreare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios โ€“ โ€œCreare prodotti e servi...
ย 
ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AI
ย 

Validation and analysis of mobility models

  • 1. Facoltร  di Ingegneria Corso di laurea in Ingegneria Informatica Tesi di laurea Magistrale in Ingegneria Informatica Validation and analysis of mobility models Relatore Candidato Prof. Luca Becchetti Umberto Griffo Correlatore Prof. Leonardo Querzoni A/A 2011/2012
  • 2. Indice Introduzione ..................................................................................................... 4 User 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.......................................................................................................... 20 Mobility 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) ................................................................... 43 Grafi 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.4 Rappresentazioni di grafi dinamici...................................................................... 55 3.4.1 Graph Exchange XML Format (GEXF) .................................................. 56 3.4.2 Dynamic Network Format (DNF) ............................................................. 57 Sistema per l'analisi 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 link's existence ......................... 80 4.5.5 Link's existence variability ........................................................................... 80 4.5.6 Pearson correlation matrix........................................................................... 81 4.6 Ulteriori script e riferimenti ................................................................................. 83 Validazione sperimentale dei modelli di mobilitร  .......................................... 84 5.1 Comparazione con i dati dell'esperimento 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 dell'esperimento 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 ................................................................................. 141 Conclusioni .................................................................................................. 143 6.1 Proposte di sviluppo future ............................................................................... 144 Bibliografia ................................................................................................... 147 3
  • 4. Introduzione I modelli di mobilitร  riproducono i movimenti di utenti mobili assegnando a ciascuno di essi una posizione, una velocitร  ed un'accelerazione che cambiano nel tempo. Nel lavoro svolto in questa tesi รจ stata condotta un'estesa analisi statistica volta a indagare l'efficacia di due importanti modelli di mobilitร  nel riprodurre il comportamento di tracce reali. A tale scopo รจ stato fatto uso di tracce di mobilitร  raccolte in due esperimenti sociali svolti in due differenti contesti: l'esperimento SocialDIS, svoltosi a partire dal 17/10/2011 al primo piano del Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti della Sapienza Universitร  di Roma, e l'esperimento NeonMACRO, effettuato il 20 Giugno 2012, in occasione della mostra d'arte NEON, presso il museo d'arte contemporanea di Roma MACRO. Tramite una piattaforma RFID-based sono stati tracciati i contatti di prossimitร  tra persone in entrambi gli esperimenti. A partire da questi dati, sono stati costruiti dei grafi dinamici che descrivono l'evoluzione temporale delle interazioni sociali tra individui, usando un formalismo che consente di memorizzarli piรน efficientemente di quanto fosse possibile in passato. Tale formalismo, ideato e sviluppato in questo lavoro, permette una rappresentazione notevolmente compatta ed efficiente in termini di occupazione di memoria e manipolabilitร . Per analizzare l'efficacia dei modelli nel riprodurre tracce compatibili con il reale 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 dai modelli di mobilitร  Random Waypoint e Truncated Lรฉvy Walk. A tal fine sono stati sviluppati 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. ๏‚ท 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 link's existence, Link's existence variability, Matrix correlation) dei grafi dinamici da confrontare. I grafi dinamici costruiti sono stati analizzati sia in forma aggregata che in forma dinamica, rispettivamente aggregando le interazioni a distanza ravvicinata per intervalli di tempo che vanno dalle 2 ore (nel caso NeonMACRO) alle 12 ore (nel caso SocialDIS), e valutando l'evoluzione dei contatti secondo per secondo. Le prime analisi condotte mostrano che nel caso SocialDIS tipicamente gli individui hanno contatti di prossimitร  prevalentemente con altri individui con cui hanno stretto un legame d'amicizia e raramente con altri individui sconosciuti, mentre nel caso NeonMACRO le persone tendono a comunicare soprattutto con quelle 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 stati opportunamente configurati per riprodurre in modo realistico il movimento delle persone nei due differenti contesti. In particolare, una differenza fondamentale emerge confrontando i risultati forniti dalle metriche statiche applicabili sui grafi aggregati e dalle metriche dinamiche applicabili su quelli non aggregati. Gli agenti che si muovono secondo questi due modelli di mobilitร  tendono a comunicare con quasi tutti gli altri agenti e tendono a produrre intervalli tra contatti successivi che mediamente risultano eccessivamente lunghi. Successivamente si sono investigate importanti differenze temporali indotte dai modelli e presenti anche nelle tracce reali. I modelli RWP e TLW mostrano inoltre significative correlazioni spaziali tra contatti distinti, sia simulando quanto avviene in SocialDIS che nel NeonMacro. Analizzando gli schemi delle comunicazioni in SocialDIS si รจ riscontrato che la correlazione spaziale tra contatti distinti risulta essere esigua, mentre risulta essere leggermente maggiore in NeonMACRO. Infine, attraverso l'implementazione di un semplice protocollo di flooding si sono investigate le proprietร  diffusive dei grafi prodotti dalle tracce reali e le si sono 5
  • 6. confrontate con quelle dei modelli. E' stato appurato che entrambi i modelli, proprio per il fatto di generare un elevato numero di comunicazioni che coinvolgono quasi tutti gli individui, falliscono nel rappresentare il comportamento diffusivo mostrato dagli esperimenti SocialDIS e NeonMACRO. La totalitร  dei risultati statistici di questo studio hanno permesso di chiarire quali sono i limiti dei modelli di mobilitร  adottati nella sperimentazione, almeno nel tipo di scenari considerati, in modo da comprendere quali possano essere le modifiche da apportare per ottenere dei modelli piรน 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 nell'ambito 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 l'analisi 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. ๏€  ๏€  Capitolo 5: vengono illustrati e motivati i risultati dell'analisi 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. Capitolo 1 User Mobility La crescente diffusione e popolaritร  di dispositivi equipaggiati con interfacce di rete wireless, come ad esempio gli smartphone di ultima generazione, rende possibile collezionare nuove sorgenti dati, che descrivono il movimento e comportamento di individui nei piรน disparati ambienti e contesti. L'accesso a tali collezioni di dati, permette di investigare sulle interazioni delle reti sociali e sull'evoluzione di processi dinamici, come la diffusione di un'informazione, la formazione di un'opinione, o un processo epidemico. Esistono due tipi di data set usati per valutare processi e protocolli applicabili alle reti mobili: dataset empirici (o Empirical dataset), collezionati catturando i dati dai comportamenti reali dei dispositivi mobili, ovvero memorizzando le reali tracce di mobilitร  dei dispositivi mobili, o dataset sintetici (o Synthetic dataset), creati usando i modelli di mobilitร , che provano a riprodurre il comportamento dei dispositivi mobili senza usare tracce di mobilitร  reali. I dati provenienti dal mondo reale consentono di capire gli schemi di comportamento che gli esseri umani adottano nelle loro attivitร . Quando si vogliono collezionare tali dati, le caratteristiche che interessa conoscere sono: posizione, direzione, velocitร  e tempo di pausa. Esistono diverse tecnologie che permettono di ottenere dati accurati sulle posizioni dei dispositivi, come i sensori GPS-based o Radio-based, ed esistono gli accelerometri per catturare i valori di velocitร , direzione e tempo di pausa. Queste tecnologie possono essere classificate in base a quanto accuratamente riescono ad individuare la posizione di un dispositivo. Ad esempio utilizzando le reti cellulari GSM/UMTS, la posizione dell'utente puรฒ essere determinata tramite varie tecniche 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. Esiste un approccio alternativo per collezionare dati sui movimenti degli individui, basato solo sulla raccolta dei contatti che avvengono tra di loro. Vengono dunque raccolte le tracce dei contatti al posto delle tracce di mobilitร , omettendo tutti i dati relativi a posizione, direzione, velocitร  e tempi di pausa, in modo da simulare solo le comunicazioni tra dispositivi. Per quanto concerne il lavoro svolto in questa tesi, รจ trovato interessante questo secondo approccio, ovvero collezionare dati generati da reti dinamiche di contatti (o dynamic contact network), ossia grafi che rappresentano le interazioni face-to-face o di prossimitร  tra individui. Catturando trace di mobilitร , basate sui contatti reali, si possono osservare i veri comportamenti di tali individui. Nei prossimi sottoparagrafi saranno illustrate, quali tecnologie consentono la raccolta di tracce di mobilitร  nei casi reali, le piรน recenti tracce di mobilitร  raccolte e rese disponibili dal mondo accademico e quelle invece ottenute dagli esperimenti che sono stati condotti nell'ambito del lavoro di tesi. 1.1 Tecnologie Collezionare dataset realistici e di grandi dimensioni su attivitร  e interazioni umane รจ un processo difficile e costoso. Al fine di costruire dataset empirici, ossia tracciare i comportamenti umani, sono stati usati dispositivi mobili cellulari o smartphone, laptop con schede di rete wireless e sensori wireless (ad esempio iMote), utilizzando reti di comunicazione di tipo Bluetooth e WiFi [30],[31],[32]. L'uso delle reti WiFi risulta essere, come dimostrato negli esperimenti condotti dall'Universitร  di Dartmouth [33] e da quella di San Diego [41] , inaccurato nel costruire tracce di mobilitร  realistiche tra dispositivi mobili. Utilizzando la tecnologia WiFi i dati sulle interazioni device-to-device vengono raccolti assumendo che i dispositivi mobili, che entrano nel raggio di comunicazione dello stesso AP (access point), possono comunicare direttamente tra di loro, ossia i contatti vengono registrati al tempo in cui i due dispositivi condividono lo stesso AP. Sfortunatamente, questa assunzione non รจ realistica, perchรฉ due dispositivi collegati allo stesso access point non รจ detto che siano uno nel raggio di copertura dell'altro, e viceversa, possono essere nei rispettivi raggi di copertura e non condividere lo stesso AP. In quest'ultimo caso l'interazione non viene registrata rendendo i dati raccolti poco realistici. 9
  • 10. Inoltre un'altra problematica relativa alla tecnologia Wifi consiste nel fatto che i dispositivi non sono sempre situati nello stesso punto dove si trova il proprietario, pertanto i dati ottenuti non esprimono sempre i comportamenti di mobilitร  degli individui. La tecnologia Bluetooth, utilizzata nell'esperimento [34] condotto presso l'universitร  di Toronto, dove le tracce di mobilitร  sono state collezionate da 20 cellulari distribuiti a gruppi di studenti, permette di collezionare contatti senza che i dispositivi debbano essere nel raggio di comunicazione dell'AP, ma allo stesso tempo richiede che il cellulare sia trasportato dai soggetti e che esso abbia una batteria con un'autonomia sufficiente per la durata dell'intero esperimento. Se i cellulari vengono ricaricati, si possono condurre lunghi esperimenti, ma ovviamente per essere ricaricato, il cellulare deve essere fermo e probabilmente distante dal proprietario, ottenendo la stessa problematica illustrata per il caso WiFi. Tracce di mobilitร  sono state collezionate anche con l'uso di sensori Intel iMote, utilizzando sempre la tecnologia Bluetooth. Essi registrano un contatto quando un dispositivo Bluetooth qualsiasi (sia un altro iMote che un PDA) entra nel suo raggio di copertura. Tramite questa tecnologia sono state raccolte tracce di mobilitร  in contesti differenti [30], ad esempio durante la conferenza IEEE INFOCOM 2005 di Miami [48], dove 41 iMote sono stati trasportati dai partecipanti per 3 giorni, o presso un laboratorio di ricerca della Universitร  di Cambrige, dove sono stati registrati i comportamenti e le tracce di mobilitร  di 12 studenti di dottorato. Utilizzando le tecnologie Bluetooth e Wifi si possono raccogliere dati che rivelano proprietร  strutturali e temporali di schemi di comportamento sociali, ma oltre che per i problemi giร  illustrati, queste tecnologie non sono adatte a rilevare contatti di prossimitร  (o face-to face) tra dispositivi, dal momento che possiedono una risoluzione spaziale massima di 10 metri e temporale di 2-5 minuti che non ci permette di stabilire se due individui comunicano uno di fronte all'altro a distanza ravvicinata (ad esempio 1 metro). Tali limitazioni possono essere superate attraverso l'uso dei dispositivi RFID (Radio Frequency Identification) [35],[65] RFID, una tecnologia per l'identificazione automatica di oggetti, animali o persone, basata sulla capacitร  di memorizzazione di dati da parte di particolari dispositivi elettronici (detti tag o transponder) e sulla capacitร  di questi di rispondere "all'interrogazione" a distanza, da parte di appositi 10
  • 11. apparati fissi o portatili chiamati reader a radiofrequenza, comunicando (o aggiornando) le informazioni in essi contenute. I tag RFID sono dei dispositivi dalle piccole dimensioni, facilmente indossabili da individui, che permettono di stabilire con accuratezza se questi sono in prossimitร  l'uno dell'altro. Questo perchรฉ i dispositivi possono scambiarsi pacchetti radio a bassa frequenza solo quando due persone si trovano ad una distanza che va da 1 a 1.5 m e sono una di fronte all'altra, in quanto il corpo umano costituisce una barriera a radio frequenze per la frequenza portante usata per la comunicazione. In tale contesto, la tecnologia RFID รจ stata adottata ed utilizzata dalla piattaforma SocioPatterns (http://www.sociopatterns.org) [36], un framework sperimentale RFID-based che permette di raccogliere dati sulle interazioni face-to-face tra individui che interagiscono a distanza ravvicinata. Durante gli esperimenti SocioPatterns [37],[38],[39],[40] i partecipanti indossano dei piccoli tag RFID. Quando gli individui indossano i tag continuamente vengono inviati pacchetti dati in broadcast. Quando una relazione di prossimitร  (o contatto) viene rilevata, il dispositivo invia un messaggio ad alta potenza. Questo pacchetto dati contiene un time stamp, l'id della stazione (RFID reader) che lo ha ricevuto e l'id dei tag che hanno partecipato nell'interazione. Il messaggio ricevuto dagli RFID reader, posizionati in modo fisso nell'ambiente, viene memorizzano localmente dal reader ed inoltrato ad un server centrale tramite rete LAN (Local Area Network), in modo da processare le informazioni in modalitร  online o offline. I tag RFID e I reader RFID usati negli esperimenti SocioPatterns, e negli esperimenti condotti nella tesi, sono stati creati ed ottenuti dal progetto OpenBeacon (http://www.openbeacon.org/). In figura 1.1 viene mostrata l'immagine di un tag RFID. 11
  • 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 tra individui, analizzando tracce di mobilitร  reali, permette di fare luce su diversi fenomeni studiati in varie aree di ricerca. A tal fine puรฒ risultare utile analizzare collezioni di dati raccolte e rese disponibili dal mondo accademico, oppure, come รจ stato fatto nel lavoro di tesi, condurre esperimenti dove vengono collezionate tracce di contatti utilizzando una piattaforma RFID-based. Nei prossimi quattro sottoparagrafi saranno illustrati rispettivamente, i data sets forniti dalla Community Resource for Archiving Wireless Data di Dartmouth (CRAWDAD) [43], i data sets raccolti durante gli esperimenti SocioPatterns [36], i dati collezionati nel progetto SocialDIS [44] presso il Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti della Sapienza Universitร  di Roma, e quelli ottenuti nel progetto MACRO [45] svoltosi presso il museo d'arte contemporanea di Roma MACRO. Questi ultimi due data set sono stati collezionati utilizzando i dispositivi ottenuti dal progetto OpenBeacon (http://www.openbeacon.org/), 12
  • 13. in collaborazione con il Wireless Sensor Network group [46] del Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti della Sapienza Universitร  di Roma. 1.2.1 CRAWDAD La Community Resource for Archiving Wireless Data di Dartmouth (CRAWDAD) [43] รจ un gruppo di ricerca, che ha costruito un repository (raggiungibile al seguente sito http://crawdad.cs.dartmouth.edu/data.php), dove vengono fornite trace di mobilitร  a chiunque lavori nell'ambito delle reti wireless o con dispositivi mobili. Questa raccolta contiene decine di dataset, ma solo quelli che descriveremo raccolgono tracce di contatti, utili per l'analisi della mobilitร  di individui. Cambridge/Haggle Nell'articolo [48] รจ stato descritto un esperimento che ha coinvolto 41 partecipanti presso la conferenza INFOCOM 2005 a Miami. Nello studio รจ stato mostrato che le distribuzioni degli intervalli di tempo durante il quali due nodi possono comunicare, hanno un andamento di tipo power-law. Per collezionare le tracce di contatti รจ stata utilizzata la tecnologia Bluetooth, di cui sono forniti i dispositivi Intel iMote. Tali dispositivi, costituiti da un processore ARM, una radio Bluetooth e una memoria flash, sono stati confezionati e distribuiti a volontari, che si sono impegnati a trasportarli durante il loro spostamenti per tutta la durata della conferenza. Le tracce dei contatti degli individui sono state collezionate eseguendo la procedura di inquiry, ossia l'identificazione, da parte di un dispositivo, dei vicini che si trovano nel suo raggio di copertura. Lo stato di inquiry dura cinque secondi, dopo i quali il dispositivo entra in modalitร  standby per 120 secondi, piรน ยฑ12 secondi, valore scelto estraendo un numero casuale da una distribuzione uniforme. Il numero di secondi casuali serve ad evitare che due dispositivi possano eseguire l'inquiry simultaneamente senza riuscire a vedersi l'uno con l'altro. Quando viene rilevato un contatto, vengono registrati gli indirizzi MAC dei due dispositivi che hanno comunicato, il tempo in cui avviene l'interazione e il tempo in cui la comunicazione termina. 13
  • 14. MIT/Reality Mining Nathan Eagle nell'articolo [49], per ottenere gli indirizzi MAC di cellulari Bluetooth ha sviluppato l'applicazione BlueAware, un software che registra i timestamp e gli indirizzi MAC dei dispositivi che si trovano in prossimitร  l'uno dell'altro, nello specifico di 60 cellulari con sistema operativo Symbian. L'applicazione riceve dal dispositivo Bluedar, un cellulare posizionato nell'ambiente di studio che scansiona tutti i dispositivi visibili nel raggio di 25m, gli indirizzi MAC, attraverso una rete 802.11b. L'esperimento Reality Mining ha collezionato dati da 100 smartphone Nokia 6600 per nove mesi, scaricabili sia dal repository del CRAWDAD, sia dal sito del progetto (http://reality.media.mit.edu). 1.2.2 SocioPattern La Piattaforma RFID-based SocioPatterns ha collezionato tracce di mobilitร , disponibili sul sito web http://www.sociopatterns.org/dataset/, in diversi ambienti e contesti. Bisogna tenere presente, che la piattaforma SocioPatterns non effettua un tracciamento delle traiettorie e delle localizzazioni spaziali accurato, ma si focalizza sul raccogliere accuratamente i contatti di prossimitร  tra individui, basandosi sulle proprietร  topologiche e temporali della mobilitร  dei nodi. Questa piattaforma rileva e registra 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. All'esibizione scientifica Infectus: Stay Away presso la Science Gallery di Dublino, Irlanda, dal 17 aprile al 17 giugno 2009, dove hanno partecipato circa 30000 visitatori, vengono mostrate opere artistiche raffiguranti i meccanismi di contagio di un virus. In questa occasione รจ stato collezionato un dataset contenente le reti dinamiche 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, e l'intervallo 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 stesso valore di ๐‘ก. Il tempo รจ misurato in secondi ed espresso nel formato UNIX time. Questo dataset รจ la controparte dinamica della rete di contatti aggregata 14
  • 15. giornalmente, disponibile in formato GML (Graph Modelling Language) [48], un formato 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 grafo costituito 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 stati raccolti dati sulle interazioni face-to-face tra 232 bambini e 10 insegnanti distribuiti in 10 aule. I dataset comprendono due reti pesate di contatti avvenuti tra studenti ed insegnati, 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 interazioni face-to-face. I nodi hanno un attributo che indica la classe di appartenenza dell'individuo, ad esempio gli insegnanti hanno assegnato il valore "Teacher". Gli archi tra il nodo A e il nodo B hanno due pesi associati: durata, che รจ il tempo totale per cui A e B hanno 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 una giornata 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 in modo piรน approfondito nel capitolo 3, quando verrร  illustrato un nuovo formalismo ideato 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 SocioPatterns project ha installato l'applicazione Live Social Semantics [39]. I partecipanti alla conferenza hanno volontariamente indossato dei radio badge che monitorano i loro contatti di prossimitร . Il dataset pubblicato sul sito del progetto, che rappresenta la rete 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 l'intervallo 15
  • 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 รจ l'ID di una persona e il corrispondente valore รจ il dizionario dei vicini di quella persona. Il dizionario dei vicini ha una chiave con l'ID 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 77922321 1240913019 78577671 96403467 1240913019 77922321 96403467 1240913039 78577671 77922321 1240913039 77922321 96403467 1240913059 78577671 77922321 1240913059 77922321 96403467 1240913079 78577671 77922321 1240913079 77922321 96403467 1240913099 96403467 77922321 1240913099 96403467 78577671 1240913099 77922321 78577671 1240913179 77922321 96403467 Listato.1.1: Viene mostrato un frammento del file contenente la lista di contatti dinamici del 28/04/2009, collezionati durante l'esibisione Infectus: Stay Away. graph [ node [ id A ] node [ id B ] node [ id C ] edge [ 16
  • 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 due archi. "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 la lista degli ID dei suoi vicini. Per ogni chiave rappresentante l'ID del vicino e associato come valore la lista degli istanti temporali in cui c'รจ stato il corrispettivo contatto. 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 e gestionale Antonio Ruberti della Sapienza Universitร  di Roma. A partire dal 17/10/2011 sono stati tracciati per quattro giorni, in modo assolutamente anonimo, i movimenti e i contatti di prossimitร  tra gli studenti che si sono offerti volontari. Hanno aderito all'esperimento circa 120 studenti, che hanno indossato un tag RFID attivo per tutta la durata della loro permanenza nel dipartimento. Come viene mostrato in figura 1.2, sono stati installati 20 lettori RFID al primo piano dell'edificio, distribuendoli in tutte le aule, nella segreteria, nella sala studio, nella 17
  • 18. presidenza e nel dispaccio (stanza dove vengono venduti cibi e bevande agli studenti). Fig.1.2: La figura mostra come gli RFID reader, identificati dai pallini neri, siano posizionati nelle in tutte le stanze e nei corridoi del primo piano del primo piano del Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti della Sapienza Universitร  di Roma. I pallini azzurri identificano gli studenti che si trovano in prossimitร  dei lettori di tag RFID ad un determinato istante temporale. I tag RFID indossati dagli studenti, periodicamente diffondono in broadcast pacchetti radio a bassa frequenza contenenti informazioni riguardo, la loro posizione e i contatti ravvicinati che hanno con uno o piรน individui. I dispositivi, che sono stati fatti 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 si trovano uno di fronte all'altro ad una distanza che va da 1 a 1.5 m, invia un messaggio ad alta potenza verso il reader piรน vicino. Questo pacchetto dati contiene un time stamp, l'id del reader che lo ha ricevuto e l'id dei tag che hanno partecipato nell'interazione. Il messaggio ricevuto dai reader viene memorizzato localmente ed inoltrato tramite rete LAN (Local Area Network) ad un server centrale, che colleziona e memorizza i dati, processabili successivamente offline. Alla fine 18
  • 19. dell'esperimento รจ stato collezionato un dataset di 250 MB, contenente tutte le interazioni avvenute durante l'esperimento, visualizzabili sotto forma di grafo pesato in figura 1.3. Fig.1.3: Vengono mostrate le interazioni sociali tra gli studenti durante l'esperimento SocialDIS. La grandezza e il colore di un nodo indica il numero di vicini. I nodi piccoli e verdi hanno poche relazioni con gli altri nodi, mentre quelli grandi e blu hanno tante relazioni con gli altri nodi. Lo spessore dell'arco indica quanto frequentemente due persone interagiscono. Un arco sottile indica poche interazioni tra due persone, mentre un arco spesso indica che ci sono state molte interazioni tra due persone. 19
  • 20. Nel grafo ciascun nodo rappresenta un visitatore e ciascun arco rappresenta il contatto avvenuto tra due individui. La grandezza ed il colore di ciascun nodo e il peso ed il colore di ciascun arco rappresentano la rispettiva frequenza, ossia il rapporto tra il numero di secondi in cui esso esiste e la durata totale dell'esperimento. Un esempio di informazione che si puรฒ ottenere da tale dataset รจ: Il tag con id 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ร  della persona a cui รจ associato il tag con id xxxx. Inoltre a ciascun studente รจ stato chiesto di fornirci le seguenti informazioni personali in forma anonima: ๏‚ท Etร  ๏‚ท Sesso (maschio/femmina) ๏‚ท Status (corso di studi e anno accademico) Con le trace di contatto che sono state ottenute dall'esperimento possiamo analizzare le relazioni tra individui: analizzare gli spazi condivisi (aule, corridoi, segreteria), analizzare le relazioni tra studenti, ad esempio individuando la formazione di comunitร  o cluster. Nel capitolo 5 si vedrร , utilizzando le metriche definite e descritte nel capitolo 3, se i modelli di mobilitร  (descritti nel capitolo 2) generano grafi dinamici, con proprietร  topologiche e temporali vicine a quelle possedute dal grafo dinamico ottenuto dal dataset empirico relativo all'esperimento condotto. Per quanto concerne il tracciamento della mobilitร  degli studenti, precisiamo che, non effettuiamo un tracciamento delle traiettorie e delle localizzazioni spaziali accurato, ma raccogliamo solamente i contatti di prossimitร  tra individui. Possiamo solamente conoscere la posizione dello studente, ossia in che stanza o corridoio si trova, in base a quale lettore RFID riceve il segnale ad alta potenza inviato dal tag. 1.2.4 MACRO Il 20 Giugno 2012 รจ stato effettuato un secondo esperimento simile a SocialDIS, presso il museo d'arte contemporanea di Roma MACRO, chiamato da ora in poi NeonMACRO. Durante la mostra d'arte NEON, sono stati tracciati in modo completamente anonimo i movimenti dei visitatori (ad esempio, quale opera un 20
  • 21. visitatore sta guardando e per quanto tempo), i contatti di prossimitร  tra i visitatori che hanno accettato di partecipare all'esperimento. I circa 120 visitatori aderenti all'iniziativa, hanno indossato un tag RFID attivo per tutta la durata della loro visita nella sala Enel del museo. Come viene mostrato in figura 1.4, sono stati installati 8 lettori RFID nella sala espositiva, posizionandoli vicino le opere d'arte principali. I tag RFID indossati dai visitatori, come nell'esperimento SocialDIS, periodicamente diffondono in broadcast pacchetti radio a bassa frequenza contenenti informazioni riguardo, la loro posizione e i contatti ravvicinati che hanno con uno o piรน soggetti. Anche in questo caso, i dispositivi sono stati ottenuti dal progetto OpenBeacon (http://www.openbeacon.org). Fig.1.4: La figura mostra come gli RFID reader, identificati dai pallini neri, siano posizionati le opere d'arte esibite al museo d'arte contemporanea di Roma MACRO. 21
  • 22. Quando due visitatori si trovano uno di fronte all'altro ad una distanza che va da 1 a 1.5 m, il rispettivo tag indossato rileva il contatto ed invia un messaggio ad alta potenza verso il reader piรน vicino. Il pacchetto dati inviato, contiene un time stamp, l'id del reader che lo ha ricevuto e l'id dei tag che hanno partecipato nell'interazione. Il messaggio ricevuto dai reader viene, anche questa volta, memorizzato localmente ed inoltrato tramite rete LAN (Local Area Network) ad un server centrale, collocato in quella che viene chiamata "Area", un open space del museo dove i visitatori possono rilassarsi, conoscere altre persone e condividere idee. Il server colleziona e memorizza i dati, che saranno successivamente processati ed analizzati offline. Alla termine dell'esperimento รจ stato raccolto un dataset di 10 MB. In figura 1.5 possiamo visualizzare, sottoforma di grafo pesato, tutte le interazioni tra visitatori avvenute durante l'esperimento. Fig.1.5: Vengono mostrate le interazioni sociali tra le persone durante l'esperimento NeonMACRO. I visitatori piรน sociali sono rappresentati da cerchi grandi e di colore scuro. Lo spessore degli archi dipende dalla frequenza con cui avviene l'interazione tra due visitatori. 22
  • 23. Ciascun nodo rappresenta un visitatore e ciascun arco rappresenta il contatto avvenuto tra due individui. La grandezza di ciascun nodo e il peso di ciascun arco rappresentano la rispettiva frequenza, ossia il rapporto tra il numero di secondi in cui esso esiste e la durata totale dell'esperimento. Questo permette di visualizzare immediatamente nel grafo quali siano i visitatori piรน socievoli e quelli meno socievoli. A ciascun visitatore รจ stato chiesto di fornire 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 l'identificativo del gruppo ) La raccolta di queste ulteriori informazioni ha permesso di effettuare delle semplici ed immediate analisi sul comportamento dei visitatori. In figura 1.6 si possono visualizzare le interazioni tra gruppi di visitatori. In figura 1.7 si puรฒ osservare, il grafo pesato rappresentante tutte le interazioni tra i visitatori (classificati per etร ) e le opere d'arte, mentre in figura 1.8 il grafo pesato raffigura tutte le interazioni tra i visitatori (classificati per titolo di studio) e le opere d'arte. Nel capitolo 5 si vedrร , utilizzando le metriche definite e descritte nel capitolo 2, se i modelli di mobilitร  (descritti nel capitolo 2) generano grafi dinamici, con proprietร  topologiche e temporali vicine a quelle possedute dal grafo dinamico ottenuto dal dataset empirico relativo all'esperimento condotto. Anche in questo caso il tracciamento della mobilitร  dei visitatori, non raccoglie le traiettorie e le localizzazioni spaziali in maniera accurata, ma raccoglie solamente i contatti di prossimitร  tra individui. Si possono solamente conoscere la posizione del visitatore, ossia in che posizione della sala Enel si trova (o che opera d'arte stia guardando), in base a quale lettore RFID riceve il segnale ad alta potenza inviato dal tag indossato. 23
  • 24. Fig.1.6: Il grafo mostra le interazioni fra i gruppi di visitatori. Ciascun nodo rappresenta un gruppo costituito dalle persone entrate in sala accompagnate. 24
  • 25. Fig.1.7: Il grafo mostra le interazioni tra i visitatori e le opere d'arte. I pallini scuri e grandi rappresentano le opere d'arte, mentre i pallini colorati piรน piccoli rappresentano i visitatori, che sono stati classificati in base alla loro etร , compresa tra 0-9, 10-19, 20-29, 30-39, 40-49, 50-59, 60-69, 70-79, 80 e piรน anni. 25
  • 26. Fig.1.8: Il grafo mostra le interazioni tra i visitatori e le opere d'arte. I pallini scuri e grandi rappresentano le opere d'arte, mentre i pallini colorati piรน piccoli rappresentano 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. Capitolo 2 Mobility Models Nel precedente capitolo sono state descritte le tecnologie con le quali vengono collezionati i dataset empirici, ossia dati che mostrano i comportamenti reali dei dispositivi mobili (nel nostro caso tag RFID). In questo capitolo verrร  definito cosa sono invece i dataset sintetici (o Synthetic dataset), dati generati usando i modelli di mobilitร , ed saranno illistrativi modelli che tentano di riprodurre il comportamento dei dispositivi mobili, senza usare tracce di mobilitร  reali. I Synthetic data sono secondo il McGraw-Hill Dictionary of Scientific and Technical Terms [12] "qualunque raccolta di dati applicabile a una data situazione, che non sia ottenibile tramite una misurazione diretta". Catturare i movimenti di individui (o nodi mobili) permette di osservare gli schemi di comportamento presenti in sistemi di vita reale. Il processo di tracciamento perรฒ, รจ un'operazione difficile da fare quando viene coinvolto un gran numero di persone e l'osservazione viene eseguita per lunghi periodi di tempo. I protocolli e le applicazioni per le reti mobili non sono facilmente modellabili e le loro performance non sono facilmente valutabili se non si conoscono i movimenti degli individui, che verranno chiamati da ora user trace. Se si vogliono produrre delle user trace senza ricorrere a complesse infrastrutture per collezionare i dati (ad esempio la piattaforma SocioPatters illustrata nel capitolo 1), รจ necessario utilizzare i synthetic models. I Synthetic models rappresentano realisticamente il comportamento di nodi mobili senza aver bisogno di catturare user trace dal mondo reale. Tracy Camp nell'articolo [13] presenta diversi modelli di mobilitร , che sono stati utilizzati per valutare le performance di protocolli per reti ad hoc. L'autore enfatizza il bisogno di sviluppare modelli di mobilitร  accurati per rappresentare realisticamente i movimenti di utenti mobili, esplorando le limitazioni delle strategie adottate dai modelli attualmente utilizzati. Egli classifica i modelli di mobilitร  in due tipi: individual mobility models e group mobility models. 27
  • 28. Gli Individual mobility models o memoryless models [14],[15] descrivono nodi le cui azioni sono indipendenti l'uno dall'altro. Questi semplici modelli sono i piรน usati per valutare reti mobili wireless, in cui ogni dispositivo รจ indipendente dagli altri e quindi non 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 l'uno dall'altro. Nei prossimi paragrafi saranno decritti i seguenti Individual mobility models, i piรน famosi ed utilizzati nel 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 dell'area 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 l'area 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. 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 all'interno 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 models Verrano descritti ora i modelli di mobilitร  in cui ciascun nodo ha un comportamento indipendente 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 da Einstein nel 1926 [50]. Il modello si basa sul moto browniano, ossia sul movimento disordinato e casuale delle particelle (aventi diametro dell'ordine del micrometro) presenti in fluidi o sospensioni fluide. In questo modello di mobilitร , viene inizialmente definita un'area rettangolare di dimensione ๐‘‹ ๐‘š๐‘Ž๐‘ฅ ร— ๐‘Œ ๐‘š๐‘Ž๐‘ฅ ed il numero totale di nodi ๐‘. Ciascun nodo si muove dalla sua posizione corrente alla sua posizione successiva scegliendo casualmente una direzione e una velocitร  con cui viaggiare. Il valore della velocitร  viene scelto da una distribuzione e puรฒ essere compreso tra un valore minimo e un valore massimo ๐‘ ๐‘๐‘’๐‘’๐‘‘๐‘š๐‘–๐‘›, ๐‘ ๐‘๐‘’๐‘’๐‘‘๐‘š๐‘Ž๐‘ฅ . Anche la direzione viene scelta casualmente da una distribuzione uniforme con valori compresi tra 0, 2๐œ‹ . Ogni passo di simulazione termina dopo un tempo prestabilito t o dopo una certa distanza d, alla fine delle quali ciascun nodo sceglie una nuova direzione e velocitร . Del Random Walk Mobility Model sono state derivate altre versioni, chiamate d-D walks, dove d rappresenta il numero di dimensioni dell'area 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ร  e la direzione correnti di un nodo mobile, sono indipendenti da quelle passate. In 29
  • 30. figura 2.1 (ottenuta dal sito http://paginas.fe.up.pt/~ee03058/stat_art.html) osserviamo che questa caratteristica puรฒ generare movimenti umani irrealistici. Fig.2.1: Esempio di come si muove un nodo mobile usando il Random Walk Mobility Model versione 2-D. Se il tempo ๐‘ก o la distanza ๐‘‘, che definiscono quanto dura un passo della simulazione, sono troppo corti, i nodi si muovono solo in una piccola parte dell'area di simulazione, generando uno schema di movimento adatto all'analisi di reti semi statiche. Pertanto se si vogliono invece analizzare reti dinamiche, dobbiamo scegliere grandi 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 descrive come si muovono i nodi in una rete mobile in una data area. In questo modello di mobilitร  viene definita un'area rettangolare di dimensione ๐‘‹ ๐‘š๐‘Ž๐‘ฅ ร— ๐‘Œ ๐‘š๐‘Ž๐‘ฅ e stabilito il numero totale di nodi ๐‘. Ciascun nodo viene casualmente posizionato nell'area in un punto (๐‘ฅ, ๐‘ฆ), dove ๐‘ฅ e ๐‘ฆ sono entrambi uniformemente distribuiti rispettivamente su 0, ๐‘‹ ๐‘š๐‘Ž๐‘ฅ e 0, ๐‘Œ ๐‘š๐‘Ž๐‘ฅ . A ciascun nodo vengono assegnati un punto di arrivo o destinazione (๐‘ฅ0 , ๐‘ฆ0 ), casualmente scelto tra i punti dell'area, e una velocitร  v, che รจ 30
  • 31. casualmente scelta da una distribuzione uniforme in un intervallo compreso tra ๐‘š๐‘–๐‘›๐‘ ๐‘๐‘’๐‘’๐‘‘, ๐‘š๐‘Ž๐‘ฅ๐‘ ๐‘๐‘’๐‘’๐‘‘ . Un nodo inizia a muoversi verso la destinazione con velocitร  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 il comportamento 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 Waypoint Mobility Model in un'area 1000 x 1000 m. Se al modello si assegna a ciascun nodo un waiting time pari a zero e ๐‘š๐‘–๐‘›๐‘ ๐‘๐‘’๐‘’๐‘‘, ๐‘š๐‘Ž๐‘ฅ๐‘ ๐‘๐‘’๐‘’๐‘‘ = ๐‘ ๐‘๐‘’๐‘’๐‘‘๐‘š๐‘–๐‘›, ๐‘ ๐‘๐‘’๐‘’๐‘‘๐‘š๐‘Ž๐‘ฅ , il Random Waypoint Mobility Model diventa simile al Random Walk Mobility Model. Il modello presenta il seguente problema [13]: ciascun nodo mobile viene posizionato in modo casuale nell'area di simulazione, non rappresentando in modo realistico il modo in cui i nodi si distribuiscono quando si muovono. In [13] viene mostrato che nel modello si attenua il problema della posizione iniziale dopo circa 600 secondi di simulazione e che esistono tre possibili soluzioni per evitare l'inaccuratezza del modello, dovuta alla posizione iniziale dei nodi. La prima soluzione รจ salvare le posizioni dei nodi al termine di una simulazione durata piรน di 600 secondi ed utilizzarle come posizioni iniziali nelle 31
  • 32. simulazioni successive. La seconda รจ scegliere la posizione iniziale secondo una distribuzione di probabilitร  che rappresenta meglio la realtร  che vogliamo simulare. La terza consiste nello scartare i primi 1000 secondi di simulazione. La terza soluzione รจ migliore della prima, perchรฉ garantisce che ciascuna simulazione abbia un inizializzazione 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 percorrono l'area 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 essi possono avere, perchรฉ i nodi che sono vicini al bordo dell'area di simulazione, hanno maggiore probabilitร  di scegliere una destinazione che si trovi verso il centro dell'area, dove la probabilitร  di incontrare nodi cresce, mentre quando si trovano sul bordo dell'area la probabilitร  di incontrare nodi decresce. Queste variazioni di densitร  (chiamate density wave) del numero medio di vicini in base alla zona, vengono risolte nel modello descritto nel prossimo paragrafo. 2.1.3 Random Direction (RD) Il Random Direction Mobility Model (RD)descritto in [52], รจ stato ideato per evitare le variazioni del numero medio di vicini che si hanno in base alla zona dell'area di simulazione raggiunta da un nodo mobile, che avvengono nel modello RWP. I quest'ultimo modello รจ stato visto che la probabilitร  con cui un nodo sceglie una nuova destinazione localizzata nel centro dell'area di simulazione, o che richiede l'attraversamento 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 con maggiore probabilitร  vicino i bordi dell'area di simulazione. Come visto modello precedentemente illustrato, anche ora viene definita un'area rettangolare di dimensione ๐‘‹ ๐‘š๐‘Ž๐‘ฅ ร— ๐‘Œ ๐‘š๐‘Ž๐‘ฅ ed il numero totale di nodi ๐‘. Ciascun nodo viene casualmente posizionato nell'area 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 una distribuzione uniforme in un intervallo compreso tra ๐‘š๐‘–๐‘›๐‘ฃ, ๐‘š๐‘Ž๐‘ฅ๐‘ฃ e un angolo di direzione, scelto casualmente da una distribuzione uniforme con valori compresi tra 32
  • 33. 0, 2๐œ‹ , come avviene nel modello RW. Ciascun nodo dopo aver scelto la direzione, la segue fino ad arrivare al bordo dell'area di simulazione con velocitร  ๐‘ฃ. Quando un nodo raggiunge il bordo si ferma per un tempo chiamato waiting time, 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. Dato che i nodi restano per molto tempo sui bordi dell'area di simulazione, la distanza media tra i nodi risulta maggiore rispetto agli altri modelli, per questo motivo un pacchetto dati o un informazione, raggiunge un nodo attraversando un numero medio di hop maggiore rispetto agli altri modelli. Dunque la rete ottenuta dalla simulazione risulta partizionata. Per diminuire tale problema, รจ stata ideata una versione modificata del modello RD, descritta in [51], in cui i nodi mobili continuano a scegliere casualmente una direzione, ma non devono raggiungere necessariamente il bordo dell'area di simulazione affinchรจ si fermino ed aspettino il waiting time, per poi ripartire per una nuova direzione. Questa modifica rende il modello RD identico al modello RW con il waiting time. 2.1.4 Truncated Lรจvi Walk (TLW) Gli schemi di mobilitร  degli esseri umani vengono tipicamente approssimati con il modello RW (descritto nel paragrafo 2.1.1) o RWP (illustrato nel paragrafo 2.1.2). Attraverso delle misurazioni fatte in natura si รจ osservato che le traiettorie seguite 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 ad un altro, senza cambiare direzione o tempo di pausa. Queste osservazioni sono state poi generalizzate al caso umano nello studio descritto in [20], dove, catturando tramite tecnologia GPS le user trace di 44 volontari distribuiti in diversi ambienti outdoor (campus universitari, metropolitane, parchi), si รจ riscontrato che le human walks hanno delle forti correlazioni statistiche con le Lรฉvy walks. Gli autori enfatizzato il fatto che le somiglianze possono essere solo di tipo statistico, perchรฉ gli umani si muovono in base all'attivitร  che devono svolgere o alle loro preferenze, dunque non possono spostarsi in modo casuale. 33
  • 34. In figura 2.5 si nota che, le Lรฉvy walks [20] sono un insieme di tanti flight corti e rari flight lunghi e che le tracce di mobilitร  risultano essere piรน realistiche di quelle ottenute dai modelli di mobilitร  RW e RWP. Nello studio รจ stato scoperto che, le flight distribution e le waiting time distribution dei partecipanti all'esperimento, sono truncated power-law distribution, e che la Inter contac time (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 seguenti caratteristiche: ๏‚ท Le lunghezze dei flight seguono una truncated power law con esponente ๐›ผ: โˆ’ 1+๐›ผ ๐‘ ๐‘™ ~ ๐‘™ ,๐‘™< ๐‘™ ๐‘š๐‘Ž๐‘ฅ ; ๏‚ท i waiting times seguono una truncated power law con esponente ๐›ฝ: ๐œ“ ๐‘ก ~๐‘ก โˆ’ 1+๐›ฝ , 0 < ๐‘ก < ๐‘ก ๐‘š๐‘Ž๐‘ฅ ; ๏‚ท l'angolo 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 una relazione tra la direzione e la velocitร  di un nodo nel tempo passato e la direzione e velocitร  del nodo correnti [55]. Definita un area'rettangolare di dimensione ๐‘‹ ๐‘š๐‘Ž๐‘ฅ ร— ๐‘Œ ๐‘š๐‘Ž๐‘ฅ ed il numero totale di nodi ๐‘, la velocitร  di un nodo mobile รจ descritta da un vettore ๐‘ฃ = ๐‘ฃ, ๐œƒ , dove v รจ la velocitร  e ๐œƒ รจ la direzione. Ciascun nodo viene 34
  • 35. casualmente posizionato nell'area in un punto (๐‘ฅ, ๐‘ฆ). Ad ogni passo della simulazione, di durata โˆ†๐‘ก, la velocitร  e la posizione di ogni nodo viene aggiornata secondo le seguenti equazioni: ๐‘ฃ ๐‘ก + โˆ†๐‘ก = ๐‘š๐‘–๐‘› ๐‘š๐‘Ž๐‘ฅ ๐‘ฃ ๐‘ก + โˆ†๐‘ฃ, 0 , ๐‘‰๐‘š๐‘Ž๐‘ฅ ๐œƒ ๐‘ก + โˆ†๐‘ก = ๐œƒ ๐‘ก + โˆ†๐œƒ ๐‘ฅ ๐‘ก + โˆ†๐‘ก = ๐‘ฅ ๐‘ก + ๐‘ฃ ๐‘ก โˆ— ๐‘๐‘œ๐‘ ๐œƒ ๐‘ก ๐‘ฆ ๐‘ก + โˆ†๐‘ก = ๐‘ฆ ๐‘ก + ๐‘ฃ ๐‘ก โˆ— ๐‘ ๐‘–๐‘›๐œƒ ๐‘ก dove ๐‘‰๐‘š๐‘Ž๐‘ฅ รจ la massima velocitร  definita nella simulazione, โˆ†๐‘ฃ รจ la variazione di velocitร  che รจ uniformemente distribuita tra โˆ’๐ด ๐‘š๐‘Ž๐‘ฅ โˆ— โˆ†๐‘ก, ๐ด ๐‘š๐‘Ž๐‘ฅ โˆ— โˆ†๐‘ก , ๐ด ๐‘š๐‘Ž๐‘ฅ รจ la massima accelerazione che puรฒ raggiungere un nodo, โˆ†๐œƒ รจ la variazione di direzione che รจ uniformemente distribuita tra โˆ’๐›ผ โˆ— โˆ†๐‘ก, ๐›ผ โˆ— โˆ†๐‘ก , e ๐›ผ รจ la massima variazione di angolo nella direzione percorsa dal nodo. Dalla figura 2.3 (ottenuta dal sito web http://www-public.it-sudparis.eu/~gauthier/MobilityModel/mobilitymodel.html) si osserva che a differenza dei modelli illustrati nei paragrafi precedenti, i nodi possono continuare il loro percorso superando i confini dell'area di simulazione, riapparendo nel lato opposto dell'area di simulazione. 35
  • 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 di 1000 x 300 m. In figura 2.4 si vede che questa tecnica crea un area di simulazione toroidale, dove i nodi possono viaggiare senza confini. Fig.2.4: La figura mostra che nel Boundless Simulation Area Mobility Model l'area di simulazione 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 un'area rettangolare di dimensione ๐‘‹ ๐‘š๐‘Ž๐‘ฅ ร— ๐‘Œ ๐‘š๐‘Ž๐‘ฅ , viene assegnata una velocitร  e una direzione iniziale, che viene aggiornata ad ogni intervallo di tempo fisso ๐‘›. Il valore aggiornato nell'n-esima istanza รจ calcolato in base al valore della n-1 esima istanza, e al valore di una variabile casuale, usando le seguenti equazioni: ๐‘  ๐‘› = ๐›ผ๐‘  ๐‘›โˆ’1 + 1 โˆ’ ๐›ผ ๐‘  + 1 โˆ’ ๐›ผ 2 ๐‘  ๐‘ฅ ๐‘› โˆ’1 ๐‘‘ ๐‘› = ๐›ผ๐‘‘ ๐‘›โˆ’1 + 1 โˆ’ ๐›ผ ๐‘‘ + 1 โˆ’ ๐›ผ 2 ๐‘‘ ๐‘ฅ ๐‘› โˆ’1 dove ๐‘  ๐‘› e ๐‘‘ ๐‘› sono, rispettivamente la nuova velocitร  e la nuova direzione dei nodi nell'intervallo temporale ๐‘›; ๐›ผ, compresa tra โˆ’1, 1 , รจ usata come parametro per regolare la casualitร ; ๐‘  e ๐‘‘ sono costanti che rappresentano il valore medio di velocitร  36
  • 37. e direzione con ๐‘› โ†’ โˆž; ๐‘  ๐‘ฅ ๐‘› โˆ’1 e ๐‘‘ ๐‘ฅ ๐‘› โˆ’1 sono variabili aleatorie prese da una distribuzione Gaussiana. Impostando ๐›ผ = 0 otteniamo valori totalmente casuali, mentre con ๐›ผ = 1 otteniamo un moto lineare. Assegnando valori intermedi ad ๐›ผ, si ottengono diversi livelli di casualitร . Ad ogni passo della simulazione la posizione successiva di un nodo viene calcolata in base alla posizione, velocitร  e direzione corrente, seguendo le seguenti equazioni: ๐‘ฅ ๐‘› = ๐‘ฅ ๐‘›โˆ’1 + ๐‘  ๐‘›โˆ’1 โˆ— ๐‘๐‘œ๐‘ ๐‘‘ ๐‘›โˆ’1 ๐‘ฆ ๐‘› = ๐‘ฆ ๐‘›โˆ’1 + ๐‘  ๐‘›โˆ’1 โˆ— ๐‘ ๐‘–๐‘›๐‘‘ ๐‘›โˆ’1 Dove ๐‘ฅ ๐‘› , ๐‘ฆ ๐‘› ๐‘’ ๐‘ฅ ๐‘›โˆ’1 , ๐‘ฆ ๐‘›โˆ’1 sono rispettivamente le coordinate x e y dei nodi mobili all'n-esimo e all'n-1 esimo intervallo temporale. In figura 2.5 (dal sito ottenuta dal sito web http://tinyurl.com/8oed5jz) viene mostrato il comportamento di un nodo in un area di simulazione che misura 700 x 1000 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. 2.1.7 Probabilistic Random Walk (PRW) Nella tesi di dottorato di Chiang [57] รจ stato creato un modello di mobilitร , chiamato Probabilistic Random Walk Mobility Model, che, utilizzando una matrice di probabilitร , determina la posizione di uno specifico nodo mobile, in un'area ๐‘‹ ๐‘š๐‘Ž๐‘ฅ ร— ๐‘Œ ๐‘š๐‘Ž๐‘ฅ , in base a tre possibili stati: lo stato 0 rappresenta la posizione corrente, lo stato 1 rappresenta la posizione passata e lo stato 2 rappresenta la posizione futura se il nodo mobile 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 passi dallo stato ๐‘Ž allo stato ๐‘. Le coordinate x e y di ciascun nodo vengono aggiornate in base ai valori della matrice. Ogni nodo si muove casualmente con una velocitร  media predefinita. Nella seguente matrice ci sono i valori che Chiang ha usato per calcolare le variazioni nelle coordinate x e y dei nodi: 0 0.5 0.5 ๐‘ƒ = 0.3 0.7 0 0.3 0 0.7 In 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 diretto verso: nord, sud, est o ovest, senza mai prendersi una pausa (wait time = 0). La probabilitร  che il nodo continui a seguire la stessa direzione รจ piรน alta della probabilitร  che esso la cambi. Inoltre i valori definiti non permettono movimenti tra la precedente e la prossima posizione senza passare per quella corrente. 38
  • 39. Fig.2.6: Diagramma di flusso della versione probabilistica del Random Walk Mobility Model. Questa implementazione del modello produce dei comportamenti di mobilitร  piรน realistici del modello RW. Ad esempio una persona che deve eseguire vari compiti giornalieri, 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 posti che 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 un esempio di schema di mobilitร  di un nodo mobile usando la versione probabilistica del modello RW. Da questa figura si osserva che la user trace ha dei cambiamenti di direzione molto meno variabili di quelli visti per il modello RW in figura 2.1, dunque approssima meglio gli schemi di mobilitร  degli esseri umani. 39
  • 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 500 x 560 m. 2.1.8 Weighted Waypoint (WW) Il Weighted Waypoint Mobility Model (WW) [64] รจ una versione del modello RWP, in cui le persone non decidono una destinazione in modo casuale, ma la scelgono in base ad una certa probabilitร , che dipende da quanto gli individui tendono a visitarla. Tutti i modelli che sono stati illustrati nei paragrafi precedenti non considerano che all'interno dell'area di simulazione alcune zone sono visitate piรน spesso rispetto ad altre. In [64] รจ stato dimostrato che se ne viene tenuto conto, ossia si considera l'esistenza di zone in cui gli individui interagiscono tra di loro per un periodo prolungato, 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 dell'area di simulazione viene assegnato un peso, definito in base alla probabilitร  di scegliere quel luogo come destinazione. Tale probabilitร  puรฒ 40
  • 41. essere calcolata valutando quanto le zone siano "popolari" nell'ambiente 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 models Verranno descritti ora i modelli di mobilitร  in cui i nodi hanno un comportamento che dipende da quello degli altri nodi. Tali modelli risultano essere utili per tracciare user trace che simulano realtร  in cui i nodi si muovono in comunitร . 2.2.1 Exponential Correlated Random Questo modello di mobilitร  proposto in [58] data la posizione di un nodo (o un gruppo) al tempo ๐‘ก, tramite funzione di movimento ๐‘ ๐‘ก , viene determinata la posizione 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 quella successiva (ad una valore minore di ๐œ corrisponde un cambiamento piรน rapido). Il problema principale di questo particolare modello รจ la difficoltร  di assegnare il valore piรน corretto ai parametri in modo da ottenere lo schema di mobilitร  che vogliamo. 2.2.2 Column Il Column Mobility Model (http://www.disca.upv.es/misan/mobmodel.htm) รจ un modello che rappresenta un insieme di nodi mobili che si muovono lungo una data linea (o colonna). Inizialmente viene definita una reference grid, ossia una colonna iniziale di nodi, dove ciascun nodo viene messo in relazione con un punto di riferimento. I nodi si possono muovere attorno al loro punto di riferimento seguendo le regole dettate da un particolare Individual mobility models (ad esempio viene consigliato di 41
  • 42. usare il modello RW, descritto nel paragrafo 2.1.1). Il nuovo reference point per un determinato nodo viene definito come: ๐‘›๐‘’๐‘ค ๐‘Ÿ๐‘’๐‘“๐‘’๐‘Ÿ๐‘’๐‘›๐‘ ๐‘’ ๐‘๐‘œ๐‘–๐‘›๐‘ก = ๐‘œ๐‘™๐‘‘ ๐‘Ÿ๐‘’๐‘“๐‘’๐‘Ÿ๐‘’๐‘›๐‘ ๐‘’ ๐‘๐‘œ๐‘–๐‘›๐‘ก + ๐‘Ž๐‘‘๐‘ฃ๐‘Ž๐‘›๐‘๐‘’ ๐‘ฃ๐‘’๐‘๐‘ก๐‘œ๐‘Ÿ dove ๐‘œ๐‘™๐‘‘ ๐‘Ÿ๐‘’๐‘“๐‘’๐‘Ÿ๐‘’๐‘›๐‘ ๐‘’ ๐‘๐‘œ๐‘–๐‘›๐‘ก รจ il punto di riferimento precedente e ๐‘Ž๐‘‘๐‘ฃ๐‘Ž๐‘›๐‘๐‘’ ๐‘ฃ๐‘’๐‘๐‘ก๐‘œ๐‘Ÿ un offset angolare scelto in modo casuale che sposta la griglia di riferimento. Quando la griglia viene ruotata con un angolo casuale (compreso tra 0 e ๐œ‹) e spostata ad una distanza 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 Community Il Nomadic Community Mobility Model (http://www.disca.upv.es/misan/mobmodel.htm) รจ un modello che rappresenta comunitร  di nodi che si muovono collettivamente da un punto ad un altro [59]. Ogni comunitร  o gruppo di nodi, che ha associato un punto di riferimento in comune, si muove attorno al proprio reference point ma, all'interno di ogni gruppo, ciascun nodo mantiene una propria "area personale", dove si muove in modo casuale. Questo modello puรฒ essere usato ad esempio per simulare scenari dove una classe di studenti visitano un museo d'arte. Gli alunni della classe si sposteranno da un punto ad un altro insieme, mentre nel punto in cui si trovano si possono muovere individualmente come vogliono (ad esempio secondo un Individual mobility models). Rispetto al modello Column, i nodi all'interno del gruppo sono meno vincolati nella possibilitร  di movimento. 2.2.4 Pursue Nel 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 nodi mobili, eseguendo dei movimenti in direzione di esso, determinati da un randomvector , ossia un offset ottenuto seguendo uno degli Individual mobility models (ad esempio il modello RW, descritto nel paragrafo 2.1.1). La nuova posizione di ciascun nodo viene calcolata utilizzando la seguente equazione: newposition = oldposition + acceleration target โˆ’ oldposition + randomvector 42
  • 43. dove acceleration target โˆ’ oldposition รจ l'informazione relativa al nodo che viene inseguito e randomvector rappresenta l'offset applicato ad ogni nodo. Dunque, per calcolare la prossima posizione di ogni nodo, questo modello utilizza la posizione corrente del nodo, un vettore casuale e il valore dell'accelerazione relativa al nodo inseguito. 2.2.5 Reference Point Group (RPG) Il Reference Point Group Mobility Model (RPG) definito in [58] rappresenta il movimento casuale di un gruppo di nodi mobili. Gli spostamenti del gruppo si basano sul percorso seguito da quello che รจ definito il centro logico del gruppo. Il centro logico del gruppo viene utilizzato per calcolare i movimenti del gruppo attraverso un group motion vector, ๐บ ๐‘€, che puรฒ essere predefinito o scelto in modo casuale. Ogni nodo si muove casualmente seguendo il proprio reference point pre- definito, il cui spostamenti dipendono dal movimento del gruppo. Quando di un nodo viene calcolato un nuovo reference point al tempo ๐‘ก + 1, ๐‘…๐‘ƒ(๐‘ก + 1), questo viene combinato con un random vector, ๐‘… ๐‘€, per rappresentare lo spostamento casuale di ogni nodo rispetto al relativo reference point. Dunque, il vettore ๐‘… ๐‘€ viene usato per calcolare il nuovo reference point di ogni nodo al tempo t+1. Successivamente la nuova posizione di ogni nodo viene stabilita sommando il random motion vector, ๐‘… ๐‘€, al nuovo reference point. 43
  • 44. Capitolo 3 Grafi dinamici Nel presente lavoro sono state generate reti dinamiche di contatti (che saranno chiamate da ora in poi Dynamic Contact Network o Contact Graph), ricavate sia da tracce di contatti basate su quello che รจ avvenuto negli esperimenti SocialDIS e MACRO, sia da tracce di contatti ottenute a partire dai modelli di mobilitร . Nei seguenti paragrafi verrร  descritto: come si definisce un Contact Graph a partire dai casi reali e dai casi simulati usando modelli di mobilitร ; gli indicatori statistici definiti ed implementati per poter analizzare e confrontare le Dynamic Contact Network; le limitazioni del formato attualmente piรน utilizzato per la scrittura di grafi dinamici su file e il nuovo formato che รจ stato ideato per superarle. 3.1 Definizione del grafo dinamico dei contatti L'evoluzione dinamica di una rete, puรฒ essere modellata introducendo la dimensione temporale ๐‘ก, che mostra come la topologia della rete varia nel tempo. Nelle opportunistic networks, un Contact Graph ๐บ(๐‘‰, ๐ธ) รจ tipicamente usato per descrivere una rete dinamica di contatti [8]. In un Contact Graph: ๐‘‰ รจ l'insieme di nodi ed ๐ธ รจ l'insieme degli archi, dove ciascun arco รจ rappresentato da, una coppia di nodi, dal tempo in cui il contatto รจ iniziato e dalla durata del contatto. Basandosi su questa definizione fornita da Ferreira [8], viene ridefinito il Contact Graph come una rete ๐บ(๐‘‰, ๐ธ), in cui ciascun nodo ๐‘ฃ โˆˆ ๐‘‰, rappresenta una persona e ciascun arco ๐‘’ โˆˆ ๐ธ, rappresenta un contatto face-to-face avvenuto tra due individui. Sia ๐‘‡ = ๐‘ก0 , ๐‘ก1 , โ€ฆ , ๐‘ก ๐‘› l'insieme di tutti gli istanti temporali in cui il grafo varia nel tempo. Ad ogni nodo e ogni arco viene associato un Presence Schedule, un insieme contenente gli istanti di tempo ๐‘ก โˆˆ ๐‘‡, in cui il nodo (o arco) รจ presente. Il Presence 44
  • 45. Schedule di un nodo ๐‘ฃ puรฒ essere rappresentato come ๐‘ƒ(๐‘ฃ), e il Presence Schedule di un arco ๐‘’ 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 (come viene descritto nei paragrafi 1.2.3 e 1.2.4), generando un nodo ogni volta che un tag RFID viene rilevato per la prima volta da un reader RFID, assegnandogli ciascuna volta il tempo in cui รจ stato rilevato (in formato UNIX time) e generando un arco ogni volta che due individui si trovano uno di fronte all'altro ad una distanza ravvicinata. Quando questo accade, viene aggiornato il ๐‘ƒ(๐‘ฃ) di ciascun ๐‘ฃ โˆˆ ๐‘‰ che ha partecipato nell'interazione e il ๐‘ƒ ๐‘’ dell'arco ๐‘’ โˆˆ ๐ธ che li connette. Infatti, il tag RFID indossato dagli individui, quando rileva la comunicazione, invia un messaggio ad alta potenza verso il reader RFID piรน vicino. Tale mesaggio contiene il tempo in cui il contatto รจ avvenuto (in formato UNIX time) e l'id dei tag che hanno comunicato. Il peso di ciascun arco del Dynamic Contact Graph ottenuto, รจ pari alla frequenza con cui il contatto avviene, ossia il rapporto tra ๐‘ƒ ๐‘’ e ๐‘‡. A partire dai modelli di mobilitร , se si vogliono rilevare i contatti di prossimitร  tra persone, ciascuna delle quali ha una propria posizione, direzione, velocitร  e tempo di pausa, bisogna considerare che ogni individuo possa vederne un altro, 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 due vertici ๐‘ฃ ๐‘– e ๐‘ฃ ๐‘— con un arco quando i relativi insiemi hanno un'intersezione non nulla, ovvero ๐‘’ = ๐‘ฃ ๐‘– , ๐‘ฃ ๐‘— |๐‘† ๐‘– โˆฉ ๐‘†๐‘— โ‰  0. Come รจ possibile vedere in figura 3.1, uno unit disk graph [62] รจ un intersection graph costituito da un vertice per ogni cerchio e da un arco ogni volta che due cerchi s'intersecano. Ciascun cerchio, definito nel piano Euclideo, ha la stessa misura. Utilizzando il principio su cui si basa la costruzione dello unit disk graph, viene costruito il Contac Graph come segue: Siano A e B due individui che si muovono secondo un modello di mobilitร , sia (๐‘ฅ ๐‘Ž, ๐‘ฆ ๐‘Ž ) la posizione di A e (๐‘ฅ ๐‘, ๐‘ฆ ๐‘ ) la posizione di B. Siano ๐‘Ÿ ๐‘Ž e ๐‘Ÿ ๐‘ i rispettivi raggi dei cerchi di A e B. Definite le seguenti grandezze: 45
  • 46. ๐‘ฅ ๐‘‘๐‘–๐‘“๐‘“ = ๐‘ฅ ๐‘Ž, โˆ’ ๐‘ฅ ๐‘, ๐‘ฆ ๐‘‘๐‘–๐‘“๐‘“ = ๐‘ฆ ๐‘Ž, โˆ’ ๐‘ฆ ๐‘, ๐ท๐‘–๐‘ ๐‘ก๐‘Ž๐‘›๐‘๐‘’ ๐‘ ๐‘ž๐‘ข๐‘Ž๐‘Ÿ๐‘’๐‘‘ = ๐‘ฅ ๐‘‘๐‘–๐‘“๐‘“ 2 + ๐‘ฆ ๐‘‘๐‘–๐‘“๐‘“ 2 le persone A e B, che si muovono secondo le regole del modello di mobilitร , hanno un contatto se ๐ท๐‘–๐‘ ๐‘ก๐‘Ž๐‘›๐‘๐‘’ ๐‘ ๐‘ž๐‘ข๐‘Ž๐‘Ÿ๐‘’๐‘‘ < ๐‘Ÿ ๐‘Ž + ๐‘Ÿ ๐‘ 2 . Fig.3.1: Esempio di unit disk graph, dove tra due nodi esiste un arco che li congiunge, se e solo se i rispettivi cerchi s'intersecano. 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 ciascun nodo e dell'arco 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. 3.2 Definizione del grafo aggregato dei contatti I grafi dei contatti possono essere prodotti sia in forma aggregata, che in forma dinamica. Sia ๐บ(๐‘‰, ๐ธ), un Contact Graph e sia ๐‘‡ = ๐‘ก0 , ๐‘ก1 , โ€ฆ , ๐‘ก ๐‘› , l'insieme di tutti gli istanti temporali in cui ๐บ varia nel tempo. Si ottiene un Contact Graph aggregato rispetto un intervallo di tempo ๐‘˜1 , ๐‘˜2 , con 0 < ๐‘˜2 โˆ’ ๐‘˜1 = K โ‰ค ๐‘‡, assegnado a ciascun arco ๐‘’ โˆˆ ๐ธ un peso pari alla frequenza con cui il contatto avviene, ovvero il rapporto tra ๐‘ƒ ๐‘’ e ๐พ, senza perรฒ associare alcun presence schedule ai nodi/archi del grafo. 3.3 Indicatori statistici/metriche Nei prossimi sotto-paragrafi verranno definiti gli indicatori statistici (o metriche) che sono stati implementati per poter analizzare e confrontare le Dynamic Contact Network ottenute 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 metriche su grafo dinamico , ovvero indicatori che effettuano misure considerando i Presence schedules. 3.3.1 Indicatori/metriche su grafo aggregato Node strength. La Strength [1] di un nodo i, definita come: ๐‘ ๐‘†๐‘– = ๐‘ค ๐‘–,๐‘— ๐‘—๐œ–๐‘‰ dove V รจ l'insieme dei vicini del nodo, ๐‘‰ = ๐‘, ๐‘ค ๐‘–,๐‘— รจ il peso dell'arco che connette il nodo i al nodo j, misura la "forza" di un nodo in base alla somma dei pesi delle sue connessioni. In un grafo pesato, la strength di un nodo รจ la somma dei pesi degli archi incidenti 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 la quale un nodo comunica con i suoi vicini. Weighted Clustering Coefficient. Il clustering misura quanto i vicini di un nodo tendono ad essere collegati tra di loro, ovvero quanto tendono con esso a formare una clique (grafo completo). 47
  • 48. Il local clustering di un nodo i รจ misurato con un coefficiente ๐ถ ๐‘– , introdotto da Watts e Strogatz per le analisi delle small-world networks [2], definito come rapporto tra il numero attuale di archi tra il nodo i e i propri vicini e il numero massimo di archi che connettono 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 viene ridefinito come: 2 ๐‘ค ๐‘–,๐‘— + ๐‘ค ๐‘–,๐‘˜ ๐ถ๐‘– ๐‘Š = ๐‘† ๐‘– (๐‘‘๐‘ฃ โˆ’ 1) 2 ๐‘— ,๐‘˜ Dove ๐‘† ๐‘– รจ la Strength del nodo i, ๐‘ค ๐‘–,๐‘— e ๐‘ค ๐‘–,๐‘˜ sono rispettivamente i pesi degli archi che connetto 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 il nodo ๐‘ฃ, con la rispettiva versione pesata. In questo caso particolare, il nodo ๐‘ฃ ha comunicato con una frequenza maggiore, con il nodo ๐‘—, dunque anche se ๐‘ฃ fa parte 48
  • 49. di una 4-clique, ne fa meno parte rispetto al caso non pesato. ๐ถ ๐‘ฃ = 0.5 risulta essere in questo caso una sovrastima rispetto a ๐ถ ๐‘ฃ ๐‘Š = 0.25. Modularity. Suddividere una rete in partizioni (o cluster) contenenti un elevato numero di archi al loro interno e pochi archi che le connettono l'una all'altra, viene detto Community Detection. La modularity misura la qualitร  del partizionamento, ovvero quanto bene la struttura di un grafo รจ stata suddivisa in moduli (chiamati anche gruppi, cluster o community). Grafi con alta modularity hanno connessioni dense tra i nodi appartenenti allo stesso modulo e sparse tra i nodi appartenenti a moduli differenti. La modularity รจ rappresentata dalla differenza tra il numero di archi contenuti nei cluster di uno specifico partizionamento del grafo e il numero atteso di archi contenuti nei cluster di un grafo random, avente la stessa node degree distribution del grafo per cui viene calcolata tale metrica [23],[24]. In questo modo รจ possibile stabilire se effettivamente il numero di archi interni ad una community sia maggiore di quanto ci si aspetterebbe da un grafo casuale. 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 reti pesate รจ definita come [25]: 1 ๐‘˜ ๐‘– ๐‘˜๐‘— ๐‘„= ๐ด ๐‘–๐‘— โˆ’ ๐›ฟ ๐ถ ๐‘– , ๐ถ๐‘— 2๐‘š 2๐‘š ๐‘–,๐‘— Dove ๐ด ๐‘–๐‘— rappresenta il peso dell'arco tra i nodi ๐‘– e ๐‘—, ๐‘˜ ๐‘– = ๐‘— ๐ด ๐‘–๐‘— รจ la somma dei pesi degli archi incidenti al vertice ๐‘–, ๐ถ ๐‘– รจ la community a cui il vertice ๐‘– viene assegnato, la funzione ๐›ฟ ๐ถ ๐‘– , ๐ถ๐‘— รจ uguale a 1 se ๐ถ ๐‘– = ๐ถ๐‘— (๐‘ข ๐‘’ ๐‘ฃ appartengono alla 1 stessa community) e zero altrimenti ed ๐‘š = 2 ๐‘–,๐‘— ๐ด ๐‘–๐‘— . 49
  • 50. Calcolare la modularity per grafi di grandi dimensioni, non รจ un processo banale in termini di tempo di calcolo. In [63] รจ stato definito il Louvain Method, un algoritmo approssimato che permette di calcolare la metrica su grafi di grandi dimensioni in tempi relativamente rapidi. Ad esempio, impiega solo due minuti per analizzare una rete di due milioni di nodi. In figura 3.3 viene schematizzato il metodo Louvain, costituito da due fasi, ripetute iterativamente. Fig.3.3: vengono mostrate in modo schematico le due fasi del Louvain Method. Si ripetono cosรฌ i due passi fino a che non si rilevano piรน cambiamenti a fronte di nuove iterazioni e la massimizzazione della modularity รจ raggiunta. Nella prima fase ciascun nodo viene associato ad una propria comunitร . Per ognuno di essi si verifica se il valore di modularitร  migliora inserendolo nel gruppo di ciascuno dei suoi vicini. In caso positivo il nodo viene inserito nel cluster del vicino, altrimenti ognuno rimane nel proprio cluster di partenza. Questa operazione viene ripetuta fino a che non รจ piรน possibile migliorare il valore della modularity. La seconda fase, aggrega i nodi appartenenti alla stessa community e costruisce una nuova rete, dove i nodi sono le community. Questi due passi vengono ripetuti iterativamente 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 nell'insieme ๐ธ e il massimo 50
  • 51. numero possibile di archi che possono esistere tra tutti i nodi ๐‘ฃ โˆˆ ๐‘‰. Pertanto la densitร  viene calcolata nel caso di grafo non diretto (che non puรฒ avere cicli) come segue: 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 il grafo viene considerato denso, viceversa, se il grafo contiene pochi archi, viene considerato sparso. Un grafo completo ha tutti i possibili archi, dunque ha una densitร  pari a 1. 3.3.2 Indicatori/metriche su grafo dinamico Flooding time. Il processo di diffusione di un messaggio in un Contact Graph ๐บ(๐‘‰, ๐ธ), รจ simulato supponendo che, ogni entitร  che puรฒ essere diffusa su una rete di contatti, puรฒ essere modellata come un messaggio. Il processo รจ simulato in uno scenario ideale, dove ciascun nodo ha un'infinita quantitร  di risorse e il ritardo di trasmissione del messaggio non viene considerato. Sia ๐‘‡ = ๐‘ก0 , ๐‘ก1 , โ€ฆ , ๐‘ก ๐‘› , l'insieme di tutti gli istanti temporali in cui il grafo varia nel tempo, viene definito un semplice protocollo di flooding, dove โˆ€๐‘ก ๐‘– โˆˆ ๐‘‡, con 0 โ‰ค ๐‘– โ‰ค ๐‘›, 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 definito un messaggio ๐‘€ ๐‘ฃ0,๐‘ก0 generato da un nodo ๐‘ฃ0 (chiamato seed) al tempo ๐‘ก0 . Il nodo ๐‘ฃ0 viene scelto uniformemente fra tutti i nodi ๐‘ฃ โˆˆ ๐‘ ๐‘›๐‘œ๐‘ก ๐‘–๐‘ ๐‘œ๐‘™๐‘Ž๐‘ก๐‘’๐‘‘ , dove ๐‘ ๐‘›๐‘œ๐‘ก ๐‘–๐‘ ๐‘œ๐‘™๐‘Ž๐‘ก๐‘’๐‘‘ , รจ l'insieme di tutti i nodi della rete non isolati e ๐‘ก0 รจ il primo tempo in cui il nodo ๐‘ฃ0 appare nella rete dinamica. Viene utilizzando il protocollo di flooding, definito prima, per simulare un processo di diffusione di un'informazione. Eseguendo il protocollo 20 volte, calcolando una media dei risultati ottenuti per ogni simulazione, si puรฒ osservare come in media cresce nel tempo il numero di nodi a cui il messaggio รจ arrivato. Nel Capitolo 5 verrร  usata tale osservazione per comparare i tempi diffusione di un 51
  • 52. messaggio, tra le reti ottenute usando i modelli di mobilitร  e quelle ottenute a partire dalle tracce di contatti reali. Inter-contact time. Si tratta dell'intervallo di tempo che intercorre tra due successivi contatti tra gli stessi nodi. Viene calcolato alla fine di ogni contatto e all'inizio del successivo. Calcolando la Inter contact time distribution si puรฒ scoprire quale รจ la probabilitร  che un contatto, tra due stessi nodi, si ripeta dopo un determinato numero di secondi. Intra-contact time (o contact duration). Misura l'intervallo di tempo durante il quale due nodi possono comunicare; si tratta quindi del tempo che i nodi possono utilizzare per scambiarsi dati e informazioni. Il numero di questi contatti e la loro distribuzione sono fattori importanti per determinare la capacitร  di diffusione di un messaggio, perchรฉ maggiore รจ il numero di contatti, maggiore รจ la probabilitร  che un messaggio si diffonda in gran parte della rete. Calcolando la Intra contact time distribution si puรฒ osservare quale รจ la probabilitร  di avere un contatto che duri un determinato numero di secondi. Temporal correlations. La Conditional probability Distribution of link's existence รจ un indicatore ideato per comprendere se, conoscendo l'esistenza passata di un contatto (rappresentato da un arco del Contact Graph), รจ possibile avere informazioni riguardo la sua eventuale esistenza futura. Sia ๐บ(๐‘‰, ๐ธ), un Contact Graph e sia ๐‘‡ = ๐‘ก0 , ๐‘ก1 , โ€ฆ , ๐‘ก ๐‘› , l'insieme di tutti gli istanti temporali in cui ๐บ varia nel tempo. La probabilitร  di esistenza di un arco ๐‘’ โˆˆ ๐ธ, al tempo ๐‘ก ๐‘– โˆˆ ๐‘‡, con 0 โ‰ค ๐‘– โ‰ค ๐‘›, รจ definita come: ๐‘ƒ ๐‘’ ๐‘ƒ๐‘’ = ๐‘ƒ ๐‘‹ ๐‘’ ๐‘ก ๐‘– = 1 = ๐‘‡ dove ๐‘ƒ ๐‘’ (cardinalitร  del presence schedule di ๐‘’) รจ il numero di istanti in cui l'arco ๐‘’ appare in ๐บ, e ๐‘‡ รจ il numero totale d'istanti temporali in cui ๐‘’ puรฒ apparire. Definite ora le seguenti probabilitร  condizionate: ๐‘ƒ ๐‘’,1 = ๐‘ƒ ๐‘‹ ๐‘’ ๐‘ก ๐‘– = 1|๐‘‹ ๐‘’ ๐‘ก ๐‘– โˆ’ 1 = 1 52