42. Grafos en redes sociales

Una red social puede modelarse mediante vértices que representan actores y aristas que representan relaciones. La teoría de grafos permite medir influencia, descubrir comunidades y estudiar cómo circula la información.

42.1 Introducción

Las redes sociales no son únicamente plataformas digitales. Una red puede representar amistades, colaboraciones científicas, comunicaciones, transacciones o interacciones entre organizaciones.

El modelo elegido determina qué preguntas pueden responderse y qué conclusiones son válidas.

42.2 Vértices y aristas

Los vértices representan actores: personas, cuentas, empresas o documentos. Las aristas representan una relación definida con precisión.

usuario = vértice
amistad, seguimiento, mensaje o colaboración = arista

No deben mezclarse relaciones distintas sin registrar su tipo, porque cada una posee un significado diferente.

42.3 Relaciones dirigidas y no dirigidas

RelaciónModeloEjemplo
RecíprocaArista no dirigidaAmistad confirmada
No necesariamente recíprocaArista dirigidaA sigue a B
Con intensidadArista ponderadaCantidad de mensajes
Con fechaGrafo temporalInteracción en un instante

42.4 Grado y popularidad local

En una red no dirigida, el grado cuenta contactos directos. En una dirigida se distinguen grado de entrada y de salida.

entrada(v) = seguidores o menciones recibidas
salida(v) = cuentas seguidas o mensajes enviados

Un grado alto mide conectividad local, pero no garantiza influencia global.

42.5 Caminos y distancia social

Un camino representa una cadena de intermediarios. La distancia entre dos actores es la longitud del camino más corto que los conecta.

El diámetro resume la mayor distancia finita y la distancia media ayuda a cuantificar qué tan pequeña es la red.

42.6 Laboratorio de centralidad y comunidades

Selecciona un usuario en el gráfico. Compara sus centralidades y retíralo temporalmente para observar si la red se fragmenta.

Haz clic sobre cualquier usuario.
Usuarios activos10
Relaciones activas15
Componentes1
Densidad0.333

Los colores separan dos comunidades densas. La relación E—F funciona como puente entre ambas.

42.7 Centralidad de grado

La centralidad de grado normaliza la cantidad de vecinos por el máximo posible.

CD(v) = grado(v)/(n − 1)

Identifica actores localmente activos o populares, pero ignora dónde están situados sus contactos.

42.8 Centralidad de cercanía

La cercanía favorece vértices con distancias cortas hacia los demás.

CC(v) = (n − 1) / Σ distancia(v,u)

En redes desconectadas se utilizan variantes como la cercanía armónica para evitar distancias infinitas.

42.9 Centralidad de intermediación

La intermediación mide qué proporción de caminos mínimos entre otros pares atraviesa un vértice.

CB(v) = Σ σst(v) / σst

Los actores puente pueden tener pocos contactos y, aun así, controlar conexiones entre comunidades.

42.10 Centralidad de vector propio y PageRank

La centralidad de vector propio considera más importante una conexión con actores importantes. PageRank adapta esta idea a grafos dirigidos e incorpora saltos aleatorios.

Estas medidas no cuentan solo contactos: evalúan recursivamente la calidad estructural de quienes apuntan hacia un nodo.

42.11 Coeficiente de agrupamiento

El agrupamiento local mide qué proporción de pares de vecinos también están conectados entre sí.

C(v) = aristas entre vecinos / pares posibles de vecinos

Un valor alto sugiere círculos sociales cohesionados; un valor bajo puede caracterizar conectores entre grupos.

42.12 Comunidades

Una comunidad contiene más relaciones internas que conexiones con el resto de la red. No existe una única definición válida para todos los contextos.

Algoritmos como Louvain optimizan modularidad; otros métodos utilizan propagación de etiquetas, cortes o modelos probabilísticos.

42.13 Puentes y vínculos débiles

Una arista puente conecta regiones que quedarían separadas al eliminarla. Los vínculos entre comunidades pueden facilitar el acceso a información no redundante.

Retirar un vértice de corte o un puente puede fragmentar la red, aunque su grado no sea el más alto.

42.14 Difusión

Un proceso de difusión modela cómo se propaga información, una conducta o una epidemia. La transmisión puede depender de probabilidades, umbrales o múltiples exposiciones.

estructura de la red + regla de contagio + estado inicial ⇒ dinámica de difusión

La centralidad útil para iniciar una campaña depende del modelo de propagación, no solo del grado.

42.15 Recomendación y predicción de enlaces

Una recomendación de contacto puede basarse en vecinos comunes, índice de Jaccard o Adamic–Adar.

Jaccard(u,v) = |N(u) ∩ N(v)| / |N(u) ∪ N(v)|

Las características estructurales suelen combinarse con tiempo, contenido y controles de privacidad.

42.16 Implementación de cercanía con BFS

function cercania(grafo, origen) {
  const distancia = new Map([[origen, 0]]);
  const cola = [origen];

  for (let i = 0; i < cola.length; i++) {
    const u = cola[i];
    for (const v of grafo[u]) {
      if (!distancia.has(v)) {
        distancia.set(v, distancia.get(u) + 1);
        cola.push(v);
      }
    }
  }
  if (distancia.size !== Object.keys(grafo).length) return 0;
  const suma = [...distancia.values()].reduce((a, b) => a + b, 0);
  return (distancia.size - 1) / suma;
}

42.17 Escalabilidad

Una red social puede contener millones de vértices y miles de millones de aristas. Las listas de adyacencia, procesamiento distribuido, muestreo y algoritmos aproximados se vuelven esenciales.

La intermediación exacta para todos los vértices es mucho más costosa que el grado y suele aproximarse en redes grandes.

42.18 Redes dinámicas

Agregar el tiempo permite estudiar crecimiento, desaparición de vínculos y evolución de comunidades. Una agregación excesiva puede inventar caminos entre relaciones que nunca coexistieron.

Las consultas temporales deben respetar el orden de los eventos y la ventana de observación.

42.19 Ética, errores y puntos clave

  • Anonimizar nombres no siempre impide reidentificar la estructura.
  • Una arista observada no demuestra amistad, influencia ni causalidad.
  • Los datos incompletos sesgan centralidades y comunidades.
  • Popularidad, intermediación e influencia son conceptos distintos.
  • La dirección y el tipo de relación deben respetarse.
  • Las métricas deben interpretarse dentro del contexto social.
  • El análisis requiere privacidad, consentimiento y minimización de datos.

42.20 Conclusión

Los grafos permiten convertir relaciones sociales en cantidades medibles, pero cada resultado depende de cómo se definieron actores, conexiones y tiempo. Las métricas complementan el conocimiento del contexto; no lo reemplazan.

En el próximo tema estudiaremos grafos en bases de datos y cómo almacenar, consultar y recorrer relaciones de manera eficiente.