( Laboratorio di ) Sistemi Informatici Avanzati

88
(Laboratorio di ) Sistemi Informatici Avanzati Giuseppe Manco

description

( Laboratorio di ) Sistemi Informatici Avanzati. Giuseppe Manco. Grafi. Teoria dei grafi. Grafi. Grafi diretti. Diadi e triadi Cmmini , geodetia , componenti fortemente / debolmente connesse Centralità Alcuni grafi diretti particolari. Dimensione , ordine - PowerPoint PPT Presentation

Transcript of ( Laboratorio di ) Sistemi Informatici Avanzati

Page 1: ( Laboratorio  di ) Sistemi Informatici Avanzati

(Laboratorio di )Sistemi Informatici Avanzati

Giuseppe Manco

Page 2: ( Laboratorio  di ) Sistemi Informatici Avanzati

GRAFI

Page 3: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 4: ( Laboratorio  di ) Sistemi Informatici Avanzati

Definizione

• Un grafo G è una coppia (V,E) di vertici (V) e archi (E)

Page 5: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 6: ( Laboratorio  di ) Sistemi Informatici Avanzati

Dimensione, ordine

• Dimensione– Numero di nodi in V

• Ordine– Numero L di archi in E

Dimensione 7Ordine 8

Page 7: ( Laboratorio  di ) Sistemi Informatici Avanzati

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.

Page 8: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 9: ( Laboratorio  di ) Sistemi Informatici Avanzati

Grafi completiOrdine massimo

Un grafo di ordine L=Lmax è un grafo completo

Il grado medio è

Page 10: ( Laboratorio  di ) Sistemi Informatici Avanzati

Sparsità

• Rapporto tra il numero effettivo di archi e il massimo numero di archi

Page 11: ( Laboratorio  di ) Sistemi Informatici Avanzati

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à

Page 12: ( Laboratorio  di ) Sistemi Informatici Avanzati

N L <k>

