44. Grafos en motores de búsqueda

La Web forma un enorme grafo dirigido: las páginas son vértices y los hipervínculos son aristas. Los motores de búsqueda recorren esa estructura, indexan contenido y combinan relevancia textual con señales de autoridad.

44.1 Introducción

Un motor de búsqueda necesita descubrir documentos, procesar su contenido y ordenar resultados para una consulta. Los grafos intervienen especialmente en el descubrimiento y el análisis de enlaces.

La estructura no reemplaza el contenido: una página puede ser importante y, aun así, no responder a las palabras buscadas.

44.2 La Web como grafo dirigido

Cada página o recurso es un vértice. Un enlace desde A hacia B crea una arista dirigida A → B.

página = vértice
hipervínculo = arista dirigida

El enlace inverso no se supone: B solo apunta a A si contiene su propio vínculo.

44.3 Arquitectura conceptual

  1. El rastreador descubre y descarga documentos.
  2. El procesador extrae texto, metadatos y enlaces.
  3. El índice invertido organiza términos y documentos.
  4. El sistema de ranking combina señales para ordenar resultados.
  5. La interfaz responde la consulta del usuario.

En sistemas reales, cada etapa se distribuye entre numerosos procesos.

44.4 Rastreo del grafo

El rastreador comienza con URLs semilla y mantiene una frontera de direcciones pendientes. Al descargar una página, extrae enlaces y agrega destinos todavía no procesados.

semillas → frontera → descarga → extracción de enlaces → nuevas URLs

El orden se ajusta con prioridades, límites por sitio, detección de duplicados y políticas de acceso.

44.5 BFS y prioridades

Una BFS conceptual descubre primero páginas cercanas a las semillas. En la práctica, la frontera suele ser una cola de prioridad que considera importancia estimada, frescura y equilibrio entre sitios.

Visitar cada URL sin control produciría ciclos, descargas repetidas y una carga inaceptable.

44.6 Laboratorio de PageRank

Avanza una iteración por vez. El tamaño de cada página representa su puntuación. Agrega F → A para observar cómo un nuevo enlace redistribuye autoridad.

Puntuaciones

Acción actual

Distribución uniforme: cada página comienza con 1/6.
Preparado para iterar.
Iteración0
Mayor autoridadA
Cambio máximo
Suma de puntuaciones1.000

44.7 Intuición de PageRank

Un enlace funciona como una recomendación. Una página recibe más autoridad si es enlazada por páginas importantes y si esas páginas reparten su voto entre pocos destinos.

No solo importa cuántos enlaces llegan, sino desde dónde llegan.

44.8 Fórmula de actualización

Para N páginas y factor de amortiguación d:

PR(v) = (1 − d)/N + d · Σ PR(u)/salidas(u)

La suma recorre las páginas u que enlazan hacia v. Un valor habitual en ejemplos es d = 0,85.

44.9 Caminante aleatorio

PageRank puede interpretarse como la probabilidad estacionaria de un navegante que sigue enlaces con probabilidad d y salta a una página aleatoria con probabilidad 1 − d.

Los saltos evitan quedar encerrado para siempre en regiones sin salida y conectan probabilísticamente todo el sistema.

44.10 Páginas sin enlaces salientes

Una página colgante no tiene destinos y retendría masa de probabilidad. La solución estándar redistribuye su puntuación entre todas las páginas.

masa colgante / N se agrega a cada página antes de amortiguar

Así la suma de puntuaciones permanece igual a 1.

44.11 Iteración de potencias

function iterarPageRank(enlaces, rango, d = 0.85) {
  const paginas = Object.keys(enlaces);
  const n = paginas.length;
  const nuevo = Object.fromEntries(paginas.map(p => [p, (1 - d) / n]));
  const colgante = paginas
    .filter(p => enlaces[p].length === 0)
    .reduce((suma, p) => suma + rango[p], 0);

  for (const destino of paginas) nuevo[destino] += d * colgante / n;
  for (const origen of paginas) {
    for (const destino of enlaces[origen]) {
      nuevo[destino] += d * rango[origen] / enlaces[origen].length;
    }
  }
  return nuevo;
}

44.12 Convergencia

Se repite la actualización hasta que la diferencia entre vectores sucesivos cae por debajo de una tolerancia.

máx |PRnuevo(v) − PRanterior(v)| < ε

La tolerancia, la precisión numérica y el tamaño del grafo determinan el costo práctico.

44.13 Índice invertido

El grafo de enlaces no indica qué documentos contienen una palabra. Para eso se utiliza un índice invertido que asocia términos con listas de documentos y posiciones.

"grafos" → [(doc7, posiciones...), (doc21, posiciones...), ...]

Permite recuperar rápidamente candidatos textualmente relevantes.

44.14 Procesamiento de consultas

La consulta se normaliza y se buscan sus términos en el índice. Luego se combinan listas, filtros y señales de ranking.

Frases, errores ortográficos, idioma, intención y actualidad añaden capas que van más allá del grafo de enlaces.

44.15 Relevancia textual y autoridad

SeñalPregunta
Texto¿El documento responde a la consulta?
Enlaces¿La estructura lo considera una referencia?
Frescura¿Está actualizado para esta intención?
Calidad y seguridad¿Es útil y confiable para mostrar?

PageRank es una señal independiente de la consulta y necesita combinarse con relevancia.

44.16 Texto de los enlaces

El texto ancla describe el destino desde la perspectiva de otra página. Puede aportar términos que no aparecen literalmente en el documento enlazado.

Como cualquier señal basada en enlaces, puede manipularse y debe evaluarse junto con patrones de calidad y contexto.

44.17 Escala y procesamiento distribuido

El grafo web no cabe normalmente en una sola máquina. El rastreo, la indexación y las iteraciones de ranking se particionan.

Distribuir un grafo es difícil porque una arista puede conectar particiones y generar comunicación. La compresión y el procesamiento por lotes reducen costos.

44.18 Spam y manipulación

Granjas de enlaces intentan crear autoridad artificial. El análisis puede detectar comunidades densas sospechosas, patrones recíprocos y crecimiento anormal.

No basta con castigar densidad alta: comunidades legítimas también pueden estar muy conectadas. Se necesitan múltiples señales.

44.19 Errores comunes y puntos clave

  • Confundir PageRank con relevancia para una consulta.
  • Contar enlaces sin considerar su origen.
  • Olvidar dividir la autoridad entre salidas.
  • No redistribuir la masa de páginas colgantes.
  • Rastrear sin deduplicación ni límites por sitio.
  • La Web es un grafo dirigido y dinámico.
  • El índice invertido recupera texto; el grafo aporta señales estructurales.

44.20 Conclusión

Los motores de búsqueda integran dos visiones complementarias: documentos como contenido indexable y páginas como vértices de una red de referencias. PageRank muestra cómo convertir enlaces locales en una medida global.

En el próximo tema estudiaremos grafos en videojuegos, donde modelan mapas, navegación, estados y decisiones.