Metodi matematici per l’analisi di sistemi complessi
1. Metodi matematici per l’analisi di sistemi
complessi
Possamai Lino
Dipartimento di Matematica
Università degli Studi di Padova
23 marzo 2009
Metodi matematici per l’analisi di sistemi complessi
2. Introduzione
Graph theory
Un grafo è una coppia G=(V,E) di
insiemi in cui V={v1, ..., vn} sono i nodi
mentre E={..., (vi , vj ), ...} rappresentano
gli archi.
Un grafo G può essere orientato
(diretto) oppure no. Nel primo caso, se
(u, v) ∈ E allora non è detto che valga
anche (v, u) ∈ E. Nei grafi non
orientati, (u, v) ∈ E ⇔ (v, u) ∈ E
Si definisce cammino p da a ; b un
insieme di nodi {a, x1, ..., xn, b} o
equivalentemente un insieme di archi
tale che {(a, x1), ..., (xn, b)}.
Metodi matematici per l’analisi di sistemi complessi
3. Introduzione
Graph theory
Un grafo si dice pesato se esiste la funzione w : E → R.
Il peso di un cammino p è rappresentato da
pw(p) =
k
i=1 w(xi−1, xi).
Se il grafo non è pesato, allora si può assumere che
w(a) = 1, ∀a ∈ E.
Per ogni coppia di nodi u, v è possibile definire la distanza
minima
δ(u, v) =
∞
min{pw(p) | p cammino tra u e v}
Una volta calcolata la distanza tra δ tra ogni coppia di nodi, il
valore (finito) più grande rappresenta il diametro di G.
Metodi matematici per l’analisi di sistemi complessi
4. Introduzione
Strutture Dati
Ci sono diversi modi per
rappresentare
analiticamente un grafo
mediante matrici
binarie n × n {aij } in
cui aij = 1 se il nodo i
è adiacente al nodo j,
0 altrimenti.
mediante liste di
adiacenza.
Molto spesso la scelta di
uno rispetto all’altro
dipenderà dall’algoritmo
utilizzato e dal fatto che il
grafo sia denso oppure
sparso
Metodi matematici per l’analisi di sistemi complessi
5. Introduzione
Strutture Dati
Esistono altre strutture dati
che rappresentano un
grafo in maniera compatta
Per alcuni algoritmi di visita
dei grafi, come il Breadth
First Search, utilizzato
molto spesso nel calcolo
delle metriche, risulta la
più efficiente
Adatta anche per il calcolo
GPGPU
Metodi matematici per l’analisi di sistemi complessi
6. Degree
Medio, in/out
Il grado di un nodo rappresenta la somma dei nodi adiacenti a se
stesso. Formalmente, se il grafo non è diretto (topologico):
ki =
j
aij k = i ki
n
=
2k
n − 1
Rispettivamente, se il grafo è orientato,
kin
i =
j
aji kout
i =
j
aij
per cui ki = kout
i + kin
i .
Metodi matematici per l’analisi di sistemi complessi
7. Distribuzione P(k) del grado dei nodi
Connettività
È la probabilità che un
nodo scelto a caso abbia
grado k o
equivalentemente la
frazione dei nodi di grado k
È fondamentale per
caratterizzare la topologia
del grafo che si sta
analizzando.
Nel caso di grafi diretti, ci
saranno due distribuzioni
P(kin
) e P(kout
).
Metodi matematici per l’analisi di sistemi complessi
8. Shortest path (L)
L è una metrica che rappresenta la distanza media di
separazione tra ogni coppia di nodi presenti in G:
L(G) =
1
n(n − 1)
i=j∈G
δij
Rappresenta una caratteristica globale della rete.
Quando il grafo non è connesso, L → ∞. In questi casi si tende
a considerare il giant cluster (connesso).
Metodi matematici per l’analisi di sistemi complessi
9. Esempio
a ; b = 1, a ; c = 11, a ; d =
5, a ; e = 3
b ; a = 1, b ; c = 13, b ; d =
6, b ; e = 4
c ; a = 11, c ; b = 13, c ;
d = 6, c ; e = 8
d ; a = 5, d ; b = 6, d ; c =
6, d ; e = 2
L ≈ 5
Metodi matematici per l’analisi di sistemi complessi
10. Indice di clusterizzazione (C)
Non è sufficiente L per descrivere
quanto un grafo sia connesso
localmente
Si può utilizzare per esempio il
coefficiente di clustering locale Ci
Ci =
# of edges in Gi
ki (ki − 1)/2
e mediarlo rispetto al numero di
nodi n in G, per cui
C(G) =
1
n
i∈G
Ci
Metodi matematici per l’analisi di sistemi complessi
12. Efficienza
Globale e locale
L’efficienza, viceversa, può essere calcolata anche quando il grafo è
disconnesso (nei grafi reali questo succede molto spesso) evitando le
situazioni in cui L diverge
Eglob = E(G) =
i=j∈G ij
n(n − 1)
=
1
n(n − 1)
i=j∈G
1
δij
Metodi matematici per l’analisi di sistemi complessi
13. Esempio
a ; b = 1, a ; c = 1/11, a ;
d = 1/5, a ; e = 1/3
b ; a = 1, b ; c = 1/13, b ;
d = 1/6, b ; e = 1/4
c ; a = 1/11, c ; b =
1/13, c ; d = 1/6, c ; e = 1/8
d ; a = 1/5, d ; b = 1/6, d ;
c = 1/6, d ; e = 1/2
Eglob ≈ 0.23
Metodi matematici per l’analisi di sistemi complessi
14. Efficienza
Globale e locale
Dato che l’efficienza è una metrica calcolata a partire da qualsiasi un
grafo, la possiamo utilizzare per analizzare le proprietà locali, in
particolare considerando sottografi di G:
Eloc =
1
N
i∈G
E(Gi )
con Gi sottografo indotto dai vicini del nodo i.
Se il grafo non è pesato, allora Eglob, Eloc ∈ [0, 1] mentre se lo è (ed in
particolar modo quando i pesi sono in [0, 1)), bisogna normalizzare le
precedenti formule:
Eglob =
E(G)
E(Gideal )
Eloc =
1
N
i∈G
E(Gi )
E(Gideal
i )
dove Gideal
i è il sottografo Gi completamente connesso.
Metodi matematici per l’analisi di sistemi complessi
15. Costo
Molto spesso, instaurare una connessione di una certa portata
(rete di flusso) ha un costo.
Se vogliamo confrontare reti che hanno la stessa efficienza
(globale) e vedere quale ha il costo minore, allora
Cost(G) =
i=j∈G aij γ(δij )
i=j∈G γ(δij )
dove γ rappresenta la funzione che calcola il costo che bisogna
sostenere per costruire una connessione di tale portata.
Quando il grafo non è pesato, C sarà pari a 2k
n(n−1)
La variabile costo è molto importante perché nelle reti reali le
risorse sono limitate per cui la crescita delle reti deve essere un
tradeoff tra performance(efficienza) ed economicità.
Metodi matematici per l’analisi di sistemi complessi
16. Random networks
All’inizio si pensava che i sistemi complessi fossero
correttamente approssimati da una rete random.
La specifica di queste reti (modello) avviene mediante l’utilizzo
di un parametro p che rappresenta la probilità che due qualsiasi
nodi siano collegati e dal numero n di nodi.
Quando n è grande, il grado medio di connettività tra i nodi
k = np e P(k) è approssimata da una legge di Poisson:
P(k) =
k
k
k!
e− k
Inoltre, vale |E| = p(n(n − 1)/2).
Metodi matematici per l’analisi di sistemi complessi
17. Small-World networks
Nel 1967 il sociologo Milgram, grazie ad alcuni esperimenti, ha
notato che l’utilizzo delle reti random come approssimazione
delle reti reali non era corretto.
Le reti che aveva analizzato avevano L molto bassa e C alto,
efficienza globale e locale alta rispettivamente per le due serie di
metriche proposte
Metodi matematici per l’analisi di sistemi complessi
18. Small-World networks
I modelli che sono utilizzati per creare queste reti partono da un
lattice di cardinalità n in cui ogni nodo è collegato con gli
immediati vicini.
Successivamente, vengono ridisegnati alcuni archi rispetto ad
una probabilità p.
Rappresenta una rete mista di regolarità e di casualità
Metodi matematici per l’analisi di sistemi complessi
19. Scale-free Networks
Le reti scale-free rappresentano
un’evoluzione delle reti
small-world. Hanno le stesse
proprietà delle reti small-world
ed in più:
Presenza di nodi con
grado elevato (hub)
P(k) segue la legge della
potenza P(k) ∼ c · k−γ
con c costante di
proporzionalità e γ
coefficiente della legge di
potenza.
Per ragioni ancora
sconosciute, per le reti SF
vale γ ∈ [2, 3]
Metodi matematici per l’analisi di sistemi complessi
20. Correlated graphs
Assortative/disassortative.
Se si vuole sapere come si collegano gli
archi della rete,
knn,i =
1
ki
j∈Ni
kj =
1
ki
n
j=1
aij kj
knn(k) =
k
k P(k |k)
dove P(k |k) è la probabilità
condizionata che un link di un nodo con
grado k sia collegato ad un nodo con
grado k .
Rimane tutt’ora sconosciuto il motivo
per cui le reti biologiche e tecnologiche
siano disassortative mentre quelle
sociali assortative.
Metodi matematici per l’analisi di sistemi complessi
21. Perturbation Analysis
Le metriche presentate fino ad ora sono uno snapshot in un
determinato istante t della vita di un sistema complesso,
biologico, sociale o tecnologico che sia.
Possiamo quindi utilizzare per vedere cosa succede al variare di
t e al variare della configurazione del sistema.
Nel caso della perturbation analysis, vogliamo capire cosa
succede nel caso di eliminazione di nodi e cosa succede con le
topologie smallworld/scalefree.
Metodi matematici per l’analisi di sistemi complessi
22. Perturbation Analysis
Failure
L’attacco non tiene conto
fondamentalmente della
topologia della rete
L’ordine con cui vengono
tolti gli archi è totalmente
casuale
Le reti scalefree
mantengono un’efficienza
molto alta anche quando si
rimuove più della metà dei
nodi.
Metodi matematici per l’analisi di sistemi complessi
23. Perturbation Analysis
Attack
Questa simulazione si basa sulla
creazione di una graduatoria di
nodi che possono essere
eliminati dal sistema.
I nodi vengono ordinati in base
all’efficienza globale calcolata
sulla rete da cui viene tolto quel
nodo.
Viene quindi tolto in sequenza il
nodo con l’effetto distruttivo
maggiore.
Nelle reti scalefree, a differenza
delle reti casuali, dopo aver
rimosso una piccola percentuale
di nodi, la rete perde
velocemente la connettività.
Metodi matematici per l’analisi di sistemi complessi
25. Analisi Telescopica
Prende spunto dal concetto di potere
risolutivo dell’occhio umano, cioè la
capacità di vedere distinti due punti
molto vicini
Si fa in modo che l’algoritmo simuli la
topologia della rete al variare della
distanza (fuzziness) e vedere come
variano le proprietà, identificando il
punto in cui viene il cambiamento
Metodi matematici per l’analisi di sistemi complessi
26. Dalla teoria alla pratica
Social Network
Dalla teoria alla pratica
Metodi matematici per l’analisi di sistemi complessi
27. Riassunto metriche
Ricapitolando le metriche importanti sono:
k , P(k) (versioni in/out)
L, distanza di separazione media
C, indice di clusterizzazione
Eglob, efficienza globale
Eloc, efficienza locale
Costo
Costo/Eglob
knn(k)
Metodi matematici per l’analisi di sistemi complessi
28. Riassunto metriche
Ricapitolando le metriche importanti sono:
k , P(k) (versioni in/out)
L, distanza di separazione media
C, indice di clusterizzazione
Eglob, efficienza globale
Eloc, efficienza locale
Costo
Costo/Eglob
knn(k)
Metodi matematici per l’analisi di sistemi complessi
29. Riassunto metriche
Ricapitolando le metriche importanti sono:
k , P(k) (versioni in/out)
L, distanza di separazione media
C, indice di clusterizzazione
Eglob, efficienza globale
Eloc, efficienza locale
Costo
Costo/Eglob
knn(k)
Metodi matematici per l’analisi di sistemi complessi
30. Riassunto metriche
Ricapitolando le metriche importanti sono:
k , P(k) (versioni in/out)
L, distanza di separazione media
C, indice di clusterizzazione
Eglob, efficienza globale
Eloc, efficienza locale
Costo
Costo/Eglob
knn(k)
Metodi matematici per l’analisi di sistemi complessi
31. Riassunto metriche
Ricapitolando le metriche importanti sono:
k , P(k) (versioni in/out)
L, distanza di separazione media
C, indice di clusterizzazione
Eglob, efficienza globale
Eloc, efficienza locale
Costo
Costo/Eglob
knn(k)
Metodi matematici per l’analisi di sistemi complessi
32. Riassunto metriche
Ricapitolando le metriche importanti sono:
k , P(k) (versioni in/out)
L, distanza di separazione media
C, indice di clusterizzazione
Eglob, efficienza globale
Eloc, efficienza locale
Costo
Costo/Eglob
knn(k)
Metodi matematici per l’analisi di sistemi complessi
33. Riassunto metriche
Ricapitolando le metriche importanti sono:
k , P(k) (versioni in/out)
L, distanza di separazione media
C, indice di clusterizzazione
Eglob, efficienza globale
Eloc, efficienza locale
Costo
Costo/Eglob
knn(k)
Metodi matematici per l’analisi di sistemi complessi
34. Riassunto metriche
Ricapitolando le metriche importanti sono:
k , P(k) (versioni in/out)
L, distanza di separazione media
C, indice di clusterizzazione
Eglob, efficienza globale
Eloc, efficienza locale
Costo
Costo/Eglob
knn(k)
Metodi matematici per l’analisi di sistemi complessi
35. Dalla teoria alla pratica
Reti analizzate e risultati ottenuti
Analisi di reti:
Sociali: Communities.com / VirtualTourist.com
Neurali: Macaco / Gatto / C.elegans
Comunicazione: WWW ed internet
Trasporto: Boston underground
Perturbation analysis
Metodi matematici per l’analisi di sistemi complessi
36. Dalla teoria alla pratica
Reti analizzate e risultati ottenuti
Analisi di reti:
Sociali: Communities.com / VirtualTourist.com
Neurali: Macaco / Gatto / C.elegans
Comunicazione: WWW ed internet
Trasporto: Boston underground
Perturbation analysis
Metodi matematici per l’analisi di sistemi complessi
37. Dalla teoria alla pratica
Reti analizzate e risultati ottenuti
Analisi di reti:
Sociali: Communities.com / VirtualTourist.com
Neurali: Macaco / Gatto / C.elegans
Comunicazione: WWW ed internet
Trasporto: Boston underground
Perturbation analysis
Metodi matematici per l’analisi di sistemi complessi
38. Dalla teoria alla pratica
Reti analizzate e risultati ottenuti
Analisi di reti:
Sociali: Communities.com / VirtualTourist.com
Neurali: Macaco / Gatto / C.elegans
Comunicazione: WWW ed internet
Trasporto: Boston underground
Perturbation analysis
Metodi matematici per l’analisi di sistemi complessi
39. Dalla teoria alla pratica
Reti analizzate e risultati ottenuti
Analisi di reti:
Sociali: Communities.com / VirtualTourist.com
Neurali: Macaco / Gatto / C.elegans
Comunicazione: WWW ed internet
Trasporto: Boston underground
Perturbation analysis
Metodi matematici per l’analisi di sistemi complessi
40. Dalla teoria alla pratica
Reti analizzate e risultati ottenuti
Analisi di reti:
Sociali: Communities.com / VirtualTourist.com
Neurali: Macaco / Gatto / C.elegans
Comunicazione: WWW ed internet
Trasporto: Boston underground
Perturbation analysis
Metodi matematici per l’analisi di sistemi complessi
41. Dalla teoria alla pratica
Social Network
Graficamente difficili da rappresentare quando la taglia della rete è
grande
La rete non è connessa per cui le metriche L e C verranno calcolate sul
cluster più grande.
Metodi matematici per l’analisi di sistemi complessi
42. Social Networks
Risultati
Rete |V| |E| k dmax L C
Communities 12.479 60.209 9.64 656 4.18 0.1067
VirtualTourist 57.639 211.415 7.34 963 4.95 0.0442
C’è una certa relazione tra k e L. Più è grande il primo, più è
probabile che L sia basso perché ci saranno più connessioni
Un valore basso di L indica che con pochi passi si può andare da due
qualsiasi zone remote della rete. Questo indica la presenza di diversi
archi di lungo raggio che collegano i cluster.
L’indice di clusterizzazione (C) è pari a 0.10, cioè ogni nodo (in media)
avrà una rete di vicini che è collegata al 10%.
Metodi matematici per l’analisi di sistemi complessi
43. Social Networks
Risultati
Rete Eglob Eloc Cost Costo/Eglob
Communities 0.238 0.1314 0.0007 0.0032
VirtualTourist 0.201 0.0562 0.0001 0.0006
Globalmente la rete funziona allo stesso modo; alti valori di E glob (da
notare che è pari a 1 quando G è completo).
Localmente, VirtualTourist è meno connesso perché ha anche meno
archi (lo si vede dal costo!)
Se vediamo C/E, VT è la rete più economica ed efficiente allo stesso
tempo
Metodi matematici per l’analisi di sistemi complessi
44. Random Network
Rete Eglob Eloc dmax L C k
Communities 0.238 0.1314 656 4.18 0.1067 9.64
Random 0.223 0.0007 22 4.46 0.0007 8
La topologia random si identifica subito dallo calcolo delle metriche
Assenza di nodi hub (grado max)
Eloc bassissima
Grafico P(k)
Grafico associatività
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0 5 10 15 20 25
P(k)
k
Degree Distribution
degree
1
10
1 10 100
knn(k)
k
Network Correlation
knn
1
10
1 10 100
P(k)
k
Degree Distribution
degree
Metodi matematici per l’analisi di sistemi complessi
45. Network Correlation
Proprietà assortative/disassortative possono avere effetto sulla
topologia della rete
Assortative tende a separare la rete in comunità (fig. a)
Disassortative: gli hub si collegano con nodi di grado basso (fig. b - rete
di interazione tra proteine - yeast)
Metodi matematici per l’analisi di sistemi complessi
46. Neural Networks
Connessioni tra neuroni
Rete Eglob Erandom
glob Eloc Erandom
loc Cost
Macaque 0.52 0.57 0.70 0.35 0.18
Cat 0.69 0.69 0.83 0.67 0.38
Unweighted: alta efficienza globale e locale (fault tolerance) con un
costo contenuto, si utilizzano solamente 18% e 36% di tutti i possibili
archi.
Eglob uguale rispetto alla versione random, mentre E loc più grande: ogni
regione della corteccia celebrale è mescolata con il resto e ha seguito
una crescita a metà tra costo, fault tolerance e interazioni tra regioni
Metodi matematici per l’analisi di sistemi complessi
47. Neural Networks
Connessioni tra neuroni
Rete Eglob Erandom
glob Eloc Erandom
loc Cost
C. elegans 0.46 0.48 0.47 0.12 0.06
Rete Eglob Eloc Cost
C. elegans (weighted) 0.35 0.34 0.18
Se confrontiamo la rete C. elegans, notiamo come il valore di E glob sia
uguale a quello di Eloc sintomo che la rete si comporta nello stesso
modo sia globalmente che localmente
Essendo un multigrafo, il peso degli archi è dato dal reciproco del
numero di collegamenti
Metodi matematici per l’analisi di sistemi complessi
48. Communication Network
WWW e Internet
Rete Eglob Erandom
glob Eloc Erandom
loc Cost
WWW 0.28 0.28 0.36 0.000001 0.00002
Internet 0.29 0.30 0.26 0.0005 0.006
Sebbene il WWW sia una rete virtuale mentre Internet fisica, a livello
globale trasportano informazione allo stesso livello
A livello locale, la tendenza alla creazione di comunità nel caso del
WWW, porta ad avere un valore di Eloc più grande
Se confrontiamo i valori del Costo rispetto alle altre reti, vediamo come
l’economicità è il principio base nella costruzione di reti di questo tipo.
Metodi matematici per l’analisi di sistemi complessi
49. Reti di trasporto
Rete Eglob Eloc Cost
MBTA 0.63 0.03 0.002
MBTA + bus 0.72 0.46 0.004
Molto efficiente globalmente (manca solo il
37% per la rete ideale)
Povera localmente: non è fault tolerant. Un
danneggiamento in una stazione provoca
una forte diminuzione dell’efficienza tra la
stazione precedente e la successiva.
Metodi matematici per l’analisi di sistemi complessi
50. Reti di trasporto
Rete Eglob Eloc Cost
MBTA 0.63 0.03 0.002
MBTA + bus 0.72 0.46 0.004
Costo molto basso: è il prezzo da pagare
per la mancanza di ridondanza.
Non si considera la ridondanza durante la
costruzione perché la rete metropolitana è
un sottosistema di uno che comprende altre
reti come quella dei bus.
Metodi matematici per l’analisi di sistemi complessi
51. Network Failure
Removed Node E(G − nodei) ∆E/E k
1 New Jersey 0.1155 0.573 9
2 NYC 0.1270 0.530 9
3 Chicago 0.1947 0.280 15
4 Amsterdam 0.2051 0.241 9
5 Atlanta 0.2088 0.227 14
6 Washington 0.2152 0.203 2
Eglob originale è pari a 0.2701
Metodi matematici per l’analisi di sistemi complessi
53. Hijackers Netwok
September 2001
Removed Node E(G − nodei) ∆E/E k
1 Mohamed Atta 0.4291 0.150 16
2 Salem Alhazmi 0.4484 0.112 8
3 Hani Hanjour 0.4554 0.098 10
4 Mamoun Darkazanli 0.4586 0.091 4
5 Marwan Al-Shehhi 0.4587 0.091 14
6 Nawaf Alhazmi 0.4611 0.203 9
Eglob originale è pari a 0.5047
Da notare come persone con grado molto basso (4) siano molto alte in
classifica
Metodi matematici per l’analisi di sistemi complessi
54. Campionamento
Abbiamo avuto la necessità, per ragioni computazionali, di limitare la
rete in questione e abbiamo deciso di effettuare un campionamento
della rete
Rete |V| |E| k dmax L C
VirtualTourist 57.639 211.415 7.34 963 4.95 0.0442
VT Camp 1 10.000 22.262 4.45 243 5.77 0.0371
VT Camp 2 10.000 21.441 4.28 187 5.79 0.0301
Rete Eglob Eloc Cost C/Eglob
VirtualTourist 0.201 0.0562 0.0001 0.0006
VT Camp 1 0.173 0.0371 0.0004 0.0025
VT Camp 2 0.172 0.0357 0.0004 0.0024
Metodi matematici per l’analisi di sistemi complessi
55. Campionamento
Con 1/6 dei nodi, L aumenta solamente del 16%. Anche C diminuisce
del 16%.
Efficienza globale e locale diminuiscono solo marginalmente
Il costo è aumentato perché togliendo una frazione dei nodi, non
corrisponde a togliere la stessa frazione degli archi.
P(k) rimane sostanzialmente inalterata
Metodi matematici per l’analisi di sistemi complessi
56. Campionamento
(a)
10^-5
10^-4
10^-3
10^-2
10^-1
10^0
10^0 10^1 10^2 10^3
P(k)
k
degree distribution of vtCamp40k.net network
degree
(b)
10^-5
10^-4
10^-3
10^-2
10^-1
10^0
10^0 10^1 10^2 10^3
P(k)
k
degree distribution of vtCamp25k.net network
degree
(c)
10^-5
10^-4
10^-3
10^-2
10^-1
10^0
10^0 10^1 10^2 10^3
P(k)
k
degree distribution of vtCamp20k.net network
degree
(d)
Metodi matematici per l’analisi di sistemi complessi
57. Campionamento
10^-4
10^-3
10^-2
10^-1
10^0
10^0 10^1 10^2 10^3
P(k)
k
degree distribution of vtCamp10k.net network
degree
(e)
10^-4
10^-3
10^-2
10^-1
10^0
10^0 10^1 10^2 10^3
P(k)
k
degree distribution of vtCamp5k.net network
degree
(f)
Da notare come all’aumentare del numero di nodi eliminati, P(k) ha la
stessa caratteristica
In un certo senso il campionamento rappresenta un network failure
Metodi matematici per l’analisi di sistemi complessi
58. Dalla teoria alla pratica
Q&A
Metodi matematici per l’analisi di sistemi complessi