grafo no dirigido g(n,p) n nodos. pongo una arista entre dos nodos con probabilidad p. durante...

146
•Grafo no dirigido G(n,p) n nodos. •Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de pensar en las redes sociales, y redes grandes en general) fue el modelo Erdös- Renyi (1960). Modelo de Erdös-Renyi Modelo de Erdös-Renyi Paul Erdös

Upload: joaquin-gonzalez-lozano

Post on 23-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

•Grafo no dirigido G(n,p)•n nodos.•Pongo una arista entre dos nodos con probabilidad p.

Durante décadas el modelo de red aleatoria (que era la forma de pensar en las redes sociales, y redes grandes en general) fue el modelo Erdös-Renyi (1960).

Modelo de Erdös-RenyiModelo de Erdös-RenyiModelo de Erdös-RenyiModelo de Erdös-Renyi

Paul Erdös

Page 2: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Tamaño de la mayor componente conexa: 1 5 11 12Diámetro de la mayor componente: 0 4 7 1Distancia promedio entre nodos conectados: - 2 4.2 1

Modelo de Erdös-RenyiModelo de Erdös-RenyiModelo de Erdös-RenyiModelo de Erdös-Renyi

p=0, <k>=0 p=0.045, <k>=0.5 p=0.09, <k>=1p=1, <k>=n=12

Page 3: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Grado promedio : np.Distribución de grados: binomial (aprox. Poisson).

E&R demostraron que:

•Si np < 1, casi seguramente G(n,p) no tiene componentes conexas de tamaño mayor a O(log n).

•Si np = 1, c.s. G(n,p) tiene una componente conexa máxima de tamaño ~ n2/3. Los tamaños de las c.c. siguen una ley de potencia.

Modelo de Erdös-RenyiModelo de Erdös-RenyiModelo de Erdös-RenyiModelo de Erdös-Renyi

Page 4: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

•Si np > 1, c.s. G(n,p) hay una c.c "gigante", O(n), y la siguiente c.c. es O(log n).

•Si p > (ln n)/n, c.s. G(n,p) es conexo. Si es <, entonces c.s. no lo es.

Modelo de Erdös-RenyiModelo de Erdös-RenyiModelo de Erdös-RenyiModelo de Erdös-Renyi

Nota: en lo anterior, el "casi seguramente" significa lo siguiente. El grafo G es una variable aleatoria. Que cumpla la propiedad "A" c.s. quiere decir que

1A cumple lim

GPn

Page 5: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Modelo de Erdös-RenyiModelo de Erdös-RenyiModelo de Erdös-RenyiModelo de Erdös-Renyi

Durante décadas el modelo ER fue el único que se usó para modelas las redes "reales" (sociales, tecnológicas, biológicas).

Principalmente porque no había datos masivos para cotejar; sólo datos muy parciales, de grafos pequeños.

Cuando aparecieron datos masivos, se vio que sus características no coincidían con ER.

¿Qué características?

Page 6: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Propiedades de redesPropiedades de redesPropiedades de redesPropiedades de redes

Cosas que se suelen mirar en una red (principales):

Principales:

•Distribución de gradosgrado promedio, grado máximo...

•Distancia promedio y diámetro (distancia máxima)

•Nivel de aglomeración (clustering)

Page 7: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Propiedades de redesPropiedades de redesPropiedades de redesPropiedades de redes

Cosas que se suelen mirar en una red (otras):

•Correlaciones de grados (entre vecinos).

•Componentes conexas, "comunidades".

•Frecuencia de subgrafos (e.g., presencia de cliques).

. . . X

Page 8: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Propiedades de redesPropiedades de redesPropiedades de redesPropiedades de redes

Salvo que se diga lo contrario, pensamos en grafos simples, no dirigidos, et voilà.

Cuando hay más propiedades, hay otras cosas que mirar. Por ejemplo:

•En digrafos, correlación entre grados in/out.

•Si hay más de un tipo de nodo, "mezcla" entre los tipos.

•En grafos con pesos en las aristas, efecto de eliminar las más "débiles".

•Etc, etc...

Page 9: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Distribución de gradosDistribución de gradosDistribución de gradosDistribución de grados

La distribución de grados en ER es una Poisson.

•está concentrada en torno a su media

•la probabilidad de encontrar un nodo con un grado muy chico o muy grande decae exponencialmente

Hay una "escala" característica en la distribución.

Page 10: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Distribución de gradosDistribución de gradosDistribución de gradosDistribución de grados

Lo que se observa en la mayoría de las redes reales es que los grados se distribuyen según una ley de potencia (power law; lineal en log-log):

f(k)~k- (por lo general 2 3)

•La cola es "pesada" (no decae exponencialmente).•No hay escala característica. Se habla de distribuciones (o redes) "libres de escala" (scale free).

Page 11: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Distribución de gradosDistribución de gradosDistribución de gradosDistribución de grados

En algunas (pocas) redes se observa una distribución exponencial:

f(k) = e-k

Se ve lineal en log-lineal

k

log f λ

Page 12: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Distancia promedioDistancia promedioDistancia promedioDistancia promedio

La distancia L entre dos nodos es la longitud del camino más corto entre ellos.

•En una malla regular (digamos, un subconjunto conexo de tamaño n, tomado de Zd), <L> ~ n1/d.

•En ER, L ~ (log n)/(log k)

