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

Post on 23-Jan-2016

224 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

•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

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

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

•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

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?

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)

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

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

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.

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).

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 λ

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”).

Í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

Í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

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.

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:

Small WorldsSmall WorldsSmall WorldsSmall Worlds

[M. Newman, 2003]

Otras propiedadesOtras propiedadesOtras propiedadesOtras propiedades

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

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

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.

Otras propiedadesOtras propiedadesOtras propiedadesOtras propiedades

Correlación (à la Newman)

Otras propiedadesOtras propiedadesOtras propiedadesOtras propiedades

Detección de comunidades

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

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

Otras propiedadesOtras propiedadesOtras propiedadesOtras propiedades

Comunicaciones por tierra y aire, EEUU

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

Otras propiedadesOtras propiedadesOtras propiedadesOtras propiedades

Regular con fallas

SF con fallas

SF bajo ataque

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

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

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…

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

EjemplosEjemplosEjemplosEjemplos

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

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

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

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

Asociaciones de palabras

Interacciones de proteínas

Colaboración científica

EjemplosEjemplosEjemplosEjemplos

EjemplosEjemplosEjemplosEjemplos

EjemplosEjemplosEjemplosEjemplos

EjemplosEjemplosEjemplosEjemplos

Relaciones de pareja en un college norteamericano

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

EjemplosEjemplosEjemplosEjemplosxkc

d.c

om

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

EjemplosEjemplosEjemplosEjemplos

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

http://www.visualcomplexity.com/

Muchos ejemplos en:

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).

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.)

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.

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).

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.

Redes complejasRedes complejasRedes complejasRedes complejas

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

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

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)

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.

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.

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).

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

)(

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.]

Scale FreeScale FreeScale FreeScale Free

P(k) ~k-3

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

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).

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

ModelosModelosModelosModelos

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.

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.

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.

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

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

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

Asociaciones de palabras

Interacciones de proteínas

Colaboración científica

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

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

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

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.

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.

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?

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

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].

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.

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

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).

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?

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

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.

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

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.

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.

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

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).

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.

ModelosModelosModelosModelos

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

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

ModelosModelosModelosModelos

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)

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

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

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

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

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)

Medidas de centralidadMedidas de centralidadMedidas de centralidadMedidas de centralidad

Betweenness centrality

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

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.

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

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.

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

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'

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(

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.]

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

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.

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.

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.

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.

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

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).

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).

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.

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

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.

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).

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

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λα

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

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

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.

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

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

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.

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

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.

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.

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

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".

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

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).

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

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

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

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

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é.

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

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.

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.

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.

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

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.

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

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)

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

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.

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.

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

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.

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:

Comunidades - complementoComunidades - complementoComunidades - complementoComunidades - complemento

ultraperiféricosperiféricos satélite

conector

hub provincial hub global

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.

top related