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
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Facoltà di Ingegneria Corso di laurea in Ingegneria Informatica
dove (𝑔𝑎𝑝1, 𝑔𝑎𝑝2, 𝑔𝑎𝑝3, . . . ) sono presenti se e solo se il grafo è di tipo dinamico.
3.4.2.2 Esempi
Nei listati 3.4, 3.5, 3.6 e 3.7, vengono mostrati alcuni esempi di file in formato DNF.
graphtype:{static}, defaultedgetype:{undirected}
dynamics:{}
nodeattrs:{}, edgeattrs:{}
[1001]
[1002]
[1003]
[1004]
62
[1001,1002]
[1001,1003]
[1002,1004]
Listato 3.4 Mostra la rappresentazione di un grafo statico, dove ai nodi/archi non sono stati definiti attributi e labels. graphtype:{static}, defaultedgetype:{directed} dynamics:{} nodeattrs:{label,gender,age}, edgeattrs:{label} [1001] {Bob,M,22} [1002] {Melany,F,23} [1003] {Mike,M,20} [1004] {Alice,F,25} [1001,1002] {Bob_Melany} [1001,1003] {Bob_Mike} [1002,1004] {Melany_Alice}
Listato 3.5 Mostra la rappresentazione di un grafo statico, dove a ciascun nodo/arco sono stati definiti ed assegnati degli attributi. graphtype:{dynamic}, defaultedgetype:{mixed} dynamics:{start=1318836335,end=1319208605} nodeattrs:{}, edgeattrs:{} [1001] (10,+3,2,+4) [1002] (11,+2,31) [1003] (9,+10,2) [1004] (12,1,31,+2) [1001>1002] (11,1) [1001,1003] (10,+3) [1002>1004] (12,1,31)
Listato 3.6 Mostra la rappresentazione di un grafo dinamico, senza attributi e con archi di tipo misto. graphtype:{dynamic}, defaultedgetype:{undirected} dynamics:{start=1318836335} nodeattrs:{gender,age}, edgeattrs:{weight} [1001] {M,22} (10,+3,2,+4) [1002] {F,23} (11,+2,31) [1003] {M,20} (9,+10,2) [1004] {F,25} (12,1,31,+2) [1001,1002] {2} (11,1)
63
[1001,1003] {2} (10,+3) [1002,1004] {3} (12,1,31)
Listato 3.7 Mostra un grafo dinamico, con attributi ed archi pesati.
64
Capitolo 4
Sistema per l'analisi di
grafi dinamici
L’obiettivo di questo Capitolo è quello di illustrare: la piattaforma software
adottata per la visualizzazione e la manipolazione di grafi dinamici, i plugin
implementati per importare grafi secondo il formalismo DNF (descritto nel capitolo
precedente), simulare la dinamicità temporale del grafo dei contatti, generare grafi a
partire dai modelli di mobilità (descritti nel Capitolo 3) e calcolare gli indicatori
statistici/metriche (descritte nel Capitolo 3).
4.1 Gephi Platform
Gephi [11] (http://gephi.org) è un framework per l'analisi, manipolazione e
visualizzazione di grafi, che fornisce dei tools per studiare non solo complesse reti
statiche, ma anche grandi reti dinamiche. Gephi è un software open source, basato
sulla piattaforma Netbeans, le cui principali feature permettono di filtrare, navigare,
manipolare e applicare tecniche di clustering su grafi.
Tra i vari tool che il framework offre, la componente Timeline è una semplice
interfaccia che permette di selezionare un determinato intervallo temporale e di
visualizzare ed esplorare il grafo corrispondente. Per la visualizzazione di grandi reti,
esso utilizza un motore di rendering 3D che ne permette la navigazione in tempo
reale, come mostrato in Fig.4.1.
Nelle figure 4.2 e 4.3 viene mostrata l'architettura modulare di Gephi, che
rende facilmente comprensibile ed espandibile il codice, in modo da estendere le sue
funzionalità tramite l'implementazione di plugin. Queste possono usufruire delle
seguenti API (vengono elencate solo quelle usate nell'ambito della tesi) che ciascuno
dei moduli della piattaforma Gephi offre:
65
Graph API: permettono di manipolare la struttura dati rappresentante il
grafo, inteso come collezione di nodi e archi che possono essere diretti, non
diretti o entrambe le cose. Ad esempio, di un grafo è possibile iterare i nodi
o gli archi, ottenere il numero totale di nodi/archi, il degree di ciascun nodo o
creare sottografi (detti viste).
Attributes API: associano a ciascun nodo/arco dati aggiuntivi, chiamati
attributi. Gli attributi possono essere di tipo primitivo (Integer, Boolean,
String, …), di tipo lista o di tipo dinamico.
Import API: permette di importare dati da ogni tipo di supporto (file,
database, streams).
Statistics API: forniscono gli algoritmi che calcolano metriche/statistiche.
Le statistiche tipicamente usano i dati della rete per generare risultati per ogni
nodo/arco (degree, clustering coefficient, hits, …) o globalmente per tutto il
grafo.
Dynamic API: API dedicate ai grafi dinamici, che vengono maggiormente
descritte nel paragrafo successivo.
Generator API: creano grafi a partire da un insieme di proprietà seocondo
degli algoritmi di generazione.
LongTask API: usate dagli altri moduli (Statistics, Generator, Import, …)
per eseguire lunghi task (o processi) in threads separati, supportando la
visualizzazione del loro progresso, la gestione degli errori che possono
generare, e la loro cancellazione.
Oltre ad una vasta gamma di API, Gephi offre anche le rispettive SPI (Service
Provider Interface), che forniscono interfacce java implementabili. Ad esempio, se si
vuole aggiungere una nuova metrica/statistica, o un nuovo importatore, o un
nuovo algoritmo di generazione di grafi, basta sviluppare un plugin che
implementa rispettivamente le interfacce Statistics, o Import o Generator.
66
Fig.4.1: Screenshot di Gephi che mostra il rendering 3D di un grafo.
Fig.4.2: Grafico che mostra l'architettura ad alto livello framework Gephi.
67
Fig.4.3: Grafico che mostra l'architettura ad alto livello della piattaforma Gephi, dal
punto di vista dello sviluppatore di plugin.
4.1.1 Gephi Dynamic API
Le Dynamic API sono state sviluppate, in occasione del GSoC (Google Summer of Code)
2011 dallo studente Cezary Bartosiak, per fornire delle funzioni che permettano di
eseguire query su grafi dimamici.
Le idee principali che vi sono dietro sono:
Interval Tree [9] per la memorizzazione di attributi dinamici, definiti come
DynamicType<T>, dove T e Type possono essere un qualsiasi tipo di dato
supportato da Java. Questi attributi dinamici permettono di associare un
valore tempo variabile a ciascun nodo/arco;
DynamicGraph è la rappresentazione del grafo dinamico che permette di
visualizzarlo e manipolarlo.
Queste API non si sono dimostrate adatte per gli scopi del presente lavoro per i
seguenti motivi:
1. Gephi bug. Sviluppando in un primo momento le metriche dinamiche con le
dynamic API di Gephi, sono stati osservati dei casi in cui il grafo genera, nella
struttura dati proprietaria di Gephi, un'eccezione di tipo null pointer exception.
68
Isolando questi casi, si è provato poi a calcolare metriche dinamiche già
implementate in Gephi (es. #edge al variare del tempo) e l'eccezione si è
ripresentata. L'errore è stato segnalato e successivamente confermato dagli
sviluppatori di Gephi.
2. Elevato tempo d'importazione. Durante l'implementazione del DNF
importer (descritto nel paragrafo 4.3) è stato riscontrato che il tempo di
importazione di un grafo costituito da 116 nodi, 296 archi e 372270 istanti
temporali è di ≅ 38 minuti. Nonostante si siano tentate varie ottimizzazioni,
esiste un "collo di bottiglia" quando vengono processati nodi o archi presenti
per più di 20000 istanti temporali. Effettuando diversi test è stato verificato
che la causa è il metodo addTimeInterval. Questo metodo, fornito dalle dynamic
API di Gephi, assegna un intervallo temporale ad un nodo/arco.
3. Rapida saturazione della JVM heap memory. Le metriche sviluppate
secondo il paradigma delle dynamic API saturano velocemente l'heap memory
della JVM, settato a 1,5 Gbyte.
Dato che il bug riscontrato nell'esecuzione delle metriche dinamiche non dipende
dalle motivazioni provvisorie che ci sono state fornite dagli sviluppatori di Gephi,
che i tempi di calcolo sono troppo elevati e che l'heap memory satura velocemente, è
stato sviluppato un modulo proprietario per simulare la dinamicità del grafo,
chiamato DNF Dynamic (illustrato nel paragrafo più sotto).
4.2 DNF Dynamic
Per superare le limitazioni (descritte più sopra) delle Dynamic API, è stato
ideato ed implementato un nuovo modulo che simula la dinamicità temporale del
grafo dei contatti con prestazioni elevate in termini di tempo di calcolo e quantità di
memoria allocata. L'idea alla sua base è quella di non assegnare ad ogni nodo/arco
una lista di TimeInterval per rappresentare il relativo presence schedule, ma associare una
lista di Long contenente tutti i timestamp (formato UNIX time) in cui essi occorrono.
Questa semplice modifica ha ridotto drasticamente i tempi d'importazione di un
grafo rappresentato su file nel formato DNF. Ad esempio, per importare un grafo
costituito da 116 nodi, 296 archi e 372270 istanti temporali, siamo passati da ≅ 38
minuti a 3 millisecondi. In figura 4.4 viene mostrato il class diagram del plugin.
69
Fig.4.4: Viene mostrato il Class diagram delle principali classi che costituiscono il
modulo DNF Dynamic. Per una migliore leggibilità del grafico non vengono
mostrati i metodi della classe Int2ObjectLinkedOpenHashMap.
Per poter simulare la dinamicità del grafo dei contatti, ossia sapere se in un
determinato timestamp uno specifico nodo/arco esiste, viene eseguito un
preprocessamento, in cui si costruisce la seguente struttura dati: Una
Int2ObjectLinkedOpenHashMap [10] che ha per chiavi l'id dei nodi o degli archi e come
valore un LongLinkedOpenHashSet [10] contenente i timestamps in cui essi occorrono.
L'Int2ObjectLinkedOpenHashMap e il LongLinkedOpenHashSet sono rispettivamente, un
hash map ed un hash set, progettati e sviluppati da Sebastiano Vigna [10], per essere
significativamente più performanti in termini di memoria allocata e tempi di calcolo
70
rispetto a quelle fornite dal Java Collection Framework. Il DNF Dynamic offre i
seguenti metodi per interrogare la struttura dati:
getNodePresenceSchedule: di un nodo restituisce rispettivo presence schedule,
rappresentato da un array di zero e uno, uno se il nodo occorre in un
determinato timestamp, zero nel caso opposto.
getEdgePresenceSchedule: di un arco restituisce rispettivo presence schedule,
rappresentato da un array di zero e uno, uno se l'arco occorre in un
determinato timestamp, zero nel caso opposto.
getSnapshotGraph: restituisce una vista (o sottografo) del grafo dinamico
per un determinato timestamp.
node_in_time: verifica l'occorenza di un nodo ad un determinato
timestamp. Restituisce True se esiste, False altrimenti.
edge_in_time: verifica l'occorenza di un arco ad un determinato timestamp.
Restituisce True se esiste, False altrimenti.
getEdgeTimes: restituisce la lista dei timestamps in cui l'arco esiste.
getNodeTimes: restituisce la lista dei timestamps in cui il nodo esiste.
getMostFrequencyEdgeID: restituisce l'id dell'arco che occorre più
frequentemente nel tempo.
getNMostFrequencyEdgeID: restituisce i primi 10 archi che occorrono
più frequentemente nel tempo (in ordine decrescente).
Abbandonando l'uso delle Dynamic API di Gephi e adottando invece il
nuovo modulo implementato, si riescono a sviluppare indicatori statistici/metriche
dinamici efficienti. Ad esempio re-implementando la metrica del Flooding time
utilizzando il DNF Dynamic, applicata ad un grafo costituito da 116 nodi, 296 archi e
372270 istanti temporali, si ottengono gli stessi risultati, passando da ≅ 2 ore di
calcolo e almeno 1Gbyte di heap memory allocata, a ≅ 1,5 minuti di calcolo e meno
di 500Mbyte di heap memory allocata. Il difetto del DNF Dynamic è che può essere
applicato solo a grafi rappresentati nel formato DNF, mentre il pregio è che non è
soggetto al bug (illustrato più sopra) e i tempi di esecuzione delle metriche dinamiche
migliorano significativamente.
71
4.3 DNF Importer
Il primo plugin che è stato sviluppato serve ad importare grafi che adottano il
formato DNF (definito nel capitolo 3). Viene consentito sia di importare grafi in
forma aggregata (senza memorizzare il presence schedule di nodi/archi e assegnando
a ciascun arco un peso pari alla sua frequenza), sia in forma dinamica (memorizzando
i presence schedule di nodi/archi). Analizzando i dati raccolti nell'esperimento
SocialDis, è stato osservato che spesso un contatto tra due individui viene considerato
terminato solo perché questi hanno posizionato in modo scorretto il tag RFID.
Ad esempio, un individuo A può averlo posizionato all'altezza delle gambe e
un individuo B può averlo posizionato all'altezza del petto.
In questo caso la comunicazione face-to-face tra A e B può subire diverse
disconnessioni di pochi secondi, nonostante essi continuino a comunicare uno di
fronte all'altro. Per diminuire gli effetti di questa anomalia è stato deciso di introdurre
una soglia entro la quale una disconnessione non viene considerata come
interruzione del contatto. Tramite la GUI del plugin è possibile decidere il valore
della soglia. Se la durata della disconnessione è inferiore a tale valore, questa non
viene considerata come interruzione.
Il plugin, sviluppato seguendo la guida "How to write an import" [27], è costituito dalle
seguenti classi (mostrate in figura 4.5):
DnfImporter: implementa le SPI FileImporter e LongTask. Utilizza due
hash map, che hanno rispettivamente come chiavi due oggetti di tipo
NodeDraft e EdgeDraft, e come valore i relativi presence schedule. Durante
il parsing del file vengono popolate le hash map e i dati da esse contenuti
vengono inseriti nelle strutture dati, che memorizzano il grafo con i suoi
attributi.
DnfImporterBuilder: implementa FileImporterBuilder, aggiunge il nuovo
formato di file con estensione .dnf e registra la nuova implementazione della
SPI Importer.
IllegalValueException: classe di eccezione che identifica le eccezioni
lanciate a causa di valori errati contenuti nel file dnf.
ValidationType: classe statica che serve a validare il tipo di numero
contenuto in una stringa (Integer, Float, Double, Long).
72
Fig.4.5: Viene mostrato il Class diagram delle principali classi che costituiscono il
DNF Importer. Per rendere leggibile il grafico non vengono omesse le definizioni
delle variabili e dei metodi delle classi.
4.4 Mobility Model Generator
Al fine di poter effettuare l'analisi illustrata nel Capitolo 5, ossia osservare
quanto i dati generati a partire dai modelli di mobilità siano vicini o lontani dai dati
generati a partire dagli esperimenti condotti nel mondo reale, sono state iplementate
due plugin seguendo la guida "How to write a graph generator" [28], che generano grafi
rispettivamente secondo il RW mobility model e il TLW mobility model.
4.4.1 Mobility Simulator
La piattaforma Gephi non offre delle API per poter simulare modelli di
mobilità, pertanto è stato deciso di sviluppare un modulo che consenta a tutti i
73
plugin, che generano grafi a partire da modelli mobilità, di settare un ambiente di
simulazione, dove i nodi, nel tempo, si muovono ed eventualmente collidono. E'
stato ideato un modulo costituito dall'interfaccia IMobilityEnviromentSimulator, dove
sono definiti i metodi, che tipicamente servono a simulare la mobilità dei nodi
secondo un qualsiasi mobility model. Tali metodi servono a:
settare e restituire: posizione, velocità, tempo di pausa, raggio di copertura e
angolo di rotazione di un nodo;
restituire un sottoinsieme costituito dagli id dei nodi la cui distanza da
percorrere è uguale o inferiore alla rispettiva velocità, in modo da conoscere
quali nodi sono arrivati a destinazione;
restituire il sottoinsieme degli id dei nodi la cui velocità è pari a zero, in modo
da sapere quali nodi devono mettersi in pausa;
restituire un sottoinsieme contenente gli id dei nodi la cui velocità è pari a
zero e il cui tempo d'attesa è minore di zero, per sapere quali sono i nodi che
hanno atteso abbastanza tempo e che possono quindi ripartire per una nuova
destinazione;
restituire "vero" se due nodi sono entrati nei rispettivi raggi di copertura,
"falso" altrimenti.
Posizione, velocità, tempo di pausa, raggio di copertura e angolo di rotazione di
ciascun nodo, sono memorizzate nelle Int2DoubleLinkedOpenHashMap [10], che hanno
come chiavi gli id dei rispettivi nodi.
4.4.2 Random Waypoint Mobility Model Generator
Il plugin è costituito dalle seguenti classi (mostrate in figura 4.6):
RWMobilityModel: genera grafi secondo il modello di mobilità RW
(descritto nel Capitolo 2). Il metodo Init assegna a ciascun nodo la posizione
iniziale, la velocità iniziale, il raggio di copertura e il punto di arrivo. Il
metodo generate avvia la simulazione, che consiste di quattro step, che si
ripetono ad ogni iterazione:
1. Verificare per ogni coppia di nodi se questi sono entrati nei rispettivi
raggi di copertura. Se l'esito è positivo viene aggiunta alle due
Listato 4.1 Mostra un estratto di una matrice di correlazione in formato csv.
Modularity mod = new Modularity();
mod.setRandom(true);
mod.setUseWeight(true);
mod.setResolution(1.0);
mod.execute(graphModel, attributeModel);
Listato 4.2 Mostra un pezzo di codice estratto dalla classe DnfPearsonCorrelationMatrix, dove viene istanziata e configurata la metrica statica Modularity. Passando alla metrica il valore true al parametro random e il valore 1.0 al parametro resolution, si ottiene la massima precisione possibile nel classificare i nodi del grafo.
4.6 Ulteriori script e riferimenti
Dato che Gephi non permette di graficare i risultati di una singola metrica calcolata
su grafi differenti, oltre ai moduli software che sono stati descritti nei precedenti
paragrafi, è stato implementato un semplice script ausiliario detto MultipleChart, che
offre la possibilità di graficare in un unico time series chart più dataset.
Tramite riga di comando è possibile decidere il tipo di grafico che si vuole ottenere
(esiste un tipo per ogni metrica che è stata implementata), la scala (normale o
logaritmica a base 10), ed i file da cui estrarre i valori da graficare (che sono generati e
salvati automaticamente ogni volta che si esegue una metrica in Gephi, nella cartella
principale dei plugin chiamata savedata). Utilizzando le classi fornite dalla libreria
JFreeChart (http://www.jfree.org/jfreechart/) vengono generati i grafici che possono
essere ridimensionati e successivamente salvati.
Per chi fosse interessato, tutto il materiale sviluppato e descritto in questo capitolo è
disponibile su richiesta, scrivendo al seguente indirizzo mail: [email protected]
84
Capitolo 5
Validazione sperimentale
dei modelli di mobilità
In questo capitolo verra illustrata l'analisi che condotta al fine di verificare
quanto i dati generati dai modelli di mobilità siano vicini o lontani dai dati ottenuti da
due esperimenti che abbiamo compiuto in contesti reali.
In questi esperimenti (illustrati nel paragrafo 1.2), chiamati SocialDIS e
NeonMACRO, sono stati collezionati attraverso una piattaforma RFID-based i
contatti di prossimità avvenuti tra le persone che hanno partecipato. I dataset sintetici
sono stati generati a partire dai modelli di mobilità Random Waypoint (RWP) e
Truncated Lévy Walk (TLW). Tali modelli sono stati scelti scartando gli altri per i
seguenti motivi:
1. Nel paragrafo 2.1.1 si osserva che il Random Walk Mobility Model si basa sul
moto browniano, dunque genera user trace poco realistiche, dove il
movimento degli individui è dettato solo dal caso.
2. Il Random Waypoint Mobility Model è quello più usato per generare schemi di
mobilità realistici per individui che si muovono in particolari contesti, come
ad esempio, conferenze o visite ad un museo [13]. Pertanto risulta
ragionevole adottarlo.
3. Il Random Direction Mobility Model non è adatto perché, in tale modello, le
persone si fermano ed attendono un determinato tempo prima di ripartire,
solo ai confini dell'area di simulazione. La versione modificata (illustrata nel
paragrafo 2.1.3) che evita questo difetto, se considera anche il tempo di
pausa, è identica al Random Waypoint Mobility Model, dunque è stato deciso di
scartare il suo utilizzo.
4. Il Truncated Lévy Walk Mobility Model è stato adottato perché, come il RWP, è
uno dei modelli più utilizzati per simulare i movimenti di dispositivi mobili
85
in reti mobili ad hoc e perché le tracce di mobilità generate risultano essere
più realistiche di quelle ottenute dal modello RW.
5. Il Boudless Simulation Area Mobility Model non è adatto allo scopo perché, nei
casi reali che abbiamo tracciato, le persone non possono superare i confini
dell'area in cui si muovono attraversando in modo assolutamente irrealistico
le mura e riapparire nel punto opposto dell'area.
6. Il Gauss-Markov Mobility Model, se propriamente configurato, fornisce dei
pattern di mobilità realistici, ma ha lo stesso problema del Random Direction
Mobility Model che abbiamo definito più sopra.
7. Anche se la versione probabilistica del Random Walk Mobility Model fornisce
delle user trace che si avvicinano molto a quelle del mondo reale (come visto
in figura 2.7), risulta difficoltoso scegliere i giusti parametri per la matrice di
probabilità, perché per settarli si ha bisogno di informazioni di cui al
momento non disponiamo.
8. Il Weighted Waypoint Mobility Model è una versione del RWP che genera tracce
di mobilità tipicamente più accurate, le quali tengono conto del fatto che le
persone non scelgono in modo casuale dove dirigersi. I nodi mobili
decidono dove andare tramite una matrice di probabilità tempo variante [64].
Come per la versione probabilistica del modello RW, risulta difficile
assegnare le giuste probabilità a tale matrice, in quanto bisogna conoscere ed
analizzare in modo approfondito delle user trace molto più dettagliate,
rispetto a quelle ottenute dai casi reali che sono stati studiati.
Nei due paragrafi di questo capitolo verranno illustrate le seguenti analisi:
Si confronteranno statisticamente le tracce di contatti collezionate a partire
dagli esperimenti SocialDIS e NeonMACRO, con quelle ottenute a partire dai
modelli di mobilità nella loro versione originale;
Si analizzerà il comportamento dei due modelli, nel caso in cui venga
aumentata, di uno specifico fattore, la dimensione dell'area di simulazione;
86
5.1 Comparazione con i dati dell'esperimento SocialDIS
5.1.1 Modelli nella loro formulazione originaria
L'esperimento SocialDIS si è svolto in un'area rettangolare di circa 90𝑚 𝑥 30𝑚,
dove, per circa quattro giorni, sono state catturate le tracce dei contatti di 116
studenti. Come si può osservare dalla figura 1.2, i lettori RFID sono stati distribuiti
nelle aule, nella segreteria, nella sala studio, nella presidenza, nel dispaccio (stanza
dove vengono venduti cibi e bevande agli studenti), ma non sono stati installati nel
cortile, situato nella zona centrale del primo piano dell'edificio. Dunque, l'area dove
vengono registrate le interazioni tra studenti assume una forma a "ferro di cavallo".
Quest'area, per essere compatibile con i parametri 𝑋𝑚𝑎𝑥 e 𝑌𝑚𝑎𝑥 , da fornire ai
modelli di mobilità, è stata approssimata ad un rettangolo di circa 133𝑚 𝑥 11𝑚. Per
tentare di simulare le interazioni avvenute in SocialDIS, nei modelli di mobilità sono
stati usati 116 nodi con un raggio di visibilità di 1𝑚, disposti in un'area rettangolare
di 133𝑚 𝑥 11𝑚 ed sono stati configurati i parametri di lunghezza dei percorsi,
velocità dei nodi e tempo di pausa, per produrre dataset che possano avere delle
caratteristiche simili a quelle dello specifico scenario considerato. Per il RW model
viene assegnata ai nodi velocità uniformemente distribuite tra 0.01 e 0.8 m/s.
Per il TLW model, le flight lengths (𝑙) e i waiting times (𝑡) seguono le
truncated power laws 𝑝 𝑙 ~ 𝑙 − 1+𝛼 , 𝑙 < 𝑙𝑚𝑎𝑥 e 𝜓 𝑡 ~𝑡− 1+𝛽 , 0 < 𝑡 < 𝑡𝑚𝑎𝑥 , con
𝛼 = 0.8, 𝛽 = 0.3, 𝑙𝑚𝑎𝑥 = 133, 𝑡𝑚𝑎𝑥 = 3600𝑠 (1), con angoli di rotazione presi
da una distribuzione uniforme e velocità dei nodi proporzionale alle flight lengths.
Per entrambi i modelli simulazione viene è stata fatta durare 42200𝑠 (12), ossia
per la massima quantità di tempo che uno studente può trascorrere in facoltà durante
una singola giornata.
Allo stesso modo, sono stati considerati solamente i primi 42200𝑠 (12)
dell'evoluzione del Contact Graph generato nell'esperimento SocialDIS. Durante
l'importazione di questo grafo, la soglia entro la quale una disconnessione non viene
considerata come interruzione del contatto (parametro configurabile nel DNF
Importer) è stata fissata a tre. Nelle tabelle 5.1.1-1 e 5.1.1-2 vengono mostrate le
statistiche calcolate sui tre grafi aggregati che non considerano i Presence schedules
associati a ciascun nodo/arco e dove il peso di ciascun arco è pari alla sua frequenza.
87
Da essi si nota che nei dataset sintetici si presentano un numero maggiore di
interazioni tra individui distinti rispetto allo specifico caso reale e che i Contact Graph,
generati secondo i modelli RWP e TLW, sono significativamente densi e coesi. In
figura 5.1.1.1, comparando le Strength distribution dei due dataset sintetici con quella
del dataset SocialDIS, si osserva che non si presentano somiglianze: la strength dei
nodi, che si muovono secondo i modelli di mobilità, è maggiore perché essi
interagiscono mediamente con un numero superiore di vicini.
Dataset # Edges Average
degree
Average
strength
Graph
density
SocialDIS 171 3,28 0,008 0,03
TLW 5.405 93,19 0,952 0,81
RWP 6.617 114 0,919 0,99
Tabella 5.1.1-1: Vengono mostrati: il numero di archi, il degree medio, il degree
medio pesato (o strength ) e la densità del grafo. SocialDIS è il dataset ottenuto
dall'esperimento sociale reale, mentre TLW ed RWP sono synthetic dataset generati
rispettivamente simulando il Random Waypoint Mobility Model e il Truncated Lévy Walk
Mobility Model.
Dataset Average Clustering
Coefficient
Average Weighted
Clustering Coefficient
SocialDIS 0,435 0,297
TLW 0,861 0,867
RWP 0,992 0,992
Tabella 5.1.1-2: Cluster coefficient medio (pesato e non pesato), calcolato su tre
dataset: SocialDIS è il dataset ottenuto dall'esperimento sociale reale, mentre TLW ed
RWP sono synthetic dataset generati rispettivamente simulando il Random Waypoint e
il Truncated Lévy Walk models.
88
Fig. 5.1.1.1: Node Strength distribution con F(Strength) = frazione di nodi con
(Strength/Max Strength) >= Strength. Comparazione della distribuzione di tre
dataset, uno collezionato nell'esperimento SocialDIS e due generati dai modelli di
mobilità, entrambi con 116 nodi con un contact detection range di 1𝑚: Per il RW model
abbiamo assegnato ai nodi velocità uniformemente distribuite tra 0.01 e 0.8 m/s, e il
TLW model, le flight lengths e i pause times seguono le truncated power laws con
𝛼 = 0.8, 𝛽 = 0.3.
Pertanto risulta evidente che i due modelli di mobilità falliscono nel riprodurre le
proprietà strutturali del grafo dinamico dei contatti in forma aggregata. Vengono
analizzate ora le proprietà temporali delle interazioni sociali. Ogni contatto che
avviene tra due individui è caratterizzato dalla sua durata (detta Intra Contact Time) e
da quanto tempo trascorre prima che esso riaccada (detto Inter Contact Time).
Nelle figure 5.1.1.2 e 5.1.1.3 vengono comparate rispettivamente la Inter
Contact Time distribution e la Intra Contact Time distribution, calcolate sui i dati raccolti
durante l'esperimento SocialDIS e su quelli ottenuti a partire dai modelli di mobilità
RWP e TLW. La Intra Contact Time distribution e la Inter Contact Time distribution, in tutti
e tre i casi, ha, come ci si aspettava, un andamento di tipo power law.
Dalla figura 5.1.1.2, si nota che l'Inter contact time distribution del SocialDIS ha
un andamento e una forma simile a quella relativa al modello RWP, presentando però
89
valori totalmente differenti e un andamento diverso rispetto alla distribuzione relativa
al modello TLW.
Fig. 5.1.1.2: Comparazione dell' Inter Contact Time distribution di tre dataset, uno
collezionato nell'esperimento SocialDIS e due generati dai modelli di mobilità,
entrambi con 116 nodi con un contact detection range di 1𝑚: Per il RW model abbiamo
assegnato ai nodi velocità uniformemente distribuite tra 0.01 e 0.8 m/s, e il TLW
model, le flight lengths e i pause times seguono le truncated power laws con 𝛼 = 0.8,
𝛽 = 0.3.
In figura 5.1.1.3 viene mostrato che la Intra contact time distribution del
SocialDIS ha un andamento simile a quella del modello RWP, mentre è discordante
rispetto a quella del modello TLW. Questi due fatti vengono suffragati dai dati
mostrati nella tabella 5.1.1-3, dove si vede che entrambi i modelli di mobilità, rispetto
ai dati del SocialDIS, presentano un numero elevato di contatti mediamente di lunga
durata e un numero minore di intervalli mediamente di maggiore durata, dunque ci si
accorge che i contatti tra individui sono frequenti, ma che lo stesso contatto tra due
individui si ripresenta sporadicamente.
90
Tali modelli non considerano un comportamento tipico degli studenti,
ovvero che essi tendono a ricomunicare frequentemente con i propri amici e a
comunicare di rado con studenti che non conoscono.
Dataset Average Intra-
contact Time
(seconds)
Average Inter-
contact Time
(seconds)
# Contact # Interval
SocialDIS 3,0 129,9 5.345 3.758
TLW 42,2 1.731,4 55.213 1.347
RWP 68,9 6.804,9 32.600 474
Tabella 5.1.1-3: La tabella mostra la durata media di un contatto tra due nodi e
dell'intervallo di tempo che intercorre tra due successivi contatti tra gli stessi nodi, il
numero di contatti e il numero di intervalli. SocialDIS è il dataset ottenuto
dall'esperimento sociale reale, mentre TLW ed RWP sono synthetic dataset generati
rispettivamente simulando il Random Waypoint e il Truncated Lévy Walk Model.
Fig. 5.1.1.3: Comparazione dell' Intra Contact Time distribution di tre dataset, uno
collezionato nell'esperimento SocialDIS e due generati dai modelli di mobilità,
entrambi con 116 nodi con un contact detection range di 1𝑚: Per il RW model abbiamo
91
assegnato ai nodi velocità uniformemente distribuite tra 0.01 e 0.8 m/s, e il TLW
model, le flight lengths e i pause times seguono le truncated power laws con 𝛼 = 0.8,
𝛽 = 0.3.
Utilizzando reti dinamiche di contatti, come quella ottenuta dall'esperimento
SocialDIS, e quelle fornite dai modelli di mobilità RWP e TLW, è possibile simulare
il processo di diffusione di un'informazione. E' stato simulato tale processo diffusivo
calcolando la metrica Flooding time (definita in 3.3.2), in modo da scoprire che ruolo
assume la topologia dinamica della rete sulla diffusione di un'informazione.
In figura 5.1.1.4 viene mostrato l'andamento medio di 20 esecuzioni di questa
metrica nel caso SocialDIS considerando tutta la durata dell'esperimento, ossia circa
370000 𝑠 (4 𝑔𝑖𝑜𝑟𝑛𝑖). Si osservano delle rapide di diffusioni del messaggio dopo
circa 22000 secondi (che corrispondono alle 15:30 del giorno 17/10/2011), dopo
circa 99000 secondi (che corrispondono alle 12:55 del giorno 18/10/2011) e dopo
circa 180000 secondi, (che corrispondono alle 11:25 del giorno 19/10/2011).
Fig. 5.1.1.4: Distribuzione tempo discreta che mostra come in media si propaga un
informazione nella rete dinamica di contatti ottenuta dall'esperimento SocialDIS.
92
Pertanto, sembrerebbe che questi siano gli orari in cui le interazioni tra
studenti risultano più probabili. Successivamente è stato calcolato il flooding time per le
reti di contatti dinamiche ottenute dai modelli di mobilità. A causa dell'elevato
numero di interazioni che avvengono in tali modelli, risulta chiaro dalla figura 5.1.1.5
e dallo studio condotto in [26], che i due modelli falliscono nel rappresentare il
comportamento diffusivo del caso reale.
Fig. 5.1.1.5: Comparazione della Flooding time distribution di tre dataset, uno
collezionato nell'esperimento SocialDIS e due generati a partire dai modelli di
mobilità, entrambi con 116 nodi con un contact detection range di 1𝑚: Per il RW model
abbiamo assegnato ai nodi velocità uniformemente distribuite tra 0.01 e 0.8 m/s, e il
TLW model, le flight lengths e i pause times seguono le truncated power laws con
𝛼 = 0.8, 𝛽 = 0.3.
Riscontrato che i modelli di mobilità non sono stati efficaci nel simulare
realisticamente il fenomeno diffusivo accaduto in SocialDIS, viene verificato invece
se esistono delle correlazioni statistiche tra i contatti tracciati a partire dal caso reale e
quelli ottenuti a partire i modelli di mobilità. L'andamento delle Conditional probability
93
Distribution of link's existence (definite nel paragrafo 3.3.2), illustrate nelle figure 5.1.1.6
e 5.1.1.7, mostra il fatto che esiste una leggera similarità tra l'andamento della
distribuzione del SocialDIS e quello della distribuzione del modello RW, per quanto
concerne la probabilità condizionata 𝑃𝑒 ,1, ossia la probabilità che un contatto,
rappresentato dall'arco 𝑒, esista in un determinato tempo, sapendo che è esistito al
tempo immediatamente precedente.
Osservando l'andamento delle due Conditional probability Distribution of link's
existence nel caso SocialDIS, si scopre che se un determinato contatto avviene al
tempo 𝑡 − 1 con alta probabilità lo stesso contatto avverrà al tempo 𝑡, mentre se il
contatto non avviene al tempo 𝑡 − 1 con alta probabilità questo non si ripeterà al
tempo 𝑡.
Questo risultato induce a pensare che potrebbe esistere una dipendenza
temporale che ha caratteristiche di tipo markoviano.
Fig. 5.1.1.6: Conditional Probability distribution dove F(𝑥) = percentuale di archi con
𝑃𝑒,0/Pe ≥ x. Comparazione della Conditional Probability distribution di tre dataset,
uno collezionato nell'esperimento SocialDIS e due generati dai modelli di mobilità,
entrambi con 116 nodi con un contact detection range di 1𝑚: Per il Random Waypoint
model abbiamo assegnato ai nodi velocità uniformemente distribuite tra 0.01 e 1.0
94
m/s, e il Truncated Lévy Walk model, le flight lengths e i pause times seguono le
truncated power laws con 𝛼 = 0.8, 𝛽 = 0.3.
Fig. 5.1.1.7: Conditional Probability Distribution dove dove F(𝑥) = percentuale di
archi con 𝑃𝑒 ,1/Pe ≥ x. Comparazione della Conditional Probability distribution di tre
dataset, uno collezionato nell'esperimento SocialDIS e due generati dai modelli di
mobilità, entrambi con 116 nodi con un contact detection range di 1𝑚: Per il Random
Waypoint model abbiamo assegnato ai nodi velocità uniformemente distribuite tra 0.01
e 0.8 m/s, e il Truncated Lévy Walk model, le flight lengths e i pause times seguono le
truncated power laws con 𝛼 = 0.8, 𝛽 = 0.3.
Come ci si aspetta, sulla base dei risultati ottenuti nell'analisi dei contact time, in figura
5.1.1.6 si nota che entrambi i modelli di mobilità sottostimano la probabilità 𝑃𝑒 ,0, vale
a dire che se un contatto non avviene al tempo 𝑡 − 1 quasi certamente questo non si
ripeterà al tempo 𝑡.
Invece, in figura 5.1.1.7 si osserva che la probabilità 𝑃𝑒,1 viene sovrastimata
perché i mobility models presentano un maggiore numero di contatti, che hanno un
alta probabilità di esistere al tempo 𝑡 sapendo che sono esistiti anche al tempo 𝑡 − 1.
Questo risultato è concorde a quelli precedenti per il fatto che i modelli RWP e TLW
generano comunicazioni tra stessi individui che si ripresentano raramente e che
95
mediamente durano di più, rispetto a quelle generate nel caso SocialDIS. Pertanto il
presence schedule di un arco (o contatto) conterrà lunghi momenti in cui esso esiste,
seguiti da lunghi momenti in cui esso non esiste.
Fig. 5.1.1.8: Distribuzione della probabilità che un arco esista o meno in una
determinata epoca costituita da 2000 secondi. La distribuzione è stata calcolata su
tutti gli archi del grafo.
Nel calcolo della Conditional probability Distribution of link's existence, vengono stimate le
probabilità 𝑃𝑒 ,1 e 𝑃𝑒 ,0 supponendo che 𝑃𝑒 sia costante nel tempo. In realtà questa
probabilità non è detto che sia costante, dunque si vuole misurare la sua variabilità
nel tempo utilizzando la metrica Link's existence variability (definita nel paragrafo 3.3.2).
96
Fig. 5.1.1.9: Distribuzione della probabilità che un arco esista o meno in una
determinata epoca costituita da 2000 secondi. La distribuzione è stata calcolata
sull'arco più frequente del grafo.
Fig. 5.1.1.10: Distribuzione della probabilità che un arco esista o meno in una
determinata epoca costituita da 2000 secondi. La distribuzione è stata calcolata su un
sottoinsieme di 20 archi scelti casualmente.
97
Con questa metrica viene calcolata la probabilità 𝑃𝑒 ,𝑖 , con 𝑖 ∈ 1, … , 𝑁𝐸 (dove 𝑁𝐸
è il numero di epoche costituite ognuna da 2000 secondi), per ciascuno dei tre
dataset, prima per ogni arco 𝑒 (figura 5.1.1.8), poi per l'arco più frequente (figura
5.1.1.9) ed infine per un campione di venti archi scelti casualmente (figura 5.1.1.10).
Dalla figura 5.1.1.8 si nota che in media la probabilità che un arco esista o meno in
una determinata epoca costituita da 2000 secondi, calcolata su tutti gli archi del grafo,
risulta essere con buona approssimazione stazionaria.
Questo risultato mostra che la probabilità di esistenza di un arco non varia
molto nel tempo, rafforzando così la validità delle stime effettuate nelle Conditional
Probability Distribution. Si continua a indagare sulle dipendenze temporali che possono
esistere nelle comunicazioni tra persone, verificando se esiste o meno una
correlazione tra i contatti che avvengono tra coppie distinte d'individui, ossia se
l'esistenza di un contatto ad un determinato tempo 𝑡 sia correlata o meno
all'esistenza di uno o più contatti avvenuti nello stesso tempo.
Per effettuare tale verifica viene in aiuto la Pearson Correlation Matrix (definita
nel Capitolo 3). Da ogni community, classificata secondo la modularity, vengono
estrapolati i primi 10 archi con peso più alto (ovvero quelli più frequenti), per i quali
viene calcolata la matrice di correlazione. La modularity tende a classificare in grandi
community i nodi che hanno comunicato poco frequentemente con molti nodi, in
piccole community i nodi che hanno comunicato frequentemente con un numero
ristretto di nodi e in community di dimensione uno ciascun nodo isolato.
Nel grafo mostrato in figura 5.1.1.14, si osserva che nel caso SocialDIS
vengono generate tante piccole community, mentre nei grafi relativi ai modelli di
mobilità mostrati in figura 5.1.1.15, vengono generate poche community, di cui una
molto grande. In particolare, nel modello TLW i nodi vengono classificati in soli tre
gruppi, di cui uno li contiene quasi tutti.
Tale risultato è in linea con il fatto che, rispetto al contesto del SocialDIS, nei
modelli di mobilità si presentano un elevato numero di contatti tra tutti gli individui,
indipendentemente dal fatto che essi abbiano o meno un legame di amicizia. Nel
Contact Graph aggregato, creato a partire dal modello TLW, i nodi vengono classificati
in una community dalle dimensioni maggiori, rispetto al modello RWP, perché nel
98
modello TLW avvengono un maggior numero di contatti tra nodi che difficilmente si
reincontrano, dato che questi seguono traiettorie non dettate puramente dal caso.
Se si confrontano le matrici di correlazione di ciascun gruppo di nodi, mostrate nelle
figure 5.1.1.11, 5.1.1.12 e 5.1.1.13, ci si accorge che nel caso reale le correlazioni tra
contatti distinti sono minime, mentre nel caso simulato l'esistenza di un contatto in
un determinato tempo risulta essere correlata temporalmente a quella di altri contatti
avvenuti contemporaneamente.
Fig. 5.1.1.11: Vengono mostrate le matrici di correlazione aventi il maggior numero
di correlazioni tra archi appartenenti alla rispettiva community, classificate calcolando
la Modularity sul grafo aggregato, ottenuto dal dataset SocialDIS. L'intensità del giallo
indica quanto l'esistenza di due archi (o contatti) è correlata nel tempo. Maggiore è
l'intensità, maggiore è la correlazione temporale tra i due archi.
99
Fig. 5.1.1.12: Vengono mostrate le matrici di correlazione aventi il maggior numero
di correlazioni tra archi appartenenti alla rispettiva community, classificate calcolando
la Modularity sul grafo aggregato, ottenuto simulando il Random Waypoint model.
L'intensità del giallo indica quanto l'esistenza di due archi (o contatti) è correlata nel
tempo. Maggiore è l'intensità, maggiore è la correlazione temporale tra i due archi.
Nei dataset sintetici, collezionati a partire dai modelli di mobilità, la probabilità che
coppie di contatti avvengano nello stesso istante temporale è alta perché in ciascuna
community avvengono moltissimi contatti. Inoltre si nota che in tutti e tre i casi, le
community costituite da un minor numero di nodi presentano un numero maggiore
di correlazioni temporali tra contatti.
100
Fig. 5.1.1.13: Vengono mostrate le matrici di correlazione aventi il maggior numero
di correlazioni tra archi appartenenti alla rispettiva community, classificate calcolando
la Modularity sul grafo aggregato, ottenuto simulando il Truncated Lévy Walk model.
L'intensità del giallo indica quanto l'esistenza di due archi (o contatti) è correlata nel
tempo. Maggiore è l'intensità, maggiore è la correlazione temporale tra i due archi.
Questo accade perché, come è stato già spiegato, nei cluster più piccoli sono presenti
i nodi che più frequentemente si sono re-incontrati.
101
Nella valutazione delle matrici di correlazione forse bisognerebbe tener conto
del fatto che nell'esperimento SocialDIS i reader RFID non sono stati collocati nelle
zone ricreative del primo piano del dipartimento, come il cortile o l'area dove si
trovano i distributori automatici di cibi e bevande. Inoltre il numero di partecipanti è
stato veramente esiguo e questo potrebbe mascherare quali siano stati i reali pattern
di comunicazione tra studenti.
Per tali motivi, forse si dovrebbero paragonare le matrici di correlazione,
dopo aver ricondotto l'esperimento in modo più robusto, permettendo così di
analizzare matrici di correlazioni più accurate.
Confrontando i risultati delle varie metriche, risulta chiaro che i mobility models
RWP e TLW, nella loro versione originale, producono tracce di contatti che
statisticamente non presentano somiglianze rispetto ai dati reali raccolti
nell'esperimento SocialDIS e che l'esistenza di ciascun contatto sembra presentare
delle dipendenze temporali che possono essere riconducibili a un processo stocastico
Markoviano.
102
Fig. 5.1.1.14: Mostra le community ottenute calcolando la Modularity sul grafo
aggregato dell'esperimento SocialDIS.
Fig. 5.1.1.15: Il grafo a sinistra mostra mostrate le community ottenute calcolando la
Modularity sul grafo aggregato ottenuto simulando il RW model, mentre il grafo a
destra mostra le community ottenute calcolando la Modularity sul grafo aggregato
ottenuto simulando il TLW model. I numeri sono gli identificativi delle community.
Il comportamento degli individui nel caso SocialDIS si discosta nettamente rispetto a
quello riprodotto dai due modelli di mobilità: gli studenti tipicamente spendono
grandi quantità di tempo in laboratori, in aule dedicate allo studio e in aule dove
seguono lezioni, entrano ed escono dalla facoltà in orari differenti, tendono a
comunicare più frequentemente con i loro amici e seguono dei percorsi dettati dagli
impegni che si sono programmati di assolvere durante la giornata. Nei modelli di
mobilità che sono stati usati, invece, le persone rimangono sempre nell'area di
simulazione, sporadicamente ricomunicano una seconda volta con la stessa persona e
seguono percorsi dettati dal caso (nel caso RWP) o che seguono una Lévy walk (nel
caso TLW).
Inoltre la validità del modello di mobilità TLW è stata verificata in ambienti
outdoor [20] come campus universitari, metropolitane e parchi naturali, dove le
persone si muovono in aree estese (nell'ordine del km), mentre nell'esperimento che
abbiamo condotto gli studenti si muovono in aree relativamente piccole e ricche di
103
ostacoli. Forse anche il modello RWP, come è stato visto dall'analisi temporale, tende
a generare una quantità di interazioni poco realistica se applicato ad aree esigue.
Alla luce di queste considerazioni, nei prossimi due sotto-paragrafi si analizzerà il
comportamento dei due modelli, nel caso in cui aumentiamo di un fattore 10 le
dimensioni dell'area di simulazione.
5.1.2 Modelli con aree di simulazione scalate di un fattore 10
L'efficacia del TLW Mobility Model, nel generare user trace statisticamente
realistiche, è stata collaudata confrontando le tracce di mobilità da essi generate con
quelle collezionate in esperimenti condotti in ambienti di tipo outdoor, dove le
persone si spostano ed interagiscono in luoghi estesi. Considerando aree di grandi
dimensioni, il TLW ed il RWP Mobility Model potrebbero forse simulare in modo
più accurato gli schemi di mobilità degli individui, mostrati nell'esperimento
SocialDIS, dove le interazioni tra studenti avvengono in aree relativamente ridotte.
Verrà analizzato ora se aumentare di un fattore 10 le dimensioni dell'area di
simulazione di entrambi i modelli, aumenti le similarità statistiche con i dati reali.
Nelle simulazioni vengono usati 116 nodi con un raggio di visibilità di 1𝑚, distribuiti
in un'area rettangolare di 1330𝑚 𝑥 110𝑚, e vengono configurati i parametri di
lunghezza dei percorsi, velocità dei nodi e tempo di pausa, con gli stessi valori
dell'analisi precedente.
Per il RW model viene assegnato ai nodi velocità uniformemente distribuite tra
0.01 e 0.8 m/s. Per il TLW model, le flight lengths (𝑙) e i waiting times (𝑡) seguono le
truncated power laws 𝑝 𝑙 ~ 𝑙 − 1+𝛼 , 𝑙 < 𝑙𝑚𝑎𝑥 e 𝜓 𝑡 ~𝑡− 1+𝛽 , 0 < 𝑡 < 𝑡𝑚𝑎𝑥 , con
𝛼 = 0.8, 𝛽 = 0.3, 𝑙𝑚𝑎𝑥 = 133, 𝑡𝑚𝑎𝑥 = 3600𝑠 (1) e la durata della simulazione è
sempre pari a 42200𝑠 (12). Nelle tabelle 5.1.2-1 e 5.1.2-2 si osserva che, rispetto
all'analisi precedente, le proprietà strutturali del Contact Graph in forma aggregata,
generato a partire dal modello TLW, tendono ad avvicinarsi a quelle del grafo dei
contatti aggregato relativo all'esperimento SocialDIS, mentre il grafo generato
modello RWP continua ad essere molto impreciso.
In particolare, il modello TLW è quello che presenta maggiori affinità per
quanto riguarda la frequenza media delle interazioni che un nodo mobile ha con i
propri vicini, mentre il modello RWP è quello che rappresenta meglio la formazione
104
dei cluster. Entrambi i modelli generano tracce di contatti aggregate molto più dense
del caso empirico.
Comparando le Strength distribution (mostrate in figura 5.1.2.1) dei due dataset
sintetici con quella del dataset empirico, si nota che l'andamento delle distribuzioni
relative ai due modelli di mobilità sono assolutamente diverse da quella relativa a
SocialDIS.
I modelli sono ancora ben lontani dal riprodurre fedelmente le proprietà strutturali
della Dynamic Contact Network aggregata del dataset empirico, ma si discostano da esse
in modo significativamente ridotto rispetto al caso precedentemente illustrato.
Dataset # Edges Average
degree
Average
strength
Graph
density
SocialDIS 171 3,28 0,008 0,03
TLW 476 10,27 0,007 0,08
RWP 1.600 27,58 0,010 0,24
Tabella 5.1.2-1: Vengono mostrati: il numero di archi, il degree medio, il degree
medio pesato (o strength ) e la densità del grafo. SocialDIS è il dataset ottenuto
dall'esperimento reale, mentre TLW ed RWP sono synthetic dataset generati
rispettivamente simulando il Random Waypoint Mobility Model e il Truncated Lévy Walk
Mobility Model, entrambi con l'area di simulazione scalata di un fattore 10.
Dataset Average Clustering
Coefficient
Average Weighted
Clustering Coefficient
SocialDIS 0,435 0,297
TLW 0,245 0,234
RWP 0,26 0,257
Tabella 5.1.2-2: Cluster coefficient medio (pesato e non pesato), calcolato su tre
dataset: SocialDIS è il dataset ottenuto dall'esperimento reale, mentre TLW ed RWP
sono synthetic dataset generati rispettivamente simulando il Random Waypoint e il
Truncated Lévy Walk models, entrambi con l'area di simulazione scalata di un fattore 10.
105
Fig. 5.1.2.1: Node Strength distribution con F(Strength) = frazione di nodi con
(Strength/Max Strength) >= Strength. Comparazione della distribuzione di tre
dataset, uno collezionato nell'esperimento SocialDIS e due generati dai modelli di
mobilità, entrambi con 116 nodi con un contact detection range di 1𝑚: Per il RW model
abbiamo assegnato ai nodi velocità uniformemente distribuite tra 0.01 e 0.8 m/s, e il
TLW model, le flight lengths e i pause times seguono le truncated power laws con
𝛼 = 0.8, 𝛽 = 0.3.
Per quanto riguarda le proprietà temporali delle interazioni sociali, nelle figure 5.1.2.2
e 5.1.2.3 vengono comparate rispettivamente la Inter Contact Time distribution e la Intra
Contact Time distribution, tra il dataset SocialDIS e i due dataset sintetici.
Dagli andamenti delle due distribuzioni e dai valori contenuti nella tabella
5.1.2-3, si nota che ancora una volta i modelli di mobilità, rispetto al caso SocialDIS,
presentano un numero notevolmente inferiore di intervalli di comunicazione tra due
stessi nodi, che hanno mediamente una durata maggiore.
Dunque si osserva nuovamente che lo stesso contatto tra due persone si
ripresenta con minor frequenza nei modelli di mobilità.
106
Fig. 5.1.2.2: Comparazione dell' Inter Contact Time distribution di tre dataset, uno
collezionato nell'esperimento SocialDIS e due generati dai modelli di mobilità,
entrambi con 116 nodi con un contact detection range di 1𝑚: Per il RW model abbiamo
assegnato ai nodi velocità uniformemente distribuite tra 0.01 e 0.8 m/s, e il TLW
model, le flight lengths e i pause times seguono le truncated power laws con 𝛼 = 0.8,
𝛽 = 0.3.
Da questi risultati ci si accorge che, scalando l'area di simulazione di un fattore 10, in
entrambi i modelli di mobilità vengono generati un numero inferiore di contatti
rispetto alle tracce di contatti relative a SocialDIS e che le loro durate sono
mediamente inferiori rispetto al caso in cui gli individui vengono fatti muovere in
aree di simulazione non scalate.
Questo accade perché i nodi che si muovono secondo i mobility models,
muovendosi in aree più ampie, hanno meno probabilità d'incontrarsi e re-incontrarsi.
Pertanto aumentare le dimensioni dell'area di simulazione, sottostima le interazioni
avvenute tra gli studenti che hanno partecipato all'esperimento.
107
Fig. 5.1.2.3: Comparazione dell' Intra Contact Time distribution di tre dataset, uno
collezionato nell'esperimento SocialDIS e due generati dai modelli di mobilità,
entrambi con 116 nodi con un contact detection range di 1𝑚: Per il RW model abbiamo
assegnato ai nodi velocità uniformemente distribuite tra 0.01 e 0.8 m/s, e il TLW
model, le flight lengths e i pause times seguono le truncated power laws con 𝛼 = 0.8,
𝛽 = 0.3.
Dataset Average Intra-
contact Time
(seconds)
Average Inter-
contact Time
(seconds)
# Contact # Interval
SocialDIS 3,0 129,9 5.345 3.758
TLW 16,7 1.788,6 1.074 146
RWP 12,8 15.798,1 1.888 9
Tabella 5.1.2-3: La tabella mostra la durata media di un contatto (tra due nodi e
dell'intervallo di tempo che intercorre tra due successivi contatti tra gli stessi nodi), il
numero di contatti e il numero di intervalli. SocialDIS è il dataset ottenuto
dall'esperimento reale, mentre TLW ed RWP sono synthetic dataset generati
rispettivamente simulando il Random Waypoint e il Truncated Lévy Walk Model, entrambi
con l'area di simulazione scalata di un fattore 10.
108
In figura 5.1.2.4 vengono illustrati i risultati della metrica Flooding Time nel
caso in cui consideriamo le aree di simulazione maggiorate; esse mostrano l'incapacità
dei modelli nel rappresentare il comportamento diffusivo del caso reale.
Fig. 5.1.2.4: Comparazione della Flooding time distribution di tre dataset, uno
collezionato nell'esperimento SocialDIS e due generati a partire dai modelli di
mobilità, entrambi con 116 nodi con un contact detection range di 1𝑚: Per il RW model
abbiamo assegnato ai nodi velocità uniformemente distribuite tra 0.01 e 0.8 m/s, e il
TLW model, le flight lengths e i pause times seguono le truncated power laws con
𝛼 = 0.8, 𝛽 = 0.3
In questo caso nel modello TLW l'informazione tende a propagarsi più lentamente
rispetto ai casi SocialDIS e RWP perché, come abbiamo visto dalle statistiche appena
descritte, i nodi hanno una minore probabilità di interagire. Nel modello TLW tali
nodi comunicano poco frequentemente perché muovendosi in aree ampie, tendono a
seguire percorsi molto più lineari rispetto al caso RWP (vedere le motivazioni nel
paragrafo 2.1.4). Questa analisi dimostra l'inadeguatezza dei modelli, forse dovuta al
fatto che essi non tengono conto della non casualità dei percorsi che gli studenti
seguono.
109
Viene valutato ora l'effetto che si ha per quanto concerne le Conditional probability
Distribution of link's existence. Osservando le figure 5.1.2.5 e 5.1.2.6 ci si accorge, come
ci si aspettava sulla base dei risultati ottenuti nell'analisi dei contact time che, entrambi i
modelli di mobilità sottostimano sia la probabilità 𝑃𝑒 ,0 che la probabilità 𝑃𝑒 ,1, vale a
dire che se un contatto non avviene al tempo 𝑡 − 1 quasi certamente questo non si
ripresenterà al tempo 𝑡 e che se un contatto avviene al tempo 𝑡 − 1 quasi certamente
questo non avrà luogo al tempo 𝑡.
Fig. 5.1.2.5: Conditional Probability distribution dove F(𝑥) = frazione di archi con
𝑃𝑒,0/Pe ≥ x. Comparazione della Conditional Probability distribution di tre dataset,
uno collezionato nell'esperimento SocialDIS e due generati dai modelli di mobilità,
entrambi con 116 nodi con un contact detection range di 1𝑚: Per il Random Waypoint
model abbiamo assegnato ai nodi velocità uniformemente distribuite tra 0.01 e 1.0
m/s, e il Truncated Lévy Walk model, le flight lengths e i pause times seguono le
truncated power laws con 𝛼 = 0.8, 𝛽 = 0.3
La probabilità 𝑃𝑒 ,1 viene questa volta sottostimata perché i mobility models
presentano un minore numero di contatti che hanno un'alta probabilità di esistere al
tempo 𝑡 sapendo che sono esistiti anche al tempo 𝑡 − 1. Questo risultato è in liena
con l'analisi dei contact time per il fatto che i modelli RWP e TLW generano un
110
numero inferiore di comunicazioni che si ripresentano sporadicamente tra stessi
individui, rispetto a quelle generate nell'esperimento SocialDIS.
Fig. 5.1.2.6: Conditional Probability Distribution dove F(𝑥) = frazione di archi con
𝑃𝑒,1/Pe ≥ x. Comparazione della Conditional Probability distribution di tre dataset,
uno collezionato nell'esperimento SocialDIS e due generati dai modelli di mobilità,
entrambi con 116 nodi con un contact detection range di 1𝑚: Per il Random
Waypoint model abbiamo assegnato ai nodi velocità uniformemente distribuite tra
0.01 e 0.8 m/s, e il Truncated Lévy Walk model, le flight lengths e i pause times
seguono le truncated power laws con 𝛼 = 0.8, 𝛽 = 0.3.
Anche in questo caso l'esistenza di ciascun contatto nel tempo sembra presentare
delle dipendenze con caratteristiche markoviane, poichè la probabilità di esistenza di
uno specifico contatto a uno specifico tempo sembra dipendere dalla probabilità che
questo sia avvenuto al tempo immediatamente precedente. Nelle figure 5.1.2.7 e
5.1.2.8 viene mostrata la Link's existence variability, sia calcolata per ogni arco 𝑒 che per
un campione di venti archi scelti casualmente. Tale metrica calcolata per ciascuno dei
tre dataset, mostra come varia nel tempo la probabilità 𝑃𝑒,𝑖 , con 𝑖 ∈ 1, … , 𝑁𝐸 ,
dove 𝑁𝐸 è il numero di epoche costituite ognuna da 2000 secondi.
111
Fig. 5.1.2.7: Distribuzione della probabilità che un arco esista o meno in una
determinata epoca costituita da 2000 secondi. La distribuzione è stata calcolata su
tutti gli archi del grafo.
Fig. 5.1.2.8: Distribuzione della probabilità che un arco esista o meno in una
determinata epoca costituita da 2000 secondi. La distribuzione è stata calcolata su un
sottoinsieme di 20 archi scelti casualmente.
Dalla figura 5.1.2.7 si nota che, per quanto riguarda i modelli di mobilità, la
distribuzione della probabilità che un arco esista o meno in una determinata epoca
112
costituita da 2000 secondi, calcolata su tutti gli archi del grafo, risulta essere
approssimativamente stazionaria. Pertanto, anche in questo caso, la probabilità di
esistenza di un arco varia molto poco nel tempo, rafforzando la validità della stima
calcolata nelle Conditional Probability Distribution.
Come fatto nella precedente analisi (paragrafo 5.1.1), viene verificato se esiste
o meno una correlazione tra i contatti che avvengono tra coppie distinte di persone,
ossia stabilire se l'esistenza di un contatto ad un determinato tempo 𝑡 sia correlata o
meno all'esistenza di uno o più contatti avvenuti nel medesimo tempo.
Si partizionano i grafi dinamici dei contatti in forma aggregata, generati a
partire dai due modelli di mobilità, secondo la modularity. Da ogni partizione si
selezionano i primi 10 archi con peso più alto (ossia quelli più frequenti), per i quali
viene calcolata la matrice di correlazione. Nei grafi mostrati in figura 5.1.2.11, si
osserva che nel caso del modello RWP i nodi vengono classificati in tante piccole
community e in una grossa, ciascuna delle quali (come mostrato nella figura 5.1.2.9)
non presenta correlazioni tra contatti avvenuti contemporaneamente. Lo stesso tipo
di classificazione avviene anche nel caso del modello TLW, dove ciascuna di esse
(come mostrato nella figura 5.1.2.10) non presenta correlazioni tra contatti distinti.
Questa volta il modello TLW non classifica i nodi in una grandissima
community perché, rispetto al caso precedente, i nodi tendenzialmente comunicano
solo con un ristretto numero di nodi. Invece il modello RWP presenta una grande
community, nel suo Contat Graph aggregato partizionato secondo la modularity,
perché rispetto al modello TLW i nodi interagiscono con mediamente con più nodi.
Se confrontiamo le due matrici con quella calcolata per SocialDIS (mostrata in figura
5.1.1.14), ci si accorge che in questo caso i modelli di mobilità mostrano delle
dipendenze temporali esigue, comunque differenti da quelle del caso reale. Questo
accade solo perché in aree di simulazione estese, la probabilità che due persone
comunichino a distanza ravvicinata è veramente bassa, dunque la correlazione
temporale tra contatti è improbabile.
I risultati ottenuti ci mostrano che, anche aumentando l'area di simulazione,
non aumentano le correlazioni statistiche tra i dati generati dai modelli TLW e RWP
e quelli forniti dall'esperimento SocialDIS, confutando l'ipotesi per cui tali modelli
possano risultare validi aumentando le dimensioni dell'ambiente.
113
Fig. 5.1.2.9: Vengono mostrate le matrici di correlazione aventi il maggior numero di
correlazioni tra archi appartenenti alla rispettiva community, classificate calcolando la
Modularity sul grafo aggregato, ottenuto simulando il Random Waypoint model.
L'intensità del giallo indica quanto l'esistenza di due archi è correlata nel tempo.
Maggiore è l'intensità, maggiore è la correlazione temporale tra i due archi.
114
Fig. 5.1.2.10: Vengono mostrate le matrici di correlazione aventi il maggior numero
di correlazioni tra archi appartenenti alla rispettiva community, classificate calcolando
la Modularity sul grafo aggregato, ottenuto simulando il Truncated Lévy Walk model.
L'intensità del giallo indica quanto l'esistenza di due archi è correlata nel tempo.
Maggiore è l'intensità, maggiore è la correlazione temporale tra i due archi.
115
Fig. 5.1.2.11: Il grafo a sinistra mostra mostrate le community ottenute calcolando la
Modularity sul grafo aggregato ottenuto simulando il RW model, mentre il grafo a
destra mostra le community ottenute calcolando la Modularity sul grafo aggregato
ottenuto simulando il TLW model. I numeri sono gli identificativi delle community.
116
5.2 Comparazione con i dati dell'esperimento MACRO
5.2.1 Modelli nella loro formulazione originaria
I 114 visitatori che hanno partecipato all'esperimento NeonMACRO, si sono
mossi in un'area rettangolare di circa 25𝑚 𝑥 47𝑚, dove per circa 8938 𝑠𝑒𝑐𝑜𝑛𝑑𝑖
(2,48 𝑜𝑟𝑒) sono stati registrati tutti i contatti face-to-face che sono avvenuti durante
la mostra d'arte contemporanea. Per simulare le interazioni nei modelli di mobilità
vengono usati 114 nodi con un raggio di visibilità di 1𝑚, distribuiti in un'area
rettangolare di 25𝑚 𝑥 47𝑚, e vengono configurati i parametri di lunghezza dei
percorsi, velocità dei nodi e tempo di pausa, per generare dataset che possano avere
delle caratteristiche simili a quelle ottenute dal mondo reale. Per il RW model vengono
assegnati ai nodi velocità uniformemente distribuite tra 0.01 e 0.7 m/s.
Per il TLW model, le flight lengths (𝑙) e i waiting times (𝑡) seguono le
truncated power laws 𝑝 𝑙 ~ 𝑙 − 1+𝛼 , 𝑙 < 𝑙𝑚𝑎𝑥 e 𝜓 𝑡 ~𝑡− 1+𝛽 , 0 < 𝑡 < 𝑡𝑚𝑎𝑥 , con
𝛼 = 1.6, 𝛽 = 0.8, 𝑙𝑚𝑎𝑥 = 25, 𝑡𝑚𝑎𝑥 = 600𝑠 (10 𝑚𝑖𝑛𝑢𝑡𝑖), con angoli di rotazione
presi da una distribuzione uniforme e velocità dei nodi proporzionale alle flight
lengths. Il numero di secondi di ciascuna simulazione è pari a 8938 𝑠𝑒𝑐𝑜𝑛𝑑𝑖
(2,48 𝑜𝑟𝑒), ossia il tempo per cui è stato deciso di tracciare le interazioni.
Durante l'importazione del dataset empirico, la soglia entro la quale una
disconnessione non viene considerata come interruzione del contatto (parametro
configurabile nel DNF Importer) è stata fissata a tre. Nelle tabelle 5.2.1-1 e 5.2.1-2
vengono mostrate le statistiche calcolate sui tre grafi aggregati (che non considerano
i Presence schedules associati a ciascun nodo/arco e dove il peso di ciascun arco è pari
alla sua frequenza), che mostrano risultati simili a quelli ottenuti nell'analisi del
dataset SocialDIS, ovvero che nei dataset sintetici avvengono un numero maggiore di
interazioni tra individui rispetto al caso reale e che i Dynamic Contact Graph aggregati
generati secondo i modelli RWP e TLW sono notevolmente densi e coesi. Come ci si
aspettava, comparando le Strength distribution dei due dataset sintetici con quella del
dataset NeonMacro (mostrate in figura 5.2.1.1), si scopre che non si presentano
somiglianze. La strength dei nodi che si muovono secondo i modelli di mobilità risulta
essere maggiore, perché essi interagiscono in media con un numero superiore di
117
vicini. Anche in questa analisi risulta evidente che tali modelli falliscono nel
riprodurre le proprietà strutturali del grafo dinamico dei contatti in forma aggregata.
Dataset # Edges Average
degree
Average
strength
Graph
density
NeonMACRO 132 2,316 0,004 0,02
TLW 5394 94,63 1,1 0,83
RWP 6120 107,368 1,2 0,95
Tabella 5.2.1-1: Vengono mostrati: il numero di archi, il degree medio, il degree
medio pesato (o strength ) e la densità del grafo. NeonMACRO è il dataset ottenuto
dall'esperimento reale, mentre TLW ed RWP sono synthetic dataset generati
rispettivamente simulando il Random Waypoint Mobility Model e il Truncated Lévy Walk
Mobility Model.
Dataset Average Clustering
Coefficient
Average Weighted
Clustering Coefficient
NeonMACRO 0,378 0,237
TLW 0,848 0,853
RWP 0,951 0,951
Tabella 5.2.1-2: Cluster coefficient medio (pesato e non pesato), calcolato su tre
dataset: NeonMACRO è il dataset ottenuto dall'esperimento reale, mentre TLW ed
RWP sono synthetic dataset generati rispettivamente simulando il Random Waypoint e
il Truncated Lévy Walk models.
Nelle figure 5.2.1.2 e 5.2.1.3 si confrontano rispettivamente la Inter Contact Time
distribution e la Intra Contact Time distribution, calcolata sul dataset raccolto durante
l'esperimento NeonMACRO e sui due dataset ottenuti a partire dai modelli di
mobilità.
118
Fig. 5.2.1.1: Node Strength distribution con F(Strength) = frazione di nodi con
(Strength/Max Strength) >= Strength. Comparazione della distribuzione di tre
dataset, uno collezionato nell'esperimento SocialDIS e due generati dai modelli di
mobilità, entrambi con 116 nodi con un contact detection range di 1𝑚: Per il RW model
abbiamo assegnato ai nodi velocità uniformemente distribuite tra 0.01 e 0.8 m/s, e il
TLW model, le flight lengths e i pause times seguono le truncated power laws con
𝛼 = 0.8, 𝛽 = 0.3.
Dataset Average Intra-
contact Time
(seconds)
Average Inter-
contact Time
(seconds)
# Contact # Interval
NeonMACRO 1,7 51,2 1.325 966
TLW 20,7 645,8 28.187 325
RWP 32,7 1.619,3 19.117 246
Tabella 5.2.1-3: La tabella mostra la durata media di un contatto (tra due nodi e
dell'intervallo di tempo che intercorre tra due successivi contatti tra gli stessi nodi), il
numero di contatti e il numero di intervalli. NeonMACRO è il dataset ottenuto
dall'esperimento reale, mentre TLW ed RWP sono synthetic dataset generati
rispettivamente simulando il Random Waypoint e il Truncated Lévy Walk Model.
119
Fig. 5.2.1.2: Comparazione dell' Inter Contact Time distribution di tre dataset, uno
collezionato nell'esperimento NeonMACRO e due generati dai modelli di mobilità,
entrambi con 114 nodi con un contact detection range di 1𝑚: Per il RW model abbiamo
assegnato ai nodi velocità uniformemente distribuite tra 0.01 e 0.7 m/s, e il TLW
model, le flight lengths e i pause times seguono le truncated power laws con 𝛼 = 1.6,
𝛽 = 0.8.
Al contrario di quello che è accaduto nel caso del dataset SocialDIS, l'andamento
della Inter e Intra contact time distribution del NeonMACRO si discosta dall'andamento
delle distribuzione ottenute dai due dataset sintetici. Tale differenza è ben evidente
anche nei risultati mostrati nella tabella 5.2.1-3, dove viene constatato un maggiore
numero di contatti tra i nodi dei modelli di mobilità, che però si reincontrano di rado.
Come è successo nel caso SocialDIS, i modelli RWP e TLW non catturano un
comportamento tipico dei visitatori di un museo, i quali tendono a non comunicare
con altri visitatori che non conoscono e ad interagire solo con quelli che conoscono.
120
Fig. 5.2.1.3: Comparazione dell' Intra Contact Time distribution di tre dataset, uno
collezionato nell'esperimento NeonMACRO e due generati dai modelli di mobilità,
entrambi con 114 nodi con un contact detection range di 1𝑚: Per il RW model
abbiamo assegnato ai nodi velocità uniformemente distribuite tra 0.01 e 0.7 m/s, e il
TLW model, le flight lengths e i pause times seguono le truncated power laws con
𝛼 = 1.6, 𝛽 = 0.8.
Nell'esperimento SocialDIS simulando la diffusione di un'informazione, è
stato verificato che le reti dinamiche, ottenute a partire dai modelli di mobilità,
falliscono nel rappresentare il processo diffusivo del caso reale. Per verificarlo anche
in questo secondo esperimento, si è calcolata la metrica Flooding sul dataset empirico
del NeonMacro e su quelli relativi ai due modelli di mobilità. Dalla figura 5.2.1.4,
risulta chiaro che anche questa volta i modelli RWP e TLW non sono adeguati per
simulare il comportamento diffusivo del caso reale considerato. Analizzando il
numero di individui raggiunti dal messaggio entro la fine dell'esperimento
NeonMACRO, si osserva che non vengono mai raggiunti tutti i visitatori.
121
Fig. 5.2.1.4: Comparazione della Flooding time distribution di tre dataset, uno
collezionato nell'esperimento NeonMacro e due generati a partire dai modelli di
mobilità, entrambi con 114 nodi con un contact detection range di 1𝑚: Per il RW model
abbiamo assegnato ai nodi velocità uniformemente distribuite tra 0.01 e 0.7 m/s, e il
TLW model, le flight lengths e i pause times seguono le truncated power laws con
𝛼 = 1.6, 𝛽 = 0.8.
Il numero di individui raggiunti dall'informazione dipende dal numero di
componenti connesse. Nel caso NeonMACRO si hanno molti cluster isolati, mentre
nel caso dei modelli di mobilità si ha un'unica componente connessa. Per questo
motivo, il messaggio nel caso reale, non arriva a tutti gli individui se il seed appartiene
a un cluster non connesso con tutte le altre community.
Inoltre bisogna considerare il fatto che tutti i visitatori che lasciano il museo
prima dell'arrivo del seed non possono essere infettati a meno che non ritornino nella
sala espositiva una seconda volta, e questo accade di rado.
Nelle figure 5.2.1.5 e 5.2.1.6, è possibile ossservare l'andamento della
Conditional probability Distribution of link's existence applicata ai dati raccolti
nell'esperimento NeonMacro e ai dati collezionati simulando il RW mobility model e
il TLW mobility model. Come era plausibile attendersi, dato che tra i tre dataset non
122
si sono osservate delle similatirà nei contact time, ancora una volta i modelli di mobilità
sottostimano la probabilità per cui un contatto esiste in uno specifico istante
temporale sapendo che è esistito nell'istante precedente e sovrastimano invece la
probabilità per cui un nodo esiste in un determinato istante 𝑡 sapendo che non è
esistito all'istante 𝑡 − 1. Inoltre sembrerebbe che le dipendenze temporali seguano un
processo con caratteristiche di tipo markoviano.
Per valutare la validità della stima appena fatta, anche questa volta, si misura
la variabilità nel tempo della 𝑃𝑒 , utilizzando la metrica Link's existence variabilità. Si
calcola la probabilità 𝑃𝑒,𝑖 , con 𝑖 ∈ 1, … , 𝑁𝐸 (dove 𝑁𝐸 è il numero di epoche
costituite ognuna da 100 secondi), per ognuno dei tre dataset, prima per ogni arco 𝑒
del grafo (figura 5.2.1.7) e poi per un campione di venti archi scelti casualmente
(figura 5.2.1.8). Anche questa volta l'andamento medio della 𝑃𝑒 nelle varie epoche
risulta essere con buona approssimazione stazionario.
Fig. 5.2.1.5: Conditional Probability distribution dove F(𝑥) = frazione di archi con
𝑃𝑒,0/Pe >= x. Comparazione della Conditional Probability distribution di tre dataset,
uno collezionato nell'esperimento NeonMACRO e due generati dai modelli di
mobilità, entrambi con 114 nodi con un contact detection range di 1𝑚: Per il Random
Waypoint model abbiamo assegnato ai nodi velocità uniformemente distribuite tra 0.01
123
e 0.7 m/s, e il Truncated Lévy Walk model, le flight lengths e i pause times seguono le
truncated power laws con 𝛼 = 1.6, 𝛽 = 0.8.
Si vuole ora verificare se esiste o meno una correlazione tra i contatti che avvengono
tra coppie distinte d' individui, ossia se l'esistenza di un contatto ad un determinato
istante temporale sia correlata o meno all'esistenza di uno o più contatti avvenuti
nello stesso istante.
Si effettua tale verifica calcolando la Pearson Correlation Matrix. Da ogni cluster
classificato secondo la modularity (vededere i grafi ottenuti nelle figure 5.2.1.12 e
5.2.1.13) vengono estrapolati i primi 10 archi più frequenti, per i quali viene calcolata
la matrice di correlazione. Per i motivi già descritti nell'analisi relativa all'esperimento
SocialDIS, i nodi che appartengono ai Contact Graph aggregati, generati dai modelli di
mobilità, tendono ad essere classificati secondo la modularity in pochi e grandi
gruppi, contrariamente a quanto accade per il Contact Graph aggregato generato a
partire dai dati del NeonMACRO, dove i nodi vengono classificati in tante piccole
community, di cui molte isolate.
Fig. 5.2.1.6: Conditional Probability Distribution dove F(x) = frazione di archi con
𝑃𝑒,1/Pe ≥ x. Comparazione della Conditional Probability distribution di tre dataset,
uno collezionato nell'esperimento NeonMACRO e due generati dai modelli di
124
mobilità, entrambi con 114 nodi con un contact detection range di 1𝑚: Per il Random
Waypoint model abbiamo assegnato ai nodi velocità uniformemente distribuite tra 0.01
e 0.7 m/s, e il Truncated Lévy Walk model, le flight lengths e i pause times seguono le
truncated power laws con 𝛼 = 1.6, 𝛽 = 0.8.
Questo risultato rispecchia il fatto che, rispetto al contesto del NeonMACRO, nei
due modelli di mobilità si presentano un maggiore numero di contatti tra tutti gli
individui indipendentemente dal fatto che essi si conoscano o meno. Inoltre ancora
una volta i nodi che si muovono secondo il modello di mobilità TLW vengono
classificati in una grande community, molto più grande di quelle ottenute nel caso
RWP. Tale fenomeno accade perché nel modello TLW i nodi hanno una minor
probabilità di reincontrarsi, dato che seguono traiettorie meno dettate dal caso.
Nelle figure 5.2.1.9, 5.2.1.10 e 5.2.1.11, è possibile notare che le matrici di
correlazione calcolate sul dataset NeonMACRO e sui dataset ottenuti usando i
modelli di mobilità RW e TLW. Comparando le matrici relative al caso reale con
quelle ottenute dai casi simulati, si osserva che nel primo caso le correlazioni
temporali tra contatti distinti sono presenti solo in una community e scarse (o quasi
assenti) nelle altre, mentre nel secondo caso il modello RWP presenta un buon
numero di correlazioni e il modello TLW ne presenta un numero esiguo. Dall'analisi
che è stata condotta, ci accorgiamo che, anche in questo caso entrambi i modelli di
mobilità generano tracce di contatti che statisticamente non presentano alcuna
somiglianza rispetto alle tracce di contatto del caso reale.
125
Fig. 5.2.1.7: Distribuzione della probabilità che un arco esista o meno in una
determinata epoca costituita da 100 secondi. La distribuzione è stata calcolata su tutti
gli archi del grafo.
Fig. 5.2.1.8: Distribuzione della probabilità che un arco esista o meno in una
determinata epoca costituita da 100 secondi. La distribuzione è stata calcolata su un
sottoinsieme di 20 archi scelti casualmente.
126
Come è stato scoperto nell'analisi svolta nel caso dell'esperimento SocialDIS,
i modelli non riescono assolutamente a riprodurre il comportamento degli individui
dello specifico scenario considerato. In un museo i visitatori tipicamente spendono
una limitata quantità di tempo sul posto, ben al di sotto della massima durata di
apertura permessa, terminata la visita non ritornano una seconda volta, entrano ed
escono dalla sala espositiva in orari differenti, comunicano poco tra di loro a meno
che non si conoscono e seguono dei percorsi quasi predefiniti.
Nei modelli di mobilità adottati, invece, le persone rimangono sempre nella
sala espositiva, comunicano quasi con tutti eseguono percorsi casuali (nel caso RWP)
o percorsi di tipo Lévy walk (nel caso TLW). Come già è stato detto nel paragrafo
5.1, la validità del modello di mobilità TLW è stata verificata in ambienti outdoor
[20], dove le persone si muovo in aree estese, mentre nell'esperimento che abbiamo
condotto i visitatori del museo si muovono in una sala dall'area relativamente
limitata. Lo stesso concetto potrebbe valere anche per il modello RWP.
Come è stato fatto nel sotto-paragrafo 5.1.2 (caso SocialDIS), nel prossimo sotto-
paragrafo, tenendo conto di queste considerazioni, verrà analizzato il comportamento
dei due modelli nel caso in cui aumentiamo di un fattore 10 le dimensioni dell'area di
simulazione.
127
Fig. 5.2.1.9: Vengono mostrate le matrici di correlazione aventi il maggior numero di
correlazioni tra archi appartenenti alla rispettiva community, classificate calcolando la
Modularity sul grafo aggregato, ottenuto dal dataset NeonMACRO. L'intensità del
giallo indica quanto l'esistenza di due archi è correlata nel tempo. Maggiore è
l'intensità, maggiore è la correlazione temporale tra i due archi.
128
Fig. 5.2.1.10: Vengono mostrate le matrici di correlazione aventi il maggior numero
di correlazioni tra archi appartenenti alla rispettiva community, classificate calcolando
la Modularity sul grafo aggregato, ottenuto simulando il Random Waypoint model.
L'intensità del giallo indica quanto l'esistenza di due archi è correlata nel tempo.
Maggiore è l'intensità, maggiore è la correlazione temporale tra i due archi.
129
Fig. 5.2.1.11: Vengono mostrate le matrici di correlazione delle due community,
classificate calcolando la Modularity sul grafo aggregato, ottenuto simulando il
Truncated Lévy Walk model. L'intensità del giallo indica quanto l'esistenza di due archi è
correlata nel tempo. Maggiore è l'intensità, maggiore è la correlazione temporale tra i
due archi.
Fig. 5.2.1.12: Mostra le community ottenute calcolando la Modularity sul grafo
aggregato dell'esperimento NeonMACRO.
130
Fig. 5.2.1.13: Il grafo a sinistra mostra mostrate le community ottenute calcolando la
Modularity sul grafo aggregato ottenuto simulando il RW model, mentre il grafo a
destra mostra le community ottenute calcolando la Modularity sul grafo aggregato
ottenuto simulando il TLW model. I numeri sono gli identificativi delle community.
5.2.2 Modelli con aree di simulazione scalate di un fattore 10
Viene ora verificato, come fatto nel paragrafo 5.1.2, se aumentare di un
fattore 10 le dimensioni dell'area di simulazione, renda le statistiche dei modelli di
mobilità più simili a quelle del caso NeonMACRO. Nelle simulazioni vengono
utilizzati 114 nodi con un raggio di visibilità di 1𝑚, distribuiti in un'area rettangolare
di 240𝑚 𝑥 470𝑚, ed vengono assegnati ai parametri gli stessi valori dell'analisi
precedente. Per il RW model abbiamo assegnato ai nodi velocità uniformemente
distribuite tra 0.01 e 0.7 m/s.
Per il TLW model, le flight lengths (𝑙) e i waiting times (𝑡) seguono le
truncated power laws 𝑝 𝑙 ~ 𝑙 − 1+𝛼 , 𝑙 < 𝑙𝑚𝑎𝑥 e 𝜓 𝑡 ~𝑡− 1+𝛽 , 0 < 𝑡 < 𝑡𝑚𝑎𝑥 , con
𝛼 = 1.6, 𝛽 = 0.8, 𝑙𝑚𝑎𝑥 = 240, 𝑡𝑚𝑎𝑥 = 600𝑠 (10 𝑚𝑖𝑛𝑢𝑡𝑖) e la durata della
simulazione è sempre pari a 8938 𝑠𝑒𝑐𝑜𝑛𝑑𝑖 (2,48 𝑜𝑟𝑒).
Nelle tabelle 5.2.2-1 e 5.2.2-2 si nota che i Contact Graph in forma aggregata,
generati a partire dai modelli RWP e TLW, tendono ad essere più accurati rispetto
alle proprietà strutturali del grafo. Nello specifico, il modello TLW presenta delle
notevoli similarità per quanto riguarda la quantità d'interazioni e la formazione di
cluster. In figura 5.2.2.1, confrontando le Strength distribution, si osserva che la strength
dei nodi (che si muovono secondo il modello TLW) tende ad avvicinarsi a quella dei
131
visitatori del museo. Pertanto si scopre che aumentando l'area di simulazione di un
fattore 10, il TLW Mobility Model riesce a riprodurre in modo più accurato le
proprietà strutturali del dataset NeonMACRO. Il RWP non risulta essere ancora
abbastanza adeguato.
Dataset # Edges Average
degree
Average
strength
Graph
density
NeonMACRO 132 2,2 0,004 0,02
TLW 188 3,3 0,013 0,03
RWP 615 10,7 0,016 0,09
Tabella 5.2.2-1: Vengono mostrati: il numero di archi, il degree medio, il degree
medio pesato (o strength ) e la densità del grafo. NeonMACRO è il dataset ottenuto
dall'esperimento sociale reale, mentre TLW ed RWP sono synthetic dataset generati
rispettivamente simulando il Random Waypoint Mobility Model e il Truncated Lévy Walk
Mobility Model, entrambi con l'area di simulazione scalata di un fattore 10.
Dataset Average Clustering
Coefficient
Average Weighted
Clustering Coefficient
NeonMACRO 0,36 0,24
TLW 0,26 0,22
RWP 0,12 0,12
Tabella 5.2.2-2: Cluster coefficient medio (pesato e non pesato), calcolato su tre
dataset: NeonMACRO è il dataset ottenuto dall'esperimento sociale reale, mentre
TLW ed RWP sono synthetic dataset generati rispettivamente simulando il Random
Waypoint e il Truncated Lévy Walk models, entrambi con l'area di simulazione scalata di
un fattore 10.
Per quanto riguarda le proprietà temporali delle comunicazioni tra persone, nelle
figure 5.2.2.2 e 5.2.2.3 vengono comparate rispettivamente la Inter Contact Time
distribution e la Intra Contact Time distribution, tra il dataset NeonMACRO e i due dataset
sintetici.
132
Fig. 5.2.2.1: Node Strength distribution con F(Strength) = frazione di nodi con
(Strength/Max Strength) >= Strength. Comparazione della distribuzione di tre
dataset, uno collezionato nell'esperimento NeonMACRO e due generati dai modelli
di mobilità, entrambi con 114 nodi con un contact detection range di 1𝑚: Per il RW model
abbiamo assegnato ai nodi velocità uniformemente distribuite tra 0.01 e 0.7 m/s, e il
TLW model, le flight lengths e i pause times seguono le truncated power laws con
𝛼 = 1.6, 𝛽 = 0.8.
Da entrambe le figure e dalla tabella 5.2.2-3, si nota che non c'è alcuna
correlazione tra le distribuzioni e che nel modello RWP due stessi nodi non
ricomunicano mai.
Dataset Average Intra-
contact Time
(seconds)
Average Inter-
contact Time
(seconds)
# Contact # Interval
NeonMACRO 1,7 51,2 1.325 966
TLW 17,8 179,2 369 5
RWP 12,0 0 650 0
Tabella 5.2.2-3: La tabella mostra la durata media di un contatto (tra due nodi e
dell'intervallo di tempo che intercorre tra due successivi contatti tra gli stessi nodi), il
133
numero di contatti e il numero di intervalli. NeonMACRO è il dataset ottenuto
dall'esperimento sociale reale, mentre TLW ed RWP sono synthetic dataset generati
rispettivamente simulando il Random Waypoint e il Truncated Lévy Walk Model, entrambi
con l'area di simulazione scalata di un fattore 10.
Fig. 5.2.2.2: Comparazione dell'Inter Contact Time distribution di tre dataset, uno
collezionato nell'esperimento NeonMACRO e due generati dai modelli di mobilità,
entrambi con 114 nodi con un contact detection range di 1𝑚: Per il RW model abbiamo
assegnato ai nodi velocità uniformemente distribuite tra 0.01 e 0.7 m/s, e il TLW
model, le flight lengths e i pause times seguono le truncated power laws con 𝛼 = 1.6,
𝛽 = 0.8.
Pertanto si nota che lo stesso contatto tra due individui distinti si ripresenta
veramente di rado, se non affatto, nei due modelli di mobilità. Questo ha luogo
perché i nodi che si muovono secondi i mobility models RWP e TLW, spostandosi in
aree più grandi, hanno meno probabilità di comunicare e ricomunicare. Aumentare la
grandezza dell'area di simulazione sottostima le comunicazioni avvenute tra i
visitatori del museo che hanno partecipato all'esperimento. In figura 5.2.2.4 si vede
che il modello RWP non riesce assolutamente a catturare lo schema di diffusione di
un messaggio tra visitatori. In questa figura vengono illustrati i risultati della metrica
134
Flooding Time nel caso in cui consideriamo le aree di simulazione aumentate, le quali ci
fanno rendere conto dell'incapacità dei modelli nel rappresentare il comportamento
diffusivo dello particolare contesto reale.
Fig. 5.2.2.3: Comparazione dell'Intra Contact Time distribution di tre dataset, uno
collezionato nell'esperimento NeonMACRO e due generati dai modelli di mobilità,
entrambi con 114 nodi con un contact detection range di 1𝑚: Per il RW model abbiamo
assegnato ai nodi velocità uniformemente distribuite tra 0.01 e 0.7 m/s, e il TLW
model, le flight lengths e i pause times seguono le truncated power laws con 𝛼 = 1.6,
𝛽 = 0.8.
In questo caso nel modello TLW l'informazione tende a propagarsi più
lentamente rispetto ai casi NeonMACRO e RWP, perché come si è osservato dai
risultati delle statistiche appena descritte, i nodi hanno una minore probabilità di
interagire.
Nel modello TLW tali nodi comunicano sporadicamente perché spostandosi
in grandi aree, tendono a seguire percorsi molto più lineari rispetto al caso RWP
(vedere le motivazioni nel paragrafo 2.1.4). Questa analisi dimostra l'inadeguatezza
135
dei modelli, forse dovuta al fatto che essi non tengono conto della non casualità dei
percorsi che gli i visitatori di un museo seguono durante la mostra d'arte.
Fig. 5.2.2.4: Comparazione della Flooding time distribution di tre dataset, uno
collezionato nell'esperimento NeonMACRO e due generati a partire dai modelli di
mobilità, entrambi con 114 nodi con un contact detection range di 1𝑚: Per il RW
model abbiamo assegnato ai nodi velocità uniformemente distribuite tra 0.01 e 0.7
m/s, e il TLW model, le flight lengths e i pause times seguono le truncated power laws
con 𝛼 = 1.6, 𝛽 = 0.8
Si analizzano ora gli effetti che si hanno per quanto riguarda la Conditional probability
Distribution of link's existence. Osservando le figure 5.2.2.5 e 5.2.2.6, si evince che i
modelli RWP e TLW sottostimano entrambe le probabilità condizionate. Nello
specifico la sottostima risulta maggiore nel caso RWP, perché come è stato
constatato dall'analisi delle contat time distribution, in esso i nodi non si reincontrano
mai. Inoltre notiamo che anche questa volta sembra esistere una dipendenza
temporale con caratteristiche di tipo markoviano riguardo l'esistenza di ciascun nodo,
dunque il presence schedule di un arco (o contatto) che avviene secondo i modelli di
mobilità, contiene lunghi periodi in cui esso non esiste e lunghi periodi in cui esso
esiste.
136
Fig. 5.2.2.5: Conditional Probability distribution dove F(𝑥 = frazione di archi con
𝑃𝑒,0/Pe ≥ x. Comparazione della Conditional Probability distribution di tre dataset,
uno collezionato nell'esperimento NenoMACRO e due generati dai modelli di
mobilità, entrambi con 114 nodi con un contact detection range di 1𝑚: Per il Random
Waypoint model abbiamo assegnato ai nodi velocità uniformemente distribuite tra 0.01
e 0.7 m/s, e il Truncated Lévy Walk model, le flight lengths e i pause times seguono le
truncated power laws con 𝛼 = 1.6, 𝛽 = 0.8
Fig. 5.2.2.6: Conditional Probability Distribution dove F(𝑥) = frazione di archi con
137
𝑃𝑒,1/Pe ≥ x. Comparazione della Conditional Probability distribution di tre dataset,
uno ottenuto nell'esperimento NeonMACRO e due generati dai modelli di mobilità,
entrambi con 114 nodi con un contact detection range di 1𝑚: Per il Random Waypoint
model abbiamo assegnato ai nodi velocità uniformemente distribuite tra 0.01 e 0.7
m/s, e il Truncated Lévy Walk model, le flight lengths e i pause times seguono le
truncated power laws con 𝛼 = 1.6, 𝛽 = 0.8.
Nelle figure 5.2.2.7 e 5.2.2.8 ci si accorge che mediamente la probabilità di
esistenza di un contatto risulta essere mediamente stazionaria in tutti e tre i casi.
Per quanto riguarda le correlazioni tra contatti, viene valutato cosa succede
calcolando le matrici di correlazione per ogni cluster classificato secondo la
modularity (vededere i grafi ottenuti nella figura 5.2.2.11). Nei grafi mostrati in figura
5.1.2.11, si osserva che nel caso del modello RWP i nodi vengono classificati in tanti
piccoli gruppi e in uno grosso, ognuno dei quali (come mostrato nella figura 5.2.2.9)
non presenta correlazioni tra contatti avvenuti contemporaneamente. Lo stesso tipo
di classificazione avviene anche nel caso del modello TLW, dove ciascuno di essi
(come mostrato nella figura 5.2.2.10) non presenta particolari correlazioni tra contatti
distinti.
Il modello TLW non classifica i nodi in un grandissimo gruppo perché,
rispetto al caso precendente, i nodi tendenzialmente comunicano solo con un
ristretto numero di nodi. Invece il modello RWP presenta una grande community,
nel suo Contat Graph aggregato partizionato secondo la modularity, perché rispetto al
modello TLW i nodi interagiscono con mediamente con più nodi. Se si confrontano
le due matrici con quella calcolata per NeoMACRO (mostrata in figura 5.2.1.14), ci
accorgiamo che in questo caso i modelli di mobilità mostrano delle dipendenze
temporali sporadiche, se non nulle, comunque differenti da quelle del caso reale
sopra citato. Questo accade solo perché in aree di simulazione estese, la probabilità
che due persone comunichino a distanza ravvicinata è veramente esigua, quindi la
correlazione temporale tra contatti risulta essere improbabile.
138
Fig. 5.2.2.7: Distribuzione della probabilità che un arco esista o meno in una
determinata epoca costituita da 100 secondi. La distribuzione è stata calcolata su tutti
gli archi del grafo.
Fig. 5.2.2.8: Distribuzione della probabilità che un arco esista o meno in una
determinata epoca costituita da 100 secondi. La distribuzione è stata calcolata su un
sottoinsieme di 20 archi scelti casualmente.
139
Fig. 5.2.2.9: Vengono mostrate le matrici di correlazione aventi il maggior numero di
correlazioni tra archi appartenenti alla rispettiva community, classificate calcolando la
Modularity sul grafo aggregato, ottenuto simulando il Random Waypoint model.
L'intensità del giallo indica quanto l'esistenza di due archi è correlata nel tempo.
Maggiore è l'intensità, maggiore è la correlazione temporale tra i due archi.
Come è avvenuto nel caso SocialDIS, i risultati ottenuti mostrano che anche
aumentando l'area di simulazione non aumentano le correlazioni statistiche tra i dati
generati dai modelli TLW e RWP e quelli forniti dall'esperimento NeonMACRO,
confutando l'ipotesi per cui tali modelli possano risultare validi aumentando le
dimensioni dell'ambiente.
140
Fig. 5.2.2.10: Vengono mostrate le matrici di correlazione aventi il maggior numero
di correlazioni tra archi appartenenti alla rispettiva community, classificate calcolando
la Modularity sul grafo aggregato, ottenuto simulando il Truncated Lévy Walk model.
L'intensità del giallo indica quanto l'esistenza di due archi è correlata nel tempo.
Maggiore è l'intensità, maggiore è la correlazione temporale tra i due archi.
141
Fig. 5.2.2.11: Il grafo a sinistra mostra mostrate le community ottenute calcolando la
Modularity sul grafo aggregato ottenuto simulando il RW model, mentre il grafo a
destra mostra le community ottenute calcolando la Modularity sul grafo aggregato
ottenuto simulando il TLW model. I numeri sono gli identificativi delle community.
5.3 Sintesi dei risultati ottenuti
In questo capitolo sono state confrontate statisticamente le tracce di contatti
collezionate a partire dagli esperimenti SocialDIS e NeonMACRO con quelle
ottenute a partire dai modelli di mobilità RWP e TLW. Confrontando le proprietà dei
Contact Graph in forma aggregata (Graph Density, Cluster Coefficient, Weighted
Clustering Coefficient, Strength, Modularity) e gli andamenti delle relative Contact
Time Distribution, si è notato che il comportamento tipico degli individui riscontrato
negli esperimenti sociali (ossia quello di comunicare prevalentemente con altri
individui con i quali si ha un legame d'amicizia e sporadicamente con altri individui
sconosciuti) non viene catturato dai modelli di mobilità RWP e TLW, dove invece le
persone tendono a comunicare con quasi tutte le altre e a ricomunicare poco con
quelle che hanno già precedentemente incontrato. Successivamente, attraverso lo
sviluppo di un semplice protocollo di flooding, si è mostrato che a causa dell'elevato
numero di comunicazioni che coinvolgono quasi tutti gli individui, nei due modelli di
mobilità un'informazione si propaga molto più velocemente rispetto ai casi SocialDIS
e NeonMACRO.
142
Confrontando poi le Conditional Distribution of link's existence è stato verificato che nei
modelli di mobilità RWP e TLW, se un contatto si verifica ad un determinato tempo,
quasi sicuramente esso avverrà al tempo successivo, mentre se un contatto non
avviene in un determinato tempo quasi sicuramente non avverrà al tempo successivo.
Questo risultato è concorde a quelli precedenti per il fatto che entrambi i modelli di
mobilità generano comunicazioni tra stessi individui che si ripresentano raramente e
che mediamente durano di più, rispetto a quelle generate nei casi reali trattati.
Dunque il presence schedule di un arco (rappresentante un contatto) conterrà lunghi
periodi in cui esso esiste, seguiti da lunghi periodi in cui esso non esiste.
Confrontando le matrici di correlazione è stato appurato che i modelli RWP e TLW
mostrano un discreto quantitativo di correlazioni temporali tra contatti distinti, ossia
risultano frequenti le comunicazioni tra coppie di nodi distinte nello stesso istante
temporale. Questo comportamento si discosta da quello registrato nei casi SocialDIS
e NeonMacro, dunque le comunicazioni che avvengono tra i nodi che si muovono
secondo i modelli di mobilità, presentano dipendenze e correlazioni temporali che
non sono in linea con quanto accade negli esperimenti sociali.
Per validare l'ipotesi per cui i modelli RWP e TLW possano risultare validi
aumentando le dimensioni dell'ambiente in cui gli individui possono muoversi, sono
state poi rieffettuate tutte queste analisi statistiche considerando le dimensioni
dell'area di simulazione di entrambi i modelli aumentate di un fattore 10. I risultati
ottenuti mostrano che anche aumentando l'area di simulazione non aumentano le
correlazioni statistiche tra i dati generati dai modelli TLW e RWP e quelli forniti dagli
esperimenti SocialDIS e NeonMACRO, confutando l'ipotesi per cui tali modelli
possano risultare validi aumentando le dimensioni dell'area di simulazione.
143
Capitolo 6
Conclusioni
Nel lavoro svolto in questa tesi è stata condotta un'accurata analisi statistica che ha
permesso di stabilire quanto i contatti di prossimità, tracciati partendo dai modelli di
mobilità Random Waypoint (RWP) e Truncated Lévy Walk (TLW), riproducano proprietà
statistiche simili a quelle riscontrate nei dati ottenuti dagli esperimenti SocialDIS e
NeonMACRO. Tramite una piattaforma RFID-based sono stati collezionati i contatti
di prossimità tra persone in entrambi gli esperimenti. Da questi dati sono stati
costruiti dei grafi dinamici che mostrano l'evoluzione nel tempo delle interazioni
sociali tra individui.
I grafi dinamici costruiti sono stati analizzati sia in forma aggregata che in
forma dinamica, ossia 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à in prevalenza 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 essere eccessivamente lunghi.
144
Successivamente si sono investigate importanti differenze temporali indotte
dai modelli e presenti anche nelle tracce reali. I modelli RWP e TLW mostrano
significative correlazioni spaziali tra contatti distinti, contrariamente a quanto avviene
in SocialDIS e in NeonMacro, nei quali esse sono risultate di gran lunga inferiori.
Infine, attraverso l'implementazione di un semplice protocollo di flooding, si
è anche investigato su come un'informazione si diffonde tra le reti di contatti
dinamiche costruite a partire dai due modelli di mobilità e quelle generate a partire
dai due esperimenti sociali. Si è riscontrato che entrambi i modelli, proprio per
l'elevato numero di contatti che generano, non riproducono il comportamento
diffusivo osservato negli esperimenti SocialDIS e NeonMACRO.
6.1 Proposte di sviluppo future
Come è stato detto nel Capitolo 5, il comportamento delle persone registrato nei due
esperimenti sociali si discosta nettamente da quello prodotto dai due modelli di
mobilità, perché essi non tengono conto del fatto che:
1. le persone non scelgono casualmente la destinazione da raggiungere poichè
essa dipende dalle loro preferenze personali;
2. le persone tipicamente comunicano e si muovono più frequentemente con
persone con cui hanno un legame di conoscenza;
3. le persone entrano ed escono dal luogo dell'esperimento.
I primi due fattori possono essere affrontati fondendo ed utilizzando il modello di
mobilità Weighted Waypoint Mobility (illustrato nel paragrafo 2.1.8), dove le persone
scelgono la destinazione da raggiungere in base ad una determinata probabilità che
dipende da quanto esse tendono a visitarla, con il modello di mobilità Nomadic
Community Mobility Model (illustrato nel paragrafo 2.2.3), dove gruppi di nodi si
muovono da un punto ad un altro insieme, mentre nel punto in cui si trovano si
possono muovere individualmente come preferiscono. Quest'ultimo modello è
particolarmente adatto per simulare scenari come quelli del NeonMACRO, dove
gruppi di persone visitano un museo d'arte. Invece, per quanto concerne il terzo
fattore, viene proposta un'idea che potrebbe stare alla base di una versione adattata
dei modelli RWP e TLW, la quale tenta di simulare il fatto che gli individui possono
entrare ed uscire in qualsiasi momento dall'area di simulazione.
145
Si potrebbe rappresentare tale comportamento secondo una catena di Markov [66] a
due stati (mostrata in figura 6.1), dove un nodo può trovarsi in due stati differenti: lo
stato 0 rappresenta la sua esistenza nell'area di simulazione, mentre lo stato 1
rappresenta la sua assenza da tale area.
Fig.6.1: Diagramma di flusso della versione adattata del RWP e TLW Mobility
Model.
Utilizzando la seguente matrice di probabilità possiamo determinare l'esistenza di
uno specifico individuo in un'area 𝑋𝑚𝑎𝑥 × 𝑌𝑚𝑎𝑥 :
𝑃 = 𝑃(0,0) 𝑃(0,1)
𝑃(1,0) 𝑃(1,1)
Dove ciascun valore 𝑃(𝑎, 𝑏) rappresenta la probabilità che un nodo mobile passi
dallo stato 𝑎 allo stato 𝑏. L'esistenza o non esistenza di ciascun nodo nell'ambiente di
simulazione viene aggiornata in base ai valori della seguente matrice:
𝑃 = 1 − 𝑝 𝑝
𝑞 1 − 𝑞
Per trovare le probabilità dello stato stazionario, ossia la probabilità che a un certo
istante un nodo si trovi in uno dei due stati, dobbiamo calcolare il seguente limite:
lim𝑡→∞
𝑋0𝑃𝑡 = 𝑋
146
Dove 𝑋0𝑃𝑡 è la probabilità che al tempo t un nodo si trovi in un determinato stato a
partire dallo stato iniziale 𝑋0 e 𝑋 è la probabilità di stato stazionario. Calcolando tale
limite otteniamo che 𝑋 = (𝑞
𝑝+𝑞,
𝑝
𝑝+𝑞). Pertanto se si determinano le probabilità 𝑝 e 𝑞
analizzando le tracce di contatti ottenute nei casi SocialDIS e NeonMACRO, si
potrebbe costruire una versione adattata dei modelli di mobilità RWP e TLW che
potrebbe risultare più accurata nel catturare i comportamenti degli esperimenti sociali
proposti nella presente tesi.
Infine, per quanto riguarda il software sviluppato per effettuare le analisi
statistiche, bisogna tenere in considerazione che in futuro si potrebbe avere la
necessità di analizzare Contact Graph costruiti a partire da esperimenti sociali
particolarmente duraturi o comunque costituiti da milioni contatti.
Per questi casi computazionalmente onerosi, bisognerebbe adattare gli algoritmi che
calcolano le metriche per poter essere eseguiti su cluster di computer (dedicati o
cloud). Ad esempio una soluzione ragionevole potrebbe essere implementare le
metriche secondo MapReduce, un modello di programmazione per processare grandi
dataset in un grande sistema distribuito di computer [67].
147
Bibliografia
[1] A. Barrat and M. Barthelemy and R. Pastor-Satorras and A. Vespignani
(2004). "The architecture of complex weighted networks". Proceedings of the
National Academy of Sciences 101 (11): 3747–3752.
[2] D. J. Watts and Steven Strogatz (June 1998). "Collective dynamics of 'small-
world' networks". Nature 393 (6684): 440–442.
[3] J. L. Rodgers and W. A. Nicewander. Thirteen ways to look at the correlation
coefficient. The American Statistician, 42(1):59–66, February 1988.
[4] Stigler, Stephen M. (1989). "Francis Galton's Account of the Invention of
Correlation". Statistical Science 4 (2): 73–79.
[5] M. E. J. Newman. Assortative mixing in networks. Physical Review Letter,
89:208701, 2002.
[6] M. E. J. Newman. Mixing patterns in networks. Physical Review E,
67:026126,2003.
[7] M. E. J. Newman and Juyong Park. Why social networks are different from
other types of networks. Phys. Rev. E, 68(3):036122, Sep 2003.
[8] Afonso Ferreira. Building a reference combinatorial model for manets. IEEE
Network, 18(5):24-29, 2004
[9] Interval Tree http://en.wikipedia.org/wiki/Interval_tree