•Esto coincide con lo observado en la mayoría de las redes reales (efecto "small world”).

Page 13: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Índice(s) de clusteringÍndice(s) de clusteringÍndice(s) de clusteringÍndice(s) de clustering

En muchas redes reales, se observa transitividad: si A y B son vecinos de C, suelen ser vecinos entre sí.

Hay más de una forma de medir esto. Las dos más típicas:

•Sea ai la cantidad de posibles triángulos que incluyen al nodo i (si su grado es di, ai=di(di-1)/2).

•Sea bi la cantidad de triángulos que incluyen al nodo i.

C(1) = <bi>/<ai> C(2) = <bi/ai> el más usado

Page 14: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Índice(s) de clusteringÍndice(s) de clusteringÍndice(s) de clusteringÍndice(s) de clustering

1

2

3

4

5

3013

611151

C(2)

83

6113

C(1)

En ER, ambos valen p.

Pero no es lo que se suele observar

N k

Page 15: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Small WorldsSmall WorldsSmall WorldsSmall Worlds

Stanley Milgram, 1967:

•Experimento de envío de cartas entre desconocidos (de Nebraska a Boston).

•La gente tenía que enviarle la carta a alguien con quien se "tuteara".

•El 20% de las cartas llegó.

•Cantidad promedio de pasos: 5.2.

Page 16: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Small WorldsSmall WorldsSmall WorldsSmall Worlds

"6 grados de separación".

•La idea ya es parte del saber "público" (obra de teatro, películas, libros...)

•Anecdóticamente, ya estaba ("el mundo es un pañuelo", etc.)

•Compatible con ER, así que no causó problemas.

No es exclusivo de la red de amistades humanas:

Page 17: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Small WorldsSmall WorldsSmall WorldsSmall Worlds

[M. Newman, 2003]

Page 18: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Otras propiedadesOtras propiedadesOtras propiedadesOtras propiedades

Mezcla, cuando hay nodos de más de un tipo:

Evaluar dependencia de esas v.a.(hay varias aproximaciones)

Page 19: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Otras propiedadesOtras propiedadesOtras propiedadesOtras propiedades

Correlación entre grados

¿Los nodos más conectados, se prefieren entre sí? ¿Y los menos conectados?

•Pastoras et al: graficar el grado promedio de los vecinos, como función del grado

•Newman: calcular coef. de correlación entre los extremos de las aristas.

Page 20: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Otras propiedadesOtras propiedadesOtras propiedadesOtras propiedades

Correlación (à la Newman)

Page 21: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Otras propiedadesOtras propiedadesOtras propiedadesOtras propiedades

Detección de comunidades

•Amplia literatura proponiendo algoritmos.•Muchísimas aplicaciones!

Page 22: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Otras propiedadesOtras propiedadesOtras propiedadesOtras propiedades

Resistencia a fallas/ataques

Falla: eliminación aleatoria de un nodo/arista

Ataque: eliminación "pensada"

¿Cómo afectan...

•la conexidad?•el promedio de distancias?•el "flujo"?•Etc, etc

Page 23: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Otras propiedadesOtras propiedadesOtras propiedadesOtras propiedades

Comunicaciones por tierra y aire, EEUU

Red regular (casi lattice), vs una red "scale free" (sin escala)

Page 24: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Otras propiedadesOtras propiedadesOtras propiedadesOtras propiedades

Regular con fallas

SF con fallas

SF bajo ataque

Page 25: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

EjemplosEjemplosEjemplosEjemplos

•nodos: científicos•relación: haber sido coautoresSon las "redes de colaboración" (se han estudiado mucho).

Número de Erdös: distancia a Erdös, que viajó mucho, escribió ~1500 artículos, colaboró con más de 500 colegas.

Entre matemáticos en MathSciNet, el promedio es ~5.

http://www.oakland.edu/enp/

0 --- 1

1 --- 504

2 --- 6593

3 --- 33605

4 --- 83642

5 --- 87760

6 --- 40014

7 --- 11591

8 --- 3146

9 --- 819

10 --- 244

11 --- 68

12 --- 23

13 --- 5

Erdos Number Distribution

0

10000

20000

30000

40000

50000

60000

70000

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Erdos Number

Peo

ple

Page 26: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

EjemplosEjemplosEjemplosEjemplos

"Oráculo de Bacon"

•nodos: actores•relación: coincidir en alguna película listada en IMDB

http://oracleofbacon.org/

La distancia promedio a Bacon es 2.8; el máximo es 8.

Distancia promedio entre actores: 3.48

Page 27: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

EjemplosEjemplosEjemplosEjemplos

Nota: no hay nada de especial en Kevin Bacon!

Rank NameAveragedistance

# ofmovies

# oflinks

1 Rod Steiger 2.537527 112 25622 Donald Pleasence 2.542376 180 28743 Martin Sheen 2.551210 136 35014 Christopher Lee 2.552497 201 29935 Robert Mitchum 2.557181 136 29056 Charlton Heston 2.566284 104 25527 Eddie Albert 2.567036 112 33338 Robert Vaughn 2.570193 126 27619 Donald Sutherland 2.577880 107 2865

10 John Gielgud 2.578980 122 294211 Anthony Quinn 2.579750 146 297812 James Earl Jones 2.584440 112 3787…

876 Kevin Bacon 2.786981 46 1811…

Page 28: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

M. Girvan and M. E. J. NewmanCommunity structure in social and biological networksProc. Natl. Acad. Sci. USA 998271-8276 (2002).

Page 29: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

EjemplosEjemplosEjemplosEjemplos

Red terrorista (incluyendo a los autores del 11/9 gringo).

Page 30: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Una vista parcial de Internet(imagen vía wikipedia)

Internet Mapping Project: http://research.lumeta.com/ches/map/gallery/index.html

Page 31: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

The Political Blogosphere and the 2004 U.S. Election: Divided They Blog [Adamic & Glance, 2005]

Page 32: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Asociaciones de palabras

Interacciones de proteínas

Colaboración científica

EjemplosEjemplosEjemplosEjemplos

Page 33: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

EjemplosEjemplosEjemplosEjemplos

Page 34: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

EjemplosEjemplosEjemplosEjemplos

Page 35: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

EjemplosEjemplosEjemplosEjemplos

Relaciones de pareja en un college norteamericano

Page 36: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

EjemplosEjemplosEjemplosEjemplos

F. Liljeros et al, Nature, 2001: encuesta a 4781 suecos, edades 18-74.

Pregunta: # de parejas sexuales.

Colgate et al, PNAS, 1989: hombres en una clínica de ETS en Londres

Page 37: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

EjemplosEjemplosEjemplosEjemplosxkc

d.c

om

De paso, esto ilustra otra área en que hay investigación: como dibujar redes complejas.

Page 38: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

EjemplosEjemplosEjemplosEjemplos

Red de interacción de proteínas en Saccharomyces cerevisiae

http://www.visualcomplexity.com/

Muchos ejemplos en:

Page 39: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Redes complejasRedes complejasRedes complejasRedes complejas

Propiedades principales que por lo general comparten las redes complejas:

•Diámetro y distancia media pequeños, O(log N)

•Distribución de grados según ley de potencia, P(k)~k-

•Alto nivel de clustering local

+ Baja densidad, son redes “sparse”: cantidad de aristas es O(n).

Page 40: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de
Page 41: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Dicho sea de paso: no todo es scale free, Dicho sea de paso: no todo es scale free, etc!etc!

Dicho sea de paso: no todo es scale free, Dicho sea de paso: no todo es scale free, etc!etc!

(Y también mencionamos un caso con distribución de grados exponencial.)

Page 42: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Dicho sea de paso: redes bipartitasDicho sea de paso: redes bipartitasDicho sea de paso: redes bipartitasDicho sea de paso: redes bipartitas

Varios de los ejemplos podrían ponerse en términos de una red bipartita, con dos tipos de nodos: actores/películas, autores/papers.

La red de debajo de obtiene como una proyección de la de arriba.

Page 43: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Dicho sea de paso: redes bipartitasDicho sea de paso: redes bipartitasDicho sea de paso: redes bipartitasDicho sea de paso: redes bipartitas

Se pierde información: estamos transformando una relación n-aria en un conjunto de relaciones binarias. O en otros términos, un multigrafo en un grafo.

De paso, se introduce un nivel de clustering (la transitividad de la relación binaria sale de la n-aria).

A veces convendrá mantener la red en su forma bipartita (y la relación entre actores estará dada por su conexión común con una misma actividad/lugar/etc).

Page 44: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Redes complejasRedes complejasRedes complejasRedes complejas

El modelo ER resistió por muchos años, incluso durante los 80 y 90 cuando ya había datos y PCs con los cuales analizarlos.

Algunas pocas observaciones lo contradecían; e.g., Alfred Lotka en 1926:

"the number of scientists who have k citations falls off as k -α for some constant α."

Fue básicamente la internet la que llevó a darse cuenta de que faltaban nuevos modelos.

Page 45: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Redes complejasRedes complejasRedes complejasRedes complejas

En los últimos 10 años, ha sido una revolución.

Page 46: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Small WorldSmall WorldSmall WorldSmall World

Modelo de small world de Watts & Strogatz (1998): parte con una malla regular, y modifica aristas (randomizándolas) con probabilidad p.

N = 1000 k =10D = 100 L = 49.51C = 0.67

N =1000 k = 8-13D = 14 L = 11.1C = 0.63

N =1000 k = 5-18D = 5 L = 4.46C = 0.01

Page 47: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Small WorldSmall WorldSmall WorldSmall World

Para ser más precisos:

•En un anillo de N nodos, se conecta cada uno con sus k/2 vecinos a izquierda y derecha.

•Se recorre el anillo (dando la vuelta).

•Para cada nodo, para cada arista que lo conecta con un vecino a la derecha, con probabilidad p se reemplaza ese vecino por uno escogido al azar.

•No se admiten loops ni aristas repetidas.

Duncan J. Watts & Steven H. Strogatz, Nature 393, 440-442 (1998)

Page 48: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Small WorldSmall WorldSmall WorldSmall World

L

C

p

regular SW random

Comparte el pequeño diámetro de ER, pero también el alto clustering de lo regular.

NOTA: con p=1, el grafo no es lo mismo que ER; en particular, el grado promedio es exactamente k. Pero se comporta muy parecido.

Page 49: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Small WorldSmall WorldSmall WorldSmall World

Otras formas de crear un SW:

•Agregar pN aristas ("atajos") al anillo inicial, entre nodos escogidos al azar.

•Agregar m nodos "centrales", conectados a pN nodos del anillo escogidos al azar.

Ambas garantizan que se mantenga la conexidad del grafo.

Page 50: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Scale FreeScale FreeScale FreeScale Free

Lo que NO cumplen estos modelos de SW, y que se observa en redes reales, es una distribución de grados libre de escala: sigue siendo una Poisson!

En 1999 Barabasi & Albert proponen un modelo que genera un red SF (scale free, libre de escala).

Page 51: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Scale FreeScale FreeScale FreeScale Free

Modelo Barabasi-Albert:

•La red se construye progresivamente : se van agregando nodos.

•Para un nuevo nodo se escogen m vecinos, de manera proporcional a sus grados.

•Se habla de "preferential attachment"

jj

ii k

kk

)(

Page 52: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Scale FreeScale FreeScale FreeScale Free

También se habla de "the rich get richer".

[Además de intuitivo, hace justicia a Pareto, que notó una ley de potencia en la distribución de ingresos.]

Page 53: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Scale FreeScale FreeScale FreeScale Free

P(k) ~k-3

A.-L.Barabási, R. Albert, Science 286, 509 (1999)

Page 54: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Scale FreeScale FreeScale FreeScale Free

•Algunos nodos se convierten en “hubs”, con muchas conexiones.

•La mayoría es “pobre” en conexiones.

Se obtiene una distribución de grados que sigue una ley de potencia (es “scale free”).

P(k) ~k-3

Además se observa efecto small world.

No recupera el nivel alto de clustering; decae como n-¾ (más lento que en ER, pero igual es pequeño).

Page 55: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Scale FreeScale FreeScale FreeScale Free

Nota: a diferencia de ER y WS, éste es un modelo generativo: sugiere un mecanismo de formación de la red.

•Tener hartos amigos da popularidad; se pueden hacer más amigos.

•Ser citado en un paper implica ser conocido; es más probable que me vuelvan a citar.

•Un actor que ha actuado en muchas películas es conocido por el público y los directores, ergo...

•Etc etc

Page 56: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

ModelosModelosModelosModelos

Page 57: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

ModelosModelosModelosModelos

Ninguno de los modelos (ER, WS, BA) reproduce las características más comunes de las redes reales:

•Número de aristas ~ número de nodos•Conexas•Scale free•Diámetro pequeño•Alta clusterización

•Existen muchos otros modelos; ninguno es tan simple o intuitivo como los iniciales. •Algunos son generativos, otros no. •Por lo general son específicos para alguna red real.

Page 58: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Modelos: Modularidad jerárquicaModelos: Modularidad jerárquicaModelos: Modularidad jerárquicaModelos: Modularidad jerárquica

Ravasz, Somera, Mongru, Oltvai, BarabásiHierarchical Organization of Modularity in Metabolic NetworksScience 297, 1551 (2002)

Modelo determinista (aunque se le puede agregar azar).

•Parto con una clique de cinco nodos (uno "central").•Hago cuatro copias del grafo. Conecto los nodos periféricos de la nueva copia con el central.•Itero.

Page 59: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Modelos: Modularidad jerárquicaModelos: Modularidad jerárquicaModelos: Modularidad jerárquicaModelos: Modularidad jerárquica

•Scale free, = 1+ln 4/ln 3

•C (clustering promedio) constante, ~0.6

•El clustering promedio de nodos de grado k es k-

1

Eso se ha observado en redes biológicas y se considera indicio de estructura modular jerárquica.

Page 60: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Modelos: Modularidad jerárquicaModelos: Modularidad jerárquicaModelos: Modularidad jerárquicaModelos: Modularidad jerárquica

Functional modules of the kinome network [Hee, Hak, 2004]

Page 61: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Modelos: Modularidad jerárquicaModelos: Modularidad jerárquicaModelos: Modularidad jerárquicaModelos: Modularidad jerárquica

Asociaciones de palabras

Interacciones de proteínas

Colaboración científica

Page 62: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Modelos: Redes "apolónicas" (Apollonian Modelos: Redes "apolónicas" (Apollonian networks)networks)

Modelos: Redes "apolónicas" (Apollonian Modelos: Redes "apolónicas" (Apollonian networks)networks)

•Parto con un triángulo.

•En cada paso:•escojo al azar un triángulo•le agrego un nodo dentro•lo uno a los tres vértices del triángulo

•También cumple con todo.•Aparecen en empaquetamientos de esferas; son las redes de fuerzas en material granulado, etc.

Andrade et al, Phys. Rev. Lett. 94, 018702 (2005)Apollonian Networks : Simultaneously Scale-Free, SmallWorld, Euclidean, Space Filling, and with Matching Graphs

Page 63: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Modelos: Activos e inactivosModelos: Activos e inactivosModelos: Activos e inactivosModelos: Activos e inactivos

Nodos activos e inactivos.En un momento dado hay m nodos activos.

•Parto con una clique de m nodos activos.•En cada paso

•agrego un nuevo nodo (activo) que se conecta a los m actualmente activos•desactivo un nodo activo; lo escojo con prob. inversamente proporcional a a+ki

K. Klemm and V. Eguiluz, Phys. Rev. E 65, 036123 (2002)

•Clustering alto•Scale free

Page 64: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Modelos: FitnessModelos: FitnessModelos: FitnessModelos: Fitness

Una crítica al modelo de Barabási&Albert es que los nodos más antiguos se benefician más:¿Cómo puede un novato llegar a ser grande?(Google vs Altavista)

Modelo con fitness (Buckley & Osthus): agregamos a cada nodo un fitness . Mantenemos el esquema de B&A, pero ahora la probabilidad de escoger un nodo es

j jj

iii k

kk

)(

•También da scale free•Grado de un nodo con fitness en tiempo t: ~ t/C

Page 65: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Modelos: CopiaModelos: CopiaModelos: CopiaModelos: Copia

Modelo "copión" (Kleinberg):

•Cada nodo tiene idéntico grado de salida d.•Cada nodo nuevo elige uno de los ya existentes (de forma uniforme) como prototipo.•Para su i-ésimo link, con probabilidad copia el i-ésimo link del prototipo, con probabilidad 1- elige al azar.

Page 66: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Modelos: CopiaModelos: CopiaModelos: CopiaModelos: Copia

•La distribución de grados de entrada queda scale free con exponente = (2-)/(1-).

•Se creó como modelo de la web (páginas temáticas).

•Funciona bastante bien para comunidades temáticas en la web, y también para algunas otras redes reales.

•Produce muchos subgrafos bipartitos, observados en la web.

•No reproduce el nivel de clustering.

Page 67: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Grafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijados

Dado lo fácil que es hacer cálculos con ER, se ha intentado generalizarlo.

Idea : fijar a priori la distribución de grados.

Una forma de hacerlo es asociar a cada nodo su grado "deseado", y poner una arista entre dos nodos con probabilidad proporcional al producto de sus grados deseados.

¿Cómo se comportan los grafos aleatorios con una distribución p0, p1, ... (pi=1) prefijada de grados?

Page 68: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Grafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijados

"A critical point for random graphs with a given degree sequence" Molloy & Reed, Random Structures and Algorithms 6, 161-179 (1995)

Un grafo aleatorio que tenga pin nodos con grado i (con n grande, ), tendrá una componente gigante cuando 0)2( ipii

O, si lo que tenemos es la secuencia k1, k2,... de grados de los nodos, entonces la condición es que

0)2( ii kk

Page 69: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Grafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijados

Por debajo de ese umbral, hay muchas componentes conexas, de tamaños O(log n).

Para scale free de exponente :

•La componente gigante aparece para < 3.4788.

•El grafo es conexo para < 2.

•[En la mayoría de las redes en que se ha medido , está entre 2 y 3; a veces bajo 2].

Page 70: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Grafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijados

Función generadora:

•Dada una distribución de probabilidad discreta p0, p1, p2, ..., la función generadora es Gp(x)=pkxk.

•Verifica, entre otras cosas, )1()( pp GxE

2)1()1()1()( pppp GGGxVar

•Sirve para diversos trucos.

Page 71: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Grafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijados

Un ejemplo de truco:

Tomemos una arista al azar, y escojamos al azar uno de sus extremos.

La probabilidad de que sea un nodo de grado k es proporcional a kpk [¿por qué?].

Consideremos entonces la variable aleatoria "grado del nodo alcanzado". Su función generadora es

)1(

)('

'

p

pk

k k k

k

G

xGxx

kp

kp

Page 72: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Grafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijados

Si dividimos por x, tenemos la función generadora de algo. ¿De qué? Pues de la variable aleatoria "grado del nodo al que llegué, menos 1".

De modo que si llego a un nodo por una arista escogida al azar, la distribución de prob. de la cantidad de otras aristas que encuentro allí tiene función generadora

)1(

)('

'

p

pk

k k k

k

G

xGxx

kp

kp

)1()( ''pp GxG

También se usa f.g. para estudiar otras cosas (e.g., el tamaño de la comp. conexa en que se encuentra un nodo escogido al azar).

Page 73: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Grafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijados

Una aplicación de f.g. (de un artículo de S. Strogatz).

•Considera los directorios de las 1000 primeras empresas listadas por Fortune.

•Miramos el grafo bipartito, directorios/directores.

•De ahí se puede sacar la distribución de la cantidad de directorios en los que alguien participa, y de la cantidad de gente en los directorios.

•¿Habrán “cábalas”, grupos de gente que acapara directorios?

Page 74: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Grafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijados

"p", exponencial "q", unimodal, cercana a normal, tal vez suma de

normales

Page 75: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Grafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijados

Escogemos un director al azar y vemos la cantidad total de gente con la que se encuentra en reuniones (sumando todos los directorios en que participa).

O sea, es el grado del director en el grafo de co-directores (inducido por la red bipartita). Sea r la distribución de esa variable.

Page 76: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Grafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijados

Supongamos que la estructura es aleatoria :

una red típica del conjunto de redes bipartitas con distribuciones p y q. En cond-mat/0007235, Newman, Strogatz y Watts derivan la función generadora de r como

)1(

)()( '

'

q

qpr G

xGGxG

Page 77: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Grafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijados

Como se conocen p y q empíricos, se puede evaluar esa expresión.

O mejor aún, se puede derivar k veces y evaluar en 0.

Así se obtiene la probabilidad de que el director comparta reuniones con un total de k personas.

Page 78: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Grafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijados

Coincide con lo observado.

No es así en películas y papers, hay desviación.

Ahí el nivel de clustering no viene sólo del grafo bipartito.

Page 79: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Grafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijados

Otra opción: Construir un grafo conexo que tenga exactamente la secuencia de grados (d1,d2,...dm). Sin perder generalidad suponemos d1 d2 ... dm

Es posible construir un grafo con esa secuencia si y sólo si la suma es par y además k,dmin1)k(kd i

n

1ki

k

1ii

Es posible construirlo conexo ssi además se tiene

k

1ii 1)2(nd

Page 80: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Grafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijados

Suponiendo entonces que se puede:

•Asigno a los nodos su "grado pendiente" ei, inicialmente con valor di.

•Mientras haya un nodo con valor ei>0•Escojo el nodo k con ei mínimo.•Pongo ek aristas entre él y los k nodos de mayor ei.•Actualizo los ei.

•Reviso y eventualmente fuerzo conexidad (intercambiando links entre componentes conexas).

Page 81: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Grafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijadosGrafos aleatorios con grados prefijados

Ese algoritmo (y otros igual de simples) no da un grafo escogido uniformemente entre todos los grafos con esa secuencia de grados.

Para asegurar eso, hago durante "un rato" un paseo aleatorio, en que en cada paso intercambio los extremos de un par de aristas.

Se usa este método para muestrear propiedades (por ejemplo, correlación entre grados de nodos vecinos, o distribución de distancias) en función sólo de la distribución de grados.

Page 82: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

ModelosModelosModelosModelos

Una fracción mínima de los modelos existentes.

[Albert, Barabási, Rev. Mod. Phys 2002]

Page 83: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

ModelosModelosModelosModelos

Page 84: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Medidas de centralidadMedidas de centralidadMedidas de centralidadMedidas de centralidad

Centralidad: ¿qué tan importante es un nodo?

En grafos dirigidos, se habla de "prestigio", y se desdobla en dos tipos de medidas:

•Influencia (mira los arcos de salida)•Apoyo (mira los arcos de entrada)

Page 85: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Medidas de centralidadMedidas de centralidadMedidas de centralidadMedidas de centralidad

Hay varias formas de medir centralidad; cada una mide cosas distintas.

Recordatorio de E.D.A.: centros y medidas de centralidad en teoría de grafos “clásica”.

Sea u un nodo del GD G=(V,A). Definimos:

),(maxdad(u)excentrici uvdistVv

Vv

vudistV

),(1

)promedio(u distancia

Máximo que me tardo en llegar a u

Promedio que tardo en ir de u a cualquier otro

Page 86: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Medidas de centralidadMedidas de centralidadMedidas de centralidadMedidas de centralidad

•Centro de G = nodo(s) de excentricidad mínima

•Baricentro de G = nodo(s) de distancia promedio mínima

Nota: cuando aparecen distancias estas definiciones no son muy útiles.

Alternativas:

•sólo usarlas para grafos conexos

•calcularlas en la mayor componente conexa

Page 87: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Medidas de centralidadMedidas de centralidadMedidas de centralidadMedidas de centralidad

a

e

b

d

c f

a b c d e f

a 0 1 1

b 1 0 1

c 0 1

d 1 1 1 0 1

e 1 0 1

f 1 0

a b c d e f

a 0 1 2 1 1 3

b 1 0 2 1 2 3

c 2 2 0 1 2 3

d 1 1 1 0 1 2

e 1 2 2 1 0 1

f 3 3 3 2 1 0

Floyd

prom

2,4

1,4

1,2

2

1,8

1,6

max 322333

Centro

Baricentro

Page 88: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Medidas de centralidadMedidas de centralidadMedidas de centralidadMedidas de centralidad

En algunos grafos el grado de un nodo puede ser también un buen indicador de su centralidad o importancia.

Es una noción más local

Page 89: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Medidas de centralidadMedidas de centralidadMedidas de centralidadMedidas de centralidad

Betweenness centrality

•Contar todos los caminos más cortos entre i y j: C(i,j).•Ver cuántos pasan por k: Ck(i,j)•La "centralidad de intermediación" (o “intermediación” a secas) del nodo k es

ji k

k jiCjiC

B),(),(

L. C. Freeman, Sociometry 40, 35 (1977)

Page 90: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Medidas de centralidadMedidas de centralidadMedidas de centralidadMedidas de centralidad

Betweenness centrality

Se distribuye como ley de potencia en redes variadas (no en todas!)

Page 91: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Medidas de centralidadMedidas de centralidadMedidas de centralidadMedidas de centralidad

Eigenvector centrality (centralidad por vector propio)

Hacemos un paseo aleatorio por el grafo.

La centralidad de un nodo es la frecuencia con la que nos lo encontramos.

Page 92: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Medidas de centralidadMedidas de centralidadMedidas de centralidadMedidas de centralidad

Matriz de adyacencia: caso dirigido

00000

10000

01010

00001

00110

A

1

2

3

45

1

2

3

45

01000

10100

01011

00101

00110

A

Matriz de adyacencia: caso no dirigido

Page 93: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Medidas de centralidadMedidas de centralidadMedidas de centralidadMedidas de centralidad

Paseo aleatorio: en cada paso, avanzo de un nodo a otro. Escojo una arista o arco al azar de entre los disponibles.

Eso me da un proceso de Markov, cuya matriz de transición es la matriz de adyacencia, normalizada.

Si el grafo es (fuertemente) conexo, la frecuencia de las visitas converge a una distribución estacionaria.

Page 94: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Medidas de centralidadMedidas de centralidadMedidas de centralidadMedidas de centralidad

0210021

00313131

00010

10000

0021210

P

qt+11 = 1/3 qt

4 + 1/2 qt5

qt+12 = 1/2 qt

1 + qt3 + 1/3 qt

4

qt+13 = 1/2 qt

1 + 1/3 qt4

qt+14 = 1/2 qt

5

qt+15 = qt

2

La distribución estacionaria se obtiene como el vector propio por la izquierda asociado al valor propio 1: qP=q

v1v2

v3

v4v5

Page 95: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Medidas de centralidadMedidas de centralidadMedidas de centralidadMedidas de centralidad

¿Qué pasa si caigo en un callejón sin salida?

Salida fácil: salto a un nodo cualquiera, escogido al azar.

0210021

00313131

00010

00000

0021210

P

0210021

00313131

00010

5151515151

0021210

P'

Page 96: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Medidas de centralidadMedidas de centralidadMedidas de centralidadMedidas de centralidad

¿Y cómo garantizo irreducibilidad (es decir, conexidad fuerte)?

Salida fácil: en cada paso, una probabilidad de escoger un nodo al azar (en lugar de irme por un arco).

5151515151

5151515151

5151515151

5151515151

5151515151

2100021

00313131

00010

5151515151

0021210

'P' )1(

Page 97: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Medidas de centralidadMedidas de centralidadMedidas de centralidadMedidas de centralidad

The Anatomy of a Large-Scale Hypertextual Web Search EngineBrin, S., Page, L. (Computer Networks and ISDN Systems, 1998)

Abstract:

In this paper, ...

The Anatomy of a Large-Scale Hypertextual Web Search EngineBrin, S., Page, L. (Computer Networks and ISDN Systems, 1998)

Abstract:

In this paper, we present Google, a prototype of a large-scale search engine which makes heavy use of the structure present in hypertext. Google is designed to crawl and index the Web efficiently and produce much more satisfying search results than existing systems. The prototype with a full text and hyperlink database of at least 24 million pages is available at http://google.stanford.edu/ [sigue]

•Este algoritmo fue propuesto en 1998 para medir la importancia de páginas web (nodos=páginas, arcos=links).

•Autores: Sergey Brin & Lawrence Page.Lo llamaron “PageRank”, y fue una idea tan grande, que pudieron construir un imperio encima.

[Luego ha evolucionado, pero PageRank sigue siendo la base.]

Page 98: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Medidas de centralidadMedidas de centralidadMedidas de centralidadMedidas de centralidad

Otra aproximación, también en el contexto de la Web: HITS (Hypertext-induced text selection).

•Desarrollado por J. Kleinberg, 1998.

•Distingue entre las puntas de las flechas: un hub apunta hacia muchas partes; una autoridad es apuntada desde muchas partes.

Cada nodo tiene algún nivel de autoridad y de "hubness". hubs autoridades

Page 99: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Medidas de centralidadMedidas de centralidadMedidas de centralidadMedidas de centralidad

La idea es que buenas autoridades son apuntadas por buenos hubs, y viceversa.

¿Cómo encontrarlos?

Iterando:•Inicializo pesos en 1•Los hubs recolectan peso de las autoridades que apuntan:

jij

ji ah:

•Las autoridades recolectan de los hubs:

ijj

ji ha:

•Itero hasta converger.

Page 100: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Medidas de centralidadMedidas de centralidadMedidas de centralidadMedidas de centralidad

En términos vectoriales: at = ATht-1 y ht = Aat-1

De modo que at = ATAat-2 y ht = AATht-2

...y nuevamente es problema de vectores propios!

O mejor dicho, de descomposición en valores singulares de la matriz A. T

rrrT222

T111 vuσvuσvuσA

Donde σ1≥ σ2≥ … ≥σr son los valores singulares (raíz cuadrada de valores propios de ATA y AAT), y los u y v son los vectores singulares por la izquierda y derecha, respectivamente.

Page 101: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Medidas de centralidadMedidas de centralidadMedidas de centralidadMedidas de centralidad

Los vectores singulares detectan las principales tendencias lineales en filas y columnas de la matriz A.

HITS encuentra la principal tendencia lineal.

σ1

σ2v1

v2

•Sirve también (colateralmente) para identificar comunidades y aclarar ambigüedades.

Ejemplo: una búsqueda por "jaguar" dejó en el primer vector las páginas sobre el animal, en un extremo del segundo las páginas sobre el club de fútbol, y en un extremo del tercero las páginas sobre el auto.

Page 102: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

ComunidadesComunidadesComunidadesComunidades

En casi todos los ámbitos de análisis de redes complejas resulta útil detectar las comunidades : conjuntos de nodos bien conectados al interior de cada grupo, pero poco conectados entre un grupo y otro.

Sitios web sobre un tema, grupos de amigos, módulos funcionales de una red genética, etc, etc.

Page 103: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

ComunidadesComunidadesComunidadesComunidades

Hasta cierto punto se parece al viejo problema de machine learning, clustering.

En los algoritmos de clustering por lo general tenemos una nube de puntos en un espacio n-dimensional, y queremos dividir en sus clases “naturales”.

o

espacio vectorial n-dimensional

métricamétrica

Page 104: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

ComunidadesComunidadesComunidadesComunidades

Pero aquí:

•Es clustering de nodos en una red.

•Distancia dada por la red.

•La topología puede ser importante para los algoritmos (algunos funcionarán mejor en algunas clases de redes).

Page 105: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

ComunidadesComunidadesComunidadesComunidades

Los problemas de particionamiento en grafos son casi todos (salvo los triviales) NP-duros. Ergo, heurísticas.

Métodos más populares:

•Espectrales (miran los valores y vectores propios del laplaciano del grafo)

•Divisivos (cortan aristas según algo, para ir creando componentes conexas)

•Aglomerativos (al revés, parten sin aristas y las van agregando).

Page 106: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: método espectralComunidades: método espectralComunidades: método espectralComunidades: método espectral

Queremos encontrar un conjunto de aristas pequeño, que al quitarlas desconecte el grafo (problema de min-cut).

Pero si hay nodos con grado bajo (o grupos pequeños con esa propiedad), es trivial. Así que normalizamos, dividiendo por el tamaño de la menor componente conexa resultante.

Page 107: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: método espectralComunidades: método espectralComunidades: método espectralComunidades: método espectral

Coeficiente de expansión del grafo G=(V,E):

donde E(A,B) es el conjunto de aristas que tienen un extremo en A y el otro en B.

Es posible aproximar mediante valores propios del laplaciano de G.

UV,Umin

U-VU,EminGα

VU

Page 108: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: método espectralComunidades: método espectralComunidades: método espectralComunidades: método espectral

Laplaciano de un grafo: L = D-A

donde D es la matriz diagonal formada por los grados de los nodos (dii=grado del nodo i, dij=0 para ij), y A es la matriz de adyacencia.

De modo que

~0

),(1 Eji

jid

Li

ij

L es simétrica (estamos suponiendo G no dirigido) y semi definida positiva los valores propios son 0.

Page 109: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: método espectralComunidades: método espectralComunidades: método espectralComunidades: método espectral

Anotamos con 1 2... los valores propios de L.

Siempre se tiene 1 = 0, con vector propio w1=(1,1,...,1).

A 2 se le llama "valor de Fielder" y verifica

xxLxx

minLxxminλ T

T

wx

T

1x,wx2

11

(esto es genérico para matrices simétricas, uno va obteniendo los valores propios sucesivos minimizando la forma cuadrático sobre el subespacio ortogonal al de los valores propios ya encontrados).

Page 110: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: método espectralComunidades: método espectralComunidades: método espectralComunidades: método espectral

Notemos que aquí xw1 significa que i i 0x

xxLxx

minλ T

T

wx2

1

Con un poco de manipulación es posible ver que

Ej)(i,

2T )(Lxx ji xx

así que definimos el vector de Fielder como el vector propio asociado a 2; es el que da el mínimo en

ii

ji

xx x

xx

i2

Ej)(i,

2

0,02

)(

min

Page 111: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: método espectralComunidades: método espectralComunidades: método espectralComunidades: método espectral

La gracia es que al minimizar

este vector tratará de dar valores similares a nodos vecinos, y distintos a nodos no conectados. Se ve obligado a distinguir las comunidades!

Se verifica además que 2 da una buena aproximación de la expansión del grafo:

Ej)(i,

2)( ji xx

222 λ2dλα

Page 112: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: método espectralComunidades: método espectralComunidades: método espectralComunidades: método espectral

Ejemplo

1

2

34

5

10100

01100

11301

00011

00112

L

26.024.071.042.045.0

26.024.071.042.045.0

81.032.0020.045.0

14.054.0070.045.0

44.070.0034.045.0

V

17.4 ,31.2 ,00.1 ,52.0 ,00.0E

Page 113: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: método espectralComunidades: método espectralComunidades: método espectralComunidades: método espectral

Otro ejemplo:A

B

C

G

F

E

D

A -0.3682 1

B -0.2808 1

C 0.3682 2

D 0.2808 2

E 0.5344 2

F 0.0000 ?

G -0.5344 1

A B C D E F G

A 3 -1

0 0 0 -1

-1

B -1

3 0 -1

0 0 -1

C 0 0 3 -1

-1

-1

0

D 0 -1

-1

3 -1

0 0

E 0 0 -1

-1

2 0 0

F -1

0 -1

0 0 2 0

G -1

-1

0 0 0 0 2

Page 114: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: método espectralComunidades: método espectralComunidades: método espectralComunidades: método espectral

Teniendo el vector, es cosa de elegir dónde cortar.

•Cortar en la mediana de los valores .

•Elegir el corte que más se acerque a .

•Cortar donde esté el mayor gap en los valores.

•Cortar en 0.

•Etc

También podríamos cortar en más de un punto, para tener más de dos subgrafos, o iterar el algoritmo sobre los subgrafos para hacer cortes sucesivos.

Page 115: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: método espectralComunidades: método espectralComunidades: método espectralComunidades: método espectral

Existe una gran variedad de métodos espectrales, todos siguiendo una idea similar.

El anterior demostrablemente funciona bien en muchas clases de grafos, pero en otras clases funciona demostrablemente mal.

Otra aproximación popular optimiza "conductancia", similar a la expansión pero dividiendo por la mínima suma de grados de los trozos, en lugar de su cardinal. También se aproxima vía valor propio, pero de D-1A.

UVd,Udmin

U-VU,EminG

U

2

2

μ18

Page 116: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: método espectralComunidades: método espectralComunidades: método espectralComunidades: método espectral

Referencias sobre métodos espectrales de particionamiento de grafos: ver

Kannan, Vempala and Vetta, 2004, J. ACM 51, 3: 497–515."On clusterings: Good, bad and spectral" http://www.cc.gatech.edu/~vempala/papers/jacm-spectral.pdf

Y también Donetti & Muñoz, "Improved spectral algorithm for the detection of network communities"http://ergodic.ugr.es/mamunoz/papers/PROC_AIP_Communit.pdf

Page 117: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: métodos aglomerativosComunidades: métodos aglomerativosComunidades: métodos aglomerativosComunidades: métodos aglomerativos

En los métodos aglomerativos, cada nodo parte siendo su propia "mini-comunidad", y vamos uniendo comunidades progresivamente hasta tener una sola.

Es la misma idea del clustering jerárquico bottom-up, y al igual que en ese caso, hay variantes según la forma en que se definan las distancias iniciales, y las distancias entre comunidades ya formadas.Además, habrá que escoger a qué altura del árbol hacer el corte.

Page 118: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: métodos aglomerativosComunidades: métodos aglomerativosComunidades: métodos aglomerativosComunidades: métodos aglomerativos

Una estrategia popular es asociar pesos a las aristas, y luego ir agregando aristas de a una, desde la más "liviana" hasta la más pesada (corresponde al "single-linkage clustering").

¿Qué pesos? Se han propuesto varios.

Cantidad de caminos nodo-disjuntos, o arista-disjuntos, entre los nodos.

Cantidad total de caminos entre los nodos; como existen infinitos, se ponderan por aL, para algún a, y con eso los pesos se calculan vía

1

00

1

aAaAAaWi

L

i

LL

Page 119: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: evaluaciónComunidades: evaluaciónComunidades: evaluaciónComunidades: evaluación

¿Y a qué altura cortar? Para eso hay que evaluar la calidad de la partición.

Esto, por supuesto, es general a todo método: tener indicadores de calidad de las particiones, y para comunidades específicas dentro de una partición dada.(Nuevamente, es un problema que ya se conoce en clustering).

Se espera que una comunidad UV tenga más conexiones internas que hacia el exterior; es decir, que

),(),(2 UVUEUUE

Se habla de comunidad débil ; se habla de fuerte cuando cada nodo de U muestra la preferencia en sus links.

Page 120: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: evaluaciónComunidades: evaluaciónComunidades: evaluaciónComunidades: evaluación

También se ha hecho notar lo siguiente: si definimos

iUj

ji dUd )(

entonces la probabilidad de que una "pata" de una arista escogida al azar esté en Ui esEUd i 2)(

Por lo tanto, la probabilidad de que ambas estén en Ui es

22 4)( EUd i

Y podemos comparar la fracción de aristas que está en Ui con la que cabe esperar; si Ui es una comunidad, debería haber un exceso.

Page 121: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: evaluaciónComunidades: evaluaciónComunidades: evaluaciónComunidades: evaluación

Newman & Girvan (Phys Rev E, 2004) definen

k

i

iiik

E

UdE

UUEUUQ

12

2

14

)(,(),(

Es posible demostrar que si iUVUEUUE iiii ),(),(2

entonces Q > 0.

Se han aplicado diversos algoritmos para buscar el particionamiento que maximice Q (lo que también incluye elegir el k maximizador): programación lineal entera, algoritmos genéticos, etc...

Page 122: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: evaluaciónComunidades: evaluaciónComunidades: evaluaciónComunidades: evaluación

Q tiene falencias: no ve las comunidades que tengan menos de |E| aristas.(Fortunato & Barthélemy, 2007, "Resolution limit in community detection", doi:10.1073/pnas.0605965104)

Una alternativa interesante parece ser

Pero de momento Q es lo más usado.

Volviendo al caso de los algoritmos aglomerativos: elijo la altura de corte que maximiza Q.

k

i i

iiiik U

UVUEUUEUUD

11

),(,(2),( Zhenping Li et al,

Phys Rev E, 77, 036109, 2008 "Quantitative function for community detection".

Page 123: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: métodos divisivosComunidades: métodos divisivosComunidades: métodos divisivosComunidades: métodos divisivos

Los métodos divisivos van quitando aristas y haciendo aparecer así componentes conexas.

* Girvan & Newman, 2002, PNAS 99(12) 7821-7826, "Community structure in social and biological networks".

Proponen evaluar la "betweeness" de las aristas, de manera análoga a como lo pusimos para los nodos.

Algoritmo iterativo; en cada paso:•Calcular betweeness de las aristas•Quitar la más importante•Recalcular la betweeness

Page 124: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: métodos divisivosComunidades: métodos divisivosComunidades: métodos divisivosComunidades: métodos divisivos

A la derecha: (a) una red clásica en los estudios, de un club de karate donde había un grupo cercano al instructor y otro cercano al administrador.

(b) Árbol según método divisivo de Girvan & Newman.

(c) Árbol según método aglomerativo con pesos "arista-disjuntos".

(b) recupera lo observado sociológicamente (salvo por un nodo que queda mal clasificado).

Page 125: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: métodos divisivosComunidades: métodos divisivosComunidades: métodos divisivosComunidades: métodos divisivos

Page 126: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: métodos divisivosComunidades: métodos divisivosComunidades: métodos divisivosComunidades: métodos divisivos

El algoritmo de G&N es orden |E|2|V|; para hacerlo más viable en redes grandes, Radicchi et al proponen una medida local que reemplace la betweenness.

Dada una arista, calculan el # de triángulos en los que participa, dividido por el # de triángulos en los que podría participar, dados los grados de sus extremos.

(Es la misma idea de la definición de coeficiente de clustering, pero trasladada a aristas).

Radicchi et al, "Defining and identifying communities in networks", 2004, doi:10.1073/pnas.0400054101

Page 127: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: métodos divisivosComunidades: métodos divisivosComunidades: métodos divisivosComunidades: métodos divisivos

Más genéricamente, calculan C(k)(i,j), donde en lugar de triángulos consideran ciclos de largo k. Permite interpolar, vía k, entre medida local y global.

Idea: triángulos (y ciclos) serán frecuentes dentro de las comunidades pero no a través de varias de ellas.

El algoritmo será como antes, pero voy quitando la arista con menor C(k). Los resultados son parecidos.

C(k) vs betweeness

Pero anda más rápido

Page 128: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: compresiónComunidades: compresiónComunidades: compresiónComunidades: compresión

Una aproximación vía teoría de la información: quiero describirle a alguien la red, de manera imperfecta pero lo mejor posible, dándole una lista de comunidades y la relación entre las comunidades.

Rosvall & Bergstrom, 2007, "An information-theoretic framework for resolving community structure in complex networks", doi:10.1073/pnas.0611034104

Page 129: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: compresiónComunidades: compresiónComunidades: compresiónComunidades: compresión

La idea es comprimir (con pérdida) la matriz de adyacencia en un par [vector, matriz]:

donde los ai etiquetan a los nodos con sus respectivas comunidades, y los lij dan la cantidad de links entre la comunidad i y la j.

Quiero minimizar la incerteza del receptor sobre la red; es decir, maximizar I(X,Y), donde X es la descripción completa de la red, e Y es la que proveeré.

Page 130: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: compresiónComunidades: compresiónComunidades: compresiónComunidades: compresión

I(X,Y)=H(X)-H(X|Y), y aquí H(X) está fija.

Por lo tanto, hay que minimizar H(X|Y), que resulta ser

¿Y cuántas comunidades?

Dada una cantidad de comunidades m, el par [a,M] será más chico o más grande; usan esto para determinar m: se debe minimizar

Page 131: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: compresiónComunidades: compresiónComunidades: compresiónComunidades: compresión

O sea, el criterio a optimizar es del tipo "minimum description length".

Lo optimizan vía simmulated anealing, aunque podrían usarse otras heurísticas.

Ventajas:•Escoge m.•Menos sensible que otros métodos a desigualdad en tamaño de comunidades.

Page 132: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: compresiónComunidades: compresiónComunidades: compresiónComunidades: compresión

Desventaja: en el ejemplo del club de Karate entrega lo de B (agrupa los hubs como comunidad), y se ven obligados a introducir, en el annealing, una penalización contra las particiones que dejan más links hacia fuera que al interior de las comunidades.

En fin, es para mostrar la alternativa.

Page 133: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades: compresiónComunidades: compresiónComunidades: compresiónComunidades: compresión

En 10.1073/pnas.0706851105 (2008) los mismos autores presentan un approach basado en random walks (ahora lo que queremos es describir la random walk con pocos bits).Resulta especialmente bueno para grafos dirigidos, en que importe el flujo.

Aquí, un mapa de las ciencias, basado en red de citaciones.

Page 134: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de
Page 135: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

ComunidadesComunidadesComunidadesComunidades

Referencias para complementar:

"Graph Clustering and Minimum Cut Trees", Flake et al, Internet Mathematics Vol. 1, No. 4: 385-408 (2003), http://www.internetmathematics.org/volumes/1/4/Flake.pdf

"Finding community structure in very large networks", Clauset, Newman, Moore, Phys Rev E 70, 066111 (2004),http://arxiv.org/abs/cond-mat/0408187IDEA: aglomerativo, causando máximo incremento de Q en cada paso. No es malo, y queda O(n log2n).(ese y otros esfuerzos más recientes son para manejar redes graaandes)

y lista actualizada de referencias enhttp://www.cscs.umich.edu/~crshalizi/notabene/community-discovery.html

Page 136: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades - complementoComunidades - complementoComunidades - complementoComunidades - complemento

Una alternativa para refinar algunos métodos, especialmente los jerárquicos, es cambiar la noción de distancia, o la noción de similaridad, entre nodos.

(Los métodos anteriores, si es que usan alguna, usan la distancia definida como longitud del camino más corto.)

Una alternativa: decir que dos nodos son cercanos si es que existen muchos caminos disjuntos entre ellos.

Motivo: un conjunto de nodos es más “cohesionado” si hay muchas formas alternativas de unir sus nodos.

Page 137: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades - complementoComunidades - complementoComunidades - complementoComunidades - complemento

Motivo: un conjunto de nodos es más “cohesionado” si hay muchas formas alternativas de unir sus nodos (y haría falta quitar muchos para desconectarlos).

0 1 2 3

Page 138: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades - complementoComunidades - complementoComunidades - complementoComunidades - complemento

k-componentes:

Dos nodos están en la misma k-componente si existen al menos k caminos independientes entre ellos.

Ejemplo: las 2-componentes en una red de drogadicción (relación: haber compartido jeringas)

Page 139: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades - complementoComunidades - complementoComunidades - complementoComunidades - complemento

Otra medida de similaridad: podría considerarse que dos nodos son estructuralmente similares si tienen el mismo conjunto de vecinos.

Relajando eso un poco,

jik

ijikijx,

2)AA(

Distancia euclidiana

ji

kjjkiik

ij

nx

)A)(A(1

Correlación de Pearson

Page 140: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades - complementoComunidades - complementoComunidades - complementoComunidades - complemento

Extendiendo aún más esa idea: se puede redefinir la distancia entre nodos como el tiempo medio que tardaría un paseo aleatorio en llegar desde uno hasta otro.

Matriz de transición (la misma de Pagerank)

N

l il

ijij

A

AP

1

)(

1

1,

il

N

lji jBI

d

Se puede demostrar que da

donde I es la matriz de identidad, y B(j) es la matriz P pero con la columna j anulada.

Page 141: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades - complementoComunidades - complementoComunidades - complementoComunidades - complemento

A su vez esa redefinición de distancia permite redefinir similaridad:

2),(

,

2

,,

N

ddji

N

jik kjki

H. Zhou, Phys. Rev. E 67, 061901 (2003)H. Zhou, Phys. Rev. E 67, 041908 (2003)

Etc.

Page 142: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades - complementoComunidades - complementoComunidades - complementoComunidades - complemento

Algunos métodos de detección de comunidades son deterministas; otros son heurísticos. En el caso de los segundos, es útil ver qué tan robustos son los resultados, si repetimos el algoritmo.

Gráfico que indica, para cada par de nodos, en qué fracción de intentos quedaron juntos

Page 143: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades - complementoComunidades - complementoComunidades - complementoComunidades - complemento

Si algunos nodos “oscilan” entre comunidades distintas, puede no ser pifia, sino información: pueden estar cumpliendo un rol de puente.

Guimerà & Amaral, Nature, 2005, “Functional cartography of complex metabolic networks”

coni el grado de los nodos al interior de sus comunidades•ki el grado de los nodos•si la comunidad en que participa el nodo is la desviación de i dentro de la comunidad s.

Page 144: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades - complementoComunidades - complementoComunidades - complementoComunidades - complemento

zi: qué tan conectado está el nodo dentro de su cluster.

zi > 2.5 hub (esto es empírico)

Pi: que tan “comprometido” está con su cluster.

~1: poco compromiso, se conecta parejo con todos los clusters.~0: 100% comprometido

Observan distintos roles:

Page 145: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades - complementoComunidades - complementoComunidades - complementoComunidades - complemento

ultraperiféricosperiféricos satélite

conector

hub provincial hub global

Page 146: Grafo no dirigido G(n,p) n nodos. Pongo una arista entre dos nodos con probabilidad p. Durante décadas el modelo de red aleatoria (que era la forma de

Comunidades - complementoComunidades - complementoComunidades - complementoComunidades - complemento

Otra opción: mirar k-cores (en la red, o en comunidades individuales).

k-core: conjunto de nodos donde cada uno está conectado a los demás con al menos k aristas.