(Laboratorio di )Sistemi Informatici Avanzati
Giuseppe Manco
GRAFI
Teoria dei grafi
Grafi• Dimensione, ordine• Degree, degree distribution • Sottografi• Cammini, componenti• Geodetica• Alcuni grafi particolari• centralità
Grafi diretti• Diadi e triadi• Cmmini, geodetia,
componenti fortemente/debolmente connesse
• Centralità• Alcuni grafi diretti
particolari
Definizione
• Un grafo G è una coppia (V,E) di vertici (V) e archi (E)
Archi simmetrici
URLs su wwwChiamate telefonichemetabolic reactions
Grafo indiretto Digrafo
A
B
D
C
L
MF
G
H
I
Archi diretti
coauthorship linksActor networkprotein interactions
AG
F
BC
D
E
Dimensione, ordine
• Dimensione– Numero di nodi in V
• Ordine– Numero L di archi in E
Dimensione 7Ordine 8
2k inC 1k out
C 3Ck
AG
F
BC
D
E
A B
Grado• Il numero di archi in un grafo
• I grafi diretti definiscono in-degree e out-degree.
N
iik
Nk
1
1
outinN
1i
outi
outN
1i
ini
in kk ,kN1
k ,kN1
k
A
F
BC
D
E
j
i
Grado medio
Grafi completiOrdine massimo
Un grafo di ordine L=Lmax è un grafo completo
Il grado medio è
Sparsità
• Rapporto tra il numero effettivo di archi e il massimo numero di archi
L << Lmax or
<k> <<N-1.
WWW (ND Sample): N=325,729; L=1.4 106 Lmax=1012
<k>=4.51Protein (S. Cerevisiae): N= 1,870; L=4,470 Lmax=107
<k>=2.39 Coauthorship (Math): N= 70,975; L=2 105 Lmax=3 1010
<k>=3.9Movie Actors: N=212,250; L=6 106
Lmax=1.8 1013 <k>=28.78
(Sorgente: Albert, Barabasi, RMP2002)
Alcune reti
• Estrema sparsità
N L <k>
(Sorgente: : The structure and function of complex networks, M. E. J. Newman, SIAM Review 45, 167-256 (2003),
(Sorgente: Barabasi, http://spectrum.ieee.org/computing/networks/metcalfes-law-is-wrong)
Metcalfe’s law
Matrice di adiacenza
Aij=1 se esiste un arco (i,j)
4
2 3
12 3
1
4
Matrice di adiacenza
a b c d e f g ha 0 1 0 0 1 0 1 0b 1 0 1 0 0 0 0 1c 0 1 0 1 0 1 1 0d 0 0 1 0 1 0 0 0e 1 0 0 1 0 0 0 0f 0 0 1 0 0 0 1 0g 1 0 1 0 0 0 0 0h 0 1 0 0 0 0 0 0
b
e
g
a
c
f
h d
2 3
1
4
4
2 3
1
Grafi speciali
• Grafo vuoto con 5 nodi (Z5)
• Stella con 5 vertici
• Ciclico con 5 vertici
• Albero
• Foresta
3
Indiretto Digrafo
14
23
2
14
Actor network, protein-protein interactions WWW, citation networks
Non pesato Pesato
3
14
23
2
14
protein-protein interactions, www Call Graph, metabolic networks
auto-archi multigrafo
3
14
23
2
14
Protein interaction network, www Social networks, collaboration networks
Completo (K4)
3
14
2
Actor network, protein-protein interactions
I grafi reali
• WWW– multigrafo diretto, auto-archi
• Protein Interactions – Indiretto non pesato con auto-archi
• Collaboration network– Indiretto, multigrafo, pesato
• Chiamate a telefonia– Diretto, pesato
• Collegamenti Facebook – Indiretto
Grafo bipartito
• Nodi suddivisi in due gruppi– Nessun arco ammesso nello stesso gruppo
• Grafi completi bipartiti
Hollywood actor networkCollaboration networksDisease network (diseasome)
GENOME
PHENOMEDISEASOME
Goh, Cusick, Valle, Childs, Vidal & Barabási, PNAS (2007)
Sottografo
• Un sottoinsieme W di V che include tutti gli archi in E relativi a W
Diade
• Sottografo di due nodi
• Dyad census: (D0,D1)
Diade
N numero di coppie senza archiA numero di coppie con un solo arcoM numero di coppie con più archi
Dyad census: (M,A,N)
Triade
• Sottografo di dimensione 3
Triade
• Tryad census: il conteggio dei 16 tipi di grafi elencati sopra
Cammini
• Un cammino è una sequenza di nodi adiacenti (ovvero, collegati da un arco)
1.2.41.3.5.61.3.4.5.7
1.22.11.3.44.2.1.3
Nij numero di cammini tra i e j
Cammini tra due nodi
Raggiungibilità
• Se esiste un cammino da A a B, allora B è raggiungibile da A
• Se ogni vertice è raggiungibile da un altro, allora il grafo è connesso
Componenti connesse
• Una componente connessa di un grafo indiretto è un sottografo massimale connesso
DC
A
B
Componenti connesse
• Se ogni nodo di un digrafo è raggiungibile da un altro, allora il grafo è fortemente connesso
• Se ogni nodo di un digrafo è raggiungibile da un altro senza considerare il verso degli archi, allora il grafo è debolmente connesso
• Una componente connessa (debolmente/fortemente) è un sottografo massimale (debolmente/fortemente) connesso
La matrice di adiacenza di un grafo con molte componenti può essere rappresentata a blocchi
Connettività, componenti
La componente gigante• Una componente che racchiude la maggior parte del grafo
La distanza geodetica (geodesic path) tra due nodi è il
cammino di lunghezza minima tra questi due nodi
*se i due nodi sono sconnessi, la distanza è infinita
Nei digrafi il verso conta
La distanza tra A e B può essere diversa da quella tra B e A
DC
A
B
DC
A
B
Distanza
dmax la distanza massima tra una coppia di nodi nel grafo.
Distanza media, <d>, per un grafo connesso:
dij è la distanza tra i e j
Su un grafo indiretto, dij =dji , quindi
Diametro, distanza media
N L <k>
(Sorgente: : The structure and function of complex networks, M. E. J. Newman, SIAM Review 45, 167-256 (2003),
MISURE SU GRAFI
Cutpoints
• Un vertice è un cutpoint se la sua rimozione aumenta le componenti di un grafo
Ponti
• Un arco è un bridge (ponte) se la sua rimozione aumenta le componenti
– Grafo senza ponti
Connettività
• La connettività di un grafo G è il minimo numero di nodi che bisogna eliminare per rendere il grafo disconnesso
Connettività (archi)
• Il minimo numero di archi da eliminare per rendere il grafo disconnesso
Edge-connectivity
Connectivity
Centralità
• Il grado di centralità (potenziale di comunicazione) è il grado (normalizzato) di un nodo
Closeness
• Potenziale di comunicazione indipendente
Betweeness
• Il numero di cammini che contengono a
Coefficiente di clustering
• Quanti dei tuoi vicini sono connessi da un arco?
• Alternativamente
Nodi su una linea
N L <k>
(Sorgente: : The structure and function of complex networks, M. E. J. Newman, SIAM Review 45, 167-256 (2003),
Degree distributionDegree distribution P(k): probabilità che un vertice scelto in maniera
casuale abbia grado k
Nk = # nodi di grado kP(k) = Nk / N
k
P(k)
1 2 3 4
0.10.20.30.40.50.6
Degree distribution e reti reali
• Right-skewed– Una coda lunga di valori molto lontani dal valore
medio– Complicata da misurare
• Istogrammi su scale esponenziali– Power laws
Cumulative degree distribution
(Sorgente: : The structure and function of complex networks, M. E. J. Newman, SIAM Review 45, 167-256 (2003)
Power laws
• Probabilità di un valore che varia in misura inversamente proporzionale ad una potenza di quel valore
Distribuzioni classiche
Distribuzioni power law
Distribuzioni power law
• Poche città con una grande popolazione, molte città con una popolazione piccola– 40 città della dimensione di New York– 2700 città con meno di 110,000.
• Plottando l’istogramma, su scale logaritmiche, otteniamo una linea retta
Power law
• Possiamo rappresentare gli istrogrammi con
• Se p(x) rappresenta la distribuzione tra x e x + dx– E l’istogramma è una linea in scala log-log
Power law
• Piccole occorrenze estremamente comuni• Grandi occorrenze molto rare• Occorrono in diversi fenomeni
– city populations– Grado dei terremoti, crateri lunari, tempeste solari– computer files– Frequenze d’uso delle parole nel linguaggio umano– Il numero di articoli che un ricercatore scrive– Il numero di citazioni di un articolo– Il numero di link di una pagina web– Le vendite di un libro– …
Power law: Social networks
Numero di azioni che un utente compie (digg) Numero di amicizie (flixster)
Plottare le power-laws• α = 2.5• Istogramma con equal binning
La scala lineare
0 2 4 6 8 10 12 14 16 18 200
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5x 10
5
integer value
frequ
ency
• La relazione power-law non apparente• Ha senso se si guarda a pochi bin
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5x 10
5
integer value
frequ
ency
Intero rangeRange limitato
Log-log plot
• Le potenze spaziate in maniera uniforme
1 2 3 10 20 30 100 200
20=1, 21=2, 22=4, 23=8, 24=16, 25=32, 26=64, ….
Log-log plot
• Metodo più comune• Non necessariamente accurato
ln(x)
ln (# di occorrenze di x)
Plottare le power laws
Molte osservazioniquando x < 10
Rumore sulla coda, molta variabilità
Logarithmic binning
• La size dei bin aumenta in progressione geometrica– 0.1, 0,2, 0.4, ….
• Normalizzazione: il numero di elementi in un intervallo di ampiezza Δx va diviso per Δx stesso per rendere il conteggio unitario– Il dato normalizzato diventa indipendente
dall’ampiezza
Plottare le power laws
• Logarithmic binning
Ancora rumore
Distribuzione cumulativa
• Nessuna perdita di informazione– P(x) = P(X>x)– Il risultato è ancora una power-law con esponente
α – 1.
Plottare le power laws
• Cumulative distribution
Power laws, Pareto distribution, Zipf's law
• Le distribuzioni cumulative sono anche chiamate rank/frequency distributions.
• Le cumulative che seguono una powe law sono anche dette Zipf o Pareto– “Zipf’s law” e“Pareto distribution” sono sinonimi di
“power-law distribution”. • Le differenze sono essenzialmente nel plot
– Zipf x sull’asse orizzontale, P(x) su quello verticale– Pareto al contrario
Cumulative, rank/frequency
• Si ordinano le misurazioni– Si plotta il rank sulla misurazione
Stimare una power-law
• Va individuato il valore xmin da cui la power-law comincia
• xmin è maggiore di 0– Perché?
Stimare α dai dati
• Si trova lo slope direttamente dalla linea– Nell’esempio precedente, il logarithmic binning produce α
= 2.26 ± 0.02 • Si estrae l’esponente utilizzando la formula
– α = 2.500 ± 0.002 nell’esempio precedente
Esempi di power laws
N L <k>
(Sorgente: : The structure and function of complex networks, M. E. J. Newman, SIAM Review 45, 167-256 (2003),
Non tutto è una power law
Non tutto è una power law
• Exponential tails
– Distribuzione cumulativa ancora esponenziale– Semi-logarithmic plot
Maximum degree
• Il grado oltre il quale non ci sono più nodi
• Su una power-law, otteniamo
– Stima approssimativa
Maximum degree
• Una stima più accurata– Un grafo con esattamente m vertici di grado k e
nessun vertice di grado maggiore di k ha probabilità
– Probabilità che il grado più alto sia k
Resilience
• Studio della connettività• Se alcuni vertici sono rimossi, la lunghezza dei
cammini aumenta– Alcuni nodi divengono disconnessi
• Livello di resilience correlato alla distanza media– Epidemiologia– Robustezza ad attacchi
Uno studio
• World Wide Web– Un frammento di 326.000 pagine– Distribuzione Power-law
• Due strategie di removal– Random– Rimozione progressiva dei vertici di grado più alto
Risultato
• Cosa possiamo concludere?
Risultato
• Cosa possiamo concludere?– Alta tollerabilità ai “fallimenti” random– Estrema vulnerabilità ai “fallimenti” degli hub