(Sorgente: : The structure and function of complex networks, M. E. J. Newman, SIAM Review 45, 167-256 (2003),

Page 13: ( Laboratorio  di ) Sistemi Informatici Avanzati

(Sorgente: Barabasi, http://spectrum.ieee.org/computing/networks/metcalfes-law-is-wrong)

Metcalfe’s law

Page 14: ( Laboratorio  di ) Sistemi Informatici Avanzati

Matrice di adiacenza

Aij=1 se esiste un arco (i,j)

4

2 3

12 3

1

4

Page 15: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 16: ( Laboratorio  di ) Sistemi Informatici Avanzati

2 3

1

4

4

2 3

1

Page 17: ( Laboratorio  di ) Sistemi Informatici Avanzati

Grafi speciali

• Grafo vuoto con 5 nodi (Z5)

• Stella con 5 vertici

• Ciclico con 5 vertici

Page 18: ( Laboratorio  di ) Sistemi Informatici Avanzati

• Albero

• Foresta

Page 19: ( Laboratorio  di ) Sistemi Informatici Avanzati

3

Indiretto Digrafo

14

23

2

14

Actor network, protein-protein interactions WWW, citation networks

Page 20: ( Laboratorio  di ) Sistemi Informatici Avanzati

Non pesato Pesato

3

14

23

2

14

protein-protein interactions, www Call Graph, metabolic networks

Page 21: ( Laboratorio  di ) Sistemi Informatici Avanzati

auto-archi multigrafo

3

14

23

2

14

Protein interaction network, www Social networks, collaboration networks

Page 22: ( Laboratorio  di ) Sistemi Informatici Avanzati

Completo (K4)

3

14

2

Actor network, protein-protein interactions

Page 23: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 24: ( Laboratorio  di ) Sistemi Informatici Avanzati

Grafo bipartito

• Nodi suddivisi in due gruppi– Nessun arco ammesso nello stesso gruppo

• Grafi completi bipartiti

Hollywood actor networkCollaboration networksDisease network (diseasome)

Page 25: ( Laboratorio  di ) Sistemi Informatici Avanzati

GENOME

PHENOMEDISEASOME

Goh, Cusick, Valle, Childs, Vidal & Barabási, PNAS (2007)

Page 26: ( Laboratorio  di ) Sistemi Informatici Avanzati

Sottografo

• Un sottoinsieme W di V che include tutti gli archi in E relativi a W

Page 27: ( Laboratorio  di ) Sistemi Informatici Avanzati

Diade

• Sottografo di due nodi

• Dyad census: (D0,D1)

Page 28: ( Laboratorio  di ) Sistemi Informatici Avanzati

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)

Page 29: ( Laboratorio  di ) Sistemi Informatici Avanzati

Triade

• Sottografo di dimensione 3

Page 30: ( Laboratorio  di ) Sistemi Informatici Avanzati

Triade

• Tryad census: il conteggio dei 16 tipi di grafi elencati sopra

Page 31: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 32: ( Laboratorio  di ) Sistemi Informatici Avanzati

Nij numero di cammini tra i e j  

Cammini tra due nodi

Page 33: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 34: ( Laboratorio  di ) Sistemi Informatici Avanzati

Componenti connesse

• Una componente connessa di un grafo indiretto è un sottografo massimale connesso

DC

A

B

Page 35: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 36: ( Laboratorio  di ) Sistemi Informatici Avanzati

La matrice di adiacenza di un grafo con molte componenti può essere rappresentata a blocchi

Connettività, componenti

Page 37: ( Laboratorio  di ) Sistemi Informatici Avanzati

La componente gigante• Una componente che racchiude la maggior parte del grafo

Page 38: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 39: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 40: ( Laboratorio  di ) Sistemi Informatici Avanzati

N L <k>

(Sorgente: : The structure and function of complex networks, M. E. J. Newman, SIAM Review 45, 167-256 (2003),

Page 41: ( Laboratorio  di ) Sistemi Informatici Avanzati

MISURE SU GRAFI

Page 42: ( Laboratorio  di ) Sistemi Informatici Avanzati

Cutpoints

• Un vertice è un cutpoint se la sua rimozione aumenta le componenti di un grafo

Page 43: ( Laboratorio  di ) Sistemi Informatici Avanzati

Ponti

• Un arco è un bridge (ponte) se la sua rimozione aumenta le componenti

– Grafo senza ponti

Page 44: ( Laboratorio  di ) Sistemi Informatici Avanzati

Connettività

• La connettività di un grafo G è il minimo numero di nodi che bisogna eliminare per rendere il grafo disconnesso

Page 45: ( Laboratorio  di ) Sistemi Informatici Avanzati

Connettività (archi)

• Il minimo numero di archi da eliminare per rendere il grafo disconnesso

Edge-connectivity

Connectivity

Page 46: ( Laboratorio  di ) Sistemi Informatici Avanzati

Centralità

• Il grado di centralità (potenziale di comunicazione) è il grado (normalizzato) di un nodo

Page 47: ( Laboratorio  di ) Sistemi Informatici Avanzati
Page 48: ( Laboratorio  di ) Sistemi Informatici Avanzati

Closeness

• Potenziale di comunicazione indipendente

Page 49: ( Laboratorio  di ) Sistemi Informatici Avanzati
Page 50: ( Laboratorio  di ) Sistemi Informatici Avanzati

Betweeness

• Il numero di cammini che contengono a

Page 51: ( Laboratorio  di ) Sistemi Informatici Avanzati
Page 52: ( Laboratorio  di ) Sistemi Informatici Avanzati

Coefficiente di clustering

• Quanti dei tuoi vicini sono connessi da un arco?

• Alternativamente

Page 53: ( Laboratorio  di ) Sistemi Informatici Avanzati

Nodi su una linea

Page 54: ( Laboratorio  di ) Sistemi Informatici Avanzati

N L <k>

(Sorgente: : The structure and function of complex networks, M. E. J. Newman, SIAM Review 45, 167-256 (2003),

Page 55: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 56: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 57: ( Laboratorio  di ) Sistemi Informatici Avanzati

Cumulative degree distribution

(Sorgente: : The structure and function of complex networks, M. E. J. Newman, SIAM Review 45, 167-256 (2003)

Page 58: ( Laboratorio  di ) Sistemi Informatici Avanzati

Power laws

• Probabilità di un valore che varia in misura inversamente proporzionale ad una potenza di quel valore

Page 59: ( Laboratorio  di ) Sistemi Informatici Avanzati

Distribuzioni classiche

Page 60: ( Laboratorio  di ) Sistemi Informatici Avanzati

Distribuzioni power law

Page 61: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 62: ( Laboratorio  di ) Sistemi Informatici Avanzati
Page 63: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 64: ( Laboratorio  di ) Sistemi Informatici Avanzati

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– …

Page 65: ( Laboratorio  di ) Sistemi Informatici Avanzati

Power law: Social networks

Numero di azioni che un utente compie (digg) Numero di amicizie (flixster)

Page 66: ( Laboratorio  di ) Sistemi Informatici Avanzati

Plottare le power-laws• α = 2.5• Istogramma con equal binning

Page 67: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 68: ( Laboratorio  di ) Sistemi Informatici Avanzati

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, ….

Page 69: ( Laboratorio  di ) Sistemi Informatici Avanzati

Log-log plot

• Metodo più comune• Non necessariamente accurato

ln(x)

ln (# di occorrenze di x)

Page 70: ( Laboratorio  di ) Sistemi Informatici Avanzati

Plottare le power laws

Molte osservazioniquando x < 10

Rumore sulla coda, molta variabilità

Page 71: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 72: ( Laboratorio  di ) Sistemi Informatici Avanzati

Plottare le power laws

• Logarithmic binning

Ancora rumore

Page 73: ( Laboratorio  di ) Sistemi Informatici Avanzati

Distribuzione cumulativa

• Nessuna perdita di informazione– P(x) = P(X>x)– Il risultato è ancora una power-law con esponente

α – 1.

Page 74: ( Laboratorio  di ) Sistemi Informatici Avanzati

Plottare le power laws

• Cumulative distribution

Page 75: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 76: ( Laboratorio  di ) Sistemi Informatici Avanzati

Cumulative, rank/frequency

• Si ordinano le misurazioni– Si plotta il rank sulla misurazione

Page 77: ( Laboratorio  di ) Sistemi Informatici Avanzati

Stimare una power-law

• Va individuato il valore xmin da cui la power-law comincia

• xmin è maggiore di 0– Perché?

Page 78: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 79: ( Laboratorio  di ) Sistemi Informatici Avanzati

Esempi di power laws

Page 80: ( Laboratorio  di ) Sistemi Informatici Avanzati

N L <k>

(Sorgente: : The structure and function of complex networks, M. E. J. Newman, SIAM Review 45, 167-256 (2003),

Page 81: ( Laboratorio  di ) Sistemi Informatici Avanzati

Non tutto è una power law

Page 82: ( Laboratorio  di ) Sistemi Informatici Avanzati

Non tutto è una power law

• Exponential tails

– Distribuzione cumulativa ancora esponenziale– Semi-logarithmic plot

Page 83: ( Laboratorio  di ) Sistemi Informatici Avanzati

Maximum degree

• Il grado oltre il quale non ci sono più nodi

• Su una power-law, otteniamo

– Stima approssimativa

Page 84: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 85: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 86: ( Laboratorio  di ) Sistemi Informatici Avanzati

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

Page 87: ( Laboratorio  di ) Sistemi Informatici Avanzati

Risultato

• Cosa possiamo concludere?

Page 88: ( Laboratorio  di ) Sistemi Informatici Avanzati

Risultato

• Cosa possiamo concludere?– Alta tollerabilità ai “fallimenti” random– Estrema vulnerabilità ai “fallimenti” degli hub