Metodi matematici per l’analisi di sistemi complessi

467 views

Published on

Introduzione alle strutture dati, ai metodi matematici, algoritmi e dati empirici su alcuni sistemi complessi presenti in natura.

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
467
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Metodi matematici per l’analisi di sistemi complessi

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  11. 11. Facebook Metodi matematici per l’analisi di sistemi complessi
  12. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  24. 24. Perturbation Analysis Simulazioni Metodi matematici per l’analisi di sistemi complessi
  25. 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. 26. Dalla teoria alla pratica Social Network Dalla teoria alla pratica Metodi matematici per l’analisi di sistemi complessi
  27. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  52. 52. Hijackers Network September 2001 Metodi matematici per l’analisi di sistemi complessi
  53. 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. 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. 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. 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. 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. 58. Dalla teoria alla pratica Q&A Metodi matematici per l’analisi di sistemi complessi

×